Вывести результат сложения заданных чисел при отсутствии переполнения - QBasic
Формулировка задачи:
Требуется создать программу для проверки, можно ли сложить два задаваемых числа(со знаком).
Вводные данные:
во входном файле находятся числа X(-2^31<=X<=(2^31)-1)) и Y(-2^31<=Y<=(2^31)-1))
Выходные данные:
Следует вывести результат сложения заданных чисел при отсутствии переполнения или строку OVERFLOW при переполнении.
ПРИМЕР ДАННЫХ:
X=2147483646 Y=1 получится 2147483647
X=1 Y=2147483647 получится OVERFLOW
У меня при вводе первого примера выводится OVERFLOW, подскажите, где ошибка?
Листинг программы
- CLS
- 10 : INPUT "x= ", x
- 20 : INPUT "y= ", y
- 30 : IF x >= -2 ^ 31 AND x <= (2 ^ (31) - 1) THEN GOTO 40 ELSE GOTO 60
- 40 : IF y >= -2 ^ 31 AND y <= (2 ^ (31) - 1) THEN GOTO 50 ELSE GOTO 60
- 50 : PRINT x + y
- 60 : PRINT "OVERFLOW"
Решение задачи: «Вывести результат сложения заданных чисел при отсутствии переполнения»
textual
Листинг программы
- input"vvedite chislo=",a
- s=0
- do
- s=s+a mod 10
- a=a\10
- if s\10<>0 and a=0 then a=s:s=0
- loop until a=0
- print s
Объяснение кода листинга программы
В этом коде выполняется сложение введенного числа, при этом происходит проверка на переполнение. Если число больше 9, то оно выводится из памяти и сумма обновляется. Если число меньше или равно 9, то оно добавляется к сумме. После окончания цикла, если сумма не равна нулю, она выводится на экран.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д