Вычислительная техника и информатика. Программи..


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

©Нижегородский государственный архитектурно
-
строительный университетª


Кафедра информационных систем и технологий















ОСНОВЫ П
РОГРАММИРОВАНИЯ

на

языке

Microsoft Visual Basic 2005



ЛАБОРАТОРНЫЕ РАБОТЫ




























г.

Нижний Новгород


2010

2


УДК 681.3


Основы программирования на языке
Microsoft

Visual

Basic

2005

Методические указания для выполнения лабораторных работ

по курс
у

©Информатикаª для
студентов всех специальностей


Нижний Новгород: ННГАСУ, 2010








В методических указаниях представлены задания и уровни их исполнения для выполнения
лабораторных работ в среде разработки
Microsoft

Visual

Basic

2005, входящей
в состав
Microsoft

Visual

Studio

2005, изучаемого в рамках курса ©Информатикаª студентами всех
специальностей. Уровень исполнения задания студент выбирает самостоятельно в
соответствии со своей теоретической и практической подготовленностью.





















Составители: к.

т.

н., доцент Д.

И. Кислицын, ст. преподаватель Ю.

А. Громов


Под редакцией д.

ф.
-
м.

н., профессора А.

Н. Супруна






©Нижегородский государственный архитектурно
-
строительный университет, 2010 г.

3


Введение


Microsoft Visual Basic


с
редство разработки программного обеспечения
,
включающее
язык
и среду
программирования
. Язык Visual Basic (
VB
) унаследовал дух, стиль и отчасти
синтаксис своего предка

языка
Basic
, у которого есть немало диалектов, например
QBasic
.
В то же время Visual Ba
sic сочетает в себе процедуры и элементы объектно
-
ориентированных и компонентно
-
ориентированных языков программирования. Среда
разработки VB включает инструменты для визуального конструирования пользовательского
интерфейса.

Visual Basic зарекомендовал себя

как хорошее средство быстрой разработки программ

и

приложений баз данных
,

работающих под управлением операционных систем семейства
Microsoft Windows.

Первое признание серьѐзными разработчиками Visual Basic получил после выхода
версии 3


VB3. Версия VB6,
входящая в состав Microsoft Visual Studio 6.0, стала по
-
настоящему зрелым и функционально богатым продуктом. После этого разработчики из
Microsoft существенно изменили направление развития данной технологии. Сегодня нужно
говорить о классическом Visual Bas
ic, его диалектах (Visual Basic for Applications (VBA) и
Visual Basic Scripting Edition (VBScript)) и о языке для платформы .NET


Visual Basic .NET.

В 2005 году
Microsoft

выпустил новую версию
Visual Basic

Visual Basic 2005
в

комплекте

Visual Studio.
Яз
ык основан на
Visual

Basic

.
NET
. В 2007 году
Microsoft

выпустил
версию
Visual

Basic

2008, а в 2010 году

Visual

Basic

2010, которые также были основаны на
Visual

Basic

.
NET
.

Язык
Visual

Basic

2005 является объектно
-
ориентированным языком и
,

соответственно
,

оперирует терминами объектно
-
ориентированного программирования
,
например, такими как

класс, экземпляр класса, метод, событие, свойство
.

Классом

называют совокупность определѐнных правил, задающих одинаковое
поведение для
некоторых
групп объектов.
В качес
тве
объектов

в
VB

рассматриваются
функциональные части приложений (программ). В
VB

подобными

объектами
, например,
являются

экранные
формы
,

такие
элементы управления
,

как
кнопки, надписи, текстовые
поля и т.

д.

Практически класс может пониматься как некий ш
аблон, по которому
могут
быть созданы эти

объекты, называемые
экземплярами

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



это
класс
, а кажд
ая

конкретн
ая

кнопка

со своими
геометрическими размерами, надписями и т.

п.
, помещѐнная на

форму
,



это
экземпляр
класса
.

Классы
характеризуются

свойств
ами
,
метод
ами

и
событи
ями
. Кратко рассмотрим
эти понятия.

С
войств
а

в
VB

представля
ю
т
некоторые
сведения

об

объекте
и
связан
ы

с механизмом
формального описания атрибутов объекта. Каждый объект
мо
жет о
бладат
ь

специфическими
свойствами.

Например, если
есть

объект

класса ©Кнопкаª
, то он может

иметь следующие

свойства: размер, цвет, местоположение, функциональное поведение (имитация нажатия) и
т.

д.
Свойства могут иметь как фиксированный

набор значени
й (например,
выбор
,
представленный в виде

выпадающего списка
,

цвет
а

кнопки)
, так и произвольный
(например,
размер
ы

кнопки)
.

Методы

представляют собой процедуры и функции (схожие с процедурами и
функциями в
QBasic
), объявл
яемые

внутри
классов
.

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

класса

или для

самого

класса
. Т.

е. м
етоды представляют действия,
которые может выполнить объект. Например,
методом

для
объект
а

класса ©Кнопкаª мо
жет
быть процедура
©Скрыть кнопкуª

и т.

п.

4


События


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

служить

©Нажатие кнопкиª или ©
Наведение курсора мыши на
кнопкуª.
Поскольку Microsoft Windows является управляемой событиями операционной
системой,
то
события могут поступать от других объектов и приложений или от
пользователя (например, при нажатии кнопки мыши или клавиши

на клавиатуре
).

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

и

способные выполнять определѐнные

методы

и генерировать
события
.

Одними из основных понятий в объектно
-
ориентированном программировании
являются
насле
дование
,
полиморфизм

и
инкапсуляция
.

Наследование

позволяет передавать свойства и методы объекта от предка к потомку.
Это
означает
,

что один объект может быть построен на базе другого. При этом могут быть
унаследованы свойства, методы и события.
Например,
в
программе VB имеется объект
©Кнопкаª, предусматривающий прямоугольную форму кнопки. Требуется создать новый
объект, отличающийся только

формой кнопки.
В таком случае

создаѐтся

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

Полиморфизмом

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

данный метод, будет
выполняться различный набор действий. Например,
при использовании
метод
а

с именем
©Выбрать объектª в разных случаях буд
у
т выполнять
ся

разные действия в зависимости от
того
,

к какому классу объект при
надлежит. Так
,

примене
ние метода ©Выбрать объектª для
объекта ©К
нопк
а
ª может привести к появлению рамки вокруг этой кнопки.
Применение
м
етод
а

с тем же именем (©Выбрать объектª),
используем
ого

для
объекта
©
Текстовое

пол
е
ª,
приведѐт к появлению
мигающ
его

кур
сор
а

в этом текстовом поле.

Инкапсуляция


это

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

предоставляется только сп
ецификация
(интерфейс) объекта.

Например, для построения кнопки четырѐхугольной формы
используются определѐнные процедуры и функции, спрятанные (инкапсулированные) в
классе ©Кнопкаª
,

и программисту они на прямую не доступны,

таким
образом
,

он не может
©сло
матьª кнопку, случайно
изменив еѐ геометрию
. В то

же время программист
у

доступны
все
открытые свойства, например
ширин
а

и высот
а

кнопки.

5


Требования к выполнению работ


При подготовке к лабораторной работе студент должен изучить соответствующие
разделы лек
ционного курса. В ходе выполнения лабораторной работы студент должен
подгот
овить

письменный отчет, включающий:


номер, тему, цель лабораторной работы;


номер варианта;


задание;


входные и выходные данные для каждого задания;


эскиз проектируемой формы;


блок
-
сх
ему программы;


текст программы с комментариями.



6


ЛАБОРАТОРНАЯ РАБОТА №

1


Тема
: Интерактивные приложения в
Visual

Basic
.


Цель работы
: Создание
Windows
-
приложений

