Ok je ne crois pas que cette fonction existe (en tout cas pas dans mon syllabus) je vais essayer avec un else mais j´ai un exemple d´un programme dans lequel il n´utilise pas de else et ca fonctionne quand A=0
program HERP001;
uses crt;
var A,B,C,RO,rac1,rac2 : real;
recomencer,reponse : char;
begin
repeat
clrscr;
writeln(´Calcule des solutions d´´‚quation du type´);
writeln(´Axý+Bx+C=0´);
writeln(´=========================================
=´);
writeln(´Entrer A:´);
readln(A);
writeln(´Entrer B:´);
readln(B);
writeln(´Entrer C:´);
readln(C);
writeln(´=========================================
=´);
writeln(A:1:2,´xý+´,B:1:2,´x+´,C:1:2,´=0´);
writeln(´ ´);
if A=0
then
begin
rac1 := -C/B;
writeln(´equation du premier degres!´);
writeln(B,´x+´,C,´=0´);
writeln(´x=´,rac1)
end;
(*calcule et affichage des solutions pour une équation du second degrés*)
RO := sqr(B)-4*A*C;
if RO<0
then
begin
writeln(´Solutions complexes:´);
rac1:=sqrt(-(RO))/2*A;
rac2:=abs(-b/(2*A));
writeln(´ ´);
writeln(´premiŠre racine complexe : ´,rac1:10:2,´+´,rac2:1:2,´i´);
writeln(´seconde racine complexe : ´,rac1:10:2,´-´,rac2:1:2,´i´)
end;
if RO=0
then
begin
writeln(´Une racine double :´);
rac1:=(-B/2*A);
writeln(´ ´);
writeln(´racine double = ´,rac1:10:4)
end;
if RO>0
then
begin
writeln(´racines réels :´);
writeln(´ ´);
rac1 := (-B+sqrt(RO))/2*A;
writeln(´premiere racine = ´,rac1:10:4);
rac2 := (-B-sqrt(RO))/2*A;
writeln(´seconde racine = ´,rac2:10:4)
end;
(*fin calcule et affichage des solutions pour une équation du second degrés*)
writeln(´ ´);
writeln(´=========================================
=´);
writeln(´ ´);
writeln(´recomencer le programme? (O/N)´);
readln(reponse);
until (reponse=´N´) or (reponse=´n´)
end.