Операторы бейсик реализующие команды ветвления. Алгоритмическая структура ветвления (Visual Basic). II.Проверка домашнего задания

Основные операторы языка VBA

Комментарии (0)

3.1. Правила записи операторов

При записи операторов необходимо придерживаться следующих правил:

Каждый новый оператор записывается с новой строки.

Чтобы записать несколько операторов на одной строке, их разделяют между собой двоеточием (:).

Если оператор не помещается в одной строке, то необходимо поставить в конце строки пробел и знак подчеркивания (_), а затем продолжить не поместившуюся часть на следующей строке.

3.2. Оператор присваивания

Оператор присваивания используется, если какой-то переменной нужно присвоить новое значение. Он имеет следующий синтаксис:

ИМЯ_ПЕРЕМЕННОЙ = ВЫРАЖЕНИЕ

Сначала вычисляется выражение в правой части, а затем результат присваивается переменной, стоящей в левой части.

Например . Записать с помощью оператора присваивания следующее математическое выражение:

На VВА это выражение можно записать в виде следующего оператора:

Y = a^(1/3)+(a^2+Exp(-b))/(Sin(a)^2-Log(b))

3 .3. Операторы ввода-вывода

3 .3.1. Оператор и функция MsgBox

Оператор MsgBox осуществляет вывод информации в диалоговом окне и устанавливает режим ожидания нажатия кнопки пользователем.

Он имеет следующий синтаксис:

MsgBox Сообщение[,Кнопки][, Заголовок]

Аргументы:

Сообщение - обязательный аргумент, задающий в окне выводимое информационное сообщение. Может состоять из нескольких текстовых строк, объединенных знаком & . Использование в этом аргументе Chr(13) приводит к переходу на новую строку при выводе информации.

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

Заголовок - задает заголовок окна.

Функция MsgBox возвращает значение типа Integer, указывающее, какая кнопка была нажата в диалоговом окне.

Таблица 3.1. Допустимые значения переменной кнопки

Отображение

Аргумент

Кнопка ОК

Кнопки ОК и Отмена

Кнопки Да и Нет

Кнопки Да, Нет и Отмена

Кнопки Прекратить, Повторить и Игнорировать

VbAbortRetryIgnore

Кнопки Повторить и Отмена.

Информационный знак

Знак вопроса

Знак восклицания

Например . Вывести сообщение о текущей дате.

MsgBox "Сегодня на календаре" & Date , "Внимание"

В результате будет выведено следующее окно (рис.3.1).

После щелчка по кнопке ОК окно сообщения закроется, и выполнение программы возобновится с оператора, стоящего непосредственно за вызовом MsgBox.

3.3.2. Функция InputBox

Функция InputBox осуществляет ввод значений переменных с помощью окна ввода и имеет следующий синтаксис:

Имя_Переменной = InputBox(Сообщение[, Заголовок ] )

Аргументы:

Сообщение - обязательный аргумент. Задает в окне информационное сообщение, обычно поясняющее смысл вводимой величины

Заголовок - задает заголовок окна.

Например , Ввести значение переменной N с клавиатуры, предусмотрев значение по умолчанию равное 10.

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

N = InputBox("Введите N", "Ввод исходных данных",10)

В результате будет выведено следующее окно для ввода значения переменной N (рис.3.2).

Если значение по умолчанию подходит пользователю, то после щелчка кнопки ОК окно ввода закроется, переменной N присвоится значение 10 и выполнение программы возобновится с оператора, стоящего непосредственно за вызовом InputBox .

Если же значение по умолчанию не подходит пользователю, то перед щелчком по кнопке ОК необходимо ввести нужное значение переменной N.

3 .4. Условный оператор IF

Для реализации разветвляющегося вычислительного процесса в VBA используется оператор If…Then…Else, который представляет собой простейшую форму проверки условий. Он имеет следующий синтаксис:

