Главная страница «Первого сентября»Главная страница журнала «Информатика»Содержание №17/2009


Предлагаю коллегам

Лабораторные работы по Visual Basic

1Предлагаю коллегам несколько лабораторных работ по реализации учебных проектов в среде Visual Basic:

— лабораторная работа № 1. Программа “Приветствие”;

— лабораторная работа № 2. Программа “Вычисление с переключателями”;

— лабораторная работа № 3. Программа “Перевод значения массы”;

— лабораторная работа № 4:

· программа “Алгоритм Евклида”;

· программа “Бинарный алгоритм”;

— лабораторная работа № 5. Программа “Решение квадратных уравнений”.

Лабораторная работа № 1. Программа “Приветствие”

Задание: разработать проект, в котором на экран выводятся различные приветствия в зависимости от введенного времени. Время вводится в виде числа. Договоримся, что утро длится с 8 до 12 часов, день — с 12 до 17 часов, вечер — с 7
до 23 часов и ночь — все остальное время. Проект в начале работы показан на рис. 1, а после ввода времени и щелчка на кнопке с надписью Показать — на рис. 2.

Рис. 1

Рис. 2

Указания по выполнению

1. Изменить заголовок формы (на панели свойств изменить значение свойства Captionформы на Приветствие).

2. Разместить на форме две надписи, текстовое поле и три кнопки (см. рис. 1). Значения свойств объектов установить в соответствии с таблицей:

Объект

Свойство

Значение

Label (Надпись)

Name

Caption

Alignment

Font

Label1

Введите текущее время

2 – Center

Tahoma, 12

Label (Надпись)

Name

Caption

Alignment

Font

Label2

“” (“пустое” значение)

2 – Center

Tahoma, 16, Жирный

TextBox

(Текстовое поле)

Name

Alignment

Font

Txt1

3 – Right

Tahoma, 12

CommandButton (Кнопка)

Name

Caption

CmdПоказать

Показать

CommandButton (Кнопка)

Name

Caption

CmdОчистить

Новое

CommandButton (Кнопка)

Name

Caption

CmdВыход

Выход

3. В первой строке программного кода в разделе General Declarations записать оператор Option Explicit. Данный оператор контролирует использование только объявленных переменных, что позволяет избежать многих ошибок.

4. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Выход” на завершение программы:

Private Sub CmdВыход_Click()

End

End Sub

5. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Показать” на появление приветствия (в зависимости от введенного времени):

Private Sub CmdПоказать_Click()

If Val(Txt1.Text) >= 8 And

Val(Txt1.Text) < 12

Then Label2.Caption = "Доброе утро!"

If Val(Txt1.Text) >= 12 And

Val(Txt1.Text) < 17

Then Label2.Caption = "Добрый день!"

If Val(Txt1.Text) >= 17 And

Val(Txt1.Text) < 23

Then Label2.Caption = "Добрый вечер!"

If Val(Txt1.Text) >= 0 And

Val(Txt1.Text) < 8 Or

Val(Txt1.Text) >= 23 And

Val(Txt1.Text) <= 24

Then Label2.Caption = "Доброй ночи"

If Val(Txt1.Text) > 24

Then Label2.Caption = "Введенное число

выходит за рамки интервала [0:24]"

End Sub

6. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Очистить” на:

1) очистку текстового поля;

2) удаление текста приветствия;

3) перевод курсора в текстовое поле (метод SetFocus) — см. рис. 3.

Соответствующая процедура имеет вид:

Private Sub CmdОчистить_Click()

Txt1.Text = ""

Label2.Caption = ""

Txt1.SetFocus

End Sub

Рис. 3

Задание для самостоятельной работы

Разработайте проект, в котором компьютер исполняет роль электронной няньки, заботящейся о здоровье школьника. В нем вводится температура воздуха на улице. В зависимости от введенного значения выводятся сообщения “Можешь идти в школу. Желаю успехов!” или “Занятия в школе отменяются!”. Принять, что дети могут посещать школу при температуре воздуха не ниже минус 25°С. Для ввода значения температуры использовать сообщение: “Посмотри на термометр и укажи, какая сейчас температура воздуха”.

2. Лабораторная работа № 2.
Программа “Вычисления с переключателями”

Задание: Разработать проект, в котором над двумя заданными числами выполняется одна из трех арифметических операций — сложение, вычитание или умножение. Числа задаются из некоторого диапазона с помощью элементов управления HScrollBar (Горизонтальная полоса прокрутки); выбранное значение отражается на надписи справа от полосы; операция задается с помощью элементов управления OptionButton (Переключатель) — см. рис. 4.

Рис. 4

Указания по выполнению

1. Изменить заголовок формы на Вычисления с переключателями.

2. Разместить на форме необходимые объекты. Значения свойств объектов установить в соответствии с таб­лицей:

