Главная / Информатика / Лабораторный практикум «Visual Basic. Основы программирования» Теория Лабораторно-практические работы Задания для самостоятельного выполнения

Лабораторный практикум «Visual Basic. Основы программирования» Теория Лабораторно-практические работы Задания для самостоятельного выполнения

Название документа VB Лабораторный практикум 1 часть.doc

Государственное бюджетное образовательное учреждение

высшего профессионального образования Московской области

«Международный университет природы, общества и человека «Дубна»

(Университет «Дубна»)

Филиал ДИНО университета «Дубна»











ЛАБОРАТОРНЫЙ ПРАКТИКУМ

1 часть


Visual Basic. Основы программирования

Теория

Лабораторно-практические работы

Задания для самостоятельного выполнения















Дмитров 2012




Автор:

Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».











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

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



Содержание


Содержание 3

Предисловие 4

Основные понятия Visual Basic 6

Этапы создания Windows-приложений 6

Экран проектирования в системе Visual Basic 7

Объекты управления и их свойства 8

Основные свойства объектов управления 9

Свойства, используемые для управления формой 9

Основные объекты управления и их специфичные свойства 10

Наименование объектов Visual Basic 12

События 13

События, возникающие при работе с мышью 13

События, возникающие при работе с клавиатурой 13

События, связанные с фокусом 13

События, специфичные для объектов 13

Окно кода процедуры обработки события 15

Понятие метода в Visual Basic 16

Проект приложения 17

Структура проекта 17

Запуск проекта 17

Сохранение проекта 17

Открытие проекта 17

Компиляция проекта 18

Лабораторно-практические работы 19

Общие рекомендации по выполнению работ 19

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1 20

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2 22

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3 24

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4 26

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5 28

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6 30

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7 32

Задания для самостоятельного выполнения 34

Задание № 1 34

Задание № 2 34

Задание № 3 35

Задание № 4 35

Задание № 5 35

Задание № 6 36

Задание № 7 36

Задание № 8 36

Список использованной литературы 37

Приложение 38




Предисловие


Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное Лабораторный практикум может быть полезен преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.

Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.


Лабораторный практикум ( часть 1 )состоит из трех основных разделов:

  1. Теория «Основные понятия Visual Basic”

В этом разделе описываются базовые понятия, позволяющие программистам новичкам понять основы Visual Basic. Этом материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять практические работы.


  1. Лабораторно-практические работы по теме «Основные объекты управления и их свойства»

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

Каждая выполненная работа должна быть сохранена.


  1. Задания для самостоятельного выполнения

Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.


Как работать с пособием.


Для правильной работы необходимо иметь:

  • Операционную систему Windows 95 или более поздней версии;

  • Visual Basic 5.0. и выше;

  • Процессор Pentium 166 MHz и выше;

  • 5 MB HDD и более;

  • Драйвер CD ROM;

  • Монитор VGA или более высокого разрешения;

  • 16 MB RAM;

  • Мышь.

При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.


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

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

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



Основные понятия Visual Basic

Visual Basicодин из первых языков программирования, поддерживающих событийно-управляемое программирование. Основной смысл событийно-управляемого программирования следующий: вместо скрупулезного описания каждого шага Вы лишь указываете, как реагировать на различные события (действия пользователя): выбор команды, щелчок в окне, перемещение мыши и т.д. Вы создаете не одну большую программу, а приложение, состоящее из набора взаимодействующих микропрограмм (процедур), управляемых пользователем.

Visual Basic – это среда разработки приложений под Windows, в которую включено все, что необходимо для создания, модификации, тестирования, корректирования и компиляции ваших программ.

Слово Visual «визуальный» (наглядный) означает способ разработки пользовательского интерфейса программы.

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


Этапы создания Windows-приложений

  1. Постановка задачи – составление по возможности точного и понятного словесного описания того, как должно работать будущее приложение, - что должен делать пользователь в процессе его работы.

  2. Разработка интерфейса – создание экранной формы (окна приложения) со всеми находящимися на этой форме объектами и свойствами этих объектов

  3. Программирование – определение того, какие события будут происходить в процессе работы приложения, составление алгоритмов процедур для этих событий и написание программных кодов этих процедур.

  4. Отладка – устранение логических ошибок в процедурах и достижение того, чтобы приложение удовлетворительно работало в среде проектирования.

  5. Сохранение проекта и компиляция (создание исполняемого приложения).

Экран проектирования в системе Visual Basic


После загрузки Visual Basic на экране отображается несколько окон, положением и размерами которых можно управлять.

Экран содержит окна:

  1. Строка меню

Меню содержит команды, используемые при работе Visual Basic . кроме стандартных меню File, Edit, View, Window, Help, здесь расположены меню, обеспечивающие доступ к функциям программирования, например, Project, Format, Debug

  1. Панель инструментов (Toolbars Standard)

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

  1. Форма ( Form )– окно будущего приложения

  2. Панель элементов управления (Toolbox)

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

  1. Окно свойств (Properties)

Перечисляет установленные свойства для выбранной формы или элемента управления.

  1. Окно проводника проекта (Project Explorer)

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







Объекты управления и их свойства

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

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

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

Элементы управления – это объекты, содержащиеся внутри объекта - Форма. Каждый тип элемента управления имеет свой собственный набор свойств, методов и событий, что делает его пригодным для определенной цели.

Свойства в Visual Basic - количественно измеряемый атрибут объекта (элемента управления или формы). Значения свойств можно задать на стадии проектирования в окне свойств. Активизировать окно свойств, можно по-разному:

  • в строке меню View / Properties Window

  • кhello_html_m3bc50c42.pngлавиша F4

  • кнопка на панели инструментов


Установка значений свойств объектов


Значения свойств объектов можно менять двумя способами:

  • при проектировании:

В каждый момент проектирования только один объект является выделенным (активным). Он окружен рамкой из восьми маркеров. В окне свойств отображается список свойств именно активного объекта. Новое значение свойства вводится в окне свойств.

  • при выполнении приложения:

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


ИмяОбъекта.Свойство=Значение


Получение значений свойств


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


Переменная=ИмяОбъекта.Свойство

Основные свойства объектов управления


Свойство

Назначение

Name

Имя объекта

Caption

Заголовок

Visible

Видимость

BorderStyle

Стиль границ

FontBold

Полужирный шрифт

FontItalic

Курсив

FontName

Тип шрифта

FontSize

Размер шрифта

FontUnderline

Шрифт подчеркнутый

Enabled

Доступ

Left

Координата по горизонтали

Top

Координата по вертикали

Height

Высота объекта

Width

Ширина объекта

BorderColor

Цвет фона

ForeColor

Цвет шрифта

BorderColor

Цвет границ

FillStyle

Стиль заполнения

MousePointer

Вид курсора при наведении на объект


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


Свойство

Назначение

MinButton

MaxButton

Наличие кнопки минимизации окна

Наличие кнопки максимизации окна

KeyPreview

Определяет, вызываются ли процедуры обработки события клавиатуры формы перед событиями клавиатуры элементов управления

Left

Top

Определяют местоположение формы по отношению к левому верхнему углу экрана монитора

Icon

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

WindowState

Состояние окна после загрузки приложения

Auto Redraw

Определяет возможность автоматического перерисования

ClipControls

Определяет необходимость перерисовки всего объекта или появляющейся части

ControlBox

Определяет наличие кнопки системного меню на форме

DrawWidth

Определяет ширину рисуемой линии (точки)

ScaleHeight, ScaleWidth

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

ScaleLeft, ScaleTop

Определяет координаты верхнего левого угла

Основные объекты управления и их специфичные свойства


Пистограмма / Назначение

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


hello_html_m6a5f28ea.png


Командная кнопка (CommandButton)

Default при значении True командная кнопка определена как кнопка по умолчанию, т.е. при нажатии Enter она будет нажата.

Cancel определяет как кнопку отмены по умолчанию т.е. при нажатии Esc она будет нажата.

Style стиль, принимает два значения: стандартный и графический

Если стиль Graphical, то можно менять свойства:

Picture картинка

DownPicture- картинка внизу

DisabledPicture- картинка если у кнопки нет доступа


hello_html_2f87b164.png


Текстовое окно ( TextBox ) – экранная область, в которое можно вводить текст

MaxLength максимальная длина, если значение нуль, то можно вводить любое кол-во символов

Multiline значение False запрещает ввод более одной строки, значение True – разрешает ввод нескольких строк после нажатия Enter

ScrollBars наличие (1, 2, 3) или отсутствие (0) линеек прокруток в текстовом поле

Text текст, отображаемый в поле.

Locked блокировка редактирования

Следующие свойства доступны в режиме выполнения

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

SelLength количество выделяемых символов

SelText определяет выделенный текст


hello_html_m5ea90ac2.png


Метка ( Label ) – применяется для отображения текста, который пользователь не может редактировать

Alignment выравнивание

AutoSize автоподстройка размера. При значении True размер метки подгоняется под размер текста, заданный свойством Caption. Если значение False метка сохраняет размер, установленный при проектировании

WordWpar перенос слов

BorderStyle стиль границ


hello_html_19b64a0a.png


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

Value показывает выбран переключатель или нет
Style стиль, изменение вида переключателя

Если стиль Graphical, то можно менять свойства:

Picture картинка

DownPicture- картинка внизу

DisabledPicture- картинка если у переключателя нет доступа



hello_html_m616ee032.jpg


Флажок (Check Box) - для организации выбора типа да/нет. Работают независимо друг от друга, пользователь может установить любое их число одновременно.


hello_html_m29809653.png

Рамка (Frame) для объединения объектов в группы


hello_html_m723abd82.png


hello_html_m639cf6d4.png

Линейки прокрутки

( Scroll bar ) горизонтальная и вертикальная действуют совершенно одинаково. Эти объекты позволяют узнавать о позиции движка (scrollbox), кроме того контролировать диапазон действия линейки прокрутки и дискретность перемещения движка

LargeChange определяет величину, которая добавляется или вычитается из значения Valueпри щелчке внутри линейки прокрутки

Max число, определяющее крайнюю правую или нижнюю позицию

Min число, определяющее крайнюю левую или верхнюю позицию
SmallChange -определяет величину, которая добавляется или вычитается из значения Value при щелчке на одной из стрелок на концах линейки прокрутки

Value число, которое отражает текущую позицию движка на линейке


hello_html_m2692733d.png


Таймер ( Timer) – это объект, способный инициировать события через регулярные промежутки времени

Interval число (от 0 до 65535), определяющее интервал времени в мс между двумя событиями. Интервал, равный нулю, отключает таймер


hello_html_594d5279.png


Линия (Line) –для вычерчивания линий на поверхности формы. Не поддерживает никаких событий.

X1, Y1 координаты левого края линии

X2, Y2 координаты правого края линии

BorderWidth толщина линии

BorderStyle стиль линии


hello_html_3755ea.png


Список (ListBox)-предоставляет список возможных вариантов выбора, позволяет ограничить ввод элементами списка

Style стиль списка

Sorted сортировка элементов списка

List позволяет заполнить список на стадии проектирования

ListIndex определяет положение выбранного элемента списка

ListCount определяет количество элементов списка

Text элемент списка или строка, введенная пользователем


hello_html_42d5bac.png


Комбинированный список (ComboBox) Совмещает возможности списка и текстового окна, содержит редактируемое поле


hello_html_m75fe61df.png


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

Может выполнять функции контейнера для других элементов управления.

Picture позволяет выводить растровую картинку (.bmp), либо значок (.icon)

AutoSize автоподстройка размера


hello_html_78eeaae8.png


Изображение (Image) – для размещения графической информации в определенных участках формы. Удобно использовать в статической среде (не предполагается изменение)

Picture позволяет выводить растровую картинку (.bmp), метафайл, файлы JPEG или GIF либо значок (.icon)

Stretch Растягивать. Если значение True картинка подгоняется под размер элемента управления.


hello_html_m501f254c.png


Контур или фигура (Shape) для вычерчивания контуров в виде прямоугольника, окружности, овала, квадрата, прямоугольника, квадрата с закругленными углами

Shape тип контура

FillStyle стиль заполнения

BorderStyle стиль границ контура

BorderWidth толщина контура


hello_html_5d1d2fe4.png


Список файлов( FileListBox) позволяет узнать, какие есть файлы на дисках системы и выбрать один из них

Pattern определение шаблона для списка файлов

Следующие свойства определяют тип отображаемых файлов

Archive архивный

System системный

Hidden скрытый

ReadOnly только для чтения


hello_html_6b11b5ff.png


Список каталогов (DirListBox) позволяет узнать, какие есть каталоги на дисках системы и выбрать один из них

Path позволяет установить или получить текущий каталог


Наименование объектов Visual Basic


При изменение имени (Name) объектов Visual Basic рекомендуется использовать следующую простую схему:

  • начинать название с трехбуквенного префикса;

  • использовать только буквы, цифры и знак подчеркивания ( _ );

  • использовать не более 40 символов.

Создатели Visual Basic рекомендуют начинать название с трехбуквенного префикса в соответствии с типом объекта. Например, у вас может быть командная кнопка с названием cmdCancel и форма frmMain. Рекомендуемые префиксы перечислены в табл.


Объект

Рекомендуемый префикс

Форма

Frm

Флажок

Chk

Комбинированное окно

Cbo

Командная кнопка

Cmd

Окно данных

Dat

Список каталогов

Dir

Список дисков

Dsk

Рамка

Fra

Сетка

Grd

Горизонтальная линейка прокрутки

Hsb

Изображение

Img

Метка

Lbl

Линия

Lin

Список

Lst

Меню

Mnu

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

Opt

Окно рисунка

Pic

Фигура

Shp

Текстовое окно

Txt

Таймер

Tmr

Вертикальная линейка прокрутки

Vsb

События

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

Программы на Visual Basic управляются событиями, другими словами – действия пользователя вызывают выполнение различных процедур. Работает это примерно так: программа ждет, пока пользователь не сделает что-либо, т.е. пока не произойдет событие; затем программа реагирует на это событие, запуская соответствующую процедуру или процедуры, затем программа снова терпеливо ждет следующего события.

События, возникающие при работе с мышью


Событие

Описание

Параметры событий

Click

Щелчок


DblClick

Двойной щелчок


MouseDown

Кнопка мыши нажата

Shift – определяет статус клавиш Shift( 1 ), Ctrl( 2 ), Alt(4) ни одна кнопка не нажата - 0
Button – определяет статус нажатой кнопки (левая - 1, правая - 2, средняя–4,) X,Y – позиция указателя курсора

MouseUp

Нажатая кнопка мыши отпущена

MouseMove

Мышь перемещается из своей текущей позиции

DragDrop

Завершение перетаскивания

Source – ссылка на объект, который был перемещен, X,Y – позиция курсора

DragOver

«Буксируемый» объект попадает в область другого объекта

Stale – принимает значения

0 –область занята, 1–область свободна


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


Событие

Описание

Параметры событий

KeyPress

Нажата клавиша, соответствующая символу ASCII

KeyAscii- значение ASCII-кода нажатой клавиши

KeyDown

Нажата любая клавиша на клавиатуре

KeyCode – указывает нажатую клавишу

Shift – определяет статус клавиш Shift(1), Ctrl( 2 ), Alt(4)

KeyUp

Отпущена любая клавиша


События, связанные с фокусом


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

Событие

Описание

GotFocus

Получении фокуса

LostFocus

Потеря фокуса


События, специфичные для объектов


Событие

Описание

Для какого объекта характерны

Load

UnLoad

Загрузка

Закрыть форму

Форма

Resize

Изменение размера

Форма, Картинка

Change

Изменение

Текстовое окно, Полосы прокрутки, Список каталогов

Комбинированный список,

Scroll

Прокрутка

Полосы прокрутки, Список, Комбинированный список, Список файлов, Список каталогов

Timer

Истечение интервала времени

Таймер

Окно кода процедуры обработки события


Любой объект можно связать с набором процедур, исполняемых в строго определенные моменты. Процедура (procedure) – это группа операторов языка. Исполняется процедура – исполняются ее операторы. Так или иначе, весь составленный вами исполняемый код обязательно помещается в какую-нибудь процедуру. Процедура, присвоенная объекту, связана с определенным событием и поэтому называется процедурой обработки события. Важно отметить, что с одним объектом могут быть связаны несколько событий.

Имя процедуры обработки события для элемента управления составляется из имени элемента управления (Name), знака подчеркивания ( _ ) и имени события.

Для открытия окна кода процедуры существует три способа:

  1. двойной щелчок по объекту

  2. клавиша F7

  3. в меню выбрать View / Code


hello_html_m8370e4c.gif

  1. список объектов формы

  2. список событий объекта

  3. процедура


Процедуры по умолчанию не делают ничего; они состоят лишь из объявления процедуры (Sub)и оператора, помечающего конец процедуры (End Sub)

Программный код вводится между строками Private Sub и End Sub


Понятие метода в Visual Basic


Visual Basic предоставляет большое количество встроенных процедур и функций (функции – это особый класс процедур, которые возвращают значения аргументов). Эти процедуры и функции описаны в справочной системе или документации на систему программирования.

Процедуры и функции уже не одно десятилетие являются неотъемлемой частью любого языка программирования. Лишь сравнительно недавно, когда появились языки, поддерживающие объектно-ориентированное программирование, были ведены особые типы процедур и функций, названные методами. Методы «работают» как процедуры и функции, но принадлежат конкретным объектам, так же как и свойства. Методы объекта определяют те задачи, которые может выполнить данный объект.

Чтобы вызвать метод, надо указать имя объекта и через точку имя метода.

Некоторые методы предусмотрены практически для всех типов объектов, другие же более специфичны. В таблице. приводится список основных методов, элементы управления, для которых они определены, и краткое описание действия.


Название метода

Элементы управления, для которых используются методы


Описание действия

Addltem

ListBox, ComboBox

Добавление элемента в список

Circle

Form , PictureBox

Рисование дуги, эллипса или окружности

Clear

ListBox, ComboBox

Удаление всех элементов списка

Cls

Form, PictureBox

Очистка от графических элементов или текста

Drag

Все, кроме Line, Menu, Shape, Timer

Перемещение объекта

Hide

Form

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

Line

Form, PictureBox

Рисование линии или прямоугольника

Move

Все, кроме Timer и Menu

Перемещение элемента

Point

Form, PictureBox

RGB (red-green-blue) цвет точки

PopupMenu

Form

Вывод всплывающего меню в заданной точке формы

Print

Form, PictureBox.

Печать строки на объекте

Pset

Form, PictureBox.

Точка на объекте

Refresh

Все

Немедленная перерисовка на экране

RemoveItem

ListBox, ComboBox

Удаление элемента списка или ячеек в сетке

Scale

Form, PictureBox.

Координаты объекта

SetFocus

CheckBox, ComboBox, CommandButton, FileListBox, Form, HscrollBar, ListBox, OptionBiitton. PictureBox, TextBox. VScrollBar

Установка курсора

Show

Form

Вывод формы на экран

ZOrder

Все

Расположение на переднем или заднем плане


Проект приложения

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


Структура проекта


При создании приложения в Visual Basic программист работает с проектами. Проект (project) - это набор файлов, используемых для построения приложения. В этот набор входят:

Файл формы(для каждой формы) – содержит описание формы и ее элементов управления, включая установленные значения свойств, а также используемые в форме процедуры обработки событий. Файл формы имеет расширение .FRM

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

Файл проекта – содержит сведения о размещении всех других файлов проекта, имеет расширение .VBP.

Все файлы проекта могут быть объединены в один исполняемый файл (с расширением .EXE).


Запуск проекта


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

  • с помощью меню выбрать Run / Start

  • нhello_html_82f3862.pngажать клавишу F5

  • нажать кнопку запуска на панели инструментов

Сhello_html_5236388c.pngохранение проекта

Для сохранения следует выполнить File / Save Project или нажать кнопку на панели инструментов. Visual Basic сначала предложит сохранить форму, а затем проект.

В появившемся диалоговом окне :

  • установите диск и каталог назначения;

  • измените имя файла формы;

  • нажмите кнопку Сохранить

  • установите диск и каталог назначения;

  • измените имя файла проекта;

  • нажмите кнопку Сохранить


Открытие проекта

Дhello_html_m754301f7.pngля открытия существующего проекта следует выполнить File / Open Project или нажать на кнопкe панели инструментов. В появившемся диалоговом окне:

  • установите диск и каталог назначения;

  • выберите имя файла проекта;

  • нажмите Открыть


Компиляция проекта


Когда вы закончите разработку проекта, вы можете скомпилировать его, чтобы создать стандартный файл .EXE прикладной программы Windows. Эту программу можно будет запускать самостоятельно, без Visual Basic. Чтобы скомпилировать проект:

  • выберите File, Make EXE File

  • поменяйте, если надо, диск и папку назначения

  • в строке File Name введите требуемое имя

  • щелкните на Ok


Важное замечание: чтобы запустить вашу прикладную программу на компьютере, где не установлен Visual Basic , сначала надо скопировать файл VB5.dll в каталог Windows /System. Если ваш проект использует файлы специальных средств управления .OCX или .VBX, их тоже надо скопировать в каталог Windows /System.



Лабораторно-практические работы

Общие рекомендации по выполнению работ


  1. Перед выполнением первой работы создайте на диске свой каталог и в дальнейшем сохраняйте свои проекты в нем;

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

  3. Имена файла формы и файла проекта могут совпадать;

  4. Практические работы выполняйте в указанной последовательности;

  5. Имя объекта (Name) должно быть изменено (если это требуется) до создания программного кода для этого объекта

  6. В окне программного кода не удалять и не менять строки Private Sub и End Sub

  7. Самая распространенная ошибка , возникающая при выполнении приложения

«Run-time error ‘424’» означает, что неверно указано имя объекта в программном коде. В этом случае программу следует остановить, исправить ошибку и загрузить заново.




ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1


Тема: Основные объекты управления и их свойства

Цель: Получить навыки работы с объектами командная кнопка, метка, изображение


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

  1. Загрузите Visual Basic

  2. Установите на форме Метку и две Командных кнопки

  3. Измените свойства объектов в соответствии с таблицей


Объект

Свойство

Значение

Метка

Name

LblInfo


Caption

(отсутствует)

Командная кнопка

Name

CmdOkey


Caption

O&Key

Командная кнопка

Name

CmdCls


Caption

&Cls


  1. В окне кода процедуры обработки события Click для объекта cmdOkey набрать


LblInfo.Caption=”ПРИВЕТСТВУЮ ТЕБЯ, МОЙ ДРУГ”


  1. В окне кода процедуры обработки события Click для объекта cmdCls набрать


LblInfo.Caption=” ”


  1. Загрузите программу, проверьте работу кнопок двумя способами:

  • щелчком мышки по кнопкам

  • сочетанием клавиш Alt / K, Alt / С (в английском режиме)

  1. Остановите программу и измените свойства для кнопок в соответствии с таблицей


Для кнопки CmdOkey

Style

1-Graphical

BackСolor

(любой цвет)

MousePointer

99-Custom

MouseIcons

\Icons\Misc\Face03

Для кнопки CmdCls

Style

1-Graphical

BackСolor

(любой цвет)

MousePointer

99-Custom

MouseIcons

\Icons\Misc\Face01


  1. Проверьте работу программы. Остановите программу и измените свойства для кнопок в соответствии с таблицей


Для кнопки CmdOkey

Picture

\Icons\Misc\Misc34

DownPicture

\Icons\Misc\Misc36

Для кнопки CmdCls

Picture

\Icons\Misc\Misc06

DownPicture

\Icons\Win95\Waste


  1. Проверьте работу программы. Остановите программу. Добавьте на форму изображение (Image) и измените у него свойство Picture, выбрав любую картинку (которая еще не использовалась в этой программе)


  1. Для изображения Image1 добавьте программный код, который копирует картинку на командную кнопку:


cmdOkey.Picture=Image1.Picture


  1. В программный код cmdCls_Click() добавьте одну строку, которая убирает в кнопки картинку:


cmdOkey.Picture=LoadPicture


  1. Загрузите программу, проверьте работу измененной и созданной процедур.

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

  3. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2


Тема: Основные объекты управления и их свойства

Цель: Получить навыки работы с объектами метка, текстовое окно и рамка


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

  1. Загрузите Visual Basic

  2. Установите на форме следующие объекты и измените им свойства

Объект

Свойство

Значение

Метки

Caption

Ваше имя


Font

Размер 10, полужирный


Caption

Ваша фамилия


Font

Размер 10, полужирный


Name

LblHello


Caption

(отсутствует)


BorderStyle

1


Alignment

2

Командные кнопки


Name

CmdHello

Caption

Приветствие

Name

CmdCls

Caption

Очистить

Текстовые окна

Name

TxtFam

Text

(отсутствует)

Name

TxtName


Text

(отсутствует)

Рамка

Name

Frame1

Caption

(отсутствует)


  1. hello_html_197c2f2b.png
    Приведите свою форму в соответствие с образцом


  1. Самостоятельно измените значения свойств Backcolor, ForeColor, Font для меток и текстовых окон


  1. В окне кода процедуры обработки события Click для объекта CmdHello набрать


Frame1.Caption = "Приветствую тебя, о мудрейший"

LblHello.Caption = txtFam.Text + " " + txtName.Text


  1. В окне кода процедуры обработки события Click для объекта CmdCls набрать


Frame1.Caption = " "

LblHello.Caption = " "

txtName.Text = " "

