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

Учебное пособие 1068

.pdf
Скачиваний:
13
Добавлен:
30.04.2022
Размер:
742.96 Кб
Скачать

Пример 2. Постоянная времени электрической цепи равна T=RC, где R и С – соответственно сопротивление и емкость цепи.

Составить алгоритм для определения R и С, если при значениях Т< Т0 =R0C0 выбирается только R, а С постоянна и равна C0. В противном случае выбирается С, а R постоянна и равна R0. Решение задачи приведено на рис 2.9.

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R0, C0, T

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T0 =R0C0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

T < T0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

C =C0 ,

 

 

 

 

 

 

 

 

 

 

 

 

 

T

 

 

 

 

 

 

 

 

 

 

 

 

R =R0

, C=

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

R =

T

 

 

 

 

 

 

 

 

 

 

 

 

 

R0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

R, C

Конец

Рис. 2.9. Блок-схема алгоритма определения сопротивления и емкости цепи

Пример 3. Если А и В отрицательные, присвоить y значения 0,5; если А и В неотрицательные, присвоить y значение 1; если А и В имеют противоположные знаки, присвоить yзначение 0. Составить алгоритм.

Решение. Построим математическую модель задачи

0,5, если A<0, B<0,

y = 1, если A≥0, B≥0,

0, если( А>0,B<0) или ( A<0,B>0).

Тогда алгоритм решения будет выглядеть следующим образом (рис 2.10).

Пример 4. Составить блок схему для вычисления F

xy, если x > y,

 

 

 

 

x

 

 

F =

 

 

, если x < y,

 

 

y

 

 

 

2

, если x = y.

x

 

 

Иногда условия внутри блока записывается в виде соотношения x:y (сравнения). В этом случае возле линий потока, исходящих из ромба, записываются соответствующие условия (рис. 2.11).

20

Начало

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A, B

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x, y

 

 

 

 

 

 

 

 

 

2

AB<0

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x<y

 

 

2

 

 

 

 

 

 

 

 

 

x>y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=0

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A<0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x : y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x=y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

6

 

 

 

 

 

 

 

4

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=0,5

 

 

 

 

y=1

 

 

F = x/у

 

 

 

 

 

 

 

 

F =x2

 

 

 

F =xy

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.10. Блок-схема

 

 

 

 

 

 

 

 

Рис. 2.11. Блок-схема алгоритма

 

условного алгоритма

 

 

 

 

 

 

 

 

условия в виде соотношения x:y

 

 

 

 

Пример 5.

 

Точка А задана координатами x, y. Определить, принадлежит

ли эта точка фигуре на плоскости (рис. 2.12).

Пояснение. Этой фигуре будут принадлежать точки, координаты которых удовлетворяют условиям y 0 и x + y1, x + y1, т.е. x + y 1 одновременно. Теперь блок-схема алгоритма решения задачи будет выглядеть следующим образом (рис.2.13).

y

-1

0

1 x

 

 

Рис. 2.12. Фигура

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x, y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y≥ 0

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

|x|+ y≤ 1

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

"Принадлежит"

"Не принадлежит"

Конец

Рис. 2.13. Блок-схема алгоритма для примера 5

21

 

 

 

Пример 6.

Составить алгоритм, который определяет длину общей части

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

двух отрезков числовой оси, задан-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ных координатами своих концов со-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ответственно a, b и c, d (a < b; c <

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a, b, c, d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Решение. Если отрезки имеют общую

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a<c

 

 

 

 

 

 

 

 

 

 

 

 

часть, то левая координата общей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

m =a

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m =c

 

части отрезков m равна максималь-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ному из чисел a и c, а правая n – ми-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нимальному из чисел b и d. Отсюда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b<d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

 

 

получаем алгоритм, показанный на

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n=d

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n=b

 

рис.2.14.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

 

m<n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l=0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l=n-m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

11

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

l

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Конец

Рис.2.14. Блок-схема определения длины общей части двух отрезков числовой оси

Контрольные вопросы и упражнения

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;

 

 

 

 

 

 

 

 

 

ax

2

+ bx + c ,

если

K =1,

в)

 

 

+ ex + f ,

если

K = 2,

y = dx

2

 

 

2

+ hx + i ,

 

K = 3;

 

qx

 

если

22

 

Ax2 , если

2 < x < 10,

 

 

 

 

+ x2 ,

 

10 x < 100,

г)

F =

A2

если

 

A,

 

 

