Witam,
Mam do napisania program jako pracę kontrolną na zaliczenie semestru.
Program ma obliczać pierwiastki równania kwadratowego, co robi.
Potrzebuje go zmodyfikować w następujący sposób: W przypadku kiedy ktoś za "a" poda "0", to powinien wyskakiwać komunikat podaj wartość różną od 0, i żeby program wracał do początku
- muszę stworzyć schemat blokowy do tego programu.
Kod źródłowy mojego programu:
program pierwiastki;
uses crt; {biblioteka}
var a,b,c,d,x1,x2:real; {zminne}
var w:char; {wylanczanie programu}
begin {Start programu}
w:='t'; {deklaracja stałej do wylaczenia programu}
repeat {petla}
clrscr; {czyszczenie ekranu}
Writeln('Program do obliczania pierwiastków równania kwadratowego');
Write('Podaj wspolczynnik a: ');readln(a); {Zmienna a} {!!! W przypadku kiedy ktoś za "a" poda "0", to powinien wyskakiwać komunikat podaj wartość różną od 0, i żeby program wracał do początku !!!}
Write('Podaj wspolczynnik b: ');readln(b); {Zmienna b}
Write('Podaj wspolczynnik c: ');readln(c); {Zmienna c}
writeln;
d:=(b*b)-(4*a*c); {Obliczanie delty}
if d<0 then writeln('Brak pierwiastkow'); {Jezeli pierwiastek z delty < 0}
if d=0 then {Jezeli pierwiastek z delty = 0}
begin
x1:=(-b)/(2*a);
textcolor(white);
Writeln('Wielomian ma jedno miejsce zerowe rowne ',x1:0:2);
end;
if d>0 then {Jezeli pierwiastek z delty > 0}
begin
x1:=(-b-sqrt(d))/(2*a);
x2:=(-b+sqrt(d))/(2*a);
textcolor(white);
writeln('Rownanie tej funkcji kwadratowej ma dwa miejsca zerowe: x1=',x1:0:2,' i x2=',x2:0:2);
end;
writeln;
writeln('Wprowadz n, aby zamknac program.') ;
writeln('Albo dowolny inny klawisz aby podac nowe wartosci') ;
readln(w);
until w='n'; {wylanczanie programu, koniec petli}
readln
end.
Z góry dziękuje za pomoc, pozdrawiam