ЗАДАНИЕ 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 "Исходный массив"
For i = 1 To 10
b(i) = Int(10 * Rnd + 10)
Print b(i);
Next i
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 "Исходный массив"
For i = 1 To 10
b(i) = Int(10 * Rnd + 10)
Print b(i);
Next i
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
Di
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
Запускаем приложение.