Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методическое пособие по Microsoft Office - 1 курс.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.54 Mб
Скачать

8.5Visual Basic - Условный оператор. Оператор ветвления.

Для принятия решений в Visual Basic используется управляющая структура If…Then

If выражение Then

…'код выполняется, если выражение имеет значение True (Истина)’

End If

Если выражение принимает значение True, то выполняется программный код, расположенный между инструкцией If и инструкцией End If. Если выражение принимает значение False, то Visual Basic переходит к инструкции End If и продолжает выполнять программу, пропуская код между инструкциями If и End if.

Если необходимо выполнить некоторый программный код при значении выражения False, то между инструкциями If и End If вставляется инструкция Else:

If выражение Then

…'код выполняется, если выражение имеет значение True (Истина)

Else

…'код выполняется, если выражение имеет значение False (Ложь)

End If

Инструкция Elself позволяет программе проверить истинность еще одного выражения, если выражение в инструкции If приняло значение False:

If выражение Then

Elself выражение2 Then

Else

End If

Для задачи, когда сравнивает значение одного и того же выражения с различными значениями, предпочтительнее использовать конструкцию Select Case:

Select Case выражение

Case Is = значение1

Case Is = значение2

Case Else

End Select

Задания:

  1. Модифицировать программу вычисления корней квадратного уравнения из 8.2 (используя условный оператор) так, чтобы текст в окнах x2 и x3 менялся:

      1. Если нет корней: “-“

      2. Если один корень: в x1 – значение корня, в x2 – “-”

      3. Если два корня: как и было раньше

  1. Теперь для той же задачи используйте конструкцию Select Case

  2. Даны два числа. Вывести большее из них.

  3. Даны три числа.

    1. Найти среднее из них (то есть число, расположенное между наименьшим и наибольшим)

    2. Найти сумму двух наибольших из них

  4. Дано целое число в диапазоне 1–7. Вывести строку – название дня недели, соответствующее данному числу (1—«понедельник», 2—«вторник», …)

8.6Visual Basic - Понятие цикла. Виды циклов.

При разработке программы вы сталкиваетесь с ситуациями, когда возникает необходимость многократного, последовательного выполнения одного и того же фрагмента программы. Часто заранее известно, сколько раз требуется выполнить данный фрагмент, но иногда фрагмент требует выполнения только при наличии определенного условия, или до момента выполнения этого условия (когда условное выражение примет значение True). Visual Basic содержит конструкции, которые позволяют легко определять и выполнять такие повторяющиеся фрагменты программы. Это – циклы.

Конструкция For…Next.

For counterVariable = start To end [Step step]

…[фрагмент для выполнения в цикле]

Next [counterVariable]

Здесь:

CounterVariable – переменная числового типа, её значение увеличивается при каждом прохождении цикла

start – число, с которого следует начинать отсчет

end – число, до которого следует считать. Когда переменная CounterVariable достигает этого значения, выражение, заключенное в цикле, выполняется последний раз, и выполнение продолжается, начиная с оператора, следующего за Next

Step – значение, на которое увеличивается переменная CounterVariable после каждого выполнения цикла, step является необязательным параметром, если он не указан, то значение счетчика увеличивается на единицу

Если неизвестно сколько раз должен выполняться цикл, используется конструкция Do..Loop

Do

[Операторы]

if expression Then Exit Do

Loop

В этом фрагменте цикл будет выполняться до тех пор, пока выражение expression не примет значение True.

Но обычно условное выражение встраивается непосредственно в структуру Do…Loop:

Do While expression

[Операторы]

Loop

Цикл выполняется, пока выражение expression имеет значение True. (англ. while – пока).

Do Until expression

[Операторы]

Loop

Цикл выполняется, пока выражение expression не примет значение True. (англ. until – до тех пор пока).

Задания:

  1. Обратный отсчет’: Даны два целых числа A и B (A<B).

    1. Вывести в порядке убывания все целые числа, расположенные между A и B (включая сами числа A и B)

    2. Найти сумму всех целых чисел от A до B включительно.

  2. Последовательности’: Дано целое число N(>0).

    1. найти сумму 1+1/2+1/3+...+1/N

    2. найти сумму N+(N+1)+(N+2)+...+(2·N)

    3. найти факториал числа N: N!=1*2*3*…*(N-1)*N

    4. *используя один цикл, найти сумму 1+1/(1!)+1/(2!)+1/(3!)+...+1/(N!). Полученное число является приближенным значением константы e = exp(1).

  3. Дано целое число N(>1). Найти наименьшее целое число K, при котором выполняется неравенство 3K>N.