txtFam.Text = " "


  1. Проверьте работу программы на различных входных данных. Остановите работу программы

  2. Установите для метки LblHello автоподстройку размера, для этого:

  • выделите метку

  • установите для свойства AutoSize значение True

  1. Проверьте работу.

  2. Остановите работу программы. Измените для свойства AutoSize значение False

  3. Установите блокировку редактирования для текстового окна TxtFam, для этого:

  • выделите текстовое окно

  • в окне свойств для свойства Locked установите значение True

  1. Проверьте работу программы.

  2. Остановите работу программы. Отмените блокировку (самостоятельно)

  3. Установите ограничение на количество символов для окна txtName, для этого:

  • выделите окно

  • в окне свойств для свойства MaxLength установите значение 10

  1. Установите разрешение на ввод нескольких строк для поля txtFam, для этого:

  • выделите поле

  • для свойства MultiLine установите значение True

  • для свойства ScrollBars установите значение 1 (2, 3)

  1. Проверьте работу программы.

  2. Добавьте на форму еще одну метку (LblInfo) и командную кнопку (cmdInfo)

  3. В окне кода процедуры обработки события Click для объекта CmdInfo набрать:


LblInfo.Caption = txtFam.SelText


  1. Проверьте работу программы:

  • введите любой набор символов в поле txtFam ,

  • с помощью мышки выделите произвольный фрагмент;

  • щелкните по кнопке cmdInfo

  1. Измените программу для кнопки cmdInfo


LblInfo.Caption = txtFam. SelLength


  1. Проверьте работу программы (см. п. 19)

  2. Сделайте еще одно изменение в этой же программе и проверьте работу


LblInfo.Caption = txtFam. SelStart


  1. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3


Тема: Основные объекты управления и их свойства

Цель: Получить навыки работы с объектами переключатель, флажок и рамка


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

  1. Загрузите Visual Basic

  2. Установите на форме следующие объекты и измените им свойства

Объект

Свойство

Значение

Рамки

Caption

Размер шрифта


Font

Размер 10


Caption

Начертание


Font

Размер 10

Переключатели

Name

Opt10

Caption

10

Name

Opt18

Caption

18


Name

Opt24


Caption

24

Флажки

Name

ChkItalic

Caption

Курсив

Name

ChkBold


Caption

Полужирный


Name

ChkUnder


Caption

Подчеркнутый

Текстовое окно

Name

Text1

Text

(отсутствует)


  1. Приведите свою форму в соответствие с образцом

hello_html_m7fea2767.png

  1. Самостоятельно измените значения свойств Backcolor, ForeColor, Font для объектов формы

  2. В окне кода процедуры обработки события Click для объекта Opt10 набрать


Text1.FontSize = 10


  1. Самостоятельно введите код для других переключателей

  2. В окне кода процедуры обработки события Click для объекта ChkItalic набрать


Text1.FontItalic = ChkItalic.Value


  1. Самостоятельно введите код для других флажков

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

  3. Остановите работу программы

  4. Установите на форму еще одну рамку «Цвет шрифта», разметите в ней три переключателя:

OptRed Красный

OptBlue Синий

OptGreen Зеленый


  1. В окне кода процедуры обработки события Click для объекта OptRed набрать


Text1.ForeColor=vbRed


  1. Введите код для других переключателей, используя встроенный константы vbBlue, vbGreen

  2. Проверьте работу программы. Остановите работу программы

  3. Измените стиль и цвет для переключателей в рамке «Цвет шрифта», для этого:

  • выделите переключатель OprRed

  • установите для свойства Style значение 1-Graphical

  • удалите значение в свойстве Caption у переключателя и уменьшите ширину

  • установите для свойства BackColor красный цвет

  1. По аналогии измените два других переключателя

  2. Измените стиль флажков в рамке «Начертание», для этого:

  • выделите флажок ChkItalic

  • установите для свойства Style значение 1-Graphical

  • удалите значение в свойстве Caption

  • для свойства Picture выберите любую иконку (VB\Graphics\Icons\…)

  • при необходимости измените размеры флажка

  1. По аналогии измените два других флажка (картинки все разные)

  2. Проверьте работу программы

  3. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4


Тема: Основные объекты управления и их свойства

Цель: Получить навыки работы с объектами горизонтальная и вертикальная прокрутка и линия


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

  1. Загрузите Visual Basic

  2. Установите на форме следующие объекты и измените им свойства


Объект

Свойство

Значение

Рамки

Caption

Толщина линии


Font

Размер 10


Caption

Стиль линии


Font

Размер 10

Горизонтальные прокрутки

Name

Hsb1

Left

500

Top

0

Width

4000

Max

4000

Min

500

LargeChange

100

SmallChange

10

Name

Hsb2

Value

4000

Left

500


Top

4300


Width

4000


Max

4000


Min

500


LargeChange

100


SmallChange

10


Name

HsbWidth


Max

10


Min

1


Name

HsbStyle


Max

6


Min

0

Вертикальные прокрутки

Name

Vsb1

Value

2000

Left

0

Top

0

Height

4000

Max

4000

Min

500

LargeChange

100

SmallChange

10

Name

Vsb2


Value

2000


Left

5000


Top

0


Height

4000


Max

4000


Min

500


LargeChange

100


SmallChange

10

Линия

Name

Line1


  1. Приведите свою форму в соответствие с образцом


hello_html_3629a0fc.png

  1. В окне кода процедуры обработки события Change набрать

для объекта Vsb1

Line1.Y1 = Vsb1.Value


для объекта Vsb2

Line1.Y2 = Vsb2.Value


для объекта Hsb1

Line1.X1 = Hsb1.Value


для объекта Hsb1

Line1.X2 = Hsb2.Value


для объекта HsbStyle

Line1.BorderStyle = HSbStyle.Value


для объекта HsbWidth

Line1.BorderWidth = HSbWidth.Value


  1. Проверьте работу программы, изменяя значения на прокрутках несколькими способами:

  • щелчок по одной из стрелок на концах линейки прокрутки;

  • перемещение «бегунка»

  • щелчок внутри линейки прокрутки

  1. Результат показать преподавателю.


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5


Тема: Основные объекты управления и их свойства

Цель: Получить навыки работы с объектами фигура, закрепить навыки работы с объектами переключатель, флажок, прокрутка


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

  1. Загрузите Visual Basic

  2. Установите на форме следующие объекты и измените им свойства


Объект

Свойство

Значение

Рамки

Caption

Выбери фигуру


Caption

Ширина границы фигуры


Caption

Стиль заполнения фигуры


Caption

Стиль границ


Caption

Цвет границ

Переключатели

Name

Opt1

Caption

Прямоугольник

Name

Opt2

Caption

Квадрат


Name

Opt3


Caption

Овал


Name

Opt4

Caption

Окружность

Name

Opt5


Caption

Прямоугольник с закругленными углами

Горизонтальные прокрутки

Name

HsbWidth

Max

20

Min

1

Name

HsbFillSt

Max

7

Min

0

Name

HsbBorderSt

Max

6

Min

0

Name

HsbRed

Max

255

Min

0

Name

HsbBlue

Max

255

Min

0

Name

HsbGreen


Max

255


Min

0

Фигура

Name

Shape1

hello_html_m3e196909.png

  1. Приведите свою форму в соответствие с образцом


  1. Самостоятельно измените значения свойств, Font для объектов формы

  2. В окне кода процедуры обработки события Change для объектов HSred , HsbBlue, HsbGreen набрать


Shape1.BorderColor = RGB(HSred.Value, HSgreen.Value, HSBlue.Value)


  1. В окне кода процедуры обработки события Click для объекта Opt1 набрать


Shape1.Shape = 0


  1. Самостоятельно введите код для других переключателей, меняя только число:

Квадрат 1

Овал 2

Окружность 3

Прямоугольник с закругленными углами 5



  1. В окне кода процедуры обработки события Change для объекта HsbWidth набрать


Shape1.BorderWidth = HsbWidth.Value


  1. Самостоятельно введите код для прокруток, которые меняют стиль заполнения фигуры и стиль границ

  2. Проверьте работу программы

  3. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6


Тема: Основные объекты управления и их свойства

Цель: Получить навыки работы с объектами изображение, картинка, таймер


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

  1. Загрузите Visual Basic

  2. Установите на форме следующие объекты и измените им свойства


Объект

Свойство

Значение

Рамки

Caption

Перемещение


Font

Размер 10


Caption

Изменение размера


Font

Размер 10

Командные кнопки

Name

CmdLeft1

Style

1-Graphical

Picture

Vb\Graphics\Icons\Arrows\Arrw04lt

Caption

(отсутствует)


Name

CmdTop1


Style

1-Graphical


Picture

Vb\Graphics\Icons\Arrows\Arrw04up


Caption

(отсутствует)


Name

CmdLeft2


Style

1-Graphical


Picture

Vb\Graphics\Icons\Arrows\Arrw04rt


Caption

(отсутствует)


Name

CmdTop2


Style

1-Graphical


Picture

Vb\Graphics\Icons\Arrows\Arrw04dn


Caption

(отсутствует)


Name

CmdWidth

Style

1-Graphical

Picture

Vb\Graphics\Cursors\Ve_sizebt

Caption

(отсутствует)

Name

CmdHeight

Style

1-Graphical

Picture

Vb\Graphics\Cursors\Ho_sizeb

Caption

(отсутствует)

Изображение

Name

ImgMain


Picture

Vb\Graphics\Icons\Misc\Face03


  1. Пhello_html_7e7991d8.png
    риведите свою форму в соответствие с образцом



  1. В окне кода процедуры обработки события Click набрать

для объекта cmdLeft1

ImgMain.Left = ImgMain.Left – 100


для объекта cmdTop1

ImgMain.Top = ImgMain.Top - 100


для объектов cmdLeft2, cmdTop2 (самостоятельно)


для объекта cmdWidth

ImgMain.Width = ImgMain.Width + 100


для объекта cmdHeight

ImgMain.Height = ImgMain.Height + 100


  1. Проверьте работу программы(обратите внимание, что размеры картинки не меняются)

  2. Остановите программу, измените для объекта imgMain значение True для свойства Stretch

  3. Проверьте работу программы еще раз.

  4. В окне кода процедуры обработки события Click для объекта imgMain введите код, который уменьшает высоту и ширину изображения (самостоятельно)

  5. Добавьте на форму следующие объекты и измените им свойства

    Объект

    Свойство

    Значение

    Картинка

    Name

    PicMain


    Picture

    Любой файл из Vb\Graphics\Metafile\Arrows\


    Height

    1000


    Width

    1000


    AutoSize

    False

    Командные кнопки

    Name

    CmdStart

    Caption

    Старт

    Name

    CmdStop

    Caption

    Стоп


    Name

    Cmd1


    Caption

    Показать

    Таймер

    Name

    Timer1


    Interval

    0

  6. В окне кода процедуры обработки события Click набрать

для объекта cmdStart

Timer1.Interval = 1000


для объекта cmdStop

Timer1.Interval = 0


для объекта cmd1

picMain.Visible = True


для объекта PicMain

picMain.Visible = False


  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать

picMain.Left = Rnd * 6000

picMain.Top = Rnd * 5000


  1. Проверить работу программы: (при щелчке по картинке, она становится невидимой)

  2. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7


Тема: Основные объекты управления и их свойства

Цель: Получить навыки работы с объектами список и комбинированный список


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

  1. Загрузите Visual Basic

  2. Установите на форме следующие объекты и измените им свойства

Объект

Свойство

Значение

Рамка

Caption

Выбранная запись и ее номер


Font

Размер 10

Метки

Name

Lbl1

Caption

(отсутствует)

Name

Lbl2

Caption

(отсутствует)

С

(переход к следующему элементу списка Ctrl/Enter)

писок

Name

LstFruct

List



Груша

Слива

Персик

Ананас

Вишня

Апельсин

Лимон

Мандарин

Sorted

True


Height

1000


Style

0-Standard

hello_html_40577150.png

  1. Приведите свою форму в соответствие с образцом


  1. Самостоятельно измените значения свойств Backcolor, ForeColor, Font для объектов формы

  2. В окне кода процедуры обработки события Click для объекта LstFruct набрать


Lbl2.Caption = LstFruct.ListIndex

Lbl1.Caption = LstFruct.Text


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

  2. Остановите программу, установите для объекта LstFruct значение 1-CheckBox для свойства Style и проверьте работу программы.


  1. Добавьте на форму следующие объекты и измените им свойства


Объект

Свойство

Значение

Рамка

Caption

Количество записей в списке


Font

Размер 10

Метка

Name

Lbl3

Caption

(отсутствует)

Комбинированный список

Name

CboProduct

List

Хлеб

Молоко

Сыр

Сметана

Масло

Творог

Sorted

False


Width

1000


Style

0-DropDown Combo


Text

(отсутствует)

Командные кнопки

Name

CmdAdd


Caption

Добавить


Name

CmdDel


Caption

Удалить


  1. Пhello_html_4b4ded4c.png
    риведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click для объекта CmdAdd набрать


CboProduct.AddItem CboProduct.Text

Lbl3.Caption = CboProduct.ListCount


  1. В окне кода процедуры обработки события Click для объекта CmdDel набрать


n = CboProduct.ListIndex

CboProduct.RemoveItem n

Lbl3.Caption = CboProduct.ListCount


  1. Проверьте работу программы

  2. Результат показать преподавателю.



Задания для самостоятельного выполнения

При выполнении ниже приведенных заданий должны быть выполнены следующие требования:

  • форма приложения должна полностью соответствовать приведенному образцу;

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

  • проект должен быть сохранен;

  • после разработки приложения создать исполняемый файл.


Зhello_html_m6f036e0c.pngадание № 1

Разработать приложение, которое в зависимости от выбранного переключателя в группе «Метод платежа» отображает в окне приложения только одну из следующих групп переключателей:«Наличными» или «Кредитная карта»










Задание № 2

Рhello_html_4c6e9ca6.pngазработать приложение, позволяющее добавлять и удалять фамилии студентов в список, а также выводить в метку выбранные значения из трех списков (при щелчке по командной кнопке). Значения для списков «Студенты», «Список экзаменов», «Оценка» сформировать на стадии проектирования











Зhello_html_6cb6ac19.pngадание № 3

Разработать приложение, позволяющее с помощью списков «Фирма», «Цвет», «Исполнение», «Тип кузова» и полосы прокрутки дать описание модели автомобиля. Выбранные значения должны отображаться в метке по щелчку по кнопке «Зафиксировать» .

Значения списков формируются на стадии проектирования.



Зhello_html_7b171b70.pngадание № 4

Разработать приложение, которое с помощью полос прокруток позволяет менять высоту и ширину изображения.














Зhello_html_4d4e352b.pngадание № 5

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







Задание № 6

hello_html_m5d6ccde5.png

Разработать приложение, позволяющее менять режимы работы текстового окна и метки с помощью групп соответствующих флажков.






Задание № 7


Рhello_html_5ebd75bd.pngазработать приложение, позволяющее с помощью командных кнопок перемещать линию в выбранном направлении.











Зhello_html_452ba5ce.pngадание № 8


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









Список использованной литературы


  1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995

  2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.

  3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998

  4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000

  5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999



Приложение

Использование цветов


Существует три практических пути управления цветом.


Функция QBColor

Visual Basic поддерживает 16 предопределенных цветов, что сделано, главным образом, для совместимости с более ранними версиями языка. Эти цвета могут быть указаны с помощью функции QBColor(значение). Значение является целым числом от 0 до 16


Значение

Цвет

0

Черный

1

Синий

2

Зеленый

3

Циан

4

Красный

5

Фиолетовый

6

Желтый

7

Белый

8

Серый

9

Светло-синий

10

Светло-зеленый

11

Светло-циан

12

Светло-красный

13

Светло-фиолетовый

14

Светло-желтый

15

Светло-белый


Функция RGB

Экранные цвета могут определяться сочетанием их красного, зеленого и синего компонентов с помощью функции RGB(красный, зеленый, синий)

Красный – интенсивность красного компонента;

Зеленый – интенсивность зеленого компонента;

Синий – интенсивность синего компонента;

Интенсивность выражается целым числом от 0 до 255. Меньшее значение указывает на меньшую интенсивность компонента.


Назначение цвета напрямую

Visual Basic для определения цвета позволяет использовать встроенные константы, которые представляют собой число.


Имя константы

Цвет

Шестнадцатеричное значение

VbBlack

Черный

0

VbRed

Красный

FF

VbGreen

Зеленый

FF00

VbYellow

Желтый

FFFF

VbBlue

Синий

FF0000

VbMagenta

Фиолетовый

FF00FF

VbCyan

Циан

FFFF00

VbWhite

Белый

FFFFFF


Название документа VB Лабораторный практикум 2 часть.doc

Государственное бюджетное образовательное учреждение

высшего профессионального образования Московской области

«Международный университет природы, общества и человека «Дубна»

(Университет «Дубна»)

Филиал ДИНО университета «Дубна»











ЛАБОРАТОРНЫЙ ПРАКТИКУМ

2 часть


Visual Basic. Основы программирования

Теория

Лабораторно-практические работы

Задания для самостоятельного выполнения















Дмитров 2012




Автор:

Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».











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

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



Содержание


Содержание 3

Предисловие 4

Данные, Выражения, Функции 5

Данные в Visual Basic 5

Типы данных 5

Константы 5

Переменные 6

Область видимости переменных 6

Присвоение значения переменной 7

Выражения и функции 8

Арифметическое выражение 8

Логическое выражение 8

Строковое выражение 8

Встроенные математические функции 9

Финансовые функции 9

Функции обработки строк 9

Функции даты и времени 9

Системные функции 10

Функции преобразования типов 10

Функции для работы с графикой 10

Лабораторно-практические работы 12

Общие рекомендации по выполнению работ 12

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА №1 13

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2 15

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3 17

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4 19

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5 21

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6 23

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7 25

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8 27

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9 29

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10 31

Задания для самостоятельного выполнения 32

Задание № 1 32

Задание № 2 32

Задание № 4 32

Задание № 5 32

Задание № 6 32

Задание № 7 33

Задание № 8 33

Задание № 9 34

Задание № 10 34

Список использованной литературы 35




Предисловие


Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное учебное пособие может быть полезно преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.

Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.

Учебное пособие ( часть 2 )состоит из трех основных разделов:

  1. Теория

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


  1. Лабораторно-практические работы по темам:

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


  1. Задания для самостоятельного выполнения

Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.


Как работать с пособием.


Для правильной работы необходимо иметь:

  • Операционную систему Windows 95 или более поздней версии;

  • Visual Basic 5.0. и выше;

  • Процессор Pentium 166 MHz и выше;

  • 5 MB HDD и более;

  • Драйвер CD ROM;

  • Монитор VGA или более высокого разрешения;

  • 16 MB RAM;

  • Мышь.

При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.


Использованию данного учебного пособия должно предшествовать изучение теоретического материала по тематике практических работ.

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

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



Данные, Выражения, Функции

Данные в Visual Basic

Любая программа выполняет обработку данных. Данные могут быть постоянными величинами ( константы ) и переменными величинами. Переменные и постоянные величины должны быть отнесены к какому-либо типу данных. В Visual Basic существует набор стандартных типов данных, кроме того можно объявить свой собственный тип данных.

Типы данных

Типом данных называется способ хранения и представления данных в компьютерной системе. Стандартные типы данных, поддерживаемые языком Visual Basic , приведены в таблице.


Тип данных

Диапазон значений

Объем занимаемой памяти

Integer (целое)

от -32768 до 32767

2 байта

Long

(длиное целое)

от –2147483648 до 2147483647

4 байта

Byte (короткое целое число)

от 0 до 255

1 байт

Boolean (булево)

False, True

2 байта

Single

(десятичное обычной точности)

от 1,41 Е-45 до 3,4 Е+38 (по модулю)

4 байта

Double

(десятичное двойной точности)

от 4,95 Е-324 до 1,79 Е+308 (по модулю)

8 байт

String (строка)

Строка любых символов

1 байт на каждый символ

Object (объект)

Ссылка на объект

4 байта

Variant

(произвольный)


16 байт (числ. тип)

22 байта +длина строки (строковый тип)

Date (дата)


Значения даты и времени диапазон от 01 янв. 100 г до 31 дек. 9999г.

8 байт

Currency

Десятичное протяженное

Значением является число до 15 знаков до десят.точки до 4 знаков после точки.

8 байт


Константы

Константы – это такие величины, которые в процессе выполнения программы не изменяют своих значений. Visual Basic имеет целый ряд внутренних (системных ) констант, которые имеют префикс vb. В качестве примера -Таблица констант дней недели

Имя константы

Значение

VbSunday

1

VbMonday

2

VbTuesday

3

VbWednesday

4

VbThursday

5

VbFriday

6

VbSaturday

7

Константы, определяющие цвет, смотрите в приложении Учебного пособия часть 1

Константа VbTab делает промежутки при выводе информации.

Подробно константы системы Visual Basic перечислены в библиотеках объектов VB и VBA в окне Object Browser (просмотр объектов)

Переменные

Переменные величины при выполнении программы могут свои значения изменять. Переменная имеет имя. Правила формирования имени переменной:

  • имя начинается с буквы; остальные символы – буквы и цифры, можно использовать знак подчеркивания «_»;

  • имя не должно содержать точки;

  • длина имени не более 255 символов;

  • имя должно быть уникальным в пределах данной процедуры;

  • выбирать имя лучше так, чтобы оно несло информацию о назначении переменной;

  • имя не должно быть ключевым словом Visual Basic.

Visual Basic не требует обязательного объявления переменной перед ее использованием. Если переменная не объявлена, Visual Basic использует тип данных, заданный по умолчанию - Variant. Этот тип может содержать любую информацию. Частое использование этого типа для хранения информации имеет два существенных недостатка – влечет лишнюю трату ресурсов памяти и может привести к непредсказуемому поведению заданных по умолчанию значений. Поэтому все же лучше объявлять переменные перед их использованием.

Объявление типа переменной означает команду установить границы значений переменной, которые определяются ее типом. Команда записывается с помощью программного кода. Существует несколько способов объявления типа переменной.


1 способ. Объявление типа с помощью суффикса


К имени переменной приписывается один из следующих суффиксов:

Суффикс

%

&

!

#

$

@

Тип

Integer

Long

Single

Double

String

Currency


2 способ. Объявление типа с помощью оператора описания типа


Dim ИмяПеременной As ТипПеременной


Dim, As- это ключевые слова Visual Basic.

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


Static ИмяПеременной As ТипПеременной


Область видимости переменных

Переменные могут быть объявлены в модулях, формах или процедурах.

  • Переменная, объявленная в процедуре, доступна для использования только в пределах этой процедуры (локальная ), даже если она была объявлена как Static;

  • Переменная, объявленная в General Declarations (раздел общих объявлений ) формы доступна в пределах всей формы.

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

  • Если переменная объявлена посредством Dim, область видимости – модуль.

  • Если переменная объявлена посредством ключевого слова Public, область ее видимости – вся программа ( переменная - глобальная).

Присвоение значения переменной

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

Общий вид оператора присвоения:


[ Let ] ИмяПеременной=ЗначениеПеременной


Ключевое слово Let в квадратных скобках может отсутствовать.

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

Выражения и функции

Арифметическое выражение

Арифметическое выражение – это последовательность чисел, констант, переменных, числовых функций, которые соединены между собой знаками арифметических действий (см. табл.).


Операция

Описание операции

A ^ B

Возведение А в степень В

- A

Перемена знака А

A * B

Умножение А на В

A / B

Деление А на В

A \ B

Целая часть от деления А на В

A Mod B

Остаток от деления А на В

A + B

Сложение А с В

A - B

Вычитание В из А


Логическое выражение

Логическое выражение – это последовательность символьных, числовых констант и переменных, математических и строковых функций, которые соединены между собой знаками сравнения и знаками логических операций (см. табл.). Логическое выражение принимает только два значения: истина ( True ) и ложь ( False ).


Знак сравнения

Действие


Знак логической операции

Действие

=

Равно


And

Логическое «И»

<

Меньше


Eqv

Эквивалентность

>

Больше


Imp

Импликация

<=

Меньше или равно


Or

Логическое «ИЛИ»

>=

Больше или равно


Xor

Исключающее «ИЛИ»

<>

Не равно


Not

Логическое «НЕ»


Строковое выражение

Строковое выражение – это последовательность символьных констант, переменных, символьных функций и знака присоединения «+» (конкатенации)


Функция – это процедура, которая выполняет и возвращает значение. Общий вид обращения к функции:


ИмяФункции ( СписокАргументовФункции )


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

АргументФункции – это либо константа, либо переменная, либо выражение.

Встроенные математические функции


Функция

Значение функции

Abs ( x )

Абсолютная величина числа х

Cint ( x )

Целое число, ближайшее к числу х

Fix ( x )

Целое число, равное числу х без дробной части

Int ( x )

Наибольшее целое число, не превышающее х

Sqr ( x )

Квадратный корень из х

Sin ( x )

Синус

Cos ( x )

Косинус

Tan ( x )

Тангенс

Atn ( x )

Арктангенс

Rnd

Псевдослучайное число от 0 до 1


Финансовые функции


Функция

Значение функции

Pmt ( проц.ставка, число выплат, кредит)

Периодическая выплата

PV ( проц.ставка, число выплат, выплата )

Кредит

Rate ( число выплат, выплата, кредит )

Процентная ставка, отнесенная на период выплаты


Функции обработки строк


Функция

Значение функции

InStr ( строка, подстрока )

Позиция подстроки в строке

Lcase ( строка )

Строка со строчными буквами

Left ( строка, длина )

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

Len ( строка )

Длина строки

Mid ( строка, позиция, длина )

Подстрока данной длины, начиная с данной позиции

Right ( строка, длина )

Правая подстрока данной длины

Trim ( строка )

Строка без первых и последних пробелов

Ucase ( строка )

Строка с прописными буквами


Функции даты и времени


Функция

Значение функции

Time

Текущее системное время

Timer

Число прошедших с полуночи секунд

Now

Системная дата и время

Date

Системная дата

Month ( дата )

Номер месяца

Year ( дата )

Год

Day

День

WeekDay(дата)

Номер дня недели (воскресенье – 1 и т.д)


Системные функции

Функция

Значение функции

InputBox ( Приглашение[, Заголовок] [, НачЗначение ] [,X] [,Y])


Предназначена для ввода данных пользователем через системное окно

X,Y – координаты левого верхнего угла окна

Введенный пользователем текст

MsgBox ( Сообщение [ , Опция, Заголовок ] )


