1. Данные.
Алгоритмы, реализующие решение задач, работают с данными. Данные, известные перед решением задачи – входные. Результат решения – выходные данные.
Данные бывают:
- переменные: значения могут изменяться в процессе выполнения алгоритма;
- константы: значения не меняется в процессе выполнения алгоритма.
Каждое данное может иметь идентификатор ИМЯ – последовательность латинских букв и цифр (но имя начинается с буквы).
Тип данных – характеризует множество значений, к которым относится константа и которые может принимать переменная или выражение, а так же определяет те операции, которые можно к ним применить. Типы бывают базовые и структурированные.
Базовые:
- целые (Integer);
- вещественные (Real);
- логические (Boolean);
- символьные (Char).
Структурированные:
- массив: упорядоченная структура однотипных данных, которые называются элементами массива;
- запись: объединение элементов произвольных типов. Элемент записи – поле.
2. Основные элементы PASCAL.
Если допустим, что система программирования Турбо Паскаль установлена на диске D: в каталоге D:\BORLAND\BP, то в каталоге.\ВР находятся следующие основные файлы Турбо Паскаля:
TURBO.EXE — интегрированная среда программирования;
TURBO.HLP — файл, содержащий данные для оперативной подсказки;
TURBO.TP — файл конфигурации системы;
TURBO.TPL — библиотека стандартных модулей Турбо Паскаля.
В каталоге D:\BORLAND\BP\BGI находятся файлы, необходимые для работы в графическом режиме: GRAPH.TPU — модуль с графическими процедурами и функциями Турбо Паскаля, несколько файлов с расширением.BGI — драйверы различных типов видеосистем компьютеров, несколько файлов с расширением.CHR, содержащих векторные шрифты.
Языком называется совокупность символов, соглашений и правил, используемых для общения. При записи алгоритма решения задачи на языке программированиянеобходимо четко знать правила написания и использования элементарных информационных и языковых единиц. Основой Паскаля, как и любого языка, является алфавит — конечный набор знаков, состоящий из букв, десятичных и шестнадцатеричных цифр, специальных символов.
В качестве букв в Паскале используются прописные и строчные буквы латинского алфавита:
ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz знак подчеркивания (_);
в качестве десятичных цифр: 012345678 9.
Шестнадцатеричные цифры строятся из десятичных цифр и букв от А до F и от а до f.
При написании программ применяются следующие специальные символы:
+ | плюс | * | запятая |
— | минус | . | точка |
* | звездочка | : | двоеточие |
/ | дробная черта | [ ] | квадратные скобки |
> | больше | {} | фигурные скобки |
< | меньше | $ | знак денежной единицы |
= | равно | () | круглые скобки |
; | точка с запятой | ^ | тильда |
# | номер | @ | коммерческое а |
` | апостроф | нет обозначения | пробел |
Комбинации специальных символов могут образовывать составные символы:
:= присваивание <= меньше или равно
< > не равно >= больше или равно
.. диапазон значений (..) альтернатива [ ]
(* *) альтернатива { }
В программе эти пары символов нельзя разделять пробелами, если они используются как знаки операций отношения или ограничители комментария.
Примечание. Русские буквы в программе должны заключаться в апострофы, например 'Пример текста на русском языке'.
Зарезервированные слова – являются составной частью языка, не могут применяться в качестве имен, которые задаются программой.
Выражение – словосочетание, задающее правило вычисления некоторого значения.
Предложение – минимальная конструкция, представляющая собой законченную мысль.
Оператор – предложение, задающее описание некоторого действия.
Описание - предложение, описывающее структуру и организацию данных.
Синтаксис – правила записей конструкций.
Семантика – смысл и правила использования этих конструкций.
Для обозначения программ, а в программе переменных и постоянных величин, различных процедур, функций, объектов используются имена — идентификаторы. Для обозначения заранее определенных разработчиками языка типов данных, констант, процедур и функций служат стандартные идентификаторы, например: integer, Sin, Cos, Ln, Sqr, Sqrt, Read, Readln, Write, Writeln. Для обозначения меток, констант, переменных, процедур и функций, определенных самим программистом, применяются идентификаторы пользователя.
При записи программ следует соблюдать общие правила написания идентификаторов:
1. Идентификатор начинается только с буквы или знака подчеркивания (исключение составляют метки, которые могут начинаться и цифрой, и буквой).
2. Идентификатор может состоять из букв, цифр и знака подчеркивания (пробел, точки и другие специальные символы при написании идентификаторов недопустимы).
3. Между двумя идентификаторами должен быть по крайней мере один пробел.
4. Максимальная длина идентификатора 127 символов, но значимы только первые 63 символа.
При написании идентификаторов можно использовать как прописные, так и строчные буквы. Компилятор не делает различий между ними, хотя они и имеют различные номера в стандартном коде обмена информацией.
3. Операторы языка.
1) := присваивание
2) go to метка; безусловный переход
3) begin
оп1;
оп2;
оп N
end. составной оператор
4) if усл then д1 else д2; условный оператор
5) for нзп to кзп do тело цикла; организация цикла с параметрами
6 ) while усл do тело цикла; организация цикла с предусловием
7 ) repeat тело цикла until усл; организация цикла с постусловием
4. Подпрограммы Pascal.
За наличие подпрограмм как средства структурирования программ язык программирования Турбо Паскаль называется процедурно-ориентированным.
Подпрограммы в Турбо Паскале реализованы посредством процедур и функций. Имея один и тот же смысл и аналогичную структуру, процедуры и функций различаются назначением и способом их использования.
Процедура — это независимая именованная часть программы, которую можно вызвать по имени для выполнения определенных действий. Структура процедуры повторяет структуру программы. Процедура не может выступать как операнд в выражении. Упоминание имени процедуры в тексте программы приводит к активизации процедуры и называется ее вызовом. Например, Read(F) читает с клавиатуры некоторое значение и присваивает его переменной F, Delay(5) вызывает задержку выполнения программы на 5 мс.
Функция аналогична процедуре, но имеются два отличия: функция передает в точку вызова скалярное значение; имя функции может входить в выражение как операнд. Например, функция Chr(65) возвратит в точку вызова символ А (код ASII— 65), Sqr(X) — возведет в квадрат значения целого или вещественного X и возвратит в точку вызова вычисленное значение квадрата числа X.
Итак, отличие подпрограмм-процедур от подпрограмм-функций состоит в том, что процедуры служат для задания совокупности действий, направленных на изменение внешней по отношению к ним программной обстановки, а функции, являясь частным случаем процедур, отличаются от них тем, что они обязательно возвращают в точку вызова основной программы единственный результат как значение имени этой функции.
Все процедуры и функции языка Турбо Паскаль делятся на две группы: встроенные (стандартные) и определенные пользователем. Первые входят в состав языка и вызываются для выполнения по строго фиксированному имени. Вторые разрабатываются и именуются самим пользователем. Все стандартные средства расположены в специализированных библиотечных модулях, которые имеют системные имена.
5. Стандартные библиотечные модули.
В систему Турбо Паскаль версии 6.0 и старше включены восемь модулей: System, Crt, Dos, Graph, Graph3, Overlay, Printer, ТурбоЗ и специализированная библиотека Турбо Vision. Модуль System подключается по умолчанию, все остальные должен подключать программист с помощью зарезервированного слова uses. Например: uses Crt, Dos, Printer.
Рассмотрим кратко назначение каждого из модулей.
System — сердце Турбо Паскаля; содержащиеся в нем подпрограммы обеспечивают работу всех остальных модулей системы.
Crt — содержит средства управления дисплеем и клавиатурой компьютера.
Dos — включает средства, позволяющие реализовывать различные функции.
Graph3 — поддерживает использование стандартных графических подпрограмм версии Турбо Паскаль 3.0.
Overlay — содержит средства организации оверлейных программ.
Printer — обеспечивает быстрый доступ к печатающему устройству.
Турбо З — обеспечивает максимально возможную совместимость с версией Турбо Паскаль 3.0.
Graph — содержит пакет графических средств, обеспечивающих эффективную Работу с адаптерами CGA, EGA, VGA, HERC, IBM 3270, MCGA и АТТ6300.
Турбо Vision — библиотека объектно-ориентированных подпрограмм для разработки пользовательских интерфейсов.
6. Встроенные функции и процедуры.
Модуль System подключается к программе автоматически, поэтому его имя не указывается в разделе uses. По этой причине программе становятся доступны его встроенные процедуры и функции.
7. Арифметические процедуры и функции.
Abs(X:real/integer):real/integer — вычисление абсолютной величины X. Тип результата совпадает с типом параметра.
ArcTan(X:real):real — вычисление угла, тангенс которого равен X радиан.
Cos(X:real): real — вычисление косинуса X; параметр задает значение угла в радианах.
Exp(X.real): real — вычисление экспоненты X, т. е. значение Е в степени X. Е является основанием натурального логарифма и равно 2.718282.
Frac(X:real):real — вычисление дробной части X.
Int(X:real):real — вычисление целой части X.
Ln(X:real):real — вычисление натурального логарифма X, т. е. логарифма по основанию е (е = 2.718282).
Pi:real — возвращает значение числа Пи (3.141592653897932385).
Sin(X:real):real — вычисление синуса X. Параметр задает значение угла в радианах.
Sqr(X) — возведение в квадрат значения целого или вещественного значения X. Тип результата совпадает с типом параметра.
Sqrt(X:real):real — вычисление квадратного корня из X.
Random.real — генерирует значение случайного числа из диапазона 0..0.99.
Random(I:word):word — генерирует значение случайного числа из диапазона 0..I.
Randomize — изменение базы генератора случайных чисел.
8. Вызов стандартной процедуры или функции.
Ранее мы уже рассматривали примеры программ, в которых использовались некоторые стандартные процедуры и функции. Для использования стандартной процедуры или функции к программе подключается тот или иной специализированный библиотечный модуль, в котором записана данная стандартная процедура или функция (исключение составляет модуль System, так как он подключается к программе автоматически), для чего имя специализированного библиотечного модуля указывается в разделе uses. Затем в программе записывается вызов процедуры или функции, для чего записывается ее имя и указываются фактические параметры, например: Pi, Sin(X), Chr(125), Inc(X,5). Так как после выполнения функции ее значение присваивается имени, то имя функции используется в выражении.