Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Львівський коледж
Державного університету інформаційно-комунікаційних технологій
Розглянуто та схвалено на засіданні циклової комісії природничо-математичних дисциплін Протокол № від 2012 р. Голова циклової комісії_____ Конончук О.М. |
ЗатверджуюЗаступник директора з навчальної виробничої роботи _____________ Плешівський Я.М. “_____” ____________ 2012 р |
Інструкція
до лабораторної роботи з інформатики
на тему:
«Створення та реалізація програм з використанням процедур»
Викладачі Конончук П. П.,
Конончук О.М.
Львів 2012
Лабораторна робота на тему: Створення та реалізація програм з використанням процедур.
Мета: Навчитися складати та реалізовувати програми з використанням процедур.
Теоретичні відомості
Підпрограмою називається іменована, логічно закінчена група операторів мови, яку можна викликати для виконання будь-яку кількість разів із різних місць програми. У мові Паскаль для організації підпрограм використовуються процедури і функції.
Процедура - це незалежна поіменована частина програми, призначена для виконання певних дій. Вона складається з тіла і заголовка. За структурою її можна розглядати як програму в мініатюрі. Після однократного опису процедуру дозволяється викликати за іменем з наступних частин програми. Використання імені процедури в програмі називається викликом процедури. Ім'я процедури не може знаходитися у виразі у якості операнду.
Опис процедури включає заголовок (ім'я) і тіло процедури. Заголовок складається з зарезервованого слова Procedure, ідентифікатора (імені) процедури і необов'язкового списку формальних параметрів із вказівкою їх типу, який укладається в круглі дужки .
Формат опису: Procedure <ім'я> [(формальні параметри)];
Приклад: Procedure Korrekt; Procedure Sort (A:byte);
Ім'я процедури - ідентифікатор, унікальний у межах програми. Тіло процедури являє собою локальний блок, за структурою аналогічний програмі:
Procedure <ім'я> [(формальні параметри)];
[<розділи описів>;]
begin
< розділи операторів >
end;
Зверніть увагу, що як формальні параметри, так і розділ описів у процедурі може бути відсутній. Параметри забезпечують механізм заміни, який дозволяє виконувати процедуру з різними початковими даними. Між фактичними параметрами в операторі виклику процедури і формальними параметрами у заголовку опису процедури встановлюється взаємо-однозначна відповідність у результаті їхнього перебору зліва направо. Фактичні параметри за кількістю і типами повинні дорівнювати кількості і типам формальних параметрів.
Параметри, за допомогою яких здійснюється обмін значеннями змінних між підпрограмами та програмою, що їх викликає, можуть мати будь-який тип, в тому числі структурований. Існують два типи параметрів: параметр-значення; параметр-змінна.
Група параметрів, перед якими відсутнє зарезервоване слово Var, називається параметрами-значеннями. Наприклад, в описі Procedure Korrect(S,K:real) S і K - параметри-значення. Формальний параметр-значення обробляється, як локальна стосовно процедури або функції, змінна.
Група параметрів, перед якими знаходиться ключове слово Var, називається параметрами-змінними. Наприклад, в описі Procedure Obr(Var A,B:integer); А та В - параметри-змінні. Параметр-змінна використовується в тому випадку, якщо значення повинно бути передане з процедури в блок, що її викликає. При активізації процедури або функції формальний параметр-змінна заміщується фактичною змінною, а тому будь-які зміни в значенні формального параметра-змінної відбиваються на фактичному параметрі. Тип фактичного параметра повинен збігатися з типом формального.
Приклад програми на мові Паскаль з використанням процедури.
Умова: Визначити тривалість польоту, якщо відомі швидкість і відстань.
Розвязання
Алгоритм можна скласти, використовуючи допоміжний алгоритм. Параметрами, що передаються в цей алгоритм, будуть швидкість літального апарату та відстань, яку необхідно подолати, а вихідним параметром - шукана тривалість польоту. Вхідні параметри процедури повинні бути параметрами-значеннями, а вихідний параметр - параметром-змінною.
Позначимо у підпрограмі формальні параметри наступним чином:
V - швидкість літального апарату; S - відстань; T - тривалість польоту.
В основній програмі ті ж самі змінні будуть мати відповідно імена: X, Y та M (імена змінних у основній програмі бажано, щоб не співпадали з іменами локальних параметрів підпрограми, тому їх вибір являється випадковим). Оформимо допоміжний алгоритм, як процедуру. Відтак, вихідна програма:
Program Polit;
Procedure Solution (V,S: real; var T: real);
Begin
T:=S/V;
End;
Var X,Y,M: real;
Begin
Write('Введіть швидкість літального апарату: ');
Readln(X);
Write('Введіть відстань: ');
Readln(Y);
Solution (X,Y,M); {Виклик процедури}
Writeln('Тривалість польоту: ', M:6:2);
End.
Х і д р о б о т и :
Контрольні запитання
Індивідуальні завдання:
Скласти блок-схему алгоритму та програму обчислення функції z=f(x,y), використовуючи звернення до процедури. Вигляд функції z та функції, до якої звертатись з допомогою підпрограми задано в таблиці:
№ |
Вид функції |
Підпрограма |
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|