В. В. Баронов, Георгий Калянов, Ю. И. Попов, И. Н. Титовский
4
(2)И. Г. Лесничая, И. В. Миссинг, Ю. Д. Романова, В. И. Шестаков
0
(0)Это бета-версия LiveLib. Сейчас доступна часть функций, остальные из основной версии будут добавляться постепенно.
В. В. Баронов, Георгий Калянов, Ю. И. Попов, И. Н. Титовский
4
(2)И. Г. Лесничая, И. В. Миссинг, Ю. Д. Романова, В. И. Шестаков
0
(0)© Дмитрий Кудрец, 2020
ISBN 978-5-4493-9885-7
Создано в интеллектуальной издательской системе Ridero
Общие сведения о языке «Pascal»
Язык программирования «Pascal» был разработан в конце 60-х годов профессором Высшего технического училища в Цюрихе (Швейцария) Никлаусом Виртом. Предложенный им алгоритмический язык он назвал именем французского ученого Блеза Паскаля (1623 – 1662), который создал первую в мире вычислительную машину. Язык предназначался для обучения студентов программированию.
Язык «Pascal», утвержденный в качестве стандартного в 1979 г., является наиболее совершенным по сравнению с такими универсальными языками программирования, как «Алгол», «Фортран», «Бейсик» и др.
В настоящее время «Pascal» является одним из самых развитых языков программирования.
В последнее время повсеместно используется расширенный вариант языка «Pascal», который называется «Turbo Pascal» и имеет больше возможностей в сравнении с утвержденным стандартом языка.
Благодаря своей эффективности, простоте и логичности «Pascal» быстро получил широкое распространение во всем мире. Тексты программ легко проверяются на правильность. Число операторов языка сведено до минимума. «Pascal» позволяет рационализировать рабочий процесс программирования, постепенно уточняя отдельные части программы и, наряду с небольшими несложными программами, создавать структурированные программы трудоемких и сложных вычислений.
Любой естественный язык (русский, английский, французский и т.д.) состоит из четырех основных элементов: символов, слов, словосочетаний и предложений.
Символ языка – это элементарные знаки, используемые для составления любых текстов.
Набор таких символов называют алфавитом языка.
Алфавит языка «Pascal» включает в себя следующие символов:
1. Латинские буквы (заглавные и прописные).
2. Цифры от 0 до 9.
3. Знаки арифметических операций:
+ – сложение; – - вычитание; * – умножение; / – деление
4. Знаки отношений:
> – больше; <– меньше; = – равно;> = – больше или равно; <= – меньше или равно; <> – не равно.
5. Разделители:
.– для разделения целой и дробной части числа, обозначение конца программы, отделение полей в записи;
, – для разделения элементов в списке;
; – для разделения операторов;
: – для отделения переменной или константы от типа и метки от оператора;
«‘ – выделение символа или строковой константы;
() – выделение выражений, списков параметров;
[] – выделение индексов массивов, элементов множеств;
( ) – скобки комментариев.
6. Спецификаторы:
^ – значение величины по ее указателю;
@ – обозначение адреса переменной;
# – обозначение символа по его коду;
$ – обозначение директивы компилятора или знак 16-ричного числа.
7. _ – знак подчеркивания
Последовательность символов образуют слова, группа слов – выражение, а определенные комбинации слов и выражений составляют словарь языка.
1. Указатели функций. В языке «Pascal» существует ряд стандартных функций, которые записываются следующим образом:
<имя функции> (<список параметров>)
Например,
SIN (Х) – синус х;
ABS (5) – модуль (абсолютная величина) числа 5;
Х MOD 2 – остаток от деления величины х на 2.
Язык «Pascal» также позволяет пользователю создавать свои собственные функции.
2. Имена величин (идентификаторы) обозначаются набором символов состоящих из латинских букв (A-Z, A-z) и цифр (0—9).
Имена указывают на элементы языка – константы, метки, типы, переменные, процедуры, функции, модули, объекты. При указании имени на первом месте должна стоять буква. Можно использовать в именах переменных знак подчеркивания «_». Нельзя использовать в качестве имен величин служебные слова языка.
Например, В, Primer, G_18 – правильно заданные имена.
В качестве имен в языке «Pascal» не разрешено использовать служебные слова, стандартные константы, типы, процедуры, функции и файлы.
Также имена величин не могут содержать: русских букв, знаков препинания, специальных символов (~, #, $, % и других).
Имя переменной может быть любой длины, не превышающей 250 символов. Также не учитывается регистр букв, то есть переменные с именами Primer и pRiMeR будут рассматриваться как одна и та же переменная.
3. Величины. Величина – это единица данных, представленная своим именем (идентификатором) либо своим значением. С величиной связывается определенное множество значений.
Например, физическая величина СКОРОСТЬ. Она может принимать различные значения 15 м/с, 200 км/ч и т. д.
Также каждая величина имеет свои допустимые значения (интервал значений). Например, величина РОСТ ЧЕЛОВЕКА может принимать значения 1 м 40 см, 2 м 2 см и т. д. Интервал значений данной величины находится в промежутке (приблизительно) от 40 см до 2 м.
Все величины языка «Pascal» можно условно разделить на две группы: постоянные и переменные.
Постоянные величины (константы) – это величины, принимающие в ходе выполнения программы только одно значение.
Постоянные величины делятся на числовые и литерные (символьные, строковые). Например, числовые величины – 5; -45.6; -45216; литерные величины – «стол»; «125».
Литерные величины всегда берутся в одиночные кавычки (апострофы).
Переменные величины в ходе выполнения программы могут принимать разное количество значений. Переменные величины могут иметь буквенное обозначение или с индексом. Например, простые – Х; DF; с индексом – Х1; DF25.
4. Типы величин. В зависимости от значения величины подразделяются на целые, вещественные, литерные, табличные и логические, которые, в свою очередь имеют деление и обозначение в зависимости от размерности значения величины.
целые INTEGER, SHORTING, BYTE, WORD, LONGINT;
вещественные REAL, SINGLE, DOUBLE, EXTENDED, COMP;
литерные CHAR, STRING;
табличные ARRAY;
логические BOOLEAN.
5. Выражения. Выражения языка «Pascal» задают правила вычисления некоторого значения. Все выражения языка «Pascal» можно разделить на арифметические и литерные.
Арифметические выражения записываются с помощью знаков арифметических операций по определенным правилам. Например, 15+2; 12.3*12.8; D-F.
К литерным выражениям относится операция слияния (соединения), которое обозначается знаком сложения (+), но имеет несколько другой смысл, нежели обычное сложение двух чисел. Например, «сто»+«л»
6. Условия. Условия на языке «Pascal» бывают простые и составные.
Простые условия записываются с помощью знаков отношения в виде:
<выражение> <знак отношения> <выражение>
Например, F> 5; H=2; name <> «ваня».
Составные условия включают в себя несколько простых условий соединенных с помощью служебных слов NOT (не), AND (и), OR (или):
<простое условие> ( AND, OR ) <простое условие>
Например, D> 50 AND T <200; F1=5 OR T2 <=15.
7. Служебные слова (операторы). Все служебные слова языка являются словами английского языка. Операторы задают последовательность некоторых действий (команд), которые необходимо выполнить. Для описания сложных действий используют группу операторов. В этом случае операторы объединяются в составной оператор или блок.
В записи программы на языке «Pascal» обычно не различают малые и большие латинские буквы (PROGRAM, program, Program – одно и то же).
Примеры некоторых операторов языка «Pascal»:
PROGRAM (программа) – название программы;
BEGIN (начало) – начало программы;
END (конец) – конец программы;
VAR (variable – переменная величина);
LABEL (метка);
CONST (константа);
TYPE (тип);
IF (если) … THEN (то) … ELSE (иначе) – условный оператор (команда ветвления);
CASE – оператор выбора;
GOTO – оператор безусловного перехода;
FOR… TO… DO – оператор повторения (цикла);
REPEAT (повторять) … UNTIL (до тех пор, пока не) – оператор повторения;
WHILE (пока) … DO – оператор повторения (цикла);
PROCEDURE (процедура);
FUNCTION (функция).
По ходу усовершенствования языка в словарь могут добавляться новые типы величин и оператор.
В языке «Pascal» существует несколько основных типов величин: числовые (целые и действительные), логические, литерные, табличные.
Типы величин отличаются ограничениями на область значений величины соответствующего типа. Правильный выбор целого типа для величины позволяет экономично расходовать ресурсы памяти компьютера.
Числовые величины в языке «Pascal» подразделяются на целые и действительные.
Целые числа (натуральные, им противоположные и ноль) описываются с помощью служебного слова INTEGER.
В зависимости от значения целые числа могут описываться другими типами, приведенными в таблице:
Над целыми числами можно выполнять сложение, вычитание, умножение, деление, получение остатка от деления.
Результат арифметической операции над целыми операндами есть величина целого типа. Результат выполнения операции деления целых величин есть целая часть частного. Результат выполнения операции получения остатка от деления – остаток от деления целых.
Операции отношения, примененные к целым операндам, дают результат логического типа TRUE или FALSE (истина или ложь).
К аргументам целого типа применимы следующие стандартные функции, результат выполнения которых имеет целый тип: ABS (), SQR ().
Следующая группа стандартных функций для аргумента целого типа дает действительный результат: SIN (), COS (), ARCTAN (), LN (), EXP (), SQRT ().
Результат выполнения функции проверки целой величины на нечетность ODD () имеет значение истина, если аргумент нечетный, и значение ложь, если аргумент четный.
Вещественные числа на языке «Pascal» описываются с помощью служебного слова REAL.
В зависимости от значения, вещественные числа можно описывать и с помощью других типов, приведенных в таблице.
Над действительными числами можно выполнять следующие арифметические операции, дающие действительный результат: сложение, вычитание, умножение, деление.
К величинам действительного типа применимы все операции отношения.
К действительным аргументам применимы функции, дающие действительный результат: ABS (), SQR (), SIN (), COS (), ARCTAN (), LN (), Exp (), SQRT (), INT (), PI.
К аргументам действительного типа применимы также функции TRUNC () и ROUND (), дающие целый результат. Первая из них выделяет целую часть действительного аргумента путем отсечения дробной части, вторая округляет аргумент до ближайшего целого.