в среде Visual Basic 2005
.
З
н
акомство
со средой
Visual Basic 2005
.
Приобретение навыков про
ектирования
графического
интерфейса.


Задание


1.

Создать новый проект

в среде
Visual Basic 2005
.

2.

Составить эскиз интерактивной формы

(Рис.

1)
.

3.

Составить программу вычисления заданного выражения

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

4.

Выполнить

сборку и компиляцию программы.

5.

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

на выполнение, ввести исходные данные и получить
результат вычисления заданного в
ыражения
.

6.

Записать полученные результаты и оформить отчѐт о проделанной работе.
















Пример


Требуется

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


,


где
a

=

114.6;
b

=

53.47
.
10
3
;
x

=

36
o
;
y

=

0.87
.


Порядок
выполнения работы


1.

Создание нового проекта.

1.1.

Запустить среду разработки
MS

Visual

Studio

2005
.

1.2.

Создать новый проект, используя
следующие
ме
ню
:

File



New

Project
.

1.3.

У
казать тип нового проекта
:

Visual

Basic

(Рис.
2
.)
.

a =

b =

x

=

y =

Z=

ВЫЧИСЛ

ВЫХОД

ВАРИАНТ № 0


Рис. 1. Эскиз интерактивной формы

7


1.4.

Указать шаблон, на основе которого создаѐтся проект
:

Windows

Application
.


1.5.

Ввести имя

(
Name
)

создаваемого проекта:
WindowsApplication
_
N

, где
N



идентификатор пользователя (наприм
ер, фамилия).

При необходимости

кнопкой
Browse

можно изменить расположение

(
Location
)

файлов проекта на диске.

Рекомендуется
сохранять в папку
с номеров Вашей группы.

1.6.

Для подтверждения создания проекта нажать кнопку
ОК
.





1.7.

В результате выполнения вышеоп
исанных действий б
удет создана пустая
форма (Рис.

3
).





2. Создание эскиза интерактивной формы.

Рис. 3. Пустая форма

Рис. 2
. Создание нового проекта

8


2.1. Для ввода исходных данных: a, b, x, y и вывода результата вычисления выражения

необходимо разместить на форме элементы

управления
,

как по
казано
на

Р
ис.
4
.

Заметим, что если в Вашем варианте используется
менее четырѐх
переменных
, то
и на проектируемой форме их должно быть меньше.














Элементы управления
Label

(
Label
1


Label
6)
представляют
собой надписи и служат

для отображения т
екстовой информации
на форме и вывода результата вычисления (
a
=
, b
=
, x
=
, y
=
, z
=,

z
).

Элементы управления
TextBox

(
TextBox
1


TextBox
4)

представляют собой текстовые поля и служат

для
ввода

информации на форме (
a, b, x, y
).

Элементы управления
Button

(
Button
1


Button
2)

представляют собой кнопки и служат для выполнения расчѐта
(
Button
1
) и выхода из программы

(
Button
2
).

Для размещения элементов управления необходимо
воспользоваться панелью
Toolbox

(Рис. 5)
из меню
View



Toolbox
, перенося мышкой необходимые эл
ементы с панели
Toolbox

на форму.







После размещения всех необходимых элементов
управления на форме необходимо задать их свойства через
панель
Properties

(Рис. 6), которая появляется после
одинарного щелчка мышью на нужном элементе управления,
распол
оженном на форме. Каждый
э
лемент управления имеет
свой набор свойств.

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








Label
1

TextBox1

Label2

TextBox
3


Label
3

TextBox2


L
abel4

TextBox
4


Label5

Label6

Button1

Button2

ВАРИАНТ № 0

Рис. 5. Панель
Toolbox

Рис. 6. Панель
Properties

Рис. 4. Размещение элементов управления

9


2.2.
Установите значения свойств
BackColor

и

Text

объекта
Form1
,

как показано на Рис.
7.











BackColor

= ЗЕЛЕНЫЙ

П
ояснение
:

необходимо щелкнуть на
кнопк
у

в правом поле, затем перейти на
вкладку
Custom

и выбрать из палитры
цветов нужный цвет, например зеленый.






Text

= ВАРИАНТ № 0

П
ояснение:

д
ля изменения заголовка
элемента
Form
1

необходимо в этом же
ме
ню
Properties

щелкнуть в правом поле
свойства
Text

и вместо надписи
Form
1

ввести другой текст, например ©ВАРИАНТ № 0ª. Введенный
текст будет отображаться в заголовке объекта
Form
1
.


2.3.
Установите значения свойств
BackColor
,
Font

и
Text

элемента


надписи

Label1
,
размещенного на форме (Рис. 8).





BackColor

= СВЕТЛО
-
ЖЕЛТЫЙ

П
ояснение:

необходимо щелкнуть
на кнопк
у

в правом поле, затем
перейти на вкладку
Custom

и
выбрать из палитры цветов нужный
цвет, например светло
-
желтый.


Font

= жирный, 16

пт
.


П
ояснен
ие:

необходимо щелкнуть
на кнопк
у

в правом поле, затем с
помощью окна настройки
установить размер и шрифт текста,
отображаемого в текстовом поле
элемента Label1.


Text

= “
a
=”

П
ояснение:

необходимо в правом
поле ввести текст надписи
(например, “
a

= “), раз
мещаемой в
текстовом поле элемента
Label
1
.




2.4.
Аналогично
устан
овите

для элементов
Label2
,

Label3
,

Label4
,

Label5

и
Label6

значения свойств
, приведѐнные в Табл. 1.

Рис. 7. Свойства
Form1

Рис. 8. Свойства
Label1

10



Табл. 1.


Свойство

Значение

Label
2.
Text

b
=

Label
2.
Font


жирный, 16

пт

Label
2.
BackCo
lor


СВЕТЛО
-
ЖЕЛТЫЙ

Label
3.
Text


x
=

Label
3.
Font


жирный, 16

пт
.

Label
3.
BackColor


СВЕТЛО
-
ЖЕЛТЫЙ

Label
4.
Text


y
=

Label
4.
Font


жирный, 16

пт
.

Label
4.
BackColor


СВЕТЛО
-
ЖЕЛТЫЙ

Label
5.
Text


Z
=

Label
5.
Font


жирный, 16

пт
.

Label
5.
BackColor


СВЕТЛО
-
ЖЕЛТЫЙ

Label
6.
Font


жирный, 16

пт
.

Label
6.
BackColor


СВЕТЛО
-
ЖЕЛТЫЙ


2.5
.
Установите значения свойств
а

Font

для элемента
TextBox1
,

как показано на Рис.
9
.














Font

= жирный, 16пт
.

П
ояснение:

необходимо щелкнуть на
кнопк
у

в правом поле, затем с помощью

окна настройки установить размер и
шрифт текста, отображаемого в
текстовом поле элемента
TextBox
1
.





2.6.
Аналогично установите для элементов
TextBox
2
,

TextBox
3
,

TextBox
4

значения
свойств, приведѐнные в Табл. 2.

Табл.
2
.


Свойство

Значение

TextBox2.Fo
nt

жирный
, 16

пт
.

TextBox3.Font

жирный
, 16

пт
.

TextBox4.Font

жирный
, 16

пт
.


Рис. 9. Свойства
TextBox1

11


2.7.
Установите

значения

свойств

BackColor
,
Font

и

Text

для

элемента
Button
1
,

как
показано на Рис. 10.











BackColor

= СИНИЙ

П
оясне
ние
:

необходимо щелкнуть на
кнопку

в правом поле, затем перейти на
вкладку
Custom

и выбрать из палитры
цветов нужный цвет, например синий.



Font

= жирный, 16

пт
.


П
ояснение:

