Даны массивы 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.
Составим программу вычисления на алгоритмическом языке Fortran.
Исходные данные – массивы Ai , i=1,…,10. и Bj , j=1,…,15 состоят из переменных вещественного тип, значения которых зададим самостоятельно. Первым оператором программы будет оператор DIMENSION, который объявит массивы и укажет их максимальный размер.
Для ввода исходных данных (общее количество элементов массивов равно 25) используем невыполняемый оператор DATA. Результаты выведем на дисплей под управлением списка.
Циклы организуем с помощью структурного оператора цикла. Для выбора минимальных элементов внутри циклов Amin и Bmin и сравнения их по абсолютной величине используем логический оператор IF.
Как и в примере 2 для “читаемости” снабдим программу комментариями.
Рис. 11. Схема вычисления Amin , Bmin и анализ их значений по абсолютной величине.
Текст программы на алгоритмическом языке Fortran
* Поиск минимальных элементов в массивах A, B и их сравнение
* по абсолютной величине
DIMENSION A(10),B(15)
* Ввод массивов
DATA A/-20.42,-11.80,-19.90,44.86,47.98,-9.86,-22.17,
* Выбор минимального элементов массива A и сохранение в Amin
IF(A(I) < Amin )THEN
Amin = A(I)
ENDIF
ENDDO
* Организация цикла по параметру J.
DO J = 2,15
* Выбор минимального элементов массива B и сохранение в Bmin
IF(B(J) < Bmin)THEN
Bmin = B(J)
ENDIF
ENDDO
* Печать Amin и Bmin
WRITE(*,*)’ Amin=’,Amin,’ Bmin=’,Bmin
* Сравнение |Amin| и |Bmin|
IF(ABS(Amin) > = ABS(Bmin))THEN
WRITE(*,*)’ |Amin| больше или равен |Вmin|’
ELSE
WRITE(*,*)’ |Bmin| больше |Amin|’
ENDIF
END
Текст программы на алгоритмическом языке 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,