ТОП 10:

Условные операторы. Вычисление значения функции, заданной условно.



 

Цель: Создание простого законченного приложения. Изучение операторов Visual Basic. Проектирование разветвляющегося вычислительного процесса.

Рабочее задание: Создать приложение для вычисления и вывода на экран значения функции:

y=f(x) =

 

Выражение для функции f1(x), f2(x) и f3(x) выбрать из таблицы П1 Приложения в соответствии с номером своего варианта.

В форме предусмотреть поля для ввода значения переменной х и параметра а, вывода результата вычисления, а также командные кнопки для осуществления расчета и выхода из приложения. Вводимые данные должны подвергаться контролю.

Пример выполнения работы

 
 

Создать приложение для вычисления значения функции:

y=f(x) =

1. Войти в среду Visual Basic. Создать новый проект. Присвоить ему имя Lab2.

2. Используя панель элементов управления, спроектировать форму Form1, примерно как показано на рис.10.

 

Рис 10. Проект формы Form1.

 

В форму включить следующие элементы управления:

а) текстовые поля (TextBox):

- A - для ввода значения параметра а;

- х- для ввода значения аргумента х;

- Y - для вывода значения функции у.

Значения свойств Text для этих полей очистить или присвоить им какие-то начальные значения;

б) Надписи (Label) для каждого текстового поля;

в) командные кнопки;

- Command1 с подписью Расчет;

- Command2 с подписью Выход.

3. Установить для текстового поля Y свойство:

BackColor (фоновый цвет)Button Face;

Visible (видимость поля) – False;

BordureStyle (стиль рамки) – 0 – None;

Locked (доступность для редактирования) – False.

4.Для командной кнопки Command1 (Расчет) свойству Default присвоить значение True для автоматического вызова события Click для этой кнопки при нажатии клавиши Enter. Аналогично свойству Cancel командной кнопки Command2 (Выход) установить значение Trueдля автоматического вызова события Click для этой кнопки при нажатии клавиши Esc.

5.По своему усмотрению изменить другие свойства элементов управления (цвет, шрифт, подчеркивание, курсив и т.д.), а также добавить дополнительные элементы управления для оформления форм ( линии, фигуры, рисунки и т.д.).

6.Создать модуль Module1. Для этого выбрать команду Project Þ Add Module (Проект Þ Добавить модуль). В появившемся окне кода набрать следующий код:

 

Function f(X As Single) As Single

If X <= 0 Then

f = Sin(X ^ 2 + Form1.A * X)

ElseIf X <= Form1.A Then

f = 1 - (1 + Sqr(X2 + Form1.A * X)) / (Exp(Sin(X)) * (1 + X))

Else

f = Cos(X ^ 2 - Form1.A ^ 2) / Sqr(1 - Sin(X - Form1.A)) - _

(1 - Sin(Form1.A - X)) / Exp(Sin(X))

End If

End Function

 

Этот код предназначен для вычисления значения функции. В этом коде используется формальный параметр Аиз Form1.имя формы должно предшествовать имени элемента управления и отделяться от него точкой. Имя свойства (Text)можно опустить.

7.С событием Click командной кнопки Command1 (Расчет) связать следующий код:

Private Sub Command1_Click()

Y = f(X)

Y.Visible = True

End Sub

Этот код предназначен для вычисления значения функции и присвоения его свойству Text текстового поля Y (имя свойства Text можно опустить). При этом поле становится видимым (появляется на экране), т.к. его свойству Visible (Видимость)присвоено значение True (Истина).

8. С событием Click кнопки Command2 (Выход) связать код .

Private Sub Command2_Click()

End

End Sub

9. С событием GotFocus (Получения фокуса) текстового поля X связать код:

 

Private Sub X_GotFocus()

Y.Visible = False

End Sub

 

Это событие возникает при переходе к данному элементу (например, щелчком или при помощи Tab или Shift + Tab) и означает, готовность к приему данных в поле Х. Процедура обработки события делает невидимым поле Y, убирая с экрана результат предыдущего расчета, относящийся к старому содержанию поля Х.

10.Аналогично создать код для обработки события GotFocus для текстового поля A:

 

Private Sub A_GotFocus()

Y.Visible = False

End Sub

 

11. С событием LostFocus (Потеря Фокуса) текстового поля Х связать код:

 

Private Sub X_LostFocus()

If Not IsNumeric(X) Then

X.SetFocus

MsgBox "Неверное значение: не цифра"

End If

End Sub

 

Это событие наступает после потери фокуса элементом управления, т.е. после завершения ввода или корректировки данных и передачи фокуса другому элементу. Приведенная выше процедура обработки данного события с помощью встроенной функции IsNumeric() проверяет, можно ли введенное значение преобразовать к числовому типу. При отрицательном результате с помощью встроенной функции MsgBox выводится сообщение об ошибке и фокус возвращается к полю Х для исправления ошибок.

12. Аналогично с событиемLostFocusтекстового поля Aсвязать код:

 

Private Sub A_LostFocus()

If Not IsNumeric(A) Then

A.SetFocus

MsgBox "Неверное значение: не цифра"

End If

End Sub

13.Сохранить проект в личной папке соблюдая требования, изложенные в разделе 4:

Форма: L2_<ФИО>_Form1

Модуль: L2_<ФИО>_Module1

Проект: L2_<ФИО>_Project

14.Запустить приложение на выполнение и выполнить расчет значений функции для различных значений аргумента.


Лабораторная работа № 3.







Последнее изменение этой страницы: 2016-08-12; Нарушение авторского права страницы

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.232.51.69 (0.005 с.)