Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Консультации по информатике


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Асмик Александровна
Статус: Академик
Рейтинг: 7573
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2370
∙ повысить рейтинг »
Роман Селиверстов
Статус: Профессор
Рейтинг: 1951
∙ повысить рейтинг »

/ НАУКА И ОБРАЗОВАНИЕ / Точные и естественные науки / Информатика

Номер выпуска:217
Дата выхода:31.03.2011, 18:30
Администратор рассылки:lamed (Профессор)
Подписчиков / экспертов:135 / 135
Вопросов / ответов:0 / 0

Статья отправлена lamed (Профессор)
дата отправки: 31.03.2011, 17:27

Лабораторные работы по информатике. VBA. Select..Case

Добрый день, уважаемые читатели. Продолжаем выполнение лабораторных работ по программированию на VBA.
Тема сегодняшней работы - Использование конструкции Select..Case.
Как и в предыдущей работе, предлагается рассмотреть примеры программ, скопировать их в созданный модуль, запустить; выполнить задания.

Задание 1. По цвету светофора определить действия пешехода.
Версия с использованием If
Код:
Sub p21()
\' Светофор
Dim цвет As String \'цепочка символов переменной длины
\' может быть нулевой длины, то есть не содержащей ни одного символа
Dim указание As String * 20 \'или 20 байт

цвет = InputBox("Какой цвет у св етофора?")
If цвет = "красный" Then
указание = "стойте"
ElseIf цвет = "желтый" Then
указание = "ждите"
ElseIf цвет = "зеленый" Then
указание = "идите"
Else
указание = "светофор неисправен"
End Select

MsgBox (указание)
End Sub

Теперь версия с использованием Select..Case
Код:
Sub p22()
\' Светофор
Dim цвет As String \'цепочка символов переменной длины
\' может быть нулевой длины, то есть не содержащей ни одного символа
Dim указание As String * 20 \'или 20 байт

цвет = InputBox("Какой цвет у светофора?")
Select Case цв ет
Case "красный"
указание = "стойте"
Case "желтый"
указание = "ждите"
Case "зеленый"
указание = "идите"
Case Else
указание = "светофор неисправен"
End Select

MsgBox (указание)
End Sub

Дополнительное задание: введено слово "Красный". Что выдаст программа?, почему?

Задание 2. Определить число дней в месяце (год невисокосный).
Версия с использованием If
Код:
Sub p23()
\'Количество дней в месяце, год - невисокосный
Dim мес As Integer, дни As Integer

\' вводим номер месяца и присваиваем его переменной мес
мес = InputBox("Введите № месяца")
\' анализируем переменную (содержимое ячейки) мес
If (мес = 1) Or (мес = 3) Or (мес = 5) Or (мес = 7) Or (мес = 8) Or (мес = 10) Then
дни = 31
ElseIf (мес = 4) Or (мес = 6) Or (мес = 9) Or (мес = 11) Then
дни = 30
ElseIf (мес = 2) Then
дни = 28
Else
дни = -1 \'ввод ошибочного значения
End If

\' если дни=-1, считаем ошибкой
If дни > 0 Then
MsgBox (дни)
Else
MsgBox ("ошибка, неверный ввод!")
End If
End Sub

Теперь версия с использованием Select..Case
Код:
Sub p24()
\'Количество дней в месяце, год - невисокосный
Dim мес As Integer, дни As Integer

\' вводим номер месяца и присваиваем его переменной ме с
мес = InputBox("Введите № месяца")
\' анализируем переменную (содержимое ячейки) мес
Select Case мес
Case 1, 3, 5, 7, 8, 10, 12
дни = 31
Case 4, 6, 9, 11
дни = 30
Case 2
дни = 28
Case Else
дни = -1 \'ввод ошибочного значения
End Select

\' если дни=-1, считаем ошибкой
If дни > 0 Then
MsgBox (дни)
Else
MsgBox ("ошибка, неверный ввод!")
End If

End Sub

Задания для самостоятельной работы:
1. Программа запрашивает у студента баллы, полученные на экзамене по информатике и печатает: «отлично», «хорошо», «удовлетворительно», «неудовлетворительно»
2. Программа запрашивает оценки у студента по всем предметам в сессию и печатает средний балл, а также: «отлично», «хорошо», «удовлетворительно», «неудовлетворительно»
3. Программа запрашивает у студента процент выполнения заданий на экзамене и печатает: от 90 до 100 - «отлично», не менее 80 - «хорошо», не менее 60 - «удовлетворительно», меньше 60 (но не меньше нуля) - «неудовлетворительно», во всех остальных случаях – ошибка.
4. Программа запрашивает у студента номер дня и выдает количество уроков.

С замечаниями, пожеланиями и вопросами обращайтесь в личную почту.
Удачи!

Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!

Задать вопрос экспертам этой рассылки »

Скажите "спасибо" эксперту, который помог Вам!

Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)

Номер ответа и конкретный текст СМС указан внизу каждого ответа.

Полный список номеров »

* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



В избранное