Анализ циклов с параметром
ЗАДАЧА 1. Определите, какое число будет напечатано в результате работы программы, если вводятся данные:
25; 21; 23; 28; 30; 25; 31; 28; 25; 28; 30; 27; 26; 24;
n = 0
FOR i = 1 TO 14
INPUT Ves
IF Ves > 26 THEN
n = n + 1
END IF
NEXT i
PRINT n
РЕШЕНИЕ: (1 способ - Таблица трассировки)
n 0 0 0 0 1 2 2 3 4 4 5 6 7 7 7
i - 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Ves - 25 21 23 28 30 25 31 28 25 28 30 27 26 24
РЕШЕНИЕ: (2 способ - аналитический)
Программа вводит 14 чисел с клавиатуры и определяет, сколько из введенных чисел больше 26.
Это 7 чисел : 28; 30; 31; 28; 28; 30; 27
Ответ: 7
ЗАДАЧА 2. Определите, какое число будет напечатано в результате работы программы, если вводятся данные:
12; 15; 17; 15; 14; 12; 10; 13; 14; 15;
m = 0
FOR k = 1 TO 10
INPUT Dat
IF Dat > m THEN
m = Dat
ENDIF
NEXT k
PRINT m
РЕШЕНИЕ: (1 способ - Таблица трассировки)
m 0 12 15 17 17 17 17 17 17 17 17
k - 1 2 3 4 5 6 7 8 9 10
Dat - 12 15 17 15 14 12 10 13 14 15
РЕШЕНИЕ: (2 способ - аналитический)
Программа вводит 10 чисел с клавиатуры и находит наибольшее число из введенных. Это число - 17
Ответ: 17
ЗАДАЧА 3. Определите, какое число будет напечатано в результате работы программы, если вводятся данные:
7; 9; 10; 5; 6; 7; 9; 8; 6; 9;
m = 10
n = 0
FOR k := 1 TO 10
INPUT Dat
IF Dat < m THEN
m =Dat
n = k
ENDIF
NEXT k
PRINT n
РЕШЕНИЕ: (1 способ - Таблица трассировки)
m 10 7 7 7 5 5 5 5 5 5 5
n 0 1 1 1 4 4 4 4 4 4 4
k - 1 2 3 4 5 6 7 8 9 10
Dat - 7 9 10 5 6 7 9 8 6 9
РЕШЕНИЕ: (2 способ - аналитический)
Программа вводит 10 чисел с клавиатуры и находит наименьшее число из введенных и его номер.
Это число -5, оно было введено четвертым.
Ответ: 4
В4. Определите, какое число будет напечатано в результате работы программы, если вводятся данные:
1; 5; 3; 6; 7; 12; 1; 3; 3; 1;
m = 0
FOR t = 1 TO 10
INPUT Lose
IF Lose < 6 THEN
m = m + Lose
END IF
NEXT t
PRINT m
РЕШЕНИЕ: (1 способ - Таблица трассировки)
m 0 1 6 9 9 9 9 10 13 16 17
t - 1 2 3 4 5 6 7 8 9 10
Lose - 1 5 3 6 7 12 1 3 3 1
РЕШЕНИЕ: (2 способ - аналитический)
Программа вводит 10 чисел с клавиатуры и суммирует числа, не превышающие 6.
Это количество равно 1 + 5 + 3 + 1 + 3 + 3 + 1 = 17.
Ответ: 17