Опис свого типу даних.
В основній програмі в розділі опису типів описується структурований тип. Змінні в основній програмі і відповідний формальний параметр в заголовку підпрограми повинні бути змінними цього типу.
Type
тm = array [1....10] оf real;
var
mas: тм;
prоcedure prоc (var mass: тm); {заголовок п/п}
:
:
end;
begin
:
Prоc (mas); {Виклик п/п}
:
end.
2. Використання безтипових змінних.
В заголовку підпрограми не вказується тип параметру-змінної. В підпрограмі в розділі опису типів описується відповідний тип до якого буде приведено безтиповий параметр. Цей тип повинен бути сумісним з типом відповідного переданого параметру.
Var
b1: array [1. .100] оf byte;
b2: array [‘a’. .’z’] оf byte;
prоcedure pr (var b);
type
Tb = array [1....32500] оf byte;
:
:
{Звернення до масиву b в п/п: ТВ(b)[I]}
Tb(b)[i]:=34;
End;
Begin
:
pr(b1);
:
end.
3. Масиви і рядки невизначеної довжини.
В заголовку підпрограми при описі параметру вказується його тип але не вказується його розмір. При використанні масивів значення розміру масиву можна отримати за допомогою функції High(<Ім’я масиву>). Нумерація елементів в масиві буде починатись з 0 (нуля) і закінчуватись значенням функції High(<Ім’я масиву>)-1
Function Sum(var X: array of Real): Real;
Var
I: Word;
S: Real;
Begin
S := 0;
For I := 0 to High(X)-1 do
S := S + X[I];
Sum := S;
End;
Розробка програм з використанням підпрограм.
Приклад 1. Для трьох введених цілих чисел знайти їх середнє арифметичне. Знаходження середнього арифметичного оформити у вигляді процедури.
В процедурі повинно визначатись значення і повертатись в програму, що викликала процедуру. Це значення повертається за допомогою формального параметру- змінної.
|
Приклад 2. Для трьох введених цілих чисел знайти їх середнє арифметичне. Знаходження середнього арифметичного оформити у вигляді функції.
|
Приклад 1 і приклад 2 демонструють використання процедури і функції для одного завдання для порівняння. В даному випадку ефективніше використовувати функцію.
Приклад 3. Знайти кількість сполучень з використанням функції:
Сполучення обчислюються за формулою Очевидно, що визначення факторіалу повторюється, тому його визначення необхідно винести в підпрограму, а саме функцію тому, що результатом буде одне просте значення.
| |||||
Завдання для самоперевірки.
1. Чим вiдрiзняється процедура вiд функцiї
2. Записати заголовок для функцiї, що приймає 2 аргументи цiлого типу i повертає результат дійсного типу
3. Записати заголовок для функцiї, що приймає масив 10 елементiв цiлого типу i повертає результат цілого типу
4. Записати заголовок для функцiї, яка отримує в якостi параметра 2 цiлих значення і повертає значення цілого типу
5. Записати заголовок процедури, яка отримує в якостi параметра 2 цiлих значення і повертає значення цілого типу
6. Перелічити типи формальних параметрiв.
7. Розробити програму, яка формує три масиви різного розміру (але не більше 50 елементів) цілих значень. Знайти середнє арифметичне всіх значень з 3-х масивів.
8. Розробити програму, яка формує два строкових масиви даних різного розміру (але не більше 30 елементів) і знаходить найдовше значення.
Модулі Pascal
1) Визначення модуля
2) Структура модуля
3) Створення модуля.
4) Підключення модуля.
5) Модуль CRT
6) Модуль DOS
Модульність - це властивість системи, яка може бути поділена незалежні частини. Кожна з частин призначена для виконання конкретної дії.
Модуль не може самостійно виконуватись, він тільки підключається до програм для використання.
Модуль компілюється незалежно від програми. Модуль має розширення .tpu. Ім’я модуля завжди повинно співпадати з ім’ям файлу, в якому він знаходиться.
Щоб підключити модуль до програми використовується директива USES, в якій вказується ім’я модуля.
Структура модуля складається з 4 частин:
- заголовок модуля (UNIT <ім’я модуля>;).
- розділ оголошень (INTERFACE)
- розділ реалізацій (IMPLEMENTATION)
- розділ ініціалізації ([begin].....end.)
Дата добавления: 2015-08-26; просмотров: 602;