Методические рекомендации по решению задач с использованием функций

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

В Паскале подпрограмма является частью основной программы, ее описание располагается между разделом var главной программы и ее программным блоком (первым begin). Подпрограмм может быть несколько, их описания располагаются в произвольном порядке одно за другим.

Подпрограмма – это специальным образом оформленный алгоритм, который может многократно использоваться при решении более общей задачи.

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

Функция - это последовательность операторов, имеющая имя и результат.

Обрабатывает данные, предназначенные ей из главной программы, и затем возвращает полученный результат.

Функция называется с помощью указателя. Указатель – это имя функции, после которого в круглых скобках перечисляются аргументы функции.

Функции Pascal можно разделить на три группы:

· стандартные функции (abs(x), sqrt(x), sqr(x), sin(x), cos(x), и т.д.);

· собственные разработанные функции;

· библиотечные функции (стандартные библиотечные модули).

Рассмотрим подробнее собственные функции.

Описание функции состоит из заголовка и тела. Заголовок содержит служебное слово function, имя функции, список формальных параметров с указанием их типа и типа возвращаемого результата:

Function <имя функции> (<список формальных параметров>): <тип>.

Тип- это возвращаемая функция значения.

Функции могут возвращать значение целого, вещественного, логического и символьного типа. Например:

function tan (x: real):real; function max (x, y: integer): integer;

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

<имя функции> (<список фактических параметров>);

В теле функции всегда должен быть один оператор, присваивающий значение имени функции. Например: y:= tan (x); t:= max (a, b).

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

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

Для правильного определения области действия переменных необходимо придерживаться следующих правил:

· каждая переменная должна быть описана перед тем, как она будет использована;

· областью действия переменной является та подпрограмма, в которой она описана;

· все переменные в подпрограммах должны быть уникальными;

· одна и та же переменная может быть по-разному определена в каждой из подпрограмм;

· если имя подпрограммы совпадает с названием стандартной подпрограммы, то последняя игнорируется, а выполняется подпрограмма пользователя;

· если внутри какой-либо процедуры встречается переменная с таким же именам, что и глобальная переменная, то внутри процедуры будет действовать локальное описание;

· каждая подпрограмма может изменить значение глобальной переменной.

А сейчас рассмотрим пример использования функции.

Задача: Составьте программу вычисления тангенса двух углов.

Решение:

1. Анализ условия задачи.

a. Значения углов и результат это переменные действительного типа данных.

b. Из курса математики известно, что tan (a) = sin (a) / cos (a), sin (a) и cos (a) – это стандартные функции Pascal ABC.

2. Разработка словесного алгоритма (математической модели).

Используя формулу нахождения тангенса, выносим tan (a) = sin (a) / cos (a) в отдельную функцию. Считываем значение двух углов. Вызываем функцию для 1-го и 2-го угла. Выводим результат

3. Графическое изображение решения задачи (блок-схема).

 

Блок схема функции.

tan:= y
выход tan (x)
tan (x)

 

 

Блок схема основной программы

начало
ведите 2  числа
a, b
c:= tan(a);
d:= tan(b)
с, d
конец

 


4. Разработка программного кода.

Листинг программы:

Program pr_1;

function tan(x: real): real;{описание функции}

 


Var

  y: real;

 

Begin

 

  y:= sin(x) / cos(x); {тело функции}

 

tan:= y;

 

end;

 

Var

  a, b, c, d: real;

 

Begin

 

  Writeln('ведите 2 числа');

 

Readln(a, b);

 

c:= tan(a);          {обращение к функции}

 

d:= tan(b);

 

Writeln('тангенс углa ', 'a', '=', c);

Writeln('тангенс углa ', 'b', '=', d);

 

end.

5. Отладка и компиляция.

Осуществляется нажатием клавиши F9.

6. Запуск программы на исполнение.

Выполняется нажатием комбинации клавиш Ctrl-F9.

Просмотр результата выполнения программы Отладка Мой экран. Выход – нажатие любой клавиши.

Таким образом, процесс выполнения задачи на компьютере включает ряд обязательных этапов: набор текста программы и запись его в именованный файл на диске; компиляция программы с обнаружением и исправлением синтаксических ошибок; тестирование; устранение семантических и алгоритмических ошибок; непосредственное выполнение программы с заданием реальных значений и получением результатов. Максимальные удобства для подготовки и отладки программ при программировании на Паскале предоставляет специальная интегрированная среда (совокупность взаимосвязанных сервисных программных средств, обеспечивающих всестороннюю поддержку процесса разработки программ). Умелое использование возможностей среды позволяет значительно упростить этапы проектирования, тестирования и отладки программ.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: