Блок-Схема.
ТЕМА 4.4 Программирование алгоритмов разветвляющихся структур
Задание:
Выполнение программы по ветке 1
Выполнение программы по ветке 2
Выполнение программы по ветке 3
Программный код.
Option Strict On
Option Explicit On
Imports System.Math
Public Class Form4
'Функция ввода параметров
Function vvod(ByVal T As TextBox) As Single
Return CSng(Val(T.Text))
End Function
'Процедура вывода результата
Sub vivod(ByVal Z As Single, ByVal T As TextBox)
T.Text = CStr(Z)
End Sub
'Процедуры обработки цикла
Function f_1(ByVal b As Single, ByVal c As Single) As Single
Dim z As Single
z = CSng((Math.Sqrt(b ^ 2 + c ^ 2)))
vivod(z, TextBox6)
MsgBox("Решение пошло по ветве 3<x<4")
Return z
End Function
Function f_2(ByVal b As Single, ByVal c As Single, ByVal x As Single, ByVal y As Single, ByVal a As Single) As Single
Dim z As Single
Dim min1, max1 As Single
min1 = 10 ^ 38
max1 = -10 ^ 38
If x ^ 2 > max1 Then max1 = CSng(x ^ 2)
If y > max1 Then max1 = CSng(y)
If c > max1 Then max1 = CSng(c)
If a < min1 Then min1 = CSng(a)
If max1 < min1 Then min1 = max1
z = min1
vivod(z, TextBox6)
MsgBox("Решение пошло по ветве x<3")
Return z
End Function
Function f_3(ByVal b As Single, ByVal c As Single, ByVal x As Single, ByVal y As Single, ByVal a As Single) As Single
Dim z As Single
Dim max2 As Single
max2 = -10 ^ 38
If a * x + c > max2 Then max2 = CSng(a * x + c)
If y ^ 3 > max2 Then max2 = CSng(y ^ 3)
z = max2
vivod(z, TextBox6)
MsgBox("Решение пошло по ветве В противном случае")
Return z
End Function
'Процедура обработки события нажатия на кнопку "Расчитать"
Private Sub Button1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim x As Single, y As Single, a As Single, b As Single, c As Single
x = vvod(TextBox1)
y = vvod(TextBox2)
a = vvod(TextBox3)
b = vvod(TextBox4)
c = vvod(TextBox5)
If x >= 3 And x <= 4 Then
f_1(b, c)
ElseIf x < 3 Then
f_2(b, c, x, y, a)
Else
f_3(b, c, x, y, a)
End If
End Sub
'Процедура обработки события нажатия на кнопку "Очистить"
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Clear()
TextBox2.Clear()
TextBox6.Clear()
End Sub
'Процедура обработки события нажатия на кнопку "Далее"
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Form5.Show()
Hide()
End Sub
'Процедура обработки события нажатия на кнопку "Выход"
Private Sub Button4_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
Me.Close()
End Sub
End Class