- •Лабораторный практикум
- •Лабораторный практикум
- •Содержание
- •Введение
- •61002, Харків, вул. Фрунзе, 21.
- •61002, Харків, вул. Фрунзе, 21.
- •Порядок выполнения работы
- •Теоретические сведения
- •Пример решения задачи
- •Индивидуальные задания
- •Порядок выполнения работы
- •Теоретические сведения
- •Пример решения задачи
- •Индивидуальные задания
- •Порядок выполнения работы
- •Теоретические сведения
- •Пример решения задачи
- •Индивидуальные задания
- •Порядок выполнения работы
- •Теоретические сведения
- •Пример решения задачи
- •Примеры решения задач
- •Индивидуальные задания
- •Порядок выполнения работы
- •Теоретические сведения
- •Пример решения задачи
- •Примеры решения задач
- •Индивидуальные задания
- •Константы цвета
- •Порядок выполнения работы
- •Теоретические сведения
- •Пример решения задачи
- •Примеры решения задач
- •Индивидуальные задания
- •Порядок выполнения работы
- •Теоретические сведения
- •Пример решения задачи
- •Текст программы
- •Примеры решения задач
- •Индивидуальные задания
- •Порядок выполнения работы
- •Теоретические сведения
- •Пример решения задачи
- •Текст программы
- •Примеры решения задач
- •Индивидуальные задания
Константы цвета
|
Константа |
Цвет |
|
0 |
Черный |
|
1 |
Синий |
|
2 |
Зеленый |
|
3 |
Голубой |
|
4 |
Красный |
|
5 |
Пурпурный |
|
6 |
Коричневый |
|
7 |
Светло-серый |
|
8 |
Темно-серый |
|
9 |
Светло-синий |
|
10 |
Светло-зеленый |
|
11 |
Светло-голубой |
|
12 |
Светло-красный |
|
13 |
Светло-пурпурный |
|
14 |
Желтый |
|
15 |
Белый |
ЛАБОРАТОРНАЯ РАБОТА 6
Тема работы: Процедуры и функции в языке Турбо Паскаль.
Цель работы: Приобретение и закрепление практических навыков в составлении программ на языке Паскаль с использованием процедур и функций.
Порядок выполнения работы
Выберите метод решения задачи.
Выберите стандартные функции, необходимые для решения задачи.
Выберите точность и форму представления данных.
Для обмена данными между подпрограммами используйте аппарат фактических и формальных параметров, глобальных и локальных параметров.
При написании программы в обязательном порядке использовать:
процедуры;
функции;
параметры – значения;
параметры – переменные;
Разработайте алгоритм решения задачи. Для ввода данных используйте диалоговый режим . Результат решения задачи выведите на экран дисплея.
Теоретические сведения
Процедуры и функции
Процедуры и функции аналогичны программам в миниатюре и имеют общее название – подпрограммы.
Применение подпрограмм дает возможность уменьшать число повторений одной и той же последовательности операторов, а также конструировать программу как набор отдельных подпрограмм.
В программе описание процедур и функций должно располагаться между разделами переменных и операторов.
Каждая процедура или функция определяется только один раз, но может использоваться многократно.
Структура процедур и функций аналогична структуре полной программы на языке Паскаль. То есть в них может быть описаны собственные метки, константы, типы, собственные переменные и даже собственные процедуры и функции. Внутренние описания должны следовать в том же порядке, что и разделы основной программы.
Описание процедуры
Описание каждой процедуры начинается с заголовка, в котором задаются имя процедуры и список формальных параметров с указанием их типов. Процедура может быть и без параметров, тогда в заголовке указывается только ее имя
С помощью параметров осуществляется передача исходных данных в процедуру, а также передача результатов работы обратно в вызывающую программу.
Общая форма записи заголовка процедуры
PROCEDURE < имя >( < список формальных параметров > ) ;
Пример:
PROCEDURE REVERSE ( A , B : INTEGER ) ;
Список формальных параметров может включать в себя параметры – значения, параметры – переменные (перед ними должно стоять служебное слово VAR), параметры – процедуры (перед ними должно стоять служебное слово PROCEDURE) и параметры – функции (перед ними должно стоять служебное слово FUNCTION).
После заголовка процедуры следуют разделы в том же порядке, что и в программе.
Вызов и выполнение процедуры осуществляется при помощи оператора процедуры:
< имя процедуры > ( <список фактических параметров >) ;
Пример:
Процедура печати двух целых чисел в обратном порядке.
Текст процедуры :
PROCEDURE REVERSE ( A , B : INTEGER ) ;
BEGIN
WRITELN(B:3, A:3);
END;
Обращение к процедуре :
X := 1 ; Y := 100 ;
REVERSE( X, Y ) ;
REVERSE( 5, 4 ) ;
REVERSE( 5*X, 4*Y ) ;
Между формальными и фактическими параметрами должно быть полное соответствие, т.е. формальных и фактических параметров должно быть одинаковое количество. Порядок следования формальных и фактических параметров должен быть один и тот же. Тип каждого фактического параметра должен совпадать с типом соответствующего ему формального параметра.
При вызове процедуры сначала передаются параметры. Параметры, через которые в процедуру передаются исходные данные, передаются по значению, а параметры-переменные передаются по ссылке.
Процедуры возвращают результат в основную программу не только при помощи параметров-переменных, но и непосредственно изменяя глобальные параметры.
|
Переменные, описанные в основной программе, являются глобальными по отношению к внутренним процедурам и функциям. |
|
Переменные, описанные внутри процедур и функций называются локальными. |
В языке Паскаль допускается любой уровень вложенности процедур и функций. Например: процедура, описанная в основной программе в свою очередь имеет описания внутренних процедур или функций и т.д.
Форма процедуры
PROCEDURE имя (список параметров) ;
Объявление локальных переменных (констант) ;
Определение процедур и (или) функций ;
BEGIN ;
Тело процедуры
END ;
4.3. Описание функции.
4.3.1. Указатель функции.
Описание функции в основном аналогично описанию процедуры. Однако имеются некоторые отличия. Результатом работы функции является одно скалярное значение или одно значение ссылочного типа. Тип результата задается в заголовке функции, общий вид которого:
FUNCTION < имя > (< список формальных параметров >) :
< тип результата > ;
|
Среди входящих в функцию операторов должен обязательно присутствовать хотя - бы один оператор присваивания, в левой части которого стоит имя данной функции. |
Этот оператор и определяет значение, вырабатываемое функцией.
Вызов и выполнение функции производится при вычислении значения указателя функции, который входит в некоторое выражение.
После выполнения функции, выработанный ею результат используется в качестве значения указателя функции в том выражении, в которое входит этот указатель.
При вызове функции передача фактических параметров производится так же, как и при вызове процедуры.
Пример 1 :
Функция для вычисления площади круга по диаметру.
FUNCTION CIRCLE ( D : REAL ) : REAL ;
CONST PI = 3.1415926 ;
BEGIN
CIRCLE := PI * SQR(D) / 4.0 ;
END ;
Ее вызов :
A := CIRCLE (6.5) ;
WRITELN( A : 8 : 2 ) ;
Пример 2 :
Функция, вычисляющая площадь прямоугольника.
(Ее параметры - длины сторон).
FUNCTION RECTANGLE ( B , D : REAL ) : REAL ;
BEGIN
RECTANGLE := B * D ;
END ;
Ее вызов :
X := 3.6 ; Y :=4.8 ;
A := RECTANGLE ( X , Y ) ;
WRITELN( A : 6 : 2 ) ;
