Задание: переписать программу и написать пояснения к каждой строчке (что она делает)
Программа нахождения корней квадратного уравнения
var a,b,c: real;
x1,x2,D: real;
begin
readln(a,b,c);
D := b*b - 4*a*c;
if D<0 then
writeln('Корней нет')
else if D=0 then begin
x1 := -b/2/a;
writeln('x1=x2=',x1);
end
else begin
x1 := (-b-sqrt(D))/2/a;
x2 := (-b+sqrt(D))/2/a;
writeln('x1=',x1,' x2=',x2);
end;
end.
ответ описал в объяснении
Объяснение:
var a,b,c: real; //Объявление переменных a,b,c типа real(вещественный)
x1,x2,D: real; //Объявление переменных x1,x2,D типа real(вещественный)
begin //Начало программы, ее тело
readln(a,b,c); //Ввод с клавиатуры значений a,b,c
D := b*b - 4*a*c; //Формула вычисления дискриминанта
if D<0 then //Оператор если, в данном случае "ЕСЛИ ДИСКРИМИНАНТ МЕНЬШЕ НУЛЯ,ТО "
writeln('Корней нет') //Выполнение условия ЕСЛИ, вывод текста "Корней нет"
else if D=0 then begin // Условие ИНАЧЕ ЕСЛИ, проверка дискриминанта на принадлежность к нулю
x1 := -b/2/a; //Выполнение условия ИНАЧЕ ЕСЛИ, нахождение х1
writeln('x1=x2=',x1); //вывод корней
end //Окончание предыдущего блока begin
else begin //Условие ИНАЧЕ
x1 := (-b-sqrt(D))/2/a; //нахождение первого корня
x2 := (-b+sqrt(D))/2/a; //нахождение второго корня
writeln('x1=',x1,' x2=',x2); // вывод корней уравнения
end; //Окончание предыдущего блока begin
end. //Окончание программы