5.3 Между текстом
Private Sub CommandButton1_Click()
End Sub
Дописываем текст
Dim y As Double
Dim x As Double
Const A = 2.5
Const B = 3
x = InputBox("Введите x", "Окно ввода данных")
y = SQR(A * x ^ 2 - B)
Res = MsgBox("y= " & y, , "Результат")
6 Сохраняем программу.
7 Запускаем программу с помощью меню Run (либо клавишей F5, либо соответствующей кнопкой).
8 Если есть ошибки, исправляем (т. е. отлаживаем программу).
9 В отобразившемся окне
нажимаем кнопку Расчет.
10 В InputBox
вводим значение x, например 2.3, и нажимаем кнопку «ОК».
11 В окне MsgBox отображается результат вычисления y.
12 Завершить выполнение программы можно, нажав соответствующую кнопку или в меню Run выбрать пункт Reset.
11.2 Разветвляющийся алгоритм
Задание
Ввести с клавиатуры число, проверить: если оно принадлежит интервалу (-10; 0), вывести его модуль, в противном случае вывести соответствующее сообщение.
1 Присваиваем новой форме название «Иванов И.И. Гр. Д-1-2005 Задача 2».
2 Помещаем кнопку «Ввод числа» (CommandButton1).
3 Помещаем надпись «Разветвляющийся алгоритм» (Label1).
4 Записываем подпрограмму ввода чисел и проверки на принадлежность заданному интервалу:
Private Sub CommandButton1_Click()
Dim x As Double
x = InputBox("Введите x", "Окно ввода данных")
If x > -10 And x < 0 Then
Res = MsgBox("x принадлежит интервалу -10,0", , "Результат")
Res = MsgBox("модуль x =" & Abs(x), , "Результат")
Else
Res = MsgBox("x не принадлежит интервалу -10,0", , "Результат")
End If
End Sub
5 Запускаем программу
6 Вводим число, удовлетворяющее условию.
7 Получаем результаты:
8 Вводим число, не принадлежащее интервалу:
11.3 Циклический алгоритм
Задание
Ввести с клавиатуры произвольное число значений и вычислить их квадратные корни. Ввод и вычисления прекратить, как только введено отрицательное число.
1 Присваиваем новой форме название «Иванов И.И. Гр. Д-1-2005 Задача 3».
2 Помещаем кнопку «Ввод числа» (CommandButton1).
3 Помещаем надпись «Цикл с предусловием» (Label1).
4 Записываем подпрограмму ввода чисел и вычисления их квадратных корней.
Private Sub CommandButton1_Click()
x = InputBox("Введите x", "Окно ввода данных")
Do While x >= 0
y =Sqr(x)
Res = MsgBox("y= " & y,, "Результат")
x = InputBox("Введите x","Окно ввода данных")
Loop
MsgBox ("Введено отрицательное число")
End Sub
5 Запускаем программу:
6 Вводим число
7 Получаем результат
8 Продолжаем вводить числа:
И т. д., до тех пор, пока не будет введено отрицательное число:
11.4 Одномерный массив
Задание
Вычислить сумму элементов одномерного целочисленного массива, заданного случайным образом.
1 Даем новой форме название «Иванов И.И. Гр. Д-1-2005 Задача 4».
2 Помещаем надпись «Одномерный массив» (Label1).
3 Помещаем кнопки «Элементы массива» (CommandButton1) «Сумма элементов» (CommandButton2).
4 Помещаем Label2.
5 Записываем программу вычисления суммы элементов массива:
Const n = 12
Dim V(1 To n) As Integer
Dim S As Integer
Private Sub CommandButton1_Click()
Label2.Caption = "Исходный массив "
Randomize
For i = 1 To n
V(i) = Rnd * 10
Label2.Caption = Label2.Caption + Str(V(i))
Next
End Sub
Private Sub CommandButton2_Click()
S = 0
For i = 1 To n
S = S + V(i)
Next
Rez = MsgBox("Сумма элементов массива=" & S,,"Окно результата")
End Sub
6 Запускаем программу. Нажимаем кнопку Элементы массива. В окне формы выводятся значения элементов массива V:
7 Нажимаем кнопку Сумма элементов.
8 В окне MsgBox выводится результат.
11.5 Вложенные циклы. Двумерные массивы
Задание
Задана квадратная матрица 10×10. Подсчитать среднее арифметическое элементов, расположенных на главной диагонали.
1 На новую форму Иванов И.И. Гр. Д-1-2005 Задача 5 помещаем элементы:
1.1 Label1 «Вложенные циклы. Двумерные массивы.
1.2 CommandButton1 «Задать матрицу».
1.3 Label2 «».
1.4 ListBox1 – для размещения элементов матрицы.
1.5 CommandButton2 «Среднее арифметическое».
2 Записываем код программы:
Const N = 10
Dim M(1 To N, 1 To N) As Integer
Private Sub CommandButton1_Click()
Label2.Caption = "Исходный массив "
Randomize
For i = 1 To N
L = ""
For j = 1 To N
M(i, j) = Rnd * 9
L = L + Str(M(i, j))
Next
' Добавить строку матрицы в элемент ListBox1
ListBox1.AddItem (L)
Next
End Sub
Private Sub CommandButton2_Click()
S = 0
For i = 1 To N
S = S + M(i, i)
Next
Sr = S / N
Res = MsgBox("Среднее значение диагональных элементов =" & Sr, , "Результат")
End Sub
3 Запускаем программу на выполнение:
11.6 Файлы произвольного доступа
Задание
Задать файл произвольного доступа, каждая запись которого содержит порядковый номер студента и его фамилию. Организовать возможность добавления информации в файл, а также вывода его содержимого на экран.
1 Создаем форму:
2 Записываем код программы:
Private Type CodeRec
Name As String * 25
Code As Integer
End Type
Const Fil As String = "MyFil"
Dim Trec As CodeRec
Dim FilNum As Integer
'Создание файла
Private Sub CommandButton1_Click()
FilNum = FreeFile()
Open Fil For Random Access Write As FilNum Len = Len(Trec)
For i = 1 To 3
Trec.Name = InputBox("Введите фамилию")
Trec.Code = i
Put FilNum, , Trec
Next
Close FilNum
End Sub
'Добавление в файл
Private Sub CommandButton2_Click()
FilNum = FreeFile()
Dim nbyte As Long
Open Fil For Random Access Read Write As FilNum Len = Len(Trec)
nbyte = LOF(FilNum)
n = CInt(nbyte / Len(Trec))
Trec.Name = InputBox("Введите фамилию")
Trec.Code = n + 1
Put FilNum, n + 1, Trec
Close FilNum
End Sub
'Чтение файла и вывод на экран
Private Sub CommandButton3_Click()
FilNum = FreeFile()
Open Fil For Random Access Read As FilNum Len = Len(Trec)
Do While Not EOF(FilNum)
Get FilNum, , Trec
S = Str(Trec.Code) & " " & Trec.Name
ListBox1.AddItem (S)
Loop
End Sub
'Создание папки для записи в нее файла
Private Sub CommandButton4_Click()
ChDrive "C"
On Error Resume Next
MkDir "Lab"
ChDir "Lab"
End Sub
3 Запускаем программу на выполнение
3.1 Создаем папку (щелчком на соответствующей кнопке).
3.2 Создаем файл. Вводим фамилии (в цикле), программа осуществляет вывод в файл с заданным именем каждой записи.
4 Дополняем файл одной записью
5 Выводим содержимое файла (с помощью компонента ListBox):
12.1 Линейный алгоритм: вычисление арифметического выражения
Задание. Вычислить значение функции при А, В и С – константах (задать значения самостоятельно) и произвольном x (ввести с клавиатуры).
1.
2.3.
4.5.
6.7.
8.9.
10.11.
12.13.
14.15.
16.17.
18.