ЗОТФ-ЗФ / 4.2. Основные средства языка программирования VB.NET. Типы данных / Оформление1
.docxФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
МОСКОВСКИЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
СВЯЗИ И ИНФОРМАТИКИ
Кафедра информатики
Лабораторная работа
по теме: «4.2. Основные средства языка программирования VB.NET. Типы данных»
Задание
Решить задачу вычисления арифметических выражений в двух вариантах (два проекта). В одном решении: первый проект с неявными преобразованиями типов данных, второй – с требованием явного преобразования (без инструкции Option Strict On и с использованием этой инструкции). Формализовать арифметические выражения, то есть записать выражение в формальном математическом виде, а затем записать полученные математические формулы в виде выражения по правилам языка программирования с учетом приоритета операций.
Формализация и уточнение задания
Для формализации и уточнения задания допустим, что х, у – исходные данные вещественного типа Double, а переменные i, f, j, n, p – результаты вычислений, причем i, j – переменные целого типа Integer, а f, n, p – вещественного типа Double. Выражение j=[f] означает, что вычисляется целая часть числа, полученная с помощью функции Int().
Запишем арифметическое выражение на языке программирования:
f = ((5.2^3)*log(x+y))/(x-(1/(0.45*sin(x-8*y))))+0.5
I = f; j = Fix(f)
Графический интерфейс
Таблица элементов.
Объект |
Имя объекта |
Свойство |
Значение свойства |
Форма
|
Form1 |
Name |
Form1 |
Text |
Вычисление арифметических выражений |
||
Метка
|
Label
|
Text |
Тема 4.2. Основные средства языка программирования VB.NET. Типы данных. |
Метка |
Label2 |
Text |
Исходные данные |
Метка |
Label3 |
Text |
Х= |
Метка |
Label4 |
Text |
Y= |
Метка |
Label5 |
Text |
Значение переменной f = |
Метка |
Label6 |
Text |
Значение переменной i = |
Метка |
Label7 |
Text |
Значение переменной j=Fix(f) = |
Метка |
Label8 |
Text |
Значение переменной Int(f) = |
Метка |
Label9 |
Text |
Значение переменной Int(Abs(f)) = |
Текстовое поле |
TextBox1 |
Name |
TextBox1
|
Текстовое поле
|
TextBox2 |
Name |
TextBox2 |
Текстовое поле
|
TextBox3
|
Name |
TextBox3
|
Текстовое поле
|
TextBox4
|
Name |
TextBox4
|
Текстовое поле
|
TextBox5
|
Name |
TextBox5
|
Текстовое поле
|
TextBox6
|
Name |
TextBox6
|
Текстовое поле
|
TextBox7
|
Name |
TextBox7
|
Кнопка
|
Button1
|
Name |
Button1
|
Text |
Вычислить |
||
Кнопка
|
Button3
|
Name |
Button3
|
Text |
Выход |
||
Кнопка
|
Button2
|
Name |
Button2
|
Text |
Повторить |
Программный код первого проекта
Imports System.Math 'подключение математического модуля
Public Class Form1
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim x, y, f, j, n As Double, p As Single, i As Integer
x = TextBox1.Text
y = TextBox2.Text
f = ((5.2 ^ 3) * log(x + y)) / (x - (1 / (0.45 * sin(x - 8 * y)))) + 0.5
p = f
i = f
j = Fix(f)
n = Int(f)
TextBox3.Text = Str(f)
TextBox4.Text = Str(i)
TextBox5.Text = Str(j)
TextBox6.Text = Str(n)
TextBox7.Text = Str(p)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Application.Exit()
End Sub
Private Sub Button2_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox7.Clear()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
End Class
Программный код второго проекта
Option Strict On
Imports System.Math 'подключение математического модуля
Public Class Form1
Private Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click
Dim x, y, f, j, n As Double, p As Single, i As Integer
x = CDbl(TextBox1.Text) 'преобразование типа String в Double
y = CDbl(TextBox2.Text)
f = ((5.2 ^ 3) * log(x + y)) / (x - (1 / (0.45 * sin(x - 8 * y)))) + 0.5
p = CSng(f) 'преобразование типа Double в тип Single
i = CInt(f) 'преобразование типа Double в тип Integer
j = Fix(f) : n = Int(f)
TextBox3.Text = Str(f)
TextBox4.Text = Str(i)
TextBox5.Text = Str(j)
TextBox6.Text = Str(n)
TextBox7.Text = Str(p)
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Application.Exit()
End Sub
Private Sub Button2_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
TextBox1.Clear()
TextBox2.Clear()
TextBox3.Clear()
TextBox4.Clear()
TextBox5.Clear()
TextBox6.Clear()
TextBox7.Clear()
End Sub
Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
End Sub
End Class
Блок-схема
Доказательство результатов
При помощи онлайн-калькулятора.
~