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

3 лаба

.docx
Скачиваний:
1
Добавлен:
02.01.2024
Размер:
452.46 Кб
Скачать

Федеральное агентство связи

Ордена Трудового Красного Знамени

федеральное бюджетное образовательное учреждение высшего образования

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

(МТУСИ)

Кафедра Информатики

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

Тема:

«Структура VB-программ и процедуры. Средства программирования алгоритмов линейной структуры»

Вариант 00

Выполнил:

Великий студент

-----

Москва 0000

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

  1. Реализация 1-го задания – три проекта в одном решении:

  1. Задание на разработку задачи:

Создайте приложение (решение), состоящее из трех проектов для вычисления арифметического выражения:

h = (208 * Log10(x) + x ^ 2) / (Abs(x - y ^ 2) - Exp(-y))

k=h; l=[h];q=fix(h);n=int(h)

S1=q;S=n

В каждом проекте для вычисления заданного арифметического выражения необходимо реализовать одну из следующих процедур: процедуру-функцию с формальными параметрами, процедуру-подпрограмму с формальными параметрами и процедуру без параметров (передача данных в соответствующем проекте будет осуществляться через глобальные объекты).

  1. Формализация и уточнение задания:

Для формализации и уточнения задания запишите арифметическое выражение на языке программирования:

h = В соответствии с требованиями задания разобьем решение задачи на несколько отдельных задач и создадим три процедуры пользователя, вычисляющие заданное арифметическое выражения: процедуру-функцию func() с двумя формальными параметрами, необходимыми для вычисления выражения и передающимися по значению как входные аргументы; процедуру-подпрограмму proc1() с тремя формальными параметрами, из которых два необходимы для вычисления выражения и передаются по значению как входные аргументы и один является результатом и передается по ссылке; процедуру-подпрограмму proc2() без параметров, в которой два необходим для вычисления выражения аргумента, а результат передаются через глобальные объекты.

  1. Элементы, разрабатываемых проектов в одном решении:

Графический интерфейс пользователя:

Разработайте форму каждого проекта

Схемы алгоритмов процедур:

Разработайте схемы алгоритмов трех процедур и событийную процедуру

Рис.1.Схема алгоритма процедуры функция func()

Рис.2. Схема алгоритма процедуры подпрограмма proc1()

Рис.3. Схема алгоритма процедуры proc2()

Рис 4.Схема алгоритма решаемой задачи:

5.3.1)

Option Strict On

Option Explicit On

Imports System.Math

Public Class Form1

Function func(ByVal x As Double, ByVal y As Double) As Double

Dim h As Double

h = (208 * Log10(x) + x ^ 2) / (Abs(x - y ^ 2) - Exp(-y))

func=h

End Function

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

Dim x, y, h, q, n As Double, k As Single, l As Integer

Dim s, s1 As String

x = Val(TextBox1.Text)

y = Val(TextBox2.Text)

h=func(x,y)

k = CSng(h)

l = CInt(h)

q = Fix(h)

n = Int(h)

s1 = CStr(q)

s = CStr(n)

TextBox3.Text = CStr(h)

TextBox4.Text = CStr(k)

TextBox5.Text = CStr(l)

TextBox6.Text = CStr(q)

TextBox7.Text = CStr(n)

TextBox8.Text = s1 + s

TextBox9.Text = CStr(n + q)

End Sub

End Class

5.3.2)

Option Strict On

Option Explicit On

Imports System.Math

Public Class Form1

Sub proc(ByVal x As Double, ByVal y As Double, ByRef h As Double)

h = (208 * Log10(x) + x ^ 2) / (Abs(x - y ^ 2) - Exp(-y))

End Sub

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

Dim x, y, h, q, n As Double, k As Single, l As Integer

Dim s, s1 As String

x = Val(TextBox1.Text)

y = Val(TextBox2.Text)

proc(x, y, h)

k = CSng(h)

l = CInt(h)

q = Fix(h)

n = Int(h)

s1 = CStr(q)

s = CStr(n)

TextBox3.Text = CStr(h)

TextBox4.Text = CStr(k)

TextBox5.Text = CStr(l)

TextBox6.Text = CStr(q)

TextBox7.Text = CStr(n)

TextBox8.Text = s1 + s

TextBox9.Text = CStr(n + q)

End Sub

End Class

5.3.3)

Option Strict On

Option Explicit On

Imports System.Math

Public Class Form1

Dim x, y, h As Double

Sub proc()

h = (208 * Log10(x) + x ^ 2) / (Abs(x - y ^ 2) - Exp(-y))

End Sub

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

Dim q, n As Double, k As Single, l As Integer

Dim s, s1 As String

x = Val(TextBox1.Text)

y = Val(TextBox2.Text)

proc()

k = CSng(h)

l = CInt(h)

q = Fix(h)

n = Int(h)

s1 = CStr(q)

s = CStr(n)

TextBox3.Text = CStr(h)

TextBox4.Text = CStr(k)

TextBox5.Text = CStr(l)

TextBox6.Text = CStr(q)

TextBox7.Text = CStr(n)

TextBox8.Text = s1 + s

TextBox9.Text = CStr(n + q)

End Sub

End Class

6) выполнения проекта

7) Проверка результата

  1. Реализация 2-го задания:

5.1.2) форма 2

5.2.2) схема алгоритма

Рис 1Схема алгоритма решаемой задачи

5.3.4) Код решаемой задачи

Option Strict On

Option Explicit On

Imports System.Math

Public Class Form1

Sub proc1(ByVal UGOL1 As Double, ByVal UGOL2 As Double, ByRef UGOL3 As Double)

UGOL3 = 180 - UGOL1 - UGOL2

End Sub

Sub proc2(ByVal Storona As Double, ByVal UGOL1 As Double, ByVal UGOL3 As Double, ByRef TOR As Double)

TOR = Storona * (Sin(UGOL1) / Sin(UGOL3))

End Sub

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

Dim alpha, gamma, C, beta, A, B As Double 'локальные обьекты

C = Val(TextBox1.Text)

alpha = Val(TextBox2.Text)

beta = Val(TextBox3.Text)

proc1(alpha, beta, gamma) ' Вызов процедуры 1

proc2(C, alpha, gamma, A) ' Вызов процедуры 2

proc2(C, beta, gamma, B)

TextBox4.Text = CStr(A)

TextBox5.Text = CStr(gamma)

TextBox6.Text = CStr(B)

End Sub

End Class

6) Результат

7) Проверка

У равностороннего треугольника все стороны равны и углы по 60 градусов

Соседние файлы в предмете Информатика