Циклические вычислительные процессы.

Даны массивы Ai , i=1,…,10 и Bj , j=1,…,15. Найти максимальные элементы массивов Amin и Bmin. Определить, какой из Amin или Bmin больше по абсолютной величине.

Составить схему вычислительного процесса и программу на любом алгоритмическом языке. Входные данные задать самостоятельно.

Решение

Нахождение минимального элемента массива A выполняется в цикле путем сравнения текущего элемента массива с минимальным из всех предыдущих. Для выбора внутри цикла используется следующая формула

.

Перед началом цикла задается начальное значение Amin=A1, и поиск в цикле начинается со второго элемента.

Аналогично вычисляется и Bmin.

Схема будет содержать два цикла: первый по параметру i от 2 до 10 с шагом 1, второй по параметру j от 2 до 15 с шагом 1. В результате работы первого цикла будет вычислен Amin, в результате работы второго - Bmin. Схема вычислений приведена на рис. 11.

Рис. 28. Схема вычисления Amin , Bmin и анализ их значений по абсолютной величине.

Исходные данные – массивы Ai , i=1,…,10. и Bj , j=1,…,15 состоят из переменных вещественного тип, значения которых зададим самостоятельно. Первым оператором программы будет оператор DIMENSION, который объявит массивы и укажет их максимальный размер.

Для ввода исходных данных (общее количество элементов массивов равно 25) используем невыполняемый оператор DATA. Результаты выведем на дисплей под управлением списка.

Циклы организуем с помощью структурного оператора цикла. Для выбора минимальных элементов внутри циклов Amin и Bmin и сравнения их по абсолютной величине используем логический оператор IF.

Как и в примере 2 для “читаемости” снабдим программу комментариями.

Текст программы на алгоритмическом языке Basic. Массивы A и B определены явно и имеют тип Single (действительные числа с обычной точностью). Остальные переменные имеют тип Variant. Ввод данных в массивы А и В осуществляется в использование оператора DATA непосредственно из программы. Вывод производится на экран дисплея осуществляется под управлением списка.

 

‘ Вычисление количества положительных элементов в массивах

DIM A(10) as Single, B(15) as Single

‘ Ввод массивов

DATA -20.42,-11.80,-19.90, 44.86, 47.98,-9.86,-22.17,-33.96,-33.72,

14.66,-8.99,-8.72,21.27,-17.38,13.32,-29.24,-31.40,8.34,-41.93,

-4.20,40.57,-23.86, 28.52,-12.11,-21.03

FOR I = 1 TO 10

READ A(I)

NEXT I

FOR J = 1 TO 15

READ B(J)

NEXT J

‘ Задание начальных значений

Amin = A(1)

Bmin = B(1)

‘ Организация цикла по параметру I. Выбор Amin

FOR I = 2 TO 10

‘ Выбор минимального элементов массива A и сохранение в Amin

IF(A(I) < Amin )THEN

Amin = A(I)

ENDIF

NEXT I

‘ Организация цикла по параметру J. Выбор Bmin

FOR J = 2 TO 15

‘ Выбор минимального элементов массива B и сохранение в Bmin

IF(B(J) < Bmin)THEN

Bmin = B(J)

ENDIF

NEXT J

‘ Печать Amin и Bmin

PRINT ’ Amin=’,Amin,’ Bmin=’,Bmin

‘ Сравнение |Amin| и |Bmin|

IF(ABS(Amin) > = ABS(Bmin))THEN

PRINT ’ |Amin| больше или равен |Вmin|’

ELSE

PRINT ’ |Bmin| больше |Amin|’

ENDIF

END


Приложение 1

Титульный лист

 

Министерство образования РФ

Пермский институт (филиал)

«Российского государственный торгово-экономический

университет»

 

Кафедра Информационных технологий