If УСЛОВИЕ Then ОПЕРАТОР_1 E lse ОПЕРАТОР_2

ОПЕРАТОР_1 выполняется, если УСЛОВИЕ истинно, в противном случае выполняется ОПЕРАТОР_2 . При этом оператор If…Then…Else записывается в одну строку.

УСЛОВИЕ - это выражение логического типа. Результат выражения всегда имеет булевский тип. Выражение может быть простым и сложным. При записи простых условий могут использоваться все возможные операции отношения, указанные в табл. 3.2.

Таблица 3 .2. Логические отношения

Операция

Название

Выражение

Результат

True, если А равно В

True, если А не равно В

True, если А,больше В

True, если А меньше В

Больше или равно

True, если А больше или равно В

Меньше или равно

True, если А меньше или равно В

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

Таблица 3 .3. Логические операции

Название

Выражение

Результат

Логическое
отрицание

Логическое И

Логическое ИЛИ

В условном операторе допустимо использование блока операторов вместо любого из операторов. В этом случае условный оператор имеет вид:

If УСЛОВИЕ Then

БЛОК_ОПЕРАТОРОВ_1

БЛОК_ОПЕРАТОРОВ_2

End I f

В условном операторе может проверяться несколько условий. В этом случае условный оператор имеет вид:

If УСЛОВИЕ_1 Then

БЛОК_ОПЕРАТОРОВ_1

ElseIf УСЛОВИЕ_2 Then

БЛОК_ОПЕРАТОРОВ_2

Else

End If

Пример 1 . Написать часть программы для алгоритма на рис. 3.3.

Пример 2. Написать часть программы для алгоритма на рис. 3.4.

3.5. Оператор выбора Select Case

Оператор Select Case удобно использовать, когда в зависимости от значения некоторого выражения, имеющего конечное множество допустимых значений, необходимо выполнить разные действия. Он также относится к условным операторам, но имеет другой вид:

Select Case ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ

Case ЗНАЧЕНИЯ_1

ОПЕРАТОРЫ_1

Case ЗНАЧЕНИЯ _ 2

ОПЕРАТОРЫ _ 2

. . .

Case ЗНАЧЕНИЯ_N

ОПЕРАТОРЫ _N

[ Case Else

ИНАЧЕ _ ОПЕРАТОРЫ]

End Select

ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ может иметь любой скалярный тип, кроме вещественного. ЗНАЧЕНИЯ состоят из произвольного количества значений или диапазонов, отделенных друг от друга запятыми.

Тип ЗНАЧЕНИЙ должен совпадать с типом ПРОВЕРЯЕМОГО_ВЫРАЖЕНИЯ .

Сначала вычисляется ПРОВЕРЯЕМОЕ_ВЫРАЖЕНИЕ . Если его значение совпадает с одним из значений ЗНАЧЕНИЯ_I , то выполнятся ОПЕРАТОРЫ_I End Select . Если его значение не совпадает ни с одним из значений ЗНАЧЕНИЯ_I , то выполнятся ИНАЧЕ_ОПЕРАТОРЫ и управление передается оператору, стоящему после End Select

Например. Написать часть программы для алгоритма на рис. 3.5, определяющего значение переменной S в зависимости от значения переменной n.

3.6. Операторы цикла

Для реализации циклического вычислительного процесса, т. е. многократного выполнения одного или нескольких операторов, служит оператор цикла For…Next , который имеет следующий синтаксис:

For СЧЕТЧИК=НАЧ_ЗНАЧЕНИЕ Т o КОН_ЗНАЧЕНИЕ Step ШАГ

БЛОК_ОПЕРАТОРОВ

БЛОК_ОПЕРАТОРОВ

Next СЧЕТЧИК

Цикл For…Next перебирает значения переменной СЧЕТЧИК , которая является параметром цикла, от начального до конечного значения с указанным шагом изменения. При этом обеспечивается выполнение блока операторов тела цикла при каждом новом значении счетчика. Если Step ШАГ в конструкции отсутствует, то по умолчанию считается, что шаг равен 1. По оператору Exit For можно выйти из оператора цикла до того, как СЧЕТЧИК достигнет последнего значения.*

