Как лучше? - QBasic
Формулировка задачи:
В учебнике по Бейсику приведено следующее задание: определить, есть ли в массиве чётные числа. Я написала следующую программу:
в книге, естественно, приведено другое решение(плюс приписочка, что оно наиболее эффективно из всех возможных):
По каким параметрам определяется эффективность?
Решение задачи: «Как лучше?»
textual
Листинг программы
INPUT "vvedite n"; n DIM a(n) AS INTEGER FOR i = 1 TO n INPUT "vvedite element"; a(i) IF a(i) < 0 THEN a(i) = a(i) - a(i) - a(i) IF a(i) <> 0 THEN DO WHILE a(i) >= 1 a(i) = a(i) - 2 LOOP IF a(i) = 0 THEN f = 1: EXIT FOR END IF NEXT IF f = 1 THEN PRINT "da" ELSE PRINT "net"
Объяснение кода листинга программы
Вот список действий, которые выполняются в данном коде:
- Ввод числа n с помощью функции INPUT.
- Выделение памяти под массив a размером n с помощью команды DIM.
- Итерация по всем элементам массива a с помощью цикла FOR.
- Ввод значения каждого элемента массива a с помощью функции INPUT.
- Проверка на отрицательность введенного значения и приведение его к положительному значению с помощью операции вычитания a(i) — a(i).
- Проверка на ненулевое значение элемента массива a.
- Если элемент массива a не равен нулю, то начинается цикл DO WHILE, который будет выполняться до тех пор, пока значение элемента массива a больше или равно 1.
- В каждой итерации цикла значение элемента массива a уменьшается на 2.
- Если значение элемента массива a становится равным нулю, то переменная f устанавливается в 1 и выполняется выход из цикла FOR с помощью команды EXIT FOR.
- После окончания цикла FOR проверяется значение переменной f.
- Если f равно 1, то выводится сообщение
da
, иначе выводится сообщениеnet
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д