необходимо щелкнуть на
кнопку

в правом поле, затем с помощью
окна настройки установить размер и
шрифт текста, отобра
жаемого на кнопке
Button
1
.



Text

= “ВЫЧИСЛ”

П
ояснение:

необходимо в правом поле
ввести текст надписи (например,
“ВЫЧИСЛ“), размещаемой на кнопке
Button
1
.



2.
8
. Аналогично
устан
овите

для элемент
а

Button2

значения свойств, приведѐнные в
Табл.
3
.

Табл.
3
.


Свойство

Значение

Button2.Text


ВЫХОД


Button2.Font

жирный
, 16

пт
.


Button
2
.
BackColor

КРАСНЫЙ


В результате изменения свойств вышеперечисленных объектов форма
Form1

примет
вид, указанный на Р
ис. 1.


3.
Написание
программ
ы

(кода)

включает в себя разраб
отку кода для обработки события
загрузки формы и нажатия кнопок ©ВЫЧИСЛª и ©ВЫХОДª.

3.1. Выполните двойной щелчок
левой кнопкой мыши
по

пустом
у

мест
у

формы
. В
появившемся окне головного модуля Form1.vb будут присутствовать заголовок и концевик
программы,

о
брабатывающей событие
©
ЗАГРУЗКА ФОРМЫ
ª.


Private Sub Form1_Load(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles MyBase.Load


End

Sub


Рис. 10. Свойства
Butto
n1

12


Введите

между этими строками код п
рограммы для обработки события
©
ЗАГРУЗКА
ФОРМЫ
ª
:



TextBox1.T
ext = ""


TextBox2.Text = ""


TextBox3.Text = ""


TextBox
4.
Text

= ""


Label
6.
Text

= ""


Пояснение
: с

помощью введенных операторов осуществляется чистка текстовых полей
в элементах
TextBox

и
Label6
.


3.2. Выполните
двойной щелчок

левой кнопкой мыши
по

кнопк
е

©ВЫЧИСЛª. В
появившемся окне головного модуля Form1.vb будут присутствовать заголовок и концевик
программы, обрабатывающей событие
©
НАЖАТИЕ КНОПКИ ©ВЫЧИСЛª.



Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
A
s System.EventArgs) Handles Button1.Click



End

Sub


Введите между этими строками код программы для обработки события
:



Dim A, B, X, Y, X1, Z2, Z1, Z As Double


A = Val(TextBox1.Text)


B = Val(TextBox2.Text)


X = Val(TextBox
3.Text)


Y = Val(TextBox4.Text)


X1 = X * 3.14159 / 180


Z2 = ( Math.Sin(X1) + B * Math.Cos(Y)) ^ 2


Z1 = Math.Sqrt(A / B) + 5.68


Z =
(
Z1 / Z2
)


Label6.Text = CStr(Z)


Пояснени
е
:

Оператор
Dim

объявля
е
т переменные

A
,
B
,

X
,

Y
,

X1
,

Z2
,

Z1
,
Z

как числовые переменные, имеющие тип
числа с плавающей запятой двойной точности.

Ф
ункци
я

Val
()

осуществляет преобразование аргумента строкового типа в числовое значение.

Ф
ункци
я

CStr
()

осуществляет преобразование аргумента числов
ого типа в строковое значение.

Использование в вычислениях стандартных математических функций реализуется посредством
выражений, в которых указано имя класса
Math

и следующее за ним

через точку

имя стандартной функции
(например,
Sin
).


3.3.
Выполните двойн
ой щелчок левой кнопкой мыши на кнопк
у

©ВЫХОДª. В
появившемся окне головного модуля Form1.vb будут присутствовать заголовок и концевик
программы, обрабатывающей событие
©
НАЖАТИЕ КНОПКИ ©ВЫХОДª.

Введите между этими строками

код программы для обработки событ
ия
.



Application
.
Exit
()


Пояснени
е
: для
класса
Application

осуществляется вызов встроенного метода
Exit().


4. С
борк
а

и компиляци
я

модулей проекта
выполняется командой
Build

WindowsApplication

из меню
Build

(
Р
ис.

1
1
).

13


Рис. 11. Сборка и компиляция приложения











Убедитесь, что прил
ожение откомпилировалось без ошибок (с сообщением
Build
: 1
succeeded

or

up
-
to
-
date
, 0
failed
, 0
skipped
)
, в противном случае
п
роверьте правильность написания кода.

Сохраните Ваш проект командой
Save All

из меню
File
.


5.
Запустить приложение на выполнение
можно

командой
Start Debugging

из меню
Debug

(Рис. 12).












После запуска приложения на выполнение автоматически появляется интерактивная
форма с размещенными на ней элементами управления (
Р
ис. 1.).

5.1. В
ве
дите
с клавиатуры
в соответствующие поля

на форме
значения исходных
данных
, указанных в Вашем варианте

(a = 114.6; b = 53

470; x = 36; y = 0.87)
.

5.2.
Для выполнения вычислений наж
мите

кнопку
©
ВЫЧИСЛ
ª
.

Результат расчета появится на форме в поле
надписи

Label6
.

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

Для завершения работы приложения необходимо нажать кнопку
©
ВЫХОД
ª
.

Для выхода из программного комплекса Microsoft Visual Studio 2005 необходимо
использовать
команду

Exit

из
меню
File
.


Рис. 12. Запуск программы

14


Табл.

4. Варианты к
л
абораторной работе №

1




задания

Выражение

Значения
пер
е
менных

1



a=3.17


b=5.34


x=4.1

2



a=8.31


b=4.50


x=2.71

3



a=8.31


b=4.50


x=4.412

4



a=5.34


b=4.10


5



a=2.412

6



a=2.412


x=
29

7



a=2.71


b=5.34


x=
33

8



a=7.31


b=2.1
7


x=
21

9



a=3.115


x=
51

10



a=4.115


x=
44

11


a=8.133

12



a=8.71


x=
78

13



a=8.735


b=2.41

14



a=3.891


x
=
64

15



a=8.735


x=
22

1
6



a=12.13


x=
14

15


17



u=2.95
10
4


y=0.88


x=1.22
10
3

18



a=6.35


b=1.5
10
2


x=0.56

19



l=
2.7
10
3


m=6.54


x=0.82

20



a=3.42


b=152
10
2


x=
14.5

21



a=4.78


b=2.83
10
2


x=
35.5

22



l=2.8
10
4


n=1.45


x=2.2


y=8.2

23



p=3.7
10
3


q
=
-
21.2


b=2.17


x=
132

24



a=
-
1.5
10
2


b=0.98


x=
15.2

25



u=2.72


v=
1.045
10
3


x=0.24

26



m=5.
48


n=0.75
10
2


q=2.8

27



p=2.8
10
2


q=0.35


m=
37.2

28



U=2.75
10
2


V=1.54

29



p=5.75


q=1.3

30



p=1.3
10
3


x=4.75


y=
23.2

16


ЛАБОРАТОРНАЯ РАБОТА №

2


Тема
:
Windows

приложение в
Visual

Basic
:
опрос
-
шутка
.


Цель работы
:
познакомиться с некоторы
ми возможностями работы с мышью и
диалоговыми окнами
.


Задание 1
-
го уровня


1.

Создать новый проект.

2.

Составить эскиз интерактивной формы

-

опроса

(Рис.

1).

3.

Задать значения свойств элементов управления, размещенных на
интерактивной форме.

4.

Для каждого элемента
управления написать программный код,
соответствующий событию активизации (нажатия) элемента управления
, так, чтобы при
наведении курсора мыши на кнопку ©ДАª кнопка ©убегалаª (меняла своѐ местоположение
на форме), а при выборе кнопки ©НЕТª появлялось
сообще
ние
:

