- •Автономная некоммерческая организация высшего профессионального образования «Брянский институт управления и бизнеса»
- •Методические пособие по изучению алгометрического языка pascal
- •Оглавление
- •Введение
- •Глава 1 основные понятия .
- •Алфавит языка.
- •Основные определения языка.
- •Составные части программы.
- •Вопросы для самоконтроля
- •Глава 2 стандартные типы данных
- •Данные целого типа.
- •Вычисление об"ема шара
- •Данные действительного типа.
- •Данные логического типа.
- •Данные символьного типа.
- •`Теплоход``маяк``` или `д``артаньян`
- •Описание констант и переменных.
- •Var_имя переменной: тип;
- •Вопросы для самоконтроля
- •Глава 3 выражения.
- •3.1. Стандартные функции.
- •3.2. Арифметические выражения.
- •3.3. Логические выражения.
- •Вопросы для camokohtpoля
- •Глава 4 основы программирования простых задач.
- •4.1. Оператор присваивания.
- •4.2. Понятие о составном и пустом операторах. Назначение символа точки с запятой.
- •Простейший ввод данных.
- •5 Позиций
- •8 Позиций
- •Примеры программирования простых задач.
- •Вопросы для самоконтроля
- •5.1. Условный оператор.
- •Оператор выбора.
- •Оператор перехода.
- •Go to метка
- •Lавеl метка;
- •Label метка 1, метка 2,…, метка n;
- •5.4.Примеры программирования вычислительных процессов с разветвлениями.
- •Глава 6 организация циклических прцессов.
- •Оператор цикла с предварительным условием.
- •Оператор цикла с последующим условием.
- •Операторы циклической части программы
- •Оператор цикла с параметром.
- •Вложенные циклы.
- •Глава 7 основы ввода и вывода.
- •7.1. Оператор ввода.
- •7.2. Оператор вывода
- •Программирование циклических вычислительных процессов.
- •Вопросы для самоконтроля
- •Глава 8 Переменные типы.
- •Перечислимый тип данных.
- •Var а: (зима, весна, лето, осень);
- •Ограниченный тип данных.
- •Вопросы для самоконтроля
- •Глава 9 Сложный тип данных – массивы.
- •Понятие массива.
- •Var_имя массива: array [t1] of_t2;
- •Тип массива.
- •Упакованные массивы.
- •Понятие многомерных массивов.
- •Глава 10 Сложный тип данных – множества.
- •10.1. Множества в языке Паскаль.
- •Var _имя множества: set_of_ базовый тип;
- •Примеры программирования задач с использованием множества
- •Вопросы для самоконтроля
- •Глава 11 Сложный тип данных – записи.
- •Понятие записи.
- •Оператор присоединения.
- •Вопросы для самоконтроля
- •Глава 12 Подпрограммы.
- •Общие сведения.
- •Процедуры и функции.
- •Вопросы для самоконтроля
- •Глава 13 Файлы
- •13.1. Понятие файла.
- •13.2. Чтение файла.
- •13.3. Запись файла.
- •13.4 Чтение и запись файла
- •Вопросы для самоконтроля
Процедуры и функции.
Процедуры. Любая процедура оформляется аналогично программе т. е. содержит заголовок, разделы описаний и операторов:
PROCEDURE_ имя (формальные параметры);
раздел описаний
BEGIN
раздел операторов
END;
Область действия имен. Имена, объявленные в разделе описания основной программы, действуют в разделе операторов основной программы и в любой подпрограмме (процедуре и функции). Эти имена называются глобальными. Имена, объявленные в подпрограмме, действуют только в этой подпрограмме и в любой объявленной в ней процедуре и функции. Такие имена называются локальными. Они недоступны для операторов основной программы.
Формальные параметры представляют собой список переменных с указанием их типа. Для выделения выходных параметров перед ними ставится слово VAR.
Пример оформления процедуры:
PROCEDURE СУММА(A,B:REAL;VAR Y,Z:REAL);
CONST N=10;
VAR I:INTEGER;
BEGIN
FOR 1:=1 ТО N DO
BEGIN
Y:=A+B*1;
z:=4*Y-1;
END
END;
Здесь А и В — входные параметры, их значения передаются из основной программы в эту процедуру. Результатами процедуры (выходными параметрами) являются вычисленные значения Y и Z, которые передаются из процедуры в основную программу и там могут быть использованы.
В общем случае процедуры могут содержать один или несколько входных и выходных параметров, в том числе один и, в частности, ни одного.
Вызов процедуры в основной программе имеет следующую форму записи:
имя процедуры _ (фактические параметры);
Здесь параметры представляют собой список фактических параметров. Те из них, которые передаются в процедуру, могут быть переменными, константами и выражениями. Параметры, которые получают значения из процедуры, могут быть переменными. Например, рассмотренную процедуру СУММА можно вызвать в основной программе следующим образом:
СУММА (3.5, 7.6, Y1, Z);
Это означает, что числа 3.5 и 7.6 будут передаваться в процедуру формальным параметрам А и В. Так что переменные получат значения А =3.5, В = 7.6 и при этих значения будет выполняться процедура, Значения Y и Z, напротив, передаются из процедуры в основную программу переменным Y1 и Z, где их можно использовать, например,
P: = 2*YI;
WRITE (Z).
Между формальными и фактическими параметрами должно быть соответствие по количеству параметров, порядку их следования и типу данных.
Имена соответствующих формальных и фактических параметров могут быть одинаковыми и различными, например Y и Y1, или Z и Z.
Пример
Функции. Другой вид подпрограммы — функция оформляется аналогично процедуре. Отличительные особенности функции:
она имеет только один результат выполнения (но может иметь несколько входных параметров); результат обозначается именем функции и передается в основную программу.
Функция оформляется в следующем виде:
FUNCTION имя (формальные параметры): тип;
раздел описания
BEGIN
раздел операторов
END;
Вызывается функция по ее имени с указанием фактических параметров. При этом вызов функции можно делать непосредственно внутри выражения.
Пусть требуется найти разность факториалов F=m! — k!. Напомним, что факториал n! представляет собой произведение n чисел натурального ряда: l-2-З-...n.
Вычисление факториала оформим в виде функции:
FUNCTION FACT (N:INTEGER) : REAL;
VAR I: INTEGER;
P: REAL;
BEGIN
P: = l;
FOR I: = 1 TO N DO
P: = P*I;
FACT: = P;
END;
Здесь FACT - имя функции. Результат вычисления факториала обозначается ее именем. Тип функции - действительный. Формальным параметром является переменная целого типа N.
Вызывается функция по своему имени FACT с указанием фактических параметров М и К:
F := FACT(M)-FACT(К)
