- •Для студентів I курсу денної форми навчання зі спеціальності 6.080200 – «інформатика» (у тому числі скорочений термін навчання)
- •Лабораторна робота №1 Програмування лінійних алгоритмів.
- •Контрольні питання:
- •Задачі.
- •Лабораторна робота №2 Програмування алгоритмів, що розгалужуються
- •Лабораторна робота №3
- •Задачі.
- •Лабораторна робота №4 Програмування циклічних алгоритмів (продовження)
- •Контрольні питання
- •Задачі.
- •Лабораторна робота 5 Програмування з використанням масивів
- •Контрольні питання
- •Лабораторна робота 6. Програмування з використанням записів
- •Змінні типу String аналогічні масивам типу Char. Їхньою відмінністю є те, що число символів (довжина рядка) може динамічно змінюватися в інтервалі від одиниці до заданого верхнього значення.
- •Контрольні питання
- •Лабораторна робота 7 Програмування з використанням множин
- •Контрольні питання
- •Лабораторна робота 8 Програмування з використанням типу запис
- •Приклад. Дано два раціональних числа, опишіть їх, використовуючи структуру даних запис (чисельник, знаменник). Скоротити їх, знайти їх суму. Етапи рішення програми:
- •Контрольні питання
- •Лабораторна робота 9 Програмування з використанням процедур і функцій
- •Контрольні питання
- •Задачі.
- •Лабораторна робота 10 Робота з файлами
- •Контрольні питання
- •Лабораторна робота 11 Графіка в Turbo Pascal
- •Процедури і функції модуля craph Процедури.
- •Функції.
- •GraphResult Повертає значення GrOk, що відповідає коду 0, якщо всі графічні операції програми виконалися без помилок, чи повертає числовий код помилки (від -1 до -14).
- •Приклад. Побудувати правильний n - кутник.
- •Лабораторна робота 12 Контрольна робота
- •Контрольні питання
- •Література
- •39614, М. Кременчук, вул Першотравнева, 20
Лабораторна робота 5 Програмування з використанням масивів
Мета роботи. Навчитися правильно описувати різні масиви, вміти ініціалізовати масиви, роздруковувати вміст масиву; навчиться вирішувати задачі на використання масивів.
Масив – це структурований тип даних, що використовується для опису упорядкованої сукупності фіксованого числа елементів одного типу, що мають загальне ім'я. Для позначення елементів масиву використовуються ім'я змінної масиву й індекс.
Перед виконанням роботи необхідно вивчити правила опису і використання змінних типу масив, типізованих констант типу масив.
Приклад. Дано двомірний масив. У кожнім рядку всі його елементи, не рівні нулю, переписати (зберігаючи порядок) у початок рядка, а нульові елементи – у кінець масиву. Новий масив не заводити.
Етапи рішення задачі:
1. Суть одного з алгоритмів рішення даної задачі полягає в том щоб "переглядати" масив і знаходити в кожному рядку пари (0:число), а потім змінювати їх місцями між собою і так доти таких пар не виявиться в рядку. 2. Напишемо програму на псевдо Паскале:
Program example5;
var V:array[1..100,1..100] of integer; m,n, i,j, c: integer; flag: boolean;
begin
<уведення розмірності масиву m*n>
<заповнення масиву>
for i:=1 to m do
repeat
flag:= true;
for j:=1 to n-1 do
if (v[i,j]=0) and (v[i,j+1]<>0) then begin
<поміняти їх місцями>
flag:= false;
end;
until flag;
<Друк масиву>
readln;
end.
3. Складемо блок схему алгоритму
Деталізуємо блок "Впорядковуємо перший рядок"
4. Приведемо програму мовою Паскаль:
program example6;
var V:array[1..100,1..100] of integer; m,n, i,j, c: integer; flag: boolean;
begin
write('Уведіть розмірність масиву m-n '); readln(m,n);
for i:= 1 to m do
for j:=1 to n do begin
write('V[',i,',',j,']= '); readln(V[i,j]);
end;
for i:=1 to m do
repeat
flag:= true;
for j:=1 to n-1 do
if (v[i,j]=0) and (v[i,j+1]<>0) then begin
c:=v[i,j]; v[i,j]:=v[i,j+1]; v[i,j+1]:=c;
flag:= false;
end;
until flag;
for i:= 1 to m do begin
for j:= 1 to n do write(V[i,j]:2);
writeln
end;
readln;
end.
Контрольні питання
-
Яким чином визначаються змінні типу масив (одномірний і двовимірний)?
-
Як здійснюється доступ до окремого елемента одномірного масиву?
-
Як здійснюється доступ до окремого елемента двомірного масиву?
-
Яким чином виводяться елементи масиву на екран?
-
Приведіть приклад фрагмента програми, що виводить на екран двовимірний масив у виді матриці.
-
Скільки чисел можна записати в шестивимірний масив X : Array[0..1, 0..1, 0..1, 0..1, 0..1, 0..1] of Integer?
Задачі
-
Дано цілі числа а1, а2, а3. Одержати матрицю з цілими елементами [bij] і,j=1,2,3, для якої bij=ai-3aj.
-
Одержати [aij] і=1,...10; j=1,...12 - матрицю з цілими елементами, для якої aij=і+2j.
-
Дано натуральне число n. Одержати матрицю з дійсними елементами [aij] i, j= 1,…n, для який aij=n-i
-
Дано квадратну матрицю з дійсними елементами порядку n. Знайти найбільше зі значень елементів, розташованих у заштрихованій частині матриці.
а) б) в) г)
-
Дано квадратну матрицю розмірності n з дійсними елементами. Знайти кількість нульових елементів, що розташовані: вище головної діагоналі; нижче головної діагоналі; вище і нижче побічної.
-
Дано квадратну матрицю з дійсними елементами. По матриці одержати логічний вектор, привласнивши його k-ому елементу значення True, якщо виконане зазначена умова і значення False інакше: а) всі елементи k стовпця нульові; б) елементи k рядка матриці упорядковані по спаданню; в) k рядок масиву симетричний.
-
Дано квадратну матрицю з дійсними елементами. Сформувати вектор b, у якому елементи обчислюються як: а) добуток елементів відповідних рядків; б) середнє арифметичне відповідних стовпців; в) різниця найбільших і найменших елементів відповідних рядків; г) значення перших від’ємних елементів у стовпці.
-
Дано двомірний масив A[1..m,1..n]. Написати програму побудови одномірного масиву B[1..m], елементи якого відповідно рівні а) сумам елементів рядків, б) добуткам елементів рядків, в) найменшим середніх арифметичних елементів рядків.
-
Розташувати елементи даного масиву в зворотному порядку (перший елемент міняється з останнім, другий - з передостаннім і т.д. до середини; якщо масив містить непарна кількість елементів, то середній залишається без зміни).
-
У даному масиві поміняти місцями елементи, що розташовані на непарних місцях, з елементами, що розташовані на парних місцях.
-
У масиві А[1..N,1..N] визначити номера рядка і стовпця будь-якої сідлової точки. Деякий елемент масиву називається сідловою точкою, якщо він є одночасно найменшим у своєму рядку і найбільшим у своєму стовпці.
-
Масив А[1..5,1..7] містить дійсні числа. Потрібно ввести ціле число K і обчислити суму елементів А[I,J], для яких I+J=К. Треба переконатися, що значення K дозволяє знайти рішення, у іншому випадку потрібно надрукувати повідомлення про помилку.
-
Дано масив A[1..N,1..N]. Скласти програму, що додала б кожному елементу даного рядка елемент, що належить цьому рядку і головній діагоналі.
-
Дано квадратну матрицю. Переставляючи її рядки і стовпці, перемістити найбільший елемент у верхній лівий кут. Визначити чи можна в такий спосіб помістити мінімальний елемент у нижній правий кут.