©
Мы рады, что Вы считаете,
что
в
повышении размера стипендии необходимости нет!
ª

5.

Осуществить сборку и компиляцию модулей проекта.

6.

Проверить работоспособность приложения
.
























Задание 2
-
го уровня


Доработайте приложение из первого з
адания так, чтобы при наведении курсора мыши
на кнопку ©НЕТª эта кнопка становилась в 2 раза больше, а при ©снятииª курсора мыши с
кнопки возвращалась к прежним размерам
,

а

также чтобы при ©снятииª курсора мыши с
кнопки ©ДАª
эта кнопка

возвращалась на преж
нее место на форме.




Рис. 1. Эскиз интерактивной формы

17


Задание 3
-
го

уровня


Доработайте приложение из первого и второго заданий таким образом, чтобы при
каждом десятом наведении курсора мыши на кнопку ©ДАª появлялось сообщение
:

©Поздравляем, Вы достойны повышения стипендии!ª.


Порядок в
ыполнения работы

(1
-
й уровень)


1.

Создать новый проект командой
New

Project

из меню
File

(порядок создания нового
проекта подробно описан в
л
абораторной работе №

1).

2.

Созда
ть

эски
з

интерактивной формы.

2.1. Используя панель инструментов
ToolBox
,
разместит
ь

на

форме элементы
управления (кнопки
-

Button
1 ÷
Button
3

и надпись



Label
1
)
,

как показано
на Рис. 2.



















3.

После размещения всех необходимых элементов управления на форме необходимо
задать их свойства через панель
Properties
, которая появляетс
я после одинарного щелчка
мышью
по

нужном
у

элемент
у

управления, расположенном
у

на форме. Каждый элемент
управления имеет свой набор свойств. Свойства можно назначать не только элементам
управления, но и форме.

3.1.
Установите значения свойств
Cursor
,
Maxi
mizeBox
,
Size

и

Text

объекта
Form1
, как
показано н
а Рис.

3.




Form1.
Cursor

=
Cross

П
ояснение
:
курсор мыши в
пределах данной формы изменит
свой вид со стрелки на
перекрестие
.


. .


Form1.MaximizeBox

= False

. . .


Form
1.
Size

=
45
0;
38
0


Form
1.
Text

=
ОПРОС

П
ояснение
: этот текст будет
отображаться в заголовке формы.

Рис
.
2
.

Размещение элементов управления на
форм
е

Label1

Form1

Button
1

Button
2

Button
3

Рис.
3
.

Свойства
Form1

18


3.2. Установите значения свойств элемент
а



надпись

(
Label
)
,

как указано в Табл. 1.


Табл. 1


Свойство

Значение

Label
1.
Text

Нужно ли повышать размер
стипендии?

Label
1.
Font.Size

12


Label
1.
Font.
Bold

TRUE

Label1
.
TextAlign

MiddleCenter


3.3. Установите значения свойств элементов


кнопок (
Button
)
,

как указано в Табл. 2.


Табл. 2


Свойство

Значение

Button
1
.
Text

НЕТ

Button
1
.Fo
nt.Size

15

Button
2
.
Text

ДА

Button
2
.Fo
nt.Size

15

Button
3
.Text

Закрыть


В

результате изменения свойств вышеперечисленных объектов форма
Form
1

примет
вид, указанный на Рис. 1.

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

кнопок

©НЕТª, ©ДАª и ©Закрытьª
.

4.1. Обработка события
-

нажатие к
нопки ©НЕТª.
Для этого необходимо выполнить
двойной щелчок левой кнопкой мыши по кнопке
Bu
t
ton
1

и ввести код:


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles Button2.Click



