Решение задачи №15 из главы 11
Primary tabs
Решение задачи №15 из главы 11
У вас есть число z=5. Пользователь вводит числа в цикле, если хотя бы одно введнное число было равно 77, то увеличивайте число z на 1, до тех пор пока пользователь не введет число 55, если такое произойдет то в ответ на это и любое последующее число, уменьшайте z на 1.
Цикл и программа должны завершиться, когда число z станет отрицательным.
(в начале цикла, если первое введенное число не равно ни 55, ни 77, счистаем, что мы должны увеличивать z на 1 первого и последующего чисел)
Вывод консоли Vvedite chislo 77 78 Vvedite chislo 55 54 Vvedite chislo 63 63 Vvedite chislo 44 44 Vvedite chislo
var z:integer;
begin
z:=5;
while z < 100 do
begin
writeln('Vvedite chislo');
readln(z);
if z < 0 then
break;
if z = 77 then
z:=z+1;
if z = 55 then
z:=z-1;
writeln(z);
end;
readln();
end.
- Log in to post comments
- 4623 reads
vedro-compota
Sun, 11/22/2020 - 16:49
Permalink
должно быть:
должно быть:
_____________
матфак вгу и остальная классика =)
gani84
Sun, 11/29/2020 - 15:26
Permalink
Исправил но не все работает
var z,a:integer; begin z:=5; while z < 100 do begin writeln('Vvedite chislo'); readln(a); if (a <> 55) AND (a <> 77) then z:=z+1; if z < 0 then break; if a >= 77 then z:=z+1; if a <= 55 then z:=z-1; writeln(z); end; readln(); end.vedro-compota
Sun, 11/29/2020 - 16:33
Permalink
замечания
-- неправильное условие, т.к. при z > 100 программа тоже должна работать (см. условие).
_____________
матфак вгу и остальная классика =)
gani84
Sun, 12/13/2020 - 15:47
Permalink
Исправил но не все работает
var z,a:integer; i:boolean; begin z:=5; i:=false; while z > 0 do begin writeln('Vvedite chislo'); readln(a); if (a = 55) then begin z:=z-1; i:=true end else i:=false; z:=z+1; if a = 77 then z:=z+1; writeln(z); end; readln(); end.vedro-compota
Sun, 12/13/2020 - 16:13
Permalink
добавьте распечатку консоли
добавьте распечатку консоли
_____________
матфак вгу и остальная классика =)
gani84
Sun, 12/20/2020 - 15:45
Permalink
Исправил
Вывод консоли
var z,a:integer; i:boolean; begin z:=5; i:=false; while z > 0 do begin writeln('Vvedite chislo'); readln(a); if (i = true) then begin z:=z-1; writeln(z); continue; end; if (a = 55) then begin i:=true; z:=z-1 end else z:=z+1; if a = 77 then z:=z+1; writeln(z); end; readln(); end.vedro-compota
Sun, 12/20/2020 - 16:35
Permalink
continue тут вообще не нужно
continue тут вообще не нужно
_____________
матфак вгу и остальная классика =)