Решить систему двух линейных уравнений с двумя неизвестными - Free Pascal
Формулировка задачи:
Решить систему двух линейных уравнений с двумя неизвестными x,y,
a,b,c,d,e,f-коэффициенты вводимые с клавиатуры:
{ax+by=c
{dx+ey=f
PS: сам пытался написать но запутался и не мало ошибок выдаёт
вот мой код если что:
Program SYSTEM; procedure Korni(a,b,c1,d,e,c2:real;var x,y:real); begin if abs(a*e-d*b)<=0.0001 then write('Система не определена!') else begin {приведение матрицы к треугольному виду} {обнуляем коэффициент при х1 во 2 уравнении} e:=b+e*(-a/d); c2:=c1+c2*(-a/d); {ищем корни, начиная с последнего} y:=c2/e; x:=(c1-b*y)/a; end; end; var a,b,h,d,e,f,x,y:real; begin writeln('Введите коэффициенты первого уравнения:'); readln(a,b,h); writeln('Введите коэффициенты второго уравнения:'); readln(d,e,f); Korni(a,b,h,d,e,f,x,y); writeln('Корни системы:'); write('x=',x:0:2,' y=',y:0:2); readln; end.
Решение задачи: «Решить систему двух линейных уравнений с двумя неизвестными»
textual
Листинг программы
var a1,b1,c1,a2,b2,c2,d,d1,d2,x,y:real; begin writeln('Введите коэффициенты первого уравнения:'); readln(a1,b1,c1); writeln('Введите коэффициенты второго уравнения:'); readln(a2,b2,c2); writeln('Система:'); write(a1:5:2,'x'); if b1<0 then writeln(b1:5:2,'y=',c1:5:2) else writeln(' +',b1:5:2,'y=',c1:5:2); write(a2:5:2,'x'); if b2<0 then writeln(b2:5:2,'y=',c2:5:2) else writeln(' +',b2:5:2,'y=',c2:5:2); writeln; d:=a1*b2-a2*b1; if d=0 then begin write('Решений нет'); readln; exit end; d1:=c1*b2-c2*b1; d2:=a1*c2-a2*c1; x:=d1/d; y:=d2/d; writeln('x=',x:0:2); writeln('y=',y:0:2); end.
Объяснение кода листинга программы
- Ввод коэффициентов первого и второго уравнений.
- Вывод системы уравнений.
- Проверка наличия решений (определение значения det(A)).
- Вычисление значений x и y.
- Вывод значений x и y.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д