Циклические вычислительные процессы
Даны массивы 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
Титульный лист
Министерство образования РФ
Пермский институт (филиал)
«Российского государственный торгово-экономический
университет»
Кафедра Информационных технологий