Для перебора объектов из группы подобных объектов, например, ячеек из диапазона или элементов массива, удобно использовать оператор цикла For… Each…Next .

For Each Элемент In Группа

БЛОК _ ОПЕРАТОРОВ

БЛОК_ОПЕРАТОРОВ

Next Элемент

В VBA для организации циклов с неизвестным заранее числом повторений используются и другие операторы цикла:

циклы с предусловием - Do While Loop ,

Do Until Loop ;

циклы с постусловием - Do Loop While ,

Do Loop Until .

Ниже приведен синтаксис этих операторов цикла:

" Цикл с предусловием Do While Loop

Do While УСЛОВИЕ

БЛОК_ОПЕРАТОРОВ

БЛОК_ОПЕРАТОРОВ

" Цикл с предусловием Do Until Loop

Do Until УСЛОВИЕ

БЛОК_ОПЕРАТОРОВ

БЛОК_ОПЕРАТОРОВ

" Цикл с постусловием Do Loop While

БЛОК _ ОПЕРАТОРОВ

БЛОК_ОПЕРАТОРОВ

Loop While УСЛОВИЕ

" Цикл с постусловием Do Loop Until

БЛОК _ ОПЕРАТОРОВ

БЛОК_ОПЕРАТОРОВ

Loop Until УСЛОВИЕ

Оператор Do W hile…Loop обеспечивает многократное повторение блока операторов до тех пор, пока УСЛОВИЕ соблюдается, а оператор



Другие новости

Цели урока:

  1. Знакомство с алгоритмической структурой “ветвление”;
  2. Обучение приемам построения алгоритмов с “ветвлением” и их программированию на языке Visual Basic.
  3. Закрепление умений и навыков с помощью теста и практических работ.

Задачи урока:

  • образовательная – знакомство учащихся с базовыми алгоритмическими структурами;
  • развивающие – формирование у учащихся приемов логического и алгоритмического мышления; развитие познавательного интереса к предмету; развитие умения планировать свою деятельность; развитие памяти;
  • воспитательные – развитие умения связывать изучение нового материала с уже известными фактами; воспитание самостоятельности, критичности и ответственности за выполняемую работу.

Тип урока: изучение нового материала и его закрепление.

Основные организационные формы обучения на уроке:

  • фронтальная работа с классом;
  • групповая работа;
  • индивидуальная работа за компьютером;
  • дифференцированная форма работы.

Средства обучения:

  • Учебники: Информатика и ИКТ. Базовый курс: Учебник для 9 класса. /Под ред. Н.Д. Угринович. - М.: БИНОМ. Лаборатория знаний, 2005.
  • Технические и программные средства: Персональные компьютеры; проектор; презентация по теме урока (Приложение 1 ); тест (Приложение 2 ); программная среда Visual Basic.
  • Раздаточный материал: Практические работы для учащихся (Приложение 3 ).

План урока.

  1. Организационный момент.
  2. Актуализация опорных знаний.
  3. Изучение нового материала.
  4. Применение полученных знаний.
  5. Подведение итогов урока. Домашнее задание.

Ход урока

1. Организационный момент. (слайд 1)

Приветствие, проверка присутствующих. Объявление темы и целей урока. (слайд 2)

2. Актуализация опорных знаний. (слайд 3)

На прошлых уроках мы познакомились с понятием алгоритма и основами алгоритмизации.

  1. Для начала вспомним, что такое алгоритм?
  2. Какими свойствами обладает алгоритм?
  3. Какие способы задания алгоритмов Вы знаете?
  4. Дайте определение линейному алгоритму?

3. Изучение нового материала.

Постановка проблемной задачи: (слайд 4)

