Задание 5. Создание формы

Пример создания формы для вычисления функции по сортировке массива

-создаёт массив случайных чисел и сортирует их по возрастанию

-создаёт массив случайных чисел и сортирует их по убыванию

-выход

Рисунок 18 – Внешний вид формы

Ход работы:

1.Создаём проект, перетаскиваем на него 3 кнопки и надпись

2.Меняем следующие свойства:

Кнопка 1 Caption Сортировка по возрастанию

Кнопка2 Caption Сортировка по убыванию

Кнопка3 Caption Выход

Метка1 Caption

3.Вводим код в окно кода:

Option Explicit

Option Base 1

Private Sub Command1_Click()

Dim i As Integer, b(10) As Single

Print

Print "Исходный массив"

For i = 1 To 10

b(i) = Int(10 * Rnd + 10)

Print b(i);

Next i

Print

Print "Отсортированный массив

Call SortMas(b(), 10, 2)

Label1.Caption = "Сортировка по возрастанию"

For i = 1 To 10

Print b(i);

Next i

End Sub

Private Sub Command2_Click()

Dim i As Integer, b(10) As Single

Print

Print "Исходный массив"

For i = 1 To 10

b(i) = Int(10 * Rnd + 10)

Print b(i);

Next i

Print

Print "Отсортированный массив"

Call SortMas(b(), 10, 1)

Label1.Caption = "Сортировка по убыванию"

For i = 1 To 10

Print b(i);

Next i

End Sub

Private Sub Command3_Click()

End

End Sub

4.Добавляем модуль и вводим код:

Sub SortMas(a() As Single, n As Integer, f As Byte)

Dim i As Integer, j As Integer

If f = 1 Then

For i = 1 To n - 1

For j = i + 1 To n

If a(i) < a(j) Then

a(i) = a(i) + a(j)

a(j) = a(i) - a(j)

a(i) = a(i) - a(j)

End If

Next j

Next i

Else

For i = 1 To n - 1

For j = i + 1 To n

If a(i) > a(j) Then

a(i) = a(i) + a(j)

a(j) = a(i) - a(j)

a(i) = a(i) - a(j)

End If

Next j

Next i

End If

End Sub

5.Запускаем приложение

Пример создания формы для вычисления двух функций

- считает функцию у=1+X/1! + X2/2!+X3/3! +...

-считает у = -1 - Х2/3 - Х4/5 + X6/6 + +X8/8 + Х10/10 - Х12/11 -….

-Выход из программы

Рисунок 19 – Внешний вид формы

Ход работы:

1.Создаём проект, перетаскиваем на форму 3 кнопки

2.Изменяем следующие свойства:

Кнопка1 Caption Ввод

Кнопка2 Caption Жуткая функция

Кнопка3 Caption Выход

3,Вводим код в окно кода:

Option Explicit

Dim eps As Double, Xn As Double, Xk As Double, Hy As Double

Function FN(x As Double, eps As Double) As Double

Dim U As Double

Dim N As Integer

Dim Y As Double

U = 1: Y = 1

N = 1

Do While Abs(U) > eps

N = N + 1

U = U * x / (N - 1)

Y = Y + U

Loop

FN = Y

End Function

Private Sub cmdVvod_click()

Dim x As Double, Y As Double

eps = Val(InputBox("Введите точностть"))

Xn = Val(InputBox("Введите начальное значение Х"))

Xk = Val(InputBox("Введите конечное значение Х"))

Hy = Val(InputBox("Введите шаг"))

Print "Значение Х", "Значение Y"

x = Xn

Do

Y = FN(x, eps)

Print x, Y

x = x + Hy

Loop Until x > Xk

End Sub

Function FN2(x As Double, eps As Double) As Double

Dim U As Double, Y As Double, N As Integer, K As Integer

U = -1:Y = -1:N = 0:K = 1

Do While Abs(U) > eps

N = N + 1

U = U * x * x * K

K = K + 2

If (N / 3 + 1) Mod 2 = 0 Then

K = K – 1: U = -U

End If

U = U / K

Y = Y + U

Loop

FN2 = Y

End Function

Private Sub Command2_Click()

Dim x As Double, Y As Double

eps = Val(InputBox("Введите точность"))

10 Xn = Val(InputBox("Введите начальное значение Х(от -1 до 1)"))

If Xn <=-1 Or Xn >= 1 Then GoTo 10

20 Xk = Val(InputBox("Введите конечное значение Х(от -1 до 1)"))

If Xk >= 1 Or Xk <= Xn Then GoTo 20

Hy = Val(InputBox("Введите шаг"))

Print "Значение Х", "Значение Y"

x = Xn

Do

Y = FN2(x, eps)

Print x, Y

x = x + Hy

Loop Until x > Xk

End Sub

Private Sub Command3_Click()

End

End Sub

5.Запускаем программу.

Пример создания формы для вычисления функции определения является ли вводимое выражение символом, чётным или нечётным числом, большой или маленькой латинской буквой

Рисунок 20 – Внешний вид формы

Кнопка «Запуск» запускает функцию на выполнение

Кнопка «Выход» служит для выхода из программы.

Ход работы:

1.Создаём стандартный exe

2.Переносим на форму 2 кнопки

3.Устанавливаем значение Caption первой кнопки кА Запуск, второй – Выход

4.Вводим код в окно кода:

Private Sub Command1_Click()

Dim msg, w

msg = "Введите символ"

w = InputBox(msg)

If Not (IsNumeric(w)) Then

If Len(w) = 1 Then

Select Case Asc(w)

Case 65 To 90

msg = "Введена большая лат.буква"

Case 97 To 122

msg = "Введена малая лат.буква"

Case Else

msg = "Это не латинская буква и не число"

End Select

Else

msg = "Это не символ"

End If

Else

Select Case Val(w)

Case 1, 3, 5, 7, 9

msg = "Это нечётная цифра"

Case 0, 2, 4, 6, 8

msg = "Это чётная цифра"

Case Else

msg = "Это не цифра и не буква"

End Select

End If

Print msg

End Sub

Private Sub Command2_Click()

End

End Sub

Запускаем приложение.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: