const
i =-314;
g = +9.8;
title =’ ОБЪЯВЛЕНИЕ’;
Раздел объявления типов
Описание типов данных делается с той целью, чтобы описав однажды все возможные типы данных, которые будут использоваться в программе, можно было делать привязку различных переменных одного типа к его синониму (смотри описание переменных ). Раздел начинается с ключевого слова TYPE. Например,
type (* описание типов данных *)
(* строка *)
line: packed array [ 1.. 80] of char;
(* перечисление *)
day: (monday, tuesday, wednesday, thursday, friday, saturday, sumday);
person: (‘Иванов’,’Петров’,’Сидоров’,’Ковалев’);
Предложенная последовательность изложения материала, многочисленные поясняющие примеры, доступность изложения позволяют учащимся самостоятельно изучить вопросы программирования вычислительных и информационных задач.
Учебное пособие ориентировано на обучающихся, знакомых с некоторыми основами программирования на уровне среднего образования, определяется базовым обучением по программированию и не ставит целью изучение и анализ каких-либо сложных аспектов использования алгоритмического языка Паскаль. Служит для повышения уровня владения языком в объеме, позволяющем использовать приобретенные знания при составлении программ. Приведены примеры и упражнения для отработки навыков программирования.
Пособие предназначено в большей степени для самостоятельной работы, но может быть полезно для проведения аудиторных занятий при обучении программированию на языке Паскаль в рамках освоения дисциплины «Информатика» студентами всех направлений подготовки.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Могилев А.В., Пак Н.И., Хеннер Е.К. Информатика. Учебное пособие. М.: Академия, 2004. – 848 с.
2. Информатика: учебник / под ред. Н.В. Макаровой. – М: Финансы и статистика, 2008. – 766 с.
3. Окулов С.М. Основы программирования. - М.: БИНОМ, 2013. – 440 с.
4. Кудинов Ю.И. Пащенко Ф.Ф. Основы современной информатики. – М: Лань, 2010. – 256 с.
5. Основы алгоритмизации вычислительных процессов. Метод. указания по курсу «Информатика» / Авдеев В.П., Гильмутдинов В.И, Кононов А.Д., Кононов А.А. – Воронеж. – ВГАСУ, 2005. – 41 с.
6. Информатика: учебное пособие / Гильмутдинов В.И, Кононов А.Д., Кононов А.А., 2010. – 56с.
7. Хлебников А.А. Информатика: учебник: Феникс, 2013. – 443с.
Приложение 1
Знак |
Примечание |
{ } |
Скобки комментария |
(* *) |
Скобки комментария |
[ ] |
Выделение индексов массивов, элементов множеств, размера строки |
( ) |
Выделение выражений, списков параметров |
‘ |
Апостроф для выделения символа или строковой константы |
:= |
Знак присваивания значения переменной, типизированной константе или функции |
; |
Разделение предложений программы (операторов и объявлений) и Элементов списка |
: |
Отделение переменной или типизированной константы от типа, метки от оператора |
= |
Отделение идентификатора типа от описания типа или константы от ее значения |
, |
Разделение элементов списка |
.. |
Разделение границ диапазона |
. |
Обозначение конца программы, отделение целой части от дробной в вещественном числе, отделение полей в записи, отделение идентификатора от имени модуля или объекта, в котором он находится |
^ |
Обозначение типа – указателя, значения величины по ее указателю или управляющего символа (коды от 0 до 31) |
@ |
Обозначение адреса переменной, типизированной константы, подпрограммы, метода |
# |
Обозначение символа по его коду |
$ |
Обозначение директивы компилятора или знак шестнадцатеричного числа |
Этот раздел связывает их с определенным типом данных. Он начинается с ключевого слова VAR, а далее следует перечисление всех идентификаторов переменных с привязкой их к типам данных
Например,
var (* описание переменных *)
a,b,c: real; i,j,k: integer;
d: char; person: boolean;
Процедуры и функции представляют собой подпрограммы, которые по отношению к главной программе могут быть как внутренними, то есть входить в ее состав, так и внешними, скомпилированными и отредактированными отдельно от главной программы. Внешние подпрограммы хранятся в библиотеках, а в главной программе осуществляется только их вызов с помощью операторов вызова.
Правила оформления процедур и функций аналогичны правилам оформления программ.
Заголовком процедуры служит ключевое слово PROCEDURE. За ним следует имя этой процедуры, оформляемое в соответствии с правилами написания идентификаторов, причем если предполагается оформлять внешнюю процедуру, то программист должен помнить, что имя должно быть не более чем шестисимвольным и символ подчеркивания во внешних именах не допускается. В круглых скобках после имени процедуры делается перечисление формальных параметров, вместо которых при вызове процедуры ей будут передаваться действительные значения параметров. За заголовком процедуры следуют те же разделы описаний, которые были рассмотрены для программы.
Функция – это подпрограмма, результатом работы которой является единственный параметр. Вызов функции поэтому может входить в состав выражения. Правила описания функции аналогичны правилам описания процедуры. Заголовок функции состоит из ключевого слова FUNCTION и имени функции с указанием формальных параметров функции и их типов.
Описание процедур и функций, внутренних по отношению к главной программе, может быть сделано как перед блоками основной программы (в разделе описаний процедур и функций), так и следом за основной программой. Например,
Program proba1;
(* разделы описаний меток, констант, типов, переменных *)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
(* раздел описаний процедур и функций *)
Procedure line (x,y,z);
type
t:integer;
l:char;
var
x,y,i,j : t;
z : l;
begin
for i:=x to j:=y do write(z);
end;
(* главная программа *)
begin
. . . . . . . . . . . . .
. . . . . . . . . . . . .
end;
(* описание функции *)
function max (x,y : real): real;
begin
if x > y then max:= x;
end;
Операторы языка составляют тело программы. Оно структурируется в блоки. Каждый блок начинается с ключевого слова BEGIN и заканчивается словом END. Блоки могут следовать друг за другом или входить один в другой. Последние называют вложенными. Например,
PROGRAM IT_IS_MY ;
(* разделы * )
begin (* операторы языка * )
begin (* операторы языка *)
end;
begin (* операторы языка*)
begin (* операторы языка *)
end
end
end.
Глубина вложенности блоков практически не ограничивается. Однако информационно и алгоритмически они должны быть правильно оформлены.
Приложение 2
Служебные слова* |
Смысловое значение |
Пояснения |
1 |
2 |
3 |
AND |
и |
Логическая операция И |
ARRAY |
массив |
Начало типа-массив |
BEGIN |
начало |
Начало тела программы или подпрограммы, начало составного оператора |
CASE |
вариант (выбор) |
Начало условного оператора CASE |
CONST |
константа |
Идентификатор раздела констант, группы параметров - констант |
CONSTRUCTOR |
конструктор |
Конструктор объекта |
DESTRUCTOR |
разрушитель |
Деструктор объекта |
DIV |
деление |
Операция деления целых чисел с получением целого результата |
DO |
Делать (выполнять) |
Признак начала оператора в цикле FOR, WHILE, оператора WITH |
DOWNTO |
уменьшая до |
Указатель изменения параметpa цикла от максимального к минимальному значению |
ELSE |
иначе |
Секция ИНАЧЕ в условном опе-раторе IF, CASE |
END |
конец |
Конец тела программы, под- программы, конец модуля, конец составного оператора, блока на ассемблере, оператора CASE, типа - запись, объекта |
EXTERNAL |
внешний |
Директива внешней подпрограммы |
FILE |
Файл |
Файловый тип |
FOR |
для |
Начало цикла с известным числом повторений |
FORWARD
|
опережение |
Директива заголовка подпрограммы, описанной дальше по тексту программы |
FUNCTION |
функция |
Начало подпрограммы-функции |
GOTO |
переход на (идти к) |
Безусловный переход |
IF |
если |
Начало условного оператора IF |
IMPLEMENTATOIN |
реализация |
Исполнительная часть модуля |
IN |
в |
Проверка наличия элемента в множестве |
INLINE
|
встроенный |
Директива, позволяющая включить в программу часть, написанную на ассемблере |
INTERFACE |
интерфейс |
Интерфейс модуля |
INTERRUPT |
прерывание |
Директива процедуры обработки прерываний |
LABEL |
метка |
Идентификатор раздела меток |
MOD
|
вычисление остатка |
Остаток от деления целых чисел |
NUL |
пустой указатель |
Пустая ссылка |
NOT |
Нет (отрицание) |
Логическое отрицание |
OBJECT |
объект |
Начало типа - объект |
OF
|
из |
Начало типа компонентов в определении массива, множества, файла, начало перечисления констант оператора CASE |
OR |
или |
Логическая операция ИЛИ |
PACKED |
упакованный |
Признак "упакованного" массива |
PROCEDURE |
процедура |
Начало подпрограммы-процедуры |
PROGRAM |
программа |
Начало программы |
RECORD |
запись |
Начало типа - запись |
REPEAT |
повторить |
Начало цикла REPEAT |
SET |
Набор (множество) |
Тип - множество |
SHL |
разрядный сдвиг влево
|
Сдвиг битов влево с заполнением нулями освободившихся разрядов |
SHR |
разрядный сдвиг вправо
|
Сдвиг битов вправо с заполнением нулями освободившихся I разрядов |
STRING |
строка |
Тип – строка |
THEN |
тогда |
Секция ТОГДА условного oперaтора IF |
TO |
к (до) |
Указатель, изменения параметра цикла от минимального к максимальному значению |
TYPE |
тип |
Идентификатор раздела типов |
UNIT |
модуль |
Начало модуля |
UNTIL |
пока |
Конец цикла REPEAT |
USES |
используется |
Указатель используемых модулей |
VAR |
переменная |
Идентификатор раздела переменных, группы параметров переменных |
WHILE |
пока |
Начало цикла WHILE |
WITH |
с |
Начало оператора над записям |
XOR |
исключающее |
Логическая операция ИСКЛЮЧАЮЩЕЕ ИЛИ |