Mam problem. Kompiluje mi program (który ma policzyć wartość, miejsca zerowe i punkt przecięcia z osią Y funkcji liniowej lub kwadratowej), ale nie może go odpalić (Przez ułamek sekundy pojawia się czarny ekran i potem wraca do tego co było). Nie mam pojęcia, co zrobić. Kod poniżej:
program funkcje;
uses crt;
var a,b,c,x,delta,y,x1,x2,x0,f0,l,k:real;
znak:char;
procedure liniowa;
begin
writeln('Podaj a');
readln(a);
writeln('Podaj b');
readln(b);
writeln('Podaj x');
readln(x);
y:=a*x+b;
writeln('y=',y:2:2);
x0:=-b/a;
writeln('x0=',x0:2:2);
f0:=b;
writeln('f(0)=');
end;
procedure kwadratowa;
function delta(a,b,c:real):real;
begin
delta:=sqr(b)-4*a*c;
if delta<0 then
begin
writeln('Brak miejsc zerowych');
end;
if delta=0 then
begin
x0:=-b/2*a;
writeln('x0='x0:2:2);
end;
if delta>0 then
begin
x1:=(-b-sqrt(delta(a,b,c)))/(2*a);
writeln('x1=',x1:2:2);
x2:=(-b+sqrt(delta(a,b,c)))/(2*a);
writeln('x2=',x2:2:);
end;
writeln('Podaj a');
redaln(a);
writeln('Podaj b');
readln(b);
writeln('Podaj c');
readln(c);
writeln('Podaj x');
readln(x);
y:=a*sqr(x)+b*x+c;
wrtieln('y=',y:2:2);
f0:=c;
writeln('f(0)=',f0:2:2);
end;
begin
writeln('Wybierz rodzaj funkcji. Wpisz l dla liniowej lub k dla kwadratowej');
readln(z);
case z of
'l': liniowa;
'k': kwadratowa;
end;
readkey;
end.