Объект

Свойство

Значение

Frame (Рамка)

Name

Caption

Font

Frame1

Операция

Tahoma, 10

HScrollBar

(Горизонтальная полоса прокрутки)

Name

Max

 

Min

Value

HScroll1

200 (максимальное значение)

1 (минимальное значение)

1 (начальное значение)

HScrollBar

(Горизонтальная полоса прокрутки)

Name

Max

Min

Value

HScroll2

200

1

1

Label (Надпись)

Name

Caption

Font

Label1

“” (“пустое” значение)

Tahoma, 12

Label (Надпись)

Name

Caption

Font

Label2

“”

Tahoma, 12

Label (Надпись)

Name

Caption

Font

Label3

“”

Tahoma, 12, Жирный

Label (Надпись)

Name

Caption

Font

Label4

Результат:

Tahoma, 12, Жирный

CommandButton (Кнопка)

Name

Caption

CmdВыход

Выход

Все переключатели располагаются в рамке Frame1
(перед вставкой их на форму — выделить рамку)

OptionButton

(Переключатель)

Name

Caption

Font

OptСложение

Сложение

Tahoma, 12, Жирный

OptionButton

(Переключатель)

Name

Caption

Font

OptВычитание

Вычитание

Tahoma, 12, Жирный

OptionButton

(Переключатель)

Name

Caption

Font

OptУмножение

Умножение

Tahoma, 12, Жирный

3. Включить проверку переменных (Option Explicit).

4. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Выход” на завершение программы (cм. лабораторную работу № 1).

5. Запрограммировать процедуру обработки события “Перемещение бегунка (изменение) полосы прокрутки” (для каждой полосы). Соответствующий программный код для полосы прокрутки HScroll1:

Private Sub HScroll1_Change()

Label1.Caption = HScroll1.Value

End Sub

6. Для каждого переключателя запрограммировать процедуру обработки события “Щелчок на переключателе” (его выбор). При выборе того или иного переключателя производится одна из операций над числами: сложение, вычитание или умножение. Например, программный код для переключателя с надписью Сложение имеет вид:

Private Sub OptСложение_Click()

OptСложение.Value = True

Label3.Caption = Val(Label1.Caption) +

Val(Label2.Caption)

End Sub

Задание для самостоятельной работы

Разработать проект, в котором для заданного числа из определенного диапазона вычисляется квадрат или куб этого числа.

Лабораторная работа № 3.
Программа “Перевод значения массы”

Задание: разработать проект для перерасчета значения массы в граммах в значения в фунтах, пудах, унциях, драхмах или гранах (1 фунт = 454 г, 1 пуд = 16 380 г, 1 унция = 28,35 г, 1 драхма = 1,772 г, 1 гран = 0,0648 г). Выбор новой единицы измерения проводится с помощью элементов управления OptionButton (Переключатель) — см. рис. 5.

Рис. 5

Указания по выполнению

1. Изменить заголовок формы на Перевод значения массы.

2. Разместить на форме необходимые объекты. Значения свойств объектов установить в соответствии с таб­лицей:

Объект

Свойство

Значение

Label (Надпись)

Name

Caption

Font

Label1

Масса в граммах

Tahoma, 12

Label (Надпись)

Name

Caption

Font

Label2

Масса в новых единицах:

Tahoma, 12

TextBox (Текстовое поле)

Name

Text

 

Font

Txt1

“” (“пустое” значение)

Tahoma, 12

TextBox (Текстовое поле)

Name

Text

Font

Txt2

“”

Tahoma, 12

CommandButton (Кнопка)

Name

Caption

CmdВыход

Выход

CommandButton (Кнопка)

Name

Caption

CmdОчистить

Очистить

Frame (Рамка)

Name

Caption

 

Font

Frame1

Выберите новую единицу

Tahoma, 10

Все переключатели располагаются в рамке Frame1

OptionButton

(Переключатель)

Name

Caption

Font

OptФунт

Фунт

Tahoma, 12

OptionButton

(Переключатель)

Name

Caption

Font

OptПуд

Пуд

Tahoma, 12

OptionButton

(Переключатель)

Name

Caption

Font

OptУнция

Унция

Tahoma, 12

OptionButton

(Переключатель)

Name

Caption

Font

OptДрахма

Драхма

Tahoma, 12

OptionButton

(Переключатель)

Name

Caption

Font

OptГран

Гран

Tahoma, 12

3. Включить проверку переменных.

4. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Выход” на завершение программы.

5. Для каждого переключателя запрограммировать процедуру обработки события “Щелчок на переключателе” (его выбор). Как указано в задании, при выборе того или иного переключателя должны рассчитывать и выводиться соответствующие значения массы. Например, программный код для переключателя с надписью “Фунт” имеет вид:

