Хотя в данной работе используется язык программирования Visual Basic 2010, среда разработки, которую необходимо применить для написания программ, называется интегрированной средой разработки Microsoft Visual Studio, или коротко IDE Visual Studio.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
��1 &#x/MCI; 0 ;&#x/MCI; 0 ;МИНИСТЕРСТВО ОБРАЗОВАНИЯ
И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
ФГБОУ ВПО МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ
СТРОИТЕЛЬНЫЙ УНИВЕРС
ИТЕТ»
А.А. Казанский
ОБЪЕКТНО
ОРИЕНТИРОВАННОЕ
ПРОГРАММ
РОВАНИЕ
VISUAL BASIC 2010
VISUAL C# 2010
В СРЕДЕ РАЗРАБОТКИ
MICROSOFT
VISUAL
DIO
Учебное пособие и практикум
Москва 2012
��2 &#x/MCI; 0 ;&#x/MCI; 0 ;УДК
681.3
(07)
ББК
32.973.26я73

Р е ц е н з е н т
доктор технических
наук
В.В. Серов

(ФГБОУ ВПО МГУТУ им. К.Г. Разумовско
»);
кандидат технических наук,
доцент
В.С. Варников
(ФГБОУ ВПО МГСУ»)
Казанский, А.А.

14

Объектно
ориентированное программирование на Visual
Basic
2010 и Vis
C# 2010 в среде разработки Microsoft Visual Studio
: учебное пособие и
прак
тикум
/ А.А. Казанский ; М−во образован
ия и науки Росс. Федерации,
ФГБОУ ВПО Моск. гос. строит. ун−
т».
– Москва : МГСУ, 2012. – 424
с.
ISBN 978-5-7264-0660-2
Предложена методика
последовательного освоения современного объектно−
ориентированного программирования
, рассчитанная на применение методов на
практике
. Прив
едены
теоретические сведения, необходимые для выполнения
заданий. Дано
подробное описание лабораторных работ, примеры выполнения
работ, вопросы для самопроверки и варианты индивидуальных занятий по каждой
теме.
Рассм
ена
о
бъектная модель, дающая
возможность описывать как
элементы управления графического интерфейса (командные кнопки, текстовые
поля, веб−браузеры), так и реальные объекты (мосты, дороги, студенческие группы
и т.д.).
Для студентов, обучающихся по специальностям 2031
02, 230104, 220301,
080502 (
дисциплин
а Информатика») и по специальностям 231300, 151600
дисциплин
а Алгоритмические языки и программиров
ание»
).
УДК 681.3(07)
ББК
32.973.26я73
ISBN
978−5−7264−0660−2 © ФГБОУ ВПО МГСУ», 2012
��3 &#x/MCI; 0 ;&#x/MCI; 0 ;Введение
Visual Studio
является средой разработки, основанной на
компонен
тах
тех
ноло
гиях
для создания современных
компьютерных
приложений.
Эта среда эффективно
используе
ся
при
разработке
научных, промышл
енных и эко
номических проектов.
Первая
версия Vi
ual
Studio
была выпущена компанией
Microsoft
в 1995 г., а уже в 2002 г.
появилась и программная платформа .
NET
Fram
ework.
Языки программирования Visual Basiс 2010 и Visual C# 2010 используют общую
интегрированную сред
у разработки (IDE), которая упрощает создание программных
продук
тов. Кроме того, в этих языках доступны функциональные возможности платформы
.NET Framework, которая позволяет получить доступ к ключевым технологиям,
упрощаю
щим разработку веб
приложений ASP
и XM, а также настольных и мобильных
приложений. Эта среда непрерывно со
вершенствуется.
Основой платформы .NET Framework является общеязыковая среда CLR
, которая
управляет кодом во время выполнения и предоставляет основные службы, такие как
упра
ление
пам
ятью, управление потоками,
удаленное взаимодействие
а также
обеспечивает безопасность и надежность
. Код, который обращается к среде выполнения,
называют управляемым
а код, который не обращается к среде выполнения
неуправляемым.
Вт
рая часть
платформы .
NET Framework

библиотека классов
представля
ет
объ
ектно
ориентированную коллекцию типов, которые применяются для
разработки приложений, начиная от обычных, запускаемых из командной строки или с
графическим интерфе
сом пользователя, и заканчивая приложения
ми, использующими
последние технологич
ские возможности ASP.NET, таки
как Web Forms и веб
службы
XML.
ипы .NET Fr
amework позволяют решать ключевые
задачи программирования,
включая работу со строками, сбор данных, подключения к базам данных и доступ к
йлам
. Кроме этого,
лиотека классов содержит типы, поддерживающие многие
специализированные сценарии разработки.
Обычно
плат
форма
.NET Framework
применяется
для разработки следующих типов при
ложений и служб:
приложения с графическим интерфейсом пользователя Windows (Windows Forms);
приложения
Windows Presentation Foundation (WPF);
приложения ASP.NET;
веб
службы;

службы Windows;

консольные приложения;
сервисно
ориентированные приложения с помощью Windows Communication
Foundation (WCF);
приложения
, п
оддерживающие бизнес
−процессы Windows Workflow Foundation
(WF).

омпания
Microsoft
разработала новую идеологию
програм
мирования,
получившую
название
NET
. Главная идея этой идеологии состоит в том, что программирование
пер
стает быть средством работы на о
тдельном компьютере и становится инструментом
для р
боты в компьютерных сетях и Интернете.
При работе на сети особую важность
приобрета
ет вопрос безопасности выполне
ния программ. Данная идеология
выводит
программирова
ние на новый уровень использования мето
дов разработки программ и
использования возможностей ко
пьютера и Интернета.
Visual
Basic
2010,
так
же как язык Visual
С#
2010
и другие языки
Visual
Studio,
позв
т очень эффективно решать научные
, технические и экономические
задачи с
большим количеством
числовых операций.
С его появлением стало гораздо легче создавать
код для решения сложных математических задач.
Появляется возможность округления
��4 &#x/MCI; 0 ;&#x/MCI; 0 ;чисел с з
данной точностью, появились
новые беззнаковые целые типы данных и новый
числовой тип данных
Decimal
, который подходит для сложных финансовых расчетов.
Созданы
сре
дства для преобразования двумерных координат из прямоугольной системы в
полярную или наоборот
. Теперь гораздо легче работать с трехмерными координатами как с
единым об
ъектом и гораздо проще осу
ществлять преобразования между прямоугольными,
сферическими и цилиндрическими к
ординатами.
Работу с комплексными переменными на Visual
Basic
2010
нетрудно сделать
поня
ной и
естественной, если перегрузить стандартные математические операторы.
Можно за
мети
ть, что создание подобных программ на С
потребует гораздо больше
усилий.
Visual
Basic
2010
является очень продуктивным языком для разработки
быстродейс
вующих математических процедур на базе .NET
Framework, реализу
ющих
громоздкие чи
словые задачи
. Кроме э
того
Visual
Studio
обладает самыми современными
сре
ствами для разработки графического интерфейса пользователя, средствами для
программирова
ния баз данных по технологии
NET
и средствами создания веб
сайтов
веб
страниц
c помо
щью
нового визуального ин
струмента
Web
Develoπer
, использующего
технологию
ASP
NET
В пособии будет рассмотрен инструмент разработки приложений для операционной
системы
Windows,
Web
и других сред,
интегрированный в среду разработки
Microsoft
Vis
al
Studio .
NET
2010, который назыв
ается Visual
Basic
2010
(его также называют
Visual
Basic
.
NET
2010).
Для простоты восприятия материала
и более быстрого освоения среды разработки
первые две работы
настоящего пособия хотя и используют
Visual
Basic
2010, но
содержат
только один класс (кла
сс
Form
1), который создается автоматически
. Однако, начиная с
третьей работы
использована идеология об
ъектно
−ориентированного программирования
бующая написания собственных классов
.
��5 &#x/MCI; 0 ;&#x/MCI; 0 ;Часть
. ПРОГРАММИРОВАНИЕ НА VISUAL BASIC 2010
1
Освоение интегрированной среды разработки
Microsoft
Visual
Studio
.
Работа с переменными и арифметическими выражениями на языке
Visual
Basic
2010
.
��6 &#x/MCI; 0 ;&#x/MCI; 0 ;инте
рфейс пользователя
(
graπhical
user
interface
). Это очень важно, поскольку обычно
бывает трудно разобраться в большом объеме поступающей информации.
Сл
ово
Basic
означает язык про
граммирования, проше
дший
длинный путь развития и в настоящее время
явля
щийся
объектно
ориентированным
языком программирования, основанны
м на
событ
иях.
События
(
events
)
могут создаваться пользователем либо возникать при
взаимодей
ст
вии объектов в процессе выполнения приложения. Типичными событиями
являются: ще
чок мыши
(
Click
),
нажатие кнопки
(Button_
Click
),
загрузка формы
(
Load
),
создание на фо
ме изображений
(
Paint
изменение
значения
заданной переменной,
наступление заданного в
мени и т.п.

В этой работе необходимо
научиться запускать
Visual
Studio
и понять принципы
ис
польз
ования
IDE
для открытия и выполнения программ на
Visual
Basic
2010
Необходимо также научиться изменять программные установки, называемые
свойствами
а также
читься перемещать, изменять размеры, закреплять и скрывать все необходимые
инструменты, которые исполь
зуются в разрабатываемом проекте.
После запуска Visual
Studio
на экране появляется стартовая страница (
Start
Page
) —
ис.
1.1.1.
Рис. 1.1.1
Чтобы
войти
в
среду
разработки
IDE
надо
щелкнуть
ссылке
New
Project
(
Создать
проект) и в
раскрывшемся
окне
выбрать
Visual
Basic
−>
Windows
Forms
Application
ложение
Windows Forms). В нижней строке этого окна в строке
Name
(Имя)
надо
напеч
тать имя проекта (
по умолчанию
проекту
присваивается имя
WindowsApplication1
)
и щелкнуть на кнопке
Если же необходимо работать с уже созданным ранее проектом,
��7 &#x/MCI; 0 ;&#x/MCI; 0 ;то надо щелкнуть на ссылке
Open
Project
и выбрать в появившемся окне имя нужного
проекта, раскрыть папку и за
грузить файл решения.
В
Visual
Studio программа
разработки
называется
проектом
или
решением
,
посколь
ку она
содержат много отдельных компонентов,
а
не только один файл. Программы
Visual
Basic
2010
включают файл проекта (.
vbπrog
) и файл решения (
sln
). Фа
йл пр
оекта
содержит сведения об одном или нескольких проектах.
Создание любого проекта обычно начинается с
разработки
дизайна формы (или
не
скольких форм), который позволяет пользователю взаимодействовать с компьютером в
процессе в
ыполнения проекта. Формы Windows
представляют собой важную часть .
NET
Framework, которая используется для создания интерфейса пользовател
ьского
приложе
я.
Форма по существу является окном, через которое пользователь видит на экране, что
происходит в процессе работы приложения. Фор
ма позволяет вводить данные, видеть
происходящие события и получаемые результаты.
Понимание принципа
работы
форм и
умение их создавать крайне важн
о при разработке приложе
ния.
Форма
представляет собой рисунок
на котором создается интерфейс
программы. На
том рисунке можно печатать текст, рисовать фигуры и размещать
элементы управления
ontrols
), с которыми пользователь может
взаимодействовать
.
После входа в среду разработки (IDE) на экране появляется так называемый д
зайнер
форм (
Designer
);
все создаваем
в проекте файлы показаны в
Solution Explorer
(Обозр
вателе решений). Эта среда может выглядеть по
разному
: окна, из которых она
состоит
могут помещаться в разные места экрана, изменять свои размеры и их можно
просто убрать с эк
рана. Наиболее удобное их
расположение показано на
ис.
1.1.2.
Дизайнер форм можно также вызвать на экран выбрав View
−>
Designer
, или
нажатием
клавиш
Shift
+F7.
Рис.
1.1.2
Если на экране нет панели инструментов (
Toolbox
), то для получения доступа к ней
надо в строке меню выбрать View

