Напишите процедуру, которая выводит на экран решение линейного алгебраического уравнения . Параметры и являются параметрами процедуры.
Answers & Comments
Эклео
//Линейное уравнение от одной переменной вида ax+b=0 procedure lin1(a,b: real; var x: real); begin x:=-b/a; end;
//Линейное уравнение двух переменных вида ax+by+c=0 //имеет бесконечное множество решений (корней) procedure lin2(a,b,c: real); var x,y: real; n,i: integer; begin write ('Сколько пар корней вы хотите получить? '); readln (n); for i:=1 to n do begin write ('Введите x='); read (x); y:=(-c-a*x)/b; writeln (' y=',y); end; end;
var a,b,c,x,y: real; n: integer; begin write ('Сколько переменных в уравнении - 1 или 2? '); readln (n); if n=1 then begin write ('Введите коэффициент при х: а='); readln (a); write ('Введите свободный коэффициент b='); readln (b); lin1(a,b,x); writeln ('x=',x); end else begin write ('Введите коэффициент при х: а='); readln (a); write ('Введите коэффициент при y: b='); readln (b); write ('Введите свободный коэффициент c='); readln (c); lin2(a,b,c); end; end. --------------пример 1------------------ Сколько переменных в уравнении - 1 или 2? 1 Введите коэффициент при х: а=3 Введите свободный коэффициент b=9 x=-3 --------------пример 2------------------- Сколько переменных в уравнении - 1 или 2? 2 Введите коэффициент при х: а=2 Введите коэффициент при y: b=2 Введите свободный коэффициент c=-4 Сколько пар корней вы хотите получить? 3 Введите x=0 y=2 Введите x=2 y=0 Введите x=-2 y=4 ----------------------------------------------
1 votes Thanks 3
Эклео
Надеюсь, я правильно понимаю суть задания. Если что, извиняйте.... Пишите, что не так, переделаю
Answers & Comments
procedure lin1(a,b: real; var x: real);
begin
x:=-b/a;
end;
//Линейное уравнение двух переменных вида ax+by+c=0
//имеет бесконечное множество решений (корней)
procedure lin2(a,b,c: real);
var x,y: real;
n,i: integer;
begin
write ('Сколько пар корней вы хотите получить? ');
readln (n);
for i:=1 to n do begin
write ('Введите x=');
read (x);
y:=(-c-a*x)/b;
writeln (' y=',y);
end;
end;
var
a,b,c,x,y: real;
n: integer;
begin
write ('Сколько переменных в уравнении - 1 или 2? ');
readln (n);
if n=1
then begin
write ('Введите коэффициент при х: а=');
readln (a);
write ('Введите свободный коэффициент b=');
readln (b);
lin1(a,b,x);
writeln ('x=',x);
end
else begin
write ('Введите коэффициент при х: а=');
readln (a);
write ('Введите коэффициент при y: b=');
readln (b);
write ('Введите свободный коэффициент c=');
readln (c);
lin2(a,b,c);
end;
end.
--------------пример 1------------------
Сколько переменных в уравнении - 1 или 2? 1
Введите коэффициент при х: а=3
Введите свободный коэффициент b=9
x=-3
--------------пример 2-------------------
Сколько переменных в уравнении - 1 или 2? 2
Введите коэффициент при х: а=2
Введите коэффициент при y: b=2
Введите свободный коэффициент c=-4
Сколько пар корней вы хотите получить? 3
Введите x=0
y=2
Введите x=2
y=0
Введите x=-2
y=4
----------------------------------------------