Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лабораторна робота № 17 (19)
Тема: Створення та використання програм, що містять підпрограми-процедури. Мета: Уміти створювати і опрацьовувати програми, що містять підпрограми-процедури.
Теоретичні відомості Процедура – це незалежна іменована частина програми, яку можна викликати з будь-якого місця програми для виконання певних дій. Щоб процедури працювали їх треба описати в розділі описів і викликати в розділі операторів. Опис процедури розміщують після описання змінних перед begin основної програми. Структура тіла процедури аналогічна структурі програми, тобто містить опис міток, констант, типів, змінних, а також розділ операторів: procedure < ім’я>; const…; type…; var…; beqin < оператори> end; Розглянемо як приклад процедуру обчислення дискримінанта квадратного рівняння: Procedure Discr (A, B, D: real); Beqin D: =B*B-4*A*C; end; До процедури звертаються з розділу команд основної програми, або іншої підпрограми. Процедуру викликають за допомогою команди Виклику: < Назва процедури> (< Список фактичних параметрів>); Параметри, які записують у команді виклику називаються фактичними, а параметри, які записуються в описі процедури називаються формальними. Між фактичними і формальними параметрами має бути відповідність за кількістю і типами, імена можуть бути різними. Змінні, описані в розділі описів основної програми називаються глобальними. Вони діють у всій програмі включаючи підпрограми. Змінні описані в розділі описів окремої процедури називаються локальними. Вони діють тільки в межах даної процедури. Складемо програму обчислення виразів F1=sh2x+chx і F2=shx+sh2x з використанням процедури розрахунку гіперболічних функцій: proqram Hyperbolic; var X: real; Cx, Sx, F1, F2: real; procedure Hpb (Y: real; var Ch: real); begin Y: =Exp (Y); Ch: =(Y+1/Y) /2; Ch: =(Y)
Хід роботи 1. Створити програму, яка демонструє роботу банку. Банк виплачує 10% річних. Визначити в яку суму перетвориться вклад величиною покладений на п років. 2. Син запропонував матері, що він буде мити посуд кожного дня з умовою, що за миття в перший день вона йому дасть копійку, а кожен наступний день в двічі більше, ніж в попередній. Створити програму, яка підрахує суму, яку отримає син в 30-тий день. 3. Вчитель садить писати контрольну роботу студентів з такою умовою, щоб вони не списували знаючи, що Василь не спише у Насті, Віки і Надії; Петро не спише у Віки і у Люби, Максим не спише у Наталі і Наді, А Дмитро – у Наді і Люби. Створити програму, яка покаже як розсадити вчителю учнів всіма можливими способами, щоб не списували. Контрольні питання 1. Що називається підпрограмою в Турбо Паскаль? 2. Як оформляється процедура в Турбо Паскаль? 3. Що таке глобальні параметри? (змінні). 4. Що таке локальні параметри? 5. Назвіть правила відповідності між локальними і глобальними змінними. 6. На які етапи можна розбити виконання функції? 7. Чим відрізняється робота процедури від роботи функції? 8. Коли варто використовувати процедуру, а коли – функцію?
|