Var a,b,c,r:integer;begin writeln (' vvedite 3 chusla ');read(a,b,c);r:=a+b+c;write (r);end.
<u>Итак зацикливание в программировании - это ситуация, когда цикл написан таким образом ,что условия выхода из него не выполняется.</u> Рассмотрим зацикливание в операторах цикла for,while и repeat . Справедливости ради все варианты будут рассмотрены в Turbo Pascal и PascalABC. Также будет добавлен оператор write для вывода результатов.
Зацикливание в for
Вообще идея зацикливания проста : необходимо всего-то в каждом шаге цикла уменьшать оператор шага на 1 (i:=i-1;) . Однако именно такая реализация возможна не везде. Рассмотрим простой пример.
for i:=1 to 5 do begin
i:=i-1;
write(i);
end.
Казалось бы все просто,да не тут то было.В то время как в Turbo Pascal все проходит на ура,в PascalABC такое не возможно и для зацикливания необходимо использовать оператор goto.
label m;
var i:integer;
begin
m:
for i:=1 to 5 do begin
write(i);
if i=2 then goto m;
end;
end.
Зацикливание в while
Напомню,что в операторе while шаг цикла необходимо добавлять самостоятельно. Поэтому произвести зацикливание проще всего : нужно только убрать шаг цикла
var i:integer;
begin
i:=0;
while i<>1 do
write(i);
end.
Оба компилятора адекватно реагируют на пропуск шага.
Зацикливание в repeat
Для создание бесконечного цикла в этом случае, как и предыдущем, достаточно не указывать шаг цикла
var i:integer;
begin
i:=0;
repeat
write(i);
until i=1;
end.
<u>тут вам приведены различные варианты для создание бесконечного цикла. Однако запомните,что зацикливание создает нагрузку и вообще редко используется. Гораздо чаще применяют неполное зацикливание при котором выход из цикла все же совершается.</u>
Ответ: 1 1 1 1 1 0
Первый разряд — 1
Второй разряд — 2
Третий разряд — 4
Четвертый разряд — 8
Пятый разряд — 16
Шестой разряд — 32
Складываем разряды. Получаем 62.
Такая же логика действует и в обратном направлении.
Если 2711 бит передается за 1 секунду, то за 38 секунд будет 38*2711=103018 бит
1)var a,b,i:integer;
begin
readln(a,b);
for i:= 1 to 100 do
if (i mod a<>0) and (i mod b<>0) then write(i,' ')
<span> end.
2)</span>var a,b,i,k:integer;
begin
readln(a,b);
k:=0;
for i:= a to b do
if (i mod 7=0) xor (i mod 9=0) then k:=k+1;
write(k)<span>
end.
3)</span>var pol,i,otr,a:integer;
begin
otr:=0;
pol:=0;
for i:= 1 to 10 do
begin
readln(a);
if a>0 then pol:=pol+1;
if a<0 then otr:=otr+1
end;
if pol>otr then write('Положительных больше');
if otr>pol then write('Отрицательных больше')<span>
end.
4) </span>var i,a,b:integer;
begin
readln(a,b);
for i:= a to b do
if (i mod 3 =0) or (i mod 7=0) then write(i,' ',i,' ') else write(i,' ')
<span>end.</span>