Private Sub OptФунт_Click()

OptФунт.Value = True

Txt2.Text = Format(Val(Txt1.Text)/454, "##0.0##")

End Sub

6. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Очистить”:

Private Sub CmdОчистить_Click()

Txt1.Text = ""

Txt2.Text = ""

Txt1.SetFocus

OptФунт.Value = False

OptПуд.Value = False

OptУнция.Value = False

OptДрахма.Value = False

OptГран.Value = False

End Sub

Задание для самостоятельной работы

Разработать проект для перераcчета значения расстояния в сантиметрах в значения в дюймах, фунтах, ярдах или милях (1 дюйм = 2,54 см, 1 фут = 0,3048 м, 1 ярд = 91,44 см, 1 миля = 1,609 км).

Лабораторная работа № 4

1. Программа “Алгоритм Евклида”

Задание: разработать проект для определения наибольшего общего делителя (НОД) двух натуральных чисел с использованием алгоритма Евклида. Проект в работе показан на рис. 6.

Рис. 6

Указания по выполнению

1. Изменить заголовок формы на Алгоритм Евклида.

2. Разместить на форме необходимые объекты. Значения свойств объектов установить в соответствии с таб­лицей (вверху).

3. Включить проверку переменных.

4. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Выход”.

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

Private Sub CmdРассчитать_Click()

Dim m, n As Integer

m = Val(Txt1.Text)

n = Val(Txt2.Text)

Do While m <> n

If m > n Then m = m - n

Else n = n - m

End If

Loop

Txt3.Enabled = True

Txt3.Text = m

End Sub

6. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Очистить”.

Private Sub CmdОчистить_Click()

Txt1.Text = ""

Txt2.Text = ""

Txt3.Text = ""

Txt3.Enabled = False

Txt1.SetFocus

End Sub

2. Программа “Бинарный алгоритм”

Задание: разработать проект для определения наибольшего общего делителя (НОД) двух натуральных чисел с использованием так называемого “бинарного алгоритма” (“Информатика” № 3/2009). Проект в работе показан на рис. 7 на с. 35.

Указания по выполнению

1. Изменить заголовок формы на Бинарный алгоритм.

2. Разместить на форме необходимые объекты. Значения свойств объектов установить в соответствии с таб­лицей, приведенной в предыдущей работе.

3. Включить проверку переменных.

4. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Выход”.

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

Private Sub CmdРассчитать_Click()

Dim m, n, r, s, k As Integer

m = Val(Txt1.Text)

n = Val(Txt2.Text)

Do While m <> n

r = 0

s = 0

Do While m Mod 2 = 0

m = Int(m/2)

r = r + 1

Loop

Do While n Mod 2 = 0

n = Int(n/2)

s = s + 1

Loop

If r <= s Then

k = r

Else

k = s

End If

Do While m > n

m = m - n

Loop

Do While n > m

n = n - m

Loop

Loop 'While m <> n

Txt3.Enabled = True

Txt3.Text = 2 ^ k * m

End Sub

6. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Очистить”.

Лабораторная работа № 5.
Программа “Решение квадратных уравнений”

Задание: разработать проект для решения квадратных уравнений вида ах2 +  + с = 0 (при а ? 0) — см. рис. 8.

Рис. 8

При вводе исходных данных форма должна иметь вид, показанный на рис. 9 (надпись “Корни уравнения” и текстовые поля для вывода значений корней уравнения не видны).

Рис. 9

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

Рис. 10

Указания по выполнению

1. Изменить заголовок формы.

2. Разместить на форме необходимые объекты и установить соответствующие значения их свойств.

3. Включить проверку переменных.

4. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Выход”.

5. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Вычислить”:

Private Sub CmdВычислить_Click()

Dim D As Single

D = Val(Txt2.Text) ^ 2 - 4 *

Val(Txt1.Text) * Val(Txt3.Text)

If D < 0 Then

MsgBox "Уравнение не имеет корней",

vbOKOnly + vbInformation, "Проверка"

Else

Lbl5.Visible = True

Txt4.Visible = True

Txt5.Visible = True

Txt4.Text = Format((-Val(Txt2.Text) +

Sqr(D))/(2 * Val(Txt1.Text)),

"##0.0##")

Txt5.Text = Format((-Val(Txt2.Text) -

Sqr(D))/(2 * Val(Txt1.Text)),

"##0.0##")

End If

End Sub

6. Запрограммировать процедуру обработки события “Щелчок на кнопке с надписью Новое”.

Задание для самостоятельной работы

Изменить проект так, чтобы при вводе значения
а = 0 выводилось соответствующее сообщение.


1 При изменении имен некоторых элементов управления и их свойств представленные работы могут быть использованы и при изучении среды Borland Delphi. — Прим. ред.

А.. Р.. Искандарова

TopList