Toolbox
или одновременно нажать на клавиатуре
Форма
Обозреватель решений
Панель инструме
нтов
Окно свойств
��8 &#x/MCI; 0 ;&#x/MCI; 0 ;Ctrl
Alt
+X
. Если нет окна свойств (
Properties
window
), то надо выбрать
View
−>
Proπerties
ndow
или нажать клавишу
F4.
Создание
графического
интерфейса начинается с
добавления элементов управления
на форму. Предварительно надо увеличить размеры формы, растянув ее вправо
и вниз.
За
тем необходимо перетащить при помощи мыши требуемые элементы в то место формы,
которое
предназначается
каждого
элемента.
В данной работе использу
тся три вида
элементов:
La
bel
(для отображения на форме текста),
TextBox
(для отображения данных) и
командные кнопки
Button (для программных кодов).
Используя окно свойств (
Proπerties
window),
можно установить многие свойства элементов, такие как цвет, размер, имя и
по
зиции элементов на форме. Если элемент не требуется, то его можно пометить и удалить,
нажав клавишу
elete
Каждый элемент управле
ния имеет различный набор
с
войств в
зависимости от действия, к
оторое с ним связано.
Некоторые свойства являются универсальным
и, например,
название (Name
).
Даже
форма, которая являет
ся элемент
ом
управления, имеет это
сп
ециальное
свойство.
Можно
изменять имена, которые даются элементам по умолчанию, но при этом в им
ни не должны
использоваться пробелы.
Существует несколько способо
в
использования
в приложении программны
х кодов.
Один из этих способов
связывает
требуемый код с командной кнопкой
Button
. Для это
надо дважды щелкнуть в дизайнере на командной кнопке. После этого откроется новое
окно, называемое
Редактором кода
(Code
edi
tor). Там уже будет некоторый код
(написанный самой системой)
и курсор установится между двумя линиями, задающ
ми
начало и ко
нец процедуры
Button1_
Click
Между этими линиями кода и нужно напечатать
требуемый код.
Private
Button1_
Click
ByVal
sender
System
Object
ByVal
e
_
System.EventArgs) Handles Button1.Click
<
Код
пользователя
>
End Sub
Таким способом создается процедура
, которая будет выполняться
после запус
ка
приложения и щелчка мыши на
кнопке
But
ton
1. Подобные процедуры называются
обработчиками событий
. Для
данного случая событием будет щелчок мыши на кнопке
Button
(событие
Button1_
Click
).

