Здравствуйте. Помогите написать программу на языке Бейсик.
Дан массив А из 20 элементов. Заменить отрицательные элементы массива на среднее арифметическое элементов массива. Результат вывести на печать.
Спасибо.
ggalinka:
50 P=1
60 FOR I=1 TO 20
70 P=P+A(I)
80 NEXT
90 PRINT P
100 END
Это вообще Бейсик какой-то древний. Или задание взято из древней книги. В последние лет 20 Бейсик нумерацию строк уже не использует.
Вы эту задачу будете где-то запускать или просто текст привести надо?
Мне просто написать текст.
Я сама была в шоке от такого задания в контрольной работе ВУЗа
Ответы
Ответ дал:
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
Чтобы продолжить, нажмите любую клавишу
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
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
Чтобы продолжить, нажмите любую клавишу
Можно еще вопрос: текст после тестового решения тоже является ответом на поставленную задачу?
Под Windows qBASIC работает на виртуальной машине DOS и вывод идет в окно консоли. Чтобы после завершения программы оно не схлопывалось, qBASIC организует цикл ожидания с выдачей системного сообщения DOS при помощи стандартной команды PAUSE, которую он генерирует неявно. Текст "Чтобы продолжить..." - это как раз системное сообщение. Поскольку это результат работы не программы, а исполняющей системы, его приводить в ответе не надо.
Вас заинтересует
2 года назад
2 года назад
2 года назад
7 лет назад
7 лет назад
9 лет назад
9 лет назад