Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Osnovi_informatiki.doc
Скачиваний:
7
Добавлен:
09.09.2019
Размер:
286.72 Кб
Скачать

22. Оператор розгалуження

Команді розгалуження в мові Паскаль відповідає умовний оператор. Умовному операторі відповідає дві структури:

  1. Неповна форма - коли дія здійснюється лише тоді, якщо виконується умова. У разі не виконання умови відбувається перехід до наступного оператора (вихід із структури). If <умова>

then <оператор>

  1. Повна форма умовного оператора: при виконанні умови (вихід «+») виконується оператор 1, при невиконанні (вихід «- ») – оператор2.

If < умова>

then <оператор1>

else < оператор2>

Коли в програмі зустрічається така конструкція, то спочатку перевіряється умова.

Якщо вона справджується, то виконується оператор1, а тоді оператор, що йде наступною після оператора if . У випадку, коли умова не справджується, то виконується оператор2, а тоді наступна після оператора if оператор.

Перед словом else крапка з комою не ставиться. При цьому відразу виконується наступна команда після оператора перевірки умови.

Потрібно відмітити, що в якості «оператор1» або «оператор» може використовуватись лише одна команда (оператор). Якщо потрібно використати більше, то їх необхідно взяти в операторні дужки:

Begin

<Команда1>;

<Команда2>;

<Команда3>;

…..

end;

В умовному операторі може бути вкладено інший умовний оператор. Транслятор працює таким чином: Зустрівши складну конструкцію з вкладених умовних операторів, транслятор аналізує її з кінця, приписуючи останнє значення else найближчому умовному оператору If

If < умова1> then

If < умова2> then

<оператор А>

else

< оператор В>

23. Процедури і функції у мові Паскаль

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

Функція - це обчислення певного значення простого,рядкового чи посилочного типу.Функція визначає алгоритм одержання цього значення. Функція відрізняється тим,що результатом виконання операторів,які утворюють тіло функції є єдиний результат. Функції – це процедури, які вертають значення, що дозволяє використовувати їх в арифметичних чи логічних виразах також як і змінні чи константи. Структура функції аналогічна структурі процедури, за виключенням заголовку, у якому вказується, значення якого типу вертає функція. Замість слова PROCEDURE використовується зарезервоване слово FUNCTION.

Заголовок функції:

FUNCTION Ім’я (Список формальних параметрів) : Тип, значення якого повертає функція.

Особливості: опис дій функції повинен містити оператор присвоєння, де Ім’я функції присвоюється деяке значення, яке вона буде повертати; тип значення, що повертає функція, повинен бути простим типом, тобто не складеним масивом, записом, множиною, файлом або типом–посилання.

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

Структура:

Заголовок ; Блок ;

Заголовок процедури складається з:

PROCEDURE Ім’я (Список формальних параметрів)

Список формальних параметрів:

( VAR Ім’я : Ім’я типу)

Особливості:

1)Процедуру можна використовувати багато разів.

Замість формального параметра – фактичний

2)Параметри передаються у підпрограму двома різними способами

а)за значенням. Значення такої змінної параметра підпрограма не може поміняти.

б)за посиланням механізму. Тоді в підпрограмі передається адреса змінної параметра і тоді підпрограма може міняти таку змінну.

3)Існує кілька директив

а)Forward - говорить що опис дій цієї процедури буде іти далі.

б) Asembler – далі опис піде на мові асемблер.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]