Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Практическое занятие №3. Программирование ветвлений




Задача.

Брокер получает процент от суммы сделки. Для сделок, сумма которых составляет меньше 150т.р. вознаграждение брокера составит 5%, если сумма договора составляет от 150 т.р. до 500 т.р. – 4,5%, а для сделок, сумма которых составляет больше 500 т.р. – 3,5%. Составить программу для расчёта вознаграждения брокера.

 

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

Прежде чем рассматривать алгоритмы ветвления, объясним понятие логического выражения. Это выражения неарифметического типа, такие выражения называют также условными.

Рассмотрим операции сравнения:

Операция Описания операции
> Больше
> = Больше или равно
< Меньше
< = Меньше или равно
< > Не равно
= Равенство

Наиболее простым шагом в рассмотрении нелинейных алгоритмов является оператор условного перехода. Данный оператор имеет две формы синтаксиса: упрощённая однострочная форма и более сложная ступенчатая или многострочная.

Однострочная форма имеет следующий синтаксис:

IfУсловноеВыражение ThenОператор1[Else Оператор2]

Многострочная форма синтаксиса более сложная:

IfУсловноеВыражение Then

ПоследовательностьОператоров1

[Else

ПоследовательностьОператоров2]

End if

На схеме показаны основные конструкции условного перехода.

 

 

Часто на практике приходится решать задачи, когда нужно проверить несколько условий. Тогда условные переходы получаются вложенными друг в друга. На блок–схеме это выглядит следующим образом

Такая ступенчатая схема в программном коде выглядит так:

If Условие1 Then

СписокОператоров1

Elseif Условие2 Then

СписокОператоров2

Elseif Условие3 Then

СписокОператоров3

……………………..

End if

В такой многоступенчатой схеме было применено ключевое слово Elseif, которое переводится как ИначеЕсли. Заметим, что вся эта многоступенчатая схема заканчивается только одним End if.

 

Составим блок-схему для нашей задачи:

 

è Откройте приложение MS Excel.

è Выполните команду СервисàМакросàРедактор Visual Basic или нажмите <Alt+F11>.

è Добавьте форму (команда Insertà UserForm)

è Для изменения размеров формы используйте указатель мыши помещённый в правый нижний угол окна Формы(UserForm)

è Разработайте пользовательский интерфейс, расположив на форме с помощью панели инструментов управления (ViewàToolBox), следующие объекты управления: Label (Метка), TextBox (Текстовое поле), CommandButton (Командная кнопка).

è В окне Properties (Свойства) для каждого объекта управления установить свойства, приведённые в таблице 2.

Таблица 2.

Элемент управления Свойства Значения
UserForm Caption Программирование ветвлений
Label1 Caption Вычисление вознаграждения брокера
Label2 Caption Сумма сделки
Label3 Caption Вознаграждение
TextBox1 Name txtSummaSdelki
TextBox2 Name txtNagrada
CommadButton1 Name cmdRun
Caption Расчёт
CommadButton2 Name cmdClear
Caption Очистка

 

è Примерный интерфейс программы может выглядеть так:

 

 

 

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

Private Sub cmdRun_Click()

Dim S As Single

Dim P As Single

S=Val(txtSummaSdelki.Text)

If S<= 150000 Then

P=S*0.05

ElseIf S>= 500000 Then

P=S*0.03

Else

P=S*0.04

End If

txtNagrada.Text = Str(P)

End Sub

è Сделайте расчёты для трёх случаев.

è Удалите текстовое поле с именем «txtSummaSdelki» и в коде программы строку «S=Val(txtSummaSdelki.Text)»

è На место удалённого объекта вставьте метку и именем «lblSummaSdelki» (обратите внимание, впереди стоит латинская буква «L» малая, а не «1 (единица)»)

è На место удалённой строки в коде программы вставьте следующую запись:

S=InputBox(“Введите значение суммы сделки”)

lblSummaSdelki=Str(S)

 

В приведённой выше части кода программы использовалась функция InputBox. Данная функция предназначена для ввода данных в программу. Она имеет следующий синтаксис:

InputBox (Запрос [, Заголовок] [, По_умолчанию] [, Xpos] [ Ypos] [, Справка, Раздел])

 

 

è Сохраните файл под именем «Брокерское вознаграждение»

 


Поделиться:

Дата добавления: 2014-11-13; просмотров: 171; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.007 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты