Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по информатике.doc
Скачиваний:
18
Добавлен:
02.02.2015
Размер:
730.62 Кб
Скачать

Робота з двовимірними масивами.

ВИЗНАЧЕННЯ КРАТНОСТІ ЕЛЕМЕНТІВ, СОРТУВАННЯ МАСИВУ

Мета роботи

Метою лабораторної роботи є закріплення навичок обробки двовимірного масиву, ознайомлення з алгоритмами сортування елементів двовимірного масиву.

Завдання

1. Скласти алгоритм і написати програму обробки двовимірного масиву. Здійснити введення двовимірного масиву з файлу даних, результати вивести в файл результатів, використовуючи при цьому форматний вивід. Варіанти завдань наведені у Додатку 12. Номер варіанта призначається викладачем.

2.Виконати налагодження програми та її тестування.

3. Скласти звіт про роботу.

Вказівки до виконання завдання

Алгоритм виявлення елементів, кратних якомусь значенню, аналогічний наведеному для одновимірного масиву в лабораторній роботі № 9. Порядок циклів при обробці масиву залежить від умов завдання (урахування рядків і стовпців масиву).

Для сортування елементів масиву використовуються цикли, а зміна розкладання елементів в масиві здійснюється за допомогою індексів. Способи сортування елементів двовимірного масиву наведено у прикладі.

Приклад. Дано масив цілих чисел А (20, 10).Визначити кількість елементів масиву, кратних 8 і вибудувати стовпці масиву за зростанням.

PROGRAM EXAMPLE

INTEGER A(20, 10), I, J, K, Z, M, N

OPEN(1, FILE=’A.DAT’, STATUS=’OLD’)

OPEN(2, FILE=’REZ.DAT’, STATUS=’NEW’)

READ(1, *) ((A(I, J), I=1, 20), J=1, 10) ! зчитування елементів масиву

Z=0 ! початкове значення кількості кратних елементів

! Роздруківка початкових даних

WRITE(2, ‘(A)’) ‘Масив А’

DO 10 I = 1, 10

DO 20 J=1, 10

WRITE(2, ‘(I4\)’) A(I, J)

20 CONTINUE

WRITE(2, *) ! перехід на інший рядок

10 CONTINUE

! Визначення кількості кратних елементів

DO 30 I = 1, 20

DO 40 J = 1, 10

M=A(I, J)/8

IF(M*8 . EQ. A(I, J)) Z=Z+1

40 CONTINUE

30 CONTINUE

WRITE(2, 15) ‘Кількість елементів, кратних 8’, Z

15 FORMAT (2X, A, I4)

! Сортування масиву

DO 50 J=1, 10 ! першим відкривається цикл по стовпцям

DO 60 K=1, 20

DO 65 I=1, 19

IF (A(I, J) .GT. A(I+1, J) THEN

N = A(I, J) ! перестановка

A(I, J) = A(I+1, J) ! елементів

A(I+1, J) = N ! місцями

ENDIF

65 CONTINUE

60 CONTINUE

50 CONTINUE

! Роздруківка нового масиву

WRITE(2, ‘(A)’) ‘Новий масив’

DO 15 I = 1, 10

DO 25 J=1, 10

WRITE(2, ‘(I4\)’) A(I, J)

25 CONTINUE

WRITE(2, *)

15 CONTINUE

END

Коментарі до програми: при організації циклів в алгоритмах сортування першим буде цикл за індексом того елемента двовимірного масиву (рядка або стовпця), який заданий в умові. Наступним буде цикл, який дозволяє повторити порівняння сусідніх елементів стільки разів, скільки їх є в рядку або стовпці. Слід також звернути увагу, що останній цикл охоплює всі елементи, крім останнього. Це пов'язано з алгоритмом організації порівняння елементів.

Звіт про роботу повинен містити короткий опис роботи, алгоритм у вигляді блок-схеми, текст програми та результати її роботи.

Лабораторна робота № 12

Підпрограма subroutine і загальні блоки Мета роботи

Метою даної лабораторної роботи є придбання навичок програмування з використанням підпрограм і загальних блоків, ознайомлення зі способами обміну даними між програмними одиницями, правилами запису даних процедур