Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум Информатика.doc
Скачиваний:
31
Добавлен:
01.02.2015
Размер:
609.28 Кб
Скачать

Константы цвета

Константа

Цвет

0

Черный

1

Синий

2

Зеленый

3

Голубой

4

Красный

5

Пурпурный

6

Коричневый

7

Светло-серый

8

Темно-серый

9

Светло-синий

10

Светло-зеленый

11

Светло-голубой

12

Светло-красный

13

Светло-пурпурный

14

Желтый

15

Белый

ЛАБОРАТОРНАЯ РАБОТА 6

Тема работы: Процедуры и функции в языке Турбо Паскаль.

Цель работы: Приобретение и закрепление практических навыков в составлении программ на языке Паскаль с использованием процедур и функций.

Порядок выполнения работы

  1. Выберите метод решения задачи.

  2. Выберите стандартные функции, необходимые для решения задачи.

  3. Выберите точность и форму представления данных.

  4. Для обмена данными между подпрограммами используйте аппарат фактических и формальных параметров, глобальных и локальных параметров.

  5. При написании программы в обязательном порядке использовать:

  • процедуры;

  • функции;

  • параметры – значения;

  • параметры – переменные;

  1. Разработайте алгоритм решения задачи. Для ввода данных используйте диалоговый режим . Результат решения задачи выведите на экран дисплея.

Теоретические сведения

Процедуры и функции

Процедуры и функции аналогичны программам в миниатюре и имеют общее название – подпрограммы.

Применение подпрограмм дает возможность уменьшать число повторений одной и той же последовательности операторов, а также конструировать программу как набор отдельных подпрограмм.

В программе описание процедур и функций должно располагаться между разделами переменных и операторов.

Каждая процедура или функция определяется только один раз, но может использоваться многократно.

Структура процедур и функций аналогична структуре полной программы на языке Паскаль. То есть в них может быть описаны собственные метки, константы, типы, собственные переменные и даже собственные процедуры и функции. Внутренние описания должны следовать в том же порядке, что и разделы основной программы.

Описание процедуры

Описание каждой процедуры начинается с заголовка, в котором задаются имя процедуры и список формальных параметров с указанием их типов. Процедура может быть и без параметров, тогда в заголовке указывается только ее имя

С помощью параметров осуществляется передача исходных данных в процедуру, а также передача результатов работы обратно в вызывающую программу.

Общая форма записи заголовка процедуры

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 ) ;