if b=0 then writeln(‘Nieskończenie wiele rozwiązań’)
else
begin
writeln(‘Brak rozwiązań’)
end
else begin
x:=-b/a;
writeln('Rozwiązaniem równania jest ',x:4:2);
end;
end;
readln;
end.
Problem podobny, jak z równaniem kwadratowym. Rzecz polega na tym, że nie za bardzo rozumiem wprowadzanie warunków. O ile takie proste, to nie ma problemu, ale jak na przykład w moim programie: wprowadzam a:jeśli jest 0, to mogą być dwie możliwości:brak rozwiązań lub nieskończenie wiele rozwiązań. I nie wiem właśnie, jak połączyć te dwie możliwości z a=0 z możliwością, gdy a nierówne 0. Wyjaśnicie mi zasadę? Bo coś zauważyłem, że trzeba dawać nowe begin i end, a z tego, co ja wiem, to trzeba dawać przy pętlach while i for. Więcej zastosowań wprowadzenia nowego begin i end nie znam.
if warunek then
begin
//tutaj wszystko co chcesz aby wykonało się dla tego warunku
end
else if warunek then
begin
//tutaj dla warunku innego niż w pierwszym
end
else
begin
//tutaj dla wszystkich pozostałych
end
Warunki możesz łączyć m.in. AND (i) OR (lub) np.
if (a > 0) AND (a <10) then //wykona się jeśli a jest większe od 0 i mniejsze od 10.
O coś takiego ci chodzi czy jeszcze innego ponieważ dość ciężko mi rozczytać z czym masz problem.
To akurat z łączeniem warunków rozumiem. Chodziło mi właśnie o ten pierwszy wzór, nie wiedziałem, jak stosować warunek w warunku. Dzięki, program działa.
program liniowka;
uses crt;
var
a,b,x:real;
begin
clrscr;
writeln('Podaj wsp˘czynnik a r˘wnania liniowego');
readln(a);
if a=0 then
begin
writeln('Podaj wsp˘czynnik b r˘wnania liniowego');
readln(b);
if b=0 then
writeln('R˘wnanie ma nieskoäczenie wiele rozwiĄzaä')
else
writeln('Brak rozwiĄzaä')
end
else begin
writeln('Podaj b');
readln(b);
x:=(-b)/(a);
writeln('RozwiĄzaniem r˘wnania jest ',x:4:2);
end;
readln;
end.
Jedna rzecz mnie tylko zastanawia- gdy rozwiązaniem jest 0, to pokazuje -0…