Главная страница

ОИ. Отчет по 2 лабораторной. Сравнение работы операторов if и case при помощи объекта Timer


Скачать 308.15 Kb.
НазваниеСравнение работы операторов if и case при помощи объекта Timer
Дата25.09.2022
Размер308.15 Kb.
Формат файлаdocx
Имя файлаОтчет по 2 лабораторной.docx
ТипЛабораторная работа
#695659
страница2 из 2
1   2

2. Практический раздел

2.1 Инструкция пользователя


1. Запустить программу.

2. Ввести в поле “Введите день месяца” день месяца:



Рис. 1. Ввод дня месяца.

3. Ввести в поле “ Введите номер месяца” номер месяца:



Рис. 2. Введите номер месяца

4. Ввести в поле “Введите год”



Рис. 3. Ввод года

5.Жмем кнопку "Подсчёт последовательного IF" и в поле "скорость работы сложного IF" выводится результат:



Рис. 4. Вывод результата подсчёта последовательного IF

6. Жмем кнопку "Подсчёт вложенного IF" и в поле " скорость работы вложенного IF" выводится результат:



Рис. 5. Вывод результата подсчёт вложенного IF

7 Жмем кнопку "Подсчёт последовательного CASE " и в поле " скорость работы CASE " выводится результат:



Рис. 6. Вывод результата подсчёт последовательного CASE

8. Жмем кнопку "Подсчёт вложенного CASE " и в поле " Скорость работы вложенного CASE " выводится результат:



Рис. 7 Вывод результата подсчёт вложенного CASE

9.Если Вы будете вводить в поле “день месяца” букву или пробел, то программа выдаст Вам следующую ошибку:



Рис. 8. Ошибка при вводе букв и пробелов в поле день месяца

10.Если Вы будете вводить в поле “номер месяца” букву или пробел, то программа выдаст Вам следующую ошибку:



Рис. 9. Ошибка при вводе букв и пробелов в поле номер месяца
11.Если Вы будете вводить в поле “год” букву или пробел, то программа выдаст Вам следующую ошибку:



Рис. 10. Ошибка при вводе букв и пробелов в поле год

12 При вводе несуществующего календарного дня в поле “день месяца” , то программа выдаст Вам следующую ошибку



Рис. 11. Ошибка при вводе несуществующего дня

13.При вводе несуществующего календарного месяца в поле “номер месяца” то программа выдаст Вам следующую ошибку


Рис. 12. Ошибка при вводе несуществующего месяца

14.При вводе 100< года >3000 в поле “года”, то программа выдаст Вам следующую ошибку



Рис. 13. Ошибка при вводе несуществующего года

2.2. Листинг кода:


Form1(Лабораторная №1):

Private Sub Command3_Click()

Dim i As Long

Dim Start As Date

If IsNumeric(Text1.Text) = False Then

MsgBox "в поле 'День месяца' должно быть введено число", , "Ошибка"

Text1.Text = ""

Text5.Text = "Время IF"

Text1.SetFocus

Exit Sub

End If

If IsNumeric(Text2.Text) = False Then

MsgBox "в поле 'месяц' должно быть введено число", , "Ошибка"

Text2.Text = ""

Text5.Text = "Время IF"

Text2.SetFocus

Exit Sub

End If

If IsNumeric(Text3.Text) = False Then

MsgBox "в поле 'год' должно быть введено число", , "Ошибка"

Text3.Text = ""

Text5.Text = "Время IF"

Text3.SetFocus

Exit Sub

ElseIf ((Text3.Text < 100) Or (Text3.Text > 3000)) Then

MsgBox "Нельзя использовать год с этим номером (от 100 до 3000)", , "Ошибка"

Text3.Text = ""

Text3.SetFocus

Exit Sub

End If

Select Case CInt(Text2.Text)

Case 1

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 2

If ((Text3.Text - 100) Mod 157 = 0) Then

If ((Text3.Text - 100) Mod 4 = 0) Then

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Else