Предназначена для вывод сообщения через системное окно


Опция определяет набор кнопок и вид пиктограммы в окне сообщения

0 Ok

1 Ok, Отмена

2 Стоп, Повтор, Пропустить

3 Да, Нет, Отмена

4 Да, Нет

  1. Повтор, Отмена

16 критическое сообщение

32 вопрос

48 предупреждение

64 информация

Целое число, определяющее какая из кнопок Окна сообщения была нажата

1 (VbOk) Ок

2 (VbCancel) Отмена

3 (VbAbort) Стоп

4 (VbRetry) Повтор

5 (VbIgnore) Пропустить

6 (VbYes) Да

7 (VbNo) Нет


Функции преобразования типов

Функция

Значение функции

Asc ( строка )

Код ASCII первого символа строки

Chr ( код ASCII )

Символ, соответствующий коду

CInt ( строка цифр или число )

Целое число

Val ( строка )

Число

Str ( число )

Строка

CDate(выражение)

Выражение типа Date

CBool(выражение)

Выражение типа Boolean

CByte(выражение)

Выражение типа Byte

CCur(выражение)

Выражение типа Currency

CDbl(выражение)

Выражение типа Double

CInt(выражение)

Выражение типа Integer

CLng(выражение)

Выражение типа Long


Функции для работы с графикой

Функция

Значение функции

LoadPicture ( строка-путь к графическому файлу )

Содержимое графического файла

QBColor ( число от 0 до 15 )

Цвет

RGB ( N1, N2, N3 )


N1 – интенсивность красного цвета (от 0 до 255)

N2 - интенсивность зеленого цвета (от 0 до 255)

N3 - интенсивность синего цвета (от 0 до 255)

Цвет


Лабораторно-практические работы

Общие рекомендации по выполнению работ


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

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

  3. Практические работы выполняйте в указанной последовательности;

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



ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА №1


Тема: Типы данных

Цель работы: получить навыки использования в программе различных типов данных

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

  1. Откройте новый проект и установите на форме командную кнопку( NameCmd1, CaptionПример 1), переместите ее в правый верхний угол формы.

  2. В окне кода процедуры обработки события Click для объекта Cmd1 набрать


Dim X As Integer, Y As Integer

X = 5 / 2: Y = 10 / 3: Z = X / Y

Print X, Y, Z


  1. Проверьте работу программы, прокомментируйте значения переменных X,Y

  2. Измените программу, добавив после первой строки


