РУҚА
24

Исправление решения линейного уравнения

ЕГЭ · Информатика · Задание 24 · Основы программирования
ПовышеннаяФИПИ8D5EEFРазвёрнутое решение≈ 8 минут

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

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

Условие как в банке ФИПИ — открыть и сверить
Дайте развернутый ответ.

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

ПРОГРАММА НА ПАСКАЛЕ

ПРОГРАММА НА БЕЙСИКЕ

ПРОГРАММА НА СИ

var a, b, x: real;
begin
readln(a,b,x);
if b = 0 then
write('x = 0')
else
if a = 0 then
write ('нет решений')
else
write('x =',-b/a);
end.

INPUT a, b, x
IF b = 0 THEN
PRINT "x = 0"
ELSE
IF a = 0 THEN
PRINT "нет решений"
ELSE
PRINT "x=",-b/a
END

void main(void)
{ float a,b,x;
scanf("%f%f%f",
&a,&b,&x);
if (b==0)
printf("x=0");
else
if (a==0)
printf ("нет решений");
else
printf("x=%f",-b/a);
}

Последовательно выполните три задания:

1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу.

2) Укажите, какая часть программы является лишней.

3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы).



Ответ

Это задание с развёрнутым решением: ответом считается запись хода решения, а не строка. Напишите решение на бумаге и сравните с разбором — там каждый шаг с обоснованием.

Открыть разбор
!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, когда прочитан предыдущий, — чтобы не перепрыгнуть сразу к ответу.
1Мягкая — с чего смотретьуровень 1 из 3

Рассмотрите отдельно случаи $a=0$ и $a\ne0$. Что происходит с уравнением при $a=0$, $b=0$?

2Наводящая — какие числа считатьуровень 2 из 3

Если $a\ne0$, единственное решение имеет вид $x=-\dfrac{b}{a}$. Если $a=0$, уравнение либо не имеет решений, либо имеет бесконечно много решений.

3Прямая — фактически решениеуровень 3 из 3

Например, при $a=0$, $b=0$, $x=1$ программа печатает $x=0$, хотя уравнение $0x+0=0$ имеет бесконечно много решений. В исправленной программе сначала проверяйте $a=0$, затем $b=0$.

Всё равно не складывается?Полное решение с обоснованием каждого шага — на отдельной странице.
Открыть решение

Задание 24 ЕГЭ, информатика

Задача из темы «Основы программирования»: в ней 160 задач с ответом и разбором по шагам. В 24-м номере бланка — 80 задач.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.