Цель: научиться составлять программы решения задач с использованием процедур.
Теоретические сведения:
В языке Паскаль имеется два вида подпрограмм - процедуры и функции.
Структура описания процедур до некоторой степени похожа на структуру Паскаль-программы: у них также имеются заголовок, раздел описаний и исполняемая часть. Раздел описаний содержит те же подразделы, что и раздел описаний программы: описания констант, типов, меток, процедур, функций, переменных. Исполняемая часть содержит собственно операторы процедур. Одна и та же подпрограмма может вызываться неоднократно, выполняя одни и те же действия с разными наборами входных данных. Параметры, использующиеся при записи текста подпрограммы в разделе описаний, называют формальными, а те, что используются при ее вызове - фактическими.
Формат описания процедуры имеет вид:
procedure имя процедуры (формальные параметры);
раздел описаний процедуры
begin
исполняемая часть процедуры
end;
Вызов процедуры производится оператором, имеющим следующий формат:
|
|
имя процедуры (список фактических параметров);
При вызове фактические параметры как бы подставляются вместо формальных, стоящих на тех же местах в заголовке. В стандарте языка Паскаль передача параметров может производиться двумя способами - по значению и по ссылке. Параметры, передаваемые по значению, называют параметрами-значениями, передаваемые по ссылке - параметрами-переменными. Последние отличаются тем, что в заголовке процедуры (функции) перед ними ставится служебное слово var. При первом способе (передача по значению) значения фактических параметров копируются в соответствующие формальные параметры. При изменении этих значений в ходе выполнения процедуры (функции) исходные данные (фактические параметры) измениться не могут. При втором способе (передача по ссылке) все изменения, происходящие в теле процедуры (функции) с формальными параметрами, приводят к немедленным аналогичным изменениям соответствующих им фактических параметров.
Имена, описанные в заголовке или разделе описаний процедуры называют локальными для этого блока. Имена, описанные в блоке, соответствующем всей программе, называют глобальными.
Порядок выполнения работы:
1) Запустите программу Turbo Pascal.
2) Напишите программу, состоящую из трех процедур и основной программы. Первая процедура организует ввод двух целых чисел X и Y, вторая проверяет их сумму, третья выводит результат. Используйте эти процедуры в основной программе. Используйте X и Y как глобальные переменные. Откомпилируйте программу. Проверьте правильность решения задачи.
|
|
3) Найти площадь десятиугольника, вершины которого имеют координаты(x1,y1), (x2,y2), (x3,y3) … (x10,y10).
Откомпилируйте программу. Проверьте правильность решения задачи на любом примере.
4) Вычислить разность двух простых дробей: a/b-c/d (a, b, с, d — натуральные числа). Результат получить в виде простой несократимой дроби e/f.
Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.
5) Вычислить
Оформить вычисление суммы в виде подпрограмм. Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.
6) Дан одномерный массив, состоящий из 10 элементов. Используя процедуру, найдите максимальный и минимальный элементы этого массива.
Откомпилируйте программу. Проверьте правильность решения задачи на конкретном примере.
7) Запишите полученные результаты в тетрадь. Оформите отчет о проделанной работе, который должен содержать тему, цель работы, формулировки задач с решениями.
8) Выйдите из программы Turbo Pascal.
Лабораторная работа № 12