Написать программу которая находит значение выражения - Pascal ABC
Формулировка задачи:
|3x#+x-3|+|x-2| 1
y=----------------- + --------
|x*-x#+2x+1| |x-3|
x вводится с клавиатуры.ABS использовать запрещается.
использованием подпрограмм можно решить
* - это я так куб обозначила
# - квадрат
1
вторая дробь ---------
|x-3|
Решение задачи: «Написать программу которая находит значение выражения»
textual
Листинг программы
var
x,y,a,b,c,d: real;
begin
repeat
write('vvedite x: ');
readln(x);
until (x<>3)and((x*x*x-sqr(x)+2*x+1)<>0);
a:=3*sqr(x)+x-3;
if a<0 then a:=a*(-1);
b:=x-2;
if b<0 then b:=b*(-1);
c:=x*x*x-sqr(x)+2*x+1;
if c<0 then c:=c*(-1);
d:=x-3;
if d<0 then d:=d*(-1);
y:=a/c+b/d;
writeln('y=',y:7:3);
readln;
end.
Объяснение кода листинга программы
- Объявлены переменные x, y, a, b, c, d типа real.
- Запускается цикл repeat, который продолжается до тех пор, пока значение переменной x не станет равным 3 и выражение (xxx-sqr(x)+2*x+1) не станет равным 0.
- Значение переменной a вычисляется как 3*sqr(x)+x-3. Если значение переменной a отрицательное, то оно умножается на -1.
- Значение переменной b вычисляется как x-2. Если значение переменной b отрицательное, то оно умножается на -1.
- Значение переменной c вычисляется как xxx-sqr(x)+2*x+1. Если значение переменной c отрицательное, то оно умножается на -1.
- Значение переменной d вычисляется как x-3. Если значение переменной d отрицательное, то оно умножается на -1.
- Значение переменной y вычисляется как (a/c)+(b/d).
- Выводится значение переменной y с точностью до 3 знаков после запятой.
- Цикл repeat завершается.
- Программа ожидает ввода данных с помощью функции readln.