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

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

Читайте также:
  1. HLA - система; классы антигенов, биологические функции, практическое значение HLA-типирования.
  2. Аспектно-Ориентированное Программирование (Aspect Oriented Programming, AOP)
  3. Воздействие первое: вербальное программирование
  4. Занятие 1. Комплексирование геофизических методов с целью повышения эффективности поиска нефтегазоперспективных объектов.
  5. Занятие 14 (частный курс).
  6. Занятие 2. Две модели отношений
  7. Занятие 2. Классическая логика высказываний.

Задача.

Брокер получает процент от суммы сделки. Для сделок, сумма которых составляет меньше 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] [, Справка, Раздел])

 

 

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

 


Дата добавления: 2015-10-28; просмотров: 163 | Нарушение авторских прав


Читайте в этой же книге: Ввод и вывод данных | Практическая работа №5. Работа с массивами | Практическая работа №6. Процедуры и функции | Практическое занятие №7. Файлы. Последовательный доступ | Практическое занятие №8. Файлы с произвольным доступом | Программирования циклов | Программирование ветвлений | Второе задание |
<== предыдущая страница | следующая страница ==>
Практическое задание №2. Линейное программирование| Практическая работа №4. Программирование повторений

mybiblioteka.su - 2015-2024 год. (0.009 сек.)