Основы алгоритмизации и программирования Компьютер – это устройство для универсальной обработки информации. Достаточно только написать точную инструкцию (последовательность) тех действий, которые нам нужны. Вспомним, что словесное описание этих действий – один из способов задания (описания) алгоритма. А сама последовательность действий носит название – программа. Эту последовательность действий следует писать на языке, который был бы понятен человеку и компьютеру. Под языком понимают любую систему знаков (жест, положение переключателя и т.п.). Чтобы компьютер мог понять написанную программу, она должна быть переведена на язык, понятный самому компьютеру. Этот процесс перевода называется трансляцией. Существует два различных подхода к трансляции – интерпретация и компиляция. QBasic – это уникальная среда программирования, сочетающая в себе достоинства интерпретатора и компилятора одновременно. Турбо Паскаль состоит из языка программирования и среды программирования, которая позволяет создавать тексты программ, компилировать их, находить и исправлять ошибки, компоновать программы из отдельных частей, использовать модули, отлаживать и выполнять отлаженную программу. Результатом работы являются тексты программ (файлы с расширением pas) и исполняемые файлы (с расширением exe), которые могут запускаться независимо от среды программирования. Любой естественный язык (русский, английский и т.п.) состоит из нескольких основных элементов: символов, слов, словосочетаний и предложений. В любом языке программирования имеются аналогичные структурные элементы: символы, слова, выражения (словосочетания) и операторы (предложения). При этом слово образуется из последовательности символов, выражение представляет собой группу слов, а оператор – определенную комбинацию слов и выражений. Алфавит языка программирования Turbo Pascal Алфавит (набор символов) включает: • все латинские прописные и строчные буквы (A-Z, a-z) • арабские цифры (0-9) • знаки + - * / \ < > ^ , . ; : ‘ ( ) _ и др. • служебные слова (для записи команд, имен функций, поясняющих терминов) - набор строго определенных слов, которые называются служебными или зарезервированными ОПЕРАТОРЫ (коды операций) ФУНКЦИИ (имена функций) КЛЮЧЕВЫЕ СЛОВА Программа на Turbo Pascal состоит из строк. Одна строка содержит один или несколько операторов, разделенных точкой с запятой. a:=1; b:=1; Если строка в Turbo Pascal заключена в фигурные скобки { }, то строка воспринимается как комментарий. Имя в Turbo Pascal образуется из букв от A до Z (или от a до z), знака подчеркивания _ и цифр 0…9 и начинается с буквы. Имя используется для обозначения переменных, меток, процедур и т.п. Компиляция и запуск программы в Turbo Pascal осуществляется комбинацией клавиш Ctrl+F9 (или вызовом команды RUN из меню RUN). Если транслятор обнаружит в программе синтаксическую ошибку , он выдаст соответствующее сообщение на экран, указав предполагаемое место ошибки. Откорректировав программу, сохраните её последнюю версию с помощью клавиши F2 и перейдите к процессу компиляции и запуска. Структура программы в Turbo Pascal Program имя (input, output); Label; - раздел меток; Const; - раздел констант; Type; - раздел типов; Var; - раздел переменных; Procedure – раздел процедур; Function – раздел функций; BEGIN оператор 1; оператор 2; …….. END. Структура программы в Turbo Pascal Program имя (input, output); Label; - раздел меток; Const; - раздел констант; Type; - раздел типов; Var; - раздел переменных; Procedure – раздел процедур; Function – раздел функций; BEGIN оператор 1; оператор 2; …….. END. Переменная – это величина, которая может меняться при выполнении программы. Объявляя переменную или константу заданного типа, мы отводим в памяти место, где будет храниться её значение. Тип определяет размер и структуру памяти под переменную. В языке Turbo Pascal все данные, используемые программой, должны принадлежать к какому-либо заранее известному типу данных. Тип данных определяет: • формат представления данных в памяти ЭВМ; • множество допустимых значений; • множество допустимых операций. Типы данных в языке программирования Turbo Pascal делятся на 5 основных классов: простые типы; структурированные типы; ссылочные типы; процедурные типы; объектные типы. Целочисленные типы данных Наименование типа Размер (байт) Диапазон значений Byte Shorting Word Integer Longint 1 байт 1 байт 2 байт 2 байт 4 байт 0..255 -128..+127 0..65535 -32768..+32767 -2147483648..+2147483647 Ко всем переменным целого типа можно применить следующие операции: Знак операции Название операции Пример + Сложение 5+3=8 - Вычитание 3 - 5 = -2 * Умножение 3 * 5 = 15 / Деление нацело 15 / 3 = 5 ^ Возведение в степень 2^3=8 div mod Получение целого частного от деления двух целых чисел Получение целого остатка деления двух целых чисел 7 div 2 = 3 7 mod 2 = 1 Встроенные (стандартные) функции Математическая запись Запись в Turbo Pascal Назначение |x| Abs(x) Абсолютное значение аргумента sin x Sin(x) Синус аргумента cos x Cos(x) Косинус аргумента arctg x Arctan(x) x2 Sqr(x) Квадрат аргумента x Sqrt(x) Квадратный корень аргумента Арктангенс аргумента Операторы ввода/вывода ОПЕРАТОРЫ ВЫВОДА WRITE (a1, a2, …, an) Выводит последовательно значения переменных a1, a2, …, an Переход на следующую строку не происходит WRITELN (a1, a2, …, an) Выводит последовательно значения переменных a1, a2, …, an Переход на следующую строку происходит WRITELN Осуществляет переход на новую строку ОПЕРАТОРЫ ВВОДА READ (a1, a2, …, an) Каждое вводимое значение получают последовательно переменные a1, a2, …, an READLN (a1, a2, …, an) Каждое вводимое значение получают последовательно переменные a1, a2, …, an READLN Переход на новую строку при вводе данных. Такой оператор применяется, когда исполнение программы желательно задержать до нажатия клавиши ENTER. Задание: 1. Выведем на экран приветствие: «Добрый день». Структура программы в Turbo Pascal Program имя (input, output); Label; - раздел меток; Const; - раздел констант; Type; - раздел типов; Var; - раздел переменных; Procedure – раздел процедур; Function – раздел функций; BEGIN оператор 1; оператор 2; …….. END. Операторы ввода/вывода ОПЕРАТОРЫ ВЫВОДА WRITE (a1, a2, …, an) Выводит последовательно значения переменных a1, a2, …, an Переход на следующую строку не происходит WRITELN (a1, a2, …, an) Выводит последовательно значения переменных a1, a2, …, an Переход на следующую строку происходит WRITELN Осуществляет переход на новую строку ОПЕРАТОРЫ ВВОДА READ (a1, a2, …, an) Каждое вводимое значение получают последовательно переменные a1, a2, …, an READLN (a1, a2, …, an) Каждое вводимое значение получают последовательно переменные a1, a2, …, an READLN Переход на новую строку при вводе данных. Такой оператор применяется, когда исполнение программы желательно задержать до нажатия клавиши ENTER. Задание: 1. Выведем на экран приветствие: «Добрый день». Program prim1; Begin WRITELN(‘Добрый день’); End. Задание: 1. Выведем на экран приветствие: «Добрый день». Program prim1; Begin WRITELN(‘Добрый день’); End. 2. Вычислить периметр прямоугольника со сторонами А и В. Структура программы в Turbo Pascal Program имя (input, output); Label; - раздел меток; Const; - раздел констант; Type; - раздел типов; Var; - раздел переменных; Procedure – раздел процедур; Function – раздел функций; BEGIN оператор 1; оператор 2; …….. END. Операторы ввода/вывода ОПЕРАТОРЫ ВЫВОДА WRITE (a1, a2, …, an) Выводит последовательно значения переменных a1, a2, …, an Переход на следующую строку не происходит WRITELN (a1, a2, …, an) Выводит последовательно значения переменных a1, a2, …, an Переход на следующую строку происходит WRITELN Осуществляет переход на новую строку ОПЕРАТОРЫ ВВОДА READ (a1, a2, …, an) Каждое вводимое значение получают последовательно переменные a1, a2, …, an READLN (a1, a2, …, an) Каждое вводимое значение получают последовательно переменные a1, a2, …, an READLN Переход на новую строку при вводе данных. Такой оператор применяется, когда исполнение программы желательно задержать до нажатия клавиши ENTER. Задание: 1. Выведем на экран приветствие: «Добрый день». Program prim1; Begin WRITELN(‘Добрый день’); End. 2. Вычислить периметр прямоугольника со сторонами А и В. Program prim2; Var a,b,p: integer; Begin a:=8; b:=21; p:=(a+b)*2; Write(‘p=‘, p); End. Задание: 3. Записать на языке программирования выражения y x2 2 y x2 y 5 x 2 10 x 2 y2 x y x 2 2 z 14 x 2 11x 17