Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебники 80125

.pdf
Скачиваний:
13
Добавлен:
01.05.2022
Размер:
563.38 Кб
Скачать
6
R, C
Конец
Рис.3.2
Пример 3. Если А и В отрицательные, присвоить y значения 0,5; если А и В положительные, присвоить y значение 1; если А и В имеют противоположные знаки, присвоить yзначение 0. Составить алгоритм.

11

Ветви в свою очередь также могут быть разветвленными, то есть могут также содержать блоки проверки выполнения условий (блоки ЕСЛИ).

Пример 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, если A0, B0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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 + y1, x + y1,

т.е. x + y 1 одновременно.

Теперь блок-схема алгоритма решения задачи будет выглядеть следующим образом (рис.3.6).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x, y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

|x|+ y1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

DK

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 удваиваются, если xyz, и заменяются на их абсолютные величины в противном случае.

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,

i = m1, m2, h

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 xb с шагом

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)

и проверяется условие xb (блок 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

 

 

 

 

 

 

 

 

 

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]