
- •1. Мова програмування Паскаль
- •Алфавіт і словник мови
- •2. Величини. Типи даних. Стандартні типи даних. Набір функцій і операцій, введених для кожного зі стандартних типів
- •3. Вказівка присвоювання. Вказівки введення та виведення. Структура програми на мові програмування.
- •4. Формування зображення на екрані пеом.
- •Графічний режим екрана
- •Процедури і функції для графічних побудов
- •Приклади графічних побудов
- •Поняття про анімацію
- •Завдання для самостійної роботи з теми "Комп’ютерна графіка".
- •5. Вказівка розгалуження та її опис мовою програмування. Опис умов.
- •Завдання з розв’язками на закріплення знань з теми "Опис умов"
- •Приклади програм із вказівкою розгалуження
- •Приклади програм із вказівкою вибору
- •Завдання з розв'язками до тематичного оцінювання з теми "Вказівка розгалуження та її опис мовою програмування."
- •1 Спосіб
- •2 Спосіб
- •Завдання для самостійної роботи з теми "Вказівка розгалуження та її опис мовою програмування."
- •6. Вказівка повторення. Опис вказівки повторення мовою програмування
- •Вказівка циклу з передумовою
- •Вказівка цикла з післяумовою
- •Вказівка циклу з лічильником (з параметром)
- •Приклад програм з оператором For
- •Приклад програм з оператором While та Repeat
- •Завдання для самостійної роботи з теми "Вказівка повторення"
- •7. Одновимірні та двовимірні масиви
- •Одновимірний масив
- •Двовимірний масив
- •Завдання з розв'язками до тематичного оцінювання з теми "Одновимірні масиви."
- •Завдання для самостійної роботи з теми "Одновимірні масиви"
- •Завдання з розв'язками до тематичного оцінювання з теми "Двовимірні масиви"
- •Завдання для самостійної роботи з теми "Двовимірні масиви"
- •8.Процедури і функції
- •2. Параметри-змінні
- •Завдання з розв'язками до тематичного оцінювання з теми " Процедури і функції."
- •Завдання для самостійної роботи з теми "Процедури і функції"
- •9. Робота з рядками
- •Стандартні процедури і функції для рядків
- •Insert( що, куди, з_якої позиції);
- •Val( що_перетворюємо, у_що_перетворюємо, перевірка),
- •Завдання для самостійної роботи з теми "Рядкові величини."
- •10.Файли
- •Завдання для самостійної роботи з теми "Файли"
- •Список використаної літератури
2. Параметри-змінні
Для того, щоб процедура змогла змінювати значення фактичних параметрів, потрібно змінити спосіб передачі параметрів в процедуру. Новий спосіб називається передачею по імені.
При використанні цього способу заголовок процедури змінюється таким чином: перед ідентифікатором формального параметра в заголовку процедури вказується службове слово Var.
Змінні, перед якими записане службове слово Var, називаються параметрами-змінними.
При виконанні процедури формальні параметри-змінні замінюються фактичними параметрами. Будь-які зміни значення формального параметру-змінної приводить до зміни значення фактичного параметру-змінної. За допомогою параметрів-змінних в основну програму передаються результати дії вказівок над даними.
Задача.
Дано дві трійки чисел: А1, В1, СІ і А2, В2, С2. Знайти значення сум:
S1:= min(Al, В1, СІ) + min(A2, В2, С2),
S2:= max(А1, В1, СІ) + max(А2, В2, С2).
Для знаходження min і max з трьох чисел використаємо процедуру МіпМах.
Program PRIKLAD;
Var Al,Bl,Cl,A2,B2,C2,MINl,MIN2,MAXl,MAX2,Sl,S2:real;
procedure MinMax(A,B,C:real; var MIN,MAX:real); begin
MAX:=A;
If MAX<B then MAX:=B;
if MAX<C then MAX:=C;
MIN:=A;
If MIN>B then min:=B;
If MIN>C then MIN:=C;
end;
begin
write('Al='); readln(Al);
write('Bl='); readln(Bl);
write('Cl='); readln(Cl);
write('A2='); readln(A2);
write('B2='); readln(B2);
write('C2='); readln(C2);
MinMax(Al,Bl,Cl,MINl,MAXl); MinMax(A2,B2,C2,MIN2,MAX2); S1:=MIN1+MIN2; S2:=MAX1+MAX2;
Writeln('Sl=',Sl); Writeln('S2=',S2); end.
Функції
Якщо результатом виконання деякої процедури є одне скалярне значення, то цю процедуру бажано оформити як функцію.
Формат опису функції:
function <ім'я функції>(список формальних параметрів):<тип
результату>;
Звернення до функції (обов'язково повинно бути включене у вираз як операнд) має такий вигляд :
<ім'я функції> (список фактичних параметрів).
Кількість формальних і фактичних параметрів при використанні процедури чи функції повинна співпадати.
Формальні і фактичні параметри повинні співпадати за типом.
Процедура може мати багато результатів, функція—один.
Задача.
Знайти
значення числа комбінацій N!
Знаходження значення факторіалу числа оформимо у вигляді функції. Тоді програма розв'язання даної задачі матиме вигляд:
Program KOMBINACIJ; var N,M,C:integer;
function FACT(K:integer):integer;
var i,F: integer;
begin
F:=1;
For i:=l to K do F:=F*i;
FACT:=F;
end;
begin
write('n='); readln(N);
write('m='); readln(M);
C:=FACT(N)Div(FACT(M)*FACT(N-M));
writeln('Кількість комбінацій з ‘ ,n, ’ пo ‘,m,’ = ‘,C); end.
Примітка.
Зверніть увагу на те, що в самому тілі функції FACT необхідно змінній, ім'я якої співпадає з ім'ям самої функції, присвоїти значення результату виконання функції: FACT:=F.
Завдання з розв'язками до тематичного оцінювання з теми " Процедури і функції."
Як описується функція мовою Паскаль?
Відповідь: FUNCTION назва(список формальних параметрів): тип;
Як називаються змінні в процедурі?
Відповідь: формальні параметри.
Скільки результатів має функція?
Відповідь: один.
Виправити помилки в опису процедури.
Procedure energia;
Var e:real;
E:=m*g*h;
Відповідь:
Procedure energia(m,g,h:real;var e:real);
Begin
E:=m*g*h;
End;
Написати функцію знаходження більшого з двох чисел.
Відповідь:
Function max(a,b:real):real;
Var m1:real;
Begin
If a>= b then m1:=a else m1:=b;
Max:=m1;
End;
Як викликається функція?
Відповідь: a:=назва(список фактичних параметрів);
Що може бути формальним параметром?
Відповідь: змінна.
В яке місце програми відбувається повернення з процедури?
Відповідь: оператор після виклику процедури;
Виправити помилки в описі функції.
Function SUM(integer):integer;
Var s:integer;
Begin
S:=0;
For i:= 1 to n do s:=s+n;
End;
Відповідь:
Function SUM(n:integer):integer;
Var s:integer;
Begin
S:=0;
For i:= 1 to n do s:=s+n;
SUM:=s;
End;
Записати процедуру знаходження периметра та площі прямокутника за заданими довжинами сторін.
Відповідь:
Procedure PS(a,b:real; var p,s:real);
Begin
P:=(a+b)*2;
S:=a*b;
End;
Скласти програму обчислення виразу, використовуючи процедуру або функцію:
, де a,c,x [1..7].
Відповідь:
Program Minimin;
Var m1,m2,m3, y:real;
Procedure MIN(var m: real);
Var b:array[1..7] of real;
I:integer;
Begin
Writeln(‘введіть 7 елементів’);
For I:=1 to 7 do readln(b[i]);
m:=b[1];
For I :=1 to 7 do if b[i]<m then m:=b[i];
End;
Begin
min(m1) ; min(m2) ; min(m3) ;
Y:= (m1+m2)/(1+m3);
Writeln(‘y=’,y:6:2);
End.
Куплено 10 мішків капусти. В одному М1 кг, у другому М2 кг М3 г, а у всіх інших М4 кг М5 г. Визначити скільки куплено тонн капусти. В програмі використати підпрограму, що переводить кілограми і грами в кілограми.
Відповідь:
Program kapusta;
Var m1,m2,m3,m4,m5, Vsego,KG:real;
Procedure Perevod(Kg,G:real; Var Rez:real); {процедура переведення кг і г в begin кг, вхідні параметри вага в кг і
Rez:=kg+g/1000; г, вихідний Rez — вага в кг}
End;
Begin
Writeln(‘Введіть вагу першого мішка’);
Readln(M1);
Vsego=:=m1; { Vsego—змінна для накопичення загальної ваги}
Writeln(‘Введіть вагу другого мішка (кг, г)’);
Readln(M2,M3);
Perevod(m2,m3,KG);
Vsego:=Vsego+KG;
Writeln(‘Введіть вагу інших мішків (кг, г)’);
Readln(M4,M5);
Perevod(m4,m5,KG);
Vsego:=Vsego+KG*8; {Загальна вага в кг}
Vsego:=Vsego/1000; {Загальна вага в тоннах}
Writeln(‘Вага всієї капусти ’, Vsego, ‘тонн’);
End.
У продавця N ящиків, у кожному з яких по В кг бананів. Визначити, який штраф він сплатить комітету із захисту прав споживачів, якщо він продає банани по С гривень за кілограм і при цьому обважує покупців на G грам при зважуванні кожного кілограма, а сума штрафу дорівнює п’ятикратному розміру прибутку , отриманого за рахунок обважування покупців. Скласти функцію для визначення результату задачі.
Відповідь:
Program Banan;
Var c,n,b,g,prib,st;real;
Function Shtraf(a:real):real;
Var ss:real;
Begin
Ss:=a*5;
Shtraf:=ss;
End;
Begin
Writeln(‘введіть n, b, c і g’);
Readln(n,b,c,g);
Prib:=n*b*g/1000*c; {прибуток за рахунок обважування}
St:=Straf(prib); {функція обчислює суму штрафу}
Writeln(‘Сума штрафу становить ’, St:6:2, ‘ грн.’);
End.