Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторки програмування.doc
Скачиваний:
12
Добавлен:
16.05.2015
Размер:
385.02 Кб
Скачать

Опис процедури Input

  • У заголовку процедури описаний один формальний параметр:

вихідне k (значення визначається в процедурі і передається в головну програму).

  • У циклі Repeat ...Until (K<=N) and (K>1) вводиться значення змінної K - Readln(K) з перевіркою (тобто що вводиться K повинне бути більше одиниці і менше або дорівнює N - заданому за умовою максимальному значенню розміру масиву А). Потім керування передається в головну програму.

Опис процедури InputMatrix.

  • У заголовку процедури описані параметри: K - вхідний параметр, переданий з головної програми, і A -вихідний параметр (масив елементів, що вводяться в процедурі, матриці А).

  • Описано локальні цілі змінні i (лічильник числа рядків), j (лічильник числа стовпців) - integer.

  • У процедурі в подвійному циклі for по змінним i, j вводяться значення елементів масиву А[I,J]: Readln(A[I,J].

  • Потім керування передається головній програмі.

Опис процедури OutputMatrix.

Оскільки алгоритм висновку матриці структурно нічим не відрізняється від алгоритму її введення (див. Відповідні блок-схеми в дод. 1), тоді оформлення процедури майже однаково. Зверніть, будь ласка, увага на те, що масив А - тепер параметр вхідної ( тобто відомий), тому ключове слово Var відсутнє. У подвійному циклі for реалізований порядковий висновок на екран вихідної матриці. У форматі висновку під виведене значення елементів матриці приділяється 7 позицій, у тому числі дві позиції для висновку дробової частини:

Write(A[i,j]:7:2,’ ‘).

Наступний оператор висновку без параметрів Writeln дозволяє закінчити висновок одного рядка матриці і перейти на наступну.

Опис процедури Evaluate.

  • У заголовку процедури описані параметри: K, A як вхідні параметри.

  • Описано локальні змінні i (лічильник числа рядків), j (лічильник числа стовпців) як integer і stolb (речовинний масив довжиною N - array [1..N] of Real), sr (робоча змінна типу Real для підрахунку суми елементів у даному стовпці).

  • У подвійному циклі for знаходиться середнє арифметичне значення для кожного стовпця і зберігається в одномірному масиві Stolb:

  1. цикл починається по стовпцях j від 1 до k ;

  2. потім у циклі по рядках i вважається сума елементів у даному стовпці sr;

  3. і обчислюється середнє арифметичне значення для кожного стовпця шляхом розподілу обчисленої суми на кількість рядків Stolb[j]:=sr/k.

  • Значення елементів одномірного масиву середнього арифметичного значення стовпців Stolb[j] у циклі for виводиться на екран.

Зауваження. Середні арифметичні значення кожного зі стовпців матриці можна обчислювати і відразу виводити на екран. Цей варіант придатний тільки тоді, коли значення середніх арифметичних більше ні для чого НЕ потрібні (як у нашому випадку). Тоді потреба в масиві Stolb і додатковому циклі for відпадає. У цьому випадку підпрограма Evaluate буде мати наступний вид:

Procedure Evaluate(k:integer; A:arrayA);

Var i,j:integer;

sr:real;

Begin

Writeln('-і-і-і- Середнє арифметичне кожного зі стовпців -і-і-і-');

for j:=1 to k do {-і-і-і- цикл по стовпцях -і-і-і- }

Begin

sr:=0;

for i:=1 to k do {------- цикл по рядках ------- }

sr:=sr+A[i,j]; {обчислення суми елементів по стовпцях

матриці A}

Writeln ('Стовпець [',j,']= ', sr/k :7:2);

End;

End;