Учебники 80125
.pdf11
Ветви в свою очередь также могут быть разветвленными, то есть могут также содержать блоки проверки выполнения условий (блоки ЕСЛИ).
Пример 1. Составить блок-схему вычисления переменной y
|
Начало |
|
|
|
1 |
x |
|
да |
2 |
нет |
|
|
x > 0 |
|
|
3 |
|
4 |
x |
y = |
x |
|
|
|
y = 2 |
||
|
|
|
|
|
5 |
y |
|
|
|
|
|
|
|
|
|
|
|
x, |
если |
x > 0 ; |
||
|
|
|
|
|
|
y = |
|
|
|
|
|
|
x |
|
|
||
|
|
|
|
|
|
2 , |
если |
x ≤ 0. |
|||
|
На рис 3.1 приведена блоксхема вычисления значений y. Ветвление происходит по двум взаимоисключающим ветвям.
Конец
|
Пример 2. |
|
|
Рис.3.1 |
|
|
|
электрической цепи равна T=RC, где |
|||||||||||||||||
|
Постоянная времени |
||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Начало |
|
|
|
|
R и С - соответственно сопротивле- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ние и емкость цепи. Составить алго- |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
ритм для определения R и С, если |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
R0, C0, T |
|
|
|
|
при значениях Т< Т0 =R0C0 выбира- |
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
ется только R, а С постоянна и равна |
||||
|
|
|
|
|
|
|
|
|
|
|
|
T0 =R0C0 |
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C0. В противном случае выбирается |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
С, а R постоянна и равна R0. Решение |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
да |
|
3 |
|
|
|
|
|
нет |
|
задачи приведено на рис 3.2. |
||||||||||
|
|
|
|
|
|
|
x > 0 |
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
T |
|
|
|
|
|
|
|
|
|
|
|
|
|
, C= |
T |
|
|
|||
|
C =C0 , R0= |
|
|
|
|
|
|
|
|
|
|
R =R0 |
|
|
|||||||||||
C0 |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
R0 |
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
|
|
|
|
|
|
|
Начало |
|
|
|
|
|
|
|
|
|
|
|
|
Решение. |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Построим математическую модель |
|||||
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
задачи |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
A, B |
|
|
|
|
|
|
|
|
|
|
|
|
0,5, если A<0, B<0, |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
да 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
AB<0 |
|
нет |
|
|
|
|
|
|
y = 1, если A≥0, B≥0, |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0, если( А>0,B<0) или( A<0,B >0). |
|
y=0 |
|
4 |
|
|
A<0 |
|
|
|
нет |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Алгоритм решения показан на |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
да |
|
6 |
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
рис 3.3. |
|||
|
|
|
|
|
|
|
|
|
|
|
|
y=0,5 |
|
|
y=1 |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Иногда условия внутри блока |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
записывается в виде соотношения |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x:y (сравнения). В этом случае воз- |
||||||
y |
|
|
|
|
|
|
|
|
|
|
|
|
ле линий потока, исходящих из |
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ромба, записываются соответст- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
вующие условия (рис. 3.4). |
|
|
|
|
|
|
Конец |
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис.3.3
Пример 4. Составить блок схему для вычисления F
Начало
1 x, y
|
|
|
|
x<y |
2 |
x : y |
|
x>y |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
3 |
|
|
|
|
|
|
4 |
|
x=y |
|
5 |
|
|
||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
F = x/у |
|
|
|
|
F =x2 |
|
|
|
F =xy |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xy, если x > y,
F = x , если x < y,
y
x2 , если x = y.
6
F
Конец
Рис. 3.4
13
Пример 5. Точка А задана координатами x, y. Определить, принадлежит ли эта точка фигуре на плоскости (рис. 3.5).
Пояснение. Этой фигуре будут принадлежать точки, координаты которых удовлетворяют условиям y ≥ 0 и x + y≤ 1, − x + y≤ 1,
т.е. x + y ≤ 1 одновременно.
Теперь блок-схема алгоритма решения задачи будет выглядеть следующим образом (рис.3.6).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Начало |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x, y |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
нет |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y≥ 0 |
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
да |
|
|
|
|
|
|
нет |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
3 |
|
|x|+ y≤ 1 |
|
|
|
|
|
||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
да |
|
|
5 |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
"Принадлежит" |
|
|
"Не принадлежит" |
||||||||||||
-1 |
|
|
|
|
|
|
|
|
0 |
|
|
|
1 |
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Конец |
|
|
|
|||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Рис.3.5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.6 |
|
|
|
||||||||||||||||
Пример 6. |
Составить алгоритм, который определяет длину общей части |
||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Начало |
|
|
|
|
|
|
|
|
|
|
|
двух отрезков |
числовой оси, за- |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
данных координатами своих кон- |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
цов |
соответственно |
a, b и c, d |
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
a, b, c, d |
|
|
|
|
|
|
|
|
|
|
|
(a < b; c < d). |
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Решение. Если отрезки имеют об- |
|||||||||||||
|
|
|
|
|
|
нет |
|
|
|
|
|
|
|
|
|
|
да |
|
|||||||||||||||||||||||||
|
|
|
|
|
|
|
|
2 |
a<c |
|
|
|
|
||||||||||||||||||||||||||||||
|
|
|
3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
щую |
|
часть, то |
левая |
координата |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
||||||||||||||||||
|
|
|
m =a |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
m =c |
|
общей части отрезков m равна |
||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
максимальному из чисел a и c, а |
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
да |
|
||||||||||||||||||
|
|
|
|
|
|
нет |
|
|
5 |
b<d |
|
|
правая n - минимальному из чисел |
||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||||||||
|
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
b и d. Отсюда вытекает алгоритм, |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
||||||||||||||||||
|
|
|
n=d |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
n=b |
|
|
показанный на рис.3.7. |
|
||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
да |
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
|
|
нет |
|
|
8 |
|
m<n |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
l=0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
l=n-m |
|
|
|
|
|
|
|
|
|
|
|
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
11 l
Конец
Рис.3.7
14
Пример 7. Бригаде строителей численностью N человек необходимо оштукатурить стены общей площадью S м2. Ей в помощь на К дней придана вторая бригада численностью М человек. Ежедневная производительность труда одного штукатура Р м2. Составить алгоритм для определения количества дней для выполнения всей работы.
Начало
1
S, P, N, M, K
2
S
D = P(M + N )
да
3
D≤ K
4 нет
D = S − KP(M + N )
5
D = K + PDN
6
D
Математическая формулировка решения Сначала вычисляется количество дней D при совместной работе двух бригад:
|
S |
|
D = |
|
. |
P(M + N ) |
Если значение D не превышает К, то оно является решением задачи. В противном случае необходимо определить площадь, оштукатуренную двумя бригадами за К дней, и вычесть ее из S. Найденная таким образом площадь σ = S-KP(M+N) обрабатывается уже одной бригадой, поэтому теперь реше-
нием задачи будет D = K + PσN .
Блоксхема алгоритма приведена на рис 3.8
Конец
Рис. 3.8
Контрольные вопросы и упражнения.
1. Дать определение разветвляющегося вычислительного процесса.
2.Каким образом осуществляется выбор направлений вычислений?
3.От чего зависит количество направлений вычислений?
4.Как изображается логический блок?
5.Составить блок-схему вычисления следующих выражений:
|
|
|
x |
A |
, |
если |
0 < A < 3, |
|
|
|
|
||||
а) |
y = |
|
|
|
|
|
|
|
|
|
x + A , |
если |
A ≥ 3; |
||
|
|
|
|||||
|
3 |
x , |
|
если |
x ≤1, |
||
б) |
|
2 |
− x , |
если |
1 < x ≤ 2, |
||
y = |
|||||||
|
sin( x −2 ), если |
x > 2; |
|||||
|
|
|
|
|
|
|
|
15
|
|
ax2 |
+bx +c , |
если |
K =1, |
|||
в) |
y = |
|
|
2 |
+ex + f , если |
K = 2, |
||
dx |
|
|||||||
|
|
|
|
2 |
+ hx +i , |
если |
K = 3; |
|
|
|
qx |
|
|||||
|
|
Ax2 |
, |
если |
−2 < x <10, |
|||
г) |
|
|
A2 + x2 , |
если |
10 ≤ x <100, |
|||
F = |
||||||||
|
|
A, |
|
|
если |
x =100; |
||
|
|
|
|
|
|
|
|
|
е) y = 2z 2 +3z +1 |
|
|
||||||
|
|
|
|
2 |
, |
если |
x < 0, |
|
|
|
Ax |
|
|
||||
|
z = |
1, |
|
|
|
если |
x = 0, |
|
|
|
|
x , |
|
если |
x > 0; |
|
|
|
|
|
|
|
||||
ж) |
F=Ax3 |
|
|
|
|
|
||
|
B +C, |
если |
B > C, |
|||||
|
x = |
|
|
|
если |
В = С. |
||
|
B2 , |
|
6.Составить блок-схему алгоритма нахождения корней квадратного уравнения
ax2 +bx +c = 0.
Предполагается, что для заданных значений a, b,c допустимы комплексные корни.
7. Вычислить неотрицательные действительные корни |
квадратного |
уравнения ax2 +bx + c = 0 (a ≠ 0). |
|
8.Вычислить комплексные корни квадратного уравнения ax2+bx+c=0, у которых действительная часть α = −b2a положительна.
9.Составить блок-схему алгоритма нахождения максимального (минимального) из трех заданных чисел.
10.Меньшее из чисел X и Y заменить нулем, а в случае X=Y, заменить нулями оба числа.
11.По представленным блок-схемам и исходным данным определить численные значения выходных переменных.
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|||
а) |
Начало |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x, y |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
нет 3 |
|
|
|
|
|
|
нет |
|
4 |
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
x > y |
|
x = y |
|
F = y - x |
|||||||||||||||||||
|
|
|
|||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
да |
|
|
|
|
|
6 |
|
|
|
да |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
F = x y |
|
|
|
|
F = x2 |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
F |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
Конец |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
Рис.3.9 |
|
|
|
|
|
|
||||||
1) x =10, |
|
|
|
|
2) x =1, |
|
|
3) x = 25,5, |
|||||||||||||||
y =15; |
|
|
|
|
|
|
y =1; |
|
|
|
|
y =13. |
б)
Начало
1
A, B, x
|
2 |
|
|
|
|
|
|
F = AB |
|
|
|
|
|
3 |
0 < P < 5 |
нет |
4 |
P = 5 |
нет |
|
|
|
|||||
|
5 |
да |
|
6 |
да |
|
|
|
|
|
|
||
|
y = xp |
|
|
y =5x2 |
|
|
|
7 |
y |
|
|
|
|
|
|
|
|
|
|
|
|
|
Конец |
|
|
|
|
|
|
|
Рис.3.10 |
|
|
|
|
A = 2, |
A = 5, |
|
A = 2,5, |
||
|
|
=1, |
|
|
3) |
|
1) B |
2) B = 6, |
B = 2, |
||||
|
|
|
|
|
|
|
|
x = 3; |
x =1; |
|
x = 2. |
17
в) Начало
1
A, B, C, x
2 |
нет |
3 |
нет |
x > 0 |
x =0 |
4 |
да |
|
|
y= |
x |
|
5 |
|
да |
|
|
6 |
|
|
|
|
|
|
|
|
y = |
x |
|
||
|
y = 10 |
|
|
|
|||||
|
|
|
|||||||
|
|
|
|
|
2 |
|
7
F = Ay2+By+C
8
F
|
|
|
Конец |
|
|
|
|
|
|
|
Рис. 3.11 |
|
|
|
|
|
x = 4, |
|
x = 0, |
|
|
x = −6, |
|
1) |
2) |
|
=1, |
3) |
|
= 0, |
|
|
A = B |
C = A |
|||||
|
A = B = C =1; |
|
|
|
|
|
|
|
|
|
C = 0; |
|
|
B =1. |
|
12.Составить алгоритм, в результате выполнения которого все числа x, y, z удваиваются, если x≤ y≤ z, и заменяются на их абсолютные величины в противном случае.
13.Вывести номер четверти координатной плоскости, которой принадлежит заданная точка.
14.Самолет летит из пункта А в пункт В со средней скоростью V. Соста-
вить алгоритм для нахождения времени полета t1, если есть встречный ветер, скорость которого V1, и времени t2, если ветра нет. Расстояние между пунктами A и B считать известным и равным S.
15.По условию предыдущей задачи составить алгоритм для нахождения t3, если возможен и попутный ветер, скорость которого V2.
IV. Циклический вычислительный процесс
Циклы - многократно повторяемые этапы вычислений. Вычислительные процессы, содержащие циклы, называются циклическими. В зависимости от количества повторений цикла различаются два основных типа: циклы с из-
18
вестным числом повторений и итерационные циклы. По структуре циклы разбиваются на простые (не содержат внутри себя других циклов) и сложные (содержащие внутри себя один или несколько циклов). На блоксхеме цикл изображают как замкнутый контур. Тем самым и показывается неоднократное выполнение блоков, составляющих цикл.
4.1 Простые циклы с заданным числом повторений
Рассмотрим алгоритм вычисления суммы n слагаемых a1, a2,…an по
|
n |
формуле |
S = a1 + a2 +.... + an = ∑ai . |
|
i=1 |
|
Начало |
1 |
|
n, a1, a2,…,an |
|
2 |
S = 0 |
|
|
3 |
i = 1 |
|
|
4 |
S = S + a i |
5 |
i = i+1 |
|
да 6 |
i ≤ n |
|
нет
7
S
Для получения значения S необходимо многократно (n раз) выполнить операцию сложения. При каждом выполнении операции сложения к предыдущему результату добавляется значение последующего слагаемого, т.е. многократно выполняется участок алгоритма вида
S = S + ai .
Инструкцией S= S + ai можно осуществить постепенное последовательное накопление суммы, если предварительно выполнено действие S=0.
Конец
Рис.4.1
Для того, чтобы при каждом очередном выполнении инструкции S=S+ai слагаемое ai было новым, в цикле наряду с этой инструкцией должна выполнятся инструкция перехода к следующему слагаемому i=i+1; до цикла должно быть выполнено действие i=1.
Инструкции цикла не должны выполняться бесконечно: последним слагаемым должно быть слагаемое an. Поэтому в контур цикла включается блок проверки текущего значения i. Если это значение еще не превышает п, то вновь выполняются инструкции { S = S + ai и i = i+1 }. Когда зна-
чение i превысит n, их выполнение должно прекратиться. Поэтому указанный блок в общем случае называется блоком проверки условия и изображается с двумя выходами (рис.4.1, блок 6): линия потока, изображающая один из выходов, входит в контур цикла, другая, соответствующая случаю i > n,
19
означает завершение цикла и передачу управления на блок вывода результатов.
Аналогично накапливается и произведение с той лишь разницей, что для его накопления используется инструкция S=S ai, а начальное значение произведения должно быть равно единице. Переменная, значение которой изменяется в цикле в заданных пределах и определяет момент окончания цикла, называется параметром цикла (в рассматриваемом примере i -параметр цикла).
Таким образом, для циклов с известным числом повторений задаются:
-начальное и конечное значения параметра цикла;
-закон изменения параметра цикла при каждом его повторении;
-количество необходимых повторений цикла или условие окончания цикла.
Для циклов с известным
Начало
1
n, a1, a2,…,an
2 S = 0
3
i = 1,n
4
S = S + a i
5
S
Конец
Рис. 4.2
числом повторений в блок-схемах можно использовать блок вида
.
Внутри этого блока записываются границы изменения m1 и m2 параметра цикла i и шаг. Это позволяет сделать блок-схему более компактной. Одна из линий потока входит в контур цикла, другая линия потока, соответствующая окончанию цикла, связывает данный блок с тем блоком, который должен выполняться по окончании цикла. Например, блок-схема на рис.4.1 с использованием данного блока будет иметь вид, приведенный на рис.4.2. Если параметр цикла с каждым шагом увеличивается на единицу, то шаг в блоке цикла, как правило, не указывается.
Пример 1. |
Составить алгоритм |
для вычисления функции |
||
y = |
x2 |
на отрезке a ≤ x≤ b с шагом |
x. |
|
x2 + cx + d |
|
Решение. Переменная y вычисляется сначала при x=a, затем при x=a+ x, затем при x=a+2 x и так до тех пор, пока очередное приращение x не приведет к выполнению условия x>b. В этом случае вычисления должны быть прекращены. Алгоритм для этой задачи приведен на рис.4.3, на котором блок 1 означает ввод значений постоянных c и d, необходимых для вычисления функции y и границ отрезка a, b. Затем в соответствии с заданием переменной x присваивается значение x=a (блок 2), и вычисляется для этого случая значение y (блок 3). Результат вычисления выводится на печать
|
|
|
|
|
|
|
|
|
20 |
|
|
|
|
|
|
(блок 4). После |
этого переменной x присваивается новое значение x=a+ |
x |
|||||||||||||
(блок 5) |
и проверяется условие x≤ b (блок 6). Если условие выполняется, то |
||||||||||||||
|
|
|
|
Начало |
в блоке 3 происходит вычисление y для |
||||||||||
|
|
|
|
этого значения x, т.е. предыдущий этап |
|||||||||||
|
|
|
1 |
|
|
|
|
|
|||||||
|
|
|
a, b ,c, d |
вычислений |
повторяется. |
При |
x > b |
||||||||
|
|
|
|
решение должно закончиться. |
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
2 |
|
x = a |
|
Возможны случаи, когда цикличе- |
|||||||||
|
|
|
|
|
ские вычисления надо производить в за- |
||||||||||
|
|
3 |
|
|
|
|
|
|
висимости от дополнительных условий. |
||||||
|
|
|
|
|
x |
2 |
|
Тогда алгоритм с подобными вычисле- |
|||||||
|
|
y = |
|
|
|
||||||||||
|
|
|
|
|
|
ниями будет иметь циклическую раз- |
|||||||||
|
|
x |
2 |
+ cx |
+ d |
||||||||||
|
|
|
|
|
ветвляющуюся структуру (разветвление |
||||||||||
|
|
4 |
|
|
|
|
|
|
|||||||
|
|
|
|
|
y |
|
|
в цикле). |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
x = x + |
|
x |
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
да |
|
6 |
x ≤ b |
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
нет |
|
|
|
|
|
|
|
||
|
|
|
|
Конец |
|
|
|
|
|
|
|
|
|||
Пример 2. |
|
Рис.4.3 |
|
|
|
|
|
|
|
||||||
Составить алгоритм для вычисления на отрезке 0 ≤ x ≤ 2π с |
|||||||||||||||
|
|
|
Начало |
|
|
шагом π 6 функции y=2sin 0,9 x и за- |
|||||||||
|
|
|
|
|
тем для вычисления u=2,5 y, если y ≤ 0, |
||||||||||
|
|
1 |
|
|
|
|
|
|
|||||||
|
|
x=0 |
|
|
|
а если y> 0, то u = 1,5 y+1. |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
Решение. Алгоритм приведен на |
||||||
|
|
2 |
|
|
|
|
|
|
рис.4.4. |
Так как в данном примере |
в |
||||
|
|
y =2sin 0,9x |
|
выражениях отсутствуют неизвестные |
|||||||||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
3 |
|
|
|
|
|
|
параметры, |
то в алгоритме нет блока |
|||||
да |
|
y > 0 |
|
|
ввода |
данных, а после блока начала |
|||||||||
|
|
|
|
|
|
|
нет |
алгоритма |
сразу следует блок 1, |
оз- |
|||||
4 |
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
5 |
начающий, |
что переменной x |
присваи- |
|||||
u = 1,5 y+1 |
|
|
|
|
|
u = 2,5 y |
|||||||||
|
|
|
|
|
|
|
|
|
вается |
начальное значение |
0. |
После |
|||
|
|
6 |
|
|
|
|
|
|
этого должно быть сделано вычисление |
||||||
|
|
|
x, u |
|
|
|
y = 2 sin 0,9 x (блок 2) и в соответст- |
||||||||
|
|
7 |
|
|
|
|
|
|
вии с заданием проверено условие y>0 |
||||||
|
|
|
|
|
|
|
|
(блок 3). Если это условие выполня- |
|||||||
|
|
x =x + π /6 |
|
||||||||||||
|
|
|
|
|
|
|
|
|
ется, |
то |
происходит |
вычисление |
|||
|
|
8 |
x ≤ 2π |
|
|
и =1,5 y+1, в противном случае u=2,5 y |
|||||||||
|
да |
|
|
|
(блоки 4 и 5). После вывода на печать |
||||||||||
|
|
|
|
|
нет |
|
|||||||||
|
|
|
|
|
|
|
результата вычислений u переменной x |
||||||||
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
Конец |
|
|
присваивается новое значение x=x+π 6 |
|||||||||
|
|
Рис.4.4 |
|
|
|
|
|
|
|
|
|