Запуск приложения можно выполнить
либо нажав функциональную клавишу
F5
либо выбрав в пункте меню Debug
к
оманду
Start
Debugging
(Отладка/Начать отладку), либо
щелкнуть на кнопке
панели инструментов
среды Visual
Studio
NET
Создание программного кода должно начинаться с определения типов всех
пользуемых пер
менных.
Типы данных делятся на структурные и ссылочные.
Переменные структурного типа хранят данные непосредственно, а переменные ссылочного
типа хранят в памяти не сами данные, а ссылки на них.
В
Visual
Basic
2010
типы данных являются классами и имеют собственные поля,
свойства, методы и событи
я. В
табл
. 1
представлены так называемые
примитивные типы
данных
(типы
примитивы)
Т а б л и ц а 1
Тип да
ных
Описание
Пример
Integer
Целое число, размер которого
4 байта
знач
ние между
–2, 147, 483, 648 и 2, 147, 483,
Вещественное чи
сло (32
битное
с плаваю
щей
Single
точкой)
, кото
рое
может содержать знач
ние
между
3.4028235
38 и 3.4028235
Вещественное число
с плавающей точкой
, 64
3.1415926535
Double
разрядное, содержит
значение от
1 до
1.79769313486231
Byte
Целое число
, 1 байт
может содержать значение
от 0 до 255
Decimal
Числ
а с десятичными знаками со знач
нием в
диапазоне
1.0 × 10
−28
и ±7.9 × 10
10966.2592
String
Последовательность
или
строка
волов
Hello
Char
Один
символ
'h'
Boolean
Логическое
значение, которое может быть либо
True
, либо
alse
True
Object
разрядные любого типа
может храниться в
переменной тип
ject
В русифицированных версиях
Visual
Studio 2010
целая часть числа отделяется от
дробной не точкой, а запятой.
еременные
рают важную роль в программировании.
Имя переменной может быть
буквой или комбинацией букв и цифр
. При со
здании компьютерных программ
пе
ременные
могут использоваться для хранения чисел
например
, в
ысота здания
)
или слов, таких как
имя пользователя. Попросту говоря, можно использовать переменные для представления
любой необходимой информац
Имеются три шага при
работе с
переменной:
Объявление
переменной
. Необходимо объявить имя переменной и ее тип.
Присвоение значения
Использование переменной
.
Для объявления переменной используется ключевое слово
Dim
, например
Dim
a
Integer
.
Эта
строка кода указывает программе
что будет использована
переменная с именем
a, и
она будет иметь целый тип
. Если
необходима
переменная
со значением
232.5,
напр
мер
применяется
тип
данных
Single
или
Double
. И если нужно сохранить
екст, то
примен
ется
тип
данных, называемый
String
ипы переменных можно
не объявлять, для этого в начале программного кода
проекта надо установить для опции компилятора
Oπtion Exπlicit
значение Off
(откл
чить
ее)
, что делается при помощи оператора
Option
Explicit
Off
.
На уровне проекта по умолчанию для этой опции установлено значение
и п
оэтому
оператор Oπtion
Exπlicit
нужно задавать
только тогда, когда известно, что эта опция
была ранее отключена. Однако отключать эту опцию не следует, поскольку объявление
типов переменных обеспечивает более надежную работу программы.
Повысить надежность программы может и опция
Oπtion
Strict
, которая по умол
чанию
отключена, т.е. установлена в Off. Для ее включения необходимо в начале программы
за
писать оператор
Option
Strict
.
После этого компилятор будет проверять, чтобы все значения, присваиваемые
пер
еменным, соответствовали типам, объявленным для этих переменных.
��10 &#x/MCI; 0 ;&#x/MCI; 0 ;Например, пусть опция
Oπt
ion
Strict
отключена и имеется программа
Dim a As Integer
a = InπutBox("
Введите
значение
В этом случае программа будет нормально работать, а необходимое преобразование
будет выполнено
автоматически по умолчанию, если вводимое значение не превысит
ачения, допустимого для типа
Integer
(т.е. будет меньше
2, 147, 483, 648).
Если же
будет включена опция
Oπtion
Strict
, то
гда
компилятор выдаст сообщение об
ошибке, где будет сказано, что оператор
Oπtion
Strict
не позволяет
выполнить неявное
преобразование символьного значения
(поскольку InπutBox
всегда выдает символьное
чение) в целочисленное значение, которое имеет переменная
a.
Для преобразования величин имеется много способов, некоторые из ни
взяты из
едыдущих верс
ий языка
Visual
Basic
;
так
например, можно использовать функцию
Val
()
a
Val
(InπutBox
("Введите значение
")).
Для преобразования числа в символьную переменную можно использовать функцию
Str
()
— например, когда надо преобразовать числовую перем
енную в символьную, для
последующей ее записи в текстовое окно, значения которой имеют символьный тип
Tex
tbox1.
Text
Str
(A
).
В
то же время для преобразования примитивных типов данных
несомненно
более
предпочтительными являются методы, представленные ниже
:
Т а б л и ц а 2
CBool( )
CDbl( )
CShort( )
CByte( )
CDec( )
CSng( )
CChar( )
CInt( )
CLng( )
CDate( )
CObj( )
CStr( )
Каждый из этих методов
имеет
в качестве аргумента любой другой примитивный тип
и преобразует его в тип, указанный в имени данного метода.
Так, метод
CStr
( ) преобразу
ет
примитивный тип в символьный
, метод
CSng
( )
в вещественный, метод
CInt
( )
целочисленный тип. Например, переменная вещественного типа а может быть
образована в целый тип (Integer
) одним из
следующих способов:
Dim a As Single = 45.678
Dim d As Integer
d = CInt
(a),
или
d = Convert.ToInt32
(a).
Опции
компилятора Oπtion
Exπlicit
, Oπtion
Strict
, Oπtion
Infer
можно устанавл
вать не
тольк
о в программе.
Установить их
можно и в главном окне среды разработки, для э
того
надо выбрать команду меню Project
и в ней свойства
(Proπerties) проекта. Откроется окно
общих настроек п
роекта, в котором надо выбрать
вкладку
Comπile
(
омпилиро
вать»)
раскрывшемся окне
установить параметры компиляции (
Comπile Oπtions
).
Это окно можно также открыть, если в
Обозревателе решений (
Solution Exπlorer)
дважды щелкну
ь на
Project
.
Далее в
приведенной ниже таблице предлагает
частичный список математических
ме
дов (функций)
в классе
System
Math
. Аргумент
в таблице представляет собой
либо
число
, либо переменную, либо
выражение.
При использовании любой из этих ф
ункций необходимо в форме
едакторе кода
поместить объявление
Import
s
System
Math
��11 &#x/MCI; 0 ;&#x/MCI; 0 ;Т а б л и ц а 3
Метод
Цель
Abs(n)
Возвращает абсолютное значение n.
Atan(n)
озвращает арктангенс в радианах
Cos(n)
Возвращает косинус угла
. Угол выражается в радианах
Exπ(n)
Возвращает
экспоненту
Sin(n)
Возвращает синус угла
Угол выражается в радианах.
qrt(n)
Возвращает квадратный корень
из
Tan(n)
Возвращает тангенс угла
гол выражается в радиан
ах.
Log(n)
Возвращает натуральный логарифм.
Pow(n, m)
Возвращает
RND
Возвращает с
лучайное число на отрезке
[0,
Если не включить предыдущее
Imports
заявление,
то
вызвать любой метод

напр
имер,
Abs
(n
)
— можно,
если ввести
Math
Abs
(n)
вместо
просто
s(n).
Visual
Basic
имеет следующие арифметические операторы:
Т а б л и ц а 4
Оператор
Описание
Сложение
Вычитание
Умножение
Деление
Целочисленное деление
MOD
Остаток
от
деления
Возведение в степень
Сцепление
строк
(конкатенация)
Одна из особенностей Visual
Basic
2010
состоит в том
, что можно использовать
укороченные операторы
для математ
ических и строковых операций
(как в языке С++)
Например, можно написать формулу X
X + 10 с помощью короткого с
интаксис
а X
+= 10.
В
табл
. 5 показаны эти опера
:
Т а б л и ц а 5
Операция
Обычный с
таксис
Короткий с
интаксис
Сложение
+ 10
+=10
Вычитание
= 10
Умножение
* 10
= 10
Деление
X = X / 10
X / = 10
Целочисленное деление
X = X
= 10
Возведение в степень
X = X ^ 10
X ^ = 10
Конкатенация
X = X &
СТРОКА
X & =
СТРОКА
��12 &#x/MCI; 0 ;&#x/MCI; 0 ;Visual
Basic
2010
позволяет использ
овать
любое количество
арифметических
опер
аторов в
формуле. Например, имеется
следующее
математическое выражение:
a+b
c+d
В этой
формуле 4 переменные и 3 оператора. Порядок выполнения этих операторов
очень важен и при написании программы это должно быть учтено. В данном примере и
числитель
и знаменатель должны быть заключены в круглые скобки. Если, д
пустим, нет
скобок в знаменателе, то числитель будет разделен на с, а потом к результату будет
бавлено
, что не позволит
олучить
правильное значение
t. Поэтому на
Visual
Basic
должно быть записано так
:
t
= (
a+b
)/(
c+d
).
Скобки
необходимы
и в следующем выражении
:
a+b
t1=.
cd
В
Visual
Basic
2010 оно будет будут записано
так
: T1 = (a+b
)/(
c*d
).
Сл
едует также отметить, что корень степени
n (n > 2) могут быть представлен в форме
n
n
а затем Visual
Basic
2010 он программируется как x^(1/n
).
В
табл
. 6 перечислены операторы
в порядке их выполнения в соответствии с
приори
тетом
.
Т а б л и ц а 6
Оператор
Приоритет выполнения
( )
Значения в
круглых скобках всегда вычисляются
раньше всего
Возведение в степень имеет второй приоритет
Умн
ожение и деление имеют третий
приоритет
Целочисленное деление
имеет четвертый
приорит
MOD
Остаток
от
деления
пятый
Сложение и вычитание
последн
ыражение
м
является сегмент
ом
кода, который выполняет арифметические де
ствия
и затем возвращает значение. Например
простое вычитание
: 12 – 5.
Оно возвращает
значение 7
состоит
и
з двух частей: операндов
(12 и 5), которые
яв
ляются значения
оператора
вычитания
– ).
Иногда бывает удобно при описании типа переменной сразу задать и ее начальное
значение, которое также может быть выражением, например
Dim
a
Integer
= 12 – 5.
десь
объявляется новая
переменная типа
Integer
с именем а
и одновременно ей
сваивается значение
12 – 5.
Типы переменных, которые используются в выражении
могут оказывать влияние на
его результа. Например, если разделить 3 на 2, то результат будет раве
н 1.5. но
это
знач
ние
округляется до 2, поскольку возвращаемое значение является целым числом типа
Integ
er
ассмотрим
следующий
пример
��13 &#x/MCI; 0 ;&#x/MCI; 0 ;Dim A AS Double = Textbox1.Text
Dim B As
Double = Textbox2.Text
MsgBox (A + B): MsgBox (A −
B)
:MsgBox(A * B): MsgBox(A / B)
ервые две строки представляют собой объявление переменных
A и B; при этом A
В будут иметь числовой тип
Double
и получат значения
, которые читаются из элементов
управления
TextBox1 и TextBox2.
В третьей строке
отображаются на экране в диалого
вых окнах при помощи функции
MsgBox
результаты четырех операций: сложения, вычитания, умножения и деле
ния.
Для того чтобы операторы этих четырех строк были выполнены,
надо поместить на
форму кнопку Button
1, дважды щелкнуть на ней и в редакторе кода напечат
ать их в
проце
дуре данной кнопки.
Затем нажать
5 для запуска приложения. После этого ввести
числ
вые значения А и В в соответствующие текстовые окна и щелкнуть на кнопке
Button1. Результаты будут последовательно появляться в диалоговых окнах.
ЛАБОРАТОРН
АЯ РАБОТА № 1
Целью
работы является ознакомление с типами
данных и
правилами
построения
арифметических выражений, а также приобретение практических навыков работы в
инте
грированной среде
разработки Visual
Studio.
Вопросы, которые
должны быть изучены
:
Со
здани
е простого приложения
на Visual
Basic
.
Создание нового проекта.
Доба
вление элементов управления на форму
роектирование интерфейса.
Объявление переменных
Присвоение
значений переменным
Использование переменных
Порядок
выполнения операций в
выражении
Использование значений, возвращенных выражениями.
Арифметические операторы
.
реобразование числовых переменных в текст
.
Преобразование
числовых типов данных.
Построение
арифметических выражений
Зад
ание
Выбрать
вариант
индивидуального задания из
абл
. 7.
Написать
код программы для
математического выражения
Запустить Visual
Studio 2010.
Выбрать в меню опцию
File
и
затем
New
Pr
ject
В окне
New Project
выбрать
Online
Temπlates
и
затем
Windows
Forms
Aππlica
tion
В
поле
Name
ввести
Arithmeti
и нажать
кнопку
Открывается
новый пр
ект
з панели элементов
Toolbox
перетащите на форму требуемые элементы
управл
ния.
Двойным щелчком на элементе
Button
открыть код
Редактор
кода».
В процедуру события
Button
Click
ввести требуемый
код. Новая
форма
отобража
ет в
IDE
все файлы, необходимые для проекта.
Если это первый созданный проект
��14 &#x/MCI; 2 ;&#x/MCI; 2 ;Windows
Forms
Aππlication
, то
он называется
WindowsAππlication
1 (его можно
переименовать
— до
пустим,
Arithmetic
).
В
меню
Debug
Visual
Basic
IDE
нажать
кнопку
Star
t Debugging.
Эта команда
запуск
ет
программу.
запуска программы можно также нажать клавишу
F5
или
щелкнуть на пиктограмме в виде треугольника, находящейся в верней части экрана.
Получить результаты
на
компьютере.
Проверить правильность полученных рез
ьтатов.
Написать отчет
.
Индивидуальные задания
Т а б л и ц а 7
Формула
2.34
–5.61
x∙y –
ctg(
+12) ∙
1.23
–5.56
6.15
6.3)(
−+
xxy
7.3
22
)6.1220
lg(
1)(8.7
ex
yx
−⋅+
++⋅
6.78
3.45
+
7.81
–3.44
1.45
–5.23
–12.4
0.78
0.93
ctg
+ln
1.81
3.65
21.7
0.25
1.76
+
127.4
0.45
0.27
+
–12.7
+
+
–4.77
3.92
+
ctg
+
+
)
4.13
+
(x+5∙
)
–4,8
–6.12
��16 &#x/MCI; 0 ;&#x/MCI; 0 ; &#x/MCI; 1 ;&#x/MCI; 1 ;Соде
ржание от
чета
Название
от
чета
.
Титул
ный лист.

Индивидуальное зад
ние.
4. Запись математической формулы на язы
ке
Visual
Basic
2010.
5. Форма проект
а с элементами
управления.
Результаты выполнения приложения.

Доказательство правильности
работы программы.
Пример
выполнения индивидуального
задания
Задание на разработку
проект
Создание приложение для вычисления следующего
математического
выраж
= 12,6 и
y = 7.34,
где
x, y —
исходные данные
тип
Sing
z —
результат выражения
Решение
оздать
новый проект (
New
Project
);
оздать графический интерфейса пользователя
;
становить
свойств
а
элементов управления
;
написать программный код для
вычисления
математического
выражени
я;
апустить
программу
Visua
l
Basic
и получить результаты
;
ровести анализ результатов.
Когда
создается
новый проект,
то он существует только в
оперативной пам
яти. При
закрытии интегрированной
среды
разработки Visual
Basic
2010
, появится запрос на
сохра
нение или удаление этог
о проекта (
save
or
discard
). Если проект необходимо
сохранить, то надо выбрать
save
, при этом имеется возможность
дать ему другое имя
.
Обычно на экране компьютера видна одна форма, однако проект может состоять и из
нескольких форм,
и при этом они все наход
ят
ся в одном окне. В то же время можно
закрывать окно с одной формой и переходить в окно с другой,
и таких перех
одов можно
делать сколько угодно.
12.4
189∙sin
+ 1.3∙
+
12.9
0.55
+
��17 &#x/MCI; 0 ;&#x/MCI; 0 ;Блок−
схема алгоритм
а
для этой задачи
представлена на рис.
1.1.3.

Рис.
1.1.3
Интерфейс пользователя, созданный в Дизайнере для данной задачи с названиями
всех использованных элементов управления, показан на
ис.
1.
1.4
Кнопки представляют
собой прямоугольники, которые видны на форме. Можно установит
ь их ра
меры, цвет и
внешний вид. Для этого надо установить их свойства
(
Properties
).
Наиболее очевидным
является свойство Text
, которое о
пределяет текст на экране
отображает его в
установле
нном
шрифте
или начертании шрифта, определяем
ом
свойством
Font
Свойство
BackColor
определяет цвет элеме
та.
В этой работе установлены свойства, как показано в табл.
8.
Параметры показаны в
кавычках
кавычки набивать не надо
).
Т а б л и ц
8
Объект
Свойство
Параметр
Bu
ton1
Text
Start
Bu
ton2
Text
Quit
Label1
ext
Formula
Label2
Text
Label3
Text
y =
Label4
Text
Result
Tex
Box1
Multiline
False
Tex
Box2
Multiline
False
Tex
Box3
Multiline
True
tureBox1
Image
Image File
Form1
Font
Text
Microsoft Sans Serif; 14,25 πt
Creating Arithmetic E
πress
ions
Для создания
Image
File
надо в редакторе Word
напечатать
формулу и скопировать ее
в Paint
, оттуда сохранить на
диск
c
расширением .
jπg
, запомнить имя и затем
импортир
вать файл в PictureBox
1 (Choose
Image
Local
Resource).
Ввод
exit
Вывод
Рис.
Написание програ
ммы
Visual
Basic
2010
Строка кода в
программе
Visual
Basic
называется
программным предложением
(
или
оператором
). Программным предложением
является любое сочетание зарезе
вированных
слов
Visual
Basic
имен объектов, переменных
, чис
ел, специальных символо
в и других
величин
образующих
инструкцию,
смысл
которой способен распо
знавать
компилятор
Visual
Basic
2010.
Переменная
представляет собой
временное размещение данных в
программе. Для объявления
переменной в
Visual
Basic
2010
необходимо ввести
имя
пе
ременной после
Dim
. Эта декларация резервирует место в памяти для переменной
, а
также задает ее тип.

Следующая инструкция
объявит
три переменные
Dim x, y, z
As Single
Все переменные
имеют один тип
Single. (Можно объяв
лять любое количество
пер
менных
в одной строке.)
Одним из способов ввода
входных данных является
использование функции
InputBox
;
для этого надо присвоить переменной значение данной функции. При этом
стовое значение функции
InπutBox необходимо
конвертировать
в числовое (
Single)
при
помощи метод
а
CSng
( )
. Числовые значения
x, y, z
для пересылки в текстовые окна
(TextBox.
Text
)
преобразуются в символьные при помощи метода
CStr
( ).
Преобразование
выполнять необходимо, поскольку включена
опция
Oπtion
Strict

ис.
1.1.5).
Рис.
1.1.5
Результат в
ыполнения приложения
показан на рис.
1.1.6.
Рис.
1.1.6
Сравн
ение результата 212.3597, полученного
путем ручного расчета, с результ
том
на
компьютере
казывает правильность составленного
алгоритма.
��20 &#x/MCI; 0 ;&#x/MCI; 0 ;Т е м а 2
Освоение интегрированной среды разработки
Mi
crosoft
V
isual
S
tudio
Работа с элементами управления, меню и панелями
инструментов. Программирование процедур
unction
Изучение этой темы позволит:
астраивать параметры IDE
;
еремещать и изменять размеры инструментов Visual
Studio;
спользов
ать
Toolbox при создании программ;
спользовать технику структурного программирования и переменные типа
Public
при создании проце
дур;
рименять открытые переменные
Public, имеющие глобальную область види
мости;
величивать продуктивность программ путем созд
ания процедур типа
Function
Sub;
применять
синтаксис вызова и использования пользовательских проц
дур;
передавать аргументы
процедур по значению;
аботать с элементами управления Scrollbar
;
спользовать таймер.
Непрерывное развитие компьютерных технолог
ий приводит к тому, что для
сохранения необходимого уровня программисты должны переучиваться каждые несколько
лет. Рост технических возможностей компьютера открывает новые области его
применения, что также требует создания новых средств компьютерных техноло
Для решения этой проблемы компания
Microsoft в 2002 году создала платформу .
NET
Framework
это
выдающийся результат в сфере создания компьютерных технологий
который
объединя
т в себе все лучшее из существующих в настоящее время с
стем.
Основная идея
концепции .
NET
Framework
состоит в том, что различные
программные приложения предлагаются пользователю как сервисы, способные
взаимодействовать друг с другом
в соответствии с конкретными решаемыми задачами
,
доступны на самых разных устройствах
— от мощного компьютера до мобильного
телеф
на.
Графические средства этой платформы используются для построения
пользовател
ьского интерфейса программ Microsoft
Visual
Basic
2010
. Элементы
управления
распол
женные на форме
обычно используются для создания действи
й,
вызываемых простым щелчком мыши
или какими
либо другими ее движениями.
Все
объекты имеют свои собс
твенные свойства, методы и события. Это относится и к формам и
к элементам управл
ения.
Свой
ства
определяются как атрибуты объекта,
методы

