- •Лабораторная работа №3 программирование задач с разветвляющимся алгоритмом
- •1. Порядок выполнения работы
- •2. Логические конструкции
- •2.1. Развилка
- •2.2. Обход
- •Виды обходов и их программная реализация
- •2.3. Многозначное ветвление
- •2.3. Разветвленная структура со сложным вычислительным процессом
- •2.4. Логические функции
- •3. Пример решения задач с разветвляющимся алгоритмом
- •3.1. Пример использования оператора If…Then…Else
- •3.2. Пример использования оператора ElseIf…Then…Else
- •3.3. Пример использования оператора Select Case…
- •4. Содержание отчета
- •5. Контрольные вопросы
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. Блок-схема алгоритма решения поставленной задачи
|
| ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
Рис. 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.
|
| ||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
Рис. 13. Результаты выполнения программы
