Блок-схема

МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ

 

КАФЕДРА ИНФОРМАТИКИ

 

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

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

 

 

Конец F1

 

 


Выполнил

Студент группы БИН1208
Пискарев Никита
Вариант 18

 

 

Лабораторная работа по теме

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

 

Цель данной работы состоит в получении навыков разработки проектов, использующих алгоритмы разветвляющихся структур

 

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

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

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

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

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

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

 

Задание

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

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

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

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

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

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

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

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

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

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

 

Вариант задания

18) f=

 

 

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 h As Double, ByVal T As TextBox)

T.Text = CStr(h)

End Sub 'Перегружаемая процедура вывода целого результата в TextBox

Function Formula1(ByVal b As Double, ByVal c As Double, ByVal x As Double) As Double

Dim min, max_cx As Double

'Поиск максимального значения между Sqrt(Abs(c)) и Sqrt(Abs(x))

If Sqrt(Abs(c)) > Sqrt(Abs(x)) Then

max_cx = Sqrt(Abs(c))

Else

max_cx = Sqrt(Abs(x))

End If

 

min = b * x ^ 2

If c * x ^ 3 < min Then min = c * x ^ 3

If max_cx < min Then min = max_cx

Return min

End Function

Function Formula2(ByVal b As Double, ByVal C As Double, ByVal x As Double) As Double

If b - C * x ^ 2 > Exp(x) Then

Return b - C * x ^ 2

Else

Return Exp(x)

End If

End Function

 

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim b, c, f, x As Double

b = vvod(TextBox1)

c = vvod(TextBox2)

x = vvod(TextBox3)

If x > 3 Then

f = Formula1(b, c, x)

MsgBox("Решение по первому условию")

ElseIf x < -3 Then

f = Formula2(b, c, x)

MsgBox("Решение по второму условию")

Else

f = Atan(b ^ 2 / (c ^ 2 + x))

MsgBox("Решение по третьему условию")

End If

vivod(f, TextBox4)

End Sub

End Class

 

 

Блок-схема

 

Начало Razv(b,c,x)

 

Function Formula1
Sqrt(Abs(c)) > Sqrt(Abs(x))
Function Formula2
b - C * x ^ 2 > Exp(x)
x>3
x<-3
Конец
Расчет по 3ому условию
Расчет по 2ому условию
Расчет по 1ому условию
f = Atan(b ^ 2 / (c ^ 2 + x))  
f = Formula2(b, c, x)  
f = Formula1(b, c, x)  

 

 


 

 


c

 

 

max_cx = Sqrt(Abs(c))
Return b - C * x ^ 2
Return Exp(x)
max_cx = Sqrt(Abs(x))

 

Button1
b=vvod(TextBox1)
c=vvod(TextBox2)
x=vvod(TextBox3)
vivod(Razv(b,c,x), TextBox4)
Конец
vvod (T)
vvod = CSng(Val(T.Text))
Конец vvod(T)  
End Function
min = b * x ^ 2
c * x ^ 3 < min
min = c * x ^ 3
max_cx < min
min = max_cx
Return min
End Function
vivod (H,T)
T.Text = CStr(H)
Конец