Студопедия Главная Случайная страница Обратная связь

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

Управление ходом выполнения программ. Примеры типовых алгоритмов





Аннотация:Для управления ходом выполнения программ могут использоваться: структуры выбора, циклы, переход GoTo, вызов и возврат, выход, использование событий, использование процедур и так далее. В лекции рассматриваются некоторые из этих возможностей. Во второй части лекции рассматриваются некоторые типовые алгоритмы; для подробного изучения их многообразия следует обратиться к специальной литературе.

Для управления ходом выполнения программ предоставляется ряд возможностей, ниже рассматриваются некоторые из них.

Условная инструкция If: Then: Else

Необходимость использования инструкции If: Then: Else возникает, если имеются альтернативные пути выполнения программы; при еe использовании проводится проверка условий и в зависимости от их истинности выполняются определeнные действия. Используется простой и полный синтаксис. Простой синтаксис:

If условие Then инструкция [Else инструкция]

- если условие, стоящее после If истинно (True), то выполняется инструкция, следующая за Then, если условие ложно (False), то выполняется инструкция, следующае за Else.

Полный синтаксис:

If условие 1 Then инструкция 1.[инструкция m][ElseIf условие 2 Then инструкция k] [Elseинструкция n]End If

Во втором случае синтаксиса инструкция 1: инструкция m,: записываются на новых строчках, присутствует инструкция End If. Наличие ElseIf позволяет анализировать дополнительные условия. Добавлением нескольких инструкций ElseIf можно анализировать дополнительное количество условий. Else используется для обработки противоположных ситуаций. Если нужно проверить некоторое условие при наличии другого условия, то используются вложенные инструкции, пример:

If условие 1 ThenIf условие 2 Then инструкция 1.Elseинструкция mEnd IfElseинструкция nEnd If

Для демонстрации различия синтаксиса рассмотрим пример нахождения максимального из 2-х чисел.

Dim max As IntegerIf Val(txt1.Text) > Val(txt2.Text) Then max = Val(txt1.Text) Else max = Val(txt2.Text)lblMax.Caption = maxили:If Val(txt1.Text) > Val(txt2.Text) Thenmax = Val(txt1.Text)Else: max = Val(txt2.Text)End IflblMax.Caption = max

Цикл For: Next

Цикл For: Next предназначен для выполнения определeнного количества действий, когда количество действий известно заранее; синтаксис:

For начальное_значение переменной-счeтчик To конечное_значение переменной-счeтчик [Step величина шага]инструкции Next [переменная-cчeтчик]

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

Практическая работа 9. Цикл For: Next

9а. Цикл For: Next, формирование массива, вычисление суммы элементов массива, вывод текстовые поля, поля списка и Label1.

Создать требуемые объекты, см. код процедуры Command1_Click(), данный ниже, очистить свойство Text текстового поля, а его свойству Multiline присвоить значение Тrue, тогда в процессе выполнения будет проводиться перенос строк в текстовое поле. Ввести код:

Private Sub Command1_Click()Dim mass(15) As Integer, i As IntegerRem переменная для хранения суммы элемeнтов массиваDim summ As Integer For i = 0 To 14mass(i) = i' вывод элементов массива в поле спискаlst1.List(i) = mass(i) ' вывод значений i в поле TextBoxtxt1.Text = txt1.Text & " " & i Next isumm = 0For i = 0 To 14' суммирование элементов маcсиваsumm = summ + mass(i) Next ilbl1.Caption = summ ' вывод суммы элементов End Sub

стартовать проект, сделать щелчок на командной кнопке.

9b. Цикл For: Next, формирование массива случайных чисел в заданном диапазоне, вычисление суммы элементов массива, вывод в поле списка и Label1.

Используется функция RND, возвращающая псевдослучайное число в диапазоне 0 - 1. Выражение вида: Int(КонецДиапазона - НачалоДиапазона + 1) * RND() + НачалоДиапазона) позволяет получить случайное целое число в заданном диапазоне. Функция Int возвращает целую часть числа.

Создать требуемые объекты, см. код, данный ниже и ввести код:

Private Sub Command1_Click()Dim mass(15) As Integer, I As Integer, A As Integer, В As IntegerDim Summ As IntegerA = -5: B = 5: Summ = 0For I = 0 To 14mass(I) = Int(Rnd * (B - A + 1) + A)lst1.List(I) = mass(I)Summ = Summ + mass(I)Next Ilbl1.Caption = SummEnd Sub

стартовать проект, сделать щелчок на командной кнопке.

9c. Создание массива объектов, использование вложенного цикла For: Next для формирования двумерного массива, вывод элементов двумерного массива в массив поля списка и суммы элементов массива в элемент управления Label1.

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

· щелчком маркировать поле списка,

· использовать команду Копировать контекстного меню поля списка,

· использовать команду Вставить того же контекстного меню; на вопрос:"Хотите, чтобы объект стал элементом массива?" ответить: "Да", копия выводится в верхний левый угол формы,

