Лекція Р 8


Скачати 58.38 Kb.
НазваЛекція Р 8
Дата24.12.2013
Розмір58.38 Kb.
ТипЛекція




Лекція Р_8

Процедури та функції



Мета: Ознайомити студентів з поняттям процедур та функцій, розглянути використання процедур та функцій при створенні різноманітних програм
План

  1. Процедури

    1. Процедури без параметрів

    2. Процедури з параметрами

    3. Параметри-значення і параметри-змінні в процедурах

  2. Функції

  3. Створення програм із використанням звернень до підпрограм


1. Процедури. Підпрограмою — називається найменована логічно закінчена група вказівок, яку можна викликати для виконання довільну кількість раз з різних місць програми.

Процедура це незалежна найменована частина програми, призначена для виконання конкретних дій.

Процедура складається із заголовка і тіла. Це — нібито програма в мініатюрі. Коли процедура виконає своє завдання, програма продовжить виконуватися з вказівки, яка слідує безпо­середньо за вказівкою виклику процедури. Використання імені процедури в програмі називається вказівкою процедури або вик­ликом процедури.

Формат запису процедури:

procedure <ім'я процедури>;

<тіло процедури>;
1.1. Процедури без параметрів. Використання процедур дає можливість зробити програму більш наочною, спростити роз­робку великих програм тощо.

Так, наприклад, програму знаходження об'єму конуса можна розбити на декілька процедур:

1) procedure InputDate;

2) procedure Vkazivka;

3) procedure OutputDate.

Procedure InputDate - виконує введення даних в програму.

Procedure Vkazivka - виконує вказівки для знаходження об'єму конуса.

Procedure OutputDate - виконує виведення даних на дисплей.

Всі змінні, які використовуються в процедурах без параметрів, описуються в основній програмі.

Задача. Скласти програму знаходження об'єму конуса.

Program Vkonus;

Const P=3.14;

Var R, H, V :real;
procedure InputDate;

begin write('r=');

readln(R);

write('h=');

readln(H);

end;
procedure Vkazivka;

begin

V:=P*Sqr(R)*H/3;

end;

procedure OutputDate;

begin

writeln('V=',V);

end;

begin {Основна програма}

InputDate;

Vkazivka;

OutputDate;

end.
1.2. Процедури з параметрами. В процедурі можна оголошувати константи, змінні, інші про­цедури і функції. Розділ опису в процедурах має таку саму структуру, як і в основній програмі.

Оголошені всередині процедури змінні називаються локаль­ними по відношенню до даної процедури. Локальні змінні не доступні поза межами даної процедури. Зміни, які відбуваються з локальними змінними всередині процедури, не впливають на значення змінних з такими самими іменами, які описані поза даною процедурою.

Змінні, які використовуються в процедурі, але описані поза нею, називаються глобальними по відношенню до даної проце­дури. Будь-які зміни значень глобальних змінних всередині про­цедури змінюють значення цих змінних поза процедурою.

Змінна А в основній програмі належить до цілого типу, але в процедурі LOKAL є своя власна

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

ім'я програми.ім'я змінної

ім'я програми — ім'я програми, яке вказано в заголовку про­грами "program ..."

ім'я змінної— ідентифікатор змінної, вказаний в розділі опису змінних — "var ...."
1.3. Паметри-значення і параметри-змінні в процедурах

Параметри-значення

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

Формат запису процедури:

procedure ім'я процедури (ім'я змінної:тип змінної);

тіло процедури;

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


151

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

Program PARAMETR;

Var C, D : integer;
procedure PARAM(A, B: integer);

var S: integer;

begin

S:=0;

S:=A+B;

writeln('s=',S)

end;
begin

C:=10;

D:=100;

param(C,D); { 1-ий спосіб }

param(100,100) { 2-ий спосіб }

end.

Змінні А і В — це формальні параметри. Змінні С і D - фактичні параметри. Значення фактичних параметрів С=10 D=100 передаються формальним параметрам А і В.

Зверніть увагу на те, як двома способами можна викликати процедуру і передати значення змінним.

Такий спосіб передачі параметрів процедурі називається пе­редачею за значенням. При цьому значення фактичного пара­метра робиться доступним для процедури. Його можна викори­стовувати в роботі, змінювати довільним чином. Але ці зміни проявляються тільки в межах процедури, тобто є локальними. Вони не впливають на фактичні параметри поза процедурою.

Параметри-змінні

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

При використанні цього способу заголовок процедури зміню­ється таким чином: перед ідентифікатором формального пара­метра в заголовку процедури вказується службове слово Var.

Змінні, перед якими записане службове слово Var, називаються параметрами-змінними.

При виконанні процедури формальні параметри-змінні замінюються фактичними параметрами. Будь-які зміни значення формаль­ного параметру-змінної приводить до зміни значення фактичного параметру-змінної. За допомогою параметрів-змінних в основну програму передаються результати дії вказівок над даними.
2. Функції

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

Формат опису функції:

function <ім'я функції> (список формальних параметрів):<тип результату>

Звернення до функції (обов'язково повинно бути включене у вираз як операнд) має такий вигляд :

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

Задача. Знайти значення числа комбінацій n!



Знаходження значення факторіалу числа оформимо у вигляді функції. Тоді програма розв'язання даної задачі матиме вигляд:

Program KOMBINACIJ;

var N, M, C: integer;
function FACT(K: integer):integer;

var i, F: integer;

begin

F:=1;

For i:=1 to К do F:=F*i;

FACT:=F;

end;
begin

write('n=');

readln(N);

write('m=');

readln(M);

C:=FACT(N)Div(FACT(M)*FACT(N-M));

writeln('Кількість комбінацій з ',n,' пo ',m,' = ',C );

end.

Зверніть увагу на те, що в самому тілі функції FACT необхідно змінній, ім'я якої співпадає з ім'ям самої функції, присвоїти значення результату виконання функції: FACT:=F.


155




3. Створення програм із використанням звернень до підпрограм

Скласти програму знаходження НСК (найменшого спільного кратного) трьох натуральних чисел а, Ь, с.

Program PROBOTA8;

Var A, B, C, Y, N, S, K: integer;

procedure NSKl (M, N: integer; var pNSK: integer);

begin

pNSK:=M*N;

while M<>N do

If M>N then M:=M-N

else N:=N-M;

pNSK:=pNSK div M;

end;

begin

writeln('Введіть значення трьох чисел a, b, с:');

write('a=');

readln(A);

write('b=');

readln(B);

write('c=');

readln(C);

NSK1(A,B,Y);

NSK1(C,Y,NSK);

writeln('HCK=',NSK);

end.

Схожі:

ЛЕКЦІЯ 3
Лекція: Поняття предмета права промислової власності, коло та характеристика однорідних суспільних відносин
Лекція 7 8
Лекція 7 Українська революція і пошук її зовнішньополітичних орієнтацій. Початки дипломатичної діяльності УНР. (4 год.)
Лекція з курсу «Прикладні програми (Електронні таблиці Excel)»
Лекція Робота з фінансовими функціями. Створення, редагування і форматування графіків і діаграм (2 год.)
Лекція Державна мова мова професійного спілкування
Евфемізм і перифраз у професійному спілкуванні Лекція Риторика і мистецтво презентації
Лекція №1
Лекція № Поняття культури. Античність – джерело європейської культури (2 год.)
Лекція Сутність та види податків. Податкова система і податкова політика 5
Лекція Організація податкової служби і податкової роботи. Система інформаційного забезпечення 11
ЛЕКЦІЯ 2 17 ЛЕКЦІЯ 31 ТЕМА 4 ОБҐРУНТУВАННЯ ГОСПОДАРСЬКИХ РІШЕНЬ ТА ОЦІНЮВАННЯ ЇХ ЕФЕКТИВНОСТІ 49
Вивчення дисципліни передбачає наявність знань з наступних дисциплін: «Теорія ймовірностей та математична статистика», «Теорія статистики»,...
Лекція Інформатизація діяльності інформаційних установ
Лекція Інформатизація діяльності інформаційних установ. Електронний документний фонд як модель управління інформаційними ресурсами....
Лекція: Інтерфейс Microsoft Word 2007: версія для друку і PDA Лекція...
Описані способи роботи з елементами управління : кнопками, списками та ін. Показані можливості налаштування панелі швидкого доступу....
Лекція: Підготовка до друку і друк документу : версія для друку і...
Показана робота з документом в режимі попереднього перегляду перед друком. Вивчаються можливості налаштування друку документу, у...
Додайте кнопку на своєму сайті:
Портал навчання


При копіюванні матеріалу обов'язкове зазначення активного посилання © 2013
звернутися до адміністрації
bibl.com.ua
Головна сторінка