Алгоритм задачи
Алгоритм задачи изображен в виде блок-схемы, которая начинается на этой странице и продолжается на следующей.
Разработка
пользовательского
интерфейса
После ввода новой дочерней формы с названием, например, Линейный алгоритм и именем frmLine, добавления нового пункта меню (Линейный алгоритм) в родительскую форму для загрузки этой новой формы необходимо разработать интерфейс формы. То есть следует спланировать, какие элементы управления разместить на форме, чтобы интерфейс формы был удобным и понятным для пользователя вашей программы. Не забыть свойству MDIChild формы frmLine установить значение True.
При разработке интерфейса вычислительных задач нас должен интересовать интерфейс, связанный с тремя основными блоками: ввода исходных данных, блока вычислений, вывода результатов.
Ввод исходных данных
Возможно несколько вариантов ввода исходных данных:
1. Начальные значения исходным данным присваиваются с помощью оператора присваивания x = 2, z = -4.8 в программе; это самый неудачный способ, т. к. при изменении исходных данных необходимо делать изменения в программе.
2. С помощью текстовых полей (интерактивный способ), как это сделано при разработке простейшей программы сложения 2-х чисел в задании № 1.
3. С использованием функции InputBox(), которая выводит на экран диалоговое окно с текстовым полем для ввода данных и двумя кнопками ОК, Отмена (интерактивный способ). Этот способ используем в программе задачи, поэтому на форме никаких элементов управления для ввода можно не планировать.
4. С помощью функции RND, которая генерирует случайные числа. В данном случае этот способ задания исходных данных не подходит, т. к. по условию задачи начальные данные – конкретные числа. Но в ряде случаев для отладки программы с использованием массивов чисел этот способ задания исходных данных является удобным.
Блок вычислений
Все вычисления будут запрограммированы в программе (процедуре). Но для начала вычислений необходимо предусмотреть на форме кнопку с названием Вычислить, которая и будет запускать на выполнение такую процедуру. Еще одна кнопкас названием Выход (или Конец, или END) необходимо построить на форме для завершения работы и выгрузки формы.
Вывод результатов
Вывод результатов можно осуществить несколькими способами:
1) С помощью оператора Print. В этом случае выдача будет происходить прямо на форму.
2) Выдача на этикетку (Label). Например, выдача значения Y на надпись Label1 задается кодом: Label1.Caption = Y и аналогично выдача Р и V на надписи Label2 и Label3, которые все три должны быть предварительно построены на форме.
3) Выдача на текстовые поля(TextBox). Эту выдачу и используем в данной задаче. А надписи используем для написания заголовка Результаты расчетови надписей Y, P и V над текстовыми полями, где должны появляться результаты расчетов. Таким образом, на форме frmLine должны быть такие объекты и их свойства (табл. 3.1).
Таблица 3.1
Объект | Свойство | Установленное значение |
Label1 | Имя | lblЗаголовок |
Caption | Результаты расчетов | |
Label2 | Имя | lblYPV |
Caption | Y P V | |
Text1 | Имя | txtY |
Text | Пусто | |
Alignment | 1-Правая привязка | |
Text2 | Имя | txtP |
Text | Пусто | |
Alignment | 1-Правая привязка | |
Text3 | Имя | txtV |
Text | Пусто | |
Alignment | 1-Правая привязка | |
Command1 | Имя | cmdВычислить |
Caption | Вычислить | |
Command2 | Имя | cmdEnd |
Caption | Выход |
Написание программного кода
Для события Click кнопки cmdВычислить (<Вычислить>) напишите следующий код:
Private Sub cmdВычислить_Click()
Dim A As Single, z As Single, x As Single
Dim P As Single, Y As Single, V As Single
A = Val(InputBox("Введите а: ", "Окно ввода", _
, 3700, 5000))
x = Val(InputBox("Введите x: ", "Окно ввода", _
, 3700, 5000))
z = Val(InputBox("Введите z: ", "Окно ввода", _
, 3700, 5000))
‘ Val() – функция преобразования аргумента
‘в числовой тип
‘ 3700 – координата Х, задающая расстояние левого края
‘ диалогового окна от левого края экрана в твипах
‘ 5000 – координата Y, координаты подбираются
Print 'создание пустой строки
Print " Исходные данные:" ' печать заголовка
'выдача исходных данных:
Print " a = "; A; " x = "; x; " z = "; z
Y = A * (Tan(x ^ 2)) ^ 2 + Sqr(z ^ 2 / (A ^ 2 + x ^ 2))
P = Log(A + x ^ 2) + (Sin(z / A)) ^ 2
V = Y + P
' FormatNumber(Y, 4) - форматирование чисел при выдаче
‘после запятой назначены 4 значащие цифры:
txtY.Text = FormatNumber(Y, 4)
txtP.Text = FormatNumber(P, 4)
txtV.Text = FormatNumber(V, 4)
End Sub
Для события Click кнопки cmdEnd (<Выход>) напишите следующий код:
Private Sub cmdEnd_Click()
Unload Me ‘буквально: выгрузи меня
End Sub
Начинать выполнение задания необходимо с открытия своего проекта Программы_ВашаФамилия.vbp из своей папки.
Технология работы с формой , элементами управления, их свойствами такая же, как в заданиях №№ 1 и 2.
После выполнения этого задания получить у преподавателя и выполнить самостоятельно свой вариант задачи. Перед программированием на компьютере в тетради составить алгоритм задачи и написать коды программы. Вывод результатов запрограммировать на надписи (Label) или на форму (с помощью оператора Print).
Дата добавления: 2015-02-05; просмотров: 1165;