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

Лабораторна робота №9 Тема роботи: “ Організація програм, що містять процедури та функції ”

Мета роботи: дати навички студентам розв’язувати задачі з використанням функцій та процедур.

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

Рекомендована література.

  1. Жалдак М.І., Рамський Ю.С. Інформатика: навч. Посібник.-К.: Вища шк.,1991 стр.233-237.

  2. Вычислительная техника и программирование: Учеб. Для техн. вузов/ А.В. Петров, В.Е. Алексеев, А.С. Ваулин и др.; Под редакцией А.В. Петрова.- М.: Высш. Шк. 1990.-стр.233-234.

  3. Епанешников, В. Епанешников Программирование в среде Turbo Pascal 7.0.-М.: «Диагог-МИФИ», 1993, стр.28-31.

  4. ФароновВ.В. Турбо Паскаль 7.0. Учебное пособие. В 2-х книгах -М.: «Нолидж», 1997, т.1. стр. 278-286.

  5. Марченко А.И., Марченко Л.А. Программирование в среде Turbo Pascal 7/0. К.: Юниор, 1997. Стр.216-220.

1 Теоретичні положення

1.1 Організація програм, що містять підпрограми (процедури)

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

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

Рисунок 1 - Класифікація підпрограм

У мові Турбо-Паскаль виділяють два види підпрограм: процедури (Procedure) і функції (Function). Будь-яка програма може містити кілька процедур і функцій. Процедури і функції з'являються в розділі опису слідом за розділом змінних.

Будь-яка процедура оформляється аналогічно програмі, тобто містить заголовок, розділ описів і розділ операторів:

PROCEDURE [ім' процедури] (формальні вхідні параметри; var вихідні параметри);

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

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

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

У заголовку вказується службове слово PROCEDURE, далі йде ім'я процедури і параметри, що називаються формальними. Допускається використання процедур без параметрів. Розділ описів процедури, подібно основній програмі, складається з розділів міток, констант, типів, змінних і, у свою чергу, процедур і функцій. Розділ операторів заключається в дужки BEGIN...END, причому після END, на відміну від основної програми, ставиться крапка з комою. Виконання програми починається з операторів основної програми. Як тільки з'вляється необхідність виконати дію процедури, вона викликається по її імені і починає виконуватися. Дані з основної програми передаються в процедуру (вхідні параметри). Після виконання процедури її результати (вихідні параметри) передаються в основну програму. Потім продовжує виконуватися основна програма з оператора, наступного за викликом процедури.

Program UIPA;

Розділ описів глобальних змінних

Procedure P1;

Розділ описів процедури P1

Begin

Розділ операторів процедури P1

End;

Procedure P2;

Розділ описів процедури Р2

Begin

Розділ операторів процедури Р2

End;

BEGIN

Розділ операторів основної програми

END.

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

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

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

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

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

D = max(t,-2s,1.17) + max(2.2, t, s - t), ДЄ t=1.3, s=0.8

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

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

Program myProgram;

var

t,s,d,m : real;

procedure Max1(a,b,c : real;

var f : real);

begin

f := a;

if b > a then f := b;

if c > a then f := c; end;

Begin

writeln('BeAiTb значення змінних t,s'); read(t,s);

Max1(t, -2*s, 1.17, m); d := m;

Max1(2.2, t, s - t, m);

d := d + m;

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

writeln('d=',d:6:2);

End.