Слайд 1СТРУКТУРА ПРОГРАММЫ
Дисциплина: Основы алгоритмизации и программирования
Преподаватель: Кумскова И.А.
Слайд 2ЗАГОЛОВОК ПРОГРАММЫ
В заголовке указывается имя программы и список параметров.
Общий
вид:
program n (input, output, x, y,…);
здесь n – имя программы;
input – файл ввода;
output – файл вывода;
x, y – внешние файлы, используемые в
программе.
Заголовка может и не быть или он может быть без параметров.
Слайд 3БЛОК
Блок программы состоит из шести разделов, следующих в строго определенном порядке:
раздел описания меток (label)
раздел описания констант (const)
раздел описания типов (type)
раздел описания переменных (var)
раздел процедур и функций
раздел действий (операторов).
Раздел действий должен присутствовать всегда, остальные разделы могут отсутствовать.
Названия разделов (const, type, var…) указываются только один раз.
Слайд 4РАЗДЕЛ ОПИСАНИЯ МЕТОК
Любой выполняемый оператор может быть снабжен меткой – целой
положительной константой, содержащей не более 4-х цифр.
Все метки, встречающиеся в программе, должны быть описаны в разделе label.
Общий вид:
label l1, l2, l3…;
здесь l1, l2, l3 – метки.
Пример:
label 5, 10, 100;
Метка отделяется от оператора двоеточием.
Пример: Пусть оператор a := b имеет метку 20. Тогда этот оператор выглядит так:
20: a := b;
Слайд 5Раздел ОПИСАНИЯ констант
Если в программе используются константы, имеющие достаточно громоздкую запись
(например, число пи с 8-ю знаками), либо сменные константы (для задания варианта программы), то такие константы обычно обозначаются какими-либо именами и описываются в разделе const, а в программе используются только имена констант.
Это делает программу более наглядной и удобной при отладке и внесении изменений.
Общий вид:
const a1 = c1; a2 = c2; …
здесь a1 – имя константы, c1 – значение константы.
Пример: const pi = 3.14; c = 2.7531;
Слайд 6РАЗДЕЛ ОПИСАНИЯ ТИПОВ
Если в программе вводится тип, отличный от стандартного, то
этот тип описывается в разделе type:
type t1 = вид_типа;
t2 = вид_типа;
где t1 и t2 – идентификаторы вводимых типов.
Затем тип используется при объявлении переменных.
Пример использования нестандартных типов:
type
year=1930..2010;
var
y: year;
Слайд 7Раздел описания переменных
Каждая переменная должна быть описана до ее использования в
программе и отнесена к одному и только одному типу.
Общий вид:
var v11, v12,…: type1;
v21, v22,…: type2; …
здесь v11, v12,… - имена переменных;
type1 – тип переменных v11, v12,…;
type2 – тип переменных v21, v22,….
Пример:
var k, i, j: integer;
a, b: real;
Слайд 8СИМВОЛЫ ЯЗЫКА
Английские и русские буквы, которые могут быть как строчными,
так и прописными.
Арабские цифры.
Знаки операций и знаки, входящие в составное обозначение операций:
+ - * / : = < >
Ограничители:
. , ( ) [ ] { } : ; ‘ “
Специальные символы:
$ @ # & ^ _ ~ %
Слайд 9Переменные и идентификаторы
Переменная – это имя физического участка памяти, в котором
в любой момент времени может храниться только одно значение.
Для обозначения участков памяти используют идентификаторы (имена).
Идентификаторы (имена переменных, констант программ, модулей, функций, процедур) записываются с помощью допустимых в Pascal символов и должны удовлетворять следующим правилам:
имя должно состоять только из английских букв, цифр и символов подчеркивания (в идентификаторах в Паскале прописные и строчные буквы не различаются);
имя может начинаться только с английской буквы или символа подчеркивания.
Слайд 10слова
Служебные (зарезервированные, ключевые) слова – это слова языка программирования, которые имеют
специальное, раз и навсегда закрепленное за ними значение.
В программе нельзя использовать идентификаторы, совпадающие по написанию ключевыми словами (например, нельзя обозначить переменную именем begin).
and end nil set array do in program
file not then begin for
of to case function or type
const goto packed until
div if procedure var
downto label record else mod repeat
Слайд 11слова
Предопределенные (стандартные) имена также имеют специальный (заранее заданный) смысл.
Однако программист
может обходить закрепленные за ними значения и использовать их в качестве имен, определяемых программистом. Если программист не определит явно, для каких целей применяется то или иное стандартное имя в программе, оно будет восприниматься в присущем данному имени предопределенном смысле (например, предопределенными являются имена Integer, Writeln и др.).
Пользовательские имена определяются программистом и должны быть явно объявлены в программе.
Слайд 12слова
Слова program, const, var, begin, end, а также множество других называются
зарезервированными словами. Зарезервированные слова нельзя расширять (например, constant будет ошибкой) и сокращать (например, prog также будет ошибкой).
Использовать в программном коде на Pascal можно как прописные, так и строчные буквы, а также их чередовать.
Слайд 13ПУНКТУАЦИЯ
Заголовок завершается точкой с запятой.
В любом объявлении каждый список завершается точкой
с запятой.
Операторы отделены один от другого точкой с запятой.
Слова begin и end не являются операторами – они служат знаками пунктуации (левая и правая скобки).
Слова if, then, else выступают внутри оператора в качестве знаков пунктуации.
Если оператор стоит перед end, until или else, то в этом случае точка с запятой не ставится.
Слайд 14ТИПЫ ПЕРЕМЕННЫХ
Данные хранятся в памяти компьютера. Программа обращается к ним с
помощью имен переменных, связанных с участками памяти, где хранятся данные.
Переменные описываются до основного кода программы. Для них указываются ее имя и тип хранимых данных.
Тип переменной определяется тем, с какими данными она связана.
Простые типы данных:
Переменные типа integer могут быть связаны только с целыми значениями обычно в диапазоне от -32768 до 32767.
Переменные типа real хранят вещественные (дробные) числа.
Переменная булевского (логического) типа может принимать только два значения - true (1, правда) или false (0, ложь).
Символьный тип (char) может принимать значения из определенной упорядоченной последовательности символов.
Слайд 15ТИПЫ ПЕРЕМЕННЫХ
Интервальный тип определяется пользователем и формируется только из порядковых типов.
Представляет собой подмножество значений в конкретном диапазоне.
Можно создать собственный тип данных простым перечислением значений, которые может принимать переменная данного типа. Это так называемый перечисляемый тип данных.
Структурированные типы данных:
Массив – это структура, занимающая в памяти единую область и состоящая из фиксированного числа компонентов одного типа.
Строки представляет собой последовательность символов. Причем количество этих символов не может быть больше 255 включительно.
Запись – это структура, состоящая из фиксированного числа компонент, называемых полями. В разных полях данные могут иметь разный тип.
Множества представляют собой совокупность любого числа элементов, но одного и того же перечисляемого типа.
Файлы представляют собой последовательности однотипных данных, которые хранятся на устройствах внешней памяти.
Слайд 16ЦЕЛЫЕ ТИПЫ
Такие переменные в программе описываются следующим образом:
var a, b, c: integer;
Слайд 17ЦЕЛЫЕ ТИПЫ
Операции над целыми типами, дающие в результате значение целого
типа:
Арифметические:
сложение (+);
вычитание (-);
умножение (*);
остаток от деления (mod);
возведение в степень;
унарный плюс (+);
унарный минус (-).
Операции отношения:
отношение равенства (=);
отношение неравенства (<>);
отношение меньше (<);
отношение больше (>);
отношение не меньше (>=);
отношение не больше (<=).
Слайд 18ВЕЩЕСТВЕННЫЕ ТИПЫ
Число цифр определяет точность, с которой будет храниться вещественное число.
Например, для Real разрядность мантиссы может составлять не более восьми десятичных знаков.
Тип Comp содержит только целые значения, которые представляются в вычислениях как вещественные.
Над действительными числами выполнимы операции сложения (+), вычитания (-), умножения (*) и деления (/).
Слайд 19ОПЕРАТОРЫ
Оператор – предписание о выполнении конкретных действий. В языке программирования Паскаль
содержится 11 операторов.
Оператор присваивания:
X:=A;
где: X – имя переменной;
A - выражение;
:= - знак присваивания.
Работа оператора: в процессе выполнения оператора вычисляется значение, в правой части выражения и присваивается имени переменной.
Тип переменной и тип выражения должны совпадать, кроме случая, когда выражение относится к целому типу, а переменная к вещественному. При этом происходит преобразование вычисленного значения выражения к вещественному типу.
Слайд 20ВЫРАЖЕНИЯ
Выражение задает правило вычисления некоторого значения. Выражение состоит из констант, переменных,
указателей функций, знаков операций и скобок.
Математические операции:
Слайд 21Булевские типы
Переменная булевского типа принимает значения true (истина) или false
(ложь).
Новые логические типы данных были введены для обеспечения совместимости разрабатываемых программ с Windows, в которой значению False соответствует 0, а значению True – любое, отличное от 0, число.
Var <имя_переменной>: boolean;
Величины логического типа данных можно присваивать, выводить, но нельзя вводить процедурой read.
Слайд 22ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ
Логические выражения (условия) – это выражения, которые могут принимать лишь
одно из двух значений: true (истина) или false (ложь).
Для построения логических выражений используются операции отношения, которые обозначаются знаками:
= (отношение на равенство),
<> (отношение на неравенство),
< (отношение меньше),
> (отношение больше),
<= (отношение меньше или равно),
>= (отношение больше или равно).
Слайд 23ЛОГИЧЕСКИЕ ВЫРАЖЕНИЯ
Сложные условия составляются из простых с помощью логических операций:
and (логическое «И»);
or (логическое «ИЛИ»);
not (логическое «НЕ»);
XOR (логическое «Исключающее ИЛИ» ).
При составлении сложных условий операнды логического выражения берутся в скобки.
Слайд 24ПРИОРИТЕТ ОПЕРАЦИЙ
Порядок вычисления выражения определяется старшинством (приоритетом) содержащихся в нем операций.
В языке Паскаль принят следующий приоритет операций:
унарная операция not, унарный минус -, взятие адреса @
операции типа умножения: * / div mod and
операции типа сложения: + - or xor
операции отношения: = <> < > <= >= in
Порядок выполнения операций можно переопределить с помощью скобок.
Например: 2*5+10 равно 20, но 2*(5+10) равно 30.
Слайд 25Операторы вЫвода данных
Вывод данных на экран:
Write(A1,A2,...AK);
WriteLn(A1,A2,...AK);
Оператор writeln не только производит вывод данных на экран, но и производит переход к началу следующей экранной строки.
Если процедура writeln используется без параметров, то она просто производит пропуск строки и переход к началу следующей строки.
Слайд 26Операторы вЫвода данных
Форматированный вывод
Слайд 27Операторы ввода данных
Ввод данных с клавиатуры: read и readln