Блок-схема
МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ СВЯЗИ И ИНФОРМАТИКИ
КАФЕДРА ИНФОРМАТИКИ
Лабораторная работа № 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) |
Конец |