
- •1. Мова програмування Паскаль
- •Алфавіт і словник мови
- •2. Величини. Типи даних. Стандартні типи даних. Набір функцій і операцій, введених для кожного зі стандартних типів
- •3. Вказівка присвоювання. Вказівки введення та виведення. Структура програми на мові програмування.
- •4. Формування зображення на екрані пеом.
- •Графічний режим екрана
- •Процедури і функції для графічних побудов
- •Приклади графічних побудов
- •Поняття про анімацію
- •Завдання для самостійної роботи з теми "Комп’ютерна графіка".
- •5. Вказівка розгалуження та її опис мовою програмування. Опис умов.
- •Завдання з розв’язками на закріплення знань з теми "Опис умов"
- •Приклади програм із вказівкою розгалуження
- •Приклади програм із вказівкою вибору
- •Завдання з розв'язками до тематичного оцінювання з теми "Вказівка розгалуження та її опис мовою програмування."
- •1 Спосіб
- •2 Спосіб
- •Завдання для самостійної роботи з теми "Вказівка розгалуження та її опис мовою програмування."
- •6. Вказівка повторення. Опис вказівки повторення мовою програмування
- •Вказівка циклу з передумовою
- •Вказівка цикла з післяумовою
- •Вказівка циклу з лічильником (з параметром)
- •Приклад програм з оператором For
- •Приклад програм з оператором While та Repeat
- •Завдання для самостійної роботи з теми "Вказівка повторення"
- •7. Одновимірні та двовимірні масиви
- •Одновимірний масив
- •Двовимірний масив
- •Завдання з розв'язками до тематичного оцінювання з теми "Одновимірні масиви."
- •Завдання для самостійної роботи з теми "Одновимірні масиви"
- •Завдання з розв'язками до тематичного оцінювання з теми "Двовимірні масиви"
- •Завдання для самостійної роботи з теми "Двовимірні масиви"
- •8.Процедури і функції
- •2. Параметри-змінні
- •Завдання з розв'язками до тематичного оцінювання з теми " Процедури і функції."
- •Завдання для самостійної роботи з теми "Процедури і функції"
- •9. Робота з рядками
- •Стандартні процедури і функції для рядків
- •Insert( що, куди, з_якої позиції);
- •Val( що_перетворюємо, у_що_перетворюємо, перевірка),
- •Завдання для самостійної роботи з теми "Рядкові величини."
- •10.Файли
- •Завдання для самостійної роботи з теми "Файли"
- •Список використаної літератури
Завдання з розв’язками на закріплення знань з теми "Опис умов"
Завдання 1.Обчислити значення логічних виразів.
1)X < Y
При х = -2.5, у = 0.1 ця умова буде істинною (запропонувати такі значення х та у, при яких ця умова буде хибною).
2)a and not (b = с)
При а = false, b = false, c = true умова буде хибною (false), тому що при з'єднанні двох умов службовим словом and, якщо одна з умов хибна, то й вся умова хибна. Дійсно, якщо хоч одна з умов, поєднаних словом «та», не є істинною, то й весь логічний вираз буде хибним.
3)not (a and b) or b = a
При а = true, b = false ця умова буде істинною, тому що (a and b) — хибна (одна з умов хибна); not (a and b) — істинна (заперечність хибності); not (a and b) or b — a — істинна (бо якщо з двох поєднаних службовим словом or умов хоч одна істинна, то весь вираз істинний).
4)not (a and (х < у)) or (х < 0)
При а — true, х = —0.1, у = 0.7 умова буде істинною, тому що друга з умов (х < 0) буде істинною, а при з'єднанні двох умов службовим словом or достатньо одній з них бути істинною, щоб весь логічний вираз був істинним.
Завдання 2
Записати у вигляді логічних виразів висловлювання, наведені нижче:
1) значення x не належить інтервалу (0;1) (х<=0) or (x >= 1)
2) точка М(х,у) лежить у другій чверті координатної площини
(х < 0) and (у > 0)
3) точка М(х, у) лежить усередині або на межі одиничного круга з центром у початку координат
(sqr(x) + sqr(y) <= 1)
4) координати дійсного вектора х(х, х2, х3) утворюють неспадну послідовність і всі вони невід'ємні
(xl <= x2) and (х2 <= хЗ) and (xl >= 0) and (х2 >= 0) and (хЗ >= 0)
5) 3>В>С>0,1
(З > В) and (В >= С) and (C > 0.1)
Завдання 3. Записати за допомогою умовного оператора виконання дій:
1) дійсне значення х замінити абсолютною величиною
if х < 0 then х := -х;
2) менше з двох дійсних значень х та у (або будь-яке з них, якщо вони рівні) замінити нулем
if х < у then х := 0 else у := 0;
3) присвоїти змінній х значення 0, якщо її початкове значення належало інтервалу (0,2)
if (0 <= х) and (х <= 2) then х := 0;
Приклади програм із вказівкою розгалуження
Задача № 1
Умова: Дано значення цілих величин х та у.
Знайти:
mах (х,у) — mіп (х,у)
Текст програми:
Program p4;
Uses crt;
Var х,у,Max,Min,Rezultat:integer;
Begin
Clrscr; (Очищення екрану}
Write('Введіть значення х та у: ');
Readln(x,y) ;
If х<у {Знаходження максимуму та мінімуму}
Then Begin
Мах:=у; Min:=x;
End
Else Begin
Max:=x; Min:=y;
End;
Rezultat:=sqr(Max)-sqr(Min);
Writeln('Результат обчислень: ',Rezultat:8:2);
Readkey ; {Затримка зображення на екрані
до натискання будь-якої клавіші}
End.
Задача № 2
Умова: Дано значення дійсних величин а, Ь, с. Знайти:
Min((a+b+c)/2,
Текст програми:
Program Р2 ;
Uses crt;
Var a,b,c : real;
Rezl ,Rez2 ,Min : real; {Rezl, Rez2 - проміжні обчислення;
Min — результат виконання програми}
Begin
Clrscr ; {Очищення екрану)
Write ( 'Введіть числа а,Ь,с: ');
Readln(a,b,c) ;
Rezl:=(a + Ь + с) / 2;
Rez2:=sqrt(l/(sqr(a)+1)+1/(sqr(b)+1)+1/(sqr(c)+1));
If Rezl<Rez2
Then Min:=Rezl
Else Min:=Rez2;
Writeln( 'Min=' , Min: 8: 2) ;
Readkey ; {Затримка зображення на екрані до натискання будь-якої, клавіші)
End.
Задача №3
Умова: Дано значення дійсної величини X. Визначити:
Для розв'язання цієї задачі необхідно пам'ятати, що ділити на нуль не можна.
Текст програми:
Program Р3 ;
Uses crt ;
Var X, Rezultat : real;
Begin
Clrscr ; {Очищення екрану}
Write('Введіть значення X: ');
Readln(X) ;
If X*X*X+X-2<>0 Then begin
Rezultat: = (X-5) /(X*X*X+X-2);
Writeln('Rezultate' ,Razultat:8:2)
end
Else
Writeln(‘Обчислення неможливі -ділення на нуль!’);
Readkey; (Затримка зображення на екрані до натискання будь-якої клавіші)
End.
Задача №4
Умова: При даному значенні X обчислити:
Для розв'язання цієї задачі необхідно пам'ятати, що не можна знайти квадратний корінь з від'ємного числа.
Текст програми:
Program Р4 ;
Uses crt;
Var X, Rezultat : real;
Begin
Clrscr ; {Очищення екрану)
Write ( 'Введіть значення X: ');
Readln (X) ;
If (X>=1) and (X*X*X-sqrt(X-l)>=0) Then begin
Rezultat:=sqrt(X*X*Xsqrt(X-l) ) ;
Writeln (‘Rezultat=’, Rezultat: 8: 2) ;
end Else
Writeln ( 'Обчислення неможливі- — від'ємний підкореневий вираз!') ;
Readkey ; {Затримка зображення на екрані до натискання будь-якої клавіші)
End.
Задача № 5
Умова: Дано дійсні значення х та у. Обчислити:
Для розв'язання цієї задачі необхідне виконання умов обох попередніх прикладів.
Текст програми:
Program Р5 ;
Uses crt ;
Var X, Y, Rezultat : real;
Begin
Clrscr ; {Очищення екрану)
Write ( 'Введіть значення X та Y : ' ) ;
Readln (X,Y) ;
If (sqr(X)-sqr(Y)<>0) and (X*X*X-Y+0.5>=0) Then begin
Rezultat:=sqrt(X*X*X-Y+0.5)/ (sqr(X)-sqr(Y));
Writeln('Rezultat=' ,Rezultat:8:2) ; end
Else
Writeln('Обчислення неможливі!');
Readkey; {Затримка зображення на екрані до натискання будь-якої, клавіші}
End.
Задача № 6
За рейтинговою системою оцінка визначається таким чином: якщо загальний бал учня становить не менше 92% від максимального, то виставляється оцінка 12, якщо не нижче 70%, то виставляється 8, якщо ж не нижче 50%, то оцінка 5, в інших випадках — оцінка 2. Визначте оцінку учня, якщо він набрав N балів, а максимальне значення загального балу становить S.
У цій задачі можна використати повну або скорочену форму команди розгалуження.
Розв'язок зі скороченою формою.
Текст програми:
Program Р6;
Uses crt;
Var N,S,Grade:integer; (H - бали, що набрав учень; S - максимальне значення сумарного балу; Grade - оцінка учня)
Begin
Clrscr;
{Очищення екрану)
Write('Введіть максимальне значення сумарного балу, що може набрати учень: '); Readln(S) ;
Write('Введіть кількість балів, що отримав учень: '); Readln(М);
If (S<=0) or (N<=0) or (N>S) Then writein(’Помилка вхідних даних'.) Else Begin
N:=round(N/S*100); {Знаходження процентного відношення балів учня до максимально можливого)
If N>=92 then Grade:=12; If (N<92) and (N>=70) then Grade:=8;
If (N<70) and (N>=50) then Grade:=5;
If (N<50) then Grade:=2; Writeln('Учень отримав оцінку - ', Grade);
End;
Readkey; (Затримка зображення на екрані до натискання будь-якої, клавіші)
End.
Задача № 7
Умова: На площині дано дві точки (х1, у1) та (х2, y2). Визначити, яка з них знаходиться далі від початку координат.
Для розв'язання цієї задачі необхідно скористатися теоремою Піфагора для знаходження відстані від початку координат до заданої точки :
Очевидно, що відстань від початку координат до точки з координатами (х,у) буде обчислюватись наступним співвідношенням:
S=
Зверніть увагу: в зв'язку з тим, що кожна з координат у формулі підноситься до квадрату, неважливо, в якій чверті координатної площини буде знаходитись точка.
Виходячи з усього вищесказаного, програма для розв'язання даної задачі має наступний вигляд:
Текст програми:
Program Р7;
Uses crt;
Var Xl,Yl,X2,Y2:real; {X1,Y2,X2,Y2 - координати даних точок}
SI , S2 : real ; {S1,S2 — відстані відповідно до першої та другої точки}
Begin
Clrscr ; {Очищення екрану}
Write ( 'Введіть координати першої точки: ' ) ;
Readln(Xl,Yl) ;
Write ( 'Введіть координати другої точки: ' ) ;
Readln(X2,Y2) ;
Sl:=sqrt(sqr(Xl)+sqr(Yl)) ;
S2:=sqrt(sqr(X2)+sqr(Y2)) ;
If S1 < S2
Then Writeln( 'Друга точка далі від початку координат' )
Else Writeln ( 'Перша точка далі від початку координат' ) ;
Readkey; {Затримка зображення на екрані до натискання будь-якої клавіші}
End.
Задача № 8
Умова: Дано значення дійсних величин а, Ь, с. Подвоїти ці значення, якщо а > b > с, і замінити їх абсолютними значеннями, якщо це не так.
У цій задачі звернути увагу на дуже поширену помилку: в програмі не можна писати подвійну нерівність, як це робиться в математиці. Тобто, вираз а > b > с в програмі записується як складена умова (a>=b) and (b>=c).
Текст програми:
Program Р8;
Uses crt; Var a,b,c:real;
Begin
Clrscr; {Очищення екрану}
Write('Введіть три числа: ');
Readln(a,b,c);
If (a>=b) and (b=c) Then Begin
A=A*2;
B:=B*2;
C:=C*2;
End
Else Begin
A:=abs(A);
B:=abs(B);
C:=abs(C);
End;
Writeln('Вихідні Значення:');
Writeln('a=',a:8:2);
Writeln('Ь=',b:8:2);
Writeln('c=' ,c:8:2) ;
Readkey; {Затримка зображення на екрані до натискання будь-якої клавіші}
End.
Якщо умов вибору багато, то краще використати оператор вибору Case
Загальний запис
Case <вираз>of Список констант1:оператор1; Список констант2:оператор2; ... Список константN:операторN; End;
|
Case <вираз>of Список констант1:оператор1; Список констант2:оператор2; ... Список константN:операторN-1 Else операторN; End;
|
Список констант може складатися з однієї, двох і більше констант, які перераховуються через кому, або якщо вони йдуть підряд, можна вказати два крайніх значення, розділивши їх двома крапками.
Виконання оператора починається з обчислення виразу. Якщо результат обчислення дорівнює одній з перерахованих констант, то буде виконуватись відповідний оператор.
Далі управління передається за межі оператора вибору. Якщо значення виразу не співпадає ні з однією із констант, то виконується оператор, що стоїть після Else, якщо він є, або управління передається на оператор, що стоїть за End.
Примітка:
Тип константи повинен співпадати з типом виразу.
Гілка Else – необов’язкова
Перед Else не може стояти крапка з комою
В якості оператора можуть використовуватись і складені оператори, але тоді їх треба брати в дужки begin … end