Проекта 3.1.1, Проекта 3.1.2, Проекта 3.1.3
3.3.5) Программные коды проектов Проекта 3.1.1, Проекта 3.1.2,
Проекта 3.1.3
Разработайте программные коды проектов (рис. 4.3.7-5 –
4.3.7-6):
Option Strict On Imports System.Math Public Class Form1 'Функция, вычисляющая выражение Function func(ByVal x As Double, ByVal y As Double)As Double Dim z As Double 'локальный объект z = (0.002 - Exp(x ^ y)) / ((100 - y) * (x + 2)) Return z'возвращение результата End Function Private Sub Button1_Click(sender As Object, _ e As EventArgs)Handles Button1.Click Dim x, y, z, m, n As Double, p As Single, _ k As Integer Dim s1, s2 As String x = CDbl(TextBox1.Text) y = CDbl(TextBox2.Text) z = func (x, y)'вызов функции p = CSng(z) k = CInt(z) m = Fix(z) n = Int(z) s1 = CStr(z) s2 = CStr(p) TextBox4.3.Text = CStr(z) TextBox4.Text = CStr(k) TextBox5.Text = CStr(m) : TextBox6.Text = CStr(n) TextBox7.Text = CStr(p): TextBox8.Text = CStr(z + p) TextBox9.Text = s1 + s2 End Sub Private Sub Button2_Click(sender As Object, _ e As EventArgs)Handles Button2.Click End End Sub END Class |
Рис. П.1.3-5. Программный код Проект 3.1.1
Option Strict On Imports System.Math Public Class Form1 Sub proc1(ByVal x As Double, ByVal y As Double, _ ByRef z As Double) z = (0.002 - Exp(x ^ y)) / ((100 - y) * (x + 2)) End Sub Private Sub Button1_Click(sender As Object,e As EventArgs)_ Handles Button1.Click Dim x, y, z, m, n As Double, p As Single, k As Integer Dim s1, s2 As String x = CDbl(TextBox1.Text) y = CDbl(TextBox2.Text) proc1(x, y, z)'вызов процедуры p = CSng(z) k = CInt(z) m = Fix(z) n = Int(z) s1 = CStr(z) : s2 = CStr(p) TextBox4.3.Text = CStr(z) TextBox4.Text = CStr(k) TextBox5.Text = CStr(m) TextBox6.Text = CStr(n) TextBox7.Text = CStr(p) TextBox8.Text = CStr(z + p) TextBox9.Text = s1 + s2 End Sub Private Sub Button2_Click(sender As Object, _ e As EventArgs)Handles Button2.Click End End Sub End Class |
Рис. П.1.3-6. Программный код Проект 3.1.2
Option Strict On Imports System.Math Public Class Form1 'Глобальные объекты Dim x As Double, y As Double, z As Double Sub proc2()'Процедура,вычисляющая выражение z = (0.002 - Exp(x ^ y)) / ((100 - y) * (x + 2)) End Sub Private Sub Button1_Click(sender As Object, _ e As EventArgs)Handles Button1.Click Dim m, n As Double, p As Single, k As Integer Dim s1, s2 As String x = CDbl(TextBox1.Text) y = CDbl(TextBox2.Text) proc2()'вызов процедуры p = CSng(z) k = CInt(z) m = Fix(z) n = Int(z) s1 = CStr(z) s2 = CStr(p) TextBox4.3.Text = CStr(z) TextBox4.Text = CStr(k) TextBox5.Text = CStr(m) TextBox6.Text = CStr(n) TextBox7.Text = CStr(p) TextBox8.Text = CStr(z + p) TextBox9.Text = s1 + s2 End Sub Private Sub Button2_Click(sender As Object, _ e As EventArgs)Handles Button2.Click End End Sub End Class |
Рис. П.1.3-7. Программный код Проект 3.1.3
3.4. Результаты выполнения трех проектов:
1)Учтите, что результаты текущей лабораторной работы должны совпасть с данными, приведенными на рис. 4.2.8-11.
2)При выполнении каждого из проектов не забудьте назначить его запускаемым проектом.
3)Выполните первый проект по шагам с заходом в процедуру-функцию (<F11>), поставив точку останова после ввода исходных данных на операторе вызова функции. Обратите внимание на значения всех объектов в окнах Локальные и Видимые при заходе и выходе из процедуры-функции и возврате в точку вызова в событийной процедуре.
4)Удалите из текста процедуры-функции оператор Return z и снова выполните проект по шагам, обосновав результат.
5)Аналогичным образом выполните по шагам с заходом в процедуру второй проект, обращая внимание на значения входных и выходных параметров в окне Локальные при заходе и выходе из процедуры.
6)Измените в заголовке процедуры параметр по ссылке на параметр по значению, вместо строки
Sub proc1(ByVal x As Double, ByVal y As Double, ByRef z As Double) вставьте строку Sub proc1(ByVal x As Double, ByVal y As Double, ByVal z As Double) |
и снова выполните проект по шагам, обоснуйте результаты.
7)Точно таким же образом изучите с помощью отладчика по шагам работу третьего проекта.
8)Далее измените его программный код, добавив строку