If ((Text1.Text < 1) Or (Text1.Text > 29)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

End If

ElseIf ((Text3.Text - 100) Mod 4 = 0) Then

If ((Text1.Text < 1) Or (Text1.Text > 29)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Else

If ((Text1.Text < 1) Or (Text1.Text > 28)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

End If

Case 3

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 4

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 5
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 6
If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 7
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 8
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 9

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 10

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 11

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 12

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case Else

MsgBox "не существует месяца с таким номером", , "Ошибка"

Text2.Text = ""

Text5.Text = "Время IF"

Text2.SetFocus

Exit Sub

End Select
Start = DateTime.Timer

For i = 1 To 100000

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

If IsNumeric(Text1.Text) Then

Text5.Text = CDbl(DateTime.Timer - Start)

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

End If

Next i

End Sub
Private Sub Command4_Click()

Dim i As Long

Dim Start As Date

If IsNumeric(Text1.Text) = False Then

MsgBox "в поле 'День месяца' должно быть введено число", , "Ошибка"

Text1.Text = ""

Text7.Text = "Время Case"

Text1.SetFocus

Exit Sub

End If

If IsNumeric(Text2.Text) = False Then

MsgBox "в поле 'месяц' должно быть введено число", , "Ошибка"

Text2.Text = ""

Text7.Text = "Время Case"

Text2.SetFocus

Exit Sub

End If

If IsNumeric(Text3.Text) = False Then

MsgBox "в поле 'год' должно быть введено число", , "Ошибка"

Text3.Text = ""

Text7.Text = "Время Case"

Text3.SetFocus

Exit Sub

End If

If IsNumeric(Text3.Text) = False Then

MsgBox "в поле 'год' должно быть введено число", , "Ошибка"

Text3.Text = ""

Text5.Text = "Время IF"

Text3.SetFocus

Exit Sub

ElseIf ((Text3.Text < 100) Or (Text3.Text > 3000)) Then

MsgBox "Нельзя использовать год с этим номером (от 100 до 3000)", , "Ошибка"

Text3.Text = ""

Text3.SetFocus

Exit Sub

End If

Select Case CInt(Text2.Text)

Case 1

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 2

If ((Text3.Text - 100) Mod 157 = 0) Then

If ((Text3.Text - 100) Mod 4 = 0) Then

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Else

If ((Text1.Text < 1) Or (Text1.Text > 29)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

End If

ElseIf ((Text3.Text - 100) Mod 4 = 0) Then

If ((Text1.Text < 1) Or (Text1.Text > 29)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Else

If ((Text1.Text < 1) Or (Text1.Text > 28)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

End If

Case 3

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 4

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 5
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 6
If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 7
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 8
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 9

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 10

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 11

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 12

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case Else

MsgBox "не существует месяца с таким номером", , "Ошибка"

Text2.Text = ""

Text5.Text = "Время IF"

Text2.SetFocus

Exit Sub

End Select

Start = DateTime.Timer

For i = 0 To 100000

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

Select Case IsNumeric(Text1.Text)

Case True

Text7.Text = CDbl(DateTime.Timer - Start)

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

End Select

Next i

End Sub
Private Sub Timer1_Timer()

Label2.Caption = DateTime.Time

End Sub

Private Sub Command1_Click()

Dim i As Long

Dim Start As Date

If IsNumeric(Text1.Text) = False Then

MsgBox "в поле 'День месяца' должно быть введено число", , "Ошибка"

Text1.Text = ""

Text5.Text = "Время IF"

Text1.SetFocus

Exit Sub

End If

If IsNumeric(Text2.Text) = False Then

MsgBox "в поле 'месяц' должно быть введено число", , "Ошибка"

Text2.Text = ""

Text5.Text = "Время IF"

Text2.SetFocus

Exit Sub

End If

If IsNumeric(Text3.Text) = False Then

MsgBox "в поле 'год' должно быть введено число", , "Ошибка"

Text3.Text = ""

Text5.Text = "Время IF"

Text3.SetFocus

Exit Sub

End If

If IsNumeric(Text3.Text) = False Then

MsgBox "в поле 'год' должно быть введено число", , "Ошибка"

Text3.Text = ""

Text5.Text = "Время IF"

Text3.SetFocus

Exit Sub

ElseIf ((Text3.Text < 100) Or (Text3.Text > 3000)) Then

MsgBox "Нельзя использовать год с этим номером (от 100 до 3000)", , "Ошибка"

Text3.Text = ""

Text3.SetFocus

Exit Sub

End If

Select Case CInt(Text2.Text)

Case 1

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 2

If ((Text3.Text - 100) Mod 157 = 0) Then

If ((Text3.Text - 100) Mod 4 = 0) Then

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Else

If ((Text1.Text < 1) Or (Text1.Text > 29)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

End If

ElseIf ((Text3.Text - 100) Mod 4 = 0) Then

If ((Text1.Text < 1) Or (Text1.Text > 29)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Else

If ((Text1.Text < 1) Or (Text1.Text > 28)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

End If

Case 3

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 4

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 5
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 6
If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 7
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 8
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 9

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 10

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 11

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 12

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case Else

MsgBox "не существует месяца с таким номером", , "Ошибка"

Text2.Text = ""

Text5.Text = "Время IF"

Text2.SetFocus

Exit Sub

End Select

Start = DateTime.Timer

For i = 0 To 10000

If CInt(Text1.Text) = 1 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 2 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 3 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 4 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 5 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 6 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 7 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 8 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 9 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 10 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 11 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 12 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 13 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 14 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 15 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 16 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 17 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 18 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 19 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 20 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 21 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 22 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 23 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 24 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 25 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 26 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 27 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 28 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 29 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 30 Then

Text4.Text = CDbl(DateTime.Timer - Start)

Else

Text4.Text = CDbl(DateTime.Timer - Start)

End If

Next i
For i = 0 To 10000

If CInt(Text2.Text) = 1 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 2 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 3 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 4 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 5 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 6 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text1.Text) = 7 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 8 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 9 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 10 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 11 Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf CInt(Text2.Text) = 12 Then

Text4.Text = CDbl(DateTime.Timer - Start)

Else

Text4.Text = CDbl(DateTime.Timer - Start)

End If

Next i
For i = 0 To 10000

If ((CInt(Text3.Text) > 99) And (CInt(Text3.Text) < 199)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 99) And (CInt(Text3.Text) < 199)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 199) And (CInt(Text3.Text) < 299)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 299) And (CInt(Text3.Text) < 399)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 399) And (CInt(Text3.Text) < 499)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 499) And (CInt(Text3.Text) < 599)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 599) And (CInt(Text3.Text) < 699)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 699) And (CInt(Text3.Text) < 799)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 799) And (CInt(Text3.Text) < 899)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 899) And (CInt(Text3.Text) < 999)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 999) And (CInt(Text3.Text) < 1099)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1099) And (CInt(Text3.Text) < 1199)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1199) And (CInt(Text3.Text) < 1299)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1299) And (CInt(Text3.Text) < 1399)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1399) And (CInt(Text3.Text) < 1499)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1499) And (CInt(Text3.Text) < 1599)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1599) And (CInt(Text3.Text) < 1699)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1699) And (CInt(Text3.Text) < 1799)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1799) And (CInt(Text3.Text) < 1899)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1899) And (CInt(Text3.Text) < 1999)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 1999) And (CInt(Text3.Text) < 2099)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2099) And (CInt(Text3.Text) < 2199)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2199) And (CInt(Text3.Text) < 2299)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2299) And (CInt(Text3.Text) < 2399)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2399) And (CInt(Text3.Text) < 2499)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2499) And (CInt(Text3.Text) < 2599)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2599) And (CInt(Text3.Text) < 2699)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2699) And (CInt(Text3.Text) < 2799)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2799) And (CInt(Text3.Text) < 2899)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

