Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Pascal.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
3.44 Mб
Скачать

Контрольні питання

  1. Яким чином здійснюється опис багатовимірних масивів?

  2. Які дані можуть бути використані у якості індексів та елементів багатовимірного масиву?

  3. Яким чином здійснюється доступ до елементів двовимірного масиву?

  4. Що таке масиви ідентичного типу?

  5. Чи приведе до помилки повторне використання оголошеного в розділі опису типів типу масиву в розділі оголошення змінних?

  6. Яким чином здійснюється ввід матриці?

  7. У чому полягає різниця при вводі (виводі) двовимірного та одновимірного масивів?

  8. Яким чином здійснюється вивід матриці за рядками?

  9. Яким чином здійснюється вивід матриці за стовпцями?

  10. Сформулюйте умову знаходження елементів матриці на головній діагоналі.

  11. Визначте умову знаходження елементів матриці на відрізку прямої, що розташована над (під) головною (побічною) діагоналлю.

  12. Яким чином відбувається виконання процедури read при роботі з багатовимірними масивами?

  13. Для зменшення впливу яких помилок використовують процедуру readln?

  14. Яким чином відбувається виконання процедури writeln при роботі з багатовимірними масивами?

Практична робота №5

Підпрограми

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

Теоретичні відомості

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

Підпрограми призначені для реалізації алгоритмів обробки окремих частин деякого складного завдання. Вони дозволяють реалізувати концепцію структурованого програмування, суть якого полягає у розбитті складного завдання на послідовність простих підзадач і складанні для них алгоритмів розв'язку. Розрізняють два види підпрограм – процедури й функції. Вони також поділяються на стандартні й підпрограми користувача. Стандартні підпрограми вже містяться в стандартних модулях мови програмування (в таких модулях як System, Crt, Dos, Graph тощо). Підпрограма користувача – це поіменована група команд, створена й описана в основній програмі в секції підпрограм і до якої можна звернутися з будь-якого місця програми необхідну кількість разів.

1.1 Опис процедури

Загальний опис процедури:

procedure <ім'я процедури> (<список формальних параметрів>);

<розділи описів й оголошень процедури>;

begin

<розділ команд процедури (тіло процедури)>

end;

1.2 Опис функції

Загальний опис функції:

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

<розділи описів й оголошень функції>

begin

<розділ команд функції, де обов'язково повинна бути присутня команда виду: ім'я функції:=вираз>

end;

1.3 Формальні та фактичні параметри

При активації процедури/функції їй можна передавати параметри. При цьому необхідно слідкувати, щоб в операторі виклику були вказані всі параметри, які описані у заголовку процедури/функції.

Параметри, що описані у заголовку процедури/функції при її описі, мають назву формальні параметри.

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

Між фактичними й формальними параметрами повинна бути відповідність як за їх кількістю, так і за їх типами. Відповідні фактичні й формальні параметри не обов'язково повинні мати однакові імена.

1.3.1 Передача параметрів у підпрограмах

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

У Turbo Pascal реалізовано тільки три з шістьох загальних способів передачі параметрів:

1. Параметри виду value in.

У Turbo Pascal такі параметри мають назву параметри-значення – вхідні дані для процедури. При описі заголовків процедур/функцій перед ідентифікатором параметрів-значень допоміжні ключові слова не ставлять.

procedure MyProc (Par1,Par2:Type1; Par3,Par4:Type2);

2. Параметри виду adrr inout.

У Turbo Pascal такі параметри мають назву параметри-змінні, за допомогою яких можна повертати результати роботи процедури в основну програму. При описі заголовків процедур/функцій перед ідентифікаторами параметрів-змінних кожного типу необхідно писати ключове слово var, що визначає ці змінні.

procedure MyProc (var Par1,Par2:Type1; var Par3,Par4:Type2);

3. Параметри виду adrr in.

У Turbo Pascal такі параметри мають назву параметри-константи. При описі заголовків процедур/функцій перед ідентифікаторами параметрів-констант необхідно писати ключове слово const.

procedure MyProc (const Par1,Par2:Type1; const Par3,Par4:Type2);

При описі заголовків процедур/функцій можуть також використовуватися безтипові параметри та відкриті параметри-масиви.

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

procedure MyProc (var Par1,Par2; const Par3,Par4);

Однак, слід пам’ятати, перед використанням такого параметру необхідно виконати приведення даного формального без типового параметру до будь-якого типу.

У списках формальних параметрів підпрограми можна описувати так звані відкриті масиви (масив заздалегідь невідомого розміру):

<ім'я масиву>:array of <ім'я базового типу>

У підпрограмі мінімальне значення індексу такого масиву дорівнює 0, а номер останнього елемента можна отримати за допомогою функції high (<ім'я масиву>). Тобто нумерація елементів починається з 0. Відкритий масив застосовується для почергової обробки в процедурі масивів різних розмірів.

Масиви фіксованих розмірів у списках формальних параметрів не можна записувати за допомогою слова array (наприклад: не array [l..n] of integer, а Mas_Type).

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