Исправление программы неравенства
Требовалось написать программу, которая решает неравенство $ax+b>0$ относительно $x$ для любых действительных чисел $a$ и $b$, введённых с клавиатуры. Программист написал программу неправильно.
В программах на Паскале, Бейсике и Си при $a=0$ проверяется знак $b$, а при $a\ne0$ выводится решение $x>-b/a$.
Последовательно выполните три задания:
1) Приведите пример таких чисел $a$, $b$, $x$, при которых программа неверно решает поставленную задачу.
2) Укажите, какая часть программы является лишней.
3) Укажите, как нужно доработать программу, чтобы не было случаев её неправильной работы. Можно указать любой способ доработки исходной программы.
Условие как в банке ФИПИ — открыть и сверить
| Требовалось написать программу, которая решает неравенство «ax+b>0» относительно x для любых чисел a и b, введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно.
Последовательно выполните три задания: | ||||||
| |
Это задание с развёрнутым решением: ответом считается запись хода решения, а не строка. Напишите решение на бумаге и сравните с разбором — там каждый шаг с обоснованием.
Открыть разбор1Мягкая — с чего смотретьуровень 1 из 3
Что происходит с направлением знака неравенства при делении на отрицательное число?
2Наводящая — какие числа считатьуровень 2 из 3
При $a<0$ решение имеет вид $x<-b/a$, а при $a=0$ нужно отдельно рассмотреть знак $b$.
3Прямая — фактически решениеуровень 3 из 3
Например, при $a=-1$, $b=2$, $x=3$ программа выводит $x>2$, хотя исходное неравенство имеет решение $x<2$. Удалите ввод $x$ и добавьте ветвление по знаку $a$.