Материал: Основы алгоритмизации вычислительных процессов. методические указания по курсу «Информатика» для студентов I-го курса всех специальностей. Авдеев В.П., Венгерова Г.Т

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
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.По представленным блок-схемам и исходным данным определить численные значения выходных переменных.

Источник: https://studfile.net/preview/16569448/