В матриці А(10,15) обчислити середнє арифметичне додатнік елементів кожного рядка і записати в масив В(10). Блок-схема алгоритму приведене на Рис. 6.
Програма:
PROGRAM SER;
VAR
I,J,K:INTEGER;
Sr:REAL;
A:ARRAY[1..10,1..15]OF INTEGER;
В:ARRAY[1..10] OF REAL;
BEGIN
WRITELN ('Введи масив');
FOR I:=l TO 10 DO
FOR J:=l TO 15 DO
READ(A[I,J]);
FOR I:=l TO 10 DO
BEGIN
S:=0;
K:=0;
FOR J:=l TO 15 DO
IF A[I,J]>0 THEN
BEGIN
S:=S+A[I, J] ;
K:=K+1
END;
B[I]=S/K;
END;
WRITELN('Результат В');
FOR I:=l TO 10 Do
WRITE(B[I] :7:3) ;
WRITELN
END.
При роботі з масивами у Паскалі слід пам'ятати:
1. Кількість елементів масиву повинна бути фіксована, тобто визначена при трансляції програми. Паскаль не дозволяє проводити зміну розмірності масиву під час виконання програми.
2. Оскільки для задання кількості елементів масиву використовується "тип індекса", то кількість елементів визначається кількістю можливих значень цього типу. Це відрізняє мову Паскаль від інших алгоритмічних мов, в яких індекс може бути тільки цілим числом.
3. Так як елементами масиву можуть бути значення будь-якого типу, в тому числі і елементи типу масиву, то можна описати:
VAR
А:ARRAY[1. .10] OF ARRAY[1. .2 0] OF REAL
Змінну А можна трактувати двояко:
1. як масив елементами якого є масиви;
2. як двомірний масив, для опису якого можна використати еквівалентну форму опису:
VAR
A:ARRAY[1..10, 1..20] OF REAL;
Багатовимірні масиви запам'ятовуються в пам'яті машини послідовно у вигляді окремих компонентів, кожна з яких займає окрему комірку пам'яті машини послідовно у вигляді окремих компонентів, кожен з яких займає окрему комірку пам'яті. Але при роботі з двомірними масивами (матрицями у математиці) слід дотримуватись аналогії з математикою. Тобто, треба пам'ятати, що двомірні масиви вводяться і виводяться по рядках.
Щоб вивести описаний вище масив А слід:
FOR I:=l ТО 10 DO
BEGIN
FOR J:=l TO 20 DO
WRITE(A[I, J] ) ;
WRITELN
END;
КОНТРОЛЬНІ ЗАПИТАННЯ.
1. Як описуються символьні масиви?
2. Як класифікуються типи даних у Паскалі?
3. Які стандартні типи даних у Паскалі?
4. Як можна ввести новий тип даних?
5. Які особливості опису і застосування скалярного типу даних?
6. Що таке інтервальний тип даних?
7. Як описується регулярний тип у Паскалі?
8. Як задати розмірність масиву?
9. Як задається тип елементів масиву?
10. Як вводяться і виводяться двомірні масиви?
11. Що таке форматований вивід?
ЗАВДАННЯ
1. Ознайомитись із типами даних, які вживаються у Паскалі і особливостями застосування змінних рядкового типу.
2. Одержати індивідуальне завдання.
3. Скласти блок-схему алгоритму і програму на Паскалі для реалізації поставленого завдання.
4. Виконати обчислення по програмі.