Программа для вычисления функции - 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 десятичных знаков.
- Если
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д