Демонстрационный пример



В старо-японском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. На­писать программу, которая по номеру года определяет его на­звание в старо японском календаре, если известно, что 1996 г. был годом крысы — началом очередного цикла.

Поскольку цикл является двенадцатилетним, поставим в со­ответствие название года остатку от деления номера этого года на 12. При этом учтем, что остаток от деления 1996 на 12 равен 4.

Option Explicit

Sub Goroskop()

Dim Year As Integer

Year = InputBox ("Введите год")

Select Case Year Mod 12

Case 0

MsgBox "Год Обезьяны"

Case 1

MsgBox "Год Петуха"

Case 2

MsgBox "Год Собаки"

Case 3

MsgBox "Год Свиньи"

Case 4

MsgBox "Год Крысы"

Case 5

MsgBox "Год Коровы"

Case 6

MsgBox "Год Тигра"

Case 7

MsgBox "Год Зайца"

Case 8

MsgBox "Год Дракона"

Case 9

MsgBox "Год Змеи"

Case 10

MsgBox "Год Лошади"

Case 11

MsgBox "Год Овцы"

Case 12

End Select

End Sub


Практическая работа №4. Программирование повторений

Задача

 

Найдите значения функции у=sin(x) на интервале [a;b].

 

Важными конструкциями в языке Visual Basic является циклы. Именно они обеспечивают один из способов обработки информации.

Повторение – это многократное выполнение одного или нескольких предписаний алгоритма.

Цикл – это оператор языка программирования, с помощью которого это повторение будет выполнять компьютер – исполнитель алгоритма.

Цикл с использованием конструкции For...Next.

Конструкция For...Next выполняет последовательность команд определенное число раз. Такую конструкцию называют циклом, а выполняемые ею программные коды — телом цикла.

Синтаксис конструкции For... Next следующий:

For счетчик = начЗначение То конЗначение [ Step шаг]

Конструкции

[Exit For]

[инструкции]

Next [счетчик]

Первый аргумент конструкции — счетчик — определяет имя переменной, которая будет "считать" количество выполнении цикла. Параметр начЗначение указывает числовое значение, которое присваивается переменной-счетчику перед первым проходом цикла. Цикл выполняется до тех пор, пока значение счетчика не превысит конечного значения, указанного после ключевого слова То. После каждого прохода цикла значение счетчика изменяется на величину шаг, указанную за ключевым словом step. Ключевое слово Next обозначает конец тела цикла и является обязательным.

Перед каждым проходом цикла Visual Basic сравнивает значения счетчика и аргумента конЗначение. Если значение счетчика не превышает установленного значения конЗначение, выполняются конструкции тела цикла. В противном случае управление переходит к следующей за Next конструкции.

Циклы Do While

Оператор Do While — еще один тип циклической структуры, представленной в VBA.

В отличие от цикла For-Next, цикл Do while выполняется до тех пор, пока удовлетворяется заданное условие. Цикл Do While может иметь один из двух представленных ниже синтаксисов:

 

Do While условие инструкции [Exit Do] [инструкции] Loop   или Do инструкции [Exit Do] [инструкции] Loop While условие Цикл с предусловием     Это цикл работает пока значение условия равно Истина     Цикл с постусловием

VBA позволяет проверять условие While в начале или в конце цикла. Разница между этими двумя синтаксисами связана с моментом, когда оценивается условие. В первом синтаксисе содержимое цикла может нообще не выполнятся. Во втором содержимое цикла всегда выполняется (как минимум один раз).

 


 

Циклы Do Until

 

Do Until условие конструкции [Exit Do] [инструкции] Loop   или   Do конструкции [Exit Do] [инструкции] Loop Until условие   Цикл с предусловием     Это цикл работает пока значение условия равно Ложь     Цикл с постусловием  

 

Существуют определённые правила выбора типа цикла:

1. Если вам известно заранее число повторений тела цикла, лучше всего использовать оператор цикла For;

2. Если вам заранее не известно число повторений тела цикла и если окончание цикла зависит от выполнения некоторого условия, лучше использовать конструкции While …Wend, Do While…Loop или Do Until … Loop.

3. Если необходимо, чтобы цикл всегда выполнялся хотя бы один раз, то используйте конструкции Do … While Loop или Do … Until Loop.

 

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

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

è Выполните команду РазработчикàРедактор Visual Basic или нажмите < Alt+F11 >.

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

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

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

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

Таблица 3

Элемент управления Свойства Значения
UserForm Caption Программирование повторений
Label1 Caption Табулирование функции
Label2 Caption а=
Label3 Caption b=
Label4 Caption Значение функции
TextBox1 Name txtA
TextBox2 Name txtB

 

TextBox3 Name txtSin
CommadButton1 Name cmdSinus
Caption Пуск
CommadButton2 Name cmdClear
Caption Очистка

 

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

 

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

Private Sub cmdSinus_Click()

а!=Val(txtA)

b!=Val(txtB)

For i%=a To b

y!=Sin(i)

txtSin = txtSin +”x=” + Str(i)+ “, y=”+Str(y) + ÄvbCrlf

Next i

End Sub

Private Sub cmdCleaR_Click()

txtA = ""

txtB = ""

txtSin = ""

End Sub

è Сделайте расчёты для разных а и b. Внимание a<b!!!

è Добавьте в код программы строку в которой бы шла проверка на сравнение а и b. И если a>b, то программа завершала бы работу.

 

Для вывода информации на форму можно воспользоваться объектом ListBox (Список). Он позволяет выводить значения табулируемых функций, списков, массивов.


Дата добавления: 2015-12-17; просмотров: 21; Мы поможем в написании вашей работы!

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






Мы поможем в написании ваших работ!