SERGE_BLIZNUK
Silver Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Код: uses CRT; type TOperation = (AMult, AAdd, ASub, ADiv); var ch1, ch2, rotvet, otvet : extended; Operator : TOperation; COnt : integer; begin Randomize; repeat Operator := TOperation(random(ord(ADiv)+1)); ch1 := random(10000)/100; repeat ch2 := random(10000)/100; until (Operator<>ADiv) or (ch2<>0); repeat WriteLn; case Operator of AMUlt : begin Write(ch1:9:3,' * ',Ch2:9:3,' = ? '); rotvet := ch1 * ch2; end; AAdd : begin Write(ch1:9:3,' + ',Ch2:9:3,' = ? '); rotvet := ch1 + ch2; end; ASub : begin Write(ch1:9:3,' - ',Ch2:9:3,' = ? '); rotvet := ch1 - ch2; end; ADiv : begin Write(ch1:9:3,' / ',Ch2:9:3,' = ? '); rotvet := ch1 / ch2; end; end; Write('Ваш ответ: '); Readln(Otvet); if abs(Otvet-rOtvet)>=0.001 then WriteLn('Ошибка! Попробуйте ещё раз решить этот же пример!') else WriteLn('Правильный ответ!'); until abs(Otvet-rOtvet)<0.001; Writeln; WriteLn('Ещё пример решить? (1=Да, 0=нет)'); Readln(Cont); until Cont=0; end. | |