если

x = 100;

 

 

 

 

 

 

 

е) y = 2z2 + 3z +1

 

 

 

 

2

,

если

x < 0,

 

 

Ax

 

 

 

z = 1,

 

 

если

x = 0,

 

 

 

 

 

 

x > 0;

 

 

x,

 

если

 

ж) F=Ax3

 

 

 

 

 

 

B + C,

если

B > C,

 

x =

 

 

 

В = С.

 

B2 ,

 

 

если

7. Составить блок-схему алгоритма нахождения корней квадратного уравнения ax2 + bx + c = 0.

Предполагается, что для заданных значений a, b,c допустимы комплексные

корни.

8. Вычислить неотрицательные действительные корни квадратного уравнения ax2 + bx + c = 0 (a 0).

9.Вычислить комплексные корни квадратного уравнения ax2+bx+c=0, у которых действительная часть α = b2a положительна.

10.Меньшее из чисел X и Y заменить нулем, а в случае X=Y, заменить нулями оба числа.

11.Составить блок-схему алгоритма нахождения максимального (минимального) из трех заданных чисел

12.Составить алгоритм, в результате выполнения которого все числа x, y, z

удваиваются, если xyz, и заменяются на их абсолютные величины в противном случае.

13.Вывести номер четверти координатной плоскости, которой принадлежит заданная точка.

14.Самолет летит из пункта А в пункт В со средней скоростью V. Составить алгоритм для нахождения времени полета t1, если есть встречный ветер, ско-

рость которого V1, и времени t2, если ветра нет. Расстояние между пунктами A и B считать известным и равным S.

15.По условию предыдущей задачи составить алгоритм для нахождения t3, если возможен попутный ветер, скорость которого V2.

16.По представленным блок-схемам и исходным данным (1,2,3 к каждой блоксхеме) определить численные значения выходных переменных.

23

а)

 

 

 

 

x =10,

 

 

 

 

2)

x =1,

3)

x = 25,5,

 

1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

=15;

 

 

 

 

 

 

 

 

 

y =1;

 

 

 

y =13.

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x, y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

2

 

 

x > y

 

 

нет

 

3

 

 

x = y

 

нет

 

 

F = y - x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F = x y

 

 

 

 

 

 

 

 

F = x2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

F

 

 

 

Конец

 

 

 

 

Рис.2.15. Блок-схема к заданию а)

 

 

A = 2,

 

A = 5,

A = 2,5,

б)

1)

 

2)

 

3) B = 2,

B =1,

B = 6,

 

 

 

 

 

 

 

 

x = 3;

 

x =1;

x = 2.

Начало

 

 

1

 

 

 

 

 

 

A, B, x

 

 

 

 

 

 

2

 

 

 

 

 

 

Р = AB

 

 

 

 

3

 

P < 5

нет

4

 

нет

 

 

 

P = 5

 

5

да

 

 

6

да

 

 

 

 

y =5x2

 

 

y = xp

 

 

 

 

 

7

 

 

 

 

 

 

y

 

 

 

 

 

 

Конец

Рис.2.16. Блок-схема к заданию б)

 

 

 

24

 

 

x = 4,

 

 

 

 

 

 

 

 

 

 

 

x = 0,

 

 

 

 

 

 

 

 

 

x = −6,

в)

1)

 

 

 

 

 

 

 

 

2)

 

 

=1,

 

3)

 

= 0,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A = B

 

C = A

 

 

A = B = C

=1;

 

 

 

 

 

 

 

 

C = 0;

 

 

 

 

 

 

 

 

 

B =1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Начало

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A, B, C, x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нет

 

 

 

3

 

 

 

 

 

 

 

 

нет

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

x > 0

 

 

 

 

 

 

 

 

x =0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

 

 

 

 

 

 

 

 

да

 

 

 

 

 

 

6

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

 

 

5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y=

x

 

 

 

 

 

 

 

 

 

 

 

 

y = 10

 

 

 

 

 

y =

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

7

F = Ay2+By+C

8

F

Конец

Рис. 2.17. Блок-схема к заданию в)

2.3. Циклический вычислительный процесс

Алгоритм циклической структуры – алгоритм, в котором предусмотрено неоднократное выполнение одной и той же последовательности действий при различных значениях входящих параметров. Эту последовательность операций называют циклом. Циклический процесс позволяет существенно сократить объем программы. Для организации цикла необходимо предусмотреть задание начального значения параметра цикла – переменной, которая будет изменяться при повторениях цикла; изменение значения этой переменной перед каждым новым повторением; проверку условия окончания повторений по значению параметра и переход к началу цикла, если повторения не закончены. Итак, циклы

