Очікувана відповідь
с:=2; d:=1; P(c,d); writeln(d); — на екрані буде 1
с:=2; d:=l; Q(c,d); writeln(d); — на екрані буде 3
с:=2; d:=1; R(c,d); writeln(d); —на екрані буде 3
Чи припустиме таке звертання до вищезазначених процедур?
Очікувана відповідь
P(sqrt(c),d) — так
Р(с,2) — так
Q(sqrt(c),d) — так
R(1,d) — ні
R(c,2) — ні
Пояснення до відповідей наступні: фактичне значення параметру-значення може бути константою, змінною або виразом, а параметру-змінної - тільки іменем змінної.
ЗАДАЧА №416 (1)
Умова: Знайдіть і поясніть помилки в записі функцій:
Function max(n:integer):real:
Var a,max:real;
Begin
Read (max) ;
For i:=1 to n-1 do
Begin Read(a); If a>max then max:=a; End;
End;
Очікувана відповідь учнів:
• У функції описана внутрішня локальна змінна max, ім’я якоїзбігається з іменем функції, а це неприпустимо, тому що вони обидві єлокальними для даної функції та не можуть мати однакові імена.
• Якщо все ж таки ім’я функції max, то неможливе використання його в операторах read(max) та if a>max, тому що ми отримуємо самовиклик функції, а це може призвести до помилки.
• В операторах readfmax) та if a>max помилка, якщо max - ім’я функції,тому що після імені функції в момент її виклику повинні знаходитись удужках фактичні параметри, кількість та тип яких мають збігатися зкількістю та типом фактичних параметрів даної функції (в даному випадкуфактичний параметр повинен бути один).
• Якщо в програмі не існує глобальна змінна і, то вона залишаєтьсянеописаною в підпрограмі.
Домашнє завдання:
• прочитати сторінки 148-155 запропонованого підручника,
• задачі №413, №414, №415(2), № 416(2).
УРОК 35. ВИКОРИСТАННЯ ПРОЦЕДУР
Мета уроку: Дати поняття про допоміжні алгоритми, типи допоміжних алгоритмів, оформлення підпрограм (процедур) мовою Паскаль.
На початку уроку рекомендується провести опитування у письмовому чи усному вигляді для закріплення теоретичного матеріалу попереднього уроку (поняття допоміжного алгоритму, типи допоміжних алгоритмів, передача параметрів у допоміжний алгоритм, локальні та глобальні, фактичні та формальні параметри тощо).
Після цього рекомендується розв’язати з учнями кілька задач.
ЗАДАЧА № 417
Умова: Баба-Яга записалася на курси водіїв літальних апаратів. Але справи в неї були кепські, бо вона ніяк не могла запам’ятати, яким чином визначається тривалість польоту, якщо відомі швидкість і відстань. Довелося їй звернутися по допомогу до Хлопчика-Мізинчика, який швиденько написав їй шпаргалку, куди Бабі-Язі треба було лише підставити свої значення. Як виглядала послідовність дій у цій шпаргалці і як нею користувалася Баба-Яга?
Розв’язування: Очевидно, що «шпаргалку» Хлопчика-Мізинчика можна оформити як допоміжний алгоритм. Параметрами, що передаються у цей алгоритм, будуть швидкість літального апарату та відстань, яку необхідно подолати, а вихідним параметром - шукана тривалість польоту. Вхідні параметри процедури повинні бути параметрами-значениями, а вихідний параметр - параметром- змінною. Позначимо у підпрограмі формальні параметри наступним чином: V - швидкість літального апарату; S -відстань, що необхідно подолати; Т - тривалість польоту.
В основній програмі ті самі змінні будуть мати відповідно імена: X, Y та М