s=0
k=0
while s < 80:
s += 2*k
k += 4
print(s)
1. Цикл while выполняется до тех пор, пока истинно условие s < 80, т. е. переменная s определяет,
сколько раз выполнится цикл.
Аккуратно выпишем все s и k:
s 0 0 8 24 48 80
k 0 4 8 12 16 20
(Демак, шу ерда к-ни хисобла деса, жавоб 20 булади!!!)
(Помните, что условие s < 80 проверяется только после k:=k+4, поэтому действие s:=s+2*k последний раз
выполнится для k=16)
Следовательно ответ 80.
n = 24
s=0
while n <= 28:
s += 20
n += 2
print(s)
Цикл while выполняется до тех пор, пока истинно условие n <= 28, т. е. переменная n определяет, сколько
раз выполнится цикл.
Аккуратно посчитаем, сколько раз выполниться цикл (k):
Значения n: 24 26 28 30.
Следовательно, цикл выполнится три раза (так как действие n := n + 2 стоит в конце цикла,
следовательно, для n=30 действие s := s + 20 не будет выполняться).
Посчитаем значение s:
n=3
s=0
while n <= 7:
s += n
n += 1
print(s)
Решение.
Цикл while выполняется до тех пор, пока истинно условие n <= 7, т. е. переменная n определяет, сколько
раз выполнится цикл.
Запишем последовательно значения s и n:
s 0 3 7 12 18 25
n345 6 7 8
Цикл выполнится пять раз (так как действие n := n + 1 стоит в конце цикла, следовательно, для n=8
действие s := s + n не будет выполняться).
О т в е т : 25.
n=4
s=0
while n <= 8:
s += n
n += 1
print(s)
Решение.
Поскольку изначально n = 4, цикл while n <= 8 выполнится пять раз. Следовательно, s = 4 + 5 + 6 + 7 +
8 = 30.
Ответ: 30.
s=0
k=0
while k < 12:
s += 2*k
k += 3
print(s)
Решение.
Цикл while выполняется до тех пор, пока истинно условие k < 12, т. е. переменная k определяет, сколько
раз выполнится цикл.
Так как числа небольшие, можно аккуратно выписать все s и k:
s 0 0 6 18 36
k 0 3 6 9 12
(Помните, что условие k < 12 проверяется сразу после k:=k+3, следовательно, действие s:=s+2*k для
k=12 выполняться не будет)
Следовательно, ответ — 36.
n=0
s = 512
while s >= 0:
s -= 20
n += 1
print(n)
a = 20
b=9
a=3*b-a
if a > b:
с=2*a-b
else:
с=2*a+b
Решение.
Выполним программу:
a = 20;
b = 9;
a = 3*b - a = 7;
Условие a > b не выполняется, поэтому далее выполним:
c := 2*a + b = 14 + 9 = 23;
a = 56
b=7
k=6
a = a/7 - b
if a > b:
c = a - k*b
else:
c = a + k*b;
Решение.
Выполним программу:
a := 56,
b := 7,
k := 6.
a := a / 7 − b = 1,
Условие a > b не выполняется, поэтому далее выполним: c := a + k*b = 1 + 6*7 = 43.
Ответ: 43.
a = 56
b=2
k=5
a = a/7 - b
if a > b:
c = 10 * a - k*b
else:
c = 10 * a + k*b;
Решение.
Выполним программу:
a := 56,
b := 2,
k:=5,
a := a \ 7 − b = 6.
Условие a > b выполняется, поэтому далее выполним: c := 10*a − k*b = 60 − 10 = 50.
Ответ: 50.
a = 27
b=6
b=2*a/3*b
if a > b:
c=a-b
else:
c=b+2*a
Решение.
При выполнении программы необходимо помнить, что приоритет действий таков: сначала выполняются
действия в скобках, затем возведение в степень, после умножение и деление, а приоритет сложения и
вычитания самый низкий. Таким образом следует отличать запись 2*a/3*b от 2*a/(3*b). В первом случае
сначала двойка умножается на a, затем результат делится на 3, после чего происходит умножение на
переменную b. Во втором случае сначала 3 умножается на b, затем 2 умножается на a и результат делится на
произведение 3*b.
Выполним программу:
a := 27,
b := 6,
b:= 2 *a / 3 * b = 54 / 3 * 6 = 108,
Условие a > b не выполняется, поэтому далее выполним: c := b + 2 * a = 108 + 2 * 27 = 162.
Ответ: 162.
x = 336
y=8
x = x // y
y=х%у
Решение.
Выполним программу:
x = 336,
y = 8,
x = [336/8] = 42,
y = {42/8} = 2.
n=4
s=0
while n <= 8:
s = s + 15
n=n+1
Решение.
Начнем анализировать программу. Нам задали два значения n = 4, s = 0. Начнем идти по программе:
когда n примет свое значение равное 8 программа остановится.
1)следовательно после выполнения первого круга n = 4, s = 15 далее мы увеличиваем n на единицу, а s на
15.
2)n = 5, s = 15 + 15 = 30
3)n = 6, s = 30 + 15 = 45
4)n = 7, s = 45 + 15 = 60
5)n = 8, s = 60 + 15 = 75, все программа останавливается, так как n = 8
Следовательно s принимает свое значение после выполнения программы равное 75.
a = 28
b = 10
a=3*b-a
if a > b:
с=2*а-b
else:
с=2*а+b
Решение.
Выполним программу:
a = 28;
b = 10;
a = 3*b - a = 2;
Условие a > b не выполняется, поэтому далее выполним:
c := 2*a + b = 4 + 10 = 14;
a = 56
b=7
k = 11
a = a/8 - b
if a > b:
c = a - k*b
else:
c = a + k*b;
Решение.
Выполним программу:
a := 56,
b := 7,
k:=11,
a := a/8 − b = 0.
Условие a > b не выполняется, поэтому далее выполним: c := a + k*b = 0+11*7=77.
Ответ: 77.
a = 56
b=7
k = 11
a = a/8 - b
if a > b:
c = a - k*b
else:
c = a + k*b;
Решение.
Выполним программу:
a := 56,
b := 7,
k:=11,
a := a/8 − b = 0.
Условие a > b не выполняется, поэтому далее выполним: c := a + k*b = 0+11*7=77.
Ответ: 77.
a = 56
b=2
k=5
a = a/8 - b
if a > b:
c = 10 * a - k*b
else:
c = 10 * a + k*b;
Решение.
Выполним программу:
a := 56,
b := 2,
k:=5,
a := a/8 − b = 5.
Условие a > b выполняется, поэтому далее выполним: c := 10*a − k*b = 50 − 10 = 40.
Ответ: 40.
a = 27
b=3
b=2*a/3*b
if a > b:
c=a-b
else:
c = b + 2 * a;
Решение.
При выполнении программы необходимо помнить, что приоритет действий таков: сначала выполняются
действия в скобках, затем возведение в степень, после умножение и деление, а приоритет сложения и
вычитания самый низкий. Таким образом следует отличать запись 2*a/3*b от 2*a/(3*b). В первом случае
сначала двойка умножается на a, затем результат делится на 3, после чего происходит умножение на
переменную b. Во втором случае сначала 3 умножается на b, затем 2 умножается на a и результат делится на
произведение 3*b.
Выполним программу:
a := 27,
b := 3,
b:= 2 *a / 3 * b = 2 * 27 / 3 * 3 = 54,
Условие a > b не выполняется, поэтому далее выполним: c := b + 2 * a = 54 + 2 * 27 = 108.
Ответ: 108.