Отчёт
.docxМосковский Технический Университет Связи и Информатики
Лабораторная работа № 4.4.
Тема: «Программирование алгоритмов разветвляющихся структур».
Вариант 20.
Выполнила: Просикова Ксения
ОТФ-2 1 курс
Группа: БИН1208
Вариант: 20
4.4.1. Вопросы, подлежащие изучению
-
Стандартные алгоритмы разветвляющихся структур
-
Программирование структур разветвления.
-
Блочный и строчный операторы If.
-
Использование оператора Select Case
-
Алгоритмы, использующие разветвляющиеся структуры
4.4.2. Задание
-
Выбрать вариант задания из таблицы 4.4-1 по усмотрению преподавателя.
-
Провести формализацию поставленной задачи.
-
Составить схему алгоритма решения поставленной задачи.
-
Разработать интерфейс пользователя
-
Написать программный код процедур пользователя в соответствии со схемами алгоритмов. Обмен данными между процедурами должен осуществляться через параметры, без использования глобальных переменных.
-
Написать программный код проекта. Событийная процедура должна содержать только операторы вызова пользовательских (общих) процедур.
-
Подготовить тесты для контрольного решения задачи.
-
Выполнить созданный проект.
-
Получить решение.
-
Доказать правильность полученных результатов на заранее разработанных тестах для всех ветвей программы.
Задание:
Создать проект для вычисления значения функции v=f(a,b,c, x, y):
20) |
v= |
Результаты:
Код программы.
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
Sub vivod(ByVal Z As Double, ByVal T As TextBox)
T.Text = CStr(Z)
End Sub
'Функция вычисления значения в случае выполнения первого условия
Function V_1(ByVal X As Double, ByVal Y As Double, ByVal a As Double, ByVal b As Double, ByVal c As Double) As Double
Dim v As Double
v = X
If Y < v Then v = Y
If (X + Y) / (X - Y) < v Then v = (X + Y) / (X - Y)
v = ((a + b + c) / 2) * v
Return v
End Function
'Функция вычисления значения в случае выполнения второго условия
Function V_2(ByVal a As Double, ByVal b As Double, ByVal c As Double, ByVal x As Double, ByVal y As Double) As Double
Dim v As Double
v = x ^ 2
If y ^ 3 > v Then v = y ^ 3
Return v
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim a As Double, b As Double, c As Double, x As Double, y As Double, v As Single
a = vvod(TextBox1)
b = vvod(TextBox3)
c = vvod(TextBox5)
x = vvod(TextBox2)
y = vvod(TextBox4)
'Вычисление функции v
If x < 3 And y < 0 Then
vivod(V_1(x, y, a, b, c), TextBox6)
MsgBox("Расчет прошел по первому условию (x<3 и y<0)")
ElseIf x > 0 And y > 1 Then
vivod(V_2(a, b, c, x, y), TextBox6)
MsgBox("Расчет прошел по второму условию (x>0 и y>1)")
Else v = CSng(y * (a + b + c))
vivod(v, TextBox6)
MsgBox("Расчет прошёл по третьему условию")
End If
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
End
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
End Sub
End Class
Блок-схема алгоритма решаемой задачи.
Начало
a=vvod(TextBox1)
b=vvod(TextBox3)
c=vvod(TextBox5)
x=vvod(TextBox2)
y=vvod(TextBox4)
нет да
Конец
Блок-схема алгоритма решаемой задачи.
V_2( )
Расчет по 2 усл.
V_1( )
Расчет по 1 усл.
Проверка результатов в Microsoft Excel.
Проверка первого значения:
Проверка второго значения:
Проверка третьего значения:
Таблица свойств объектов.
Объект |
Имя объекта |
Свойство |
Значение свойства |
Форма
|
Form1 |
Name |
Form1 |
Метка
|
Label1
|
Text
|
Тема: «Программирование алгоритмов разветвляющихся структур». |
Метка |
Label2 |
Text
|
Введите значения:
|
Метка |
Label3 |
Text |
a: |
Метка |
Label4 |
Text |
b: |
Метка |
Label5 |
Text |
c: |
Метка |
Label6 |
Text
|
x:
|
Метка |
Label7 |
Text |
y: |
Метка |
Label8 |
Text |
Результаты: |
Метка |
Label9 |
Text |
v= |
Текстовое поле
|
TextBox1
|
Name |
Ввод параметра а |
Текстовое поле
|
TextBox2
|
Name |
Ввод параметра x
|
Текстовое поле
|
TextBox3
|
Name |
Ввод параметра b |
Текстовое поле
|
TextBox4
|
Name |
Ввод параметра y |
Текстовое поле
|
TextBox5
|
Name |
Ввод параметра c |
Текстовое поле
|
TextBox6
|
Name |
Вывод параметра v |
Кнопка
|
Button1
|
Name |
Button1
|
Text |
Вычислить v=f(a, b, c, x, y) |
||
Кнопка
|
Button2
|
Name |
Button2
|
Text |
Конец |