Прописные и строчные буквы Pascal'eм не различаются. Знаки «возведение в степень» и двойная кавычка - " - в языке отсутствуют. 1.2. Идентификаторы Идентификаторы - имена констант, переменных, меток, типов процедур, функций, модулей, программ и полей в записях. Идентификатор является комбинацией только букв, цифр и знака подчеркивания. Другие символы не допускаются. Должен начинаться с буквы или знака подчеркивания. Длина идентификатора не должна превышать 127символов. 1.3. Константы Паскаль обрабатывает константы следующих типов:
Целые константы: +354, -5298, 101;
Вещественные константы, представленные двумя способами
с фиксированным разделителем: 234.56, - 3456.002;
в экспоненциальной форме:3.4783Е+12, -658.56546Е-6 .
Шестнадцатеричные числа записываются цифрами от 0 до 9 и буквами от А до F c предшествующим знаком денежной единицы: $A12, $2465F. Диапазон изменений - от $000000000 до $FFFFFFFFF.
Символьные (текстовые) константы - набор любых символов клавиатуры, заключенных в апострофы: 'ABCD', ' X = ', ' Cумма = ', ' Таблица Nо 1 '.
Логические константы имеют только два значения : TRUE и FALSE. Их принимают переменные логического (BOOLEAN) типа.
1.4. Правила записи Pascal программ Строки Pascal программ представляют собой законченные команды языка, элементы описательной части или заголовки программных модулей. Признаком завершения строки является символ ";".Длина строки не должна превышать 127 символов. Строки Pascal программ могут свободно размещаться относительно строк текстового редактора: в одной строке редактора могут располагаться несколько команд Pascal' я, а одну длинную команду можно располагать в нескольких строках редактора. Допускаются пустые строки. Завершаться любая программа должна словом END с точкой на конце. 1.5. Основные части Pascal программ Практически все Pascal программы состоят из двух основных частей: описательной и исполнительной.
Исполнительная часть располагается за описательной и охватывается двумя зарезервированными словами BEGIN ... END. Она содержит конкретные предписания ЭВМ, определяющие её действия при работе по программе.
Описательная часть не содержит ни одной команды. Она может начинаться с заголовка программы, записываемого так:
PROGRAM <идентификатор>;
После заголовка могут располагаться следующие разделы:
USES - описания библиотек;
TYPES - типов;
CONST - констант;
LABELS - меток;
VAR - переменных.
Описание переменных производится следующим образом:
VAR <идентификатор>:<указатель типа переменной>;
Например - VAR x, y, z : Real;
i, k : Integer; 1.6. Стандартные типы данных Pascal Так называется набор типов данных, описанных первым международным стандартом языка Pascal. Для настоящего курса можно ограничиться этими данными, хотя современный Pascal имеет много больше типов. Каждый тип данных указывается в разделе описания переменных после имени переменной через двоеточие (см. предыдущий пример).
Обозначение типа
Указатель типа
Длина
Диапазон значений
Целочисленный
INTEGER
2b
-32768 ... +32767
Вещественный
REAL
6b
1E-38 ... 1E+38
Логический
BOOLEAN
1b
TRUE ... FALSE
Символьный
CHAR
1b
'A'...'z'
Байтовый
BYTE
1b
0 ... 255
1.7. Составной оператор. Пустой оператор Составной оператор представляет собой специальную структуру, позволяющую объединять несколько операторов в одно действие. Лексическая схема (лексема) такого оператора представляет собой следующее:
( S1; S2; S3; ... ; Sn );
где
( - операторная скобка, зарезервированное слово BEGIN;
S1;S2;...;Sn - исполняемые операторы;
) - операторная скобка, зарезервированное слово END;
; - признак завершения оператора.
В программе составной оператор обычно записывается так:
BEGIN
< оператор 1 >;
< оператор 2 >;
< оператор 3 >;
..............
< оператор N >
END;
Как видно из лексемы, после открытой скобки ( слова BEGIN ) и перед закрывающейся ( слово END ) символ ";" не ставится. Но если после <оператор N> поставить ";" , то по синтаксическим правилам Pascal'я эта запись будет называться «пустой оператор». Пустой оператор не содержит никаких действий. Может использоваться для передачи управления в конец составного оператора. 1.7. Физический смысл имени переменной Для ЭВМ имя переменной - адрес (абсолютный номер) ячейки оперативной памяти. Анализируя описательную часть программы, транслятор закрепляет за каждой переменной, указанной там, конкретную ячейку памяти и запоминает её номер (адрес). В дальнейшем, по мере надобности, ЭВМ производит обращение к этой ячейке - записывает туда информацию или считывает её оттуда. Таким образом переменная будет менять своё значение. Но для ЭВМ это будет не переменная "Х" или "Y", а ячейка за номером N1 или N2. 1.8. Арифметическое выражение Арифметическое выражение - совокупность констант, имён переменных, функций, объединённых знаками математических операций. 1.9. Таблица арифметических функций языка Pascal
Обозначение
Функции
Тип
результата
Тип
аргумента
Реализуемое
Действие
ABS(x)
Real,Integer
Real,Integer
Модуль аргумента.
ArcTan(x)
Real
Real
Арктангенс (радианы).
COS(x)
Real
Real
Косинус (радианы).
EXP(x)
Real
Real
Экспонента.
FRAC(x)
Real
Real
Дробная часть числа.
INT(x)
Real
Real
Целая часть числа.
LN(x)
Real
Real
Натуральный логарифм.
PI
Real
Real
Число ПИ 3,14159...
Random(x)
Integer
Integer
Генератор случайных
чисел 0 <= n < x .
SIN(x)
Real
Real
Синус (радианы).
SQR(x)
Real
Real
Квадрат аргумента.
SQRT(x)
Real
Real
Квадратный корень.
1.10. Правила составления и вычисления арифметических выражений Арифметическое выражение (АВ) вычисляется слева направо с учётом приоритета арифметических действий и наличия скобок. АВ записывается в одну строку - многоэтажные записи не допускаются. Не допускается употребление квадратных и фигурных скобок. Основное требование к скобкам - их парность: Каждой открытой скобке должна соответствовать закрытая. Количество скобок и их вложенность не ограничена. Все знаки арифметических действий должны проставляться в явном виде. При переносе АВ на новую строку знаки математических действий не дублируются. Употребление специальных знаков - радикалов, сумматоров, интегралов и т.д. запрещено. При наличии в числителе или знаменателе дроби суммы или разности они должны быть охвачены скобками. При включении арифметических функций в АВ сначала записывается имя функции, затем аргумент, охваченный скобками. 1.11. Оператор присваивания Формат оператора:
VAR := EXPR ;
где
VAR - имя переменной, получающей новое значение;
:= - символ присваивания, его можно читать как «становиться равным»;
EXPR- арифметическое выражение;
; - знак завершенности оператора. Во время выполнения этого оператора в ЭВМ происходит следующее:
1. Машина опрашивает ячейки памяти, закреплённые за переменными, участвующими в арифметическом выражении, и пересылает их содержимое в регистры процессора.
2. В соответствии с правилами вычисления арифметических выражений, с учётом скобок и старшинства математических операций, производится вычисление результата.
3. Вычисленный результат пересылается по адресу переменной VAR, получающей новое значение. 1.12. Согласование типов данных.
Паскаль требует соблюдения определённых правил совместимости типов переменных и значений справа и слева от оператора «:=». Так, типы являются совместимыми, если:
оба типа являются одинаковыми;
оба типа являются вещественными типами;
оба типа являются целочисленными;
один тип является поддиапазоном другого;
оба типа являются поддиапазонами одного и того же базового типа;
один тип является строковым, а другой строковым или символьным типом.
1.13. Способы ввода данных А) Ввод данных из текста программы.
1. Через типизированные константы (константы с начальными значениями): ...................................
CONST a=3.78; b=8.9;
Yes_No=TRUE; Kon=' Конец !';
...................................
2. С помощью оператора присваивания:
...................................
BEGIN
A:=3.78; B:=8.9;
Yes_No:=TRUE; Kon:=' Конец !';
..............................
Б) Ввод данных с клавиатуры.
1. Редактируемый ввод:
...................................
BEGIN
Write(' Вводите A, B =');
Read ( a, b );
.........................
2. Не редактируемый ввод:
...................................
BEGIN
.........................
Write(' Продолжим? ');
Yes_No:=ReadKey;
.........................
В) Считывание данных с внешних устройств. ( см. ниже ). 1.14. Операторы ввода - вывода Форматы операторов: READ ( <список> );
READLN ( <список> );
WRITE ( <список> );
WRITELN ( <список> );
где
READ, READLN - ключевые слова, в переводе означают «читать» и «читать строку»;
WRITE, WRITELN - ключевые слова, в переводе означают «писать» и «писать строку»;
<список> - перечень аргументов оператора;
; - знак, завершающий оператор.
Первые два оператора являются операторами ввода. Они работают следующим образом: встретив такой оператор в программе ЭВМ прекращает работу и переходит в режим ожидания ввода данных с клавиатуры. В этот момент необходимо напечатать на экране столько значений, сколько переменных содержится в списке оператора. Разделять значения нужно пробелом или нажимая на клавишу Enter после печати каждого числа. В тексте программы список этих операторов должен содержать только переменные, разделённые запятыми. Различия в действиях операторов проявляются только при работе с текстовыми файлами, о чём будет рассказано ниже. Операторы WRITE и WRITELN служат для вывода информации. Их списки могут содержать не только переменные, как у READ и READLN, но также константы, переменные и выражения, разделённые запятыми. Различия в действиях операторов проявляются в следующем:
После вывода информации оператором WRITE, курсор на экране остаётся в той же строке. Оператор WRITELN после вывода списка переводит курсор на новую строку. 1.15. Форматирование вывода данных Если не давать особых распоряжений в операторах вывода, вещественные значения переменных будут печататься в экспоненциальной форме с выводом 16 разрядов мантиссы, даже если не все они содержат значения. Например:
- в программе a:=-1.25; WRITE ( a );
- на экране -1.250000000000000E+0000 .
В Pascal'е существует возможность вывода вещественных значений переменных в другой форме - с фиксированным разделителем. Для этого необходимо задать общую длину выводимого значения и количество разрядов в дробной части двумя цифрами через двоеточие:
- в программе a:=-1.25; WRITE ( a:5:2 );
- на экране -1.25
В общем виде формула подсчёта количества позиций в вещественных значениях, выводимых с фиксированным разделителем, выглядит так:
W >= K + D + 2
Где:
W - общая длина числа;
K - количество разрядов в целой части;
D - количество разрядов в дробной части;
2 - позиции под разделитель и знак числа;
>= - указывает на то, что длину числа, при отсутствии полной уверенности, можно брать с " запасом ". Тогда резервные разряды будут выведены в качестве ведущих пробелов. 2. АЛГОРИТМИЗАЦИЯ 2.1. Классификация алгоритмов Алгоритмом называется определённая последовательность действий, позволяющая получить из исходных данных однозначный результат. Говоря проще, алгоритм - ход решения какой-либо задачи. Несмотря на то, что задачи, решаемые с помощью ЭВМ, могут иметь неограниченную сложность, любой алгоритм всегда разлагается на три основные структуры:
Основные понятия языка паскаль Алфавит языка Паскаль. Под алфавитом понимается упорядоченная определенным образом совокупность взаимно различимых знаков — символов....
Работа в системе турбо паскаль (ТП) Яп паскаль был разработан Н. Виртом в 1968 – 1970году и получил широкое распространение благодаря наглядности программ и легкости...
Математика и информатика. Пример слияния Здесь приведена блок-схема конструктивного определения алгебраического кольца с конечным носителем, которую можно довести до программы...