– многократно повторяемые этапы вычислений. Вычислительные процессы, содержащие циклы, называются циклическими. В зависимости от количества повторений цикла различаются два основных типа: циклы с известным числом повторений и итерационные циклы. По структуре циклы разбиваются на простые (не содержат внутри себя других циклов) и сложные (содержащие внутри себя один или несколько циклов). На блок-схеме цикл изображают как замк-

25

нутый контур. Тем самым и показывается неоднократное выполнение блоков, составляющих цикл.

Простые циклы с заданным числом повторений

Рассмотрим алгоритм вычисления суммы 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

Конец

Рис. 2.18. Блок-схема алгоритма вычисления суммы n слагаемых

Для получения значения S необходимо многократно (n раз) выполнить операцию сложения. При каждом выполнении операции сложения к предыдущему результату добавляется значение последующего слагаемого, т.е. многократно выполняется участок алгоритма вида

S = S + ai .

Инструкцией S= S + ai можно осуществить постепенное последовательное накопление суммы, если предварительно выполнено действие S=0 (рис. 2.18).

Для того, чтобы при каждом очередном выполнении инструкции S=S+ai слагаемое ai было новым, в цикле наряду с этой инструкцией должна выполнятся инструкция перехода к следующему слагаемому i=i+1; до цикла должно быть выполнено действие i=1.

Инструкции цикла не должны выполняться бесконечно: последним слагаемым должно быть слагаемое an. Поэтому в контур цикла включается блок проверки текущего значения i. Если это значение еще не превышает п, то вновь выполняются инструкции { S = S + ai и i = i+1 }. Когда значение i

превысит n, их выполнение должно прекратиться. Поэтому указанный блок в общем случае называется блоком проверки условия и изображается с двумя выходами (рис.2.18, блок 6): линия потока, изображающая один из выходов, входит в контур цикла, другая, соответствующая случаю i > n, означает завершение цикла и передачу управления на блок вывода результатов.

Аналогично накапливается и произведение с той лишь разницей, что для его накопления используется инструкция S=S ai, а начальное значение произведения должно быть равно единице. Переменная, значение которой изменяет-

26

ся в цикле в заданных пределах и определяет момент окончания цикла, называется параметром цикла (в рассматриваемом примере i параметр цикла).

Таким образом, для циклов с известным числом повторений задаются:

начальное и конечное значения параметра цикла;

закон изменения параметра цикла при каждом его повторении;

количество необходимых повторений цикла или условие окончания цикла.

Формульно-словесная запись алгоритма вычисления суммы имеет вид: Этап 1. Ввод элементов вектора А. Перейти к этапу 2.

Этап 2. s = 0. Перейти к этапу 3. Этап 3. i = 1. Перейти к этапу 4. Этап 4. s = s+ai . Перейти к этапу 5. Этап 5. i = i+1. Перейти к этапу 6.

Этап 6. Если i ≤ n, то перейти к этапу 4, иначе перейти к этапу 7. Этап 7. Вывод значения s. Перейти к этапу 8.

Этап 8. Конец вычислительного процесса.

Начальное значение параметра цикла i = 1; конечное значение i = n. Изменение параметра цикла i происходит по закону арифметической прогрессии с разностью (шагом) 1.

Для циклов с известным числом повторений в блок-схемах можно использовать блок вида:

Начало

1

n, a1, a2,…,an

2 S = 0

3

i = 1, n

4

S = S + a i

5

S

Конец

Рис. 2.19. Блок-схема, содержащая блок цикла

i = m1, m2, h

Внутри этого блока записываются границы изменения m1 и m2 параметра цикла i и шаг. Это позволяет сделать блоксхему более компактной. Одна из линий потока входит в контур цикла, другая линия потока, соответствующая окончанию цикла, связывает данный блок с тем блоком, который должен выполняться по окончании цикла. Например, блоксхема на рис.2.18 с использованием данного блока будет иметь вид, приведенный на рис.2.19. Если параметр цикла с каждым шагом увеличивается на единицу, то шаг в блоке цикла, как правило, не указывается.

27

 

 

 

 

x2

Пример 1. Составить алгоритм для вычисления функции y = x2 + cx + d