Dim Z As Currency


  1. Проверьте работу программы, прокомментируйте значение переменной Z

  2. Измените программу, удалив строки объявления всех переменных (или поставьте знак комментария – апостроф перед оператором Dim

  3. Проверьте работу программы, прокомментируйте значения всех переменных

  4. Добавьте на форму командную кнопку( NameCmd2, CaptionПример 2), переместите ее в правый верхний угол формы и в окне кода процедуры обработки события Click для объекта Cmd2 набрать


Dim S As Integer

S = 10 ^ 5

Print S


  1. Проверьте работу второй кнопки, объясните причину вывода сообщения об ошибке

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

  3. hello_html_1296328b.png
    Для решения новой задачи добавьте на форму новые объекты в соответствии с образцом.


  1. Для командной кнопки Вычислить набрать программный код


Dim x1, x2, x3

Dim z As Currency

Dim a As Double

Dim b As Currency

x1 = Val(TxtTonn.Text)

x2 = Val(TxtKg.Text)

x3 = Val(TxtGram.Text)

z = Val(TxtZena.Text)

a = (x1 * 1000000 + x2 * 1000 + x3) * z

b = (x1 * 1000000 + x2 * 1000 + x3) * z

LblItog1.Caption = a

LblItog2.Caption = b


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

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2


Тема: Ввод, вывод и присвоение в программе

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

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

  1. Загрузите графический редактор Paint. 1 часть

  2. Выберите в меню программы Рисунок / Атрибуты

  3. В появившемся окне установите Единицы см, Ширина 6, Высота 3., нажмите Ок

  4. Используя инструментарий программы нарисуйте параллелепипед с обозначением сторон и сохраните свой рисунок.

  5. Закройте программу Paint

  6. Загрузите Visual Basic

  7. Установите на форме следующие объекты и измените им свойства

Объект

Свойство

Значение

Метки

Caption

Объем коробки вычисляется по формуле


Caption

V=A*B*H


Caption

Длина


Caption

Ширина


Caption

Высота


Caption

Объем

Командная кнопка


Name

CmdResult

Caption

Определение объема

Текстовые окна

Name

Text1

Name

Text2

Name

Text3

Name

Text4

Изображение

Name

Image1

Picture

(созданный Вами рисунок)

hello_html_4c53b069.png

  1. Приведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click для объекта CmdResult набрать

Dim a,b,h,v As Integer

a = Val(Text1.Text)

b = Val(Text2.Text)

h = Val(Text3.Text)

v = a * b * h

Text4.Text = v


  1. Проверьте работу программы на различных входных данных

2 часть

  1. Откройте новый проект, на форме расположите объекты и измените для них свойства:

Объект

Свойство

Значение

Командные кнопки

Caption

Обмен значениями


Name

Cmd1


Caption

Обмен шрифтами


Name

Cmd2


Caption

Обмен начертанием


Name

Cmd3

Текстовые окна

Name

Text1

Font

14, Полужирный, Ms Serif

ForeColor

Черный

Text

Это левое поле

Name

Text2


Font

14, Курсив, Garamond


ForeColor

Красный


Text

Это правое поле


  1. Пhello_html_237d4fc.png
    риведите свою форму в соответствии с образцом.


  1. В окне кода процедуры обработки события Click для объекта Cmd1 набрать

Dim stroka1 As String, stroka2 As String

stroka1 = Text1.Text : stroka2 = Text2.Text

Text1.Text = stroka2 : Text2.Text = stroka1


  1. В окне кода процедуры обработки события Click для объекта Cmd2 набрать

Dim stroka1 As String, stroka2 As String

stroka1 = Text1.FontName : stroka2 = Text2.FontName

Text1.FontName = stroka2 : Text2.FontName = stroka1


  1. В окне кода процедуры обработки события Click для объекта Cmd3 набрать

Dim stroka1 As Boolean, stroka2 As Boolean

'полужирный

stroka1 = Text1.FontBold : stroka2 = Text2.FontBold

Text1.FontBold = stroka2 : Text2.FontBold = stroka1

'курсив

stroka1 = Text1.FontItalic : stroka2 = Text2.FontItalic

Text1.FontItalic = stroka2 : Text2.FontItalic = stroka1


  1. Проверьте работу программы. Объясните, почему объявленные переменные имеет различный тип в процедурах.

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


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3


Тема: Ввод, вывод и присвоение в программе

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

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

  1. Расположите на форме следующие объекты и измените для них свойства:


Объект

Свойство

Значение

Рамка

Caption

Введите X и Y

Текстовое окно

Name

TxtX

Text

(отсутствует)

Текстовое окно

Name

TxtY

Text

(отсутствует)

Линейка прокрутки

Name

HSX

Max

1000

Min

0

Линейка прокрутки

Name

HSY

Max

100

Min

0

Рамка

Caption

Результат

Метка

Name

LblResult

Caption

(отсутствует)

Командные кнопки


Name

Caption

CmdPlus

+

Name

Caption

CmdMinus

-

Name

Caption

CmdDel

/

Name

Caption

CmdMul

*

  1. Для текстовых окон и метки установите выравнивание по центру (свойство Alignment)

  2. Для всех объектов, кроме прокруток, увеличьте размер шрифта (свойство Font)

  3. Приведите свою форму в соответствии с образцом.


hello_html_2eeaf086.png


  1. В разделе общих объявлений набрать


Dim X,Y As Integer


  1. В окне кода процедуры обработки события Change для объекта HSX набрать:


TxtX.Text = HSX.Value


а для объекта HSY набрать


TxtY.Text = HSY.Value


  1. В окне кода процедуры обработки события Click для объекта CmdРlus набрать


x = Val(TxtX.Text)

y = Val(TxtY.Text)

LblResult.Caption = x + y


  1. Загрузите программу и проверьте работу кнопки «+» (ввод значений для X и Y выполните двумя способами: с клавиатуры и с помощью прокруток)

  2. Остановите программу. Напишите программный код для остальных командных кнопок (самостоятельно)

  3. Добавьте на форму несколько командных кнопок для вычисления следующих значений:

Sin ( X ) + Cos ( Y ); hello_html_6e6a6fb8.gif; Tg ( X ) 2 - | Y |


  1. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4


Тема: Встроенные функции

Цель работы: получить навыки использования математических функций

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

  1. Откройте новый проект, расположите на форме следующие объекты и измените для них свойства:

Объект

Свойство

Значение

Рамка

Caption

Случайное число от 0 до10

Текстовое окно

Name

TxtX

Text

(отсутствует)

Рамка

Caption

Sin(X)

Метка

Name

LblSin

Caption

(отсутствует)

BorderStyle

1

Командная кнопка


Name

Caption

CmdResult

Вычислить

Рамка

Caption

Cos(X)

Метка

Name

LblCos

Caption

(отсутствует)

BorderStyle

1

Рамка

Caption

Tn(X)

Метка

Name

LblTan

Caption

(отсутствует)

BorderStyle

1

Рамка

Caption

Квадратный корень

Метка

Name

LblSqr

Caption

(отсутствует)

BorderStyle

1

Рамка

Caption

X^2

Метка

Name

Lbl_2

Caption

(отсутствует)

BorderStyle

1


  1. Пhello_html_75db55ab.png
    риведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click для объекта CmdResult набрать:

x = Rnd * 10

txtX.Text = x

LblSin.Caption = Sin(x)

LblCos.Caption = Cos(x)

LblTan.Caption = Tan(x)

LblSqr.Caption = Sqr(x)

Lbl_2.Caption = x ^ 2


  1. Загрузите программу и проверьте ее работу

  2. Самостоятельно измените форму и программный код для:

  • изменения интервала случайного числа от 0 до 50

  • получения целого случайного числа от 10 до 100

  • определения остатка от деления числа Х на 2

6. Результат показать преподавателю.


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5


Тема: Встроенные функции

Цель: Получить навыки использования функций обработки строк

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

  1. Откройте новый проект, установите следующие объекты и измените им свойства

    Объект

    Свойство

    Значение

    Рамки

    Caption

    Как Вас зовут?

    Caption

    Полное имя (заглавные буквы)

    Caption

    Полное имя (строчные буквы)

    Caption

    Инициалы

    Метки

    Caption

    Фамилия


    Caption

    Имя


    Caption

    Отчество


    Name

    LblNam2

    (для рамки строчные буквы)

    Командные кнопки

    Name

    CmdNam1

    Caption

    Вывести


    Name

    CmdNam2


    Caption

    Вывести в одну строку


    Name

    CmdNam3


    Caption

    Вывести в три строки


    Name

    CmdFIO


    Caption

    Вывести инициалы


    Name

    CmdShifr


    Caption

    Шифровать

    Текстовые окна

    Name

    TxtFam


    Name

    TxtName


    Name

    TxtOt


    Name

    TxtNam1 (для заглавных букв)


    Name

    TxtFIO

    hello_html_6e95f7f1.png

    Name

    TxtShifr

  2. Приведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click набрать для объекта cmdNam1


TxtNam1.Text = UCase(tXTfAM.Text) + " " + UCase(TxtName.Text) + " " + UCase(TxtOt.Text)


  1. В окне кода процедуры обработки события Click набрать для объекта cmdNam2


LblNam2.Caption = LCase(tXTfAM.Text) + " " + LCase(TxtName.Text) + " " + LCase(TxtOt.Text)


  1. В окне кода процедуры обработки события Click набрать для объекта cmdNam3


LblNam2.Caption = LCase(tXTfAM.Text) + Chr(13) + Chr(10) + LCase(TxtName.Text)


  1. В окне кода процедуры обработки события Click набрать для объекта cmdFIO


Dim fam, nam,ot As String

Fam= TxtFam.Text

Nam= TxtName.Text

Ot= TxtOt.Text

TxtFIO.Text = Left(Fam, 1) + "." + Left(Nam, 1) + "." + Left(Ot, 1)


  1. В окне кода процедуры обработки события Click набрать для объекта cmdShifr


Dim S,Shifr As String

Dim K As Integer

S = TxtFIO.Text

Shifr=””

K = Asc(Left(S, 1))

Shifr=Shifr+Str(K)+” “

K = Asc(Mid(S, 3, 1))

Shifr=Shifr+Str(K)+” “

K = Asc(Right(S, 1))

Shifr=Shifr+Str(K)

TxtShifr.Text = Shifr


  1. Проверьте работу программы

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

  3. Результат показать преподавателю.


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6


Тема: Встроенные функции

Цель: Получить навыки использования функций преобразования типов


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

  1. Установите на форме следующие объекты и измените им свойства


Объект

Свойство

Значение

Метки

Caption

212


Caption

100


Caption

По Фаренгейту


Caption

По Цельсию


Caption

-40


Caption

-40

Вертикальная прокрутка

Name

VsbTherm

Max

-40

Min

100

LargeChange

10

SmallChange

1

Текстовые окна

Name

TxtF


Text

(отсутствует)


Name

txtC


Text

(отсутствует)

  1. Приведите свою форму в соответствие с образцом

hello_html_13ed3ef9.png




  1. В окне кода процедуры обработки события Change набрать для объекта VsbTherm


Dim tempC, tempF As Integer

tempC = CInt ( vsbTherm.Value )

TxtC.Text = Str ( tempC )

tempF = CInt ( tempC * 9 / 5 + 32 )

txtF.Text = Str( tempF )


  1. Проверьте работу программы и результат показать преподавателю.

  2. Самостоятельно рhello_html_m2640247c.png
    азработайте приложение, которое позволяет с помощью прокрутки установить величину угла в градусах, перевести эту величину в радианы, а также определить значение синуса, косинуса и тангенса угла. Разработайте форму по следующему образцу.



  1. Результат показать преподавателю.


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7


Тема: Встроенные функции

Цель работы: Получить навыки использования встроенных системных функций.

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

  1. Расположите на форме следующие объекты и измените для них свойства:

Объект

Свойство

Значение

Изображение (Image)

Name

Image1

Picture

\Icons\Elements\Water

Изображение (Image)

Name

Image2

Picture

\Icons\Elements\Sun

Изображение (Image)

Name

Image3

Picture

\Icons\Elements\Show

Изображение (Image)

Name

Image4

Picture

\Icons\Elements\Litening

Командные кнопки

(CommandButton)

Name

Caption

CmdHello

Познакомимся?

Name

Caption

CmdExit

Выход

  1. Пhello_html_m532a83bc.png
    риведите форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click для объекта Image1 набрать


MsgBox "это вода", 0, "справка"


  1. Наберите код для других картинок (самостоятельно)

  2. В окне кода процедуры обработки события Click для объекта CmdHello набрать


MyFam = InputBox("Ваша фамилия", "Скажите пожалуйста")

MyNam = InputBox("Ваше имя", "Скажите пожалуйста")

MyOt = InputBox("Ваше отчество", "Скажите пожалуйста")

'выделим последнюю букву отчества и определим пол человека

k = Len(MyOt)

x = Mid(MyOt, k, 1)

If x = "а" Then y = "Здравствуйте, укажаемая" Else y = "Здравствуйте, укажаемый"

MsgBox MyNam + Chr(10) + MyOt + Chr(10) + MyFam, , y


  1. В окне кода процедуры обработки события Click для объекта CmdExit набрать


s = MsgBox("Вы хотите выйти", 4, "Выход")

If s = 6 Then

s = MsgBox("Хотите остаться", 32 + 4, "Просьба")

If s = 6 Then

MsgBox "Ну и правильно", 48, "Мы очень рады"

Exit Sub

End If

MsgBox "Ну и иди отсюда", 16, "Мы обиделись"

End

End If


  1. Проверьте работу программы


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8


Тема: Встроенные функции

Цель: Получить навыки использования функций времени и даты

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

  1. Установите на форме следующие объекты и измените им свойства 1 часть

    Объект

    Свойство

    Значение

    Метки

    Caption

    Время старта


    Caption

    Время окончания


    Caption

    Сколько прошло

    Командные кнопки

    Name

    CmdStart

    Caption

    Start

    Name

    CmdStop

    Caption

    Stop

    Текстовые окна

    Name

    TxtStart


    Text

    (отсутствует)


    Name

    TxtStop


    Text

    (отсутствует)


    Name

    TxtItog


    Text

    (отсутствует)

  2. Пhello_html_7e36d9a8.png
    риведите свою форму в соответствие с образцом

  3. В разделе общих объявлений набрать General Declarations

Dim starttime As Variant, dtime As Variant, itogtime As Variant


  1. В окне кода процедуры обработки события Click набрать для объекта cmdStart

starttime = Now

txtstart.Text = Format ( starttime, "hh:mm:ss" )

txtstop.Text = "" : txtItog.Text = ""


  1. В окне кода процедуры обработки события Click набрать для объекта cmdStop

endtime = Now

itogtime = endtime - starttime

txtstop.Text = Format ( endtime, "hh:mm:ss" )

txtItog.Text = Format ( itogtime, "hh:mm:ss" )


  1. Проверьте работу программы. Результат показать преподавателю.

2 часть

  1. Откройте новый проект, установите следующие объекты и измените им свойства


Объект

Свойство

Значение

Рамки

Caption

Сегодня

Caption

Дата рождения (дд.мм.гг)

Caption

(отсутствует)

Caption

Сколько прожил дней

Caption

Ваш возраст

Метки

Name

LblDay


Name

LblD


Name

LblM


Name

LblY


Name

LblResult


Name

LblLet

Командная кнопка

Name

CmdPusk

Caption

Пуск

Текстовое окно

Name

TxtDataR


Text

(отсутствует)

  1. Приведите свою форму в соответствие с образцом

hello_html_70a0edd.png

  1. В окне кода процедуры обработки события Click набрать для объекта cmdPusk


Dim dd, dr As Date

dd = Date

dr = TxtDataR.Text

LblDay.Caption = dd

LblD.Caption = Day(dr)

LblM.Caption = Month(dr)

LblY.Caption = Year(dr)

LblResult.Caption = dd - dr

LblLet.Caption = Format(dd - dr, "yy")


  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9


Тема: Встроенные функции

Цель: Получить навыки использования финансовых функций

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

  1. Откройте новый проект, установите следующие объекты и измените им свойства


Объект

Свойство

Значение

Рамки

Caption

Годовой прирост (%)

Caption

Число платежей

Caption

Сумма кредита

Caption

Величина выплаты

Текстовые окна

Name

TxtPrirost


Name

TxtKolWo


Name

TxtKredit


Name

TxtViplata

Командные кнопки

Name

CmdPrirost

Caption

Прирост


Name

CmdViplata


Caption

Выплата


Name

CmdKredit


Caption

Кредит

  1. Приведите свою форму в соответствие с образцом

hello_html_m29d7e95b.png

  1. В разделе общих объявлений набрать:

Dim r As Single

Dim p, v As Currency

Dim n As Integer


  1. В окне кода процедуры обработки события Click набрать для объекта cmdViplata

r = Val(TxtPrirost.Text)

n = Val(Txtkolwo.Text)

v = Val(TxtKredit.Text)

r = r / 1200

p = -Pmt(r, n, v)

TxtViplata.Text = Str(p)

  1. В окне кода процедуры обработки события Click набрать для объекта cmdKredit

r = Val(TxtPrirost.Text)

n = Val(Txtkolwo.Text)

p = Val(TxtViplata.Text)

r = r / 1200

p = -p

v = PV(r, n, p)

TxtKredit.Text = Str(v)

  1. В окне кода процедуры обработки события Click набрать для объекта cmdPrirost

p = Val(TxtViplata.Text)

n = Val(Txtkolwo.Text)

v = Val(TxtKredit.Text)

p = -p

r = 1200 * Rate(n, p, v)

TxtPrirost.Text = Str(r)


  1. Проверьте работу программы

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


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10


Тема: Встроенные функции

Цель: Получить навыки использования функций графики

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

  1. В графическом редакторе Paint создайте четыре рисунка «зима», «весна, «лето», «осень» и сохраните рисунки в отдельных файлах на диске С:

  2. Откройте новый проект, установите следующие объекты и измените им свойства


Объект

Свойство

Значение

Форма

Name

frmPaint


WindowState

2-Maximized

Метка

Name

LblResult

Caption

0

Полоса прокрутки

Name

HsbSet


Max

15


Min

1

Командные кнопки

Name

CmdWinter

Caption

Зима


Name

CmdSpring


Caption

Весна


Name

CmdSummer


Caption

Лето


Name

CmdAutumn


Caption

Осень


Name

cmdExit


Caption

Выход

  1. Приведите свою форму в соответствие с образцом

  2. Вhello_html_6a052357.png
    окне кода процедуры обработки события Change набрать для объекта HsbSet

lblResult.Caption = Str(hsbSet.Value)

frmPaint.BackColor = QBColor(hsbSet.Value)


  1. Такой же код набрать для обработки события Scroll для объекта HsbSet.

  2. В окне кода процедуры обработки события Click набрать для объекта cmdExit

MsgBox “До свидания”,0,”Выход”

End


  1. В окне кода процедуры обработки события Click набрать для объекта cmdWinter

frmPaint.Picture = LoadPicture("c:\Мои Документы\зима.bmp")


  1. Самостоятельно набрать для других командных кнопок. Проверьте работу программы



Задания для самостоятельного выполнения

При выполнении ниже приведенных заданий должны быть выполнены следующие требования:

  • форма приложения должна полностью соответствовать приведенному образцу;

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

  • имена переменных должны быть информативны;

  • все используемые переменные должны быть объявлены;

  • проект должен быть сохранен.


Задание № 1

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


Зhello_html_6f042960.pngадание № 2


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





Задание № 4

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


Задание № 5

Разработать приложение, которое для введенного текста выполняет:

  • определение кода первого и последнего символа;

  • вывод введенного текста, поменяв местами первый и последний символ;

  • вывод первой половины текста;

  • вывод второй половины текста

Задание № 6

Разработать приложение, которое для введенного целого числа выполняет:

  • вывод последней цифры числа;

  • вывод исходного числа без последней цифры;

  • вычисление суммы двух последних цифр числа;

  • выводит исходное число, заменив последнюю цифру на ноль.

Задание № 7


Рhello_html_m3836d8ab.png
азработайте приложение для определения общей стоимости покупки (в рублях и долларах). Название продуктов выбираются из списка, цены, количество, курс доллара вводит пользователь.

Задание № 8


Рhello_html_4fdeded6.png
азработать программу «Распределение годового бюджета государства». Форму разработать в соответствии с образцом. Входными данными являются: Общая сумма бюджета, Распределение бюджета в долях (например: 1 / 3 или 2 / 5). Выходными данными являются: Распределение бюджета в процентах, Распределение в денежных единицах.

Зhello_html_668dd0e6.pngадание № 9


Разработать приложение, с помощью которого можно было определить число молекул воздуха в комнате, если задано так называемое число Лошмидта , равное 2, 6868 10 25 – число молекул в одном кубическом метре воздуха при нормальных условиях. Размеры комнаты вводить в метрах с точностью 0.01. Форму разработать в соответствии с образцом.




Задание № 10

hello_html_m2b4e5737.png

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






Список использованной литературы


  1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995

  2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.

  3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998

  4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000

  5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999


Название документа VB Лабораторный практикум 3часть.doc

Государственное бюджетное образовательное учреждение

высшего профессионального образования Московской области

«Международный университет природы, общества и человека «Дубна»

(Университет «Дубна»)

Филиал ДИНО университета «Дубна»











ЛАБОРАТОРНЫЙ ПРАКТИКУМ

3 часть


Visual Basic. Основы программирования

Теория

Лабораторно-практические работы

Задания для самостоятельного выполнения















Дмитров 2012




Автор:

Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».











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

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



Содержание


Содержание 3

Предисловие 4

Выбор в программе 5

Ветвление If ... Then ... Else 5

Линейный формат: 5

Блочный формат: 5

Оператор множественного выбора Select Case 6

Организация циклов 7

Цикл со счетчиком For ...Next (Для ... Следующий) 7

Универсальный цикл Do ...Loop (Делать ... Цикл) 8

Циклы с предусловием. 8

Циклы с постусловием 8

Программирование графики 8

Лабораторно-практические работы 9

Общие рекомендации по выполнению работ 9

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1 10

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2 12

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3 14

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4 17

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5 19

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6 21

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7 23

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8 25

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9 27

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10 29

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11 31

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 12 33

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 13 36

Задания для самостоятельного выполнения 38

Задание № 1 38

Задание № 2 38

Задание № 3 38

Задание № 4 38

Задание № 5 38

Задание № 6 38

Задание № 7 39

Задание № 8 39

Задание № 9 39

Задание № 10 40

Задание № 11 40

Задание № 12 40

Задание № 13 40

Задание № 14 40

Задание № 15 40

Список использованной литературы 41




Предисловие


Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное учебное пособие может быть полезно преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.

Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.

Учебное пособие ( часть 3 )состоит из трех основных разделов:

  1. Теория

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

Этот материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять Лабораторно-практические работы.


  1. Лабораторно-практические работы по темам:

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


  1. Задания для самостоятельного выполнения

Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.


Как работать с пособием.


Для правильной работы необходимо иметь:

  • Операционную систему Windows 95 или более поздней версии;

  • Visual Basic 5.0. и выше;

  • Процессор Pentium 166 MHz и выше;

  • 5 MB HDD и более;

  • Драйвер CD ROM;

  • Монитор VGA или более высокого разрешения;

  • 16 MB RAM;

  • Мышь.

При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.


Использованию данного учебного пособия должно предшествовать изучение теоретического материала по тематике практических работ.

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

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



Выбор в программе


Выбор в программе выполняют условные операторы. Условные операторы помогают осуществить «ветвление» программы, т.е. передать управление по условию, на ту или иную «ветку» - это может быть фрагмент текста, процедура, подпрограмма или даже другой модуль.

Виды условных операторов Visual Basic :

If ... Then ... Else ...

Select ... End Select

Ветвление If ... Then ... Else


Этот оператор обычно используется, когда проверяется одно или два условия в программе. Конструкцию If ... Then ... Else ...(Если ... Тогда ... Иначе ...) можно записать в одном из двух форматов - блочном (в несколько строк) и линейном (в одной строке).


Линейный формат:


If логич_выражение Then блок_команд_1 [Else блок_команд_2]


Если логич_выражение принимает значение «истина», выполняется блок_команд_1, иначе выполняется блок_команд_2. Else можно опустить, в этом случае, , если логич_выражение ложно, блок_команд_1 просто пропускается.


Пример 1:

Если значение переменной А больше нуля, то вычислить А2, иначе - вычислить А3

If A>0 Then S= A^2 Else S=A^3


Пример 2:

Если значения переменных А и В равны между собой , то прервать выполнение процедуры

If A=B Then Exit Sub


Блочный формат:


If логич_выражение_1 Then

блок_команд_1

[ElseIf логич_выражение_2 Then

блок_команд_2

....................................

[Else

блок_команд_n

End If

Если логич_выражение_1 принимает значение «истина», выполняется блок_команд_1, иначе, если логич_выражение_2 истинно, выполняется блок_команд_2 и т.д. Если ни одно условие не удовлетворяется, то выполняется блок_команд_n, следующий за Else.


Пример 1:

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


If A>0 And B>0 Then

Print A+B

Print A*B

Else

Print «ошибка»

End If


Пример 2:

Если значение переменной В меньше 10, то увеличить его в 2 раза, если значение от 10 до 20, то увеличить в 3 раза, в остальных случаях - уменьшить в 10 раз.

If B<10 Then

B=B*2

ElseIf B>=10 And B<=20 Then

B=B*3

Else

B=B/10

End If


Оператор множественного выбора Select Case


Используется при необходимости осуществить проверку более сложных условий.

Формат команды


Select Case арифм_выражение или симв_выражение

Case условие 1

блок команд 1

Case условие 2

блок команд 2

...........................

Case Else

блок команд n

End Select

В поле операндов Select Case записывается произвольное арифметическое выражение или символьное выражение, которое в процессе выполнения программы принимает то или иное числовое, логическое или символьное значение.

В поле операндов каждого оператора Case надо указать условие в одном из трех форматов:

  1. Case константа_1, константа_2,...

  2. Case Is знак_отношения константа

  3. Case константа_1 To константа_2

Алгоритм множественного выбора заключается в следующем. Сначала вычисляется значение выражения, записанного в Select Case. Далее проверяется, удовлетворяет ли это значение одному из указанных в Case условий. Если значение удовлетворяет какому-то условию, выполняется блок команд, следующий за данным Case. Если ни одно условие не удовлетворяется, выполняется блок команд, следующий за Case Else. При выполнении того или иного блока команд управление передается команде, следующей за End Select.

Пример:

Input A

Select Case A

Case 1,5

Print «А равно 1 или 5»

Case Is >5

Print «А больше

Case -8 TO 2.5

Print «А не меньше -8, но не больше 2.5»

Case Else

Print «Ни одно условие не выполняется»

End Select


Организация циклов


Цикл - это многократно повторяемая часть программы.

В языке Visual Basic предусмотрено два основных способа организации циклов:

  • повторение блока команд заданное количество раз (цикл со счетчиком);

  • циклическое повторение блока команд, пока выполняется (или не выполняется) некоторое условие.


Цикл со счетчиком For ...Next (Для ... Следующий)


Цикл For ... Next - это цикл с заранее заданным количеством повторений.


For переменная_цикла=нач_значение To конеч_значение [Step шаг]

блок_команд

Next переменная_цикла


В поле операндов оператора For указываются:

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

  • начальное и конечное значение счетчика.

Если необходимо, укажите шаг изменения счетчика по окончании каждого цикла (по умолчанию этот шаг равен 1).

Конструкция завершается оператором Next.

Принцип работы оператора :

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

Пример 1:Вывести 10 раз текст «привет»

For I=1 To 10

Print «привет»

Next I


Пример 2: Вывести все четные натуральные числа от 10 до 20.

For K=10 To 20 Step 2

Print K

Next K


Можно выйти из цикла не дожидаясь выполнения всех повторений при помощи оператора Exit For. Управление будет передано на оператор, стоящий после Next.

С помощью For ... Next можно организовывать вложенные циклы - каждый со своим For, Next и счетчиком.

Универсальный цикл Do ...Loop (Делать ... Цикл)


Наиболее гибкий и универсальный способ организации цикла по условию обеспечивает конструкция Do ...Loop. Конструкция имеет четыре формата:


Циклы с предусловием.

Блок_команд выполняется до тех пор, пока значение логич_выражения истинно.


hello_html_m36e6114.gif
  1. Do While логич_выражение

блок_команд

Loop

Блок_команд выполняется до тех пор, пока значение логич_выражения ложно.



hello_html_m36e6114.gif

2. Do Until логич_выражение

блок_команд

Loop


Циклы с постусловием

(при первом входе условие не проверяется, поэтому блок_команд будет выполнен хотя бы один раз).

Блок_команд выполняется до тех пор, пока значение логич_выражения истинно.


hello_html_m36e6114.gif

3 . Do

блок_команд

Loop While логич_выражение

Блок_команд выполняется до тех пор, пока значение логич_выражения ложно.


hello_html_m36e6114.gif

4. .Do

блок_команд

Loop Until логич_выражение


Можно выйти из цикла не дожидаясь выполнения всех повторений при помощи оператора Exit Do. Управление будет передано на оператор, стоящий после Loop.


Программирование графики


На форме или в графическом поле (PictureBox) можно рисовать различные графические примитивы с использованием графических методов:


Scale – позволяет задать систему координат и масштаб для формы или графического окна:

Object.Scale (X1,Y1) - (X2,Y2)


Pset – установка точки с заданными координатами и цветом:


Object.Pset (X,Y) [,Color]


Line – рисование линии, прямоугольника или закрашенного прямоугольника заданного цвета:


Object.Line (X1,Y1) - (X2,Y2) [,Color][,B][F]


Circle – рисование окружности, овала или дуги с заданными координатами центра, радиусом, цветом, начальным и конечным углом дуги и коэффициентом сжатия:


Object.Circle (X,Y),Radius [,Color, Start, End, Aspect]

Лабораторно-практические работы

Общие рекомендации по выполнению работ


  1. Выполнение предложенных работ целесообразно проводить после проработки практических работ и заданий для самостоятельного выполнения из 1 и 2 частей учебного пособия;

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

  3. Лабораторно-практические работы выполняйте в указанной последовательности;

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


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1


Тема: Условный оператор

Цель: Получить навыки использования условного оператора

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

  1. Откройте новый проект, установите следующие объекты и измените им свойства


Объект

Свойство

Значение

Рамки

Caption

Длины сторон треугольника


Caption

Результаты проверки

Текстовые окна

Name

TxtA

Name

TxtB

Name

TxtC

Метки

Name

LblInfo1

Caption

(отсутствует)

Name

LblInfo2

Caption

(отсутствует)

Name

LblInfo3

Caption

(отсутствует)

Name

LblInfo4


Caption

(отсутствует)

Командная кнопка

Name

CmdProverka

Caption

Проверить


  1. Пhello_html_m102a10eb.png
    риведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click набрать для объекта cmdProverka

Dim a, b, c As Integer

Dim info As String

a = Val(txtA.Text)

b = Val(TxtB.Text)

c = Val(TxtC.Text)

'проверка существует ли треугольник

If (a >= b + c) Or (b >= a + c) Or (c >= a + b) Then

LblInfo1.Caption = "треугольник не существует"

Else

LblInfo1.Caption = "треугольник существует"

End If

'проверка на равенство сторон

If a = b And a = c Then

LblInfo2.Caption = "треугольник равносторонний"

Else

LblInfo2.Caption = "треугольник не равносторонний"

End If

'проверка на равнобедренность

If a = b Or a = c Or b = c Then

LblInfo3.Caption = "треугольник равнобедренный"

Else

LblInfo3.Caption = "треугольник не равнобедренный"

End If

'проверка на наличие прямого угла

If (a ^ 2 = b ^ 2 + c ^ 2) Or (b ^ 2 = a ^ 2 + c ^ 2) Or (c ^ 2 = a ^ 2 + b ^ 2) Then

LblInfo4.Caption = "треугольник прямоугольный"

Else

LblInfo4.Caption = "треугольник не прямоугольный"

End If

  1. Проверьте работу программы.

  2. Измените приложение так, чтобы оно определяло, умещается ли треугольник с заданными сторонами в окружность заданного радиуса. (самостоятельно).

  3. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2


Тема: Условный оператор

Цель: Закрепить навыки использования условного оператора

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

  1. Откройте новый проект, установите следующие объекты и измените им свойства


Объект

Свойство

Значение

Рамки

Caption

Ваше число


Caption

Диапазон чисел

Текстовое окно

Name

TxtOtvet

Метки

Name

LblMalo

Caption

0

Name

LblMnogo

Caption

100

Name

Label1

Caption

Мало

Name

Label2


Caption

Много

Командная кнопка

Name

CmdProverka

Caption

Проверить


  1. Пhello_html_413d1b63.png
    риведите свою форму в соответствие с образцом


  1. В разделе общих объявлений набрать


Dim k As Integer , otv As Integer


  1. В окне кода процедуры обработки события Load набрать для объекта Form


Randomize Timer

otv = Int(Rnd * 100 + 1) 'число загадано

k = 0 ' количество попыток


  1. В окне кода процедуры обработки события Click набрать для объекта cmdProverka


x = Val(TxtOtvet.Text)

k = k + 1

If x = otv Then

MsgBox "количество попыток " + Str(k), , "УГАДАНО"

LblMalo.Caption = "0"

LblMnogo.Caption = "100"

MsgBox "загадано новое число", , ""

k = 0

otv = Int(Rnd * 100 + 1)

Exit Sub

End If

If x > otv Then

If x < Val(LblMnogo.Caption) Then LblMnogo.Caption = x

MsgBox "Много", , ""

Exit Sub

End If

If x < otv Then

If x > Val(LblMalo.Caption) Then LblMalo.Caption = x

MsgBox "Мало"

Exit Sub

End If


  1. Проверьте работу программы.

  2. Измените программу для того, чтобы :

  • после каждого вывода сообщения «Много», «Мало» или «Угадано» содержимое текстового окна удалялось;

  • после отгадывания числа выводилось

сообщение «Отлично», если количество попыток меньше 4,

сообщение «Хорошо», если количество попыток от 4 до 7,

сообщение «Слабо!», если количество попыток больше 7.

  1. Результат показать преподавателю.


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3


Тема: Условный оператор

Цель: Закрепить навыки использования условного оператора

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

  1. Установите на форме следующие объекты и измените им свойства о

Объект

Свойство

Значение

Командная кнопка


Name

Command1

Caption

Переключи

Изображения

Name

ImgAvto

Picture

\Icons\Traffic\Trffc6

Name

ImgDog

Picture

\Icons\Arrows\Point08

Name

ImgR

Picture

\Icons\Traffic\Trffc10c

Name

ImgG

Picture

\Icons\Traffic\Trffc10a

Name

ImgY1

Picture

\Icons\Traffic\Trffc10b

Name

ImgY2

Picture

\Icons\Traffic\Trffc10b

Таймеры

Name

Timer1

Name

Timer2


  1. Выделите все изображения светофора (при нажатой клавише Shift) и установите следующие значения для свойств:

  • Stretch True

  • Left 1000

  • Top 200

  • Height 1000

  • Whello_html_3ccad80f.png
    idth 1000

  1. Приведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click для объекта Command1 набрать


If ImgG.Visible = True Then

'выключи зеленый включи желтый

ImgG.Visible = False

ImgY1.Visible = True

Timer1.Interval = 0

Timer2.Interval = 0

Exit Sub

End If

If ImgY1.Visible = True Then

'выключи желтый включи красный

ImgY1.Visible = False

ImgR.Visible = True

Timer1.Interval = 0

Timer2.Interval = 1

Exit Sub

End If

If ImgR.Visible = True Then

'выключи красный включи желтый

ImgR.Visible = False

ImgY2.Visible = True

Timer1.Interval = 0

Timer2.Interval = 0

Exit Sub

End If

If ImgY2.Visible = True Then

'выключи желтый включи зеленый

ImgY2.Visible = False

ImgG.Visible = True

Timer1.Interval = 1

Timer2.Interval = 0

Exit Sub

End If


  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать


ImgAvto.Top = ImgAvto.Top - 50

If ImgAvto.Top < 0 Then ImgAvto.Top = 4000


  1. В окне кода процедуры обработки события Timer для объекта Timer2 набрать


ImgDog.Left = ImgDog.Left - 50

If ImgDog.Left < 0 Then ImgDog.Left = 4000


  1. Проверьте работу программы

  2. Измените приложение, включив проверку на аварию, для этого в процедуру Timer1_Timer добавьте


X1 = ImgDog.Left : Y1 = ImgDog.Top

X2 = ImgAvto.Left : Y2 = ImgAvto.Top

If (X2 > X1 - 500) And (X2 < X1 + 500) Then

If (Y2 < Y1 + 500) And (Y2 > Y1 - 500) Then

MsgBox "Авария"

ImgAvto.Top = 4000

ImgDog.Left = 4000

End If

End If

  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4


Тема: Выбор в программе

Цель: Закрепить навыки использования условного оператора


Постановка задачи: Организовать движение шарика внутри прямоугольного поля и уменьшение его размеров. При щелчке по шарику его размер увеличивается. Игра заканчивается, когда размеры шарика становятся достаточно малы.


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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Фигура

Name

Pole

Shape

0

Изображение

Name

Shar


Stretch

True

Таймер

Name

Timer1

Interval

50


  1. Пhello_html_m364f229c.png
    риведите свою форму в соответствие с образцом



  1. В разделе общих объявлений набрать:


Dim x1, y1, x2, y2, sx, sy, w, h As Integer


  1. В окне кода процедуры обработки события Load набрать для объекта Form


'координаты границ поля

x1 = Pole.Left

y1 = Pole.Top

x2 = Pole.Width + x0

y2 = Pole.Height + y0

sx = 100 'шаг по горизонтали

sy = 100 'шаг по вертикали


  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать


'двигаем и уменьшаем шар

shar.Left = shar.Left + sx

shar.Top = shar.Top + sy

shar.Height = shar.Height - 1

shar.Width = shar.Width - 1

w = shar.Width

h = shar.Height

'проверка на изменение движения

If (shar.Left < x1) Or (shar.Left + w > x2) Then sx = sx * (-1)

If (shar.Top < y1) Or (shar.Top + h > y2) Then sy = sy * (-1)

'проверка на окончание игры

If w < 20 Or h <20 Then

MsgBox "Вы проиграли"

End

End If


  1. В окне кода процедуры обработки события Click для объекта Shar набрать


shar.Height = shar.Height + 50

shar.Width = shar.Width + 50

MsgBox "Ой, Ой"


  1. Проверить работу программы

  2. Измените программу так, чтобы

  • при увеличении размера шарика до 1500, выходило сообщение «Поздравляю. Вы победили»

  • шарик двигался с различной скоростью (менять скорость при столкновении со стенкой)


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5


Тема: Выбор в программе

Цель: Получить навыки использования оператора множественного выбора

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Командная кнопка

Name

CmdResult

Caption

Определить

Рамки

Caption

Сколько Вам лет


Caption

Чем следует заниматься

Метки

Name

LblLet

Caption

(отсутствует)

Name

LblInfo

Caption

(отсутствует)

Текстовое окно

Name

TxtLet


  1. Приведите свою форму в соответствие с образцом

hello_html_675504f1.png



  1. В окне кода процедуры обработки события Click для cmdResult набрать

Dim n, k As Integer

Dim info As String


n = Val(TxtLet.Text)


'определим текстовую запись возраста


If n >= 10 And n <= 20 Then

info = "лет"

Else

k = n Mod 10

Select Case k

Case 1

info = "год"

Case 2, 3, 4

info = "года"

Case Else

info = "лет"

End Select

End If

LblLet.Caption = info


'определим род деятельности


Select Case n

Case Is < 7

info = "детский сад"

Case 7 To 16

info = "учеба в школе"

Case 17 To 21

info = "учеба в ВУЗе"

Case 22 To 55

info = "трудовая деятельность"

Case Else

info = "заслуженный отдых - пенсия"

End Select


LblInfo.Caption = info


  1. Проверьте работу программы.

  2. Добавьте на форму текстовое окно (для ввода номера месяца рождения) и метку(для вывода времени года). Добавьте в программу CmdResult_Click код для определения времени года по номеру месяца рождения.

  3. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6


Тема: Выбор в программе

Цель: Закрепить навыки использования условного оператора и оператора множественного выбора


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

  1. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командная кнопка


Name

CmdEdit

Caption

Преобразовать

Переключатели

Name

OptMSek1

Caption

м/сек

Name

OptKmSek1

Caption

км/сек

Name

OptKmUr1

Caption

км/час

Name

OptMSek2

Caption

м/сек

Name

OptKmSek2

Caption

км/сек


Name

OptKmUr2


Caption

км/час

Текстовое окно

Name

TxtDano

Метка

Name

LblResult

hello_html_2b6e2b45.png

  1. Приведите свою форму в соответствие с образцом


  1. В разделе общих объявлений объявите переменные S1, S2

  2. В окне кода процедуры обработки события Click набрать


для optMSek1: S1=1

для optKmSek1: S1=2

для optKmUr1: S1=3

для optMSek2: S2=1

для optKmSek2: S2=2

для optKmUr2: S2=3


  1. В окне кода процедуры обработки события Click для cmdEdit набрать:


x = Val(TxtDano.Text)

If S1 = 1 Then

If S2 = 1 Then y = x

If S2 = 2 Then y = x / 1000

If S2 = 3 Then y = x * 3.6

End If

If S1 = 2 Then

If S2 = 1 Then y = x * 1000

If S2 = 2 Then y = x

If S2 = 3 Then y = x * 3600

End If

If S1 = 3 Then

If S2 = 1 Then y = x / 3.6

If S2 = 2 Then y = x / 3600

If S2 = 3 Then y = x

End If

LblResult.Caption = Str(y)


  1. Проверьте работу программы

  2. Измените программный код, заменив использование условного оператора на оператор множественного выбора (самостоятельно).

  3. Результат показать преподавателю.


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7

Тема: Выбор в программе

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

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

  1. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командная кнопка

Name

CmdResult

Caption

Решение задачи

Рамка

Caption

Отметьте искомую величину

Изображение

Picture

\Clipart\Scales

Переключатели

Name

OptM

Caption

Масса

Name

OptV

Caption

Объем

Name

OptP

Caption

Плотность

Метки

Name

LblZm


Caption

(отсутствует)


Name

LblZv


Caption

(отсутствует)


Name

LblZp


Caption

(отсутствует)

Текстовые окна

Name

TxtZm


Text

(отсутствует)


Name

TxtZv


Text

(отсутствует)


Name

TxtZp


Text

(отсутствует)

Списки

Name

LstM


Name

LstV


Name

LstP

Остальные объекты – метки, для которых измените свойство Caption.


  1. Приведите свою форму в соответствие с образцом

  2. В разделе общих объявлений объявите переменные

Dim s, nv, np, nm

  1. В окне кода процедуры обработки события Load для объекта Form набрать

LstM.AddItem "мг"

LstM.AddItem "г"

LstM.AddItem "кг"


LstV.AddItem "куб.мм"

LstV.AddItem "куб.см"

LstV.AddItem "куб.дм"


LstP.AddItem "мг на куб.мм"

LstP.AddItem "г на куб. см"

LstP.AddItem "кг на куб.дм"

  1. В окне кода процедуры обработки события Click для объекта LstM набрать

nm = LstM.ListIndex

LblM.Caption = LstM.List(nm)

  1. Самостоятельно набрать программный код для объектов LstV , LstP

  2. Вhello_html_m10de7064.png
    окне кода процедуры обработки события Click набрать

для OptM s = 1 для OptV s = 2 для OptP s = 3

  1. В окне кода процедуры обработки события Click для объекта CmdResult набрать

v = Val(TxtZv.Text) : p = Val(TxtZp.Text): m = Val(TxtZm.Text)

'переведем массу в кг

If nm = 0 Then m = m / 1000000 : If nm = 1 Then m = m / 1000

'переведем объем в куб дм

If nv = 0 Then v = v / 1000000 : If nv = 1 Then v = v / 1000

Select Case s

Case 1 'определяем массу

m = p * v

Select Case nm

Case 0 'мг

m = m * 1000000

Case 1 'г

m = m * 1000

End Select

TxtZm.Text = m

Case 2 'определяем объем

v = m / p

Select Case nv

Case 0 'куб мм

v = v * 1000000

Case 1 'куб см

v = v * 1000

End Select

TxtZv.Text = v

Case 3 'определяем плотность

p = m / v

TxtZp.Text = p

End Select

  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8

Тема: Программирование графики

Цель: Получить навыки использования графических методов


Порядок выполнения 1 часть

  1. Откройте новый проект.

  2. Установите на форме следующие объекты и измените им свойства:

    Объект

    Свойство

    Значение

    Командная кнопка

    Name

    CmdResult

    Caption

    Пять точек

    Графическое окно

    Name

    Pic1


    Width

    1500


    Height

    1500


    BackColor

    черный

  3. В окне кода процедуры обработки события Click для объекта CmdResult набрать

pic1.Scale (-10, 10)-(10, -10) 'назначить объекту новую систему координат

pic1.DrawWidth = 10 'изменим размеры точки

pic1.ForeColor = vbWhite ' цвет точек - белый

pic1.PSet (0, 0) 'вывод точек

pic1.PSet (-5, -5)

pic1.PSet (5, 5)

pic1.PSet (-5, 5)

pic1.PSet (5, -5)

  1. Проверьте работу программы

  2. Измените программу для вывода а) четырех точек; б) шести точек (самостоятельно)

  3. Результат показать преподавателю. 2 часть

  4. Откройте новый проект.

  5. Установите на форме следующие объекты и измените им свойства:

    Объект

    Свойство

    Значение

    Командные кнопки

    Name

    CmdFlag

    Caption

    Флаг России

    Name

    CmdStart


    Caption

    Пуск

  6. В окне кода процедуры обработки события Click для объекта CmdFlag набрать

Cls

Line (2000, 2000)-(4000, 2500), vbWhite, BF

PSet (2000, 2200)

Print "Да Здравствует РОССИЯ!"

Line (2000, 2500)-(4000, 3000), vbBlue, BF

Line (2000, 3000)-(4000, 3500), vbRed, BF

Line (2000, 2000)-(2000, 4000)

  1. В окне кода процедуры обработки события Click для объекта CmdStart набрать

Cls

Line (200, 200)-(2200, 200), vbBlue 'вывод тонкой горизонтальной линии

DrawWidth = 6 'вывод толстой вертикальной линии

Line (200, 400)-(200, 2000), vbRed

DrawWidth = 3 'вывод наклонного отрезка средней толщины

Line (600, 1400)-(1200, 500), vbGreen

Line (1600, 2000)-(400, 1500), , B 'прямоугольник незакрашенный

Line (3000, 1400)-(2200, 500), vbCyan, BF 'прямоугольник закрашенный


  1. Проверьте работу программы.

  2. Самостоятельно измените программу так, чтобы она рисовала флаги Франции (вертикальные полосы - синяя, белая, красная), Германии (горизонтальные полосы – черная, красная, желтая)

3 часть

  1. Откройте новый проект.

  2. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командные кнопки

Name

Cmd1

Caption

Круг и эллипсы

Name

Cmd2


Caption

Дуга, сектор круга, сектор эллипса

Графические окна

Name

Pic1


Height

3600


Width

2000


Name

Pic2


Height

1300


Width

4500


  1. В окне кода процедуры обработки события Click для объекта набрать Cmd1

Pic1.Scale (0, 30)-(16, 0)

Pic1.ForeColor = QBColor(7) 'установим цвет линии

Pic1.FillStyle = 0 'установим стиль заполнения (сплошной)

Pic1.Circle (8, 25), 4 'вывод окружности

Pic1.FillColor = QBColor(7) 'установим цвет заполнения и линии

Pic1.ForeColor = QBColor(0)

Pic1.Circle (8, 16), 5.5, , , , 0.5 'овал горизонтальный

Pic1.Circle (8, 6.5), 4.5, , , , 1.5 'овал вертикальный

  1. В окне кода процедуры обработки события Click для объекта набрать Cmd2

pic2.Scale (0, 16)-(40, 0)

'установим стиль заполнения сплошной, цвет заполнения и линий серый

pic2.FillStyle = 0

pic2.FillColor = QBColor(7)

pic2.ForeColor = QBColor(7)

'выводим четыре окружности

pic2.Circle (5, 8), 4.5

pic2.Circle (15, 8), 4.5

pic2.Circle (25, 8), 4.5

pic2.Circle (35, 8), 4.5

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

pic2.ForeColor = QBColor(0)

pic2.FillStyle = 7

pic2.FillColor = QBColor(12)

'вывод дуг и секторов

pic2.Circle (5, 8), 4.5, , 1, 5

pic2.Circle (15, 8), 4.5, , -1, -5

pic2.Circle (25, 8), 4.5, , -5, -1

pic2.Circle (35, 8), 4.5, vbBlack, -0.3, -5.8, 1.5


  1. Проверьте работу программы.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9

Тема: Программирование графики

Цель: Закрепить навыки использования графических методов

1 часть

Постановка задачи: Нарисовать узор, который образован из нескольких вложенных квадратов. Стороны первого квадрата параллельны осям координат экрана. Вершины каждого последующего квадрата – это точки на сторонах предыдущего квадрата, делящие эти стороны в отношении 0,08


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

  1. Откройте новый проект.

  2. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командная кнопка

Name

CmdResult

Caption

Нарисуй

Рамка

Caption

Выбери цвет линий узора

Картинка

Name

Picture1

Height

3000

Width

3000

Переключатели

Name

Opt1


Caption

Разноцветный


Name

Opt2


Caption

Черный

  1. В разделе общих объявлений набрать


Dim x1, y1, x2, y2, x3, y3, x4, y4, k


  1. В окне кода процедуры обработки события Load для объекта Form набрать


Picture1.Cls

x1 = 0 : y1 = 0

x2 = Picture1.Width : y2 = 0

x3 = Picture1.Width : y3 = Picture1.Height

x4 = 0 : y4 = Picture1.Height

k = 0.1


  1. В окне кода процедуры обработки события Click для объекта CmdResult набрать


If Opt1.Value = True Then

Picture1.ForeColor = QBColor(Int(Rnd * 15) + 1)

Else

Picture1.ForeColor = QBColor(0)

End If

Picture1.Line (x1, y1)-(x2, y2)

Picture1.Line (x2, y2)-(x3, y3)

Picture1.Line (x3, y3)-(x4, y4)

Picture1.Line (x4, y4)-(x1, y1)

X0 = x1

Y0 = y1

x1 = x1 + (x2 - x1) * k

y1 = y1 + (y2 - y1) * k

x2 = x2 + (x3 - x2) * k

y2 = y2 + (y3 - y2) * k

x3 = x3 + (x4 - x3) * k

y3 = y3 + (y4 - y3) * k

x4 = x4 + (X0 - x4) * k

y4 = y4 + (Y0 - y4) * k


  1. Пhello_html_73855025.pngроверьте работу программы, выполняя многократное нажатие кнопки «Нарисуй»

  2. Измените у формы свойство DrawWidth (увеличьте значение). Просмотрите работу программы

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

  4. Самостоятельно разработать программу, которая начертить узор, описанный в постановке задачи, но составленный из а) треугольников; б) пятиугольников; в) шестиугольников

