Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - Лабораторні роботи.doc
Скачиваний:
16
Добавлен:
25.04.2019
Размер:
2.12 Mб
Скачать

Реакція еом:

Введіть значення змінних t, s

1.3 0.8

Результат

d= 3.50

В процедурі: а, в і с - вхідні параметри, їхні значення передаються з основної програми в цю процедуру. Результатами процедури (вихідними параметрами) є максимальне значення, що передається з процедури в основну програму і там використовується.

У загальному випадку процедури можуть містити один чи кілька вхідних і вихідних параметрів, або взагалі не мати їх. Виклик процедури в основній програмі має форму:

Ім'я процедури (фактичні параметри);

Ті з фактичних параметрів, що передаються в процедуру, можуть бути перемінними, чи константами вираженнями.

1.2 Організація програм, що містять підпрограми, процедури - функції

Відомо, що функції користувача, як і процедури, являють собою відносно самостійні фрагменти Pascal-програми, оформлені особливим чином, та мають свої імена. Згадка цього імені у тексті програми називається викликом функції користувача.

Різниця між функцією то процедурою полягає в тому, що функція повертає результат. Результатом виконання операторів, що утворюють тіло функції, завжди є єдиним значенням того чи іншого типу, тому звертання до функції можна використовувати в арифметичних виразах поряд зі змінними та константами. Тобто виклик функції користувача виконується простим записом її імені в арифметичному виразі.

Функція користувача, як і процедура, являє собою інструмент, за допомогою якого будь-яка Pascal-програма може бути поділеною на ряд незалежних одна ви одної частин. Таке розбиття необхідне з двох причин. По-перше, це засіб економії пам'яті - кожна функція користувача існує в Р-програми в єдиному екземплярі, у той час як звертатися до неї можна багаторазово з різних точок програми. Під час виклику функції користувача активізується послідовність операторів, які її повторюють, а за допомогою переданих їй параметрів модифікується її алгоритм.

Процес поділення Р-програми - це творчий процес, що проходить у декілька етапів. Спочатку проробляють найбільш загальний, генеральний алгоритм, не зупиняючись на технічних деталях його реалізації. Така розробка алгоритму подається у вигляді послідовності відносно великих частин програми (блоків), які реалізують більш-менш самостійні смислові частини алгоритму Блоки, у свою чергу, можуть розбиватися на менші під блоки, а ті. в свою чергу - на блоки нижнього рівня тощо.

Процес послідовного структурування Р-програми продовжується доти, поки блоки, що реалізують алгоритм, не стануть простими та легко програмованими.

Перевага такого низхідного програмування очевидна: блоки підвищують надійність Р-програми (кожен блок можна реалізувати незалежно від інших та автономно його тестувати), полегшують її розуміння та дозволяють вести розробку Р-програми колективом програмістів.

Наведемо основні особливості функції користувача.

1) Вона має тільки один результат виконання (але може мати декілька вхідних параметрів).

2) Результат позначається іменем функції і передається в P-програму, яка її викликала.

Функція користувача має вигляд:

Function [ім'я] (формальні вхідні параметри; var вихідні параметри): тип;

Розділ описів (починається ключовим словом „var”) BEGIN

Розділ операторів

Викликається функція її іменем при наявності фактичних параметрів. При цьому виклик функції користувача можна робити безпосередньо в арифметичному виразі.

Область дії імен

Імена, оголошені в розділі опису основної програми, діють у розділі операторів основної програми й у будь-якій підпрограмі (процедурі чи функції). Ці імена називаються глобальними. Імена, оголошені в підпрограмі, у тому числі і формальні параметри, діють тільки в цій підпрограмі й у будь-якій оголошеній, у ній чи процедурі функції. Такі імена називаються локальними. Вони недоступні для операторів основної програми. Формальні параметри являють собою список перемінних з вказівкою їхнього типу.

Для виділення вихідних параметрів перед ними ставиться слово Var.

Приклад оформлення програми що містить процедуру:

Утворити блок-схему алгоритму, програму, що містить програму та підпрограму (функцію) для обчислення значення функції:

Складемо блок -схему алгоритму:

{Підпрограма Користувача FUNCTION}

Program myProgram;

var

a,b,c,d,x,y,v,z:real;

Function F1(p,q,s: real) : real;

begin

F1:=Sqrt(Abs(p*q+s));

end;

Begin

writeln('Введіть значення змінних a,b,c,d,x,y,v ');

read(a,b,c,d,x,y,v);

z:=Ln(F1(a+c,v,-(b+d))) / (F1(a,x,b)*F1(c,y,d));

writeln('Результат');

writeln('начення функції Z=',z:6:2);

End.