Вариант 32
.docxЭКЗАМЕН
1. ФИО
Коновалов Илья Александрович
2. № группы
УБСТ-1903
3 № студенческого билета
3УБСТ19032
4. № варианта
Вариант №32
5. Постановка задачи
Найти значение переменной P:
p=
Формализация задания:
Алгоритм решения данной задачи представляет собой комбинацию вычисления сложной функции с условием и выбора наименьшего (наибольшего) из нескольких значений. Он использует все виды разветвлений и программируется с использованием как однострочных, так и блочных операторов If.
6. Блок-схема алгоритма
Блок-схема работы алгоритма представлена на рисунке 1
Рисунок 1 - Блок-схема алгоритма
7. Код
Option Strict On
Option Explicit On
Imports System.Math
Public Class Form1
'Функция ввода в TextBox
Function Vvod(ByVal T As TextBox) As Double
Return Val(T.Text)
End Function
'Перегружаемая процедура вывода вещественного результата в TextBox
Overloads Sub Vivod(ByVal Z As Double, ByVal T As TextBox)
T.Text = CStr(Z)
End Sub
'Перегружаемая процедура вывода целого результата в TextBox
Overloads Sub vivod(ByVal Z As Integer, ByVal T As TextBox)
T.Text = CStr(Z)
End Sub
Sub Razv(ByVal x As Double, ByVal y As Double,
ByVal a As Double, ByVal b As Double, ByRef P As Double)
Dim P1, P2, P3 As Double
If x > 0 Then
P1 = x
P = y
If P1 > P Then
P = P1
End If
'Первая ветвь функции
Else
If x >= -1 And x <= 0 Then
P1 = x
P = b
If P1 < P Then
P = P1
End If
'Вторая ветвь функции
Else
P1 = x ^ 2
P2 = a + b
P3 = Sin(a)
P = Cos(b)
If P1 < P2 Then
P1 = P2
If P3 > P2 Then
P3 = P2
If P > P3 Then
P = P3
End If
End If
End If
'Третья ветвь функции
End If
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click
Dim x, y, a, b, P As Double
x = Vvod(TextBox1)
y = Vvod(TextBox2)
a = Vvod(TextBox3)
b = Vvod(TextBox4)
Razv(x, y, a, b, P)
Vivod(P, TextBox5)
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
Application.Exit()
End Sub
End Class
8. Тесты
Результат работы программы представлен на рисунке 2.
Рисунок 2 - Работа программы
Результаты проведенных запусков с вводом данных представлены в таблице 1.
Таблица 1 - Тесты
№ |
x |
y |
a |
b |
P |
1 |
1 |
1 |
1 |
1 |
1 |
2 |
1 |
2 |
3 |
4 |
2 |
3 |
4 |
3 |
2 |
1 |
4 |
4 |
-1 |
1 |
90 |
90 |
-1 |
5 |
-1 |
1 |
-2 |
-3 |
-3 |
6 |
0 |
1 |
-2 |
-3 |
-3 |
7 |
-2 |
1 |
90 |
90 |
-0,44807361612917 |
8 |
-4 |
3 |
2 |
1 |
0,54030230586814 |
9 |
-4 |
-3 |
-2 |
-1 |
0,54030230586814 |
Результаты ручного расчета и вычисления на ПК совпадают.