- •A b c d e f g h I j k l m n o p q r s t u V w X y z I _(знак підкреслення)
- •Var Sum1, Sum2 : real;
- •X: integer;
- •Задача № 41
- •Var m, n, p : real;
- •Задача №73
- •Задача № 81
- •Задача № 82
- •Задача № 84
- •Задача № 97
- •Var а,ь,с : real;
- •Задача № 100
- •Var X,Rezultat:real;
- •Задача №101
- •Var X,Rezultat:real;
- •Задача № 107
- •Var n,s,Grade:integer; {n - бали, що набрав учень; s -максимальне значення сумарного балу; Grade - оцінка учня}
- •Задача № 103
- •Var Xl,Yl,x2,y2:real;
- •Задача № 86
- •Var a,b,c,s:word;
- •Задача № 89
- •Var Vl,v2,v3:real;
- •Задача № 90
- •Var а,в,с:real;
- •Задача № 91
- •Var X,x1,x2,x3:real;
- •Задача № 120
- •Var n, First, Last : word;
- •Задача №128
- •Var a,b,c,d,Xl,x2:real;
- •Задача №130
- •Var a,b,c,X,y,s:real;
- •Задача №134
- •Задача №151
- •Задача №160
- •Задача №165
- •Var Sum, I: integer;
- •Var a,b,c: integer;
- •Var n: longint; Counter: integer;
- •Задача №183
- •Задача № 189
- •Задача № 190
- •Var I,n:word; {I - параметр циклу}
- •Задача № 191
- •Var I,n:word;{I - параметр циклу}
- •Задача №210
- •Var I,n:word; {I - параметр циклу, n - оцінка учня}
- •Задача № 180
- •Var m,n,k:word;
- •Задача № 197
- •Var n:longint; {n - дане число}
- •Задача №204
- •Var m,k,Rez:longint; {Rez - обчислення степеню 4}
- •Задача № 208
- •Var і:word;
- •Задача №212
- •Var і,n:word;
- •Задача №179
- •Var n:word; {I - номер пасажира, що увійшов у ліфт}
- •Задача №181
- •Var s,n,Sum:longint; {s - кількість волосся, що буде висмикнутим, Sum - кількість волосся, що залишилося в дідуся на голові, n - початкова кількість волосся}
- •Задача №209
- •Var X,n:real; {X - початковий внесок, n - бажана сума} Rezrreal; {Rez - результуюча сума на рахунку} Years:longint; {Years - термін, протягом якого сума перебувала в банку}
- •Задача №231
- •Var V,Vmax:real; {V - швидкість автомобіля, Vmax - максимально дозволена швидкість}
- •Задача №251
- •Var count:word; {count - кількість членів послідовності до першого нульового елемента}
- •Var a:array[1..N] of real; в:array[1..100] of integer;
- •Var m: Massiv;
- •Задача № 293 (1)
- •Задача №293 (4)
- •Задача № 297
- •Задача № 299
- •Задача № 311 (2)
- •Var n,і:word; {n — кількість елементів масиву, і — змінна циклу)
- •Задача № 300
- •Var n:word;
- •Задача № 309
- •Var n,і,Count:longint; {n — задане ціле число, і — змінна циклу. Count — кількість цифр в числі}
- •Задача № 312
- •Var n,I:longint; {n — кількість елементів масиву, і — змінна циклу}
- •Задача №318 (4)
- •Var a,b:array[l..30] of real;
- •Задача №345(1)
- •Var c:array[1..N,1..M] of integer;
- •I,j:integer; {I,j - змінні циклу}
- •Задача № 360
- •Var a:array[1..N,1..N] of real;
- •Задача № 302
- •Var n,h:word;
- •Задача №314(2)
- •Var a:Masiv; {a — масив для зберігання даних чисел}
- •Задача № 321 (1,2)
- •Var a:array[1..N] of integer; {a — масив даних чисел}
- •Задача № 356
- •Var a:Masiv; I,j:byte; {I,j — змінні циклу}
- •Задача № 358
- •I,j:byte; {I,j - змінні циклу}
- •Var Mas:array[1..N] of integer;
- •I,j:integer; {I,j — змінні циклу)
- •Var a: Masiv;
- •Var Mas:агay[1..N] of integer;
- •Var Mas:array[1..N] of integer;
- •I,j,k:integer; {I,j — змінні циклу, k — змінна, що фіксує праву границю впорядкування}
- •Var Mas:array[1..N] of integer;
- •Var Mas:array[1..N] of integer;
- •Задача №339(1)
- •Var a,b:Masiv; {a — масив для зберігання початкової послідовності, в — відсортований масив}
- •Задача №342(1)
- •Var a:Masiv; {a — масив для вихідної послідовності}
- •Задача № 377
- •Var і,count:word;
- •Задача № 381
- •Var і:word; {і - змінна циклу} St:string; {St - даний текст}
- •Задача №382
- •Var I:word; {I - змінна циклу} St: string; {St — даний текст}
- •Задача № 387
- •Var і:byte; {і - змінна циклу}
- •Задача №389 (2)
- •Var і:byte; {і - змінна циклу}
- •Задача № 394
- •Var і:byte; {і - змінна циклу}
- •Задача № 604
- •Var GraphDriver,GraphMode:integer;
- •InitGraph(GraphDriver,GraphMode,'');
- •Задача № 607
- •Var GraphDriver,GraphMode:integer;
- •X,y,color,n:integer; {X,y - координати точки - 'Зірки',
- •InitGraph(GraphDriver,GraphMode,'');
- •Задача № 614
- •Var GraphDriver,GraphMode:integer;
- •X,у:integer; {X,y - координати центру декарт. Сист. Коорд.}
- •InitGraph(GraphDriver,GraphMode,''); {Малювання осей}
- •Задача № 616
- •Var GraphDriver,GraphMode:integer;
- •Задача № 618
- •Var GraphDriver,GraphMode:integer; n, і : integer;
- •InitGraph(GraphDriver,GraphMode,»);
- •Задача № 629
- •Задача № 638 (1)
- •Var gd,gm:integer;
- •X,у:integer; Size:integer;
- •XnitGraph (gd,gm,'');
- •Задача № 627
- •Var gd,gm:integer;
- •VX,Vy,X,y:real;
- •Задача №415
- •Задача №416 (1)
- •Var a,max:real;
- •Задача № 417
- •Var X,y,m:real;
- •Задача № 463
- •Var і:byte; (локальна змінна для організації циклу}
- •Var a:string; ch:char; n:byte;
Задача №415
Умова: Нехай в програмі описано такі процедури:
Procedure Р(х,у:integer);
Begin y:=x+l; End;
Procedure Q(x:integer; var у: integer);
Begin y:=x+1; End;
Procedure R(var x,y:integer);
Begin y:=x+1; End;
Визначити, що буде надруковано в результаті виконання таких операторів:
Очікувана відповідь
с:=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) та ifa>max, тому що ми отримуємо самовиклик функції, а це може призвести до помилки.
В операторах readfmax) та ifa>max помилка, якщо max - ім'я функції,тому що після імені функції в момент її виклику повинні знаходитись удужках фактичні параметри, кількість та тип яких мають збігатися зкількістю та типом фактичних параметрів даної функції (в даному випадкуфактичний параметр повинен бути один).
Якщо в програмі не існує глобальна змінна і, то вона залишаєтьсянеописаною в підпрограмі.
Домашнє завдання:
прочитати сторінки 148-155 запропонованого підручника,
задачі №413, №414, №415(2), № 416(2).
УРОК 35. ВИКОРИСТАННЯ ПРОЦЕДУР
Мета уроку: Дати поняття про допоміжні алгоритми, типи допоміжних алгоритмів, оформлення підпрограм (процедур) мовою Паскаль.
На початку уроку рекомендується провести опитування у письмовому чи усному вигляді для закріплення теоретичного матеріалу попереднього уроку (поняття допоміжного алгоритму, типи допоміжних алгоритмів, передача параметрів у допоміжний алгоритм, локальні та глобальні, фактичні та формальні параметри тощо).
Після цього рекомендується розв'язати з учнями кілька задач.
Задача № 417
Умова: Баба-Яга записалася на курси водіїв літальних апаратів. Але справи в неї були кепські, бо вона ніяк не могла запам'ятати, яким чином визначається тривалість польоту, якщо відомі швидкість і відстань. Довелося їй звернутися по допомогу до Хлопчика-Мізинчика, який швиденько написав їй шпаргалку, куди Бабі-Язі треба було лише підставити свої значення. Як виглядала послідовність дій у цій шпаргалці і як нею користувалася Баба-Яга?
Розв'язування: Очевидно, що «шпаргалку» Хлопчика-Мізинчика можна оформити як допоміжний алгоритм. Параметрами, що передаються у цей алгоритм, будуть швидкість літального апарату та відстань, яку необхідно подолати, а вихідним параметром - шукана тривалість польоту. Вхідні параметри процедури повинні бути параметрами-значениями, а вихідний параметр - параметром-змінною. Позначимо у підпрограмі формальні параметри наступним чином: V - швидкість літального апарату; S -відстань, що необхідно подолати; Т - тривалість польоту.
В основній програмі ті самі змінні будуть мати відповідно імена: X, Y та М (імена змінних у основній програмі бажано, щоб не збігалися з іменами локальних параметрів підпрограми, тому їх вибір є випадковим).
Спробуємо на цьому уроці оформити допоміжний алгоритм як процедуру. Тоді вихідна програма буде мати наступний вигляд:
Program Example_417;
Uses crt; (Підключення бібліотеки}
Procedure Solution (V,S - real; var T - time);
Begin T:=S/V; End;
