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

Робота з одномірними масивами. Обчислення максимуму,

МІНІМУМУ, РОБОТА З ЕЛЕМЕНТАМИ МАСИВУ

Мета роботи

Метою даної лабораторної роботи є придбання навичок обробки елементів одномірних масивів: введення/виведення елементів, зміни елементів, визначення максимальних і мінімальних значень.

Завдання

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

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

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

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

Масив - це послідовно розміщені в пам'яті змінні одного типу. Для роботи з масивом необхідно освоїти виконання таких операцій: оголошення масиву, його ініціалізація і доступ до елементів.

Масив може бути оголошений з використанням операторів явного опису типів даних

INTEGER A(10),

або з використанням оператора опису масивів

DIMENSION A(10)

У другому випадку тип елементів масиву визначається автоматично. Слід відзначити, що при спільному використанні операторів опису типів даних та оператора опису масиву розмірність масиву вказується один раз:

INTEGER A

DIMENSION A(10)

Введення елементів масиву може бути організовано двома способами:

1. Використовуючи конструкцію неявного циклу в списку введення.

Зчитування одномірного масиву А(20) буде організовано наступним оператором:

READ(*,*) (A(I), I=1,20)

2. Використовуючи циклічний алгоритм.

При цьому способі оператор уведення розташовується усередині вкладених операторів циклу. Кількість операторів циклу відповідає розмірності масиву. Для одномірного масиву А(30), наприклад, уведення даних можна організувати так:

DO 10 I=1, 30

READ(*,*) A(I)

  1. CONTINUE

В усіх перерахованих вище прикладах введення елементів масиву ми використовували спосіб уведення масиву з клавіатури. У цьому випадку при введенні значень багатомірних чи великих одномірних масивів має місце істотний недолік: при введенні неправильного значення необхідно повторити усе введення даних. Тому уведення великої кількості значень краще організовувати з окремого файлу даних.

Доступ до елементів масиву здійснюється через ім'я масиву та індекс елемента. Наприклад, оператор К = А (4) +5 використовує 4 елемент масиву А.

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

DO 10 I=1, 20

A(I)=A(I)*2

10 CONTINUE

Рисунок 7 - Алгоритм визначення максимального значення елементів одновимірного масиву

У цьому випадку змінна циклу визначає індекси елементів масиву.

Алгоритм визначення максимального значення елементів одновимірного масиву наведено у вигляді блок-схеми на рисунку 7. Для знаходження мінімального значення необхідні його невеликі зміни. Його реалізація дана в прикладі.

Приклад. Знайти максимальне значення елементів масиву А(20) і помістити його на місце першого елемента масиву.

PROGRAM EXAMPLE

REAL A, MAX, A1

DIMENSION A(20) ! Опис масиву

INTEGER I, IMAX

С Файл, що містить елементи масиву

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

С Файл, що буде використаний для запису результатів роботи

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

С Введення елементів масиву

DO 10 I=1, 20

READ (1,*) A(I)

10 CONTINUE

С Визначення максимального елемента масиву

MAX=A(1)

DO 20 I=2, 20

IF(A(I).GT.MAX) THEN

MAX=A(I)

IMAX=I

ENDIF

20 CONTINUE

WRITE(2, 40)' Максимальне значення =', MAX

С Запис максимального значення на місце першого елемента

A(IMAX)=A(1)

A(1)=MAX

С Роздруківка масиву в рядок

DO 30 I=1,20

WRITE(2,’(F8.2\)’) A(I)

30 CONTINUE

40 FORMAT (1X, A10, F8.2)

END

Коментарі до програми: У програмі застосоване форматне введення/вивід. Подано два приклади розташування рядка форматів: в операторі WRITE, ув'язнене в одиночних лапках, і окремим рядком, за допомогою ключового слова FORMAT. Якщо використовується другий спосіб, то в операторі WRITE ставиться мітка, що вказує на рядок, який містить відповідний рядок форматів. Тут необхідно відзначити, що даний рядок форматів може знаходитися в будь-якому місці програми, при посиланні на нього керування йому не передається.

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

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