“Из ряда чисел 15, 16, 17, 18 выпишите значения x, при которых верно неравенство x + 24 > 40”.

Выяснить с учащимися, что при x = 15 и x = 16 неравенство x + 24 > 40 верным не будет. Если же x = 17 или x = 18 неравенство x + 24 > 40 будет верным.

Вывод: В отличие от линейных алгоритмов, в которых команды выполняются последовательно одна за другой, в алгоритмическую структуру “ветвление” входит условие (этот вывод учащиеся делают вывод самостоятельно).

В алгоритмической структуре “ветвление” в зависимости от истинности или ложности условия выполняется одна или другая серия команд. (слайд 5)

В качестве условия может быть использовано любое логическое выражение со знаком > (больше) , < (меньше) , = (равно) , > = (больше либо равно) , < = (меньше либо равно) .

Алгоритмическая структура “ветвление” может быть наглядно представлена с помощью блок-схемы. В языке программирования Visual Basic ветвление кодируется с использованием оператора условного перехода If … Then … Else … End If (Если…. То… Иначе … Конец Если) . (слайд 6)

В случае отсутствия серии команд, которую необходимо выполнить при ложности условия, используется сокращенная форма алгоритмической структуры “ветвление” - неполное “ветвление”. (слайд 7)

“Из ряда чисел 15, 16, 17, 18 выпишите значения x, при которых верно неравенство x + 24 > 40”.

If x + 24 > 40 Then
MsgBox “Выписать x”
End If

Дано число x. Определите, является ли число x положительным? (с помощью блок-схемы)

Дано число x. Определите, является ли число x положительным? (на языке программирования)

В качестве условия можно использовать переменную или арифметическое выражение . Если его результат будет равен 0, то это расценивается как “ложь”, остальные значения – “истина”.

If a Then
MsgBox “Не равно 0”
Else
MsgBox “Равно 0”
End If

4. Применение полученных знаний. (слайд 12)

Прежде чем перейти к закреплению полученных знаний, необходимо провести физкультминутку.

Любопытная Варвара
Смотрит влево…Смотрит вправо.
А потом опять вперед. Тут немного отдохнет
Шея не напряжена и расслаблена…

А теперь посмотрим вниз. Мышцы шеи напряглись.
Возвращаемся обратно. Расслабление приятно.
Шея не напряжена и расслаблена!

Какое значение переменной S будет напечатано после выполнения фрагмента программы на языке Visual Basic?

A = 2
B = 3
If A>B Then S=A*B Else S=A+B
Print S

Фрагмент алгоритма изображен в виде блок-схемы. Определите, какое значение переменной S будет напечатано в результате выполнения алгоритма?

A = 2
B = 3
If A>B Then S=A*B Else S=A+B
Print S

Как на языке VB записать следующее условие:

Практическая работа 1. (слайд17) (Приложение 3 )

Задание: Разработать проект, который использует алгоритмическую структуру “ветвление” для контроля знаний.

Проверочная работа проводится в виде теста по данной теме и материала прошлого урока. Тест находится в папке “Мои документы”.

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

Перед выполнением второй практической работы целесообразно провести мини- игру “Поделись улыбкою своей!” для снятия напряжения. (слайд 19)

Задание: Разработайте программу "Угадай-ка", которая будет загадывать число, а пользователь пытаться его угадать.

Дополнительное задание: (для сильных учеников).

Доработайте программу так, чтобы она в Text2.Text сообщала "Больше", "Меньше" либо "Горячо", если разница между числами меньше 10, и холодно, если 10 и более.

5. Подведение итогов урока. Домашнее задание. (слайд 21)

Учитель задает вопросы, подводящие учеников к формулировке выводов о цели урока и выполнении ими задач урока. Ученики отвечают на вопросы. Они должны самостоятельно прийти к выводу о соответствии целей и результатов урока. Выставление оценок.

