SetActivePage (Page);
ClearDevice;
Circle (round(X),round(Y),Radius);
FloodFill(round(X),round(Y),Color);
SetVisualPage (Page); Page:=1-Page;
Delay (Time); X:=X+Vx*0.1;
if Vy<>0 then Y:=Y-Vy*0.1; Vy:=Vy-g*0.1;
Until keypressed;
CloseGraph;
end.
Домашнє завдання:
• сторінки 233-237 запропонованого підручника;
• задачі №630, №631, №640, 641.
УРОК 34. ДОПОМІЖНІ АЛГОРИТМИ
Мета уроку: Дати поняття про допоміжні алгоритми, типи допоміжних алгоритмів, оформлення підпрограм мовою Паскаль, поняття про формальні та фактичні параметри, області дії змінних.
Теоретичний матеріал
Підпрограмою називається іменована, логічно закінчена група операторів мови, яку можна викликати для виконання будь-яку кількість разів із різних місць програми. У мові Паскаль для організації підпрограм використовуються процедури і функції.
Процедура - це незалежна пойменована частина програми, призначена для виконання певних дій. Вона складається з тіла і заголовка. За структурою її можна розглядати як програму в мініатюрі. Після однократного опису процедуру дозволяється викликати за іменем з наступних частин програми. Використання імені процедури в програмі називається викликом процедури. Ім’я процедури не може знаходитися у виразі у якості операнду.
Функція відрізняється від процедури тим, що, по-перше, передає в точку виклику скалярне значення (результат своєї роботи), а по-друге, ім’я функції може входити до виразів, як операнд. Усі процедури і функції мови Паскаль підрозділяються на дві групи: вбудовані; визначені користувачем.
Вбудовані (стандартні) процедури і функції є частиною мови і можуть викликатися за іменем без попереднього опису в розділі описового блоку. З багатьма з них ви вже ознайомилися в попередніх розділах.
Процедури і функції користувача організовуються самим програмістом відповідно до синтаксису мови і являють собою локальні блоки. Попередній опис процедур і функцій користувача є обов’язковим.
Функція, визначена користувачем, складається із заголовка і тіла функції. Заголовок містить зарезервоване слово Function, ідентифікатор (ім’я) функції та вміщений у круглих дужках необов’язковий список формальних параметрів і тип значення, що повертається функцією.
Формат опису:
Function <ім’я> [ (формальні параметри) ] :<тип результату>;
Ім’я функції - унікальний у межах блоку ідентифікатор. Результат, що повертається, може мати будь-який простий тип і тип string.
Тіло функції являє собою локальний блок, за структурою аналогічний програмі:
Function <ім’я> [ (формальні параметри) ] :<тип результату;»;
[<розділи описів>;]
begin
<розділ операторів>
end;
У розділі операторів повинен перебувати хоча б один оператор, що присвоює ідентифікатору функції значення. Якщо таких операторів декілька, то результатом виконання функції буде значення останнього оператора присвоювання.
Звертання до функції здійснюється за іменем з необов’язковою вказівкою списку аргументів. Кожен аргумент повинен відповідати формальним параметрам, зазначеним у заголовку, і мати той самий тип.
Формат звертання:
Y: <ідентифікатор функції > [(фактичні параметри)];
Функції можуть повертати значення цілих, дійсних, булівских, літерних і рядкових типів.
Опис процедури включає заголовок (ім’я) і тіло процедури. Заголовок складається з зарезервованого слова Procedure, ідентифікатора (імені) процедури і необов’язкового списку формальних параметрів із вказівкою їх типу, який укладається в круглі дужки.