ElseIf ((CInt(Text3.Text) > 2899) And (CInt(Text3.Text) < 3001)) Then

Text4.Text = CDbl(DateTime.Timer - Start)

Else

Text4.Text = CDbl(DateTime.Timer - Start)

End If

Next i

End Sub
Private Sub Command2_Click()

Dim i As Long

Dim Start As Date

If IsNumeric(Text1.Text) = False Then

MsgBox "в поле 'День месяца' должно быть введено число", , "Ошибка"

Text1.Text = ""

Text6.Text = "Время Case"

Text1.SetFocus

Exit Sub

End If

If IsNumeric(Text2.Text) = False Then

MsgBox "в поле 'месяц' должно быть введено число", , "Ошибка"

Text2.Text = ""

Text6.Text = "Время Case"

Text2.SetFocus

Exit Sub

End If

If IsNumeric(Text3.Text) = False Then

MsgBox "в поле 'год' должно быть введено число", , "Ошибка"

Text3.Text = ""

Text6.Text = "Время Case"

Text3.SetFocus

Exit Sub

End If

If IsNumeric(Text3.Text) = False Then

MsgBox "в поле 'год' должно быть введено число", , "Ошибка"

Text3.Text = ""

Text5.Text = "Время IF"

Text3.SetFocus

Exit Sub

ElseIf ((Text3.Text < 100) Or (Text3.Text > 3000)) Then

MsgBox "Нельзя использовать год с этим номером (от 100 до 3000)", , "Ошибка"

Text3.Text = ""

Text3.SetFocus

Exit Sub

End If

Select Case CInt(Text2.Text)

Case 1

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 2

If ((Text3.Text - 100) Mod 157 = 0) Then

If ((Text3.Text - 100) Mod 4 = 0) Then

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Else