§ 2.6.2 стр. 88 – 92 (Угринович Н. Д. Информатика и ИКТ. Базовый курс: Учебник для 9 класса – М.: БИНОМ. Лаборатория знаний, 2005.)

Задания 2.17 и 2.18.

Вопросы 1 и 2.

Дополнительное задание (для сильных учеников) :

Написать программу к следующей задаче: “Даны три числа. Определить наибольшее”.

Список используемой литературы:

  1. Волченков Н.Г. Программирование на Visual Basic 6.0 – M.: Горячая линия – Телеком, 2001.
  2. Сафронов И. Visual Basic в примерах и задачах. – СПб.: БХВ - Петербург, 2007.
  3. Угринович Н. Д. Информатика и ИКТ. Базовый курс: Учебник для 9 класса – М.: БИНОМ. Лаборатория знаний, 2005.
  4. Угринович Н., Босова Л., Михайлова Н. Практикум по информатике и информационным технологиям. – М.: Лаборатория базовых знаний, 2006.

Интернет-ресурсы:

  • http://www.fio.by/vypusk/Potok_72/group_2/user_4/Pages/L_ZAR.htm
  • http://www.rusedu.info/VB_Cod.html
  • iit.metodist.ru
  • www.vbnet.ru

ЯЗЫК ПРОГРАММИРОВАНИЯ VISUAL BASIC. ПРОГРАММИРОВАНИЕ ВЕТВЛЕНИЙ

Ветвление в Visual Basic организуется с использованием:

  • условного оператора IF;
  • встроенной функции IIF;
  • оператора выбора CASE.

Для проверки одного условия и выполнения оператора или блока операторов используется условный оператор IF...THEN . Этот оператор можно использовать с разным синтаксисом: однострочным (линейным) и многострочным (блочным).

Линейный оператор имеет следующий синтаксис:

If <условие> Then <операторы!>

Блочный оператор имеет следующий синтаксис:

If <условие> Then
<блок операторов 1>
End If

Если заданное условие имеет значение True, выполняется блок операторов, в противном случае - блок операторов2. Если предложение Else не задано, при не выполнении условия управление сразу же передается следующему после If оператору.

Оператор If может быть вложенным, т. е. находиться внутри блоков операторов. Для проверки более одного условия и выполнения одного из нескольких блоков операторов используется расширенный условный оператор вида:

If <условие 1> Then
<блок операторов 1>
Elself <условие 2> Then
<блок операторов 2>
Elself <условие n> Then
<блок операторов n>
End If

Для выбора одного из значений в зависимости от выполнения или невыполнения некоторого условия используется условная функция IIF, имеющая следующий синтаксис:

IIF (<условие>, <значение1>, <значение2>)

Эта функция возвращает значение1, если условие истинно, и значение2, если условие ложно.

В качестве условия можно использовать логическое выражение, возвращающее значение True (Истина) или

False (Ложь), или любое арифметическое выражение (нулевое значение эквивалентно False, а ненулевое - True).

Оператор выбора SELECT CASE используется для проверки одного условия и выполнения одного из нескольких блоков операторов.

Формат записи оператора:

Select Case <проверяемое выражение>
Case <список выражений 1>
<операторы 1> Case <список выражений 2>
<операторы 2> Case <список выражений 3>
<операторы 3>
Case Else
<операторы группы Else>
End Select

Проверяемое выражение вычисляется в начале работы оператора Select Case. Это выражение может возвращать значение любого типа (логическое, числовое, строковое).

Список выражений - одно или несколько выражений, разделенных стандартным символом - разделителем (точкой с запятой).

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

Эти алименты списка выражений могут иметь одну из следующих форм:

  • <выражение> - проверяет совпадение заданного выражения с одним из выражений - элементов списка;
  • <выражение 1> То <выражение 2> - проверяет попадание заданного выражения в указанный диапазон;
  • < Is <логический оператор> < выражение> - проверяет выполнение указанного условия для заданного выражения.
Loading...Loading...