Задача 15 Урок 11
Primary tabs
У вас есть число z=5. Пользователь вводит числа в цикле, если хотя бы одно введенное число число было равно 77, то увеличивайте число z на 1 в ответ на каждое введенное число, до тех пор пока пользователь не введет число 55, если такое произойдет то в ответ на это и любое последующее число, уменьшайте z на 1.
Цикл и программа должны завершиться, когда число z станет отрицательным.
(в начале цикла, если первое введенное число не равно ни 55, ни 77, считаем, что мы должны увеличивать z на 1 пока не встретим 55 или 77, которые укажут на конкретные действия).
ВАРИАНТ 1:
var a, z, x: integer; begin x:=77; z:=5; while (z>=0) do begin write('vvedite chislo: '); readln(a); if (a=77) then x:=a // переключатель "+1" else if (a=55) then x:=a; // переключатель "-1" if (x=77) then begin z:=z+1; writeln(z); end else if (x=55) then begin z:=z-1; writeln(z); end; end; writeln('zaverhenie'); readln(); end.
КОНСОЛЬ:
vvedite chislo: 33 6 vvedite chislo: 33 7 vvedite chislo: 77 8 vvedite chislo: 44 9 vvedite chislo: 44 10 vvedite chislo: 55 9 vvedite chislo: 33 8 vvedite chislo: 33 7 vvedite chislo: 33 6 vvedite chislo: 33 5 vvedite chislo: 33 4 vvedite chislo: 33 3 vvedite chislo: 33 2 vvedite chislo: 33 1 vvedite chislo: 33 0 vvedite chislo: 33 -1 zaverhenie
ВАРИАНТ 2 (это вариант из видео):
var z, input: integer; rost: boolean; begin z := 5; rost := true; write('vvedite chislo: '); readln(input); if (input = 77) then rost := true else if (input = 55) then rost := false; if (rost) then z := z + 1 else z := z - 1; while (z >= 0) do begin writeln(z); write('vvedite chislo: '); readln(input); if (input = 77) then rost := true else if (input = 55) then rost := false; if (rost) then z := z + 1 else z := z - 1; end; writeln('konec'); readln(); end.
КОНСОЛЬ:
vvedite chislo: 44 6 vvedite chislo: 77 7 vvedite chislo: 55 6 vvedite chislo: 1 5 vvedite chislo: 1 4 vvedite chislo: 11 3 vvedite chislo: 1 2 vvedite chislo: 1 1 vvedite chislo: 1 0 vvedite chislo: 1 konec
- Log in to post comments
- 581 reads