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

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

Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначен­ные для поддерживания проводов на необходимой высоте над землей, водой...

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

2021-04-18 86
Проектирование решения линейной                           задачи средствами Visual Basic 0.00 из 5.00 0 оценок
Заказать работу

 

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

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

 

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

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

 

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

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

 

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

 

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

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

 

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

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

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

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

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

 

 

 

 


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

 

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

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

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

 

Таблица 3.2

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

Реквизит Имя Назначение
Цена txtЦена Цена товара
Количество txtКоличество Количество товара
Стоимость lblрзтСтоимость Стоимость товара

 

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

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

 

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

 

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

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

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

 

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

 

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

 

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

 

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

Private Sub cmdВычислить_Click()

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

End Sub

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

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

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. На форму поместить надпись «Цена» и соответствующее текстовое поле. Для этого необходимо:

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 задать значение l blрзтСтоимость. В свойстве BorderStyle из раскрывающегося списка выбрать 1-Fixed Single, что придает вид вдавленного поля, похожего на текстовое поле. Но оставшийся серый цвет фона будет свидетельствовать о том, что поле не доступно для изменений (оно содержит результат вычислений). На этом заканчивается создание интерфейса.

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

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

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

 

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

 

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

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

Анализ проекта

В рассмотренной выше задаче ввод исходных данных реализован с помощью текстовых полей txtЦена и txtКоличество, а вычисление стоимости и вывод результата – одной строкой

 

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

 

в процедуре обработки события нажатия командной кнопки «cmdВычислить».

Поставленную задачу можно также решить без кнопки. Форма для этого случая приведена на рис. 3.3.

 

 

Рис. 3.3. Форма для вычисления стоимости товара (без кнопки)

 

Процесс вычисления стоимости можно связать с событием изменения значения (Change) в текстовых полях txtЦена и txtКоличество.

В этом случае код программы имеет вид:

 

Private Sub txtЦена_Change()

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

End Sub

 

Private Sub txtКоличество_Change()

txtЦена_Change

End Sub

 

Первая процедура создается путем двойного щелчка на текстовом поле «txtЦена» и ввода строки кода:

 

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

 

Вторая – также вначале двойным щелчком на текстовом поле txtКоличество, а затем копированием заголовка из первой процедуры во вторую. Такая запись говорит о том, что при изменении значения в текстовом поле txtКоличество выполняются те же действия, что и при изменении текстового поля txtЦена.

Вычисление стоимости происходит при любом изменении значения в одном из текстовых полей txtЦена или txtКоличество, в том числе и когда в другом еще не вводились никакие значения. Последняя ситуация может привести к ошибке, так как неизвестен второй сомножитель. Чтобы избавиться от такого варианта, введем в свойство Text каждого из этих полей цифру 0, т.е. если в поле еще не вводились никакие данные, то значением поля будет ноль.

Для того, чтобы на диске сохранялся и первый проект (с кнопкой) и второй (без кнопки), нужно после сохранения первого проекта и переделки его формы под второй проект сохранить новую форму командой File – Save Form As и ввести имя файла для формы frmКасса2. Затем сохранить весь проект в новом файле prКасса2 командой File – Save Project As.

Примечания. 1. При задании свойств Caption и Name производилось копирование значения из первого свойства во второе, что облегчает процесс задания свойства Name. В общем случае использовать такой прием не обязательно – значение свойства Name можно задавать путем его ввода с клавиатуры.

2. Если значение свойства Caption состоит из нескольких слов (например, Новая цена), то после его копирования в свойстве Name необходимо избавиться от пробелов между словами (например, сформировать имя txtНовая_цена или txtНоваяЦена).


Поделиться с друзьями:

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...

Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...

Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.029 с.