Добавлен: 01.04.2023
Просмотров: 327
Скачиваний: 2
СОДЕРЖАНИЕ
1 Основные элементы языка программирования Pascal
1.1 Алфавит, данные и выражения языка Pascal
1.2. Стандартные простые типы данных и структура программы на языке Pascal
2. Операторы языка программирования Pascal, подпрограммы и сложные типы данных
2.1. Операторы языка программирования Pascal
Стандартные функции, результат которых – целое число.
Существуют и другие типы целочисленных данных. Например, байтовый тип (byte) аналогичен целочисленному типу, но имеет более узкий диапазон значений от 0 до 255. Переменная байтового типа занимает один байт, т. е. по сравнению с целочисленным типом память экономится в два раза;
- real – вещественный тип. Внутренним представлением данных этого типа являются числа с плавающей точкой (Е-числа). Результат выполнения операций над данными этого типа не обязательно будет точен, а скорее всего, с погрешностью, величина которой определяется количеством разрядов, используемых для представления чисел с плавающей точкой [6].
Вещественные числа с плавающей точкой представляются в экспоненциальном виде:
m E+p, где m – мантисса, E – означает «10 в степени», p – порядок.
Пример: 10.1E00 = 10.1*100= 10.1, 1.2E+03 = 1.2*103 = 1200, 100E-02 = 100*10-2 = 1.
Описание: <идентификатор>: real;
Пример: var diametr, summa: real;
Операции: +, *, /, – и возведения в квадрат, дают в результате вещественное число.
Стандартные функции, результат которых – вещественное число;
- boolean – логический тип задает для своих переменных и констант два значения: истина (true) и ложь (false) [20, C. 125].
Описание: <идентификатор>: boolean;
Пример: var A, B, flag: boolean;
Стандартные функции для работы с логическими данными представлены в Приложении 1.
Операции. Значение логических операций для A и B представлены в порядке убывания приоритета выполнения в Таблице 1.
Таблица 1
Логические операции
|
Логические переменные |
Логические операции |
||||
|
A |
B |
not A |
A and B |
A or B |
A xor B |
|
0 |
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
1 |
0 |
1 |
1 |
|
1 |
0 |
0 |
0 |
1 |
1 |
|
1 |
1 |
0 |
1 |
1 |
0 |
|
ПРИМЕЧАНИЕ – значение «ложь» обозначено – 0, а «истина» – 1. |
|||||
Источник: Авдеюк О. А. Информатика и программирование: основы программирования на языке Паскаль / О. А. Авдеюк, Л. Г. Акулов, В. Ю. Наумов; ВолгГТУ. – 2-изд., испр. – Волгоград, 2018. – С. 81.
- char – символьный тип. Значения символьного типа – весь набор ASCII-символов, а значит, один символ занимает в памяти 1 байт. Символьные значения используются в апострофах, например: ’A’, ’ ’, ’y’, ’8’ [7, C. 32].
Описание: <идентификатор>: char;
Пример: var symbol, operation: char;
Операции. Сравнение символьных величин производится по значениям их кодов, например: ‘A’ <‘B’ <… < ‘Z’, ‘a’ < ‘b’ < … < ‘z’, ‘0’ < ‘1’ < … < ‘9’, ‘А’ < ‘Б’ < … < ‘Я’.
Структура программы. Состав разделов описаний программы
Текст программы на языке Pascal записывается в виде последовательных строк и состоит из заголовка, раздела описаний и раздела операторов, они представлены в Таблице 2.
Таблица 2
Заголовки программы, разделы описаний и разделы операторов
|
Заголовок программы |
рrogram <имя программы> [(имена файлов)]; |
|
Раздел описаний |
Определение констант (const); Определение меток (label); Определение типов (type); Определение переменных (var); Определение процедур и функций (procedure, function); |
|
begin |
|
|
Раздел операторов |
Операторы ввода данных Операторы обработки данных Операторы вывода результатов обработки |
|
end |
|
Источник: Гуськова Е. Н. Программирование: изучаем Pascal / Е. Н. Гуськова, С. Ю. Знатнов. – Коломна: Государственное образовательное учреждение высшего образования Московской области «Государственный социально-гуманитарный университет», 2017. – С. 49.
Заголовок программы необязателен, а если присутствует, то состоит из зарезервированного слова program и имени программы, возможно со списком параметров в круглых скобках и заканчивается точкой с запятой [11].
рrogram <имя программы> [(Input, Output)];
Пример: program schet_sum;
Раздел описаний может отсутствовать или состоять из некоторого набора подразделов определений. Раздел определения констант предназначен для присваивания некоторых постоянных значений идентификаторам; начинается с зарезервированного слова const.
Пример: const diametr = 31; radius = 5.05 [14, C. 83];
Раздел определения меток начинается со слова label, за которым следует через запятую список меток. В качестве меток могут использоваться целые числа без знака или идентификаторы. Сама метка ставится в теле программы перед оператором и отделяется двоеточием.
Пример: label 10, metka1 [1, C. 85];
Раздел определения типов используется для объявления скалярных пользовательских и структурных типов данных; начинается с зарезервированного слова type.
Пример: type massiv = array [1..50] of real [7, C. 46];
Раздел определения переменных сообщает компилятору типы всех используемых в программе переменных; начинается с зарезервированного слова var, за которым перечисляются через запятую имена переменных, затем через двоеточие их тип.
Пример: var i, j: integer; S: real [14, C. 84];
Раздел определения процедур и функций описывает все используемые пользовательские подпрограммы до начала входа в основную программу. Стандартные подпрограммы не требуют предварительного описания. Структура подпрограмм сходна со структурой основной программы.
Раздел операторов оформлен в виде блока, ограниченного begin и end с точкой. Все операторы в блоке разделяются точкой с запятой. Исключением является зарезервированное слово end, перед которым разделитель не ставится [7, C. 47].
В программе принято делать отступы для ее удобочитаемости. Желательно всегда следовать указанному принципу в целях создания более понятных программ.
Выводы:
Основная функция Pascal – работа с данными, что предоставляет программисту возможность определять пользовательские типы данных. Благодаря этому происходит строгая проверка данных, что предотвращает смешивание типов данных. Изначально Pascal был предназначен для преподавания. Pascal является более простым, написанный на нем код очень похож на естественный язык, поэтому его легко понять обычному пользователю
Pascal отличается легким синтаксисом языка, а, как известно, чем сложнее грамматика языка и чем больше вариантов предполагают семантические правила – тем больше проходов будет выполнять компилятор. Именно поэтому компиляторы с языка Pascal работают очень быстро
На данный момент, язык программирования Pascal является общепризнанным языком при освоении различных ступеней образования, который сочетает в себе основные свойства алгоритмического языка программирования высокого уровня и доступную форму, позволяющую начинающему программисту освоить технологию создания программы.
2. Операторы языка программирования Pascal, подпрограммы и сложные типы данных
2.1. Операторы языка программирования Pascal
Алгоритмические действия (команды), которые необходимо выполнить для решения задачи на языке программирования называют операторами языка, а параметры команд – операндами. Общий вид команды можно представить следующим образом:
<имя команды> [<параметр 1>, <параметр 2>, …, <параметр N>] [8, C. 14];
Выполнение одного оператора можно сопоставить одному шагу (действию) алгоритма. Последовательность таких операторов и составляют тело программы. Все операторы языка Pascal можно разделить на три группы: простые, ввода / вывода и структурные [10, C. 173].
На самом деле операторы ввода / вывода являются обращениями к стандартным процедурам ввода / вывода, т. к. в языке Pascal нет специальных операций такого вида. Стандартно программа получает входные данные из файла Input и помещает результаты обработки в файл Output, которые связаны с клавиатурой и экраном дисплея соответственно. Чтение данных, введенных с клавиатуры, осуществляет оператор ввода данных с клавиатуры.
Формат использования: read ([<имя файла ввода>],<список ввода>);
Требования к выполнению:
– в качестве <имя файла ввода> по умолчанию используется стандартный файл ввода с именем Input, иначе указывается имя нестандартного файла ввода;
– <список ввода> – любое количество идентификаторов, перечисленных через запятую [4, C. 95].
Выполнение: если не указано имя файла ввода, то данные вводятся с клавиатуры в файл Input через пробел, а затем нажимается клавиша <Enter> или каждое значение через нажатие клавиши <Enter>, при этом курсор клавиатуры остается в той же строке после последнего значения [1, C. 86].
Оператор ввода данных приостанавливает выполнение программы и как только файл ввода заполнен значениями, начинает чтение из этого файла и присваивание их именам переменных из списка ввода.
При вводе значений переменных может произойти программное прерывание, если вводимые значения не соответствуют описанному типу переменных. Пример: пусть задано описание следующих переменных: var a: integer; b: real; с: char [7, C. 53];
Ввод значений переменных может осуществляться в двух вариантах, они представлены в Таблице 3.
Таблица 3
Варианты использования оператора ввода
|
Запрос ввода |
Вариант 1 |
Вариант 2 |
|
read (a, b, c); или read (a); read (b); read (с); |
345 <Enter> 0.789 <Enter> ‘x’ <Enter> |
345 <Пробел> 0.789 <Пробел> ‘x’ <Пробел> |
Источник: Кононов А. Д. Основы программирования на языке Паскаль. Основные понятия алгоритмического языка Паскаль / А. Д. Кононов, А. А. Кононов. – Воронеж: Воронежский государственный архитектурно-строительный университет, 2017. – С. 38
Вывод результатов работы программы осуществляет оператор вывода данных на экран монитора.
Формат использования: write ([<имя файла вывода>], <список вывода>);
Требования к выполнению:
– в качестве <имя файла вывода>, по умолчанию, используется стандартный файл ввода с именем Output, иначе указывается имя нестандартного файла вывода;
– <список вывода> – любое количество идентификаторов, перечисленных через запятую, возможно с указанием формата вывода или сообщение, обрамленное в апострофы. Выполнение оператора вывода write (или writeln) заключается в том, что он помещает первое поле11 для первой переменной, второе – вплотную за первым и т. д. последовательно в начало выходного файла [16, C. 39].
Оператор writeln с указанием параметров или без параметров (в отличие от write) после записи в выходной файл последнего данного добавляет литеру конца строки.
Пример: пусть задано описание следующих переменных:
var A, B, n, Sum: integer; S: real;
Вывод значений переменных возможно осуществлять в различных форматах, они представлены в Таблице 4.
Таблица 4
Варианты использования оператора вывода
|
Пример использования |
Пояснения |
|
write ('Введите количество чисел'); |
Вывод сообщения перед оператором ввода |
|
write (Sum); |
Вывод Sum в стандартном формате |
|
write ((A + B) / n : 5 : 2); |
Вывод вещественного значения с полями вывода |
|
write (Сумма чисел равна ', S); |
Вывод S в научном формате с комментарием |
Источник: Кудрец Д. Основы программирования на языке Pascal / Д. Кудрец. – М.: Издательские решения, 2018. – С. 19.
Для данных целочисленных типов можно задавать ширину поля:
write (<идентификатор> : <ширина поля>);
Если не задана ширина поля для вывода данных числовых типов, то используется стандартный формат вывода. При этом выделяется количество позиций вывода, равное количеству символов, не считая апострофов [2].
Вещественные данные могут выводиться в научном формате, если не указана точность. Например, число 0.001963 представляется как 1.963E-03.
Для вывода вещественных данных можно задавать ширину двух полей вывода:
write (<идентификатор>: <ширина поля 1>: <ширина поля 2>);
где ширина поля 1 – задает общее количество позиций: целая часть + точка + дробная часть; ширина поля 2 – задает количество позиций, выделяемых под дробную часть [6, C. 19].
Для программирования линейных процессов обработки информации используются простые операторы, которые в своей структуре не объединяют другие операторы. К ним относятся: пустой оператор, оператор присваивания и оператор обращения к процедуре. Оператор присваивания замещает содержимое переменной значением выражения [14, C. 69].