РУҚА
24

Шешімі: Исправление шешімдер линейного уравнения

ЕГЭ · Информатика · Тапсырма 24 · Бағдарламалау негіздері
КүрделіФИПИ8D5EEFТолық шешім≈ 8 минутТалдау 4 қадам
Условие

Требовалось написать программу, которая решает уравнение $ax+b=0$ относительно $x$ для любых действительных чисел $a$ и $b$, введённых с клавиатуры. Программист написал программу неправильно. Во всех трёх вариантах программы вводятся числа $a$, $b$ и $x$, затем сначала проверяется условие $b=0$, а при $b\ne0$ — условие $a=0$.

Последовательно выполните три задания: приведите пример таких чисел $a$, $b$, $x$, при которых программа неверно решает поставленную задачу; укажите лишнюю часть программы; укажите, как доработать программу, чтобы исключить неправильную работу.

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

4 қадам
1

Возьмём $a=0$, $b=0$, например $x=1$. Тогда исходное уравнение имеет вид $0x+0=0$ и верно при любом действительном $x$, то есть имеет бесконечно много решений. Программа же попадает в первую ветвь и сообщает только $x=0$, поэтому решение задачи описывается неверно.

2

Переменная $x$ во вводе является лишней: её значение не используется для решения уравнения. Также лишним является отдельное присваивание результата в ветви $b=0$ как особого случая: при $a\ne0$ значение $x=-b/a$ и так равно нулю.

3

Сначала нужно проверить, равен ли коэффициент $a$ нулю. Если $a=0$ и $b=0$, решений бесконечно много; если $a=0$ и $b\ne0$, решений нет. При $a\ne0$ решение вычисляется по формуле $x=-b/a$.

Один из нұсқа исправленной программы на Паскале:

$$\text{if } a=0 \text{ then if } b=0 \text{ then \text{«бесконечно много решений»} else \text{«нет решений»} else x=-b/a$$
Жауап

Пример: $a=0$, $b=0$, $x=1$; лишним является ввод переменной $x$ и отдельная обработка случая $b=0$ как первой ветви; нужно сначала проверять $a=0$, затем различать случаи $b=0$ и $b\ne0$, а при $a\ne0$ выводить $x=-b/a$.

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Указать случай $b=0$, $a\ne0$ как ошибочный: в этом случае программа действительно выдаёт правильное решение $x=0$.

Забыть, что при $a=0$, $b=0$ уравнение имеет бесконечно много шешімдер.

Предложить деление на $a$ без предварительной проверки, что $a\ne0$.

Не указать, что введённое значение $x$ не используется в вычислениях.

Закрепить приёмВ теме «Бағдарламалау негіздері» ещё 159 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 24 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 4 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Бағдарламалау негіздері»: в ней 160 задач, и у каждой есть такой же разбор. Тіркеу қажет емес.