Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие по VB. Часть1.doc
Скачиваний:
61
Добавлен:
02.02.2015
Размер:
1.42 Mб
Скачать

3.3. Проектирование решения линейной задачи средствами Visual Basic

Линейные алгоритмы, как правило, сводятся к вводу исходных данных, вычислениям по одной или нескольким формулам и выводу полученных результатов, не требуя отдельного запоминания промежуточных результатов (и, следовательно, использования дополнительных переменных). Для решения задач, описываемых такими алгоритмами, достаточно знаний средств построения интерфейса с пользователем, изложенных в предыдущем разделе.

Рассмотрим реализацию линейного алгоритма на конкретном примере.

3.3.1. Постановка задачи

Составить программу работы простейшего кассового аппарата, который вычисляет стоимость товара при задании его цены и количества.

3.3.2. Экономико-математическая модель

Стоимость купленного товара определятся по формуле:

Стоимость = Цена * Количество

3.3.3. Алгоритм решения задачи

Алгоритм решения задачи приведен на рис. 3.1.

3.3.4. Структура данных

При решении задачи используются следующие данные:

Цена – дробное число;

Количество – целое число;

Стоимость – дробное число.

Рис. 3.1. Алгоритм вычисления стоимости товара

Данные Цена и Количество являются исходными и вводятся с клавиатуры в текстовые поля. Поэтому в программе им присвоим имена txtЦена и txtКоличество соответственно.

Результат «Стоимость» выводится на форму. Он зависит от исходных данных и не может быть произвольно изменен пользователем. Поэтому в программе он представлен надписью с именем lblрзтСтоимость.

Структура данных задачи представлена в табл. 3.2.

Таблица 3.2

Структура данных

Реквизит

Имя

Назначение

Цена

txtЦена

Цена товара

Количество

txtКоличество

Количество товара

Стоимость

lblрзтСтоимость

Стоимость товара

3.3.5. Интерфейс с пользователем

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

Рис. 3.2. Форма для вычисления стоимости товара

На форме слова «Цена», «Количество» и «Стоимость» представляются надписями. Исходные значения цены и количества вводятся в текстовые поля. Вычисления производятся при нажатии кнопки «Вычислить». Результат помещается в вогнутую область рядом с надписью «Стоимость». Вогнутая область в форме представляется надписью.

3.3.6. Код программы

В процедуре, которая обрабатывает событие "Щелчок на кнопке «Вычислить»", должен быть только один оператор:

lbрзтlСтоимость.Caption = txtЦена.Text * txtКоличество.Text

Поскольку свойство Caption является свойством-значением для надписи, а свойство Text – для текстового поля, сами свойства указывать не обязательно. Поэтому оператор для вычисления стоимости можно записать в виде:

lblрзтСтоимость = txtЦена * txtКоличество

Процедура, которая обрабатывает событие "Щелчок на кнопке «Вычислить»", представлена ниже.

PrivateSubcmdВычислить_Click()

lblрзтСтоимость = txtЦена * txtКоличество

End Sub

3.3.7. Реализация проекта

Реализация проекта осуществляется в такой последовательности:

1. Загрузить VB командой Пуск – Программы – Microsoft Visual Studio 6.0 – Microsoft Visual Basic 6.0.

2. Выбрать в диалоговом окне New Project (Создание проекта) во вкладке New тип проекта (значок <Standard EXE>) и нажать кнопку «Открыть». В результате появляется главное окно VB, в рабочей области которого в окне формы «Project1 Form1 (Form)» представлена пустая форма «Form1».

3. Задать имя и заголовок формы. Для этого при выделенной форме (отображаются маркеры по границе формы) необходимо:

3.1. Ввести значение «Касса» в свойстве Caption (Заголовок).

3.2. Выделить введенное значение (клавиши <Shift+Home>) и скопировать в буфер (клавиши <Ctrl+C>).

3.3. Щелкнуть на названии свойства Name, вставить из буфера значение «Касса» (клавиши <Ctrl+V>) и в начале этого слова добавить префикс frm, т.е. свойство Name получает значение frmКасса.

4. На форму поместить надпись «Цена» и соответствующее текстовое поле. Для этого необходимо:

    1. На панели элементов управления щелкнуть элемент Label и указать место и его размер на форме. Аналогично создать текстовое поле (TextBox) справа от надписи. В результате на форме появляется подпись «Label1» и текстовое поле «Text1».

4.2. Выделить на форме элемент Label1 и в окне свойств в свойстве Caption ввести значение «Цена».

4.3. Выделить введенное значение и скопировать в буфер.

4.4. Щелкнуть на названии свойства Name и вставить из буфера значение «Цена». В начале этого слова добавить префикс lbl.

4.5. Выделить на форме текстовое поле Text1, а в окне свойств в свойстве Name вставить из буфера значение «Цена». В начале этого слова добавить префикс txt. Таким образом свойство Name для текстового поля получает значение txtЦена.

4.6. В свойстве Text1 текстового поля удалить значение «Text1», что избавит в дальнейшей работе от необходимости каждый раз удалять это значение перед вводом цены (выделить значение «Text1» и нажать клавишу <Delete>).

5. Ниже в форме создать надпись «Количество» и соответствующее текстовое поле подобно тому, как это было сделано в п.4.

6. Создать командную кнопку «Вычислить». Для этого надо:

6.1. На панели элементов управления щелкнуть элемент CommandButton и указать место и его размер на форме.

6.2. В окне свойств в свойстве Caption ввести значение «Вычислить».

6.3. Выделить введенное значение и скопировать в буфер.

6.4. Щелкнуть на имени свойства Name, вставить из буфера название "Вычислить" и в начале этого слова добавить префикс cmd. Таким образом, свойство Name для командной кнопки получает значение cmdВычислить.

7. В нижней части формы создать две надписи: надпись «Стоимость» и надпись, в которую будет помещаться результат. Для этого надо:

7.1. Создать две надписи на одной линии.

7.2. Выделить первую надпись, в свойство Caption ввести значение «Стоимость», а свойству Name задать значение lblСтоимость.

7.3. Выделить вторую надпись, в свойство Caption ввести значение «0» (будет выводиться в надписи до выполнения вычислений), а в свойстве Name задать значение lblрзтСтоимость. В свойстве BorderStyle из раскрывающегося списка выбрать 1-Fixed Single, что придает вид вдавленного поля, похожего на текстовое поле. Но оставшийся серый цвет фона будет свидетельствовать о том, что поле не доступно для изменений (оно содержит результат вычислений). На этом заканчивается создание интерфейса.

8. Создать код процедуры, обрабатывающей нажатие кнопки «Вычислить». Для этого:

8.1. Дважды щелкнуть на кнопке «Вычислить». В результате чего открывается окно кода, в котором уже имеется заголовок процедуры Private Sub cmdВычислить_Click() (т.е. как раз той процедуры, которая обрабатывает нужное событие) и окончание процедуры End Sub.

    1. В теле процедуры ввести оператор

lblрзтСтоимость = txtЦена * txtКоличество

Во избежание ошибок в именах элементов следует вводить префикс и затем нажать комбинацию клавиш <Ctrl+J>. Из появившегося списка выбрать нужное имя и нажать клавишу <Tab>, чтобы вставить его в код процедуры.

9. Сохранить форму и проект в папке МЭО13 на диске D:.