Как лучше? - 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"

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

Вот список действий, которые выполняются в данном коде:

  1. Ввод числа n с помощью функции INPUT.
  2. Выделение памяти под массив a размером n с помощью команды DIM.
  3. Итерация по всем элементам массива a с помощью цикла FOR.
  4. Ввод значения каждого элемента массива a с помощью функции INPUT.
  5. Проверка на отрицательность введенного значения и приведение его к положительному значению с помощью операции вычитания a(i) — a(i).
  6. Проверка на ненулевое значение элемента массива a.
  7. Если элемент массива a не равен нулю, то начинается цикл DO WHILE, который будет выполняться до тех пор, пока значение элемента массива a больше или равно 1.
  8. В каждой итерации цикла значение элемента массива a уменьшается на 2.
  9. Если значение элемента массива a становится равным нулю, то переменная f устанавливается в 1 и выполняется выход из цикла FOR с помощью команды EXIT FOR.
  10. После окончания цикла FOR проверяется значение переменной f.
  11. Если f равно 1, то выводится сообщение da, иначе выводится сообщение net.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

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

15   голосов , оценка 3.8 из 5
Похожие ответы