2 часть

  1. Откройте новый проект.

  2. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Командные кнопки

Name

CmdStart

Caption

Старт

Name

CmdStop

Caption

Стоп

Таймер

Name

Timer1

Форма

DrawWidth

10

  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать

Dim x, y

Dim R, G, B

x = Form1.ScaleWidth * Rnd()

y = Form1.ScaleHeight * Rnd()

R = Int(256 * Rnd())

G = Int(256 * Rnd())

B = Int(256 * Rnd())

Form1.PSet (x, y), RGB(R, G, B)

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

  2. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10

Тема: Условный оператор. Графические методы

Цель: Закрепить навыки использования условного оператора и графических методов

Постановка задачи: Разработать приложение, имитирующее работу часов с минутной и секундной стрелками

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Линии

Name

Line1

Name

Line2

Фигура

Name

Shape1

Shape

0

Таймеры

Name

Timer1

Interval

1

Переключатели

Name

Timer2


Interval

0


  1. В разделе общих объявлений набрать:


Dim i, j, x, y As Integer


  1. В окне кода процедуры обработки события Load для объекта Form набрать


'назначить для формы новую систему координат

Scale (-120, 120)-(120, -120)

'установить размер циферблата часов

Shape1.Height = 120

Shape1.Width = 120

Shape1.Left = -60

Shape1.Top = 60

'установить положение стрелок

Line1.X1 = 0

Line1.Y1 = 0

Line1.X2 = 0

Line1.Y2 = 60

Line2.X1 = 0

Line2.Y1 = 0

Line2.X2 = 0

Line2.Y2 = 30

'циферблат разбит на три зоны

'переменные определяют в какую зону попадают часовая и минутная стрелки

i = 1

j = 1


  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать


'таймер для секундной стрелки


x = Line1.X2 : y = Line1.Y2

If i = 1 Then ' с 0 до 15 мин

x = x + 4

b = Int(x ^ 2)

y = Sqr(3600 - b)

Line1.X2 = x : Line1.Y2 = y

If Int(x) = 60 Then i = 2

Exit Sub

End If

If i = 2 Then 'с 15 до 45 мин

x = x - 4

b = Int(x ^ 2)

y = Sqr(3600 - b)

Line1.X2 = x : Line1.Y2 = y * (-1)

If x = -60 Then i = 3

Exit Sub

End If

If i = 3 Then 'с 45 до 60 мин

x = x + 4

b = Int(x ^ 2)

y = Sqr(3600 - b)

Line1.X2 = x : Line1.Y2 = y

If Int(x) = 0 Then i = 1: Timer2_Timer

Exit Sub

End If


  1. В окне кода процедуры обработки события Timer для объекта Timer2 набрать

'таймер для часовой стрелки

'таймер для минутной стрелки

x = Line2.X2 : y = Line2.Y2

If j = 1 Then ' с 0 до 15 мин

x = x + 10

b = Int(x) ^ 2

y = Sqr(900 - b)

Line2.X2 = x : Line2.Y2 = y

If Int(x) = 30 Then j = 2

Exit Sub

End If

If j = 2 Then 'с 15 до 45 мин

x = x - 10

b = Int(Abs(x)) ^ 2

y = Sqr(900 - b)

Line2.X2 = x : Line2.Y2 = y * (-1)

If Int(Abs(x)) = 30 Then j = 3

Exit Sub

End If

If j = 3 Then 'с 45 до 60 мин

x = x + 10

b = Int(x) ^ 2

y = Sqr(900 - b)

Line2.X2 = x : Line2.Y2 = y

If Int(Abs(x)) = 0 Then j = 1

Exit Sub

End If


  1. Проверьте работу программы

  2. «Отрегулируйте» работу ваших часов, так чтобы их ход максимально соответствовал ходу настоящих часов.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11

Тема: Оператор цикла.

Цель: Получить навыки использования оператора цикла по счетчику

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

  1. Установите на форме следующие объекты и измените им свойства: 1 часть


Объект

Свойство

Значение

Командная кнопка

Name

Cmd1

Caption

Вывести

Рамки

Caption

Параметры оператора цикла

Caption

Введите текст

Caption

Текст наоборот

Текстовые окна

Name

Txt1


Name

Txt2


Name

TxtStep


Name

Text1


Name

Text2

Командные кнопки

Caption

Вывести

Name

Cmd1

Caption

Перевернуть


Name

Cmd2


  1. Пhello_html_m544bb7a0.png
    риведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click для объекта Cmd1 набрать:


n1 = Val(Txt1.Text)

n2 = Val(Txt2.Text)

n3 = Val(TxtStep.Text)

Cls

For i = n1 To n2 Step n3

Print i

Next i


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


  1. В окне кода процедуры обработки события Click для объекта Cmd2 набрать:


s = Text1.Text

k = Len(s)

b = ""

For i = k To 1 Step -1

b = b + Mid(s, i, 1)

Next i

Text2.Text = b


  1. Проверьте работу программы на различных фразах, в том числе на следующих фразах:


А РОЗА УПАЛА НА ЛАПУ АЗОРА АРГЕНТИНА МАНИТ НЕГРА


hello_html_6248199a.png2 часть

  1. Добавьте на форму следующие объекты и измените им свойства

Объект

Свойство

Значение

Командная кнопка

Name

Cmd3

Caption

Пуск

Рамка

Caption

Таблица умножения на

Текстовое окно

Name

TxtNum

Графическое окно

Name

PicTabl


  1. В окне кода процедуры обработки события Click для объекта Cmd3 набрать


n = TxtNum.Text

For i = 1 To 10

PicTabl.Print i; " * "; n; " = "; n * i

Next i


  1. Проверьте работу программы


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 12

Тема: Оператор цикла.

Цель: Получить навыки использования оператора цикла по условию

Порядок выполнения 1 часть

Постановка задачи: Организовать ввод чисел. Ввод закончить при вводе нуля. Найти среднее арифметическое значение введенных чисел

  1. Установите на форме следующие объекты и измените им свойства:

    Объект

    Свойство

    Значение

    Командная кнопка

    Name

    Cmd1

    Caption

    Ввод чисел

    Список

    Name

    List1

    Текстовые окна

    Name

    TxtSr


    Text

    (Отсутствует)

    Метка

    Caption

    Среднее значение

  2. Пhello_html_m5febee06.png
    риведите свою форму в соответствие с образцом

  3. В окне кода процедуры обработки события Click для объекта Cmd1 набрать

List1.Clear

s = 0 : k = 0

Do

x = Val(InputBox("Введите значение( или ноль для окончания ввода"))

s = s + x : k = k + 1

List1.AddItem x

Loop While x <> 0

txtSr.Text = s / (k - 1)

  1. Проверьте работу программы 2 часть

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

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

    Объект

    Свойство

    Значение

    Командная кнопка

    Name

    Cmd2

    Caption

    Вычислить

    Текстовые окна

    Name

    TxtProzent

    Name

    TxtSumma0

    Name

    TxtN

    Name

    TxtYear

    Name

    TxtItog

    Мhello_html_m1bb87d3b.png
    етки


  2. Приведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Click для объекта Cmd2 набрать


proz = Val(TxtProzent.Text) / 100 + 1

s0 = Val(TxtSumma0.Text)

n = Val(TxtN.Text)

summa = s0 : y = 0

Do While summa < s0 * n

y = y + 1

summa = summa * proz

Loop

TxtItog.Text = summa

TxtYear.Text = y


  1. Проверьте работу программы 3 часть

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

  1. Добавьте на форму объекты и измените им свойства:

Объект

Свойство

Значение

Командная кнопка

Name

Cmd3

Caption

Определить

Текстовые окна

Name

TxtGod

Name

TxtPrirost

Name

TxtK

Name

TxtMan0

Список

Name

List2

Метки




  1. Приведите свою форму в соответствие с образцом

hello_html_m1bfb4fcb.png

  1. В окне кода процедуры обработки события Click для объекта Cmd3 набрать


x = Val(TxtMan0.Text)

y = Val(TxtGod.Text)

d = Val(TxtPrirost.Text) / 100 + 1

k = Val(TxtK.Text)

summa = x

Do Until summa >= x * k

y = y + 1

summa = summa * d

List2.AddItem Str(y) + " год " + Str(summa)

Loop


  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 13

Тема: Оператор цикла. Графические методы

Цель: Закрепить навыки использования оператора цикла и графических методов

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

  1. Установите на форме следующие объекты и измените им свойства: 1 часть


Объект

Свойство

Значение

Командная кнопка

Name

Cmd

Caption

Нажми

Графическое окно

Name

PicShah

Height

2500

Width

2500

  1. В окне кода процедуры обработки события Click для объекта Cmd набрать:


PicShah.Scale (0, 0)-(8, 8)

For i = 1 To 8

For j = 1 To 8

n = n + 1

If (i + j) Mod 2 = 0 Then c = vbWhite Else c = vbRed

PicShah.Line (i - 1, j - 1)-(i, j), c, BF

Next j

Next i


  1. Проверьте работу программы. 2 часть

  2. Откройте новый проект и установите следующие объекты и измените им свойства

    Объект

    Свойство

    Значение

    Рамки

    Caption

    График функции y=sin(x)

    Caption

    Цвет графика

    Caption

    Элемент графика

    Caption

    График функции y=x^2

    Командные кнопки

    Name

    Cmd1

    Caption

    Пуск

    Name

    Cmd2

    Caption

    Убрать графики

    Графические окна

    Name

    PicSin

    Height

    1200

    Width

    4800

    Name

    PicSqr

    Height

    2300

    Width

    2300

    Переключатели

    Name

    OptBl

    Caption

    Черный

    Name

    OptRed

    Caption

    Красный

    Name

    OptBlue

    Caption

    Синий

    Name

    OptPset

    Caption

    Точка

    Name

    OptCirc

    Caption

    Окружность

    Name

    OptOval


    Caption

    Овал

  3. Пhello_html_m7949f55c.png
    риведите свою форму в соответствие с образцом

  4. В разделе общих объявлений объявите переменные z (цвет),. R(радиус), k (степень искажения)

  5. В окне кода процедуры обработки события Click для объекта Cmd1 набрать:


PicSin.Scale (0, 10)-(20, -10)

For x = 0 To 20 Step 0.05

y = Sin(x) * 10

PicSin.Circle (x, y), r, z, , , k

Next x


PicSqr.Scale (-10, 100)-(10, -10)

For x = -10 To 10 Step 0.001

y = x ^ 2

PicSqr.Circle (x, y), r, z, , , k

Next x


  1. Самостоятельно набрать код для кнопки Cmd2 и переключателей.. Проверьте работу программы

  2. Добавьте на форму командную кнопку и графическое окно (размер 1000 на 1000). Для новой кнопки набрать код, который выполняет построение спирографа.

A

Спирограф – это зубчатый диск радиуса В, расположенный внутри колеса радиуса А. В диске имеется небольшое отверстие радиуса D. Уравнение кривой имеет вид:

X=(A-B) cos (t) + D cos (v),

Y=(A-B) sin (t)-D cos (v), где

v=(A/B) t, D<B<A

Угол t меняется от 0 до 2 n, n равно В, деленному на наибольший общий делитель В и А

= 125: B = 75: D = 12

Pic1.Scale (-A, A)-(A, -A)

k = A: m = B

Do While k <> m 'НАХОЖДЕНИЕ НОД

If k > m Then k = k - m Else m = m - k

Loop

n = B / k

For t = 0 To 2 * 3.1428 * n Step 0.001

V = (A / B) * t

x = (A - B) * Cos(t) + D * Cos(V)

y = (A - B) * Sin(t) - D * Sin(V)

Pic1.Circle (x, y), 1, z

Next t

  1. Проверить работу программы на различных значениях для A B D.


Задания для самостоятельного выполнения

При выполнении ниже приведенных заданий должны быть выполнены следующие требования:

  • приложение должно иметь удобный интерфейс;

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

  • имена переменных должны быть информативны;

  • все используемые переменные должны быть объявлены;


Задание № 1

Ввести три числа.

  • Вывести сообщение «да», если числа введены в порядке возрастания., в противном случае вывести «нет»;

  • Найти среднее арифметическое min и max.;

  • Найти разницу между min и max;

  • Найти сумму двух из них, которые не являются min.


Задание № 2

  • Ввести координаты для двух отрезков. Определить пересекаются ли они.

  • Ввести координаты центров для двух окружностей и их радиусы. Определить, пересекаются ли окружности.


Задание № 3

Ввести четыре числа:

  • Вывести два наибольших числа.

  • Вывести два из них, расположенных между max и min.

Задание № 4

  • Ввести стороны двух прямоугольников. Определить, у какого из них больше площадь.

  • Ввести стороны прямоугольника и радиус круга. Определить, поместится ли круг внутри прямоугольника.


Задание № 5

  • Ввести число N, определяющее номер месяца года Вывести название времени года

  • Ввести число от 0 до 1000000. Определить количество цифр в числе.

  • Ввести число, определяющее школьную оценку (2,3,4,5). Вывести текстовую запись оценки (неуд, удовлетворительно, хорошо, отлично).


Задание № 6

Разработать приложение, которое позволяет определять оценку за контрольную работу по физике. Оценка зависит от суммы набранных баллов так, как показано в табл. Форму разработать в соответствии с образцом.

Баллы

Оценка

Менее 15

От 15 до 24

От 25 до 34

Не менее 35

2

3

4

5

hello_html_m3599c7b8.png















Зhello_html_10d3983f.pngадание № 7

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








Зhello_html_m363dc344.pngадание № 8

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







hello_html_47feb890.png






Задание № 9

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

(см. образец).

Задание № 10

Вывести все числа от 1 до 1000, которые:

  • являются квадратами четных чисел.

  • кратны 3 и не кратны 5

Задание № 11

Ввести два числа А и С.

  • Найти произведение этих чисел, используя только операцию сложения.

  • Вычислить АС, используя только операцию умножения.

Задание № 12

Ввести число. Определить:

  • количество цифр в числе.

  • сумму этих цифр.

Задание № 13

В текущем месяце бригада в каждый последующий день работы выпускала на три изделия больше, чем в предыдущий. В первый день было выпущено 42 изделия, что составило 67% дневной нормы.(В месяце 26 рабочих дней). Напечатайте “Бригада выполнила норму” или “Бригада не выполнила норму”, в зависимости от полученного результата.


Задание № 14

Ввести текст.

  • Вывести каждый второй символ.

  • Определить сколько раз в нем встречается буква “а”.

  • Определить сколько раз в строке встречается сочетание “ен”

  • Выведите этот текст, удалив все цифры (коды цифр с 48 до 57).

Задание № 15

  • Составить программу перевода десятичного числа в двоичное.

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

Список использованной литературы


  1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995

  2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.

  3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998

  4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000

  5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999


Название документа VB Лабораторный практикум 4 часть.doc

Государственное бюджетное образовательное учреждение

высшего профессионального образования Московской области

«Международный университет природы, общества и человека «Дубна»

(Университет «Дубна»)

Филиал ДИНО университета «Дубна»











ЛАБОРАТОРНЫЙ ПРАКТИКУМ

4 часть


Visual Basic. Основы программирования

Теория

Лабораторно-практические работы

Задания для самостоятельного выполнения















Дмитров 2012




Автор:

Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».











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

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




Содержание


Содержание 3

Предисловие 4

Создание меню 5

Редактор меню 5

Отображение контекстного меню 5

Работа с несколькими окнами 6

Стандартные диалоговые окна 6

Параметры выделенного текста 6

Использование буфера обмена (объект Clipboard) 7

События клавиатуры и мышки 7

События, возникающие при работе с мышью 7

События, возникающие при работе с клавиатурой 7

События, связанные с фокусом 7

Лабораторно-практические работы 8

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1 8

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2 9

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3 10

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4 11

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5 12

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6 13

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7 15

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8 17

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9 19

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10 22

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11 24

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 12 26

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 13 28

Задания для самостоятельного выполнения 30

Задание № 1 30

Задание № 2 30

Задание № 3 30

Задание № 4 31

Задание № 5 31

Задание № 6 31

Задание № 7 31

Список использованной литературы 32




Предисловие


Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное учебное пособие может быть полезно преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.

Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.

Учебное пособие ( часть 4 )состоит из трех основных разделов:

  1. Теория

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

Этот материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять лабораторно-практические работы.


  1. Лабораторно-практические работы по темам:

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

Выполнение практических работ № 12, 13 не является обязательным (на усмотрение преподавателя)


  1. Задания для самостоятельного выполнения

Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.


Как работать с пособием.


Для правильной работы необходимо иметь:

  • Операционную систему Windows 95 или более поздней версии;

  • Visual Basic 5.0. и выше;

  • Процессор Pentium 166 MHz и выше;

  • 5 MB HDD и более;

  • Драйвер CD ROM;

  • Монитор VGA или более высокого разрешения;

  • 16 MB RAM;

  • Мышь.

При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.


Использованию данного учебного пособия должно предшествовать изучение теоретического материала по тематике практических работ.

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

Создание меню


Система меню – это основа пользовательского интерфейса. Большинство команд и возможностей программы доступны в виде меню. Visual Basic позволяет разрабатывать и кодировать меню прикладной программы.

Для создания меню в Visual Basic предназначен Редактор меню (Menu Editor). Редактор меню позволяет создавать новое меню и строки меню, добавлять в меню новые команды, а также изменять и удалять существующие пункты меню.

Редактор меню

Рhello_html_m510df71b.pnghello_html_m409ebd57.pngедактор меню вызывается командой Tools / Menu Editor или щелчком по пиктограмме


В результате открывается окно.

Двумя важнейшими свойствами элемента управления меню являются:

Caption (Надпись) – это текст, который появляется на пункте меню.

Name (Имя) – значение этого свойства используется для ссылки на пункт меню из программы;

Для создания разделительной черты (разделяет функциональные группы пунктов меню) вместо имени вводится символ «-»;

Shortcut - раскрывающийся список комбинаций клавиш, из которого можно выбрать комбинацию «горячих» клавиш элементов списка меню;

Checked - флажок, при установке которого помечается пункт выбранною меню;

Enabled - флажок, при установке которого пункт меню доступен;

Visible - флажок, при установке которого пункт меню виден;

  кнопки изменения уровня пунктов меню;

  кнопки изменения позиции пунктов меню на одном и том же уровне:

Кнопки Next, Insert. Delete обеспечивают переход к следующему пункту меню, вставку и удаление пункта.


Отображение контекстного меню

Контекстное меню – это меню, которое отображается в любом месте формы и не привязано к строке меню. Любое меню, имеющее по крайней мере одну команду, можно отобразить во время выполнения, как контекстное. Для этого используют метод PopupMenu, формат записи его таков:


ИмяОбъекта.PopupMenu


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

Работа с несколькими окнами


Для создания многооконного интерфейса в проект можно добавлять несколько форм. Для того чтобы добавить новую форму , следует выполнить команду Project / Add Form, в появившемся окне выбрать Form нажать Открыть.

При проектировании нескольких форм удобно на экране расположить окно проекта (View / Project Explorer), в нем отображены имена форм, включенных в проект.

Каждая форма проекта хранится в своем собственном файле формы (расширение .Frm)

Файл формы содержит:

  • описание формы;

  • список средств управления;

  • текст программы для формы и ее средств управления.

Когда вы ссылаетесь на объект в проекте с одной формой, вы просто указываете его название. В проекте с несколькими формами при обращении к объекту перед его названием необходимо поставить название формы, для отделения имени формы от имени объекта используется знак восклицания (!) или точка.

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


ИмяФормы.Show


Чтобы скрыть форму используется метод Hide


ИмяФормы.Hide


При загрузке программы первая форма является стартовой. Стартовой можно сделать любую из форм, для этого выполните Project / Project Properties, далее из списка Startup Object выбрать нужную форму


Стандартные диалоговые окна

С помощью объекта CommonDialog отображается 6 вариантов диалоговых окон (перечисленных ниже), вид окна зависит от используемого метода или значения свойства Action.

Вид окна

Метод

Значение свойства Action

Файл Открыть

ShowOpen

1

Файл Сохранить Как

ShowSave

2

Выбор цвета

ShowColor

3

Окно форматирования

ShowFont

4

Печать

ShowPrinter

5

Окно справки

ShowHelp

6


Параметры выделенного текста


В текстовом окне можно выделять текст. Выделенный текст имеет три параметра.


SelLength равен числу символов в выделенном тексте (=0, если текст не выделен)

SelStart определяет начало выделенного текста ( или положение указателя вставки, если текст не выделен)

SelText содержит сам выделенный текст


Использование буфера обмена (объект Clipboard)


SetText записывает копию текста в буфер обмена

GetText возвращает копию текста из буфера обмена

SetData записывает копию выбранного рисунка в буфер обмена

GetData возвращает содержимое буфера обмена (копию рисунка)

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

Clear стирает содержимое буфера обмена


События клавиатуры и мышки


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


События, возникающие при работе с мышью


Событие

Описание

Параметры событий

Click

Щелчок


DblClick

Двойной щелчок


MouseDown

Кнопка мыши нажата

Shift – определяет статус клавиш Shift( 1 ), Ctrl( 2 ), Alt(4) ни одна кнопка не нажата - 0
Button – определяет статус нажатой кнопки (левая - 1, правая - 2, средняя–4,) X,Y – позиция указателя курсора

MouseUp

Нажатая кнопка мыши отпущена

MouseMove

Мышь перемещается из своей текущей позиции

DragDrop

Завершение перетаскивания

Source – ссылка на объект, который был перемещен, X,Y – позиция курсора

DragOver

«Буксируемый» объект попадает в область другого объекта

Stale – принимает значения

0 –область занята, 1–область свободна


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


Событие

Описание

Параметры событий

KeyPress

Нажата клавиша, соответствующая символу ASCII

KeyAscii- значение ASCII-кода нажатой клавиши

KeyDown

Нажата любая клавиша на клавиатуре

KeyCode – указывает нажатую клавишу

Shift – определяет статус клавиш Shift(1), Ctrl( 2 ), Alt(4)

KeyUp

Отпущена любая клавиша


События, связанные с фокусом


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


Событие

Описание

GotFocus

Получении фокуса

LostFocus

Потеря фокуса


Лабораторно-практические работы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1

Тема: События мышки

Цель: Получить навыки использования событий MouseMove

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Метка


Name

Label1

Caption

(отсутствует)


  1. В окне кода процедуры обработки события MouseMove для объекта Form набрать


Form1.Caption = "Координаты курсора " + Str(X) + " " + Str(Y)

If Button = 0 Then

Label1.Caption = "Движение мышки по форме"

End If

If Button = 1 Then

Label1.Caption = "Движение мышки по форме, нажата левая кнопка мышки"

End If

If Button = 2 Then

Label1.Caption = "Движение мышки по форме, нажата правая кнопка мышки"

End If

If Shift = 1 Then

Label1.Caption = "Движение мышки по форме, нажата Shift"

End If

If Shift = 2 Then

Label1.Caption = "Движение мышки по форме, нажата Ctrl"

End If

If Shift = 4 Then

If Shift = 1 Then

Label1.Caption = "Движение мышки по форме, нажата Shift"

End If


End If


  1. В окне кода процедуры обработки события MouseMove для объекта Label1 набрать


Label1.Caption = "Движение мышки по метке"


  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2

Тема: События мышки

Цель: Получить навыки использования событий MouseDown, MouseUp, MouseMove

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Переключатели


Caption (отсутствует)

Style - Graphical

Name

OptCD

Name

OptDisk5

Name

OptDisk3


  1. Приведите свою форму в соответствие с образцом (измените свойство Picture)

hello_html_m5e038f54.png

  1. В окне кода процедуры обработки события MouseDown для объекта Form набрать:


If OptCD.Value = True Then OptCD.Move X, Y

If OptDisk5.Value = True Then OptDisk5.Move X, Y

