Задача 16 Урок 11
Primary tabs
У вас есть число z=5. Пользователь вводит числа в цикле, если за последние 4 попытки ввода было
хотя бы одно число больше или равно 15, то увеличивайте число z на 1 в ответ на каждое введенное
число, а если такого числа не было, то уменьшайте на 1 в ответ на каждый ввод.
Цикл и программа должны завершиться, когда число z станет отрицательным.Пример работы в консоли:
--Polzovatel: 12 Otvet: 4 --Polzovatel: 16 Otvet: 5 --Polzovatel: 5 Otvet: 6 --Polzovatel: 10 Otvet: 7 --Polzovatel: 8 Otvet: 8 --Polzovatel: 9 Otvet: 7 --Polzovatel: 9 Otvet: 6 --Polzovatel: 20 Otvet: 7
var a, z, i: integer;
begin
z := 5;
i := 0;
while (z >= 0) do
begin
writeln('Vvedite chislo');
readln(a);
if (a >= 15) then
i := 4;
if (i > 0) then
begin
z := z + 1;
i := i - 1;
end
else if (z >= 0) then
begin
z := z - 1;
end;
if z >= 0 then
writeln('Otvet: ', z);
end;
end.КОНСОЛЬ
Vvedite chislo 11 Otvet: 4 Vvedite chislo 15 Otvet: 5 Vvedite chislo 5 Otvet: 6 Vvedite chislo 5 Otvet: 7 Vvedite chislo 5 Otvet: 8 Vvedite chislo 5 Otvet: 7 Vvedite chislo 5 Otvet: 6 Vvedite chislo 5 Otvet: 5 Vvedite chislo 5 Otvet: 4 Vvedite chislo 5 Otvet: 3 Vvedite chislo 5 Otvet: 2 Vvedite chislo 55 Otvet: 3 Vvedite chislo 5 Otvet: 4 Vvedite chislo 5 Otvet: 5 Vvedite chislo 5 Otvet: 6 Vvedite chislo 5 Otvet: 5 Vvedite chislo 5 Otvet: 4 Vvedite chislo 5 Otvet: 3 Vvedite chislo 5 Otvet: 2 Vvedite chislo 5 Otvet: 1 Vvedite chislo 5 Otvet: 0 Vvedite chislo 5
- Log in to post comments
- 1674 reads
vedro-compota
Sun, 10/17/2021 - 12:20
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)
Vitaliy123
Sun, 10/17/2021 - 16:51
Permalink
Улучшенный вариант
var a, z, i: integer; begin z := 5; i := 0; while (z >= 0) do begin writeln('Vvedite chislo'); readln(a); if (a >= 15) then i := 4; if (i > 0) then begin z := z + 1; i := i - 1; end else begin z := z - 1; end; if z >= 0 then writeln('Otvet: ', z); end; end.avast36
Thu, 05/12/2022 - 09:52
Permalink
Исправил
program u11z16; var n,p,z:integer; t:boolean; begin z:=5; t:=false; while z>=0 do begin writeln('--Polzovatel:'); readln(n); if n>=15 then begin p:=4; // количество попыток t:=true; end else t:=false; if t or (p>=1) then begin p:=p-1; z:=z+1; end else z:=z-1; if z>=0 then writeln(' Otvet: ',z) else writeln('z<0, Poka!'); end; readln(); end.