Варіант | Зміст задачі |
17 | Обчислити добуток і кількість непарних елементів масивів Р(15) і М(9) |
18 | Обчислити середнє геометричне елементів масивів K(10) і C(8), не кратних 3 |
19 | Знайти середнє арифметичне парних елементів в масивах А(15) і C(9) з інтервалу [10;30] |
20 | Знайти суму і кількість додатних елементів в масивах В(13) і А(9), що стоїть на парних місцях |
21 | Знайти добуток суми парних і суми непарних елементів масивів C(10) і А(9) |
22 | Знайти середнє геометричне додатних елементів в масивах М(16) і А(8), що стоїть на непарних місцях |
23 | Знайти різницю між добутком парних чисел і сумою додатних чисел масивів В(12) і А(7) |
24 | Обчислити суму квадратів додатних елементів масиву Р(16) і В(7), які мають непарні індекси |
25 | Підрахувати кількості додатних і парних чисел в масивах А(13) і В(9) |
2 Для кожного з двох масивів А(10) і В(12) скласти програму для вирішення наступних задач. Варіанти задач наведені в табл.9.
Таблиця 9 - Варіанти завдання
Варіант | Зміст задачі |
1 | Знайти номер найбільшого додатного елемента |
2 | Знайти суму найбільшого і якнайменшого елементів |
3 | Знайти добуток номера найбільшого додатного і якнайменшого від’ємного елементів |
4 | Знайти номер і значення якнайменшого додатного непарного елемента |
Продовження табл.9
Варіант | Зміст задачі |
5 | Знайти різницю максимального і мінімального додатних парних елементів |
6 | Знайти суму квадратів максимального і мінімального елементів |
7 | Знайти максимальний і мінімальний елементи і поміняти їх місцями |
8 | Знайти частку від ділення найбільшого на якнайменший елементів |
9 | Поміняти місцями перший і максимальний елемент |
10 | Знайти максимальний по модулю елемент і його номер |
11 | Знайти різницю мінімального парного і мінімального непарного елементів |
12 | Знайти суму мінімального додатного елемента і його номера |
13 | Поміняти місцями максимальний додатний і мінімальний від’ємний елементи |
14 | Знайти добуток модулів найбільшого від’ємного елемента і якнайменшого парного елемента |
15 | Поміняти місцями другий і найбільший додатний елементи |
16 | Записати +1 замість максимального парного елемента, а число -1 замість мінімального непарного елемента |
17 | Знайти номер і значення найбільшого по модулю елемента |
18 | Записати 100 замість максимального кратного 3 елемента |
19 | Поміняти місцями максимальний парний і мінімальний непарний елементи |
20 | Знайти номер і значення найбільшого кратного 5 елемента |
21 | Записати -100 замість мінімального парного елемента |
22 | Знайти мінімальний кратний 4 елемент і його номер |
23 | Обчислити середнє арифметичне максимального і мінімального елементів |
24 | Обчислити середнє геометричне номерів максимального і мінімального елементів |
25 | Обчислити частку від ділення максимального елемента на його порядковий номер |
3 В масивах М(13) і В(9) знайти (А) чисел, умови А наведені в табл.10.
Масив довільний.
Таблиця 10 - Варіанти завдання
Варіант | Умова А |
1 | Суму трьох найбільших додатних |
2 | Суму трьох якнайменших від’ємних , кратних 3 |
3 | Різниця двох найбільших |
4 | Частку від ділення двох найбільших, кратних 3 |
5 | Добуток найбільшого і якнайменшого парних |
6 | Суму двох найбільших від’ємних |
7 | Модуль різниці двох найбільших |
8 | Добуток трьох найбільших додатних |
9 | Добуток трьох якнайменших від’ємних |
10 | Суму двох найбільших і трьох якнайменших парних |
11 | Суму чотирьох найбільших, кратних 5 |
12 | Суму чотирьох якнайменших парних від’ємних |
13 | Добуток найбільшого і якнайменшого від’ємних , кратних 3 |
14 | Суму найбільшого і двох якнайменших парних |
15 | Добуток чотирьох найбільших додатних, кратних 5 |
16 | Частку від ділення суми двох найбільших позитивних і двох найбільших від’ємних |
17 | Суму двох найбільших парних і двох якнайменших непарних |
18 | Добуток трьох найбільших додатних і двох найбільших від’ємних |
19 | Суму трьох якнайменших, що стоять на парних місцях |
20 | Суму двох найбільших і двох якнайменших, що стоять на непарних місцях |
21 | Добуток найбільшого додатного і двох якнайменших, що стоять на парних місцях |
22 | Добуток п'яти найбільших додатних парних |
23 | Суму трьох якнайменших від’ємних, кратних 5 |
24 | Суму найбільшого і якнайменшого від’ємних |
25 | Частку від ділення суми двох найбільших додатних і суми двох якнайменших від’ємних |
7 ЛАБОРАТОРНА РОБОТА 4. ВКЛАДЕНІ ЦИКЛИ. ОБРОБКА
У Pascal багатовимірні масиви можуть визначатися послідовно: спочатку оголошується один масив, потім другий, елементами якого є оголошені раніше масиви, і т.д. Один масив вкладається в іншій, і ступінь такого вкладення необмежена. Наприклад, для матриці А(2,3)
TYPE STROKA = ARRAY [1..3] OF REAL;
MATR = ARRAY [1..2] OF STROKA;
VAR V : STROKA; А : MATR;
Змінна А – це двомірний масив з двох рядків, до кожного з яких включено по три елементи.
Опис А можна скоротити, виключивши визначення типу STROKA у визначенні типу MATR:
TYPE MATR = ARRAY [1..2] OF ARRAY [1..3] OF REAL; або ж
TYPE MATR = ARRAY [1..2,1..3] OF REAL;
Якщо вказаний тип використовується для визначення одного масиву в програмі, то зручно оголошувати масив у розділі опису змінних:
VAR А : ARRAY [1..2,1..3] OF REAL;
Як вже наголошувалося, поняття двомірного масиву відповідає поняттю матриці або таблиці. При цьому перший індекс відповідає рядку, а другий – стовпцю. Максимальна кількість рядків (m) і стовпців (n) визначається при описі типу масиву. Посилання на елемент матриці А, що знаходиться на перетині i-го рядка і j-го стовпця, має вигляд А[i,j].
При обробці матриць часто доводиться виділяти елементи:
- k-го рядка А[к,j] j=1, ..., m
- k-ї колонки А[i,k] i=1, ... , n
а для квадратних матриць (m=n) також:
головної діагоналі | А[i,i] | i=1, ..., n |
побічної діагоналі | А[i,n+1-i] | i=1, ..., n |
наддіагональні | А[i,j] | i>j |
піддіагональні | А[i,j] | i<j |
Для двомірних масивів зручно використовувати вкладені цикли – цикли, в тілі яких містяться інші циклічні структури. Цикл, що містить в собі інший цикл, називається зовнішній, а цикл, що міститься в іншому – внутрішнім.
При виконанні вкладених циклів спочатку повністю виконується внутрішній цикл, потім зовнішній цикл змінює значення свого параметра циклу на наступне і знову виконується внутрішній цикл і т.д. до повного виконання зовнішнього циклу.
Приклад 4a. Знайти мінімальний додатний елемент матриць А(5,4) і В(4,3), а також номер рядка і стовпця, де він знаходиться.
Блок- схеми (рис. 20, 21, 22, 23)
Рисунок 20 - Блок-схема алгоритму процедури Vvod
Рисунок 21 - Блок-схема алгоритму процедури Vivod
Рисунок 22 - Блок-схема алгоритму процедури Obrab
Рисунок 23 - Блок-схема алгоритму основної програми
Текст програми
Program Lab4a;
{Селективна Обробка Матриць} Uses Crt;
Const N1=5; M1=4; N2=4; M2=3;
Type Matr=Array[1..N1,1..M1] Real;
Var А, B : Matr; I, J : Integer;
{-------Процедура Введення Матриці-------}
Procedure Vvod(Var X:Matr;K,L:Integer);
Begin
Writeln(' Введіть Матрицю ',K:2,' Х ',L:2);
For I:=1 To K Do
Begin
Writeln(I:2,'-й Рядок');
For J:=1 To L Do Read(X[I,J]);
Writeln;
End;
End;
{-------Процедура Виведення Матриці-------}
Procedure Vivod(Var X:Matr;K,L:Integer); Begin
Writeln(' Початкова Матриця ');
For I:=1 To K Do
Begin
For J:=1 To L Do Write(X[I,J]:5:2,' ');
Writeln;
End;
Writeln;
End;
{-------Процедура Обробки-------}
Procedure Obrab(X:Matr;K,L:Integer);
Var Min : Real; Imin, Jmin : Integer;
Begin
Min:=10e30;
Imin:=0;
Jmin:=0;
For I:=1 To K Do
For J:=1 To L Do
If (X[I,J]>0) And (X[I,J]<Min) Then
Begin
Min:=X[I,J];
Imin:=I;
Jmin:=J;
End;
If Imin=0 Then Writeln('Додатних Нема')
Else
Begin
Writeln('Найменший Додатний Елемент = ',Min:6:2);
Writeln(' Рядок -',Imin:2,' Стовпець - ',Jmin:2);
End;
Writeln;
End;
{-------Основна Програма-------}
Begin
Clrscr;
Vvod(A,N1,M1);
Vvod(B,N2,M2);
Clrscr;
Writeln('Матрица А');
Vivod(A,N1,M1);
Obrab(A,N1,M1); Writeln('Матрица B');