Тема: Створення та використання програм, що містять підпрограми-процедури.
Мета:Уміти створювати і опрацьовувати програми , що містять підпрограми-процедури.
Теоретичні відомості
Процедура – це незалежна іменована частина програми, яку можна викликати з будь-якого місця програми для виконання певних дій. Щоб процедури працювали їх треба описати в розділі описів і викликати в розділі операторів. Опис процедури розміщують після описання змінних перед begin основної програми. Структура тіла процедури аналогічна структурі програми, тобто містить опис міток, констант, типів, змінних, а також розділ операторів:
procedure <ім’я>;
const…;
type…;
var…;
beqin
<оператори>
end;
Розглянемо як приклад процедуру обчислення дискримінанта квадратного рівняння:
Procedure Discr (A,B,D: real);
Beqin
D:=B*B-4*A*C;
end;
До процедури звертаються з розділу команд основної програми, або іншої підпрограми. Процедуру викликають за допомогою команди Виклику:
Параметри, які записують у команді виклику називаються фактичними, а параметри, які записуються в описі процедури називаються формальними. Між фактичними і формальними параметрами має бути відповідність за кількістю і типами, імена можуть бути різними.
Змінні, описані в розділі описів основної програми називаються глобальними. Вони діють у всій програмі включаючи підпрограми. Змінні описані в розділі описів окремої процедури називаються локальними. Вони діють тільки в межах даної процедури. Складемо програму обчислення виразів F1=sh2x+chx і F2=shx+sh2x з використанням процедури розрахунку гіперболічних функцій:
proqram Hyperbolic;
var
X: real;
Cx, Sx, F1, F2: real;
procedure Hpb (Y: real; var Ch:real);
begin
Y:=Exp (Y);
Ch:=(Y+1/Y) /2;
Ch:=(Y)
Хід роботи
1.Створити програму, яка демонструє роботу банку. Банк виплачує 10% річних. Визначити в яку суму перетвориться вклад величиною покладений на п років.
2.Син запропонував матері, що він буде мити посуд кожного дня з умовою, що за миття в перший день вона йому дасть копійку, а кожен наступний день в двічі більше, ніж в попередній. Створити програму, яка підрахує суму, яку отримає син в 30-тий день.
3.Вчитель садить писати контрольну роботу студентів з такою умовою, щоб вони не списували знаючи, що Василь не спише у Насті, Віки і Надії; Петро не спише у Віки і у Люби, Максим не спише у Наталі і Наді, А Дмитро – у Наді і Люби. Створити програму, яка покаже як розсадити вчителю учнів всіма можливими способами, щоб не списували.
Контрольні питання
1.Що називається підпрограмою в Турбо Паскаль?
2.Як оформляється процедура в Турбо Паскаль?
3.Що таке глобальні параметри? (змінні).
4.Що таке локальні параметри?
5.Назвіть правила відповідності між локальними і глобальними змінними.
6.На які етапи можна розбити виконання функції?
7.Чим відрізняється робота процедури від роботи функції?
8.Коли варто використовувати процедуру, а коли – функцію?