Предмет: Информатика, автор: ggalinka

Здравствуйте. Помогите написать программу на языке Бейсик.
Дан массив А из 20 элементов. Заменить отрицательные элементы массива на среднее арифметическое элементов массива. Результат вывести на печать.
Спасибо.


ggalinka: 50 P=1
ggalinka: 60 FOR I=1 TO 20
ggalinka: 70 P=P+A(I)
ggalinka: 80 NEXT
ggalinka: 90 PRINT P
ggalinka: 100 END
Аноним: Это вообще Бейсик какой-то древний. Или задание взято из древней книги. В последние лет 20 Бейсик нумерацию строк уже не использует.
Аноним: Вы эту задачу будете где-то запускать или просто текст привести надо?
ggalinka: Мне просто написать текст.
ggalinka: Я сама была в шоке от такого задания в контрольной работе ВУЗа

Ответы

Автор ответа: Аноним
3
Программа на qBASIC 7.01
DIM a(20)
s = 0
FOR i = 1 TO 20
   INPUT a(i)
   s = s + a(i)
NEXT i
s = s / 20
FOR i = 1 TO 20
   IF a(i) < 0 THEN a(i) = s
   PRINT a(i); " ";
NEXT i
PRINT
END

Тестовое решение:
? 5
? 8
? -3
? 7
? 11
? -12
? 6
? 0
? -13
? 9
? 11
? 0
? 7
? -4
? 1
? 9
? 4
? 5
? -11
? 3
 5   8   2.15   7   11   2.15   6   0   2.15   9   11   0   7   2.15   1   9
 4   5   2.15   3

Чтобы продолжить, нажмите любую клавишу


ggalinka: Можно еще вопрос: текст после тестового решения тоже является ответом на поставленную задачу?
Аноним: Под Windows qBASIC работает на виртуальной машине DOS и вывод идет в окно консоли. Чтобы после завершения программы оно не схлопывалось, qBASIC организует цикл ожидания с выдачей системного сообщения DOS при помощи стандартной команды PAUSE, которую он генерирует неявно. Текст "Чтобы продолжить..." - это как раз системное сообщение. Поскольку это результат работы не программы, а исполняющей системы, его приводить в ответе не надо.
Похожие вопросы
Предмет: Алгебра, автор: nastya02042012