Процедура-функция - QBasic

Узнай цену своей работы

Формулировка задачи:

Всем доброго времени суток. Заранее благодарен за помощь. Даны пять различных целых чисел. Найти среди них два числа, модуль разности которых имеет наибольшее значение. Вычисление модуля разности оформить в виде процедуры-функции.

Решение задачи: «Процедура-функция»

textual
Листинг программы
DECLARE FUNCTION ModRazn% (arg1%, arg2%)
 
CLS
DIM a(1 TO 5) AS INTEGER, min AS INTEGER, max AS INTEGER
INPUT "vvedite 5 razlichnih tselih chisel (cerez zapatie): ", a(1), a(2), a(3), a(4), a(5)
 
min = 1
max = 1
FOR i = 2 TO 5
IF a(i) > a(max) THEN max = i
IF a(i) < a(min) THEN min = i
NEXT i
 
PRINT
PRINT "Chisla "; a(max); " & "; a(min); " imeyut naibolshiy modul raznosti  == "; ModRazn%(a(max), a(min))
 
FUNCTION ModRazn% (x AS INTEGER, y AS INTEGER)
ModRazn% = ABS(x - y)
END FUNCTION

Объяснение кода листинга программы

  1. Объявлена функция ModRazn% с двумя аргументами типа INTEGER (целые числа).
  2. В начале кода выводится приглашение для ввода пяти различных чисел.
  3. Переменная min инициализируется значением 1, а переменная max также инициализируется значением 1.
  4. В цикле от 2 до 5 выполняется сравнение каждого введенного числа с числом, хранящимся в переменной min, и если число больше, то обновляется значение переменной min.
  5. В цикле от 2 до 5 выполняется сравнение каждого введенного числа с числом, хранящимся в переменной max, и если число меньше, то обновляется значение переменной max.
  6. Выводится приглашение для вывода результата.
  7. Выводится сообщение с наибольшим и наименьшим числами и их модулем разности.
  8. В конце кода определена функция ModRazn% с двумя аргументами типа INTEGER (целые числа), которая вычисляет модуль разности чисел.
  9. Код не содержит ошибок, но было бы полезно добавить проверку на ввод некорректных значений (например, не число или повторяющиеся числа).

Оцени полезность:

14   голосов , оценка 3.786 из 5