Подпрограммы. Функции (Turbo Pascal 7.0)

Лекции по предмету «Программирование»
Информация о работе
  • Тема: Подпрограммы. Функции (Turbo Pascal 7.0)
  • Количество скачиваний: 1
  • Тип: Лекции
  • Предмет: Программирование
  • Количество страниц: 2
  • Язык работы: Русский язык
  • Дата загрузки: 2014-05-19 18:58:04
  • Размер файла: 13.12 кб
Помогла работа? Поделись ссылкой
Информация о документе

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

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:

Подпрограммы.

Функции

Функции, это такие подпрограммы, результатом которых обязательно является некоторое значение. Описание функции во многом совпадает с описанием процедуры. Но если имя процедуры используется только для её вызова, то с именем функции, кроме того, связывается её результат.
Отличия в описании функций
В описании функции заголовок выглядит следующим образом:
Function Имя (Список формальных параметров): Тип результата;
Как и у процедуры заголовок функции обязателен. Например:
function Chr (X: Byte): Char;
function Odd (X: Longint): Boolean;
function GetX: Integer;
function KeyPressed: Boolean;
Функция предполагает обязательную передачу информации из подпрограммы в программу через имя функции. Поэтому раздел операторов обязательно должен содержать хотя бы один оператор, в котором имени функции присваивается значение результата. В противном случае функция не возвратит результат (вернее возвратит произвольный результат).
Для примера рассмотрим две программы вычисления суммы двух чисел, в которых задача решена в первом случае с помощью процедуры, а во втором - с помощью функции:
Пример 1
--------
PROGRAM Ex_27_1;
USES Crt;
VAR x,y,rez: real;

Procedure Summa (var s: real; a,b: real);
Begin
s:=a+b;
End;

BEGIN
ClrScr;
Write (Введите два числа: ); Readln (x,y);
{Вычисление с помощью процедуры}
Summa (rez,x,y); Writeln (Сумма = ,rez);
Repeat Until KeyPressed;
END.

Пример 2
--------
PROGRAM Ex_27_1;
USES Crt;
VAR x,y,rez: real;

Function Sum (a,b: real): real;
Begin
Sum:=a+b;
End;

BEGIN
ClrScr;
Write (Введите два числа: ); Readln (x,y);
{Вычисление с помощью функции}
rez:=Sum (x,y); Writeln (Сумма = ,rez);
{Непосредственное использование функции в выражениях}
Writeln (Сумма = ,sum (x,y));
Repeat Until KeyPressed;
END.
Как видете, вызов функции в программе тоже отличается от вызова процедуры. Вызов процедуры всегда представляет собой самостоятельный оператор. Функция не может быть самостоятельным оператором. Вызов функции производится:
1. в различных выражениях;
2. только справа от знака присваивания;
3. как элемент вывода в операторе вывода информации.
По способу передачи данных имя функции можно характеризовать как параметр четвёртой категории. С его помощью производится передача информации только в одном направлении, - от подпрограммы к программе. Но собственно параметром (формальным или фактическим) функция не является. Скорее функция похожа на переменную, значение которой зависит только от параметров функции и доступно только для чтения при непосредственном обращении.
Процедура или функция?
Оформлять некоторую программу как функцию целесообразно только в том случае, если ожидается некоторый результат её работы. Если же последовательность команд ориентирована только на выполнение некоторой последовательности действий (вывод на экран, рисование и т.д.), лучше оформить её как процедуру.
Контрольные вопросы