Опис свого типу даних.

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

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. Для трьох введених цілих чисел знайти їх середнє арифметичне. Знаходження середнього арифметичного оформити у вигляді процедури.

 

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

 

Program PAR; Var a,b: integer; S: real; Procedure avrg(x,y:integer; VAR S:real); Begin S:= (x+y)/2; End;   Begin write (‘введи два числа’); readln (a,b); avrg (a,b,s); writeln (‘середнє арифметичне чисел’, а:5,b:5,’дорівнює’, S:10:2); End.  

       
   

 

 


Приклад 2. Для трьох введених цілих чисел знайти їх середнє арифметичне. Знаходження середнього арифметичного оформити у вигляді функції.

 

 

Program PAR; Var a,b: integer; S: real; Function avrg(x,y:integer):real; Begin avrg:= (x+y)/2; End;   Begin write (‘введи два числа’); readln (a,b); avrg (a,b,s); writeln (‘середнє арифметичне чисел’, а:5,b:5,’дорівнює’, avrg (a,b,s):10:2); End.  

 

Приклад 1 і приклад 2 демонструють використання процедури і функції для одного завдання для порівняння. В даному випадку ефективніше використовувати функцію.

 

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

 

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

 

           
   
     
program komb; var c,n,m: word; functiїn fakt (n: word): word; var i: word; f:longint; begin f:= 1; for i:= 1 to n do f:= f*i; fakt:= f; end;   begin writeln (‘введи m,n’); readln (m,n); c:= fakt (n) div (fakt(m) + fakt(n-m)); writeln (‘кількість сполучень ’,n:3,‘по’, m:3,‘=’,c:7); end.  
 

 

 


 

Завдання для самоперевірки.

 

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; просмотров: 595;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.011 сек.