как его
действи
я и
соб
тия
как реакция на действия. Построение пользовательского
интерфейса
(его видимой части, с помощью которой пользователи взаимодействуют с
системой)
представляет собой процесс добавления элементов управления с панели
инструментов на форму.
Панель
инструментов
Toolbox
обычно располагается с левой стороны Visual
Studio
состоит из
таких
элементов,
как
TextBox
Panel
Components
и всех форм Windows.
Эти
элементы могут быть добавлены в любое разрабатываемое приложение, для этого
дост
аточно просто пер
етащить
их на форму. Кроме этого,
пользо
ватель должен настроить
ные элементы, задавая их свойства.
Элемент управления
панель
(
Panel Windows
Form
) используется для группировки
других элементов управления. В процессе разработки приложения (в режиме
desig
)
все
элементы, помещенные в Panel
оказываются сгруппированными, т.е.
при перемещении
��21 &#x/MCI; 0 ;&#x/MCI; 0 ;панели в какое
−то место формы одновременно буду
т перемещаться и эти элементы.
Сам
элемент Panel
по умолчанию о
тображается без форм и границ. Элемент Panel
не имеет
заг
ловка для своей идентификации
и если такой заголовок требуется, то надо
использовать элемент
GroupBox
. Каждый э
лемент управления содержит код,
определяющий, как выглядят этот эл
мент
и какие задачи он выполняет. Например,
элемент управления
Button (
коман
дная кнопка
) для
больш
инства программ имеет
надпись
Start
или
Exit
. Можно изменить вне
ний вид элемента и программным путем, для
этого нужно написать свой собственный пр
граммный код в процедуре этого элемента.
Собственный программный код необходимо писат
ь и в том случае
если требуется, чтобы
соответствующий элемент управления в
полнял какие
либо заданные функции.
В данной работе необходимо освоить элемент управления
Scrollbar
(полоса
крутки
), который позволяет обеспечивать быстрый выбор и навигацию
в большом
списке элементов (как правило, этот список состоит из чисел, образующих
последовательность с з
данным шагом).
Имеются
HScrollBa
(горизонтальная) и
VScrollBar
(вертикальная) полосы
прокрут
ки (не следует путать
их
со встроенными в другие элементы управления
собст
венными п
олосами прокрутки). Набор событий, свойств и методов
элеме
нта
управления
ScrollBar
отличается от подобн
ых событий, свойств и методов встроенных
прокру
ток.
Рассмотрим некоторые свойства горизонтальной полосы прокрутки.
Свойство
Value
(по умолчанию равно 0) задае
целочисленное значение,
соответс
вующее
положени
ю
бегунка в
полосе прокрутки.
Перемещая бегунок слева
направо
но изменить значение
Value
от минимального до максимального.
Полученное
значение з
висит от положения бе
гунка полосы прокрутки, но оно
всегда находится внутри
диапазона
между
минимальным
максимальным
значениями,
заданными
пользоват
лем.
Когда пользователь нажимает кла
вишу
PAGE
или
PAGE
DOWN
или щелкает в
панели прокрутки слева от бегунка, значение свойства изменяется в соответствии со
знач
ем, установленным в свойстве
LargeChange
.
Текущее положение бегунка полосы прокрутки хранится в ее свойстве Value
и его
можн
о сделать значением переменной (например, р), как это показано в следующем
прим
ере

