Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа_3_1_Лс_27_11_2011.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
4.63 Mб
Скачать

Завдання на самостійну (в) й практичну роботу (вс, лс)

ЗАВДАННЯ 7.2

Постановка задачи СОЗДАТЬ ПРОЕКТ, В КОТОРОМ ВВОДИТСЯ ЛЮБОЕ ЧИСЛО В ДИАПАЗОНЕ ОТ 1 ДО 999 И ОПРЕДЕЛЯЕТСЯ КОЛИЧЕСТВО ЦИФР В ЧИСЛЕ. Приложение должно работать следующим образом. После запуска приложения и щелчка по кнопке <Пуск>. Появляется окно InputBox для ввода числа. После щелчка по кнопке <ОК> результат появляется в окне MsgBox (рис. 7.5).

Рис. 7.5

Порядок действий

1. Спроектируйте форму.

2. Наберите программный код:

Private Sub CmdПуск_Click()

Dim vvod As String

Dim x As Integer, y As Integer, e As String, w As String

m1: vvod = InputBox("введення числа від 1 до 999", "Кількість цифр", "1", 2000, 2000)

If vvod = "" Or Val(vvod) < 1 Or Val(vvod) > 999 _

Then MsgBox "Помилка введення", 16, "Помилка": GoTo m1

x = Val(vvod)

' If x < 10 Then

' y = 1

' e = "однієї"

' ElseIf x < 100 Then

' y = 2

' e = "двох"

' Else

' y = 3

' e = "трьох"

' End If

If y = 1 Then w = "цифри" Else w = "цифр"

MsgBox "Ваше число " + vvod + Chr(13) + " складається з " + e + " " + w, 0 + 64, "Результат"

End Sub

3. Подберите контрольные примеры и проверьте правильность работы приложения. В данном случае необходимо проверить работу приложения при вводе одно-, двух- и трехзначных чисел.

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

  1. Замените фрагмент кода, содержащий блочный If, на фрагмент кода, содержащий Select Case и реализующий тот же алгоритм.

Select Case x

Case 1 To 9

y = 1

e = "однієї

Case 10 To 99

y = 2

e = двох"

Case Else

y = 3

e = трьох"

End Select

5. Сохраните проект в папке ЛАБ7 с именем Лр7_Зад2

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

Лабораторна робота 7. Проектування додатків vb6, що містять галужені алгоритмічні структури. Заняття 2

ЗАВДАННЯ 7.3. СТВОРІТЬ ПРОЕКТ, В ЯКОМУ РОЗРАХУЙТЕ КІЛЬКІСТЬ ЛОКОМОТИВІВ, ЩО ЗНАХОДЯТЬСЯ В РЕМОНТІ, ЗАЛЕЖНО ВІД ВИДУ ПЕРІОДУ ЕКСПЛУАТАЦІЇ.

Вихідні дані. Ввести за допомогою розташованого на формі об'єкта TextBox загальну кількість локомотивів.

Врахувати, що

  • в осінньо-зимовий період одночасно в експлуатації повинно знаходитися 40% рухомого складу, в резерві –10%;

  • у весняно-літній період одночасно в експлуатації знаходиться в 1,5 рази більше локомотивів, ніж в осінньо-зимовий період.

Результат. Вивести кількість локомотивів, які експлуатуються, резерв і кількість локомотивів у ремонті в залежності від обраного періоду експлуатації.

Обов'язкові умови. Введення даних, розрахунки і виведення результатів, а також закінчення роботи повинні відбуватися при натисканні відповідних кнопок. Результати повинні виводитися на окремій формі.

Порядок виконання роботи

  1. Увійдіть в середовище Visual Basic. Відкрийте збережений проект Лр6_Зад1_P_Прізвище. Змініть Form1 згідно рис.7.7, при цьому використайте вже створені об'єкти цієї форми (не поспішайте відразу видаляти не потрібні елементи!).

  2. Додайте до проекту ще одну форму, яку назвіть FrmRez (рис.7.8). Для цього скористуйтеся командами меню Project, Add Form. В заголовку форми – зробіть напис «Результати».

3. Виріжте з форми Form1 об'єкти Label2, Label3, Label4 і Text2, Text3, Text4 та вставте їх у форму FrmRez.

4. Привласніть формі Form1 ім’я FrmIshDan в заголовку форми – зробіть напис «Лабораторна робота 7.2», додайте в форму контейнер Frame , в якому розмістіть два об'єкти OptionButton .

Пояснення Щоб ці об'єкти були видимі у контейнеру та при необхідності переміщувалися разом з ним, у вікні інструментів (Toolbox) виберіть необхідний об'єкт, зробіть один клік на вибраному об'єкті, а далі за допомогою вказівника миші розмістіть його у вибраному вами місці контейнера.

5. Змініть властивість Caption об'єктів Frame, Option1 і Option2 (згідно рис.7.7).

Рис. 7.7. Перемикач, розміщений в об’єкті-контейнері

Рис. 7.8. Форма, що містить результати розрахунків

6. Встановіть розміщення об'єктів на формах FrmIshDan та FrmRez та відредагуйте їх властивості, відповідно рис.7.7 й рис.7.8 та позначенням в програмному коді. Колір фону, розміри, шрифт вкажіть на свій розсуд.

7. За допомогою вікна розміщення форм Form Layout розмістіть форми так, щоб вони не перекривали одна одну.

8. Відкрийте редактор коду і для форми FrmIshDan зробіть такі зміни:

Private Sub Cmd_Введення_Click()

TxtAll.SetFocus

End Sub

Private Sub Cmd_Расчет_Click()

If Option1.Value = True Then

FrmRez.TxtExpluat.Text = 40 * FrmIshDan.TxtAll.Text \ 100

FrmRez.TxtRezerv.Text = 10 * FrmIshDan.TxtAll.Text \ 100

FrmRez.TxtRemont.Text = FrmIshDan.TxtAll.Text - FrmRez.TxtExpluat.Text - FrmRez.TxtRezerv.Text

Else

FrmRez.TxtExpluat.Text = 1.5 * 40 * FrmIshDan.TxtAll.Text \ 100

FrmRez.TxtRezerv.Text = 10 * FrmIshDan.TxtAll.Text \ 100

FrmRez.TxtRemont.Text = FrmIshDan.TxtAll.Text - FrmRez.TxtExpluat.Text - FrmRez.TxtRezerv.Text

End If

FrmRez.Visible = True

End Sub

Встановлення властивості Visible форми FrmRez значення True завантажує її на екран разом з підрахованими результатами.

Private Sub Cmd_Вихід_ Click() залишається без змін.

9. Пов'яжіть з подією LostFocus (втрата фокуса) поля TxtAll такий код:

Private Sub TxtAll._LostFocus()

If Not IsNumeric(TxtAll) Then

MsgBox "Невірне значення: не цифра"

TxtAll.SetFocus

End If

End Sub

Пояснення Ця подія настає після втрати фокуса елементом управління, тобто після передачі фокуса іншому елементу по завершенню введення або корегування даних. Описана вище процедура за допомогою вбудованої функції IsNumeric() перевіряє, чи можна введене значення привести до числового типу. При негативному результаті за допомогою функції MsgBox виводиться повідомлення про помилку, і фокус повертається до поля TxtAll для виправлення помилки.

10. Дослідіть виконання програми з різними даними. Результати додайте до звіту.

11. Зберіжіть проект та форму в папці ЛАБ7 з іменами Лр7_Зад3_P_Прізвище Лр7_Зад3_F1_ Прізвище і Лр7_Зад3_F2_ Прізвище відповідно.