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

Дана последовательность из N вещественных чисел. Первое число в последовательности нечетное. Найти сумму всех идущих подряд в начале последовательности нечетных чисел. Условный оператор не использовать.Qbasic

Ответы

Автор ответа: Аноним
1
О четности или нечетности вещественного числа можно говорить лишь если оно не имеет дробной части. В этом случае оно приводится к целому числу. Я не знаю, зачем дано абсолютно глупое требование не использовать условный оператор, но выполнить его можно. Надо умножать число на абсолютную величину остатка от его деления на 2. Если число четное, остаток будет нулевым, нечетное - единичным. Поэтому результатом умножения будет или само нечетное число, или ноль. И можно все подряд складывать.

CLS
DIM n AS INTEGER
INPUT "n=", n
DIM i AS INTEGER, k AS INTEGER, x AS SINGLE, s AS SINGLE, i AS INTEGER
s = 0
FOR i = 1 TO n
   INPUT "->", x
   s = s + x * (ABS(INT(x)) MOD 2)
NEXT i
PRINT "s = ", s
Приложения:

Аноним: И еще, сообщение "выдал ошибку" без текста этой ошибки - просто пустой звук.
gqj57642: ошибка и там написано "Name already in use on current line@
gqj57642: "Name already in use on current line"
Аноним: Понял... На скрине строку смотрите... там почему то дважды i As INTEGER влетело, когда копировал
Аноним: Просто удалите лишнее
gqj57642: моя вина,сразу не заметил что имя это уже есть.
gqj57642: спасибо большое
gqj57642: и еще,насчет условия то что первое число должно быть нечетным.оно присутствует в данном решении?
Аноним: Во втором вложении видите - с нечетного начат ввод. но на деле этому алгоритму все равно)))
gqj57642: окей)спасиб
Похожие вопросы