If ((Text1.Text < 1) Or (Text1.Text > 29)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

End If

ElseIf ((Text3.Text - 100) Mod 4 = 0) Then

If ((Text1.Text < 1) Or (Text1.Text > 29)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Else

If ((Text1.Text < 1) Or (Text1.Text > 28)) Then

MsgBox "В этом месяце (в этом году) нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

End If

Case 3

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 4

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 5
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 6
If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 7
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 8
If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 9

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 10

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 11

If ((Text1.Text < 1) Or (Text1.Text > 30)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case 12

If ((Text1.Text < 1) Or (Text1.Text > 31)) Then

MsgBox "В этом месяце меньше нет такого дня", , "Ошибка"

Text1.Text = ""

Text1.SetFocus

Exit Sub

End If

Case Else

MsgBox "не существует месяца с таким номером", , "Ошибка"

Text2.Text = ""

Text5.Text = "Время IF"

Text2.SetFocus

Exit Sub

End Select

Start = DateTime.Timer

For i = 0 To 10000

Select Case CInt(Text1.Text)

Case 1

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2

Text6.Text = CDbl(DateTime.Timer - Start)

Case 3

Text6.Text = CDbl(DateTime.Timer - Start)

Case 4

Text6.Text = CDbl(DateTime.Timer - Start)

Case 5

Text6.Text = CDbl(DateTime.Timer - Start)

Case 6

Text6.Text = CDbl(DateTime.Timer - Start)

Case 7

Text6.Text = CDbl(DateTime.Timer - Start)

Case 8

Text6.Text = CDbl(DateTime.Timer - Start)

Case 9

Text6.Text = CDbl(DateTime.Timer - Start)

Case 10

Text6.Text = CDbl(DateTime.Timer - Start)

Case 11

Text6.Text = CDbl(DateTime.Timer - Start)

Case 12

Text6.Text = CDbl(DateTime.Timer - Start)

Case 13

Text6.Text = CDbl(DateTime.Timer - Start)

Case 14

Text6.Text = CDbl(DateTime.Timer - Start)

Case 15

Text6.Text = CDbl(DateTime.Timer - Start)

Case 16

Text6.Text = CDbl(DateTime.Timer - Start)

Case 17

Text6.Text = CDbl(DateTime.Timer - Start)

Case 18

Text6.Text = CDbl(DateTime.Timer - Start)

Case 19

Text6.Text = CDbl(DateTime.Timer - Start)

Case 20

Text6.Text = CDbl(DateTime.Timer - Start)

Case 21

Text6.Text = CDbl(DateTime.Timer - Start)

Case 22

Text6.Text = CDbl(DateTime.Timer - Start)

Case 23

Text6.Text = CDbl(DateTime.Timer - Start)

Case 24

Text6.Text = CDbl(DateTime.Timer - Start)

Case 25

Text6.Text = CDbl(DateTime.Timer - Start)

Case 26

Text6.Text = CDbl(DateTime.Timer - Start)

Case 27

Text6.Text = CDbl(DateTime.Timer - Start)

Case 28

Text6.Text = CDbl(DateTime.Timer - Start)

Case 29

Text6.Text = CDbl(DateTime.Timer - Start)

Case 30

Text6.Text = CDbl(DateTime.Timer - Start)

Case 31

Text6.Text = CDbl(DateTime.Timer - Start)

Case Else

Text6.Text = CDbl(DateTime.Timer - Start)

End Select

Next i
For i = 0 To 10000

Select Case CInt(Text2.Text)

Case 1

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2

Text6.Text = CDbl(DateTime.Timer - Start)

Case 3

Text6.Text = CDbl(DateTime.Timer - Start)

Case 4

Text6.Text = CDbl(DateTime.Timer - Start)

Case 5

Text6.Text = CDbl(DateTime.Timer - Start)

Case 6

Text6.Text = CDbl(DateTime.Timer - Start)

Case 7

Text6.Text = CDbl(DateTime.Timer - Start)

Case 8

Text6.Text = CDbl(DateTime.Timer - Start)

Case 9

Text6.Text = CDbl(DateTime.Timer - Start)

Case 10

Text6.Text = CDbl(DateTime.Timer - Start)

Case 11

Text6.Text = CDbl(DateTime.Timer - Start)

Case 12

Text6.Text = CDbl(DateTime.Timer - Start)

Case Else

Text6.Text = CDbl(DateTime.Timer - Start)

End Select

Next i

For i = 0 To 10000

Select Case CInt(Text3.Text)

Case 100 To 199

Text6.Text = CDbl(DateTime.Timer - Start)

Case 200 To 299

Text6.Text = CDbl(DateTime.Timer - Start)

Case 300 To 399

Text6.Text = CDbl(DateTime.Timer - Start)

Case 400 To 499

Text6.Text = CDbl(DateTime.Timer - Start)

Case 500 To 599

Text6.Text = CDbl(DateTime.Timer - Start)

Case 600 To 699

Text6.Text = CDbl(DateTime.Timer - Start)

Case 700 To 799

Text6.Text = CDbl(DateTime.Timer - Start)

Case 800 To 899

Text6.Text = CDbl(DateTime.Timer - Start)

Case 900 To 999

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1000 To 1099

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1100 To 1199

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1200 To 1299

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1300 To 1399

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1400 To 1499

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1500 To 1599

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1600 To 1699

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1700 To 1799

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1800 To 1899

Text6.Text = CDbl(DateTime.Timer - Start)

Case 1900 To 1999

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2000 To 2099

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2100 To 2199

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2200 To 2299

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2300 To 2399

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2400 To 2499

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2500 To 2599

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2600 To 2699

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2700 To 2799

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2800 To 2899

Text6.Text = CDbl(DateTime.Timer - Start)

Case 2900 To 3000

Text6.Text = CDbl(DateTime.Timer - Start)

Case Else

Text6.Text = CDbl(DateTime.Timer - Start)

End Select

Next i
End Sub
Private Sub Command5_Click()

Unload Me

End Sub
Private Sub form_Load()

Label1.Caption = "Лабораторная работа №2"

Label2.Caption = DateTime.Time

Timer1.Interval = 1000

Label3.Caption = "Скорость работы IF"

Label4.Caption = "Скорость работы вложенного IF"

Label5.Caption = "Скорость работы CASE"

Label6.Caption = "Скорость работы вложенного CASE"

Text1.Text = "Введите день месяца"

Text2.Text = "Введите номер месяца"

Text3.Text = "Введите год"

Text4.Text = "Время IF"

Text5.Text = "Время IF"

Text6.Text = "Время CASE"

Text7.Text = "Время CASE"

Text4.Locked = True

Text5.Locked = True

Text6.Locked = True

Text7.Locked = True

Command1.Caption = "Подсчет последовательного If"

Command2.Caption = "Подсчет последовательного CASE"

Command3.Caption = "Подсчет вложенного If"

Command4.Caption = "Подсчет вложенного CASE"

Command5.Caption = "Выход"

Frm_Timer.Caption = "Лабораторная работа №2: Сравнение работы операторов IF и CASE"

End Sub
Private Sub text1_GotFocus()

If Text1.Text = "Введите день месяца" Then

Text1.Text = ""

End If

End Sub
Private Sub text1_lostFocus()

If Text1.Text = "" Then

Text1.Text = "Введите день месяца"

End If

End Sub
Private Sub text2_GotFocus()

If Text2.Text = "Введите номер месяца" Then

Text2.Text = ""

End If

End Sub
Private Sub text2_lostFocus()

If Text2.Text = "" Then

Text2.Text = "Введите номер месяца"

End If

End Sub
Private Sub text3_GotFocus()

If Text3.Text = "Введите год" Then

Text3.Text = ""

End If

End Sub
Private Sub text3_lostFocus()

If Text3.Text = "" Then

Text3.Text = "Введите год"

End If

End Sub

Заключение


Я изучили тему “Сравнение операторов IF и CASE”, создал программу, которую описал во Введении. При этом я исключил случаи, когда пользователь мог ввести буквы, пробелы, слишком большие числа, а также сделал все проверки исходя из данных связанных с правильностью вводимых дат в зависимости от месяца и года в полях “Введите день месяца”, “Введите номер месяца”, “Введите год”.

Список литературы


  1. Строковые функции (Visual Basic). Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/visual-basic/language-reference/functions/string-functions. Дата обращения: 23.02.2019

  2. Основы работы со строками в Visual Basic. Режим доступа: https://docs.microsoft.com/ru-ru/dotnet/visual-basic/programming-guide/language-features/strings/string-basics. Дата обращения: 23.02.2019

  3. Лукин С.Н. Visual Basic 6.0 - Самоучитель для начинающих Москва– 2001

  4. Стив Браун. Visual Basic 6.0 – учебный курс. 19 уроков для освоения языка. – СПб: Питер, 2009.

  5. Решении сложных задач программирования VB6. Режим доступа: http://informatic.ugatu.ac.ru/lib/VB_6.0/function/bycat.html Дата обращения: 24.02.2019
1   2


написать администратору сайта