Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа №2.doc
Скачиваний:
7
Добавлен:
10.07.2019
Размер:
363.52 Кб
Скачать

Лабораторная работа №2

Разветвляющиеся вычислительные процессы

Цель работы

  1. Приобретение навыков алгоритмизации и программировании разветвляющихся вычислительных процессов.

  2. Приобретение навыков создания экранных форм Visual Basic и создания на них различных элементов управления.

  3. Приобретение навыков ввода вывода информации, с использованием функций InputBox() и MsgBox().

  4. Приобретение навыков составления блок-схем алгоритмов программы.

  5. Реализация алгоритма вычислительного процесса на языке Visual Basic.

Порядок выполнения работы

По номеру варианта выбрать из настоящего пособия и в соответствии с методическими указаниями, по материалам рекомендованной литературы и конспекта лекций написать программу для решения задачи на ЭВМ.

Содержание отчета

  1. Исходные данные и постановка задачи.

  2. Текст кода на языке Visual Basic.

  3. Подробное описание последовательности действий при написании программы.

  4. Результаты расчета.

  5. Блок-схема алгоритма программы.

Методические указания

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

Операторы условного и безусловного перехода

Безусловный переход к заданной метке производится оператором GOTO M, где М – метка в программе, к которой необходимо перейти.

Например:

……: GOTO M1

………………..

M1: …………..

Процедуры в Visual Basic могут проверять некие условия и затем, в зависимости от результатов проверки, выполнять разные операции. Visual Basic поддерживает следующие конструкции принятия решения (decision structures):

Dif...Then C") If...Then. . .Else 1~1 Select Case

Конструкция If…Then

Конструкция If... Then применяется, когда необходимо выполнить один или группу операторов в зависимости от некоторого условия. Синтаксис этой конструкции позволяет задавать ее в одной строке или в нескольких строках программы:

If condition Then statement If condition Then

statements End If

Обычно условие (condition) является простым сравнением, но оно может быть любым выражением с вычисляемым значением. Visual Basic интерпретирует это значение как True (Истина) или False (Ложь): нулевое значе­ние — False (Ложь), а любое ненулевое значение рассматривается как True (Истина). Если условие истинно, Visual Basic выполняет все операторы (statements), стоящие после ключевого слова Then. Для условного выполнения одного оператора можно использовать как синтаксис для одной строки, так и синтаксис для нескольких строк (блоковую конструкцию). Следующие два оператора эквивалентны:

If anyDate < Now Then anyDate = Now

If anyDate < Now Then

anyDate = Now End If

Заметим, что синтаксис оператора If...Then для одной строки не использует оператор End if. Чтобы выполнить последовательность операторов, если условие истинно, следует использовать блоковую конструкцию if.. .Then. .-.End if:

If anyDate < Now Then

anyDate = Now

Timer!-Enabled = False ' Запретить таймер. End If

Конструкция lf...Then...Else

Конструкция If...Then...Else определяет несколько блоков операторов, один из которых будет выполняться в зависимости от условия:

If condition1 Then

[statementblock-1] [Else lf conditlon2 Then

[statementblock-2}] ... [Else

[statementblock-n}] End If

Visual Basic сначала проверяет первое условие conditionl. Если оно ложно, Visual Basic проверяет следующее условие condition2 и т. д., пока не найдет истинного условия. Найдя его, Visual Basic выполняет соответствующий блок операторов и затем передает управление инструкции, следующей за оператором End if. В данную конструкцию можно включить блок оператора Else, который Visual Basic выполняет, если не выполнено ни одно из условий.

Конструкция If.. .Then.. .ElseIf в действительности всего лишь специальный случай конструкции If...Then...Else. Заметим, что в данной конст­рукции может быть любое число блоков ElseIf, или даже ни одного. Блок Else можно включать независимо от присутствия или, наоборот, отсутствия блоков ElseIf.

Например, приложение может выполнять разные действия в зависимости от того, на каком элементе управления из массива меню элементов управления выполнен щелчок:

Private Sub mnuCut_Click (Index As Integer) If Index = 0 Then ' Команда Cut.

CopyActiveControl ' Вызовы общих процедур.

ClearActiveControl Elself Index = 1 Then ' Команда Copy.

CopyActiveControl

Elself Index = 2 Then ' Команда Clear.

ClearActiveControl

Else ' Команда Paste.

PasteActiveControl

End If

End Sub

Заметим, что можно добавить любое число блоков Elself в конструкцию if... Then. Однако количество блоков Elself может стать настолько большим, что конструкция if... Then станет очень громоздкой и неудобной. В подобной ситуации следует применять другую конструкцию принятия решения — Select Case.