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

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

  • У заголовку процедури описані параметри: N, переданий з головної програми; A - масив виведених елементів матриці.

  • Описано локальна перемінна i : integer- параметр циклу for.

  • У процедурі в циклі for виводяться значення елементів масиву А. В операторі висновку Write(A[i]:11,’ ’) заданий формат для виведеного елемента масиву: A[i]:11, що показує, що для висновку значення елемента масиву А приділяється 11 позицій.

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

Опис функції Summa

  • У заголовку функції описані параметри: k - число від’ємних елементів масиву, що зчитуються, до<=N; N - розмірність масиву, А - масив елементів. Функція Summa описана, як Extended.

  • У тілі функції задається лічильник від’ємних елементів масиву Кк, йому привласнюється початкове значення 1 ( Kk:=1). Початкове значення суми дорівнює 0 (s:=0).

У циклі for від одиниці до N вважається сума перших K від’ємних елементів масиву:

  1. перевіряється A[i]<0 (від’ємне число) і одночасно перевіряється значення лічильника Кк<=K (не перевищує числа негативних елементів масиву, що зчитуються, K);

  2. S:=S+A[i];

  3. лічильник від’ємних чисел збільшується на одиницю Кк:=Кк+1.

  • Після закінчення циклу функції Summa присвоюється значення отриманої суми всіх від’ємних чисел - Summa:=S.

  • Керування передається в головну програму.

Опис головної програми

  1. У тілі головної програми в циклі Repeat ... Until очищається екран (ClrScr).

  2. Виробляється рішення задачі для одного комплекту вхідних даних N, K, A:

  • Через виклик процедури Input(inv,NN,N) здійснюється введення довжини масиву N<=NN (змінні inv, NN є вхідними, змінна N - результат роботи процедури).

  • Через цю же процедуру Input(inv,N,K) здійснює введення числа від’ємних елементів масиву, що зчитуються, ДО<=N (змінного іnvк, N передаються з головної програми в процедуру, значення змінної K повертається з процедури в головну програму).

  • Процедура InputVector(N,A) здійснює введення елементів масиву А (значення змінної N передається з головної програми, значення елементів масиву А передається з процедури).

  • Процедура OutputVector(N,A) здійснює висновок елементів масиву А ( значення змінної N і значення елементів масиву А передаються з головної програми).

  • Виводиться значення суми через функцію Summa(k,N,A) (значення параметрів ДО, N, A передається з головної програми);

  • На екрані з'являється повідомлення «Знову? (Y/N)».

Змінній ch присвоюється значення натиснутої клавіші ch:=ReadKey і в залежності від відповіді керування передається на початок циклу (ch:=’Y’) чи програма закінчує виконання (ch:= ‘N’).

Додаток 4

Приклад виконання лабораторної роботи № 4

У лабораторній роботі № 4 задана квадратна матриця А розміром N * N (N<=10), що складається з дійсних елементів. Необхідно знайти середнє арифметичне значення елементів кожного зі стовпців цієї матриці.

Ім'я програми - WORK4.

  • У поле опису бібліотек і констант заданий стандартний модуль CRT, визначена константа N=10.

  • Описано власний тип даних Array для опису масиву розміром N * N, елементи якого мають тип Real, - Type Array=Array[1..N,1..N] of Real.

  • Описано змінні: ціла k: Integer, масив A:Array; символьна змінна ch: char.

  • Далі йдуть описи процедур Input, InputMatrix, OutputMatrix, і Evaluate.

  • Записано головну програму, що викликає потрібні процедури і функції, відповідно до алгоритму рішення задачі.