Другие языки программирования и технологии

проверьте пожалуйста программу(очень нужно!!!!)

СХЕМАЗадание 4. Ввести некоторое целое число N. Определить, является ли оно числом: Отрицательным?Кратным 4?Меньшим -3Степенью 5? var a,n,m:integer; b:boolean; begin while true do begin writeln('vvedite chislo'); readln(n); writeln('viberite deistvie:'); readln(a); case a of 1:if n>=0 then writeln('>=0') else writeln('<'); 2:if (n mod 4) = 0 then writeln('kratno 4') else writeln('ne kratno 4'); 3:if n<-3 then writeln('<') else writeln('>=-3'); 4:begin m:=n; b:=true; while m>=5 do begin if m mod 5 <> 0 then begin b:=false; break;end else begin m:= m div 5; end; end; if m<>-3 then b:=false; if b then writeln('stepen 5') else writeln('ne stepen 5'); end; 6:break; end; end; end.
все работает правильно кроме проверки числа на степень пятерки

var
a,n,m:integer;
b:boolean;
begin
while true do begin
writeln('vvedite chislo');
readln(n);
writeln('viberite deistvie:');
readln(a);
case a of
1:if n>=0 then writeln('>=0') else writeln('<');
2:if (n mod 4) = 0 then writeln('kratno 4') else writeln('ne kratno 4');
3:if n<-3 then writeln('<') else writeln('>=-3');
4:begin
m:=5;
b:=True;
while m<=n do begin
if m=n then begin
Writeln('stepen 5');
b:=False;
end;
m:=m*5;
end;
if b then Writeln('ne stepen 5');
end;
6:break;
end;
end;
end.
Т*
Тлепбергенов) *
1 511
Лучший ответ
все правильно. Но в задании сказано проверить за один раз и вывести ответы на вопросы сразу. А ты проходишь несколько раз.. . С другой строны наличие интерфейса :) это неплохо )))))
Тоько имена переменным давай более осмысленные.
например, вместо b завести переменную is_stepen5. не бойдся именам переменным . как и именам функция давать длинные названия.
да и вобще комментарии неплохо бы оставлять. Они нужны . в первую очередь, для тебя.
В будущем залезешь в свою прогу и будешь материться, что ничего не понятно :)
Да и когда комменты пишешь, понимаешь смысл программы.
смысл вот этой строчки непонятен
m:=n;
почему нельзя работать все время с числом n?
если ты хочешь сохранить его, то зачем? все равно при новом проходе цикла
while true do
begin
n затрется.