Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Отчёт

.docx
Скачиваний:
20
Добавлен:
03.05.2015
Размер:
1.36 Mб
Скачать

Московский Технический Университет Связи и Информатики

Лабораторная работа № 4.4.

Тема: «Программирование алгоритмов разветвляющихся структур».

Вариант 20.

Выполнила: Просикова Ксения

ОТФ-2 1 курс

Группа: БИН1208

Вариант: 20

4.4.1. Вопросы, подлежащие изучению

  1. Стандартные алгоритмы разветвляющихся структур

  2. Программирование структур разветвления.

  3. Блочный и строчный операторы If.

  4. Использование оператора Select Case

  5. Алгоритмы, использующие разветвляющиеся структуры

4.4.2. Задание

  1. Выбрать вариант задания из таблицы 4.4-1 по усмотрению преподавателя.

  2. Провести формализацию поставленной задачи.

  3. Составить схему алгоритма решения поставленной задачи.

  4. Разработать интерфейс пользователя

  5. Написать программный код процедур пользователя в соответствии со схемами алгоритмов. Обмен данными между процедурами должен осуществляться через параметры, без использования глобальных переменных.

  6. Написать программный код проекта. Событийная процедура должна содержать только операторы вызова пользовательских (общих) процедур.

  7. Подготовить тесты для контрольного решения задачи.

  8. Выполнить созданный проект.

  9. Получить решение.

  10. Доказать правильность полученных результатов на заранее разработанных тестах для всех ветвей программы.

Задание:

Создать проект для вычисления значения функции 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

Конец

10