Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Топ:
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Интересное:
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Как мы говорим и как мы слушаем: общение можно сравнить с огромным зонтиком, под которым скрыто все...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
2021-04-18 | 86 |
5.00
из
|
Заказать работу |
|
|
Линейные алгоритмы, как правило, сводятся к вводу исходных данных, вычислениям по одной или нескольким формулам и выводу полученных результатов, не требуя отдельного запоминания промежуточных результатов (и, следовательно, использования дополнительных переменных). Для решения задач, описываемых такими алгоритмами, достаточно знаний средств построения интерфейса с пользователем, изложенных в предыдущем разделе.
Рассмотрим реализацию линейного алгоритма на конкретном примере.
Постановка задачи
Составить программу работы простейшего кассового аппарата, который вычисляет стоимость товара при задании его цены и количества.
Экономико-математическая модель
Стоимость купленного товара определятся по формуле:
Стоимость = Цена * Количество
Алгоритм решения задачи
Алгоритм решения задачи приведен на рис. 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 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!