ис.
1.2.1).
p
=
HScrollBar
Value
Рис.
1.2.1
Бегунок находится в позици
и
минимального значения (
HScrollBar
Minimum
)
В этой работе необходимо создать проект для обработки числовых данных, исполь
зуя
процедуры типа
Function
Sub
. В
Microsoft
Visual
Basic
2010
все выполняемые опер
торы
должны быть помещены внутри некоторой процедуры.
��22 &#x/MCI; 0 ;&#x/MCI; 0 ;Для повышения эффек
тивности программирования могут быть созданы

модули,
также
опред
еляемые пользователем функции и процедуры
Function
Модули
представляют собой отдельные области в пределах программы, которые содержат
глобал
ные
Public
)
пере
менные, а также
функции и
Sub−процедуры. Необходимо понять и
читься использовать открыты
е (
Public
) переменные, которые особенно часто требуются
в больших проектах.
Для объявления глобальной переменной надо использовать ключевое слово
Public
, за
которым необходимо указать
имя переменной и ее тип.
Например, объявл
Public
x as
Integer
позволяет ввести открытую переменную целого типа с именем х.
Написание и вызов функции
Function
Функция
Function —
это группа инструкций,
расположенны
между
Function
End Function
. Операторы
функции могут обеспечивать
обработку текста, ввод или расчет некоторых числовых значение и т.п.
Аргументы
функции являются данными, используемыми в процессе вычисления
функции, и они должны быть з
аключены в круглые скобки и разделены запятыми.
Базовый синтаксис функции
выглядит так
:
Function
FName
([
аргументы
)
Tyπ
e
Операторы
функции
[Возвращаемое значение]
End
Function
Fn
ame
— это имя функции, которое вводит пользователь.
Тип
Type
) функции определяет возвращаемое значение. Если тип не объявлен, то по
умолчанию он будет объявлен как
Object
.
Каждый аргумент должен объявляться. Если аргумент объявлен с помощью
ключев
го слова
ByVal
(по значению), то тогда любые изменения этого аргумента в
функции не будут
возвращаться после ее выполнения. Однако с помощью
зарезервированного слова
ByRef
указывается, что переменн
ые должны быть переда
ны
процедуре по ссылке, и тогда любое изменение
переменной в процедуре передается
обратно в вызывающую программу. Поэтому необходимо использовать
ByVal
, когда не
требуется изменять аргумент в проц
дуре. В случае сомнения удобнее использование
зарезервированн
го слова
ByRef.
Предположим,
например,
что
нужно написать функцию
Func
, вычисляющую
сл
дующее выражение
:
cos
(x
)
sin
(x)
Эта
функция
будет
выглядеть
так
:
Function Func (ByVal x as Single) As Single
Func = x + Cos(x) – Sin(x)
End Function
В качестве альтернативы можно использовать синтаксис Visual
Basic
2008
возвр
щать значение в вызывающую процедуру с помощью инструкции
Return
:
Function Func (ByVal x as Single) As Single
Return x + Cos(x) – Sin(x)
End Function
��23 &#x/MCI; 0 ;&#x/MCI; 0 ; &#x/MCI; 1 ;&#x/MCI; 1 ;Надо помнить, что функция не может возвращать более одного значения.
Для вызова функции
Func
в со
бытийной процедуре используется инструкция,
анал
гичная следующей
:
Dim x, y As single
x = 5
y
Func
(x)
Если в приложении имеется элемент
TextBox1, то
вызов можно осуществить
следу
ющим образом:
TextBox1.
Text
Func
(x)
Написание и вызов подпрограмм
Процедура
Sub
аналогична функции
Function, за исключением того, что процедура Sub
не возвращает значение, связанное с ее
именем, и
может возвращать более од
ного аргумента.
Синтаксис процедуры
:
Имя процедуры ([
аргументы]
)
Операторы процедуры
End
Каждый аргумент должен объявляться как определенный тип. Если объявление не
сделано, то Visual
Studio
добавляет ByVal
для каждого аргумента. Объявления а
ргуме
тов
с помощью
ByRef
позволяет передавать обратно в вызывающую процедуру имеющиеся
изменения этих аргументов. Аргументы при объявлении и процедуры называют также
формальными параметрами.
Для вызова процедуры
Sub
в программе необходимо указать ее имя и
аргументы.
На
пример
:
Имя процедуры (аргументы)
.
При вызове процедуры
Sub
число и тип аргументов долж
соответствовать числу и
типу аргументов в процедуре
и аргументы должны
быть заключены в круглые скобки.
Более того, при вызове процедуры аргументы долж
ны быть записаны в том же порядке, в
аком они записаны при ее определении. Такая передача аргументов называется
позицио
нной
. Вместе с этим существует и другая возможность передачи аргументов
это
передача аргументов по имени. В этом случае порядок записи
аргументов не играет
акой роли.
Однако следует заметить, что принцип объектно
−ориентированного
программирова
называемый
полиморфизмом
, позволяет менять при обращении и
типы аргументов процедуры и их количество
и при эт
ом процедура будет по−
прежнем
выдавать правил
ные результаты.
Рассмотрим пример Sub
Найти площадь треугольника, заданного длинами его сторон, используя формулу
Герона.
Эта формула приписывается Герону из Алекса
ндрии
, однако она была известна
еще Архимеду
.)
Пусть
a, b, c —
длины ст
орон
треугольника
s — его пло
щадь.
Тогда формула имеет вид
s =
где
π = (a+b+c)/2 или периметр/2.
Пусть имя процедуры будет
triangle
. (Можно объявить процедуру в модуле, но в
нном примере это
объявление сделано в классе формы).
Эта
про
цедура
Sub
объявляется в
форме Form
1 и вызывается
в событийной процедуре
Button
Click
.
��24 &#x/MCI; 0 ;&#x/MCI; 0 ;Imπorts
System.Math
Public Class Form1
Private Sub
Button1_Click
(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Dim a, b
, c, s As Single
a = 5 : b = 6 : c = 3
triangle(a, b, c, s)


Вызов
процедуры
TextBox1.Text = s
End Sub
Sub
triangle
(ByVal a As Single, ByVal b As Single, ByVal c As Single, ByRef s As
Single)
Dim π As Single
π = (a + b + c) / 2
s = Sqrt(π * (π − a) * (π − b) * (π −
c))
MsgBox("s=" & s)
End Sub
End Class
Краткое описание некоторых терминов в этом разделе:
Method
— набор команд для выполнения какого−
либо дейст
вия.
— метод, который содержит набор команд некоторой процедуры и может
вращать любое количество аргументов.
Function
— метод, который содержит набор команд некоторой функции и может
вращать только одно значение.
Return

окончание выполнения S
или
Function
и возвращение значения для
функции.
Dim
— объявляет и определяет новую переменную.
Module
— блок кода, который не является классом, но может содержать методы Sub
Function.
ЛАБОРАТОРНАЯ РАБОТА № 2
Цел
работы является изучени
е про
цедур
Function, Sub
и модулей, а также
испол
ьзование простых линейных алгоритмов.
Вопросы, которые
должны быть изучены
:
1. Как
применяется Visual
Studio
IDE
?
2. Как изменить
свойства элементов управления?
3. Как
перемещать, изменять размеры, закреплять на
форме
и автоматически скрывать
инструменты окон?
4. Как сохранить изменения в проекте?
5. Как создавать функ
ции, определенные пользователем?
6. Как программируется процедура типа Function?
7. Как программируется
процедура типа
Sub?
8. Как вызываются
Funct
ion
Sub?
9. Как передавать аргументы по значению и по ссылке?
��25 &#x/MCI; 0 ;&#x/MCI; 0 ;Задание
Выбрать вариант индивидуального задания
.
Написать код программы для этого задания.
Запустить
Visual Studio 2010. В
меню
Visual Studio
File
елкнуть
New Project.
В окне
New Project
выбрать
шаблон
Windows Aππlication
В текстовом поле Name
ввести имя
lab2
и нажать кнопку
.
Открывается новый
проект Windows Forms.
Toolbox
перетащить элемент Panel
на форму.
Toolbox
перетащить в Panel
элементы HScrollBar1, Label1 и TextBox1 и за
дать
их свойства (в частности
свойство
dock).
Toolbox
перетащить
две
кнопки
Button
, три
Label
и три
TextBox
, размещая их
на форме ниже элемента Panel
.
Выбрать команду Д
обавить новый элемент» (Add
New
Item
) в меню
Project
Откроется диалоговое окно.
В
этом окне выбрать шаблон
Module
. Имя по умолчанию
Module1.vb
. Щелкнуть
на кнопке
Add
(Д
обавить
). Модуль отображается в редакторе кода, туда нуж
но
ввести
код про
цедуры
Sub.
Дважды щелкнуть
Button1
, чтобы открыть редактор кода этого эле
мента.
В процедуре
обработки события
Button
Click
вызвать процедуру модуля, ука
зав
ее имя и список
аргументов. После этого необходимо ввести код программы
цедуры
Button2 _
Click
и код процедуры
HScrollBar
Scroll
.
В
опции
меню
Debug
интегрированной
среды
разработки
Visu
Basic
нажать
кнопку
Start Debugging
Получить результаты на компьютере.
Доказать правильность результатов.
Написать отчет о проделанной работе.
Индивидуальные задания
Создать алгоритм простой линейной структуры. Пользовательский интерфейс должен
содержать следующие
элементы:
1. Элемент управления Panel
2. Два элемент
а
управления
Button.
3. Не менее трех элементов управления Label
4. Не менее трех элементов управления
TextBox.
5. Элемент управления HScrollBar
или таймер
Программная часть проек
та должна включать модуль и три процедуры обработки
со
бытий:
1. Sub Button1_
Click

для вызова пользовательской процедуры
Sub и отображения
результата в текстовых полях.
2. Sub button2_
Click

для завершения работы с использованием
MsgBox.
3. Sub
HScroll
Bar
Scroll
— для выбора числа.
Процедура Sub
HScrollBar
Scroll
предназначена для изменения (с помощью б
гунка)
параметра, который должен быть использован в процедуре модуля. Каждая л
абораторная
работа должна содержать открытые переменные
(Public
) и
опре
деляемые пользователем
процедуры
или
Function
. Процедура может быть определена в код программы в
форме, однако создание процедур в модуле является более полезным, поскольку в э
том
случае их
видимость распространяется на весь проект.
��26 &#x/MCI; 0 ;&#x/MCI; 0 ;Т а б л и ц а 9
Ввести два трехзначных числа
. В качестве изменяемого полосой
прокрутки параметра взять число
. Используя пользовательскую функцию,
найти пр
изведение первой и последней цифр для суммы
Ввести трехзначные числа
. Использовать э
ти числа в качестве нижней и
верхней границ полосы прокрутки. Выбрать число из этого диа
пазона и найти
сумму его цифр.
Ввести трехзначные числа
. Использовать эти числа в качестве нижней и
верхней границ полосы прокрутки. Выбрать число из этого диа
зона так,
бы среди его цифр
не было нулей, и найти произведение этих цифр.
Ввести целые числа
так, чтобы одно из чисел было в два раза больше
второго. Подобрать с помощью полосы прокрутки третье число c
так, чт
a,
b, c
образовывали треугол
ьник (т.е.
a + b > c, a + c > b, b + c > a
). Найти
площадь треугольника.
Ввести координаты двух точек (
) и (
). Подобрать параметр
так, чтобы
стало
b = d
. Написать функцию для вычисления расстояния между этими
точками
sqrt
((
+ (
). Вывести результат в текстовое о
но.
Ввести два натуральных числа
, при
. Подобрать параметр
так,
чтобы
a
стало больше
. Написать функцию для вычисления среднего
арифметического этих чисел. Вывести это значение, а также значение среднег
геоме
рического
в текстовые окна.
Ввести два натуральных числа
. Подобрать с помощью полосы прокрутки
такие значения, чтобы разность между средним арифметическим и средним
геометрическим была меньше единицы, а сами числа были бы не равны д
руг
другу. Для вычисления среднего арифметического использ
вать функцию.
Пусть
температуры по шкале Цельсия и Фаренгейта соответственно.
Известно, что
C = (5/9)*(F –
32). Для значений температуры по шкале
Фаренгейта от 20 до 80 вывести в текстовое окно соответствующие им
значения по шкале Цельсия. Использовать полосу прокрутки для изменения
темп
ратуры по шкале Фаренгейта.
Ввести трехзначные целые числа
). Использовать эти числа в
качестве нижней и верхней границ полосы прокрутки.
Выбрать число из этого
диап
зона и найти среднее арифметическое его цифр.
Ввести двузначные целые числа
. С помощью полосы прокрутки выбрать
этом диапазоне число
и вывести его в текстовое окно так, чтобы его
цифры
располагались в обратном
поря
дке (например, если
27, то надо в
вести 72).
Ввести двузначные целые числа
. С помощью полосы прокрутки выбрать
на этом диапазоне число
и вывести его в текстовое окно. Рассматривая это
число как радиус, вывести в другие окна длину окружности, площадь кр
га и
объем шара для этого радиуса.
Ввести
координаты двух точек плоскости (
) и (
).
с помощью полосы
прокрутки подобрать параметр d, при котором
а =
. Написать функцию для
расчета расстояния между эти
ми точками
()().
RCADB
=−+−
Показать результаты в текстовом поле.
Ввести два трехзначных числа
. Используя полосу прокрутки
под
брать в
диапазоне от
a до b
число
. При помощи пользовательской функции найти
сумму
первой и последней цифр числа
Ввес
ти трехзначные целые числа
. С помощью полосы прокрутки выбрать
на этом диапазоне число
и вывести его в текстовое окно так, чтобы его
ры располагались в обратном
порядке (например, если
234, то надо
вывести 432). Все окна, куда выводятся числ
а, должны быть раскрашены в
разные цв
та.
Используя три полосы прокрутки
ввести три различных числа
соответственно. Подобрать эти числа (перемещая бегунки полос) так, чтобы
значение
– 4∙a∙b∙c
было положительным числом. Выве
сти в текст
овые
поля на
денные значения
Имеется три положительных чис
. Два из них вводятся с помощью функции
InπutBox
(), а
третье
должно быть получено с помощью
элемента управления
HScrollBar. Найти среднее арифметическое квадратов этих чисел, а также
среднее геометрическое любых двух из них. Среднее геоме
трическое двух
чисел равно квадратному корню из них.
Найти величину определителя порядка
2=adbc
⋅−⋅
Переменные
дятся с
помощью текстов
ых окон, а величина переменной с
должна быть найдена при
использовании элемента HScrollBar
так что значение определителя будет
больше нуля.
Используя элемент управления
HScrollBar
control
, найти четырехзначное
число, все цифры которого образуют возрастающую последова
тельность.
писать каждую из этих цифр в отдельное текстовое окно.
Последовательность чисел, в которой каждый очередной член получается
добавлением одного и того же фиксированного
числа, называется
арифметической прогрессией. Используя элемент
Hs
croll
Bar
найти
четырехзначное число, цифры которого образуют арифметическую
последовател
ность.
Поместить две полосы прокрутки в середину формы. Установит
значение
одной из них равным
X
и другой
(0
< X < Y < 100). Используя про
цедуру
Sub,
найти сумму пер
вой цифры числа
и последней
цифры числа
Пусть А и В
трехзначные натуральные числа.
Используя полосу прокрутки
подобрать в диапазоне от А до В число Х. Создать функцию, которая
опреде
ляет сумму первой и последней циф
числа Х и умножает эту сумм
у на
цифру, находящуюся в середине числа Х
Используя
пример выполнения индивидуального задания №
2, создать проект
вычисления за
фиксированное время данного арифметического в
ражения
Y
+
Используя
пример выполн
ения индивидуального задания №
2, создать проект
для вычисления за фиксированное время корней квадратного урав
нения

10 = 0.
Используя
пример выполнения индивидуального задания №
3, создать
лабиринт, отличающийся от лабиринта в примере №
3; при этом
кнопка
Start
долж
на находиться в левом нижнем углу формы, а метка
Finish

в правом
верхнем углу. Кроме этого,
звук должен включаться и при достижении метки
Finish
Используя
пример выполнения индивидуального задания №
3, создать
лабиринт, отличающийся от лабиринта в примере №
3; кроме этого,
после
каждого касания стенки должен раздаваться звук и появляться окно, в котором
указывается
сколько еще остается касаний стенок
с сохранением возможности
дальнейшего прохождения лабири
та.

��28 &#x/MCI; 0 ;&#x/MCI; 0 ;Содержание отчета
:
название работы;
титульный лист;
индивидуальное задание;
программные коды модуля и процедур;
форма проекта с
элементами управления;
полученные результаты;
оказательство правильности программ.
Пример выполнения индивидуального задания
Задание на разработку проекта
Создать проект для решения следующей задачи:
Используя элемент управления
Hs
crollBar
отобразить в текстовом поле трехзначное
число
. Создать модуль и поместить внутрь подпрограмму процедуры, котор
ая реализует
алгоритм выделения цифр заданного числа. Все три цифры должны помещаться в
текст
овые поля.
Решение
1. Создать новый проект.
2. Создать графический интерфейс пользователя
3. Установить свойства элементов управления
4. Написать
программу процедуры Sub.
5. Запустить
Visu
al
Basic
и получить
результаты
.
6. Выполнить анализ результатов.
Новым элементом в этом проекте является создание и использование
модуля. Для
этого надо выбрать команду
Add
New
Item
(
Добавить новый элемент
) в меню Project
за
тем
шаблон
Module (
модуль
») (р
ис.
1.2.2).
Рис.
1.2.2
��29 &#x/MCI; 0 ;&#x/MCI; 0 ;Выбрать
модуль
в Solution Exπlorer. Поместить операторы процедуры между
ключе
выми словами
End Sub
и присвоить ей имя
digit
( )
. Для отделения каждой
ры х из числа
h надо использовать оператор
h
mod
x
, который нахо
дит остаток от
деления
на
, например
: 125
mod
10 = 5 и 125
mod
100 = 25.
Для определения всех трех
цифр необходимо написать следующий код
:
a
= (
Mod
1000) \ 100
b = (h Mod 100) \ 10
c = h Mod 10.
Блок−
схема
алгоритма
процедуры Sub
Button
Click

. 1.2.3).
Рис.
1.2.3
Событийная процедура для командной кнопки
Button
Click
включает в себя
диал
оговое окно
MsgBox
, в котором помещается информация о завершении программы,
либо ее продолжении (
want
exit
?).
Для этого на
до написать следующие строки к
:
Dim
n
Integer
n = (
"Do you want exit?", vbYesNo)
If n = vbYes Then
End
End If
При выборе дизайна проекта следует создать следующий графический
пользовател
ский интерфейс (р
ис.
1.2.4).
ачало
Вызов
цедуры
digit
(h, a, b, c)
ыход
TextBox2.Text = a
TextBox3.Text = b
TextBox4.Text = c
Рис.
1.2.4
Свойства для формы и ее объектов:
Т а б л и ц а 10
Объект
Свойство
Значение
Panel
Dock
Toπ
HScrollBar
1
Maximum
Minimum
SmallChange
Dock
Left
ton1
Text
Показать
цифры
числа
ton2
Text
Выход или продолжение
Lab
el1
Text
Dock
Пер
емещая бегунок подберите число
None
Label2
Text
первая цифра
Label3
Text
втор
ая цифра
Label4
Text
рет
ья цифра
Tex
Box1
Multiline
Dock
True
Right
Tex
Box2
Multiline
False
Tex
Box3
Multiline
alse
Tex
Box4
Multiline
alse
Form1
Font
Text
Microsoft Sans Serif; 14,25 πt
Writing Function and Sub Procedure
Программы на
Visual
Basic
2010
В меню
Project
щелкнуть на команде
Add
New
Item
Добавить новый элемент», затем выбрать в окне шаблонов (Temπlates
)
Module
нажать кноп
ку
Add
(
Добавить
). Новый модуль появится в редакторе кода. Напечатать
сл
едующий код процедуры
digit
между
Module
Module
End
Module

ис.
1.2.5):
Рис.
1.2.5
Далее надо перейти в редактор кода для формы. Для этого либо щелкнуть на вкладке
Form1.vb,
либо перейти в Д
изайнер (View
−>
Designer
)
и щелкнуть два раза мышью на
кнопке
Button1.
Все т
ри событийные
процедуры приводя
тся ниже. Переменные целого
ти
па Integer
h, а, b
c
объявлены как глобальные, поскольку они декла
рированы как
Public,
ис.
В
данной работе
опция
Ontion
Strict
по умолчанию установлена в Off
(отключе
на)
, и
все преобразования данных производятся автоматически
В подобных
случаях пользова
тель должен самостоятельно отслеживать корректность согласования
типов, что не вполне удобно
я сложных задач.
Рис.
1.2.6
��32 &#x/MCI; 0 ;&#x/MCI; 0 ;Следует заметить, что передача аргументов при вызове процедуры
digit
(h, a, b, c)
осуществляется позиционно, т.е
если при объявлении процедуры в модуле сначала
записывается шаг
h, а потом длины сторон a, b, c, то и при
ее
в
ызове в событийной
пр
оцедуре кнопки
Button1_
Click
соблюдается этот же порядок. Однако можно вызвать эту
процедуру и так, чтобы аргументы передавались по имени. Этот вызов может быть
напр
имер, таким:
digit(a
a, h
c, b
b)
При вызове одной
той ж
е процедуры можно использовать одновременно оба эти
способа, но тогда параметры, передаваемые позиционно
должны
быть
указаны первыми и
в том порядке, в котором они заданы при определении процедуры. Например, процедуру
можно вызвать так:
digit(h, a, c
c, b
b)
После того как создан интерфейс и напечатаны все процедуры, необходимо зап
стить
созданное
приложение. Для этого надо в опции
Debug
щелкнуть на Start
Debugging.
Запу
тить приложение можно также простым нажатием клавиши
F5
. После запуска на
экране до
лжен появиться созданный интерфейс. Используя бегунок полосы прокрутки,
распол
женный в верхнем левом углу формы,
до подобрать число, например 625,
нажать на кнопку Показать цифры числа»,
ис.
1.2.7.
Рис.
1.2.7
После нажатия кнопки 
Выход или про
должение
»
на экране появится диалоговое
окно
MsgBox
( ), в котором надо выбрать Да» или Нет», р
ис.
1.2.8:
Если щелкнуть на 
, то приложение заканчивает свою работу, если на Нет»
, то
можно снова перемещать бегунок для выбора нового числа.
Рис.
1.2.8
Пример выполнения индивидуального задания №
Задание на разработку проекта
Создать проект для решения следующей задачи:
Отобразить на форме арифметическое выражение, зависящее от
, с помощью
элеме
та
PictureBox
:
Используя элемент управления
Numer
icUpDown
, предназначенный для ввода
числ
вой информации и представляющий собой текстовое поле с двумя кнопками для
уменьш
ния или увеличения числа, помещаемого в это поле,
установить некоторое
значение
. Установить также таймер, который обрабатывает данные системных часов. Для
запуска таймера в момент, когда необходимо начать вычисление выражения, использовать
метод
Start
().
Ко
личество остающихся для вычисления выражения секунд должно
отображаться в сво
стве
Text метки, которой необходимо присвоить имя
imeLabel
.
После запуска приложения и нажатия кнопки Start
пользователь должен вручную
вы
числить выражение и занести его в тестовое окно
TextBox
1. Если результат верный, то
грамма выда
т об этом сообщение, если нет, или пользователь не уложился в заданно
время, то об этом также
будет
выдано соответствующее с
общение.
Создать модуль и
поместить внутрь подпрограмму−ф
ункцию
Function formula
ко
торая позволяет вычислить заданное выражение.
Решение
1. Создать новый проект.
2. Создать графический интерфей
с пользователя
3. Установить свойства элементов управления
4. Написать программы для всех процедур Sub.
5. Запустить
Visual
Basic
и получить
результаты
.
6. Выполнить анализ результатов.
��34 &#x/MCI; 0 ;&#x/MCI; 0 ;Создадим следующий графический пользовательский интерфейс (
ис.
1.2.9)
. На
ме имеется единственная кнопка управления
Button, которой присвоено имя startButton,
а ее свойству Text
присвоено значение Start
Если свойству элемента Enabled
присваивается
чение
False
, то он перестает быть активным; чтобы он был активен, это свойство должно
быть
True.
На форму та
же надо установить
Timer
1, он отображается в нижней части
конструктора формы. При запуске приложения этот элемент не виден. Если необходимо,
чтобы вр
мя менялось через одну секунду,
в свойстве таймера Interval
дол
жно быть
значение 1000 (интервал активизации таймера задается в миллисекундах).
Рис.
1.2.9
Программные коды модуля и класса формы.
Код модуля:
Module Module1
Public Function formula(ByRef x As Single)
Return 2 * x ^ 2 / (9 + (x − 2.5) * (x − 4.7) / (x + 4 + x / (x + 7)))
End Function
End Module
Код
класса
формы
Form1:
Public Class Form1
Private x, y, yk As Single
Private timeLeft As Integer
��35 &#x/MCI; 0 ;&#x/MCI; 0 ; Private Sub startButton_Click
ByVal sender As System.Object, ByVal e As
tem.
EventArgs) Handles startButton.Click
Start
()
startButton
.Enabled
False
‘Элемент становится недоступным
End Sub
Public Sub Start()
timeLeft = 25
'Задается 25 секунд, в те
чение которых в текстовое окно должно
быть
писано значение выражения
timeLabel
Text
"25 секунд"
Timer1.Start()
End Sub
Private Sub Timer1_Tick
(ByVal sender As System.Object, ByVal e As
stem.EventArgs) Handles Timer1.Tick
If timeLeft > 0 Then
timeLeft
= 1
timeLabel.Text = timeLeft &
сек
."
Else
Timer1.Stoπ()
x = CSng(NumericUπDown1.Value)
y = CSng(formula(x)) 'Обращение к функции, определенной в модуле
yk = CSng(TextBox1.Text)
If Math.Abs(y
− yk) < 0.1 Then
MsgBox("Найден правильный результат")
Else
timeLabel.Text = "Время закончилось!"
MsgBox("Вы не нашли ответ за отведенное время" & vbCrLf & "
Ответ =" & y)
End If
startButton.Enabled = True ‘
Активизация
командной
кнопки
End If
End Sub
End Class
Результат работы приложения
представлен на рис.
1.2.10.
Рис.
1.2.10
��36 &#x/MCI; 0 ;&#x/MCI; 0 ;Пример выполнения индивидуального задания №
Задание на разработку проекта
Создать проект для решения следующей задачи:
Используя метки (label
), построить на форме лабиринт. Также поместить на форме
элемент
Button
с текстом Start
и еще одну метку с текстом
Finish
, как показано на
ис.
1.2.11.
Рис.
1.2.11
Тре
буется переместить указатель мыши от кнопки Start
до метки
Finish
, при этом
допускается касание стенок лабиринта не более заданного числа раз. Необходимо также
со
здать модуль, где необходимо разместить процедуру route
()
для ввода допустимого числа
касания
курсором стенок лабиринта, процедуру
disπ
() для вывода в модульное окно
результ
перемещения по лабиринту.
Решение
В классе формы создадим следующие процедуры:
MoveToStart() для установления курсора в начальное положение, которое поме
щается
в позицию
(0, 0) кнопки
Start
wall
MouseEnter
() для включения звука (объект
startSoundPlayer
позволяет
запуска
ть
файл
C:\Windows\
Media
\chord.
wav
) и перемещения курсора к стартовой по
зиции.
wallFinish
() для окрашивания экрана в зеленый цвет и выдачи сообщения о
прохожде
нии лабиринта.
��37 &#x/MCI; 0 ;&#x/MCI; 0 ;Код модуля:
Код
класса
формы
Form1:
Public Class Form1
Private startSoundPlayer = New
Sysem.Media.SoundPlayer("C:\Windows\
Media
\chord.wav")
Public k As Integer = 0
Public n As Integer = 0
Private Sub MoveToStar
t()
Dim startingPoint = Button1.Location
startingPoint.Offset(0, 0)
Cursor.Position = PointToScreen(startingPoint)
End Sub
Private Sub wall_MouseEnter() Handles Label2.MouseEnter, Label3.MouseEnter,
Label4.MouseEnter, Label5.MouseEnter, Label6.MouseEnter, Label7.MouseEnter,
Label8.MouseEnter, Label9.MouseEnter, Label10.MouseEnter, Label11.MouseEnter,
Label12.MouseEnter,Label13.MouseEnter, Label14.MouseEnter, Label15.MouseEnter,
Label16.MouseEnter, Label17.MouseEnter, Label18.MouseEnter
If n <> 0 Then
If k < n Then
startSoundPlayer.Play()
k += 1
MoveToStart()
Else
disπ(k)
Close()
End If
End If
End Sub
��38 &#x/MCI; 0 ;&#x/MCI; 0 ; Private Sub wallFinish() Handles Label19.MouseEnter
If n <> 0 Then
Me.BackColor = Color.Green
MessageBox.Show(
Вы успешно прошли лабиринт
Close()
End If
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
stem.EventArgs) Handles Button1.Click
route(n)
MoveToStart()
End Sub
End Class
Резу
льтат работы приложения (р
ис.
1.2.12):
Рис.
1.2.12
��39 &#x/MCI; 0 ;&#x/MCI; 0 ;Т е м а
3.
ведение в объектно
ориентированное
программир
вание.
оздание классов и объектов.
рограммирование алгори
тмов
линейной структуры
Изучение этой темы позволит:
онимать термин
ологию объектно−ор
иентированного программирования;
оздава
ть классы, их методы и свойства;
со
здавать в классе новое свойство;
создавать в классе новый метод;
аботать с
объектами и ссылками на объекты;
понимать, что такое конструктор класса.
В последнее в
ремя становится необходимым при создании практических программ
умение понимать и использовать технику
объектно
ориентированного пр
граммирования
(ООП). Изменения, связанные с
ООП,
набирают силу
:
в последних версиях Visual
Basic
Visual
Basic
2010
перестал
и
отставать от языка С++
скольку
теперь он
и
также
поддержива
наследование

механизм, при котором один класс дает возможность
приобрести ин
терфейс и поведение
другого класса.
Классы явля
ются стандартными
блоками в программах
Visual
Basic
. При из
учении
классов имеется
потенциальная опасность непонимания из
за перегрузки терминологии,
вместе с тем в данной работе рассматривается материал,
в котором
предпринимается
по
пытка
свести к минимуму эти трудности.
Класс
в Visual
Basic
2010 —
это представлени
е или описание, которое определяет
структуру
какой
либо сущности реального мира
Класс является кодом,
определяющим
объект
;
используя класс
можно создать любое количество объектов, которые называются
эк
земплярами
instance
)
класса
.
Объект
— это код, созд
аваемый на основе абстракций рассматриваемой сущности
Это могут быть
существующие процессы или явления, или любые технические с
стемы,
или отношения, определяющие их поведение. Например, объек
том может быть
ектор
созданный на основе
реального лектора, т
акого как преподаватель Мос
ковского
универс
тета, или
объект
ом может быть
Файл
, представляющий файл
C:\bd.
mdb
на
стком диске
ко
пьютера.
Visual
Basic
2010
поддерживает все четыре основные определяющие концепции
, при
которых язык
становится пол
ностью объе
ктно
ориентированным.
Абстракция
— метод решения задачи, при котором объекты разного рода
объедин
ются общим понятием, а затем рассматриваются как элементы единой категории.
Абстра
ция
это просто возможность языка создавать код какого
либо понятия в виде
черного ящика»
для реализации этого поняти
я внутри программы. Например, можно
создать объект
Customer
(
лиент
»), который будет
являться абстрактным представлением
клиентов р
еального мира.
Инкапсуляция

техника, при которой несущественная с точки зрения интерфейса
объекта информация прячется внутри него. Основная идея инкапсуляции состоит в
разд
лении интерфейса и реализации, т.е. можно создавать интерфейс (методы, свойства,
соб
тия в классе)
,
и пока этот интерфейс существует, приложение может
взаимодействовать с объектами.
о будет выполняться, даже если
полностью переписать
код внутри какого−
то мет
да
таким образом, интерфейс не зависит от реализации.
��40 &#x/MCI; 0 ;&#x/MCI; 0 ;Полиморфизм

свойство, позволяющее использовать один и тот же интерфейс для
различных действий; по
лиморфной переменной, например, может соответствовать
несколько различных методов.
Наследование
представляет собой идею, что любой класс может получить инте
фейс
и поведение
созданного ранее класса.
В предыдущих работах под словом 
интерфейс
»
понимался гр
афический интерфейс,
однако этот терм
ин имеет более широкое значение
Интерфейс
определяется как
множес
тво методов (Sub−
или
Function−процедур), свойств (Proπerty−процедур), событий и
полей, которые объявлены как Public.
Например, имеется следующий код нек
оторого класса:
Public Function Routine () As Single
End Function,
тот метод объявлен с помощью ключевого слова
Public,
поэтому является частью
инте
рфейса и может быть вызван приложением, использующим объект этого класса.
Если же методы или свойства объявлены как
Private
, они не будут частью инте
фейса
и не
могут вызываться программами, написанными для использования
какого
либо
объекта
;
например
метод
chedule ()
может быть вызван только в код
е
класса, где он
объ
явлен
Private
Sub S
chedule ()
End Sub
В тоже время можно создать
еще один
метод
Routine
()
:
Public Sub Routine ()
Schedule ()
End Sub,
который позволит вызывать метод
chedule () за пределами класса, где он объя
лен.
В
этом случае удается вызвать
Private
метод
Schedule () изнутри Public м
етода.
Код в
нутри метода называется реализацией (
imπlementation
).
Интерфейс используется
для доступа к данным и поведению объекта. Клиентское
приложение можно рассматривать как объект
подобный черному ящику, с доступом к
нему только через интерфейс. Это к
лючев
ая идея
объектно
ориентированной концепции
,
именно ее называют инкапсуляцией. Идея состоит в том
, что любая программа, которая
использует данный объект
, н
е будет иметь прямого доступа к
его поведению или данным
;
более точно можно сказать, что програ
мма скорее имеет возможность использовать
инте
рфейс этого
объекта.
Инкапсуляция является синтаксическим
инструментом
она дает возможность
коду
выполняться без изменений. Однако это не
семантика
означающая, что если код работ
ет,
то это обязательно нужно.
Ва
жной частью объекта являю
тся его данные. Каждый экземпляр класса является
аб
солютно идентичным с точки зрения его интерфейса и его реализации; единственное, что
мо
жет изменяться
— это данные внутри этого конкретного объекта.
Поля
являются переменными,
которые объявляются с тем, чтобы они были доступны
всем кодам в пределах класса. Они будут доступными для каждого индивидуального
объ
екта, при запуске приложения. Каждый объект получает собственный набор данных
в о
сновном, каждый объект получает собствен
ную копию из полей.

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

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

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