Найти среднее арифметическое положительных и отрицательных элементов массива - QBasic

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

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

Дан массив Ai, i=1....15. Найти среднее арифметическое положительных и отрицательных элементов массива R1 и R2. Определить какой из найденных элементов меньше по абсолютной величине. С помощью qbasic Помогите пожалуйста

Решение задачи: «Найти среднее арифметическое положительных и отрицательных элементов массива»

textual
Листинг программы
CLS : c = 15
DIM a(1 TO c)  AS INTEGER
s1 = 0: s2 = 0: r1 = 0: r2 = 0
RANDOMIZE TIMER
  PRINT "Задан массив:"
  FOR i = 1 TO c
    a(i) = RND(7) * 100 - 50: PRINT USING "#######"; a(i);
    IF i MOD 10 = 0 THEN PRINT
    IF a(i) > 0 THEN
         s1 = s1 + a(i): r1 = r1 + 1
       ELSEIF a(i) < 0 THEN
              s2 = s2 + a(i): r2 = r2 + 1
    END IF
  NEXT i: PRINT
  s1 = s1 / r1: s2 = s2 / r2: PRINT
  PRINT "Положительных чисел:"; r1; " их среднее арифметическое = "; s1
  PRINT "Отрицательных чисел:"; r2; " их среднее арифметическое = "; s2
  SELECT CASE ABS(s2) - ABS(s1)
     CASE 0: PRINT "Средние арифметические равны"
     CASE IS > 0: PRINT "Модуль Среднего арифметического положительных чисел меньше"
     CASE ELSE: PRINT "Модуль Среднего арифметического отрицательных чисел меньше"
  END SELECT

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

  1. Объявляется переменная c типа INTEGER и присваивается ей значение 15.
  2. Создается массив a(1 TO c) типа INTEGER.
  3. Инициализируются переменные s1, s2, r1, r2 типа INTEGER со значениями 0.
  4. Выполняется команда RANDOMIZE TIMER.
  5. Выводится сообщение Задан массив: и в цикле от 1 до c выводятся элементы массива a(i) с шагом 10 строк.
  6. Если текущий элемент массива a(i) больше 0, то к переменной s1 прибавляется значение a(i), а к переменной r1 прибавляется единица.
  7. Если текущий элемент массива a(i) меньше 0, то к переменной s2 прибавляется значение a(i), а к переменной r2 прибавляется единица.
  8. После цикла выводится сообщение Положительных чисел:r1 их среднее арифметическое = s1.
  9. Выводится сообщение Отрицательных чисел:r2 их среднее арифметическое = s2.
  10. Выполняется команда SELECT CASE ABS(s2) - ABS(s1).
  11. В зависимости от результата сравнения модуля среднего арифметического отрицательных чисел и модуля среднего арифметического положительных чисел выводится соответствующее сообщение.
  12. Код завершается.

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


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

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

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