If OptDisk3.Value = True Then OptDisk3.Move X, Y


  1. Проверьте работу программы: выберите один из переключателей и выполните несколько щелчков в свободном месте на форме

  2. Измените программу – переместите программу из Form_MouseDown в Form_MouseUp

  3. Определите разницу в работе программы.

  4. Добавьте на форму текстовое окно (Text1)

  5. В окне кода процедуры обработки события MouseMove для объекта OptCD набрать


Text1.Text = "Это CD ROM"


  1. В окне кода процедуры обработки события MouseMove для объекта OptDisk3 набрать


Text1.Text = "Это 3-х дюймовая дискета"


  1. В окне кода процедуры обработки события MouseMove для объекта OptDisk5 набрать


Text1.Text = "это 5-ти дюймовая дискета"


  1. Проверьте работы программы

  2. Измените программу для того, чтобы при движении курсора мышки по форме в текстовом окне не было сообщения

  3. Результат показать преподавателю


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3

Тема: События мышки

Цель: Получить навыки использования событий DragDrop, DragOver

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Метка

Name

Label1

Caption

Гараж

Изображение

Name

Image1


DragMode

1- Automatic


DragIcon

(такая же картинка как и в свойстве Picture)

hello_html_m684f292a.png

  1. Приведите свою форму в соответствие с образцом

  2. Проверьте работу программы, перетаскивая мышкой изображение.

  3. Измените программу, для этого в окне кода процедуры обработки события DragDrop для объекта Form набрать


Source.Move X, Y


  1. В окне кода процедуры обработки события DragOver для объекта Form набрать


Label1.Caption = "Гараж"


  1. В окне кода процедуры обработки события DragOver для объекта Label1 набрать


Label1.Caption = "приехали"

Source.Move 0, 0


  1. Проверьте работу программы

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

  3. Проверьте “буксировку “ на всех изображениях.

  4. Результат показать преподавателю

  5. Самостоятельно разработать приложение, работающее следующим образом:

При перемещении одной из школьной принадлежности в портфель, она становится невидимой

Когда портфель полностью собран, вывести сообщение «А теперь в школу»

hello_html_bfa45b5.png

  1. Результат показать преподавателю.


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4

Тема: События мышки

Цель: Закрепить навыки использования событий DragDrop, DragOver

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

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение


Свойство


Значение


Изображение

Name

ImgGerm

Tag

1


Name

ImgBras

Tag

2


Name

ImgFra

Tag

3


Name

ImgItal

Tag

4


Name

ImgEng

Tag

5

Для всех изображений


DragMode

1- Automatic


Picture

\Icons\Flags\


DragIcon

(такая же картинка как и в свойстве Picture)

Метка

Name

LblGerm

Tag

1


Name

LblBras

Tag

2


Name

LblFra

Tag

3


Name

LblItal

Tag

4


Name

LblEng

Tag

5


  1. Пhello_html_m226ffa88.pngриведите свою форму в соответствие с образцом

  2. В окне кода процедуры обработки события DragOver для объекта LblBras набрать


If Source.Tag = ImgBras.Tag Then

Source.Top = LblBras.Top

Source.Left = LblBras.Left + LblBras.Width

Source.Visible = True

End If


  1. В окне кода процедуры обработки события DragOver для других меток код набрать самостоятельно

  2. В окне кода процедуры обработки события DragOver для объекта Form набрать


Source.Visible = False


  1. Проверить работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5

Тема: События клавиатуры.

Цель: Получить навыки использования события KeyPress, KeyUp, KeyDown


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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Рамки

Caption

Нажата клавиша

Caption

Код клавиши

Метки

Name

LblKey

Name

LblCode


  1. Пhello_html_m29105b8c.pngриведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Load для объекта Form набрать


Form1.KeyPreview = True


  1. В окне кода процедуры обработки события KeyPress для объекта Form набрать


LblKey.Caption = Chr(KeyAscii)

LblCode.Caption = KeyAscii


  1. Проверить работу программы

  2. Добавьте на форму еще одну рамку и метку (LblKeyCode)

  3. В окне кода процедуры обработки события KeyDown для объекта Form набрать


LblKeyCode.Caption = "Нажата клавиша с кодом " + Str(KeyCode)


  1. В окне кода процедуры обработки события KeyUp для объекта Form набрать


LblKeyCode.Caption = "Отпущена клавиша с кодом " + Str(KeyCode)


  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6

Тема: События клавиатуры.

Цель: Закрепить навыки использования события KeyDown, KeyUp


Постановка задачи: Разработать приложение, позволяющее перемещать шарик клавишами управления курсором( ). Движение возможно только между линиями (для проверки на столкновение с линией использовать уравнение прямой).


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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Линии

Name

Line1

Name

Line2

Фигура

Name

SSS

Shape

3

BackStyle

1

BackColor

белый

hello_html_1e6bf360.png

  1. Приведите свою форму в соответствие с образцом


  1. В окне кода процедуры обработки события Load для объекта Form набрать


Form1.KeyPreview = True


  1. В окне кода процедуры обработки события KeyDown для объекта Form набрать


'определим текущие координаты

x = sss.Left

y = sss.Top


'определим будущие координаты

If KeyCode = 37 Then 'нажата клавиша

x = x - 50

End If


If KeyCode = 39 Then ‘'нажата клавиша

x = x + 50

End If


If KeyCode = 38 Then ‘'нажата клавиша

y = y - 50

End If


If KeyCode = 40 Then ‘'нажата клавиша

y = y + 50

End If


ys1 = (Line1.Y2 - Line1.Y1) * (x - Line1.X1) / (Line1.X2 - Line1.X1) + Line1.Y1

ys2 = (Line2.Y2 - Line2.Y1) * (x - Line2.X1) / (Line2.X2 - Line2.X1) + Line2.Y1

If y < ys1 Or y > Abs(ys2) - sss.Height Then

MsgBox "Bыход за территорию!", , "Kуда пошел?"

Exit Sub

End If


sss.Move x, y 'движение


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

  2. Иhello_html_m733b4e81.png
    змените приложение, ограничив движение шарика прямоугольной зоной (внутри фигуры прямоугольник)



  1. Измените программу так, чтобы при нажатии клавиш шарик становился красным, а когда отпущена – белым.

  2. Измените программу так, чтобы управление шариком осуществлялось клавишами М (влево), И (вверх), Т (вправо) и пробел (вниз)


Результат показать преподавателю

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7


Тема: События, связанные с клавиатурой

Цhello_html_232bce3a.pnghello_html_22c63bc5.pnghello_html_588001de.pnghello_html_2504eb58.pngель: Закрепить навыки использования события KeyDown, KeyUp

Постановка задачи: Разработать приложение «Колобок», которое

должно работать следующим образом: колобок

постоянно жует, его можно перемещать клавишами управления курсора, кроме этого колобок «смотрит» туда, куда движется.

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

  1. Загрузите редактор Paint, установите размер рисунка 1 на1 см (Рисунок / Атрибуты))

  2. Создайте 4 рисунка(см. образец) и сохраните их в файлы Колобок1, Колобок2,Колобок3, Колобок4

  3. Загрузите Visual BasicУстановите на форме следующие объекты и измените им свойства

  4. В

    Объект

    Свойство

    Значение

    Изображение (Image)

    Name

    Image1

    Picture

    Колобок1

    Visible

    true

    Изображение (Image)

    Name

    Image2

    Picture

    Колобок2

    Visible

    False

    Изображение (Image)

    Name

    Image3

    Picture

    Колобок3

    Visible

    False

    Изображение (Image)

    Name

    Image4

    Picture

    Колобок4

    Visible

    False

    Таймер (Timer)

    Name

    Timer1

    Interval

    300


    ыделите все изображения колобка (при нажатой клавише Shift) и измените следующие значения для свойств:
  • Left 1000, Top 1000


  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать


If Image1.Visible = True Then

Image1.Visible = False

Image3.Visible = True

Exit Sub

End If

If Image2.Visible = True Then

Image2.Visible = False

Image4.Visible = True

Exit Sub

End If

If Image3.Visible = True Then

Image3.Visible = False

Image1.Visible = True

Exit Sub

End If

If Image4.Visible = True Then

Image4.Visible = False

Image2.Visible = True

Exit Sub

End If


  1. В окне кода процедуры обработки события KeyDown для объекта Form набрать


If KeyCode = 39 Then 'вправо


If Image1.Visible = False And Image3.Visible = False Then

Image1.Visible = True

Image2.Visible = False

Image4.Visible = False

End If

Image1.Left = Image1.Left + 100

Image2.Left = Image2.Left + 100

Image3.Left = Image3.Left + 100

Image4.Left = Image4.Left + 100

End If


If KeyCode = 37 Then 'влево


If Image2.Visible = False And Image4.Visible = False Then

Image2.Visible = True

Image1.Visible = False

Image3.Visible = False

End If


Image1.Left = Image1.Left – 100

Image2.Left = Image2.Left - 100

Image3.Left = Image3.Left – 100

Image4.Left = Image4.Left - 100

End If


If KeyCode = 40 Then 'вниз

Image1.Top = Image1.Top + 100

Image2.Top = Image2.Top + 100

Image3.Top = Image3.Top + 100

Image4.Top = Image4.Top + 100

End If


If KeyCode = 38 Then 'вверх

Image1.Top = Image1.Top – 100

Image2.Top = Image2.Top - 100

Image3.Top = Image3.Top – 100

Image4.Top = Image4.Top - 100

End If


  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8

Тема: Разработка интерфейса

Цель: Получить навыки создания меню и пользовательских окон

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

  1. Откройте новый проект и измените свойства для формы

:

Объект

Свойство

Значение

Форма

Name

Form1

Caption

Форма первая

BackColor

Розовый


  1. Создайте на форме ниспадающее меню, для этого выполните:

  • на стандартной панели инструментов щелкните по значку Menu Editor

  • в появившемся окне:

  • в поле Caption введите Выберите форму, В поле Name MnuAll, щелкните Next

  • в поле Caption введите Форма2, В поле Name Mnu2, щелкните Next и кнопку

  • в поле Caption введите Форма3, В поле Name Mnu3, щелкните Next и кнопку

  • в поле Caption введите Выход, В поле Name MnuExit щелкните Ок


  1. В окне кода процедуры обработки события Click для пункта менюMnu2 набрать


Form2.Show


  1. В окне кода процедуры обработки события Click для пункта менюMnu3 набрать


Form3.Show


  1. В окне кода процедуры обработки события Click для пункта менюMnuExit набрать


Form4.Show


  1. Отобразите на экране окно проекта View / Project Explorer, переместите его в нижний правый угол экрана

  2. Добавьте в проект вторую форму Project / AddForm

  3. Для новой формы измените свойства


Объект

Свойство

Значение

Форма

Name

Form2

Caption

Форма вторая

BackColor

Голубой


  1. На второй форме создайте меню из двух пунктов:


Свойство

Значение

Name

MnuReturn

Caption

Назад

Name

MnuExit

Caption

Выход


  1. В окне кода процедуры обработки события Click для пункта менюMnuReturn набрать


Form2.Hide


  1. В окне кода процедуры обработки события Click для пункта менюMnuExit набрать


Form4.Show


  1. Добавьте в проект третью форму и измените ей свойства и создайте меню

Свойство

Значение

Name

MnuReturn

Caption

Назад

Name

MnuExit

Caption

Выход



Объект

Свойство

Значение

Форма

Name

Form3

Caption

Форма третья

BackColor

Зеленый


  1. В окне кода процедуры обработки события Click для пункта менюMnuReturn набрать


Form3.Hide


  1. В окне кода процедуры обработки события Click для пункта менюMnuExit набрать


Form4.Show


  1. Добавьте в проект четвертую форму и измените ей свойства, добавьте объект Image и создайте меню


О

Свойство

Значение


Name

Mnu


Caption

Выход


Name

MnuYes

Caption

Да


Name

MnuNo

Caption

Нет



бъект

Свойство

Значение

Форма

Name

Form4

Caption

Выход

Изображение

Name

Image1


Stretch

True


Height

3000


Width

3000


Picture

\Icons\Misc\Face02


  1. В окне кода процедуры обработки события Click для пункта менюMnuYes набрать


End


  1. В окне кода процедуры обработки события Click для пункта менюMnuNo набрать


Form4.Hide


  1. В окне кода процедуры обработки события Click для объекта Image1 набрать


PopupMenu Mnu


  1. Проверьте работу программы

  2. Сделайте для своей программы окно-заставку, для этого:

  • добавьте еще одну форму, измените у нее свойства по своему усмотрению, добавьте любую картинку

  • введите программный код, который при щелчке по картинке отображает первую форму

  • сделайте новую форму стартовой, для этого выберите Project / ProjectProperties, в списке Startup Object выберите Form5

  1. Проверьте работу программы.

  2. Результат показать преподавателю

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9

Тема: События, связанные с мышкой

Цель: Закрепить навыки использования событий MouseMove, MouseDown и разработки меню


Постановка задачи: Разработать приложение «Графический редактор», позволяющий рисовать изображения, используя объекты точка, квадрат, круг, а также позволяющий менять размер этих объектов и их цвет


  1. Откройте новый проект.

  2. Установите на форме графическое окно (Pic1)и создайте следующее меню:


Пункты меню

Name

Объект

Квадрат

Круг

Точка

MnuOb

MnuQw

MnuCirc

MnuPset

Цвет

Красный

Зеленый

Синий

MnuColor

MnuR

MnuG

MnuB

Размер

5

10

20

MnuSize

Mnu5

Mnu10

Mnu20

Очистить

MnuCls

Выход

MniExit

  1. В разделе общих объявлений набрать


Dim f, S As Integer


  1. В окне кода процедуры обработки события Load для объекта Form набрать


Form1.Height = 5500

Form1.Width = 5300

Pic1.Height = 4500

Pic1.Width = 5000

Pic1.Left = 100

Pic1.Top = 100

Pic1.Scale (0, 0)-(100, 100)


  1. В окне кода процедуры обработки события Click для объекта Mnu10 набрать


S=10


  1. Самостоятельно ввести код для Mnu5, Mnu20

  2. В окне кода процедуры обработки события Click для объекта MnuB набрать


Pic1.ForeColor = vbBlue


  1. Самостоятельно ввести код для MnuR, MnuG

  2. В окне кода процедуры обработки события Click для объекта


MnuQw набрать f=3

MnuCirc набрать f=2

MnuPset набрать f=1


  1. Самостоятельно написать код для пунктов меню Очистить, Выход

  2. В окне кода процедуры обработки события MouseDown для объекта Pic1 набрать


Select Case f

Case 1 'точка

Pic1.Pset (X, Y), Pic1.ForeColor

Case 2 'круг

Pic1.Circle (X, Y), S

Case 3 'квадрат

Pic1.Line (X, Y)-(X + S, Y + S), , B

End Select


  1. В окне кода процедуры обработки события MouseMove для объекта Pic1 набрать

If Button = 1 Then ‘нажата левая кнопка

Select Case f

Case 1 'точка

Pic1.Pset (X, Y), Pic1.ForeColor

Case 2 'круг

Pic1.Circle (X, Y), S

Case 3 'квадрат

Pic1.Line (X, Y)-(X + S, Y + S), , B

End Select

End If

  1. Проверьте работы программы.

  2. Измените программы так, чтобы при нажатии правой кнопки мышки она «работала» как стерка, т.е. рисовала квадрат белым цветом.

  3. Результат показать преподавателю.

  4. Добавьте в меню для пункта «Объекты» подпункт «Распылитель»и введите следующий код

f=4

  1. Измените процедуры для событий MouseDown, MouseMove, добавив в каждую из них следующий код


Case 4

For i = 1 To 20

Pic1.PSet (Rnd * S + X - S / 2, Rnd * S + Y - S / 2), Pic1.ForeColor

Next i

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

Case 10 'прямая

If z = 0 Then

z = 1

x0 = X : y0 = Y

Else

Pic1.Line (x0, y0)-(X, Y)

z = 0

End If

  1. Предложите способ рисования ломанной линии

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10

Тема: Использование буфера обмена и параметров выделенного текста

Цель: Получить навыки использования в программе буфера обмена.


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


Порядок выполнения:

  1. Откройте новый проект

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


Комбинированный список

Name

cboList

Графическое окно

Name

picMyPic

Текстовое окно

Name

TxtEdit


  1. Набрать код процедуры обработки события Load для объекта Form:


'Заполним комбинированный список

cboList.AddItem "Телефон"

cboList.AddItem "Рыба"

cboList.AddItem "Звонок"


  1. Набрать код процедуры обработки события GotFocus для объекта picMyPicture :


'Изменим тип границы окна рисунка при помещении 'на него фокуса

picMyPicture.BorderStyle = 1


  1. Набрать код процедуры обработки события LostFocus для объекта :picMyPicture


'Изменим тип границы окна рисунка при "потере" им фокуса.

picMyPicture.BorderStyle = 0


  1. Набрать код процедуры для пункта Копировать


Clipboard.Clear 'Очистим буфер обмена

'Поиск выделенного элемента управления и

'помещение его содержимого в буфер обмена

If TypeOf Screen.ActiveControl Is TextBox Then

Clipboard.SetText Screen.ActiveControl.SelText

ElseIf TypeOf Screen.ActiveControl Is ComboBox Then

Clipboard.SetText Screen.ActiveControl.Text

ElseIf TypeOf Screen.ActiveControl Is PictureBox Then

Clipboard.SetData Screen.ActiveControl.Picture

End If


  1. Набрать код процедуры для пункта Вырезать:


'Выполним процедуру mnuCopy_Click ()

mnuCopy_Click

'Поиск выделенного элемента управления

'и удаление его содержимого

If TypeOf Screen.ActiveControl Is TextBox Then

Screen.ActiveControl.SelText = " "

ElseIf TypeOf Screen.ActiveControl Is ComboBox Then

Screen.ActiveControl.Text = " "

ElseIf TypeOf Screen.ActiveControl Is PictureBox Then

Screen.ActiveControl.Picture = LoadPicture()

Else

End If


  1. Набрать код процедуры для пункта Вставить:


If TypeOf Screen.ActiveControl Is TextBox Then

Screen.ActiveControl.SelText = Clipboard.GetText()

ElseIf TypeOf Screen.ActiveControl Is ComboBox Then

Screen.ActiveControl.Text = Clipboard.GetText()

ElseIf TypeOf Screen.ActiveControl Is PictureBox Then

Screen.ActiveControl.Picture = Clipboard.GetData()

End If


  1. Проверить работу программы, для этого:

загрузите программу;

сверните ваше приложение;

в редакторе Paint создайте рисунок и скопируйте его в буфер обмена;

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

Приложение позволяет также копировать, вырезать, вставлять текст в (из) текстовое окно, комбинированный список. Поэкспериментируйте.

  1. Сохраните проект.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11

Тема: Параметры выделенного текста, использование буфера обмена

Цель: Закрепить навыки использования свойств Windows и разработки интерфейса


Постановка задачи: Разработать приложение «Текстовый редактор», позволяющий копировать, перемещать выделенный контекст, форматировать, осуществлять поиск и замену в тексте.

Порядок выполнения:

  1. Открыть новый проект

  2. Установите для Form1 следующие параметры:

Caption Мой текстовый редактор

Height 4000

Left 1095

Name frmMain

Top 1170

Width 5000

  1. Сохраните проект под именем BASICTXT

  2. Добавьте на форму текстовое окно и установите следующие параметры:

FontSize 18

Height 3600 : Width 4870

Left 0 : Top 0

Name txtEditBox

Scrollbars 2-Vertical

Text отсутствует

MultiLine True

  1. Загрузить проект, набрать произвольный текст. Нажать 10 раз Enter ( текст скроется из виду). Разверните окно (текстовое окно не увеличилось вместе с окном формы). Введите еще одну фразу. С помощью прокрутки верните на экран первоначальный текст. Остановите работу программы.

  2. Для того, чтобы размер текстового окна менялся вместе размером формы в процедуру Form_Resize вставьте следующие строки:


txtEditBox.Height = ScaleHeight

txtEditBox.Width = ScaleWidth


7.Сохраните проект. Загрузите его. Разверните окно на весь экран, Обратите внимание на изменения в работе программы. Остановите программу.

8.Создать на форме следующее меню:

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

Размер

12

18

24

Шрифт

полужирный

курсив

подчеркивание

Цвет

Красный

Синий

Зеленый


Правка

вырезать

копировать

вставить

найти

заменить

——————

Выход Ctrl+Q





  1. Для пункта меню Выход ввести программный код.

  2. Для пункта меню Вырезать ввести программный код:


Clipboard.Clear ' очистим буфер обмена

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

Clipboard.SetText txtEditBox.SelText

txtEditBox.SelText = "" 'очистить выделенный текст


  1. Самостоятельно написать код для пункта Копировать.

  2. Для пункта Вставить набрать программный код:


txtEditBox.SelText = Clipboard.GetText()


  1. Загрузить программу и проверить правильность выполнения пунктов Вырезать, Копировать и Вставить

  2. Для пункта меню Поиск и для него ввести программный код:


Find = InputBox("Что ищем?", "Поиск")

If Find = "" Then Exit Sub

LenFind = Len(Find)

LenS = Len(TxtEditBox.Text)

For I = TxtEditBox.SelStart To LenS

TxtEditBox.SelStart = I

TxtEditBox.SelLength = LenFind

If TxtEditBox.SelText = Find Then Exit Sub

Next I


  1. Загрузить программу и проверить выполнение пункта Поиск. Измените программу так, чтобы, независимо от текущей позиции курсора в тексте, поиск осуществлялся с начала текста. Сохранить проект.

  2. Добавить в пункт Правка подпункт Выделить все и написать для него программный код самостоятельно (установить курсор в начало текста, определить количество введенных символов, выделить все символы). Проверить правильность работы программы

  1. Для каждого пункта Формат набрать программный код, меняющий параметры текстового окна.

  2. Проверить работу программы. Сохранить проект.

  3. Написать программный код для пункта Заменить:


Find = InputBox("Что ищем?", "Замена")

zam = InputBox("Чем заменим?", "Замена")

If Find = "" Then Exit Sub

LenFind = Len(Find)

LenS = Len(TxtEditBox.Text)

For I = TxtEditBox.SelStart To LenS

TxtEditBox.SelStart = I

TxtEditBox.SelLength = LenFind

If TxtEditBox.SelText = Find Then

TxtEditBox.SelText = zam

Exit Sub

End If

Next I


  1. Проверьте работу программы, измените программный код для того, чтобы замена производилась во всем тексте («Заменить все»)

  2. Результат показать преподавателю. Сохранить.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 12

Тема: Работа с несколькими формами

Цель: Закрепить навыки разработки многооконного интерфейса.


Постановка задачи: Модернизировать приложение «Текстовый редактор: создать пользовательские диалоговые окна для режимов Найти и Заменить


1.Откройте проект BASICTXT.

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

  2. Задайте следующие параметры для новой формы:


Name frmFind

Caption Поиск

BorderStyle 3-Fixed Dialog

ControlBox False

Height 1500 : Width 4500

Left 1500 : Top 4500

MaxButton False : MinButton False


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


Name cmdFind

Caption &Поиск

Default True

Height 375 : Width 1215

Left 3000 : Top 120


  1. В окне проекта выберите BASICTXT.FRM и выведите на экран программу для пункта меню Найти.

  2. Текст этой программы переместите в процедуру командной кнопки Поиск формы frmFind

  3. Сохраните форму frmFind

  4. Для формы Поиск установите текстовое окно со следующими параметрами:


Name txtFind

Height 375 : Width 2775

Left 120 : Top 120

Tabindex 0 : Text (отсутствует)


  1. Исправьте процедуру cmdFind_Click() (изменения выделены курсивом)


Find = txtFind.Text

If Find = "" Then Exit Sub

LenFind = Len(Find)

LenS = Len(frmMain!txtEditBox.Text)

For I = frmMain!txtEditBox.SelStart To LenS

frmMain!txtEditBox.SelStart = I

frmMain!txtEditBox.SelLength = LenFind

If frmMain!txtEditBox.SelText = Find Then frmFind.Hide: Exit Sub

Next I


  1. Активизируйте форму Мой текстовый редактор и исправьте программу для пункта меню Найти:

frmFind.Show


  1. Сохраните проект и проверьте работу программы

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

-установите на форме Поиск объект CheckBox и задайте для него свойства:


Name chkIgnoreCase

Caption Игнорировать


- измените программный код для командной кнопки Поиск


Find = txtFind.Text

если включен переключатель, то строка поиска переводится в верхний регистр

If chkIgnoreCase.Value Then Find = UCase(Find)

If Find = "" Then Exit Sub

LenFind = Len(Find)

LenS = Len(frmMain!txtEditBox.Text)

For I= frmMain!txtEditBox.SelStart To LenS

frmMain!txtEditBox.SelStart = I

frmMain!txtEditBox.SelLength = LenFind

изменение регистра выделенного текста

If chkIgnoreCase.Value Then thisSelection = UCase(thisSelection)

If frmMain!txtEditBox.SelText = Find Then frmFind.Hide: Exit Sub

Next I


  1. Сохранить проект, проверить работу программы.

  2. Добавить на форму Поиск командную кнопку Cancel. Щелчок по Cancel будет скрывать диалоговое окно Поиск.


Name cmdCancel

Cancel True

Captoin &Cancel

Width 1215 : Left 3000

Height 375 : Top 600

  1. Программный код написать самостоятельно, проверить работу программы.

  2. Самостоятельно создать диалоговое окно Заменить, которое использует в качестве независимого переключателя Заменить все.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 13

Тема: Стандартные диалоговые окна

Цель: Получить навыки использования стандартного диалогового окна

Постановка задачи: Модернизировать приложение «Текстовый редактор: добавить возможность открытия и сохранения текста в файл, а также форматирование, используя стандартное диалоговое окно

Порядок выполнения:


  1. Откройте проект BASICTXT.

  2. Добавить стандартное диалоговое окно, для этого :

  • щелкните правой кнопкой мышки по Панели элементов управления, выберите Components

  • на закладке Controls в списке выберите флажок Microsoft Common Dialog Control 5.0, далее Ок

  • добавите на форму объект Стандартное диалоговое окно