MessageBox.Show("Мы рады, ч
т
о Вы считаете, что в повышении
размера стипендии необходимости нет!", "Благодарим Вас за участие
в опросе")



End Sub


Пояснение
:
MessageBox

служит для вывода сообщений. В скобках указыва
ю
тся текст сообщения и
заголовок сообщения.

Также можно указать ти
п сообщения, иконку сообщения и ряд других параметров.


4.2. Обработка

события


наведение

на кнопку ©ДАª.
Для этого необходимо выполнить
двойной щелч
ок левой кнопкой мыши по кнопке
Bu
t
ton
2

и
в редакторе кода выбрать метод
MouseMove

(Рис.
4)
. Этот метод в
отличие от метода
Click

срабатывает не на нажатие, а на
наведение курсора мыши.

Введите код, описывающий реакцию приложения на наведение курсора мыши на
кнопку ©ДАª:


Private Sub Button2_MouseMove(ByVal sender As Object, ByVal e As

System.Windows.Forms.Mou
seEventArgs) Handles Button1.MouseMove


Dim x, y As Single


19



x = Rnd()


y = Rnd()


Button1.Location = New Point(x * (Me.Width * 0.9
-

Button1.Width), y * (Me.Height * 0.9
-

Button1.Height))



End Sub


Пояснение
: свойство
Loca
tion

задаѐт координаты положения кнопки
Button
1

относительно верхнего
левого угла формы. Чтобы кнопка не оказалась за пределами формы
,

нужно контролировать размеры формы по
ширине (
Me
.
Width
) и по высоте (
Me
.
Height
). Из
показателей
размеров формы, умноженны
х на понижающий
коэффициент 0.9
,

вычитаем соответствующие
показатели
размер
ов

кнопки (
Button1.Width

и
Button1.Height
).
Для того, чтобы кнопка перемещалась на случайную позицию
,

генерируем две псевдослучайных величины (
X
,
Y
), изменяющиеся в пределах от 0 до

1
,

и домножаем на них координаты кнопки
Button
1
.












Рис
. 4.
Выбор

метода

MouseMove

для

Button
1


4.3.
Кнопка ©Закрытьª должна закрывать приложение. Код для обработки события


нажатия кнопки ©Закрытьª напишите самостоятельно.

5. Сборка и компиляци
я модулей проекта выполняется командой
Build
WindowsApplication

из меню
Build
.

Убедитесь, что приложение откомпилировалось без
ошибок, в противном случае проверьте правильность написания кода.

Сохраните Ваш проект командой
Save

All

из меню
File
.

6. Запусти
ть приложение на выполнение можно командой
Start Debugging

из меню
Debug.

Проверьте

приложение

на работоспособность
.

Пока
жите

преподавателю результаты
Вашей
работы.

Для выхода из программного комплекса
Microsoft

Visual

Studio

2005 необходимо
использовать м
аршрут главного меню:
File



Exit
.


Пояснения
для выполнения задания 2
-
го уровня


1. Для обработки событий: для наведения и снятия курсора используйте методы
MouseHover

и
MouseLeave
.

2.
Размеры кнопки можно определить через
свойства .
Size.Width

и
.Size.Hei
ght
.

Задать новые размеры кнопки можно используя конструкцию:
Button
.
Size

=
New

Size
(
a
,
b
)
, где
a

и
b

новые размеры кнопки (ширина и высота).

20


ЛАБОРАТОРНАЯ РАБОТА №

3


Те
ма
:
Windows

приложение в
Visual

Basic
: калькулятор.


Цель работы
:
с
оздание
Windows
-
при
ложения, аналогичного стандартному
калькулятору
Windows
.


Задание 1
-
го уровня


7.

Создать новый проект.

8.

Составить эскиз интерактивной формы

-

калькулятора, способной выполнять
простые арифметические действия

(Рис.

1).

9.

Задать значения свойств элементов управле
ния, размещенных на
интерактивной форме.

10.

Для каждого элемента управления написать программный код,
соответствующий событию активизации (нажатия) элемента управления.

11.

Осуществить сборку и компиляцию модулей проекта.

12.

Выполнить вычисления с помощью созданного

калькулятора.
























Задание 2
-
го уровня


Доработайте калькулятор

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

(
Рис.

2
).


Задание 3
-
г
о уровня


Доработайте калькулятор

из первого и второго заданий, добавив возможности работы с
памятью: стереть память, вывести из памяти, записать в память, добавить в память

(Рис. 3).


Рис. 1. Эскиз интерактивной форм
ы

21



























Порядок выполнения работы

(1
-
й уровень)


4.

С
оздать новый проект командой
New

Project

из меню
File

(порядок создания нового
проекта подробно описан в
л
абораторной работе №

1).

5.

Созда
ть

эскиз интерактивной формы.

2.1. Используя панель инструментов
ToolBox
,

разместит
ь

на форме элементы
управления (кнопки
-

Button
1 ÷
Button
18

и текстово
е пол
е

-

TextBox
1
)
,

как показано на Рис.
4
.

Рис. 2
. Эскиз интерактивной формы

(2
-
й уровень)

Рис. 3
. Эскиз интерактивной формы

(3
-
й уровень)

22




















6.

После размещения всех необходимых элементов управления на форме необходимо
задать их свойства через панель
Properties
, кото
рая появляется после одинарного щелчка
мышью
по

нужном
у

элемент
у

управления, расположенном
у

на форме. Каждый элемент
управления имеет свой набор свойств. Свойства можно назначать не только элементам
управления, но и форме.

3.1.
Установите значения свойств

MaximizeBox
,
Size

и

Text

объекта
Form1
, как показано
на Рис.
5
.






. . .



Form1.MaximizeBox

= False


. . .


Form
1.
Size

=
1
8
0; 250


Form
1.
Text

=
Калькулятор

П
ояснение
: этот текст будет
отображаться в заголовке
формы.




3.2. Установите значения свойств

элемент
а



текстов
ое

поле (
TextBox
)
,

как указано в
Табл. 1.


Табл. 1


Свойство

Значение

TextBox1.Name

TextBoxIs

TextBox1.Text

0.

TextBox1.BorderStyle

Fixed
3
D


Рис.
5
.
Свойства
Form1

Рис.
4
.
Размещение элементов управления на
форм
е

Text
Box
1

Button1

Form1

Button
17

Button
18

Button
5

Button
9

Button
13
0
1

Button2

Button6

Button
10

Button
1
4

Button3

Button7

Button
11

Button
1
5

But
ton
4

Button8

Button
12

Button
1
6

2
3


П
ояснение
:

щелкнуть на кнопк
у

в правом
поле, затем с помощью окна настройки
установить знач
ение данного свойства.

TextBox1.
TextAlign

Right


3.3. Установите значения свойств элементов


кнопок (
Button
) как указано в Табл. 2.


Табл. 2


Свойство

Значение

Button
1
.Nam

bt7

Button
1
.ForeColor

Голубой


Button
1
.Text

7

Button
2
.Name

bt4

Button
2
.For
eColor

Голубой


Button
2
.Text

4

Button
3
.Name

bt1

Button
3
.ForeColor

Голубой


Button
3
.Text

1

Button
4
.Name

bt0

Button
4
.ForeColor

Голубой


Button
4
.Text

0

Button
5
.Name

bt8

Button
5
.ForeColor

Голубой


Button
5
.Text

8

Button
6
.Name

bt5

Button
6
.ForeCol
or

Голубой


Button
6
.Text

5

Button
7
.Name

bt2

Button
7
.ForeColor

Голубой


Button
7
.Text

2

Button
8
.Name

btpm

Button
8
.ForeColor

Голубой


Button
8
.Text

+/
-

Button
9
.Name

bt9

Button
9
.ForeColor

Голубой


Button
9
.Text

9

Button1
0
.Name

bt6

Button1
0
.ForeC
olor

Голубой


Button1
0
.Text

6

Button
11
.Name

bt3

Button
11
.ForeColor

Голубой


Button
11
.Text

3

Button
1
2.Name

btpoint

Button
1
2.ForeColor

Голубой


Button
1
2.Text

,

Button1
3
.Name

btdel

Button1
3
.ForeColor

Красный


Button1
3
.Text

/

Button1
4
.Name

btpr

Button1
4
.ForeColor

Красный


24


Button1
4
.Text

*

Button
15
.Name

btmin

Button
1
5
.ForeColor

Красный


Button
1
5
.Text

-

Button
1
6.Name

btplus

Button
1
6.ForeColor

Красный


Button
1
6.Text

+

Button
1
7.Name

btis

Button
1
7.ForeColor

Красный


Button
1
7.Text

=

Butt
on
18
.Name

btce

Button
18
.ForeColor

Красный


Button
18
.Text

CE


В результате изменения свойств вышеперечисленных объектов форма
Form
1

примет
вид, указанный на Рис. 1.

4. Написание программы (кода) включает в себя разработку кода для обработки событий
нажа
тия всех кнопок.

4.1. Выполните
двойной

щелчок левой кнопкой мыши на
пустом месте
форм
ы
. В
появившемся окне головного модуля
Form1.vb

выберете блок
Declarations

(Объявление)
,

как
показано на Рис.
6,

и введите программный код, объявляющий переменные:

-

IsT
ext

(для хранения
содержимого текстовой строки);

-

IsNumber

(для хранения числ
а);

-

Point

(для указа
ния разделителя дробной части);

-

op

(для хранения н
омера арифметической операции).



Private

IsText

As

String


Private IsNumber As Double


Private

Point As Boolean


Private op As Integer










4.2. Обработка нажатия цифровых клавиш: 1, 2 … 9, 0.

4.2.1. Введите программный код для обработки события


нажати
я

кнопки ©1ª
(
bt
1_
Click
). Для этого необходимо выполнить двойной щелчок левой кнопкой м
ыши по
кнопке
bt
1

и ввести код:



Private Sub bt1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles bt1.Click



If IsText = "0" Or IsText = "+" Or IsText = "
-
" Or IsText
= "/" Or IsText = "*" Then IsText = "1" Else IsText
= IsText + "1"


TextBoxIs
.
Text

=
IsText



End

Sub

Рис.
6
.
Объявление переменных в блоке
Form
1
-

Declaration

25


Пояснение:

данный фрагмент кода сначала проверяет, не является ли вводимая цифра первой в числе и
не была ли нажата клавиша арифметической операции (+,
-
, /, *), в этом случае вводимая цифра замен
яет
содержимое текстового поля (
TextBoxIs
.
Text
). В противном случае вводимая цифра добавляется к
содержимому текстового поля (
TextBoxIs
.
Text
).


4.2.2. Введите программный код для обработки события


нажати
я

кнопки ©2ª
(
bt
2_
Click
). Для этого необходимо выпо
лнить двойной щелчок левой кнопкой мыши по
кнопке
bt
2

и ввести код

аналогичный коду п. 4.2.1
:



Private Sub bt2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles bt2.Click



If IsText = "0" Or IsText = "+" Or IsText = "
-
"
Or IsText
= "/" Or IsText = "*" Then IsText = "2" Else IsText = IsText + "2"


TextBoxIs.Text = IsText



End

Sub


4.2.3.
По аналогии с п. 4.2.1, 4.2.2 в
ведите программный код для обработки
нажатия

оставшихся цифровых кнопок (
bt
3



bt
9,
bt
0
). Для э
кономии времени можете копировать
повторяющиеся фрагменты кода.

4.3. Введите программный код для обработки события


нажати
я

кнопки ©смена знака
числа (+/
-
)ª (
btpm_Click
). Для этого необходимо выполнить двойной щелчок левой кнопкой
мыши по кнопке
btpm

и вв
ести код:



Private Sub btpm_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btpm.Click



IsText = CStr(Val(IsText) * (
-
1))


TextBoxIs.Text = IsText



End

Sub


Пояснение
: функция

Val
()
преобразует текстовый тип

в числовой;

функция

CStr
()
преобразует числовой тип в текстовый.


4.4. Введите программный код

для обработки события


нажатия

кнопки ©запятая,
отделяющая целую часть от дробной ( , )ª (
btpoint_Click
). Для этого необходимо выполнить
двойной щелчок левой к
нопкой мыши по кнопке
btpoint

и ввести код:



Private Sub btpoint_Click(ByVal sender As System.Object, ByVal
e As System.EventArgs) Handles btpoint.Click



If Point = False Then


IsText = IsText + "."


TextBoxIs.Text = IsTex
t


Point = True


End If



End

Sub


Пояснение:

данный фрагмент кода

через переменную
Point

сначала проверяет, не была ли кнопка ©запятаяª
нажата ранее при вводе текущего числа.


26


4.5. Обработка нажатия кнопок арифметических действий: /,
*,
-
, +.

4.5.1. Введите программный код для обработки события


нажати
я

кнопки ©деление ( /
)ª (
btdel_Click
). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по
кнопке
btdel

и ввести код:



Private

Sub

btdel
_
Click(ByVal sender As System
.Object, ByVal e
As System.EventArgs) Handles btdel.Click



IsNumber = Val(TextBoxIs.Text)


op = 1


IsText = "/"


TextBoxIs.Text = IsText


Point = False



End

Sub


Пояснение
: в данном фрагменте кода переменной
op

присв
аивается номер арифметической операции.
При этом деление соответствует первому номеру, умножение


второму, вычитание
-

третьему, сложение


четвертому. Значение переменной
op

будет использоваться при вычислении результата (нажатие кнопки
btis
).


4.5.2. В
ведите программный код для обработки события


нажати
я кнопки ©умножение
(*
)ª (
btpr_Click
). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по
кнопке
btpr

и ввести код
, аналогичный коду п. 4.5.1, изменив номер операции на второй
:



Priv
ate Sub btpr_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btpr.Click



IsNumber = Val(TextBoxIs.Text)


op = 2


IsText = "*"


TextBoxIs.Text = IsText


Point = False



End

Sub


4.5.3.
По анал
огии с п. 4.5.1, 4.5.2 в
ведите программный код для обработки событи
й



нажати
я

кноп
о
к ©вычитание (
-

)ª (
btmin_Click
)

и
©сложение ( + )ª (
btplus_Click
)
, изменив
соответственно номера операций и символы, их отображающие.

4.6. Введите программный код для обр
аботки события


нажати
я

кнопки ©=ª
(
btis_Click
). Для этого необходимо выполнить двойной щелчок левой кнопкой мыши по
кнопке
btis

и ввести код:



Private Sub btis_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btis.Click




Select Case op


Case 1


IsNumber = IsNumber / Val(TextBoxIs.Text)


Case 2


IsNumber = IsNumber * Val(TextBoxIs.Text)


Case 3


IsNumber = IsNumber
-

Val(TextBoxIs.Text)



Case 4

27



IsNumber = IsNumber + Val(TextBoxIs.Text)


End Select


IsText = CStr(IsNumber)


TextBoxIs.Text = IsText


IsText = ""


Point = False



End

Sub


Пояснение
: в
данном фрагменте кода используетс
я конструкция
Select

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


4.
7
. Введите программный код для обработки события


нажати
я

кнопки ©CEª
(
btce_Click
). Для этого необходимо выполнить двойной щелчок левой кноп
кой мыши по
кнопке
btce

и ввести код:



Private Sub btce_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles btce.Click



IsNumber = 0


IsText = "0"


TextBoxIs.Text = IsText


Point = False



End Sub


5. Сборка и компиляция модулей проекта выполняется командой
Build
WindowsApplication

из меню
Build
.

Убедитесь, что приложение откомпилировалось без
ошибок, в противном случае проверьте правильность написания кода.

Сохраните Ваш проект командой
Save All

из
меню
File
.

6. Запустить приложение на выполнение можно командой
Start Debugging

из меню
Debug.

Выполнит
е

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

Пока
жите

преподавателю результаты
Вашей
работы.

Для выхода из программного комплекса
Micro
soft

Visual

Studio

2005 необходимо
использовать маршрут главного меню:
File



Exit
.


Пояснения
для выполнения задания 2
-
го уровня


1. Для вычисления квадратного корня используйте функцию
Math
.
Sqrt
()
.

2. Д
ля обработки

события


нажати
я

кнопки ©Backspaceª (
у
даление последнего
введѐнного символа
)

можно использовать
функци
ю

Remove
()
,

удаля
ющую

указанное
число символов в
текстовой
перемен
ной начиная с указанной позиции, и

свойство
Length
,

возвраща
ющее

число символов в значении переменной
. Например, так:



IsText

=
IsText
.
Remove
(
IsText
.
Length

-

1, 1)
.

3.
Нажатие кнопки ©Сª должно привести к стиранию только текущего набираемого
числа, например если Вы ошиблись при вводе и хотите стереть число не посимвольно
кнопкой ©
Backspace
ª, а сразу целиком. Отличается

от кнопки ©СЕª тем, что не стирает
предыдущие набранные числа и операции.


Пояснения для выполнения задания
3
-
го

уровня

В текстовом поле над кнопками по работе с памятью (
М+, MS, MR, MC
) должен
отображаться символ ©Мª, если в памяти содержится какое
-
либо
число.

28


ЛАБОРАТОРНАЯ РАБОТА №

4


Тема
:
Windows

приложение в
Visual

Basic
: решение уравнения и построение графика
функции.


Цель работы
: с
оздание
Windows
-
приложения, обеспечивающего возможность
решения уравнения и построения графика функции. Приобретение на
выков использования
графического элемента управления
PictureBox

при проектировании интерфейса
Windows
-
приложения.


Задание

1
-
го

уровня


1.

Создать новый проект.

2.

Составить эскиз интерактивной формы (Рис.1).

3.

Задать значения свойств элементов управления
, размеще
нных на
интерактивной форме.

4.

Составить программу

для
нахождения корней
функции
f
(
x
)

на интервале
[
A
,
B

]

с шагом
E
,
предусмотрев ввод исходных данных через текстовые поля интерактивной
формы.

Функцию
f
(
x
)

выбрать из Табл. 6 в соответствии со своим варианто
м.

5.

Осуществить сборку и компиляцию модулей проекта.

6.

Решить уравнение
f
(
x
)

=

0
.




Задание 2
-
го уровня


Реализовать
построени
е

графика и отображени
е

графика функции в элементе

управления
PictureBox

(Рис. 2).



Рис. 1. Эскиз интерактивной формы

Рис.
2
. Эскиз интерактивной формы

с построением графи
ка

29


Задание 3
-
го уровня


Реализовать возможност
ь задавать пользователем функцию (полином до третьей
степени),
предусмотрев ввод
параметров функции

через текстовые поля интерактивной
формы

(Рис. 3).






Порядок выполнения работы

(1
-
й уровень)


1.

Создать новый проект командой
New Project

из меню File
(п
орядок создания нового
проекта подробно описан в
л
абораторной работе №

1).

2.

Созда
ть

эскиз интерактивной формы.

2.1. Используя панель инструментов
ToolBox
,

разместит
ь

на форме элементы
управления (кнопк
у

-

Button
1
, надписи


Label
1


Label
6
,

текстовые поля
-

TextBox
1

TextBox
3
, поле со списком
-

ComboBox
1

и графическое поле
-

PictureBox
1
)
,

как показано на
Рис.
4
.

Элемент управления
ComboBox

-

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

В данной ра
боте в

ComboBox

будут отображаться значения вычисленных корней уравнения.
















Рис.
4
.
Размещение элементов управления на
форм
е

Рис.
3
. Эскиз интерактивной формы

с построением графика и


пользовательским вводом функции

Label1

TextBox1

Label2

TextBox2

Button1

Решение уравнения
f
(
x
) и построение
графика функции
y
=
f
(
x
)

Label
3
2

Label
4

ComboBox1

TextBox3


Label
6

Label
5

30


3.

После размещения всех необходимых элементов управления на форме необходимо
задать их свойства через панель
Properties
, которая появляется после одинарного щелчка
мы
шью на нужном элементе управления, расположенном на форме. Каждый элемент
управления имеет свой набор свойств. Свойства можно назначать не только элементам
управления, но и форме.

3.1.

Установите значения свойств
Text

и

WindowState

объекта
Form1
,

как показано
на Рис.
5
.




Form
1.
Text

=
Решение уравнения
f
(
x
)

=

0 и построение графика
y

=

f
(
x
)

Пояснение
: этот текст будет
отображаться в заголовке
формы.


Form1.

WindowState

=
Maximized

П
оясне
ние:

для отображения графика функции

будет использован максимальный раз
мер окна.


3.2.

Установите значения свойств элементов



надписей (
Label
)
,

как указано в
Табл. 1.


Табл. 1


Свойство

Значение

Label
1.
Text

A

Label2.Text

B

Label3.Text

E

Label
1.
Font

жирный, 16

пт
.

Label
2.
Font

жирный, 16

пт
.

Label
3.
Font

жирный, 16

пт
.

Label4
.Text

Количество

корней

Label5.Text

Уравнения

Label
6
.Text


3.3.
Установите значения свойств элементов


текстовых полей (
TextBox
)
,

как указано в
Табл. 2.

Табл.
2


Свойство

Значение

TextBox
1.
Font

жирный, 16

пт
.

TextBox
2.
Font

жирный, 16

пт.

TextBox
3.
Fo
nt

жирный, 16

пт
.


3.4.
Установите значения свойств элемента


кнопки (
Button
)
,

как указано в Табл. 3.


Табл.
3


Свойство

Значение

Button
1.
BackColor

СИНИЙ

Button1.Font

жирный
, 16

пт
.

Button1.Text

ПУСК


Рис.
5
.
Свойства
Form1

31


П
оясне
ние:

д
ля установки нужного цвета необходимо

щелкнуть на кнопк
у

в правом поле, перейти на
вкладку
Custom

и выбрать из палитры цветов нужный цвет, например синий.


3.5.
Установите значения свойств элемента


пол
я

со списком (
ComboBox
)
,

как указано
в Табл.

4.

Табл. 4


Свойство

Значение

ComboBox
1.
Drop
DownStyle

DropDownList

ComboBox
1.
Font

жирный, 16

пт
.


В результате изменения свойств вышеперечисленных объектов форма
Form
1

примет
вид, указанный на
Р
ис. 1.

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

формы и всех
элементов управления.
В качестве примера рассмотрим функцию
f
(
X
)

=

X
2

-

2
X



10
.

4.1.
Для объявления глобальных переменных в
ыполните двойной щелчок левой
кнопкой мыши на форме. В появившемся окне головного модуля
Form1.vb

выберете блок
Declarations

(Объявл
ение)
,

как показано на Рис.
6,

и введите программный код,
объявляющий переменные:


'Перечень глобальных переменных

Public

Z

As

Boolean

Public

A
,
B
,
Ep
,
MinF
,
MaxF

As

Double

'A
-

начальное значение аргумента X

'B
-

конечное значение аргумента X

'Ep
-

точно
сть
решения уравнения
f
(
X
)=0

'MinF
-

минимальное значение функции f(X)

'MaxF
-

максимальное значение функции f(X)





4.2. Для обработки события


загрузки формы
(
Form
1_
Load
)

в
ыберете блок
Load

(
как
показано на Рис.
7)
и
между строк

Private

Sub

Form
1_
Load
(
ByVal

sender

As

System
.
Object
,
ByVal

e

As

System
.
EventArgs
)
Handles

MyBase
.
Load


End

Sub


введите программный код
:

' Чистка текстовых полей исходных данных

TextBox1.Text = ""

TextBox2.Text = ""

TextBox3.Text = ""

Z = 0


Рис. 6. Обработка события в блоке
General

-

Declarations

32





4.3. Написать программный
код, обрабатывающий событие
©
НАЖАТИЕ КНОПКИ
ПУСК
ª

(
Button
1_
Click
)
.


Private Sub Button1_Click(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles Button1.Click


Dim X, X2, XC, Y1, Y2 As Double

Dim KK As Integer

Z = 0

' Проверка корректности

исходных данных : если данные не
корректны, следует выход из подпрограммы

If TextBox1.Text = "" Or TextBox2.Text = "" Or
TextBox3.Text = "" Then
Exit Sub

A = Val(TextBox1.Text)

B = Val(TextBox2.Text)

Ep = Val(TextBox3.Text)

�If A = B Or Ep = 0 Then
Exit
Sub

If B
-

A Ep Then
Exit Sub

' Если исходные данные корректны,
то
устанавливается
значение Z=1, то есть разрешается перерисовка графика
функции f(X)

Z = 1

' Устанавливаются начальные значения диапазона изменения f(X)

MinF = func(A)

MaxF = MinF

' Чистка
открывающегося списка ComboBox1

ComboBox
1.
Items
.
Clear
()

' Чистка счетчика корней уравнения f(X)=0

KK = 0

' В цикле для X от A до B с шагом Ep осуществляется
анализ значений функции f(X)

For X = A To B + Ep / 10 Step Ep

Y1 = func(X)

' Уточняются значения ди
апазона изменения f(X)

If Y1 MinF Then MinF = Y1

�If Y1 MaxF Then MaxF = Y1

X2 = X + Ep

Y2 = func(X2)

If Y1 * Y2 = 0 Then


Если выполнены условия существования корня уравнения,
то

Рис.
7
.
Обработка события в блоке
Form
1
-

Load

33


' уточняется значение очередного корня уравнения f(X)=0

XC = (X + X2) /

2

' и уточненное значение корня добавляется в список
ComboBox1

KK = KK + 1

ComboBox1.Items.Add("X" & CStr(KK) & "= " &
Format(XC, "0.########"))

End If

Next X


Значение счетчика (KK) корней отображается в поле элемента
Label5

Label5.Text = "
уравнения

= "

& CStr(KK)

If MaxF 0 Then MaxF = 0

�If MinF 0 Then MinF = 0


End Sub


В качестве примера рассмотрим функцию
f
(
X
)

=

X
2

-

2
X



10
.


' Процедура
-
функция, предназначенная для вычисления значения
f(X) при заданном значении аргумента X

Function func(ByVal X
As Double)

Label6.Text = "f(x)= X ^ 2
-

2 * X
-

10"


(
X

^ 2
-

2 *
X

-

10)

End

Function


5.
Сборка

и

компиляция

модулей

проекта

выполняется

командой

Build
WindowsApplication

из

меню

Build
.

Сохраните Ваш проект командой
Save All

из меню
File
.

6. Запуст
ить приложение на выполнение можно командой
Start Debugging

из меню
Debug.

В появившейся форме (
Р
ис. 1) ввести с клавиатуры значения исходных данных:

-

A

-

начало интервала табулирования функции;

-

B

-

конец интервала табулирования функции;

-

E

-

шаг

вычис
ления корней уравнения.

Для выполнения вычислений нажать кнопку ПУСК.

Пока
жите

преподавателю результаты работы.

Для выхода из программного комплекса
Microsoft

Visual

Studio

2005 необходимо
использовать маршрут главного меню:
File


Exit
.


Пояснения
для вып
олнения задания 2
-
го уровня


1. Для отображения графика функции можно использовать эл
емент управления
PictureBox
,

позволя
ющий

размещать графические примитивы (точк
у
, отрезок, простые
геометрические фигуры).

Разместите эл
емент управления
PictureBox

на форме
,

как показано
на Рис.

8.


2.
Установите значения свойств элемента


графическо
го

пол
я

(
PictureBox
)
, как указано
в Табл. 5
.




34





















Табл.
5


Свойство

Значение

PictureBox
1.
BackColor

ЗЕЛЕНЫЙ

PictureBox
1.
BorderStyle

Fixed
3
D



3. Добавьте в

обработчик события
Load

объекта
Form
1

код, устанавливающий размеры
PictureBox
:


' Установка оптимальных размеров окна графического
элемента PictureBox1

PictureBox
1.
Width

=
Me
.
Width

* 0.75

PictureBox
1.
Height = Me.Height * 0.9


4. Добавьте в обработчик собы
тия
Click

объекта
Button
1

код, выполняющий
перерисовку содержимого в
PictureBox
:


' Элементу PictureBox1 дается разрешение на перерисовку
графика функции f(X)

PictureBox1.Refresh()


5
. Для обработки события
Paint
, возникающего при активизации графического
элемента
PictureBox
1
, необходимо выбрать блок

Paint

(Рис. 9)
.











Рис.
9
.
Обработка события в блоке
PictureBox
1
-

Paint

Label1

TextBox1

Label2

TextBox2

Button1

Решение уравнения
f
(
x
) и постр
оение графика функции
y

=

f
(
x
)

Label
3
2

Label
4

ComboBox1

TextBox3


Label
6

PictureBox1

Label
5

Рис.
8
.
Размещение элементов управления на
форм
е

35


И ввести код для подпрограммы
PictureBox
1_
Paint
:



Private Sub PictureBox1_Paint(ByVal sender As Object, ByVal e
As System.Windows.Forms.PaintEventArgs) Handles PictureBox1.Paint



Dim G As Graphics = e.Graphics


Dim X, DX, Y, DY As Double


Dim AG, BG, NG, N, I, DW, H0, PX, PY As Integer


' Если есть запрет на прорисовку графика функцииf(X), то
выход из подпрограммы


If Z = 0 Then
Exit Sub



DY = MaxF
-

MinF


If

DY

= 0
Then

DY

= 1


' N
-

количество точек для функции f(X)


N = (B
-

A) / Ep


AG = 1 : BG = PictureBox1.Width


�If A 0 Then AG = 10


If B 0 Then BG = BG
-

10


' NG
-

количество точ
ек для графика функции f(X)


NG = BG
-

AG


�If NG N Then NG = N


If NG N Then N = NG


' DX
-

шаг изменения аргумента X для функции f(X)


DX = (B
-

A) / N


' DW
-

шаг изменения аргумента X для графика функции f(X
)


DW = (BG
-

AG) / NG


' H0
-

высота графика функции f(X)


H0 = PictureBox1.Height


' Определяется перо для прорисовки графика функции f(X)


Dim MyPen As New Pen(Color.Red, 3)


' Определяется и заполняется массив точ
ек графика функции
f(X)


Dim Points(N) As Point


For I = 0 To NG


X = A + DX * I


Y = func(X)


PX = AG + (BG
-

AG) * (X
-

A) / (B
-

A)


PY = (H0
-

5) * (MaxF
-

Y) / DY


Points(I) = New Po
int(PX, PY)


Next I


' Выполняется прорисовка графика функции f(X)


G.DrawLines(MyPen, Points)



Определяется перо для прорисовки координатных осей графика
функции f(X)


Dim MyPenXY As New Pen(Color.Blue, 3)


' Определя
ется и заполняется массив точек оси X


Dim PointsX(2) As Point


PX = 1


PY = (H0
-

5) * (MaxF
-

0) / DY


PointsX(1) = New Point(PX, PY)


PX = PictureBox1.Width


PointsX(2) = New Point(PX, PY)


'
Выполняется

прорисовка

оси

X

36



G.DrawLine(MyPenXY, PointsX(1), PointsX(2))


' Определяется и заполняется массив точек оси Y


Dim PointsY(2) As Point


�If A 0 Then


PX = 1


Else


If B 0 Then


PX
= PictureBox1.Width
-

5


Else


PX = AG + (
-
A / DX) * DW


End If


End If


PY = 0


PointsY(1) = New Point(PX, PY)


PY = H0
-

5


PointsY(2) = New Point(PX, PY)


'
Выполняется

прори
совка

оси

Y


G.DrawLine(MyPenXY, PointsY(1), PointsY(2))



End

Sub


После сборки,

компиляци
и и запуска

приложения р
езультат расчета в виде графика
функции появится на форме в поле элемента
PictureBox
1
(
Р
ис.
10
):
























Выполнит
е

несколько вычислений

(на разных отрезках
[
A
,
B
]

с разным шагом
E
)
,
используя спроектированное приложение.






Рис. 10. Результат расчета функции
f
(
x
) =
x
2
-

2
x

-

10

37


Табл. 6. Варианты заданий к лабораторной работе №4


№ вар.

Уравнение

Отрезок [а,
b
]

№ вар.

Уравнение

Отрезок [а,
b
]

1

е
x

+ х
-

2 = 0

[0;1]

16

22x

-

2
х

= 0

[0;1]

2


[1;2]

17


[3;4]

3


[0.1;1.1]

18


[
-
1;0]

4


[0.1;1.1]

19


[1;2]

5


[2;3]

20


[0.1;1.1]

6


[0;1]

21


[0;1]

7


[
-
2;
-
1]

22


[0;1]

8


[0.1;1.1]

23


[1;2]

9


[0;1]

24


[1;2]

10


[0,1;0,5]

25


[
-
1;0]

11


[0,1;2]

26


[2;3]

12


[0;1.2]

27


[0;1]

13


[0,1;2]

28


[
-
0,5;0,5]

14


[0;1]

29


[2:5]

15


[1;2]

30


[0;1]

38


СОДЕРЖАНИЕ






Введение
………………………………………………………………………………………...…...3

Требования к выполнению работ
………………………………………………………………….
5

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

1
.

Интерактивные приложения в
Visual

Basic
……………………....
..6

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

2
.

Windows

приложение в
Visual

Basic
:
опрос
-
шутка………………
1
6

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

3
.
Windows

приложение в
Visual

Basic
: калькулятор
……………….
20

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

4
.
Windows

при
ложение в
Visual

Basic
: решение уравнения и
построение графика функции
…………………………………………………………………….
2
8




39



Дмитрий Игоревич Кислицын

Юрий Алексеевич Громов








Основы программирования на языке
Microsoft

Visual

Basic

2005


Методические указания для выполне
ния лабораторных работ по курс
у

©Информатикаª для
студентов всех специальностей




























Подписано к печати_________________________________. Бумага газетная

ф.60х84 1/16. Печать высокая. Гарнитура ©Литературнаяª. Уч.изд.л._______________
.

Усл.печ.л._______________. Тираж __________экз. Заказ № _________________.





Нижегородский государственный архитектурно
-
строительный университет

603950, Нижний Новгород, ул.

Ильинская, д.

65

Полиграфический центр ННГАСУ, 603950, Н.

Новгород, ул.

Ильинс
кая, д.

65



Приложенные файлы

  • pdf 8860813
    Размер файла: 1 MB Загрузок: 0

Добавить комментарий