Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR2_Razvetvleniy_algoritm.doc
Скачиваний:
25
Добавлен:
21.02.2016
Размер:
702.98 Кб
Скачать

3. Пример решения задач с разветвляющимся алгоритмом

3.1. Пример использования оператора If…Then…Else

Вычислить значение функции , еслиx>0 или , еслиx0, при a=2.1 b=-5.45.

Блок-схема алгоритма решения данной задачи представлена на рис. 8.

Рис. 8. Блок-схема алгоритма решения поставленной задачи

Листинг программы реализующей данную блок схему имеет вид:

Public Sub Razvetvlenie()

Dim x, Y As Single

Const a = 2.1

Const b = -5.45

x = Val(InputBox("Введите значение х", "Ввод данных"))

If x > 0 Then

Y = a * Sin(x) + b

Range("B3").Value = "Y вычисленный при x>0"

Else

Y = b * Cos(x) + a

Range("B3").Value = "Y вычисленный при x<=0"

End If

Range("B2").Value = "x="

Range("C2").Value = x

Range("C3").Value = Y

End Sub

Результаты выполнения программы показаны на рис. 9.

 

A

B

C

1

 

 

 

2

 

x=

5.089

3

 

Y вычисленный при x>0

-7,402

4

 

 

A

B

C

1

 

 

 

2

 

x=

-78,05

3

 

Y вычисленный при x<=0

6,909

4

 

Рис. 9. Результаты выполнения программы

3.2. Пример использования оператора ElseIf…Then…Else

Вычислить значение функции Y по формуле: , где x – аргумент функции, вводится в процессе выполнения программы.

Блок-схема алгоритма решения данной задачи представлена на рис.10.

Листинг программы реализующей данную блок-схему имеет вид:

Public Sub Razvetvlenie()

Dim x, Y As Single

x = Val(InputBox("Введите значение х ", " Ввод данных "))

If x <= 0 Then

Y = x ^ 2

Range("B3").Value = "Y вычисленный при x <=0"

ElseIf 0 < x And x <= 10 Then

Y = 1 / x

Range("B3").Value = "Y вычисленный при 0<x<=10"

Else

Y = Sqr(x)

Range("B3").Value = "Y вычисленный при 10<x"

End If

Range("B2").Value = "x="

Range("C2").Value = x

Range("C3").Value = Y

End Sub

Результаты выполнения программы показаны на рис. 11.

Рис. 10. Блок-схема алгоритма решения поставленной задачи

 

A

B

C

1

 

 

 

2

 

x=

5

3

 

Y вычисленный

при 0<x<=10

0.2

4

 

 

A

B

C

1

 

 

 

2

 

x=

5

3

 

Y вычисленный

при 10<x

0.2

4

 

 

A

B

C

1

 

 

 

2

 

x=

-2

3

 

Y вычисленный

при x<=0

4

4

 

Рис. 11. Результаты выполнения программы

3.3. Пример использования оператора Select Case…

Вычислить значение функции , еслиx=5, , еслиx=-5 или , x=2 при a=2.1 b=-5.45.

Блок-схема алгоритма решения данной задачи представлена на рис. 12.

Рис. 12. Блок-схема алгоритма решения поставленной задачи

Листинг программы реализующей данную блок-схему имеет вид:

Public Sub Razvetvlenie()

Dim x, Y As Single

Const a = 2.1

Const b = -5.45

x = Val(InputBox("Введите значение х", "Ввод данных"))

Select Case x

Case Is = 5

Y = a * Sin(x) + b

Range("B3").Value = "Y вычисленный при x=5"

Case Is = -5

Y = b * Cos(x) + a

Range("B3").Value = "Y вычисленный при x=-5"

Case Is = 2

Y = a / b * Tan(x)

Range("B3").Value = "Y вычисленный при x=2"

End Select

Range("B2").Value = "x="

Range("C2").Value = x

Range("C3").Value = Y

End Sub

Результаты выполнения программы показаны на рис. 13.

 

A

B

C

1

 

 

 

2

 

x=

5

3

 

Y вычисленный

при x=5

-7,46

4

 

 

A

B

C

1

 

 

 

2

 

x=

-5

3

 

Y вычисленный

при x=-5

0,55

4

 

 

A

B

C

1

 

 

 

2

 

x=

2

3

 

Y вычисленный

при x=2

0,84

4

 

Рис. 13. Результаты выполнения программы

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