установить для диалогового окна значение параметра CancelError - True

  1. Для пункта меню Файл /Сохранить как вывести окно программного кода и ввести в него следующие строки:


On Error GoTo SaveAsProblem ' обработка ошибок

' установив шаблоны

CommonDialog1.Filter = "Text files|*.TXT|Batch files|*.BAT|INI files|*.INI"

CommonDialog1.FilterIndex = 1

CommonDialog1.Action = 2 ' вывод диалогового окна Сохранить как

сохранение файла

Open CommandDialog1.Filename For Output As 1

Print #1, txtEditBox.Text

Close #1

frmMain.Caption= CommandDialog1.Filename


Exit Sub

SaveAsProblem : ‘ была нажата кнопка Отмена

Exit Sub



  1. Проверьте работу программы:

  • введите текст, сохраните его

  • остановите программу и сверните Visual Basic

  • с помощью программы Проводник найти файл, созданный вашим текстовым редактором

  • просмотрите его содержимое.


  1. Ввести программный код, который открывает сохраненный текстовый файл и выводит его в txtEditBox (LOF - возвращает длину файла)


On Error GoTo OpenAsProblem ' обработка ошибок

' установив шаблоны

CommonDialog1.Filter = "Text files|*.TXT|Batch files|*.BAT|INI files|*.INI"

CommonDialog1.FilterIndex = 1

CommonDialog1.Action = 1 ' вывод диалогового окна Открыть

открытие файла

Open CommonDialog1.Filename For Input As 1

txtEditBox.Text=Input$(LOF(1),1)

Close #1

frmMain.Caption= CommonDialog1.Filename

Exit Sub

OpenAsProblem : ‘ была нажата кнопка Отмена

Exit Sub


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

  2. Самостоятельно ввести программный код для Файл / Новый, для этого:

вывести простое диалоговое окно с запросом «текст удалять?»

если пользователь выбрал Оk, то содержимое txtEditBox очистить, изменить заголовок формы.

  1. Сделайте пункта Формат невидимым

  2. Добавьте в меню пункт Формат шрифта и для него введите программный код


CommonDialog1.FontName = TxtEditBox.FontName

CommonDialog1.FontBold = TxtEditBox.FontBold

CommonDialog1.FontSize = TxtEditBox.FontSize

CommonDialog1.FontItalic = TxtEditBox.FontItalic

CommonDialog1.Color = TxtEditBox.ForeColor

CommonDialog1.Flags = cdlCFPrinterFonts Or cdlCFEffects

CommonDialog1.Action = 4

TxtEditBox.FontName = CommonDialog1.filename

TxtEditBox.FontBold = CommonDialog1.FontBold

TxtEditBox.FontSize = CommonDialog1.FontSize

TxtEditBox.FontItalic = CommonDialog1.FontItalic

TxtEditBox.ForeColor = CommonDialog1.Color


  1. Сохранить проект. Проверить работу программы. Измените программу для того, чтобы «работало» начертание «подчеркнутое» и «зачеркнутое».


Задания для самостоятельного выполнения

При выполнении ниже приведенных заданий должны быть выполнены следующие требования:

  • приложение должно иметь удобный интерфейс;

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

  • имена переменных и объектов управления должны быть информативны;



Зhello_html_mf7ac8b8.pngадание № 1

Разработать приложение «Состав компьютера». Приложение должно состоять из 7-ми форм.

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

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


Задание № 2

Рhello_html_m47d81115.pngазработать приложение «Цветные карандаши». Приложение должно позволять рисовать зеленым, синим, красным и желтым карандашами, а также использовать стёрку. Кроме этого, при перемещении курсора по кнопкам с карандашами, в метку выводить подсказку о назначении инструмента рисования. Форму разработать в соответствии с образцом.


(выбор картинки

\Icons\ Writing\)


Задание № 3

Расположите на форме таймер, фигуру «круг» и фигуру «прямоугольник.». Разработайте приложение, которое работает следующим образом:

  • Прямоугольник выполняет роль лапты, он перемещается влево и вправо при нажатии клавиш. Круг - это мячик, который постоянно прямолинейно двигается , при столкновении с границами формы или лаптой меняет свое направление на противоположное.

Задание № 4

Модернизируйте приложение, разработанное в практической работе № 7 («Колобок»). Добавьте на форму любое «съедобное» изображение, которое должно периодические менять свое местонахождение в окне. Если колобку удалось «съесть» добычу, вывести сообщение с пожеланием приятного аппетита.

Задание № 5

Рhello_html_m3036b532.pngазработайте приложение «Новый текстовый редактор». Редактор должен позволять вводить и редактировать текст, выполнять копирование и перемещение текста с помощью панели инструментов, а также удалять весь текст. Редактор имеет следующее меню:

Вид Выход

Стандартная панель


В программе предусмотреть следующее:

  • При выборе подпункта «Стандартная панель» панель отображается в окне редактора или убирается

  • Стандартную панель можно перемещать буксировкой

  • При перемещении курсора по пиктограммам панели, в заголовке формы выводить подсказку о назначении инструмента

  • Если текст не выделен, инструменты «Вырезать» и «Копировать» должны быть недоступны

  • Если буфер обмена пуст, инструмент «Вставить» должен быть недоступным.


Картинки для инструментов находятся в Graphics \ Bitmaps \ Offctbr \ Large \ B&W

Зhello_html_m28461e0b.pngадание № 6

Разработайте игровую программу «Возьми ключ». Программа должна работать следующим образом:

  • «автоматические двери» постоянно двигаются вверх- вниз, отталкиваясь от верхней и нижней границы окна, их скорость случайна

  • колобок должен перейти на противоположную сторону так, чтобы не столкнуться с дверьми, и «взять» ключ

  • при столкновении с дверьми должно выводиться соответствующее сообщение.


Задание № 7


Разработать игру «Клавиатурный тренажер», который работает следующим образом:

  • сверху вниз «падает» буква .( метка с одной буквой, код буквы - случайное число от 192 до 223). Если буква «упала» , сверху начинает падать другая буква)

  • игрок должен нажать соответствующую клавишу на клавиатуре.

  • программа должна регистрировать количество ошибок (клавиша нажата неверно или буква «упала» и кнопка не была нажата)

  • если количество ошибок превысит 10, то игрок проиграл

Список использованной литературы


  1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995

  2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.

  3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998

  4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000

  5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999


Название документа VB Лабораторный практикум 5 часть.doc

Государственное бюджетное образовательное учреждение

высшего профессионального образования Московской области

«Международный университет природы, общества и человека «Дубна»

(Университет «Дубна»)

Филиал ДИНО университета «Дубна»











ЛАБОРАТОРНЫЙ ПРАКТИКУМ

5 часть


Visual Basic. Основы программирования

Теория

Лабораторно-практические работы

Задания для самостоятельного выполнения















Дмитров 2012




Автор:

Живодерова Валентина Викторовна – преподаватель спецдисциплин филиала ДИНО университета «Дубна».











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

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



Содержание


Содержание 3

Предисловие 4

Массивы данных 5

Статические массивы 5

Динамические массивы 5

Массивы объектов 6

Создание и использование вызываемых процедур и функций 6

Процедуры SUB 6

Функции 7

Рекурсивные процедуры и функции 7

Лабораторно-практические работы 8

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1 8

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2 10

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3 12

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4 14

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5 16

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6 18

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7 20

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8 22

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9 24

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10 26

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11 29

Задания для самостоятельного выполнения 31

Задание № 1 31

Задание № 2 31

Задание № 3 31

Задание № 4 31

Задание № 5 31

Задание № 6 31

Задание № 7 32

Задание № 8 32

Задание № 9 32

Задание № 10 32

Задание № 11 32

Задание № 12 33

Задание № 13 33

Задание № 14 33

Задание № 15 33

Задание № 16 33

Список использованной литературы 34




Предисловие


Язык программирования Visual Basic все шире используется в российском образовании. Одна из проблем, с которыми сталкивается преподаватель, работающий с этим языком, - недостаток методической литературы. Данное учебное пособие может быть полезно преподавателям и учащимся, (подготовленным пользователям) изучающим объектно-ориентированное программирование на языке Visual Basic, а также может использоваться при проведении факультативных и кружковых занятиях в средних учебных заведениях. Опыт работы с другими языками программирования не обязателен, хотя, конечно, полезен.

Цель данного пособия – предоставить пользователю систематическое и наглядное изложение примеров разработки приложений под Windows.

Учебное пособие ( часть 5 )состоит из трех основных разделов:

  1. Теория

В этом разделе рассматриваются массивы данных и массивы объектов, вызываемые процедуры и функции, в том числе и рекурсивные.

Этот материал не претендует на полное изложение, его следует рассматривать, скорее всего, как справочную информацию, которая позволит эффективно выполнять лабораторно-практические работы.


  1. Лабораторно-практические работы по темам:

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


  1. Задания для самостоятельного выполнения

Самостоятельное выполнение заданий позволяет закрепить навыки работы учащихся в среде Visual Basic Преподаватель может использовать их в качестве контрольных работ.


Как работать с пособием.


Для правильной работы необходимо иметь:

  • Операционную систему Windows 95 или более поздней версии;

  • Visual Basic 5.0. и выше;

  • Процессор Pentium 166 MHz и выше;

  • 5 MB HDD и более;

  • Драйвер CD ROM;

  • Монитор VGA или более высокого разрешения;

  • 16 MB RAM;

  • Мышь.

При установке Visual Basic на учебный компьютер должны быть включена библиотека рисунков и значков Graphics.


Использованию данного учебного пособия должно предшествовать изучение теоретического материала по тематике практических работ.

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



Массивы данных


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

Отдельные величины, образующие массив, называются элементами массива.

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