· повторить копирование, т.к. нужен массив объектов из 3-х элементов; проверить на форме идентификаторы поля списка: List1(0), List1(1), List1(2),рис. 2.1


Рис. 2.1. Схема формы

ввести код:

Private Sub Command1_Click()Dim mass(15, 3) As Single, i As Integer, j As Integer Dim A As IntegerDim B As Integer, Summ As Single A = -5: B = 5: Summ = 0For j = 0 To 14For i = 0 To 2mass(j, i) = Rnd * (B - A) + A' вывод элементов в поля массива спискаList1(i).List(j) = mass(j, i) ' суммирование элементов двумерного массиваSumm = Summ + mass(j, i) Next i, jLabel1.Caption = Summ ' вывод суммы элементов массиваEnd Sub

стартовать проект, сделать щелчок на командной кнопке.

Повтор набора инструкций - Do: Loop

Цикл Do: Loop используется, если точное количество повторений действий заранее неизвестно или нужно дождаться выполнения некоторого условия. Цикл Do: Loop может выполняться бесконечно:

Doповторяющееся действиеLoop

Различают 2 варианта цикла Do: Loop с завершением:

· цикл продолжает повторяться всe время, пока некоторое условие остаeтся истинным:

· Do While условие· инструкцииLoop

· вместо условия продолжения вычислений формулируется условие его завершения:

· Do Until условие· инструкцииLoop

Практическая работа 10. Циклы Do: Loop

Создать массивы, вычислить сумму их элементов.

10а. Do While:, Do Until

1. Создать на форме 2 командные кнопки, 2 элемента управления Label, ввести код, данный ниже:

Private Sub Command1_Click()Dim sum As Integer, mas(5) As Integer, к As Integermas(0) = 5: mas(1) = 6: mas(2) = 7: mas(3) = 6: mas(4) = 7к = 0: sum = 0' здесь цикл повторяется до тех пор, пока значение' переменной остается < 5 Do While к < 5 sum = sum + mas(к)к = к + 1Looplbl1.Caption = sumEnd SubPrivate Sub Command2_Click()Dim sum As Integer, mas(5) As Integer, к As Integermas(0) = 5: mas(1) = 6: mas(2) = 7: mas(3) = 6: mas(4) = 7sum = 0: к = 0Do Until к = 5 sum = sum + mas(к)к = к + 1Looplbl2.Caption = sumEnd Sub

2. стартовать проект, щелчками на командных кнопках выполнить оба цикла.

Цикл Do: Loop часто применяется при считывании записей из файла:

Do While Not EOF #номер файлаEOF (End of File) - признак конца файла.

Циклы Do:Loop могут управляться в конце. В примерах, данных ниже расположение условий в начале/конце циклов равноценно.

10b. Цикл Do: Loop; расположение условий в начале, конце

Создать необходимые объекты, очистить свойства Caption элементов управления Label, ввести код, cтартовать проект, выполнить оба цикла.

Private Sub Command1_Click()Dim i As Integeri = 0Do While i < 7lbl1.Caption = lbl1.Caption & " " & ii = i + 1LoopEnd SubPrivate Sub Command2_Click()Dim i As Integeri = 0Dolbl2.Caption = lbl2.Caption & " " & ii = i+ 1Loop While i < 7End Sub

Условная инструкция Select Case: выбор ветви из набора условий

Использование блока Select Case позволяет принять решение при наличии нескольких условий; синтаксис:

Select Case переменная_выбораCase 1 значение 1инструкция 1Case 2 значение 2инструкция 2.' Case Else выполняется, если не выполнено ни одно из' предыдущих условий Case Else инструкция kEnd Select

Синтаксис Select Case разрешает использование условий < > =, при этом используется ключевое слово Is, пример:

Select Case peopleCase Is < 100000инструкция 1Case Is < 500000инструкция 2End Select

В качестве значения для Case можно указывать не одно значение, а несколько через запятую. Пример использования:

Dim A As SingleA = Val(Text1.Text)Select Case ACase Is < 0: lbl1.Caption = "<0"Case Is = 0: lbl1.Caption = "0"Case Else: lbl1.Caption = ">0"End Select






Дата добавления: 2015-06-12; просмотров: 561. Нарушение авторских прав; Мы поможем в написании вашей работы!




Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Образование соседних чисел Фрагмент: Программная задача: показать образование числа 4 и числа 3 друг из друга...

Шрифт зодчего Шрифт зодчего состоит из прописных (заглавных), строчных букв и цифр...

Краткая психологическая характеристика возрастных периодов.Первый критический период развития ребенка — период новорожденности Психоаналитики говорят, что это первая травма, которую переживает ребенок, и она настолько сильна, что вся последую­щая жизнь проходит под знаком этой травмы...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Studopedia.info - Студопедия - 2014-2025 год . (0.036 сек.) русская версия | украинская версия