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) та ifa>max, тому що ми отримуємо самовиклик функції, а це може призвести до помилки.
- В операторах readfmax) та ifa>max помилка, якщо max - ім'я функції,тому що після імені функції в момент її виклику повинні знаходитись удужках фактичні параметри, кількість та тип яких мають збігатися зкількістю та типом фактичних параметрів даної функції (в даному випадкуфактичний параметр повинен бути один).
- Якщо в програмі не існує глобальна змінна і, то вона залишаєтьсянеописаною в підпрограмі.
Домашнє завдання:
• прочитати сторінки 148-155 запропонованого підручника,
• задачі №413, №414, №415(2), № 416(2).