Вычислить остаток от деления двух чисел нацело, используя операцию вычитанияПомогите пжлста
var a,b:integer;
begin
readln(a);
readln(b);
repeat
a:=a-b;
until a>b;
writeln(a);
end.
так же?
TarasBer
29.12.2011 13:54
Почти.
1. У тебя в условии выхода из цикла знак перепутался.
2. Если условие изначально выполнено, то вычитать не надо - то есть тебе нужен цикл с предусловием, а не послусловием.
понял))
var a,b,x:integer;
begin
readln(a);
readln(b);
while a>=b do begin
a:=a -b;
x :=x+1;
end;
writeln ('частное =',x);
writeln('остаток=',a);
end.
TarasBer
29.12.2011 23:57
Ты забыл инициализировать i нулём.
присвоить X значение 0? я че-т не понял.. в любом случае все работает))
терь нужно блок-схему построить..поможете?
Да именно так,потому что данный кампилятор не гарантирует,что любое число будет инициализироваться нулями,и воизбежание таких ляпов, люди приучают себя всегда так делать,чтобы не зависет от того,поддерживает ли среда это или нет.На работоспособность вашей программы это практически не повлияет,а вот если ваша программа будет запускаться сотни тысяч раз,там эта проблема может вылезти и давать иногда неверные результаты.Но все же лучше приучать себя с самого начала изучения.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.