Also erstmal wird die Bedingungs standardmäßig "von links nach rechts" bearbeitet.
Konkret wird also erst versucht zu teilen, und danach geprüft ob b=1 usw. Die Überprüfung
auf b=0 müsste also an den Anfang um den Fehler zu verhindern.
Zum Konzept: Meinst du nicht, es ist einfacher zwei zufällige Zahlen zu multiplizieren
und dann daraus die Aufgabe zu erstellen?
Also sowas:
Delphi-Quellcode:
a:=-20+random(41);
b:=-200+random(401);
write(a*b,' / ',b,' = ');
readln(res);
i:= res = a;