Witam was wszystkich. Jestem tu nowy i myślę, że otrzymam od was pomoc. W ramach krótkiego wprowadzenia powiem, że jestem w maturalnej klasie, zdaję informatykę na poziomie podstawowym. Kłopot w tym, że w drugiej klasie miałem nauczyciela, na lekcjach którego można było robić wszystko. I przez to mało kumam z programowania. Uczę się samodzielnie i jakoś mi wchodzi to do głowy. I teraz przechodzimy do problemu: chcę zrobić program w free pascalu, który otrzymuje współczynniki równania kwadratowego, z nich oblicza deltę i podaje rozwiązania. Chcę też, że gdy jako a wprowadzę 0, program wyświetlił treść, że to nie jest równanie kwadratowe. I tu jest problem, bo w jednym przypadku program działa dla a nierównego 0, nie działa dla a równego 0, a w drugim jest na odwrót.Pokażę swój kod:
program rownaniekwadratowe;
uses crt;
var
a,b,c,delta:integer;
x,x1,x2:real;
begin
clrscr;
…(tu ma miejsce wprowadzanie współczynników);
delta:=(sqr(b) - (4*a*c));
x:=(-b)/(2*a);
x1:=(-b-(sqrt(delta))/(2*a));
x2:=(-b+(sqrt(delta))/(2*a));
if (a<>0) and (delta<0) then
writeln(‘Brak miejsc zerowych’);
if (a<>0) and (delta=0) then
writeln('Jedno rozwiązanie= ',x:4:2);
if (a<>0) and (delta>0) then
writeln('Dwa miejsca zerowe: ',x1:4:2, ’ ', x2:4:2);
if a=0 then
writeln(‘To nie jest równanie kwadratowe’);
readln;
end.
W tych dwóch przypadkach, kiedy program nie działa, wyskakują dwa błędy- już nie pamiętam, który kiedy, ale 200 i 207.
Bardzo byłbym wdzięczny za jakieś rady, wskazówki. Naprawdę nie wiem, co tu jest błędnego.