Урок 11 Задача 16
Primary tabs
У вас есть число z=5. Пользователь вводит числа в цикле, если за последние 4 попытки ввода было хотя бы одно число больше или равно 15, то увеличивайте число z на 1 в ответ на каждое введенное число, а если такого числа не было, то уменьшайте на 1 в ответ на каждый ввод.
Цикл и программа должны завершиться, когда число z станет отрицательным.
var a, z, b ,minus ,plus , i, znachenie: integer;
begin
b:=0;
z:=5;
plus:=1;
minus:=-1;
while z>=0 do
begin
znachenie:=minus;
b:=0;
for i:= 1 to 4 do
begin
writeln('znachenie: ',znachenie,' b: ',b );
writeln('vvedite chislo: ');
readln(a);
if (a<15)and(znachenie=minus) then
b:=b+znachenie
else if a>=15 then
if b<0 then
begin
b:=0;
znachenie:=plus;
b:=b+znachenie;
end
else
b:=b+znachenie;
end;
z:=z+b;
writeln('z = ',z);
end;
writeln(); writeln();
writeln('<<konec>>');
readln();
end.- Log in to post comments
- 609 reads
vedro-compota
Sun, 11/13/2022 - 13:11
Permalink
Вложенные циклы не нужны
Если вообще не идет - см. разбор
_____________
матфак вгу и остальная классика =)
Parmak
Wed, 11/16/2022 - 14:15
Permalink
RE
var a, z, b ,minus ,plus , i, znachenie: integer; begin z:=5; i:=0; while z>=0 do begin writeln('vvedite chislo: '); readln(a); if (a>=15) then i:=4 else i:=i-1; if (i>0) then z:=z+1 else z:=z-1; writeln('z = ',z); end; writeln(); writeln(); writeln('<<konec>>'); readln(); end.