
- •1. Мова програмування Паскаль
- •Алфавіт і словник мови
- •2. Величини. Типи даних. Стандартні типи даних. Набір функцій і операцій, введених для кожного зі стандартних типів
- •3. Вказівка присвоювання. Вказівки введення та виведення. Структура програми на мові програмування.
- •4. Формування зображення на екрані пеом.
- •Графічний режим екрана
- •Процедури і функції для графічних побудов
- •Приклади графічних побудов
- •Поняття про анімацію
- •Завдання для самостійної роботи з теми "Комп’ютерна графіка".
- •5. Вказівка розгалуження та її опис мовою програмування. Опис умов.
- •Завдання з розв’язками на закріплення знань з теми "Опис умов"
- •Приклади програм із вказівкою розгалуження
- •Приклади програм із вказівкою вибору
- •Завдання з розв'язками до тематичного оцінювання з теми "Вказівка розгалуження та її опис мовою програмування."
- •1 Спосіб
- •2 Спосіб
- •Завдання для самостійної роботи з теми "Вказівка розгалуження та її опис мовою програмування."
- •6. Вказівка повторення. Опис вказівки повторення мовою програмування
- •Вказівка циклу з передумовою
- •Вказівка цикла з післяумовою
- •Вказівка циклу з лічильником (з параметром)
- •Приклад програм з оператором For
- •Приклад програм з оператором While та Repeat
- •Завдання для самостійної роботи з теми "Вказівка повторення"
- •7. Одновимірні та двовимірні масиви
- •Одновимірний масив
- •Двовимірний масив
- •Завдання з розв'язками до тематичного оцінювання з теми "Одновимірні масиви."
- •Завдання для самостійної роботи з теми "Одновимірні масиви"
- •Завдання з розв'язками до тематичного оцінювання з теми "Двовимірні масиви"
- •Завдання для самостійної роботи з теми "Двовимірні масиви"
- •8.Процедури і функції
- •2. Параметри-змінні
- •Завдання з розв'язками до тематичного оцінювання з теми " Процедури і функції."
- •Завдання для самостійної роботи з теми "Процедури і функції"
- •9. Робота з рядками
- •Стандартні процедури і функції для рядків
- •Insert( що, куди, з_якої позиції);
- •Val( що_перетворюємо, у_що_перетворюємо, перевірка),
- •Завдання для самостійної роботи з теми "Рядкові величини."
- •10.Файли
- •Завдання для самостійної роботи з теми "Файли"
- •Список використаної літератури
Завдання з розв'язками до тематичного оцінювання з теми "Двовимірні масиви"
Описати двовимірний масив , у якому 10 рядків і 10 стовпчиків з чисел типу Integer.
Відповідь:
Var a:array[1..10,1..10] of integer;
Описати двовимірні масиви a,b,c у яких 100 рядків і 100 стовпчиків з чисел типу Real;
Відповідь:
Var a, b, c :array[1..100,1..100] of real;
Запишіть вираз: значення елементу масиву А не перевищує 100.
Відповідь: А[I,J] < = 100
Запишіть вираз: значення елементу масиву А належить проміжку [-8,15].
Відповідь: (А[I,J] > = -8) and (А[I,J] < = 15).
НАПИСАТИ ТЕКСТИ ПРОГРАМ
Знайти суму елементів двовимірного масиву А.
Відповідь:
Program qq5;
Var A:array[1..100,1..100] of real; I , j , m ,n:integer;
S:real;
Begin
Writeln(‘Введіть кількість рядків і кількість стовпців масиву’);
Readln(n,m);
For i:=1 to n do
For j:=1 to m do a[I,J]:=0; {очистка масиву}
For i:=1 to n do
For j:=1 to m do begin
writeln(‘введіть a[‘,I,’,’,J,’]:’);
readln(a[I,J]); {введення елементів масиву з клавіатури}
end;
s:=0;
For i:=1 to n do
For j:=1 to m do begin
S:=s+a[I,J]; {знаходження суми елементів масиву}
Writeln(‘s= ’, s:8:2);
Readln;
End.
Знайти добуток кратних 3 елементів двовимірного масиву В.
Відповідь:
Program qq6;
Var A:array[1..100,1..100] of integer;
I,J,D,n,m:integer;
Begin
Writeln(‘Введіть кількість рядків і кількість стовпців масиву’);
Readln(n,m);
For i:=1 to n do
For j:=1 to m do a[I,J]:=0; {очистка масиву}
For i:=1 to n do
For j:=1 to m do
a[I,J]:=random(50)-25; {заповнення масиву випадковими числами}
writeln(‘Сформований масив чисел’);
For i:=1 to n do begin
For j:=1 to m do {виведення створеного масиву на екран}
Writeln(a[I,J]: 8); {по m чисел в рядку}
Writeln;
End;
d:=1;
For i:=1 to n do
For j:=1 to m do
If a[I,J] mod 3=0 then d:=d*a[I,J]; {знаходження добутку}
Writeln(‘d= ’, d:8:2);
Readln;
End.
Знайти середнє арифметичне парних чисел двовимірного масиву А.
Відповідь:
Program qq7;
Var A:array[1..100,1..100] of integer;
I,J,S,K,n,m:integer;
SA:real;
Begin
Writeln(‘Введіть кількість рядків і кількість стовпців масиву’);
Readln(n,m);
For i:=1 to n do
For j:=1 to m do a[I,J]:=0; {очистка масиву}
For i:=1 to n do
For j:=1 to m do
a[I,J]:=random(50)-25; {заповнення масиву випадковими числами}
writeln(‘Сформований масив чисел’);
For i:=1 to n do begin
For j:=1 to m do {виведення створеного масиву на екран}
Writeln(a[I,J]: 8); {по m чисел в рядку}
Writeln;
End;
K:=0; S:=0;
For i:=1 to n do
For j:=1 to m do
If a[I,J] mod 2 = 0 then begin
s:=s+a[I,J]; {знаходження суми парних елементів}
k:=k+1; {знаходження кількості парних елементів} end;
If k=0 then writwln(‘у масиві немає парних чисел’) else begin
SA:=s/k;
Writeln(‘SA= ’, SA:8:2);
End;
Readln;
End.
Всі елементи стовпця масиву A і всі елементи рядка, де знаходиться мінімальний елемент, замінити нулями.
Відповідь:
Program qq8;
Var A:array[1..100,1..100] of integer;
I,J,min, imin,jmin,n,m:integer;
Begin
Writeln(‘Введіть кількість рядків і кількість стовпців масиву’);
Readln(n,m);
For i:=1 to n do
For j:=1 to m do a[I,J]:=0; {очистка масиву}
For i:=1 to n do
For j:=1 to m do
a[I,J]:=random(50)-25; {заповнення масиву випадковими числами}
writeln(‘Сформований масив чисел’);
For i:=1 to n do begin
For j:=1 to m do {виведення створеного масиву на екран}
Writeln(a[I,J]: 8); {по m чисел в рядку}
Writeln;
End;
Min:=A[1,1];
For i:=1 to n do
For j:=1 to m do
If a[I,J] <min then begin
min:=a[I,j]; { пошук мінімального елемента}
imin:=I; { пошук номера рядка , де він знаходиться}
jmin:=J; { пошук номера стовпця , де він знаходиться }
end;
For i:=1 to n do A[I,jmin]:=0; {Заміна елементів стовпця в якому знаходиться мінімальний елемент нулями}
For j:=1 to m do A[imin,j]:=0; {Заміна елементів рядка в якому знаходиться мінімальний елемент нулями}
For i:=1 to n do begin
For j:=1 to m do {виведення нового масиву на екран}
Writeln(a[I,J]: 8); по m чисел в рядку}
Writeln;
End;
Readln;
End.
Роздрукувати у рядок елементи, що розташовані в першому стовпчику двовимірного масива А.
Розв'язання: В даній задачі, хоча задана таблиця двовимірна, другий індекс у всіх елементів, що будуть друкуватися, дорівнює 1, тому достатньо одного циклу по рядках для виконання задачі.
Program qq9;
Uses crt;
Var A:array[l..100,l..100] of real;
i,j,m,n:integer; {i,j - Змінні циклу}
Begin
Randomize;
Clrscr;
Readln(n,m);
For і: =1 to n do
For j:=1 to m do
A[i,j]:=random*50-random*30;
writeln;
For i:=1 to n do begin
For j:=1 to m do {виведення масиву на екран}
Writeln(a[I,J]: 8:2); по m чисел в рядку}
Writeln;
Writeln('Перший стовпчик масиву:');
For i:=l to n do begin
Write(A[i,l]:8:2); end;
Readkey; {Затримка зображення на екрані}
End.
Роздрукувати у рядок елементи, розташовані на бічній діагоналі двовимірного масиву А.
Розв'язання: Нагадуємо, що на бічній діагоналі елементи мають таку властивість: сума номера рядка та номера стовпчика дорівнює розмірності
масиву +1, тобто номер стовпчика обчислюється за наступною формулою:j = n-1+i.
Тоді програма для розв'язання даної задачі має такий вигляд:
Program qq10;
Uses crt;
Const n = 10;
Var A:array[l..n,l..n] of real;
і, j : integer; { і, j - змінні циклу}
Begin
Randomize;
Clrscr;
{Заповнення масиву випадковими числами та виведення його на екран)
For і: =1 to n do Begin
For j:=1 to m do begin
A[i,j]:=random(500)/ll-random*30;
Write(A[i,j]:8:2); end;
writeln;
End;
Readln; (Затримка зображення на екрані)
Writeln('Бічна діагональ масиву:');
For і: =1 to n do begin
Write(A[i,n-i+l]:8:2);
end;
Readkey; (Затримка зображення на екрані)
End.
Знайти суму парних елементів кожного рядка двовимірного масиву.
Program qq11;
Uses crt;
Var A:array[l..100,l..100] of integer;
i,j,s,n,m:integer; {i,j - Змінні циклу}
Begin
Randomize;
Clrscr;
Readln(n,m);
For і: =1 to n do
For j:=1 to m do
A[i,j]:=random(50)-20;
writeln;
For i:=1 to n do begin
For j:=1 to m do {виведення масиву на екран}
Writeln(a[I,J]: 8); по m чисел в рядку}
Writeln;
For і: =1 to n do begin
S:=0; {занулення суми при переході на новий рядок}
For j:=1 to m do
If a[I,j] mod 2 = then S:=S+A[i,j];{накопичення суми парних елементів рядка
Writeln(‘В рядку ’, I, ‘ сума парних елементів = ’, s);
End;
Readkey; {Затримка зображення на екрані}
End.
Знайти мінімальний елемент та його індекси у кожному стовпці двовимірного масиву А.
Program qq12;
Uses crt;
Var A:array[l..100,l..100] of integer;
i,j,min,imin,n,m:integer; {i,j - Змінні циклу}
Begin
Randomize;
Clrscr;
Readln(n,m);
For і: =1 to n do
For j:=1 to m do
A[i,j]:=random(50)-20;
writeln;
For i:=1 to n do begin
For j:=1 to m do {виведення масиву на екран}
Writeln(a[I,J]: 8); по m чисел в рядку}
Writeln;
For j: =1 to m do begin
Min:=a[1,j]; {нехай мінімумом буде перший елемент стовпця}
For i:=1 to n do
If a[I,j] <min then begin
min:=A[i,j];{Знаходження мінімального елемента в стовпці}
imin:=I; {номер рядка, де він знаходиться}
end;
Writeln(‘Mінімальний елемент = ’, min, ‘його індекси: I= ’, imin, ‘ , J= ‘, J);
End;
Readkey; {Затримка зображення на екрані}
End.