Программа для вычисления функции - Pascal (80312)
Формулировка задачи:
Составить программу для вычисления функции (функция внизу), где x - меньший корень уравнения ax^2+bx+c=0. Значения a, b, с задавать при вводе. На экран дисплея вывести значения a, b, c, x, y. Спасибо
Решение задачи: «Программа для вычисления функции»
textual
Листинг программы
- var a,b,c,d,x1,x2,x,y: real;
- k:byte;
- begin
- writeln('Введите коэффициенты квадратного уравнения a,b,c');
- readln(a,b,c);
- d:=b*b-4*a*c;
- k:=0;
- if d<0 then write('Уравнение не имеет действительных корней')
- else if d=0 then write('Уравнение имеет только 1 действительный корень')
- else
- begin
- x1:=(-b-sqrt(d))/(2*a);
- x2:=(-b+sqrt(d))/(2*a);
- if x1<x2 then x:=x1
- else x:=x2;
- writeln('x1=',x1:0:3,' x2=',x2:0:3,' x=',x:0:3);
- if x<0 then y:=x+cos(x)/(x*x-1)
- else
- begin
- if x=0 then k:=1
- else y:=(x*x+1)*cos(x)/(x*x);
- end;
- if k=1 then write('Значение Y не определено, деление на 0')
- else write('Y=',y:0:3)
- end;
- end.
Объяснение кода листинга программы
- Объявление переменных:
a
,b
,c
,d
,x1
,x2
,x
,y
- вещественные числаk
- целое без знака
- Ввод значений коэффициентов квадратного уравнения
a
,b
иc
с помощью функцииreadln
- Вычисление дискриминанта квадратного уравнения:
d := b*b - 4*a*c
- Установление начального значения переменной
k
как 0:k := 0
- Проверка условия:
- Если дискриминант меньше 0, то выводится сообщение
Уравнение не имеет действительных корней
- В ином случае, если дискриминант равен 0, выводится сообщение
Уравнение имеет только 1 действительный корень
- В остальных случаях выполняется следующий блок:
- Если дискриминант меньше 0, то выводится сообщение
- Нахождение корней квадратного уравнения:
x1: = (-b-sqrt(d))/(2*a)
иx2 := (-b+sqrt(d))/(2*a)
- Проверка условия:
- Если
x1
меньшеx2
, тоx
присваивается значениеx1
- В противном случае
x
присваивается значениеx2
- Если
- Вывод корней уравнения
x1
,x2
иx
с точностью до 3 десятичных знаков - Проверка условия:
- Если
x
меньше 0, тоy
присваивается значениеx + cos(x)/(x*x-1)
- В ином случае:
- Если
x
равен 0, устанавливается значениеk
равное 1 - В остальных случаях
y
присваивается значение(x*x+1)*cos(x)/(x*x)
- Если
- Если
- Проверка условия:
- Если
k
равно 1, выводится сообщениеЗначение Y не определено, деление на 0
- В ином случае выводится значение
Y
с точностью до 3 десятичных знаков.
- Если
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д