Алгоритмы (сборник задач)
.pdfб) S=2,09:
Шаг |
1 |
2 |
3 |
4 |
5 |
6 |
|
|
|
|
|
|
|
|
|
Значение |
0 |
1 |
1,5 |
1,8333 |
2,0833 |
2,2833 |
|
S1 |
|
|
|
|
|
|
|
Значение |
0 |
1 |
2 |
3 |
4 |
5 |
|
N |
|
|
|
|
|
|
|
Шаг |
0 < 2,09 (Да) |
1 < 2,09 |
1,5<2,09 (Да) |
1,83333<2,09 |
2,0833<2,09 (Да) |
2,2833 < 2,09 |
|
(Нет) |
|||||||
|
|
(Да) |
|
(Да) |
|
||
Результат |
N=0+1=1 |
N=1+1=2 |
N=2+1=3 |
N=3+1=4 |
N=4+1=5 |
|
|
S1=1+1/2 = |
S1=1,5+1/3= |
S1=1,8333+1/4 = |
N = 5 |
||||
выполне- |
S1=0+1/1=1 |
1,5 |
1,8333 |
2,0833 |
S1=2,0833+1/5= |
||
ния |
|
2,2833 |
|
||||
|
|
|
|
|
|
|
|
Вывод |
|
|
|
|
|
5 |
|
значения |
|
|
|
|
|
||
N |
|
|
|
|
|
|
21
5. Цикл с постусловием
Пример 5. Дана блок-схема (рис. 15). Какое значение будет иметь z на выходе, если: а) x=2; б) x=4; в) x=6?
Рис. 15
Для определения результата воспользуемся трассировочными таблицами (а, б, в):
а) x=2:
Шаг |
1 |
2 |
3 |
4 |
|
Начальное |
1 |
1 |
1 |
1 |
|
значение z |
|||||
|
|
|
3 |
||
Значение i |
0 |
1 |
2 |
||
Результат |
z = |
z = |
z = |
z = |
|
выполнения |
|||||
(1+2/2)/2=1 |
(1+2/2)/2=1 |
(1+2/2)/2=1 |
(1+2/2)/2=1 |
||
z |
|
|
|
|
|
Результат |
|
|
|
|
|
выполнения |
i = 0+1=1 |
i = 1+1=2 |
i = 2+1=3 |
i = 3+1=4 |
|
i |
|
|
|
4 < 4 (Нет) |
|
Тело цикла |
1 < 4 (Да) |
2 < 4 (Да) |
3 < 4 (Да) |
||
Вывод z |
|
|
|
1 |
22
б) x=4:
Шаг |
|
1 |
|
2 |
|
|
3 |
|
|
4 |
|
|
Начальное |
|
1 |
|
1,5 |
|
|
1,75 |
|
|
1,875 |
|
|
значение z |
|
|
|
|
|
|
|
|
|
|
|
|
Значение i |
|
0 |
|
1 |
|
|
2 |
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результат |
|
z = |
z = |
|
z = |
|
z= |
|||||
|
(1+4/2)/2= |
|
(1,5+4/2)/2= |
|
(1,75+4/2)/2= |
|
(1,875+4/2)/2= |
|||||
выполне- |
|
|
|
|
||||||||
ния z |
|
1,5 |
|
1,75 |
|
|
1,875 |
|
|
1,9375 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Результат |
|
i = 0+1=1 |
i = 1+1=2 |
|
i = 2+1=3 |
|
i = 3+1=4 |
|||||
выполне- |
|
|
|
|||||||||
ния i |
|
|
|
|
|
|
|
|
|
|
|
|
Тело цикла |
|
1 < 4 (Да) |
2 < 4 (Да) |
|
3 < 4 (Да) |
|
4 < 4 (Нет) |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Вывод z |
|
|
|
|
|
|
|
|
|
1,9375 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
в) x=6: |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|||
Шаг |
|
1 |
|
2 |
|
3 |
|
4 |
|
|||
|
|
|
|
|
|
|
|
|
|
|||
Начальное |
|
|
1 |
|
2 |
|
2,5 |
|
2,75 |
|
||
значение z |
|
|
|
|
|
|
|
|
|
|
|
|
Значение i |
|
|
0 |
|
1 |
|
2 |
|
3 |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
Результат |
|
|
z = |
|
z = |
|
|
z = |
|
|
z= |
|
выполне- |
|
(1+6/2)/2= |
|
(2+6/2)/2= |
|
(2,5+6/2)/2= |
(2,75+6/2)/2= |
|
||||
ния z |
|
|
|
|
|
|||||||
|
2 |
|
2,5 |
|
2,75 |
|
2,875 |
|
||||
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||
Результат |
|
|
i = 0+1=1 |
|
i = 1+1=2 |
|
|
i = 2+1=3 |
|
i = 3+1=4 |
|
|
выполне- |
|
|
|
|
|
|
|
|
|
|
|
|
ния i |
|
|
|
|
|
|
|
|
|
|
|
|
Тело цик- |
|
|
1 < 4 (Да) |
|
2 < 4 (Да) |
|
|
3 < 4 (Да) |
|
4 < 4 (Нет) |
|
|
ла |
|
|
|
|
|
|
|
|
|
|
|
|
Вывод z |
|
|
|
|
|
|
|
|
|
2,875 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
23
ЗАДАЧИ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
1. Задачи на линейный алгоритм
Задача 1. Реализован некоторый алгоритм в виде блоксхемы (рис. 16). Найти А, В на выходе блок-схемы, если изначально:
а) А=0, В=0; б) А=0, В=5; в) А=10, В=20; г) А=10, В=10.
Рис. 16
Задача 2. Даны длины двух катетов (a, b) прямоугольного треугольника. Определить периметр этого треугольника (P) (см. блок-схему на рис. 17), если:
а) a=3, b=4; б) a=0, b=3; в) a=6, b=8; г) a=9, b=12.
Рис. 17
24
Задача 3. Реализован некоторый алгоритм в виде блоксхемы (рис. 18). По данной блок-схеме вычислить S, если:
а) a=1, |
b=2, |
c=3; |
б) a=9, |
b=0, |
c=1; |
в) a=5, |
b=6, |
c=9. |
Рис. 18 Задача 4. Дана блок-схема (рис.19). Начальные условия:
a=8, b=2. Тогда после исполнения алгоритма значение переменной g будет равно …
Рис. 19
25
2. Задачи на разветвляющийся алгоритм
|
x |
, |
x ≥ 0 |
|
|||
Задача 5. Вычислить значение функции: y = |
|
|
x < 0 |
x2 , |
|
||
|
|
|
|
(см. блок-схему на рис. 20), если: а) x=0; б) x=1; в) x= – 5.
Рис. 20
Задача 6. Используя блок-схему (рис. 21), найти корни уравнения ax2 +bx +c =0 (a ≠ 0) , если:
а) a=1, |
b=2, |
c= – 3; |
б) a=1, |
b=4, |
c=5; |
в) a=3, |
b= – 8, c=3. |
Рис. 21
26
Задача 7. Реализован некоторый алгоритм в виде блоксхемы (рис. 22). Что получится на выходе блок-схемы, если:
а) x=0, y=1; б) x=2, y=4; в) x=6, y=0?
Рис. 22
Задача 8. На блок-схеме (рис. 23) представлен алгоритм вычисления стоимости покупки с учетом скидки, где a – цена, b
– количество, s – сумма. Какой будет результат на выходе блоксхемы, если:
а) a=50, |
b=8; |
б) a=200, |
b=5; |
в) a=300, |
b=1; |
г) a=800, |
b=4? |
Рис. 23
27
3. Задачи на цикл с предусловием
Задача 9. На блок-схеме (рис. 24) представлен алгоритм Евклида, определяющий наибольший общий делитель (НОД) для двух натуральных чисел A и B. Найти А на выходе блоксхемы, если:
а) A=5, B=10; б) A=8, B=8; в) A=12, B=4; г) A=16, B=36.
Рис. 24
Задача 10. Реализован некоторый алгоритм в виде блоксхемы (рис. 25). Что получится на выходе блок-схемы, если:
а) n=2; б) n=0,5?
28
Рис. 25 Задача 11. Дана блок-схема (рис. 26). Тогда после испол-
нения алгоритма переменная i примет значение …
Рис. 26
29
4. Задачи на цикл с постусловием
Задача 12. Реализован некоторый алгоритм в виде блок-схемы (рис. 27). Что получится на выходе блок-схемы, если:
а) Q=2; б) Q=0,5?
Рис. 27
Задача 13. Дана блок-схема (рис. 28). Тогда после исполнения алгоритма значение переменной S равно …
Рис. 28
30