на отрезке a xb с шагом ∆ x.

 

 

 

Решение. Переменная

y

вычисляется сначала при

x=a, затем при

x=a+x, затем при x=a+2∆ x и так до тех пор, пока очередное приращение

x не приведет к выполнению условия x>b. В этом случае вычисления долж-

ны быть прекращены. Алгоритм для этой задачи приведен на рис.2.20, на кото-

ром блок 1 означает ввод значений постоянных c и d, необходимых для вычис-

ления функции y и границ отрезка a, b. Затем в соответствии с заданием пере-

менной x присваивается значение x=a (блок 2), и вычисляется для этого слу-

чая значение y (блок 3). Результат вычисления выводится на печать (блок 4).

После этого переменной x присваивается новое значение x=a+x (блок 5) и

проверяется условие xb (блок 6). Если условие выполняется, то в блоке 3

происходит вычисление y для этого значения x, т.е. предыдущий этап вычис-

лений повторяется. При x > b решение должно закончиться.

 

 

 

Возможны случаи, когда циклические

 

 

вычисления надо производить в зависимо-

Начало

 

сти от дополнительных условий. Тогда ал-

1

 

горитм с подобными вычислениями будет

 

иметь

циклическую

разветвляющуюся

a, b ,c, d

 

2

 

структуру (разветвление в цикле).

 

 

 

 

x = a

 

 

 

 

3

 

 

 

 

x2

 

 

 

 

y = x2 + cx + d

 

 

 

 

4

 

 

 

 

y

 

 

 

 

5

 

 

 

 

x = x + x

 

 

 

 

да

 

6

x b

 

 

 

 

 

 

 

нет

Конец

Рис. 2.20. Блок-схема алгоритма для вычисления

 

x2

на отрезке a xb с шагом ∆ x.

функции

y = x2 + cx + d

28

Пример 2. Составить алгоритм для вычисления на отрезке 0 ≤ x ≤ 2π

с

шагом π 6 функции

y=2sin 0,9 x

и затем для вычисления u=2,5y, если y ≤ 0, а

если y> 0, то u = 1,5 y+1.

 

 

 

 

 

 

 

 

 

Решение.

Алгоритм

приведен

на

 

 

 

 

рис.2.21. Так как в данном примере в вы-

 

 

Начало

 

ражениях отсутствуют неизвестные пара-

 

 

 

метры, то в алгоритме нет блока ввода

 

 

1

 

 

 

 

данных, а после блока начала алгоритма

 

 

x=0

 

 

 

Рис.2.21

 

сразу следует блок 1, означающий, что

 

 

 

 

 

 

2

 

переменной x

присваивается начальное

 

 

y =2sin 0,9x

значение 0. После этого должно быть сде-

 

 

3

 

лано вычисление

y = 2 sin 0,9 x (блок 2)

 

 

 

и в соответствии

с заданием проверено

да

 

y > 0

нет

условие y>0 (блок 3). Если это условие

 

 

 

 

 

4

 

 

5

выполняется, то происходит вычисление

u = 1,5 y+1

u = 2,5 y

 

 

 

 

и =1,5 y+1, в противном случае u=2,5y

 

 

6

 

(блоки 4 и 5). После вывода на печать ре-

 

 

 

зультата вычислений u переменной x при-

 

 

x, u

 

 

 

 

сваивается новое значение x=x+π 6 (блок

 

 

7

 

 

 

 

7) и проверяется условие

x≤ 2π (блок 8).

 

 

x =x + π /6

 

 

 

 

Если это условие выполняется, то преды-

 

 

8

 

дущий цикл вычислений u и вывода ре-

 

да

x ≤ 2π

 

зультата на печать повторяется, причем

 

нет

 

 

до тех пор, пока x станет больше 2π . В

 

 

 

 

 

 

Конец

 

этом случае вычисления должны быть за-

 

 

 

 

кончены.

 

 

 

 

Рис.2.21. Блок-схема

 

 

 

 

 

алгоритма для вычисления

 

 

 

 

 

функции по примеру 2

 

 

 

 

 

Контрольные вопросы и упражнения

1.Дать определение цикла. Какие процессы называются циклическими?

2.Какие типы циклов вы знаете?

3.Какие величины задаются в случае простого цикла с заданным числом повторений?

4.Начертить общую блок-схему организации простого цикла с заданным числом повторений.

5.Составить блок-схему алгоритма вычисления величины

30

y = xi .

i=1

29