Количество элементов в массиве называется размером массива. Массивы бывают:

  • одномерные, элемент определяется одним индексом (можно сравнить с таблицей из одной строки.

  • двумерные - два индекса определяют элемент (таблица из нескольких строк и столбцов).

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


Dim ИмяМассива (границы) [As тип]

Статические массивы

При объявлении статического массива можно указывать границы (верхнюю и нижнюю).

Пример:

DIM A(10 TO 15) одномерный массив, индексы элементов с 10 до 15

DIM B(12) одномерный массив из 13 элементов (если верхняя граница не указана, то она = 0)

DIM C(3,10) двумерный массив из 4-х строк и 11-ти столбцов

DIM N(5 TO 10, 3 TO 13) двумерный массив из 6-х строк и 11-ти столбцов


Динамические массивы

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

Для создания динамического массива следует:

  • объявить массив без указания размерности массива Dim ИмяМассива ( )

  • c помощью оператора ReDim назначить действительное число элементов массива

Оператор ReDim изменяет количество элементов в массиве, при этом можно в качестве границ массива можно указывать не числа, а переменные. Один и тот же массив можно переопределять в одной программе несколько раз. Если вы хотите при переопределении границ сохранить значения, уже присвоенные элементам массива, нужно воспользоваться ключевым словом Preserve (сохранить), в противном случае после переопределения границ массива все его значения будут утеряны.

ReDim Preserve ИмяМассива (границы)


Тип массива менять нельзя.

Если необходимо освободить память, занимаемую динамическим массивом, то можно использовать оператор Erase.

Erase ИмяМассива


Память, занимаемая статическим массивом, не освобождается. Вместо этого Erase присваивает элементам массива «пустые» значения (для числовых массивов – 0, для строковых – пустая строка)

Массивы объектов

В Visual Basic разрешается определять массивы объектов (элементов управления), что весьма удобно, если в программе имеются группы объектов, действующих примерно одинаково. Такие массивы позволяют «привязывать» разные элементы управления к одной процедуре обработки события.

Существует два способа создания массива объектов:

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

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

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


Создание и использование вызываемых процедур и функций


Любая программа на Visual Basic является процедурой или функцией.

В предыдущих разделах рассматривались процедуры обработки событий, которые в процессе выполнения программы запускались в результате свершения некоторого определенного события (щелчок мыши, нажатие клавиши и т.п.). Однако в Visual Basic имеется возможность выделить неоднократно повторяющиеся фрагменты программы в определенным образом организованные функциональные блоки операторов, которые можно использовать без их повторного написания и отладки. При этом сложные программы получаются более компактными. Организовать функциональные блоки в Visual Basic можно в виде процедур (Procedure) и функции (Function).

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

Прекращение выполнения вызванной процедуры или функции (Возврат) означает возвращение в вызывающую процедуру или функцию, выполнение которой продолжается с оператора, следующего за вызывающим оператором.

Программный код процедур и функций, не являющихся процедурами обработки событии, помещается в раздел General списка Object в окне программного кода.


Процедуры SUB

Общий формат процедуры SUB:


SUB ИмяПроцедуры (параметры)

операторы

END SUB


Процедура SUB вызывается как отдельный оператор и не может быть использована как часть выражения.

Вызов процедуры SUB:

1 способ

CALL ИмяПроцедуры(аргументы)

2 способ

ИмяПроцедуры аргументы

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


Exit Sub вызывает прекращение выполнения процедуры и выход из нее в вызывающую программу.


Функции

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

Общий формат процедуры FUNCTION


FUNCTION ИмяФункции [(список параметров)] [As тип]

[операторы объявления]

[операторы]

ИмяФункции = выражение


END FUNCTION


Параметры - значения, которые передаются функции при ее вызове.

Выражение - возвращаемое значение функции

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

имя[( )][As тип], имя[( )][As тип]…


Имя — имя переменной или массива .без указания границ значения индексов

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

Exit Function вызывает прекращение выполнения функции и выход из нее в вызывающую программу.

Функция вызывается точно также, как и любая встроенная функция, т.е. она является операндом выражения с указанием списка аргументов. Список аргументов и список параметров должны соответствовать по количеству, порядку следования и типу.


Рекурсивные процедуры и функции

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

Рекурсивная функция (процедура) – это такая функция (процедура), среди выполняемых операторов которой есть оператор вызова самой этой функции (процедуры. Среди этих выполняемых операторов обязательно должно быть условие завершения (продолжения) рекурсии. Последовательность рекурсивных вызовов называется рекурсивным спуском. Номер рекурсивного вызова в этой последовательности называется глубиной рекурсии. Операторы, расположенные после оператора рекурсивного вызова, выполняются в порядке, обратном тому, в котором происходят рекурсивные вызовы. Говорят, что действие выполняется на рекурсивном подъеме.

Лабораторно-практические работы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 1

Тема: Статические массивы данных.

Цель: Получить навыки использования одномерных массивов данных

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Командные кнопки

Name

CmdMas

Caption

Заполнение и вывод массива


Name

CmdSort


Caption

Сортировка массива


Name

CmdMAx


Caption

Определить


Name

CmdSr


Caption

Определить

Рамки

Caption

Max и Min значения в массиве


Caption

Среднее значение

Текстовые окна

Name

TxtMas

Name

TxtSort

Name

TxtMax

Name

TxtMin

Name

TxtSr

  1. Пhello_html_m10ac967a.png
    риведите свою форму в соответствие с образцом


  1. В разделе общих объявлений объявите массив Dim Mas(10)

  2. В окне кода процедуры обработки события Click для объекта CmdMas набрать:

'

заполнение случайными числами

txtMas.Text = ""

For i = 1 To 10

mas(i) = Int(Rnd * 100)

txtMas.Text = txtMas.Text + " " + Str(mas(i))

Next i


  1. В окне кода процедуры обработки события Click для объекта CmdSort набрать


For i = 1 To 10

For j = 1 To 9

If mas(j) > mas(j + 1) Then

k = mas(j)

mas(j) = mas(j + 1)

mas(j + 1) = k

End If

Next j

Next i

txtSort.Text = ""

For i = 1 To 10

txtSort.Text = txtSort.Text + " " + Str(mas(i))

Next i


  1. В окне кода процедуры обработки события Click для объекта CmdMax набрать


Max = mas(1)

For i = 2 To 10

If mas(i) > Max Then Max = mas(i)

Next i

TxtMax.Text = Max


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

  2. В окне кода процедуры обработки события Click для объекта CmdSr набрать


s = 0

For i = 1 To 10

s = s + mas(i)

Next i

TxtSR.Text = s / 10


  1. Проверьте работу программы

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

  • измените тип массива

  • в окне кода процедуры обработки события Click для объекта CmdMas набрать


txtMas.Text = ""

For i = 1 To 10

mas(i) = Chr((Rnd * 32) + 224) ' коды русских букв от 224 до 255

txtMas.Text = txtMas.Text + " " + mas(i)

Next i


  • в остальных процедурах уберите обращение к функции Str()

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

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 2

Тема: Статические массивы данных.

Цель: Получить навыки использования двумерных массивов данных

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Командные кнопки

Name

Cmd1

Caption

Заполнение


Name

Cmd2


Caption

Min и Max в строке


Name

Cmd3


Caption

Преобразовать

Графические окна

Name

PicMassiv

Name

PicMassiv0

Name

PicMin

Name

PicMax


  1. Пhello_html_310bd4cf.pngриведите свою форму в соответствие с образцом


  1. В разделе общих объявлений объявите массив


Dim Mas(4, 6) As Integer


  1. В окне кода процедуры обработки события Click для объекта Cmd1набрать:


PicMassiv.Cls

For i = 0 To 4

For j = 0 To 6

Mas(i, j) = Int(Rnd * 10)

PicMassiv.Print Mas(i, j); " ";

Next j

PicMassiv.Print

Next i

  1. В окне кода процедуры обработки события Click для объекта Cmd2 набрать


PicMax.Cls

PicMin.Cls

For i = 0 To 4

Max = Mas(i, 0)

Min = Mas(i, 0)

For j = 0 To 6

If Max < Mas(i, j) Then Max = Mas(i, j)

If Min > Mas(i, j) Then Min = Mas(i, j)

Next j

PicMax.Print Max

PicMin.Print Min

Next i

  1. Проверьте работу программы. Измените программы так, чтобы она определяла также максимальные и минимальные значения для каждого столбца, а также сумму значений каждого столбца.

  2. В окне кода процедуры обработки события Click для объекта Cmd3 набрать


'поменять местами первый и последний столбец

For i = 0 To 4

s = Mas(i, 0)

Mas(i, 0) = Mas(i, 6)

Mas(i, 6) = s

Next

'вывести массив после перестановки столбцов


PicMassiv0.Cls

For i = 0 To 4

For j = 0 To 6

PicMassiv0.Print Mas(i, j); " ";

Next j

PicMassiv0.Print

Next i


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

  2. Добавьте на форму еще одну командную кнопку (Cmd4) и графическое окно (PicMas2). При щелчке по новой кнопке заполнить массив 5 на 5 по следующему правилу: значения элементов главной диагонали равны 0, ниже главной диагонали – 1, выше главной диагонали равны –1. Для этого объявите массив и в окне кода процедуры обработки события Click для объекта Cmd4 набрате


PicMas2.Cls

For i = 1 To 5

For j = 1 To 5

If i > j Then mas2(i, j) = 1

If i < j Then mas2(i, j) = -1

If i = j Then mas2(i, j) = 0

PicMas2.Print mas2(i, j); " ";

Next j

PicMas2.Print

Next i


  1. Проверить работу программы.


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 3

Тема: Динамические массивы данных.

Цель: Получить навыки использования динамического массива данных

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Рамки

Name

Frame1

Caption

Укажите кол-во студентов

Name

Frame2

Caption

(отсутствует)

Visible

False

Командные кнопки

Name

Cmd1

Caption

Переопредеить массив


Name

Cmd2


Caption

Добавить в массив

Текстовые окна

Name

TxtKol

Name

TxFamt

Name

TxtName

Список

Name

List1

Остальные объекты - метки


  1. Приведите свою форму в соответствие с образцом

hello_html_m740186cd.png



  1. В разделе общих объявлений набрать:


Dim student() As String

Dim x, n As Integer


  1. В окне кода процедуры обработки события Load для объекта Form набрать


Frame2.Caption = "Студент N " + Str(n + 1)



  1. В окне кода процедуры обработки события Click для объекта Cmd1 набрать


x = Val(TxtKol.Text)

ReDim student(x) ‘ переопределение размера массива

List1.Clear

Frame2.Visible = True

Frame1.Visible = False

n = 0



  1. В окне кода процедуры обработки события Click для объекта Cmd2 набрать


If n < x Then

student(n) = TxtFam.Text + " " + TxtName.Text

TxtFam.Text = ""

TxtName.Text = ""

n = n + 1

Frame2.Caption = "Студент N " + Str(n + 1)

If n = x Then

Frame2.Caption = ""

MsgBox "Массив заполнен полностью"

Frame2.Visible = False

Frame1.Visible = True

For i = 0 To n - 1

List1.AddItem student(i)

Next i

End If

End If


  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 4

Тема: Массивы объектов.

Цель: Получить навыки использования массива объектов

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

  1. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Свойство

Значение

Командная кнопка

Name

Cmd


Caption

Нажми

Массив меток

Index

1

Caption

Точка, точка

Name Label1
Index

2

Caption

Два крючочка


Index

3

Caption

Носик, ротик


Index

4

Caption

Оборотик


Index

5

Caption

Ручки


Index

6

Caption

Ножки


Index

7

Caption

Огуречик


Index

8

Caption

Вот и вышел человечек

Массив фигур

Index

0

Глаз

Shape1

Index

1

Глаз


Index

2

Нос


Index

3

Рот


Index

4

Голова


Index

5

Рука


Index

6

рука


Index

7

Нога


Index

8

Нога


Index

9

Туловище

Линии

Name

Line1

Брови


Name

Line2

Таймер

Name

Timer1


hello_html_m15d0c774.png

  1. Приведите свою форму в соответствие с образцом


  1. В разделе общих объявлений набрать


Dim k As Integer


  1. В окне кода процедуры обработки события Load для объекта Form набрать:


'количество щелчков по кнопке

k = 0


  1. В окне кода процедуры обработки события Click для объекта Cmd набрать:


k = k + 1

If k < 9 Then

Label1(k).Visible = True

If k = 1 Then Shape1(0).Visible = True : Shape1(1).Visible = True

If k = 2 Then Line1.Visible = True : Line2.Visible = True

If k = 3 Then Shape1(2).Visible = True : Shape1(3).Visible = True

If k = 4 Then Shape1(4).Visible = True

If k = 5 Then Shape1(5).Visible = True : Shape1(6).Visible = True

If k = 6 Then Shape1(7).Visible = True : Shape1(8).Visible = True

If k = 7 Then Shape1(9).Visible = True

If k = 8 Then MsgBox "Здравствуй, дружок", , "Привет"


Else

MsgBox "До свидания, дружок", , "Я ушел"

Timer1.Interval = 1

End If


  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать:


'движение человечка по "частям"

For i = 0 To 9

Shape1(i).Left = Shape1(i).Left + 50

Next i

If Shape1(1).Left > 9000 Then End


  1. Проверьте работу программы

  2. Измените программу так, чтобы «брови» двигались вместе с «человечком»


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 5

Тема: Массивы объектов.

Цель: Закрепить навыки использования массива объектов

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

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

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Командная кнопка

Name

CmdGame

Caption

Игра

Массив командных кнопок

Name

Cmd


Index

От 0 до 8


Font

Размер 18 полужирный


Caption

(отсутствует)

Таймер

Name

Timer1

  1. В разделе общих объявлений набрать:


Dim KN(8, 2) 'для координат кнопок


  1. В окне кода процедуры обработки события Load для объекта Form набрать


'установим размеры и заголовки кнопок

For I = 0 To 8

cmd(I).Height = 1000

cmd(I).Width = 1000

cmd(I).Caption = I

Next I

cmd(0).Caption = ""

c = 0

'взаимное положение кнопок

For I = 0 To 8 Step 3

cmd(I).Left = 1000: cmd(I).Top = 1000 + c * 1000

cmd(I + 1).Left = 2000: cmd(I + 1).Top = 1000 + c * 1000

cmd(I + 2).Left = 3000: cmd(I + 2).Top = 1000 + c * 1000

c = c + 1

Next I

'запомним координаты упорядоченных кнопок

For I = 0 To 8

KN(I, 1) = cmd(I).Left

KN(I, 2) = cmd(I).Top

Next I


  1. В окне кода процедуры обработки события Click для объекта Cmd набрать


'координаты "пустышки"

x0 = cmd(0).Left

y0 = cmd(0).Top

'координаты выбранной кнопки

x = cmd(Index).Left

y = cmd(Index).Top

If x0 = x And Abs(y - y0) = 1000 Then

'соседи по столбцу

cmd(0).Move x, y

cmd(Index).Move x0, y0

End If

If y0 = y And Abs(x - x0) = 1000 Then

'соседи по строке

cmd(0).Move x, y

cmd(Index).Move x0, y0

End If


  1. В окне кода процедуры обработки события Click для объекта CmdGame набрать


'перемешаем кнопки

Randomize Timer

For I = 1 To 20

K = Int(Rnd * 9)

cmd_Click (K)

Next I

' включим таймер

Timer1.Interval = 1


  1. В окне кода процедуры обработки события Timer для объекта Timer1 набрать


For I = 0 To 8

If KN(I, 1) <> cmd(I).Left Then Exit Sub

If KN(I, 2) <> cmd(I).Top Then Exit Sub

Next I

MsgBox "Вы справились!", , "Поздравляю"

Timer1.Interval = 0


  1. Проверьте работу программы

  2. Измените стиль у кнопок на графический и добавьте в начало программы Timer1_Timer


f = Int(Rnd * 9)

cmd(f).BackColor = QBColor(Int(Rnd * 16))


  1. Проверьте работу программы

  2. Измените программу, увеличив количество кнопок ( 4 х 4 )

  3. Проверьте работу программы

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

  • уберите нумерацию кнопок (Caption отсутствует)

  • заблокируйте первые две строки в программе Timer1_Timer

  • установите различный цвет фона для каждой кнопки

  1. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 6

Тема: Массивы объектов.

Цель: Закрепить навыки использования массива объектов и оператора цикла

Постановка задачи: Разработать приложение- «Кроссворд»

Порядок выполнения:


  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Массив меток

Buk1

из 7 элементов для первого слова

Font

10, полужирный

Index

От 1 до 7

Height

Width

300

300

Caption (для первого элемента)

1

Массив меток

Font

10, полужирный

Buk2

Index

От 1 до 8

из 8 элементов для второго слова

Height

Width

300

300


Caption (для первого элемента)

2

Массив меток

Font

10, полужирный

Buk3

Index

От 1 до 7

из 7 элементов для третьего слова

Height

Width

300

300


Caption (для первого элемента)

3

Массив меток

Font

10, полужирный

Buk4

Index

От 1 до 7

из 7 элементов для четвертого слова

Height

Width

300

300


Caption (для первого элемента)

4

Массив меток

Font

10, полужирный

Buk5

Index

От 1 до 4

из 4 элементов для пятого слова

Height

Width

300

300


Caption (для первого элемента)

3

Таймер

Name

Timer1


Interval

1

hello_html_m3352deb4.png

  1. Расположите объекты примерно так, как показано на образце. Элементы одного массива должны располагаться по возрастанию индексов. Не спешите делать пересечение слов.


  1. В разделе общих объявлений набрать:


Dim vopr(28), otv(28) As String ' массивы с вопросами и ответами

Dim k 'кол-во отгаданных слов


  1. В окне кода процедуры обработки события Load для объекта Form набрать:

'заполнение массива вопросами

vopr(1) = "устройство печати"

vopr(2) = "устройство ввода вывода"

vopr(3) = "устройство вывода"

vopr(4) = "гибкий диск"

vopr(5) = "устройство ввода"

'заполнение массива ответами

otv(1) = "принтер"

otv(2) = "дисковод"

otv(3) = "монитор"

otv(4) = "дискета"

otv(5) = "мышь"

k = 0


  1. В окне кода процедуры обработки события Click для объекта Buk1 набрать:


otvet = InputBox(vopr(1))

n = Len(otvet)

If n = 0 Then Exit Sub

If otvet = otv(1) Then

'ответ введен верно, вывод букв в клетки

For i = 1 To n

buk1(i) = Mid(otvet, i, 1)

Next i

'количество отгаданных слов увеличилось на единицу

k = k + 1

End If


  1. Проверьте работу программы (для первого слова)

  2. Самостоятельно набрать код для остальных массивов меток

  3. В окне кода процедуры обработки события Timer для объекта Timer1 набрать


If k = 5 Then

MsgBox "кроссворд разгадан"

Thello_html_277f1dcd.pngimer1.Interval = 0

End If


  1. Проверьте работу программы

  2. В том случае, если программа работает полностью правильно, сделайте пересечение слов (см. образец)


  1. Объясните, почему на пересечении слов не всегда сразу отображается буква, исправьте этот «недостаток» программы


  1. Добавьте на форму кнопку «Справка» для вывода сообщения, как работать с программой


  1. Результат показать преподавателю.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 7

Тема: Массивы объектов. Массивы данных

Цель: Закрепить навыки использования массива объектов и массива данных

Постановка задачи: Разработать приложение-«Тест»

Порядок выполнения:


  1. Установите на форме следующие объекты и измените им свойства:

Объект

Свойство

Значение

Метка

Caption

Вопрос


Name

LblVopros


Caption

(отсутствует)

Рамка

Caption

Выбери правильный ответ

Массив переключателей

OptOtvet

Font

10, полужирный

Index

От 1 до 3

Caption

(отсутствует)

Командная кнопка

Name

Cmd


Caption

Далее

hello_html_m2e225bb3.png

  1. Приведите свою форму в соответствие с образцом













  1. В разделе общих объявлений набрать:


Dim Test(4, 5) As String 'массив с вопросами и ответами

Dim Verno As Integer 'кол-во верных ответов

Dim n As Integer 'номер текущего вопроса

Dim s As Integer 'номер выбранного ответа


  1. В окне кода процедуры обработки события Load для объекта Form набрать


For i = 1 To 3

OptOtvet(i).Value = False

Next i

n = 0 : Verno = 0

Test(0, 1) = "единица измерения памяти" 'первый вопрос

'варианты ответов на первый вопрос

Test(1, 1) = "тактовая частота"

Test(2, 1) = "байт"

Test(3, 1) = "количество точек"

Test(4, 1) = "2" 'номер правильного ответа на первый вопрос

'данные 2 вопроса

Test(0, 2) = "устройство обработки информации"

Test(1, 2) = "процессор"

Test(2, 2) = "ОЗУ"

Test(3, 2) = "дискета"

Test(4, 2) = "1"

'данные 3 вопроса

Test(0, 3) = "назначение монитора"

Test(1, 3) = "ввода"

Test(2, 3) = "вывод"

Test(3, 3) = "печать"

Test(4, 3) = "2"

'данные 4 вопроса

Test(0, 4) = "назначение CD ROM"

Test(1, 4) = "чтение информации"

Test(2, 4) = "запись информации"

Test(3, 4) = "хранение информации"

Test(4, 4) = "3"

'данные 5 вопроса

Test(0, 5) = "указать устройство ввода и вывода информации"

Test(1, 5) = "дискета"

Test(2, 5) = "мышь"

Test(3, 5) = "дисковод"

Test(4, 5) = "3"


  1. В окне кода процедуры обработки события Click для объекта OptOtvet набрать

s = Index

  1. В окне кода процедуры обработки события Click для объекта Cmd набрать


For i = 1 To 3

OptOtvet(i).Value = False

Next i

If n = 0 Then

n = 1

LblVopros.Caption = Test(0, n)

For i = 1 To 3

OptOtvet(i).Caption = Test(i, n)

Next i

Exit Sub

End If

If Test(4, n) = s Then Verno = Verno + 1

If n = 5 Then 'тест окончен


MsgBox Str(Verno), , "количество верных ответов"

End

End If

'вывод следующего вопроса

n = n + 1

LblVopros.Caption = Test(0, n)

For i = 1 To 3

OptOtvet(i).Caption = Test(i, n)

Next i

  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 8

Тема: Массивы объектов. Массивы данных

Цель: Закрепить навыки использования массива данных и массива объектов


Постановка задачи: Создать приложение «Ваша диета», которое позволяет вводить данные для 6 человек (фамилия, имя, вес, рост) и выводит рекомендации по питанию каждого человека.


Порядок выполнения:


  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Метки

Caption

Фамилия

Caption

Имя

Caption

Вес

Caption

Рост

Текстовые окна

Name

TxtFam

Name

TxtNam

Name

TxtW

Name

TxtR

Массив меток

LblDieta

Index

От 1 до 6

Visible

False

Командная кнопка

Name

Cmd


Caption

Следующий


  1. Пhello_html_m6451bd99.png
    риведите свою форму в соответствие с образцом


  1. В разделе общих объявлений набрать


Dim f(1 To 6), n(1 To 6) As String

Dim w(1 To 6) As Integer

Dim r(1 To 60) As Integer

Dim i As Integer


  1. В окне кода процедуры обработки события Click для объекта Cmd набрать


If i > 6 Then

MsgBox "Ввод окончен"

For j = 1 To 6

LblDieta(j).Visible = True

If r(j) - 100 > w(j) Then dieta = "на хлеб и воду"

If r(j) - 100 < w(j) Then dieta = "возьми с полки пирожок"

If r(j) - 100 = w(j) Then dieta = "все Ok"

LblDieta(j).Caption = f(j) + " " + n(j) + " " + dieta

Next j

Exit Sub

End If

f(i) = TxtFam.Text

n(i) = TxtNam.Text

w(i) = Val(TxtW.Text)

r(i) = Val(TxtR.Text)

i = i + 1

TxtFam.Text = ""

TxtNam.Text = ""

TxtW.Text = ""

TxtR.Text = ""


  1. Проверьте работу программы.

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 9

Тема: Процедуры общего назначения

Цель: Получить навыки использования вызываемых процедур и функций

1 часть

Постановка задачи: Разработать приложение нахождения максимума из четырех чисел, используя функцию нахождения максимума из двух.


Порядок выполнения:


  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Командная кнопка

Name

Cmd

Метки

Caption

Введите числа

Caption

Max

Текстовые окна

Name

Text1

Name

Text2

Name

Text3

Name

Text4

Name

TxtMax


  1. Пhello_html_112409c.pngриведите свою форму в соответствие с образцом

  2. В окне кода процедуры обработки события Click для объекта Cmd набрать:


Dim x1 As Single, x2 As Single

Dim x3 As Single, x4 As Single


x1 = Val(Text1.Text)

x2 = Val(Text2.Text)

x3 = Val(Text3.Text)

x4 = Val(Text4.Text)

TxtMax.Text = max(max(x1, x2), max(x3, x4))

  1. Создать функцию нахождения максимума из двух значений, для этого:

  • в окне программного кода в списке Object выбрать General

  • набрать следующий текст


Function max(a As Single, b As Single) As Single

If a > b Then

max = a

Else

max = b

End If

End Function


  1. Проверить работу программы

  2. Изменить программу, для того чтобы она определяла и максимум и минимум (самостоятельно создайте еще одну функцию)

  3. Результат показать преподавателю



2 часть


Постановка задачи: Разработать приложение, которое строит три вида графика. Для подготовки графического поля перед выводом графика разработать вызываемую процедуру


  1. Добавьте на форму графическое окно (PicDraw) и три командных кнопки (Cmd1, Cmd2, Cmd3 )

  2. Приведите свою форму в соответствие с образцом

hello_html_19fe896d.png

  1. Создайте процедуру общего назначения для инициализации графического окна, для этого:

  • в окне программного кода в списке Object выбрать General

  • набрать следующий текст


Sub grafik(z1, z2, z3, z4)

PicDraw.Cls

PicDraw.Scale (z1, z2)-(z3, z4)

PicDraw.Line (z1, 0)-(z3, 0)

PicDraw.Line (0, z2)-(0, z4)

End Sub


  1. В окне кода процедуры обработки события Click для объекта Cmd1 набрать


Call grafik(-10, 100, 10, -10)

For x = -10 To 10 Step 0.1

y = x ^ 2

PicDraw.PSet (x, y)

Next x


  1. В окне кода процедуры обработки события Click для объекта Cmd2 набрать


Call grafik(-10, 2, 10, -2)

For x = -10 To 10 Step 0.1

y = Sin(x)

PicDraw.PSet (x, y)

Next x


  1. В окне кода процедуры обработки события Click для объекта Cmd3 набрать


Call grafik(-10, 10, 10, -10)

For x = -10 To 10 Step 0.1

y = Abs(x)

PicDraw.PSet (x, y)

Next x


  1. Проверьте работу программы

ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 10

Тема: Процедуры общего назначения

Цель: Закрепить навыки создания вызываемых процедур и функций


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

Порядок выполнения:

  1. Установите на форме следующие объекты и измените им свойства:

    Объект

    Свойство

    Значение

    Рамки

    Caption

    Ручная установка точек

    Caption

    Ввод координат вершин

    Caption

    X1,Y1

    Caption

    X1,Y1

    Caption

    X2,Y2

    Caption

    X2,Y2

    Caption

    X3,Y3

    Caption

    X3,Y3

    Caption

    Площадь

    Caption

    Площадь

    Текстовые окна



    Name

    (для правой стороны)

    TxtX1_k TxtY1_k

    TxtX2_k TxtY2_k

    TxtX3_k TxtY3_k

    TxtS_k

    Name

    (для левой стороны)

    TxtX1_m TxtY1_m

    TxtX2_m TxtY2_m

    TxtX3_m TxtY3_m

    TxtS_m

    Графическое окно

    Name

    Picture1

    Командная кнопка

    Name

    Cmd


    Caption

    Вычислить площадь треугольников

  2. Пhello_html_2c2de861.png
    риведите свою форму в соответствие с образцом

  3. В разделе общих объявлений набрать:


Dim X1, Y1, X2, Y2, X3, Y3 As Single

Dim N As Integer


  1. В окне кода процедуры обработки события Paint для объекта Form набрать


'заполнение формы после ее загрузки. сетка в графическом поле

Picture1.Refresh

Picture1.Scale (0, 20)-(20, 0)

For I = 1 To 20

Picture1.Line (I, 0)-(I, 20), RGB(200, 200, 200)

Next I

For I = 1 To 20

Picture1.Line (O, I)-(20, I), RGB(200, 200, 200)

Next I


  1. В окне кода процедуры обработки события MouseDown для объекта Picture1 набрать


If N = 0 Then

X1 = CInt(X * 10) / 10

Y1 = CInt(Y * 10) / 10

Picture1.PSet (X, Y)

N = N + 1

ElseIf N = 1 Then

X2 = CInt(X * 10) / 10

Y2 = CInt(Y * 10) / 10

Picture1.PSet (X, Y)

N = N + 1

Else

X3 = CInt(X * 10) / 10

Y3 = CInt(Y * 10) / 10

Picture1.PSet (X, Y)

N = N - 2

End If


  1. В окне кода процедуры обработки события Click для объекта Cmd набрать


' очистим поле построим сетку

Picture1.Refresh

Picture1.Scale (0, 20)-(20, 0)

For I = 1 To 20

Picture1.Line (I, 0)-(I, 20), RGB(200, 200, 200)

Next I

For I = 1 To 20

Picture1.Line (O, I)-(20, I), RGB(200, 200, 200)

Next I

'построим треугольник по указанным точкам и вычислим площадь

Picture1.Line (X1, Y1)-(X2, Y2), RGB(0, 0, 255)

Picture1.Line (X1, Y1)-(X3, Y3), RGB(0, 0, 255)

Picture1.Line (X3, Y3)-(X2, Y2), RGB(0, 0, 255)

'покажем координаты

TxtX1_m.Text = X1: TxtY1_m.Text = Y1

TxtX2_m.Text = X2: TxtY2_m.Text = Y2

TxtX3_m.Text = X3: TxtY3_m.Text = Y3


TxtS_m.Text = S_Tr(X1, Y1, X2, Y2, X3, Y3)


'построим треугольник по указанным точкам и вычислим площадь

X1 = Val(TxtX1_k.Text)

Y1 = Val(TxtY1_k.Text)

X2 = Val(TxtX2_k.Text)

Y2 = Val(TxtY2_k.Text)

X3 = Val(TxtX3_k.Text)

Y3 = Val(Txty3_k.Text)

Picture1.Line (X1, Y1)-(X2, Y2), RGB(255, 0, 0)

Picture1.Line (X1, Y1)-(X3, Y3), RGB(255, 0, 0)

Picture1.Line (X3, Y3)-(X2, Y2), RGB(255, 0, 0)


TxtS_k.Text = S_Tr(X1, Y1, X2, Y2, X3, Y3)


  1. Создайте вызываемую функция, которая по координатам вершин треугольника вычисляет площадь треугольника по формуле Геррона, для этого:

  • откройте окно программного кода (для любого объекта;

  • в списке Object выберите General

  • наберите следующее:


Function S_Tr(a1, b1, a2, b2, a3, b3 As Single) As Single

'определяем длины сторон

dlina1 = Sqr((a1 - a2) ^ 2 + (b1 - b2) ^ 2)

dlina2 = Sqr((a1 - a3) ^ 2 + (b1 - b3) ^ 2)

dlina3 = Sqr((a3 - a2) ^ 2 + (b3 - b2) ^ 2)

'определяем полупериметр

p = (dlina1 + dlina2 + dlina3) / 2

S_Tr = Sqr(p * (p - dlina1) * (p - dlina2) * (p - dlina3))

End Function


  1. Проверьте работу программы:

  • введите координаты вершин треугольника с клавиатуры (текстовые окна справа)

  • щелчком мышки в графическом окне отметьте вершины другого треугольника

  • для построения треугольников и определения площади каждого, щелкните по командной кнопке


ЛАБОРАТОРНО-ПРАКТИЧЕСКАЯ РАБОТА № 11

Тема: Рекурсивные функции и процедуры

Цель: Закрепить навыки создания вызываемых процедур и функций

1 часть

Постановка задачи: разработать приложение, вычисляющее факториал числа.

( Факториал числа– это произведение всех целых чисел от 1 до указанного числа.)

Порядок выполнения:

  1. Установите на форме следующие объекты и измените им свойства:


Объект

Свойство

Значение

Текстовые окна

Name

Text1

Name

Text2

Командная кнопка

Caption

Вычислить

Метка

Caption

! =


  1. Приведите свою форму в соответствие с образцом

  2. Вhello_html_m39c33191.png окне кода процедуры обработки события Click для командной кнопки набрать


Dim x As Integer

x = Val(Text1.Text)

Text2.Text = fact(x)


  1. Создайте функцию со следующим кодом:


Function fact(a As Integer) As Long

If a <= 1 Then

fact = 1

Else

fact = fact(a - 1) * a

End If

End Function


  1. Проверьте работу программы

2 часть

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

Порядок выполнения:

  1. Установите на форме следующие объекты и измените им свойства:

    Объект

    Свойство

    Значение

    Командная кнопка

    Name

    Cmd

    Флажок

    Name

    ChkColor
  2. В разделе общих объявлений набрать: Dim ccc(8)

  3. В окне кода процедуры обработки события Click для объекта Cmd набрать


If chkcolor.Value = 1 Then

ccc(1) = vbBlack : ccc(2) = vbBlue

ccc(3) = vbCyan : ccc(4) = vbGreen

ccc(5) = vbMagenta : ccc(6) = vbRed

ccc(7) = vbWhite : ccc(8) = vbYellow

Else

For i = 1 To 8

ccc(i) = vbBlack

Next i

End If

d = 50

dx = 1500: x0 = 170

dy = 2500: y0 = 300

x11 = x0 + dx : x21 = x0 + 3 * dx

x12 = x0 : x22 = x0 + 2 * dx

x13 = x0 + 2 * dx : x23 = x0 + 4 * dx

y11 = y0 : y21 = y0 + dy

y12 = y0 + dy : y22 = y0 + 2 * dy

y13 = y0 + dy : y23 = y0 + 2 * dy

Call printtr(d, x11, x21, y11, y21)

Call printtr(d, x12, x22, y12, y22)

Call printtr(d, x13, x23, y13, y23)


  1. Создайте функцию со следующим кодом

Sub printtr(d, x1, x2, y1, y2)

i = Int(8 * Rnd) + 1

If x2 - x1 > d Then

ffractal.Line (x1, y1 + 10)-(x2, y2), vbWhite, BF

ffractal.Line ((x1 + x2) / 2, y1)-(x1, y2), ccc(i)

ffractal.Line ((x1 + x2) / 2, y1)-(x2, y2), ccc(i)

ffractal.Line (x1, y2 - 10)-(x2, y2 - 10), ccc(i)

x11 = (3 * x1 + x2) / 4 : x21 = (3 * x2 + x1) / 4

y11 = y1 : y21 = (y1 + y2) / 2

x12 = x1 : x22 = (x1 + x2) / 2

y12 = (y1 + y2) / 2 : y22 = y2

x13 = (x1 + x2) / 2 : x23 = x2

y13 = (y1 + y2) / 2 : y23 = y2

Call printtr(d, x11, x21, y11, y21)

Call printtr(d, x12, x22, y12, y22)

Call printtr(d, x13, x23, y13, y23)

Ehello_html_m3c1e1f5f.pngnd If

End Sub


  1. Проверьте работу программы. Сравните результат работы с образцом


  1. Измените программу для того, чтобы размер минимального треугольника увеличился (уменьшился), а также добавьте паузу (например, вывод MSGBOX “”) после построения каждого треугольника.

  2. Результат показать преподавателю

Задания для самостоятельного выполнения

При выполнении ниже приведенных заданий должны быть выполнены следующие требования:

  • приложение должно иметь удобный интерфейс;

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

  • имена переменных должны быть информативны;

  • все используемые переменные должны быть объявлены;


Задание № 1

Одномерный массив из 12 элементов.

  • Заполнить случайными числами.

  • Все элементы с нулевыми значениями заменить на единицу.

  • Значения всех элементов увеличить в два раза.

  • Массив вывести до и после преобразования.

Задание № 2

Одномерный массив из 15 элементов.

  • Заполнить случайными числами от 0 до 20 и вывести

  • Вывести номера тех элементов массива, значения которых больше 10.

  • Найти среднее арифметическое значение элементов, имеющих нечетный номер.


Задание № 3

Одномерный массив из 8 элементов.

  • Заполнить с клавиатуры

  • Определить, имеются ли в массиве два подряд идущих нулевых элемента.

  • Все элементы массива, имеющие значения менее 10, заменить нулем.

  • Вывести номера тех элементов массива, значения которых превышает среднее арифметическое значение всех элементов массива.


Задание № 4

Одномерный массив из 10 элементов.

  • Заполнить только из нулями и единицами

  • Вывести сообщение “да”, если они строго чередуются.

  • Определить чего больше – нулей или единиц


Задание № 5

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


Задание № 6

Массив заполнить числами 1,3,5,7,9,11,13,15,17,19. Вывести на экран два соседних элемента: первый и второй, второй и третий, третий и четвертый и т.д., а также их сумму или произведение, при чем при сумме больше 15 выводить сумму, в противном случае - произведение.


Задание № 7

Одномерный массив из 12 элементов.

  • Заполнить случайными числами.

  • Определить номер первого элемента, значение которого больше 25.

  • Определить номер последнего элемента, значение которого больше 10.

  • Определить количество элементов массива, значения которых попадают в интервал от N до M (N и M ввести с клавиатуры)


Задание № 8

Двумерный массив из 3 строк и 5 столбцов.

  • Заполнить случайными числами и вывести

  • Найти сумму элементов для каждой строки.

  • Найти произведение для каждого столбца


Задание № 9

Двумерный массив из 4 строк и 4 столбцов.

  • Заполнить случайными числами

  • Вывести на экран элементы главной диагонали.

  • Вывести все элементы, располагающиеся выше главной диагонали.

  • Поменять местами элементы симметрично относительно главной диагонали.


Задание № 10

Двумерный массив из 6 строк и 3 столбцов.

  • Вывести элементы 4 строки

  • Вывести элементы 2 столбца

  • Найти максимальный элемент и его индексы (номер строки и столбца).

  • Определить количество четных значений в массиве


Задание № 11

Рhello_html_m62398f4f.png
азработайте приложение «Клавиатура».приложение должно работать следующим образом:

  • При щелчке по одной из «клавиш» в текстовое окно добавляется выбранная буква или пробел

  • При щелчке по кнопке «Очистить», текст полностью исчезает.


Клавиши – это массив объектов (командные кнопки или метки)

Задание № 12

Рhello_html_m17102bc7.pngасположите на форме таймер и несколько изображений (массив изображений)

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

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

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

  • Работа программы заканчивается тогда, когда все изображения становятся невидимыми.


Задание № 13

Разработайте тестовую программу для контроля знаний по Visual Basic.(за основу возьмите пр.работу № 7 ) Тест должен содержать не менее 10 вопросов, на каждый вопрос – 4 варианта ответа. В конце тестирования вывести оценку, которая определяется следующим образом:

Все ответы верные – 5

8 или 9 верных ответов - 4

6 или 7 3

в остальных случаях 2


Задание № 14

Разработайте программу «Кроссворд», содержащую вопросы по теории Visual Basic. В кроссворде должно быть не менее 10 слов.


Задание № 15

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


Задание № 16


Для следующей программы написать функцию, которая определяет выполняется теорема Пифагора для трех величин.

A=VAL(TEXT1.TEXT)

B=VAL(TEXT2.TEXT)

C=VAL(TEXT3.TEXT)

IF PIF(A,B,C)=0 AND PIF(B,C,A)=0 AND PIF(A,C,B)=0 THEN

? «ТРЕУГОЛЬНИК НЕ ПРЯМОУГОЛЬНЫЙ»

ELSE

?»ПРЯМОУГОЛЬНЫЙ»

END IF

Список использованной литературы


  1. Росс Нельсон, Running Visual Basic 3 for Windows, пер. с англ. – М.: Издательский отдел «Русская Редакция» ТОО «Channel Trading Ltd.», 1995

  2. Кауэлл Дж.Visual Basic 4.0: просто - о самом существенном, Пер. с англ. - М. :ИНФРА-М, 1998.

  3. Волченков Н.Г. Учимся программировать: Visual Basic 5, - М.:»Диалог-МИФИ», 1998

  4. Волченков Н.Г, Программирование на Visual Basic 6 в 3-х ч., М.:ИНФРА-М, 2000

  5. Visual Basic 6.0, Руководство для профессионалов, пер. с англ.- СПб.:БХВ – Санкт-Петербург, 1999



Название документа автор.doc

  • Живодерова Валентина Викторовна

hello_html_87d174a.jpg

  • Преподаватель спецдисциплин по информационным технологиям

  • Высшая категория

  • Государственное бюджетное образовательное учреждение высшего профессионального образования Московской области «Международный университет природы, общества и человека «Дубна» (Университет «Дубна») Филиал ДИНО университета «Дубна»

  • Московская область, г. Дмитров

  • valentinagivoderova@yandex.ru

Лабораторный практикум «Visual Basic. Основы программирования» Теория Лабораторно-практические работы Задания для самостоятельного выполнения
  • Информатика
Описание:

Лабораторный практикум (5 частей) предназначен для проведения лабораторно-практических работ при изучении языка программирования Visual Basic в общеобразовательных и профессиональных образовательных учреждениях, а также для самостоятельного изучения.
В пособии использованы материалы отечественных и переводных книг по Visual Basic, а так же автором обобщен личный опыт преподавания данного языка.



Автор Живодерова Валентина Викторовн
Дата добавления 10.09.2012
Раздел Информатика
Подраздел
Просмотров 6826
Номер материала 1391
Скачать свидетельство о публикации

Оставьте свой комментарий:

Введите символы, которые изображены на картинке:

Получить новый код
* Обязательные для заполнения.


Комментарии:

↓ Показать еще коментарии ↓