Данное учебное пособие посвящено работе в среде Visual Basic . Пособие содержит теоретическую часть, практические задания для выполнения на компьютере,а также контрольные вопросы, которые могут быть использованы учашимися для самоконтроля, а преподавателями – для текущего контроля знаний и навыков практической работы в течении семестра. Пособие рассчитано на пользователей, которые имеют минимальный опыт работы в среде Visual Basic.
1. Введение 2. Основы алгоритмизации 3. Visual Basic? 4. Практические работы 5. Вопросы по Visual Basic 6. Тесты по Visual Basic 7. Составь программу на VB 8. Задания к самостоятельной работе
Введение
Данное методическое пособие рассчитано, главным образом, на начинающих программистов, желающих освоить ставшую весьма популярной в последние годы среду разработки приложений Visиal Ваsic, которая, являясь мощным программным средством, позволяет реализовывать широкий спектр практических задач. К основным возможностям языка Visиal Ваsic можно отнести реализацию максимально гибкого и удобного интерфейса для приложения, создание самых разнообразных многоуровневых и всплывающих меню, обработку событий мыши и клавиатуры, работу с графикой. Разработчик может использовать в программе как стандартные, так и встроенные диалоги, применяющиеся для организации обратной связи с пользователем. В Visиal Ваsic имеется возможность внедрения в приложение различных объектов, которые поддерживаются другими программами. Предлагаемая вниманию читателей методическое пособие будет полезно не только, для пользователей, желающих освоить язык программирования. Разработчики, имеющие опыт создания приложений при помощи Visиal Ваsic, также смогут найти в нем немало интересного. В вместе с методическим пособием прилагается дискета 3,5” с примерами программ. Для закрепления теоретических знаний и получения практических навыков необходимо в соответствии с методическими указаниями выполнить все практичепские работы, а также провести тестовый контроль. О С Н О В Ы А Л Г О Р И Т М И З А Ц И И
1.1 ПОНЯТИЕ АЛГОРИТМА. СВОЙСТВА АЛГОРИТМОВ.
АЛГОРИТМИЗАЦИЯ - это важнейший раздел информатики, изучающий прием и методы построений алгоритмов для решения конкретных задач. АЛГОРИТМИЗАЦИЯ ЗАДАЧИ - процесс решения задачи, состоящий в нахождении по формулировке задачи алгоритма ее решения. АЛГОРИТМ - понятное и точное предписание исполнителю совершить в определенной последовательности действия над заданными объектами, приводящие исполнителя после конечного числа шагов к достижению указанной цели. Алгоритмы в зависимости от целей, начальных условий задачи подразделяются на: М е х а н и ч е с к и й - задает определенные действия, обеспечивая тем самым однозначный результат. В е р о я т н о с т н ы й - дает программу решения задачи нескольких путями. Э в р и с т и ч е с к и й - достижение конечного результата программы действий однозначно не предопределено, используются универсальные логические способы принятия решений. ИСПОЛНИТЕЛЬ АЛГОРИТМА - способ правильно понять и точно выполнить все действия алгоритма.
СВОЙСТВА АЛГОРИТМА:
ПОНЯТНОСТЬ - алгоритм должен быть задан с помощью таких указаний, которые входят в систему команд исполнителя. ДИСКРЕТНОСТЬ - последовательность команд, каждая из которых приводит к выполнению одного шага исполнителем. ОПРЕДЕЛЕННОСТЬ - точные сведения о том, какую следующую команду выполнять исполнителю после завершения текущей команды. РЕЗУЛЬТАТИВНОСТЬ - достижение исполнителем результата после прохождения конечного числа шагов. МАССОВОСТЬ - возможность решения класса однотипных задач. ========================================================== 1.2 СПОСОБЫ ЗАПИСИ АЛГОРИТМОВ Существуют различные формы представления алгоритмов: СЛОВЕСНО-ФОРМУЛЬНАЯ - предназначена для исполнения алгоритма человеком ГРАФИЧЕСКАЯ - позволяет наглядно проследить и осмыслить процесс выполнения алгоритма. АЛГОРИТМИЧЕСКИЙ ЯЗЫК - алгоритм может выполнить как человек так и компьютер. ===========================================================
1.3 ОСНОВНЫЕ СТРУКТУРЫ АЛГОРИТМОВ а). Структура с л е д о в а н и я: Алгоритм, в которых используется только структура следования, называют л и н е й н ы м и б). Структура в е т в л е н и я Алгоритм, в основе которых лежит структура ветвления, называют р а з в е т в л я ю щ и м и с я Если ТО серия 1 ИНАЧЕ серия 2 ВСЕ в). Структура п о в т о р е н и я Алгоритм, в основе которых лежит структура повторения, называют ц и к л и ч е с к и м и. ДЛЯ i ОТ нач.зн. ДО кон.зн. ШАГ h нц тело цикла кц КОМАНДА - записанное в алгоритме предписание исполнителю выполнить некоторое законченное действие. ===========================================================
1.4 ФОРМАЛЬНОЕ ИСПОЛНЕНИЕ АЛГОРИТМА При исполнении алгоритма воспользуемся словесно-формульным способом записи алгоритма. Пример 1 ------------------------------------------------------------ Шаг | Алгоритм | При х=2 | При х=0 ------------------------------------------------------------ 1 Умножить Х на Х обозначим Р1 4 0 2 Умножить Р1 на Р1 обозн. Р2 16 0 3 Умножить 4 на Х обозначить Р3 8 0 4 Сложить Р2 с Р3 обозначить Р4 24 0 5 Сложить Р4 с 5 обозначить У 29 5 ------------------------------------------------------------ Данный алгоритм будет понятен исполнителю, который знаком с командами "сложение" и "умножение" (понятность). Команды необходимо выполнить последовательно, одну за другой, не нарушая порядок. Невозможно выполнить 4-ю команду, не выполнив 1-ю, 2-ю,3-ю команды (дискретность, определенность). Достижение результата после конечного числа шагов (результативность). Данный алгоритм гарантирует решение для любого значения Х (массовость): при Х=29, У=29, при Х=0, У=5 и т.д. По шагам алгоритма можно восстановить формулу вычисления У
шаг5 шаг4 шаг3 шаг2 шаг1 У = 5+Р4 = 5+Р2+Р3 = 5+Р2+4*Х = 5+Р1*Р1+4*Х = 5+Х*Х*Х*Х+4*Х тогда У = Х*Х*Х*Х + 4*Х + 5 Построение алгоритма для решения какой-либо задачи занятие очень интересное - это творческая работа, связанная с процессом моделирования объектов, свойств и отношений реального мира. ===========================================================
Visual Basic
1. Почему Windows и почему Visual Basic? Графические интерфейсы пользователя, революционизировали микрокомпьютерную индустрию. Вероятно, при длительном использовании Windows то, как выглядят приложения, менее важно, чем-то, как они созданы. В Windows, как правило, программы имеют стандартный интерфейс пользователя. Это означает, что пользователи потратят больше времени на работу с приложением и меньше на изучение меню, диалоговых панелей и комбинации клавиш . Поэтому, если необходимо разработать программу для любой из версий Windows, программисту понадобится эффективное средство для разработки приложений с графическим интерфейсом пользователя. За все это долгое время существовало лишь несколько таких средств разработки. До появления Visual Basic в 1991 году разработка приложений Windows была намного тяжелее процесса создания приложений для DOS. Программисты должны были позаботиться буквально обо всем, например, о работе с мышью, обработке событий меню, и даже отслеживать, щелкнул пользователь один либо два раза в конкретном месте экрана. Разработка приложений Windows требовала экспертных знаний по программированию на языке С и сотен строк кода для выполнения простейшие задач. Проблемы были даже у профессионалов. Вот почему, когда появился Visual Basic 1. 0, Билл Гейтс, глава и владелец компании Microsoft, назвал ею "внушительным". Последняя версия Visual Basic продолжает данную традицию: сложные приложения Windows 95 и Windows NT разрабатываются теперь за гораздо меньший период времени. Ошибки в программах (bugs) возникают не так часто, и их локализация происходит быстрее и легче. С Visual Basic программирование в Windows не становится более эффективным, но оно становится более простым (в большинстве случаев). В частности. Visual Basic позволяет добавлять к окнам поля ввода (text boxes), меню, командные кнопки (command buttons), переключатели (option buttons), флажки (check boxes), списки (list boxes), линейки прокрутки (scroll bars), a также диалоговые окна для выбора файла или каталога. Программист может использовать сетку (grid) для обработки табличных данных, организовать взаимодействие с другими приложениями Windows и доступ к базам данных. На экране одновременно может находиться несколько окон. Они должны иметь полный доступ к буферу обмена (clipboard) и к информации большинства приложений Windows, работающих в то же время. Можно использовать Visual Basic для взаимодействия с другими приложениями, работающими под управлением Windows, используя наиболее современную версию технологии OLE фирмы Microsoft. Однако все более ранние версии Visual Basic могли в той или иной степени выполнять вышеописанные задачи. Что же особенного добавлено к последней версии Visual Basic? В двух словах ответ состоит в том, что Visual Basic теперь поддерживает элементы ActiveX. Приведем пример того, как пользователь может загрузить компоненты ActiveX для добавления полезных функций к странице Web. Предположим, что на ней размещена движущаяся картинка и он хочет загрузить ее к себе на компьютер и просмотреть. У Microsoft есть компонент ActiveX Movie, загрузить его можно из ActiveX Gallery Более того, добавив его один раз к своей системе, пользователю не придется загружать его еще раз. Каждый раз, когда страница Web будет содержать объект "active movie", броузер Internet Explorer сможет использовать один и тот же элемент Active Movie уже из операционной системы пользователя для просмотра видеоматериала.
2. Знакомство с Visual Basic С помощью VB можно много и быстро создавать приложения для Windows. VB содержит графическую среду, в которой можно наглядно конструировать экранные формы и управляющие элементы, используемые в приложениях. VB – используется как среда разработки, созданная по образцу Проводника Windows. Почти всеми объектами и инструментами на экране можно управлять, щелкая на них правой кнопкой мыши. Эта простейшая операция позволяет задавать свойства, добавлять новые элементы и даже просматривать контекстную справку. При первом запуске VB, запускается мастер Project Wizard на экране появляется диалоговое окно New Project. Здесь выбирается один из нескольких типов шаблонов проектов. Окно состоит из 3-х вкладок: NEW (Новые проекты) EXISTNG (Существующие проекты) RECENT (Недавно используемые проекты)
Присутствуют много шаблонов проектов, для работы мы будем использовать шаблон Standart.exe (стандартный Exe – файл) IDE – интегрированная среда разработки. Среда называется интегрированной, поскольку с экрана можно вызвать буквально любой необходимый инструмент. Данную среду можно настроить под работу для себя. (Изменить цвет окна, закрепить панели инструментов и многое другое). Составные части окна VB (IDE состоит из ) После загрузки VB на экране монитора появляется окно, которое состоит с таких частей: 1 – Ряд главного меню, которые вмещает команды для управления работой над проектами. 2 – Панель инструментов Standard, имеет кнопки для быстрого выполнения большинство команд главного меню. Если панель закрыта, для открытия надо выполнить команды View – Toolbars – Standard. 3 – Окно Project (проекта) предназначено для быстрого получение информации о различных составляющих проекта – формах, классах и модулях. Располагается под панелью инструментов. 4 – Окно Properties (свойств) в нём отображаются различные атрибуты выделенных объектов. Находиться под окном проекта. 5 – Окно макета формы (Form Layout) даёт возможность определить распределения формы на экране при выполнении созданного объекта 6 – Панель General (элементов) содержит набор элементов управления, которые используются при создании проекта. Все кнопки называют управляющими элементами. 7 – Элемент руководства Image (вставка картинок) 8 – Окно проекта. Здесь происходит визуальное конструирование макета форм и расположенных на ней элементов.
Общие рекомендации Для открытия ранее созданного проекта необходимо воспользоваться командой File – Open Project - выбрать диск, папку и активизировать нужный файл – нажать на кнопку Открыть Для сохранения проекта необходимо выполнить команду File – Save Project As – выбрать диск, папку, ввести имя файла и нажать кнопку Сохранить Объект – это элемент интерфейса пользователя, что создаётся в форме с помощью способов управления. Такими объектами есть командные кнопки, а также кнопки списков, текстовые окна и далее.
Программный оператор – это конструкция, которая может складываться с комбинаций ключевых слов VB, и функций. Метод – это команда, которая выполняется объектом.
Работа с переменными в программе Переменная – месторасположения данных в программе. Переменные могут сохранять начальные значения, результаты расчета, значения собственности. Переменную в программе необходимо сначала описать т. е. вызвать имя, тип, размер. Имя переменной всегда начинается с буквы и может иметь длину до 255 символов. Переменные имеют Тип. По умолчанию все данные имеют тип Variant (универсальная переменная, хранит значения большинства других типов) String Строковые переменные хранят символы. Один из способов обозначить данный тип переменной состоит в добавлении символа "$" к концу ее имени, например: AStringVariable$. Теоретически такая переменная может содержать до 2 миллиардов символов Integer Целочисленные переменные могут хранить только относительно небольшие целые числа (в диапазоне от -32768 до +32767). Арифметические операции над такими числами выполняются очень быстро. Long Integer . В таких переменных хранятся целые значения от -2 147483648 до +2 147483647. Обозначается символом "&". Арифметические операции над такими числами выполняются тоже очень быстро. Double Precision Переменные такого типа позволяют хранить числа с точностью до 16 цифр и длиной до 300 символов. Идентификатором является "#". Вычисления с ними тоже являются приблизительными, а скорость их относительно небольшая. В основном переменные типа Double Precision используются для научных расчетов. Currency Он создан для того, чтобы избежать ошибок при преобразовании десятичных чисел в двоичную форму и наоборот. (Невозможно 1/10 представить как сумму 1/2,1/4, 1/8, 1/16 и т.п.) Данный тип может иметь до 4 цифр после запятой, и до 14 - перед ней. Внутри данного диапазона вычисления будут точными. Идентификатор представляет собой символ "@". Date Этот тип данных позволяет хранить значения времени и даты в промежутке от полуночи 1 января 100 года до полуночи 31 декабря 9999 года. Такие значения в тексте программ обозначаются символами "#" Byte Байтовый тип является новым в Visual Basic и предназначен для хранения целых чисел от 0 до 255. Его использование позволяет сильно экономить оперативную память и уменьшать размер массивов Boolean Булев тип данных может хранить только два значения: True либо False. Его использование вместо целочисленных переменных является хорошим стилем программирования. Variant . Переменная типа variant может содержать данные любого типа. Если Visual Basic не знает тип принимаемых данных, необходимо использовать variant. Тип информации не имеет значения, поскольку variant может содержать любой тип данных (численный, дата/ время, строковый). Описание переменных При программировании, необходимо все переменные описать. Для этого используют оператор Dim <имя переменной>[As<тип переменной>] Например: Dim NamePassW As String - описание строковой переменной Dim A As Integer - описание числовой переменной.
Математические функции Abs(n) - модуль значения n Cos(n) - косинус значения Exp(n) - Е в степени n Log(n) - Логарифм значения Sqr(n) - Квадратный корень значения n Tan(n) - Тангенс значения n. Sin(n) – синус значения В VB, редактор - называется окном программы. На самом деле это мощный текстовый редактор с множеством встроенных средств повышения производительности. Установка цвета формы и параметров шрифта Для того, чтобы сделать вид привлекательным – для этого изменим свойства объектов, определяющие их внешний вид (цвет фона формы, цвет, размер и т. д.) - Для изменения цвета фона - надо активизировать форму. В окне Свойств объекта выбрать свойство BackColor и открыть диалоговое окно с цветовой палитрой и выбрать цвет - Для изменения цвета кнопки, необходимо сначала установить Style – Graphical, а затем в BackColor установить цвет. – Активизировать текстовое поле TEXT1. В окне Свойств для свойств установить значение ForeColor (цвет надписи) , Font – размер шрифта и начертание курсив Aligment – (выравнивание) center ======================================================== 3. Управляющие конструкции Разобравшись с линейными структурами языка программирования, мы можем переходить к управляющим конструкциям или же операторам ветвления. Что же это такое операторы ветвления или же управляющие конструкции. Всего лишь навсего это указания действий компьютеру с условием. Приведем пример из жизни. Выходя из дома для покупки колбасы вы себе указываете, если магазин будет закрыт я пойду на базар и куплю колбасу там, иначе, если магазин будет открыт, тогда я куплю колбасу в магазине. Всё очень просто. Перед нами указания: ЕСЛИ условие ТОГДА действие ИНАЧЕ выполняется другое действие. Такую же последовательность мы можем указать и компьютеру при выполнении им созданной нами программы, однако компьютер понимает эти команды только на языке программирования. В Visual Basic команды ветвления записываются следующим образом: IF (ЕСЛИ) условие THEN (ТОГДА) действия ELSE (ИНАЧЕ) выполняется другое действие. Попробуем наиболее точно разобраться с этим на примере создания программы, которая будет содержать оператор ветвления (условия). Конструкция SELECT CASE Когда существует несколько операторов, которые необходимо выполнять в случае истинности того или иного условия используется структура SELECT CASE Select Case переменная Case 1 Значение 1 Команда1 .. Саse N Значение N Команда N End Select Если переменная содержит значение 1, расположенное после первого по порядку ключевого слова Case, то выполняется блок операторы 1 и т. д. =============================================== 4. Циклы
Для того чтобы разобраться в логической последовательности выполнения программы необходимо понять работу операторов цикла. Сначала давайте разберемся что же такое ЦИКЛ. Цикл – это набор повторяющихся действий неограниченное количество раз. В программе цикл нужен для многократного выполнения каких-либо команд, например при подсчете какой-либо функции или выражения. Циклы бывают трех видов. Ниже приведен пример их записи в тексте программы:
ForNext For I=10 To 100 Step 5 повторяющиеся действия Next
DoLoop Do While X < 10 повторяющиеся действия, например, Х = X + 1 Loop
WhileWend While X < 10 повторяющиеся действия, например, Х = X + 1 Wend
Приведем пример работы программы с одним из выше перечисленных циклов. ==================================
5. Массивы
Массив можно считать разновидностью переменных однако в них хранится сразу несколько значений. Например электронная таблица представляет собой массив ячеек. Массив можно использовать для хранения записей небольшой базы данных. Массив – группа переменных одного типа, объединенные одним именем Перед составлением массива его необходимо объявить, в зависимости от места объявления массив может быть локальным или глобальным. Для объявления массива используют оператор: DIM <имя массива>(число1, число2,) As [ тип данных]
Имя массива – имя переменной Число1 – число строк Число2 - число столбцов Тип данных – выбирается необходимый тип Каждый элемент массива имеет свой индекс (например А(0), А(1) ) При работе с массивами используют оператор цикла For .Next Не редко размер массива (то есть количество хранящихся в нем элементов) не может быть определено заранее. В этом случае следует объявить пустой массив. Массив, который в начале своего жизненного цикла не содержит ни одного элемента называется динамическим. Он объявляется так же как обычный массив, за исключением того, что в процедуре можно использовать как ключевое слово Dim, так и Static. Dim Y() As Integer Было бы расточительно создавать массив заведомо большего размера, чем вам требуется Чтобы выйти из положения, следует создать динамический массив, не содержащий ни одного элемента и затем добавлять в него элементы по мере надобности. Это методика особенно полезна при работе с большим количеством элементов. Затем в массив необходимо добавить элементы, в которых будут храниться значения. Для этого используется оператор ReDim, который может встречаться только в процедурах. ReDim Y(5) Чтобы сохранить все значения хранящиеся в массиве используется ключевое слово Preservere ReDim Preservere Y(5) При работе с масивом надо представлять, что вы делаете.
===============================================
6. Графические методы
Метод – это некоторое действие, которое может выполнять VB над данным объектом. Графический метод – это метод, который позволяет изображать на объекте какой нибудь геометрический элемент. Метод SCALE – задает на данном объекте декартову систему координат Scale (x1, y1) – (x2, y2) Scale (-7, 5) – (7, -5) X1, y1 – координаты левого верхнего угла X2, y2 –координаты правого нижнего угла Метод PSET – изображает точку в заданной системе координат. Pset (x, y) [ , цвет ] (x, y) – координаты точки Цвет – это выражение, значением которого является число типа Long
Цвет Константа Числовое значение
Черный Красный Зеленый Желтый Синий Сиреневый Голубой Белый vbBlack vb Red vb Green vb Yellow vb Blue vb Magenta vb Cyal vb While 0 255 65280 65535 16711680 16711935 16776960 16777215
Цвет может отсутствовать. В этом случае по умолчанию используется 0 – черный цвет. Метод LINE – чертит отрезки прямых линий, прямоугольники Line (x1, y1) – (x2, y2) [ , цвет [ , флаг ] ] Флаг – это символ В – рисует прямоугольник ВF – закрашенный прямоугольник DRAW WIDTH – изменяет толщину линии Пример: Line (200,200) – (2200, 200), 255 –изображение тонкого красного горизонтального отрезка Draw Width = 4 Line(200, 400) – (200, 1400), vb Cyan - изображение толстого голубого вертикального отрезка. Draw Width=2 Line(200,1800)-(2000,1100), vb Red - изображение красного наклонного отрезка средней толщины Line(1400,1000)-(400,500), , В – изображение не закрашенного прямоугольника (цвет контура черный – берется по умолчанию) Line(1600,500) – (2400,1000), 255, BF – изображение красного закрашенного прямоугольника Метод PRINT – выдача чисел и строк на экранную форму или в графическое окно Print [ последовательность фрагментов ] Метод CIRCLE – строит окружности, круги и эллипсы. Circle (x, y), радиус [ , цвет [ , угол1, угол2, коэффициент сжатия ] ] ] (x, y) – координаты центра круга Цвет – это выражение, определяется также как и для Line Угол1, угол2 – это начальный и конечный углы дуги или сектора. Углы измеряются в радианах, их значения берутся в интервале от 0 до 2П Circle(5, 25), 2 . 5, 0 - окружность черного цвета
Практическая работа № __1_ по теме: «Основы алгоритмизации и программирования»
Тема: «Знакомство с особенностями и инструментарием среды VB». Цель: «. Научиться работать со средой Visual Basic. Закрепление умения работы с VB ». ТСО: IBM PC
Первая программа Здесь мы расскажем вам о том как сделать первый шаг в освоении Visual Basic (VB) - вашу первую программу. Установка : 1.Запустить VB 2. В окне выбора - выберите Standart exe [ Cкачайте файл, чтобы посмотреть картинку ]1.Создать программу, которая при нажатии на кнопку выдавала сообщение - "Привет всем". 2 Визуальное проектирование: Программирование в VB делится на 2 этапа - визуального программирования и программирования в исходном коде .Во втором шаге мы будем визуально программировать в VB. Изначально все должно выглядеть вот так [ Cкачайте файл, чтобы посмотреть ссылку ] Если это не так, или вы просто не можете чего то разобрать кликните на картинке и увидите ее в полный рост Итак- слева расположена панель инструментов (если ее нет зайдите в меню ВИД и установить) Правее расположена форма-это как бы окно вашей программы, на ней все и располагается. Еще правее находятся свойства, если вы ничего не меняли то это должны быть свойства текущей формы. У каждого элемента свои свойства, но основные свойства это: name-имя элемента в программе и caption-надпись на элементе. Ну и совсем справа находятся список файлов используемых в проекте и - под ним - расположение формы на экране при запуске программы. Для выполнения этого задания необходимо задать на форме такие элементы: 2 кнопки CommandButton - в окне свойств Caption - Привет, Name - Command1 CommandButton - в окне свойств Caption - Выход, Name – Command2 Создайте текстовое полеTextBox. У TextBox-а нет свойств caption, но у него есть свойство - text - он определяет какой текст будет в TextBox. Задайте TextBox-у параметр name-Text1. Теперь ваша форма должна выглядеть так: [ Cкачайте файл, чтобы посмотреть картинку ] И последнее. Очистите текст элемента TextBox. 3. Программирование в коде Теперь приступим к этапу программирования в программном коде. Первым делом сделаем так, чтобы при нажатии на кнопку выход программа заканчивала свою работу. Для этого 2 раза нажмите на кнопку Выход, теперь на месте формы перед вами должен появиться белый экран и такое выражение: Private Sub Command2_Click ( ) End sub Если немного не так то ничего страшного, просто у нас название кнопки-Command2 а у вас оно может быть другим. Теперь между первой и последней строчкой выражения введите - End. У вас должно получиться: Private Sub Command2_Click ( ) End End sub Для того чтобы попасть обратно на форму вам нужно нажать на кнопку -[ Cкачайте файл, чтобы посмотреть картинку ]-расположенную над окном файлов. После того как вы попали на форму 2 раза нажмите на кнопку -Привет, у вас должен появиться все тот же белый экран с тем что вы уже ввели и новыми строками: Private Sub Command1_Click ( ) · · · · · · · · · · · · · · · · · · · · · · · ·Введите между Private Sub Command1_Click ( ) и End Sub строку - Text1.Text = "Привет"-Тут мы присваиваем свойству Text элемента Text1 значение Привет. В конце концов у вас должна получиться программа Private Sub Command1_Click ( ) Text1.Text = "Привет"End Sub Private Sub Command2_Click ( ) End End Sub Подведение итогов Если у вас все так и получилось, то запустите программу клавишей F5. Нажмите на кнопку Привет, теперь в окне ввода текста –TextBox должен появиться текст - Привет. Если все так и есть, то попробуйте нажать на кнопку Выход, программа должна закончить свою работу. Сохранить результат на диск в свою папку. Открыть пункт ФАЙЛ, выбрать Сохранить Проект – выбрать диск и ввести имя. При сохранении так же необходимо и выполнить сохранение формы (аналогично, выбрать Файл – сохранить форму - диск – имя) Усовершенствование Теперь давайте усовершенствуем программу. Сделаем так чтобы этот TextBox можно было очистить. Для начала, создайте кнопку с надписью Очистка. Теперь войдите в ее программный код, нажав на нее 2 раза. Напишите в ее коде - Text1.Text = "". Теперь у вас должно получиться : Private Sub Command1_Click ( ) Text1.Text = "Привет" · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · Text1.Text = "" (-Тут мы присваиваем свойству Text элемента Text1 значение "") End Sub Установка цвета формы и параметров шрифта Для того, чтобы сделать вид привлекательным – для этого изменим свойства объектов, определяющие их внешний вид (цвет фона формы, цвет, размер и т. д.) - Для изменения цвета фона - надо активизировать форму. В окне Свойств объекта выбрать свойство BackColor и открыть диалоговое окно с цветовой палитрой и выбрать цвет - Для изменения цвета кнопки, необходимо сначала установить Style – Graphical, а затем в BackColor установить цвет. – Активизировать текстовое поле TEXT1. В окне Свойств для свойств установить значение ForeColor (цвет надписи) , Font – размер шрифта и начертание курсив Aligment – (выравнивание) center Выполните графический интерфейс вашего проекта. Запустите программу и нажмите сначала на кнопку-Привет, а потом на кнопку Очистка. Сначала в текстовом окне должна появиться надпись Привет, а потом оно должно оказаться пустым. Если все так и есть, то я вас еще раз поздравляю - вы улучшили свою первую программу. Сохранить результат в свою папку на диск. Задание_2 Проект «Расписание» Цель: Закрепить умение использовать в проекте компонент CommandButton и устанавливать свойства этого компонента.
Задача: Используя кнопки создать проект «расписание». По нажатию на кнопку понедельник появляется расписание понедельника, на вторник – расписание вторника и т.д. Создания интерфейса (создания окна диалога и размещения в нем элементов управления). 7 кнопок с названиями дней недели и 1 кнопка - выход. 2. Установки параметров (свойств) элементов управления; № Элемент управления Свойства
1 Форма - Form (Name) - F1 Caption – Расписание BackColor – белый BorderStyle - 2 ControlBox - True ForeColor – красный Icon - любой
Ввод текста программ и их отладки. Private Sub C1_Click() Cls Print "Математика" Print "Русский язык" Print "История" Print "Труд" Print "Труд" End Sub
Дальше выполняем самостоятельно. Задание_3 Проект – Вычисления выражения
1 - Постановка задачи
Выполнить расчёт т. е. найти У = Х * Х / А
2 - Визуальное программирование
На форме разместим такие элементы: - надпись Label – Caption -Введите А - после надписи, отступить место и на этой строке вставить окно TextBox, Text - очистить - надпись Label – Caption -Введите Х - после надписи, отступить место и на этой строке вставить окно TextBox Text - очистить - надпись Label – Caption –Значение У = - после надписи, отступить место и на этой строке вставить окно TextBox Text - ввести 0 кнопку Command2 (в поле свойства Caption введите - Расчёт ) кнопку Command1 (В поле свойства Caption введите - Выход) 3 - Программирование в коде Для начала объявим переменные (объясним программе, какие переменные будут у нас в программе. Для этого напишем : Option Explicit Dim x, a, y As Integer Теперь приступим к программированию в коде. Нажмите два раза на кнопку - Выход - в коде этой кнопки введите End. Private Sub Command1_Click() End End Sub
Вернитесь к форме. Нажмите два раза на кнопку Расчёт и напишите : Private Sub Command2_Click() a = Text1 x = Text2 y = Text3 y = x * x / а Text3 = y End Sub Окончательно программа будет выглядеть так: Option Explicit Dim x, a, y As Integer
Private Sub Command1_Click() End End Sub
Private Sub Command2_Click() a = Text1 x = Text2 y = Text3 y = x * x / а Text3 = y End Sub 4 - Подведение итогов Готово ! Теперь запустите программу. Проверьте все т. е ввести данные и нажать на кнопку Расчёт. После выполнения расчёта нажать на кнопку Выход. Добавьте графическое оформление. Сохранить программу в свою папку. Измените тип переменной (например Variant) введите значение и просмотрите результат Задание к самостоятельной работе 1. Разработайте самостоятельно программу, которая выводит сообщение – Ваша фамилия, Имя, Отчество, Домашний адрес. Придумать графический интерфейс вашего проект 2. Создать проект в котором два различных варианта текста выводятся в текстовое поле TextBox по щелчку по двум кнопкам. Предусмотреть возможность выхода из программы по щелчку по третьей кнопке. Предусмотреть очистку формы от напечатанного текста методом CLS. 3. Разработайте программы для вычисления арифметических выражений. В выражении должны быть использованы математические функции. 4. Разработать проект на вольную тему. Используя графический интерфейс. 5. Составьте программу, вычисления а) площади треугольника по введенным значениям основания и высоты, б) круга, в) трапеции. 6. Составить программу нахождения длины а) окружности, б) квадрата 7. Составить программу нахождения объема а) призмы, б) пирамиды, в) шара, г) конуса, д) цилиндра. 8. Составить диалоговую программу на тему: а) диалог между покупателем и продавцом; б) диалог между библиотекарем и абонентом.
========================================================= Практическая работа № 2 по теме: «Основы алгоритмизации и программирования»
Тема: «Работа в среде VB. Условие в языке VB». Цель: «. Научиться работать со средой Visual Basic. Закрепление умения работы с VB ». ТСО: IBM PC
Задание 1 – Вычисления выражения
1 - Постановка задачи
Выполнить расчёт т. е. найти Х * Х если А < 0 У = Х если А > 0
2 - Визуальное программирование На форме разместим такие элементы: - надпись Label – Caption -Введите А - после надписи, отступить место и на этой строке вставить окно TextBox, Text - очистить - надпись Label – Caption -Введите Х - после надписи, отступить место и на этой строке вставить окно TextBox Text - очистить - надпись Label – Caption –Значение У = - после надписи, отступить место и на этой строке вставить окно TextBox Text - ввести 0 кнопку Command2 (в поле свойства Caption введите - Расчёт ) кнопку Command1 (В поле свойства Caption введите - Выход) 3 - Программирование в коде Для начала объявим переменные (объясним программе, какие переменные будут у нас в программе. Для этого напишем : Option Explicit Dim x, a, y As Integer Теперь приступим к программированию в коде. Нажмите два раза на кнопку - Выход - в коде этой кнопки введите End. Private Sub Command1_Click() End End Sub Вернитесь к форме. Нажмите два раза на кнопку Расчёт и напишите : Private Sub Command2_Click() a = Text1 x = Text2 y = Text3 If a < 0 Then y = x * x Else If a > 0 Then y = x End If Text3 = y End Sub Окончательно программа будет выглядеть так: Option Explicit Dim x, a, y As Integer
Private Sub Command1_Click() End End Sub
Private Sub Command2_Click() a = Text1 x = Text2 y = Text3 If a < 0 Then y = x * x Else If a > 0 Then y = x End If Text3 = y End Sub
4 - Подведение итогов Готово ! Теперь запустите программу. Проверьте все т. е ввести данные и нажать на кнопку Расчёт. После выполнения расчёта нажать на кнопку Выход. Добавьте графическое оформление. Сохранить программу в свою папку.
************************************************************************************* Задание 2 – Программа - Пароль
1 - Постановка задачи Наша программа будет спрашивать пароль. Если юзер введет правильный пароль то она сообщит ему что пароль правилен. Если же нет, то она сообщит ему, что пароль неправилен..2 - Визуальное проектирование На форме разместите такие элементы с такими настройками : TextBox (Поле свойства text должно быть пустым)Command1 (в поле свойства Caption введите - Вход )Command2 (В поле свойства Caption введите - Выход)У формы свойство Caption должно быть -получение пароля. Теперь ваша форма должна выглядеть вот так : [ Cкачайте файл, чтобы посмотреть картинку ]3 - Программирование в коде Теперь приступим к программированию в коде. Нажмите два раза на кнопку - Выход - в коде этой кнопки введите End. Вернитесь к форме. Нажмите два раза на кнопку Вход и напишите : If Text1.Text = "Ваш пароль" then msgbox "Пароль правильный" else msgbox "Неправильный пароль" Вместо фразы Ваш пароль поставьте тот пароль который вам нужен. Запустите программу и проверьте ее4 - Подведение итогов Готово ! Теперь запустите программу. Проверьте все. Введите пароль который вы ввели вместо значения Ваш пароль и нажмите на Вход .Если сообщение гласит о том, что пароль правильный то попробуйте изменить его на неправильный и нажмите на Вход, если вы получили сообщение, что пароль неправильный, то попробуйте нажать на Выход и если программа вышла то поздравляю вас, вы написали программу пароля на VB!!! Если, что то не работает, то вы можете [ Cкачайте файл, чтобы посмотреть ссылку ] программу попробовать разобраться в ней. P.S.: Если все работает, то усовершенствуйте программу. Поставьте у TextBox свойство PassworChar равным звездочке - *.Проверьте программу. Добавте графический интерфейс к программе Сохранить в свою папку. Задание 3 -- Программа -- Проверка переключателя Первым делом нужно понять, что же должна делать программа. В данном случае программа должна проверять – включен ли переключатель. То есть при нажатии на кнопу проверка, она должна говорить(выводить на экран) сообщение о состоянии переключателя.Создаем новый проект. Ставим на форму объекты : кнопку со свойством Caption- проверить, переключатель со свойством Caption – Переключить, и кнопку с Caption'ом – выход.Перейдите к коду кнопки – проверить. Впишите туда : If Check1.Value = 1 then Msgbox “Переключатель включен” Else Msgbox «Переключатель выключен» End if В коде кнопки – Выход введите: End В результате у вас должно поучится вот это: Private Sub Command1_Click()If Check1.Value = 1 Then MsgBox “Переключатель включен”Else MsgBox “Переключатель выключен”End If End SubPrivate Sub Command2_Click()End End Sub Попробуйте запустить программу. Поставьте галочку на переключатель и на кнопку – проверка, потом уберите галочку и опять нажмите на кнопку проверка. Переключатель вам скорее всего пригодится. Эта программа просто показывает как с ним работать, но потом можете делать многие вещь с помощью переключателя. Например, в некоторых программах спрашивается, выводить ли это далее. Сохранить на диск в свою папку. ****************************************************************** Задание 4 – Программа -- Купля/продажа 1 – Постановка задачи Для начала, как и во всех программах надо определить – что же будет делать программа. Эта программа должна при нажатии соответствующей клавиши отнимать какое-то количество денег и прибавлять какое-то количество товара.2 – Визуальное проектирование Второе – это визуальное проектирование. На форме вы должны расставить такие объекты 1) Кнопку с Caption'ом – Покупка ; 2) Кнопку с Caption'ом – Продажа ; 3) Надпись (Label) с Caption'ом – Деньги ; 4) Надпись (Label) с Caption'ом – 100 и Name'ом – money 5) Надпись (Label) с Caption'ом – Товар 6) Надпись (Label) с Caption'ом – 0 и Name'ом – goods 7) Надпись (Label) с Caption'ом – Цена товара 8) Надпись (Label) с Caption'ом – 10 и Name'ом – price В результате у вас должно получиться так : [ Cкачайте файл, чтобы посмотреть картинку ] 3- Программирование в коде Далее приступим к программированию в коде : Для начала объявим переменные (объясним программе какие переменные будут у нас в программе. Для этого напишем : Option Explicit – тут мы как бы говорим, что будем объявлять переменные Dim mon – объявляем переменную с именем mon – деньги. Dim g – объявляем переменную с именем g – товар. Dim pr – объявляем переменную с именем pr – цена товара.Все, переменные мы объявили.Далее войдем в код формы (кликнув на неё 2 раза) – это будет код формы с действием Load ( действие которое исполняется при загрузке формы), и придадим переменным mon и g значения 100 и 0 соответственно : g = 0 – придаем переменной значение 0 mon = 100 – придаем переменной mon значение 100 pr = 10 – придаем переменной pr значение 10 Ну а сейчас создадим сами действие покупки. Войдите в код кнопки – Покупка и введите : if mon – pr => 0 then – тут идет проверка : если деньги оставшиеся после покупки будут больше или равны нулю то mon = mon – pr – придаем переменной деньги значение деньги минус цена товара, то есть от денег отнимаем цену товара. g = g + 1 – придаем переменной товар значение товар плюс 1 (увеличиваем значение переменной товар на 1) else – иначе (то есть если деньги оставшиеся после покупки будут меньше нуля то Msgbox «У вас не хватает денег на покупку» , vbCritical – выдать сообщение о том, что денег на покупку не хватит со значком ошибки. End if – завешаем процедуру проверки. Money.Caption = mon – придаем свойству Caption элемента money значение переменной mon. Goods.Caption = g – придаем свойству Caption элемента goods значение переменной . А теперь создадим действие продажи. Для этого войдите в код кнопки Продажа и напишите там : If g – 1 >= 0 then – проверям : будет ли минус 1 (то есть кол-во товара после того, как от него отнимут 1 больше или равно нулю) и если да то mon = mon + pr – придаем переменной mon значение mon плюс 1 (то есть прибавляем к деньгам цену товара) g= g – 1 – придаем переменной g значение g минус 1 ( то есть отнимаем от кол. Товара 1) Else – иначе, то есть если g минус 1 будет меньше нуля то Msgbox «У вас нет товара на продажу», vbCritical – выводим сообщение о том, что нет товара на продажу со значком ошибки. End If – заканчиваем процедуру проверки money.Caption = mon – придаем свойству Caption элемента money значение переменной mon. Goods.Caption = g – придаем свойству Caption элемента goods значение переменной . После всего этого у вас должен быть такой код : Option ExplicitDim monDim gDim prPrivate Sub Command1_Click()If mon – pr >= 0 Thenmon = mon – prg = g + 1ElseMsgBox “У вас не хватает денег на покупку”, vbCriticalEnd Ifmoney.Caption = mongoods.Caption = gEnd SubPrivate Sub Command2_Click()If g – 1 >= 0 Thenmon = mon + prg = g – 1ElseMsgBox “У вас нет товара на продажу”, vbCriticalEnd Ifmoney.Caption = mongoods.Caption = gEnd SubPrivate Sub Form_Load()g = 0mon = 100pr = 10End Sub 4 – Подведение итогов Проверьте программу. Попробуйте купить товар и продать его .Если все работает, то я вас поздравляю Если же нет, то попробуйте [ Cкачайте файл, чтобы посмотреть ссылку ] программу и разобраться. Сохранить результат в свою папку. ****************************************************************** Задание 5 -- Программа - Отсчет 1 - Постановка задачи Итак, что же будет делать наша программа? Она будет отсчитывать от 10 до 0, а потом заканчивать свою работу Иначе говоря на этикетке (Label) с самого начала будет цифра 10 и через каждую секунду это число будет уменьшаться на 1. 2 - Визуальное проектирование Теперь как всегда приступим к визуальному проектированию. У вас на форме должны быть всего 2 элемента : этикетка и , естественно, таймер.Можете еще поместить кнопку выход, но я думаю она вам не понадобится, так как программа должна выходить сама а можно просто нажать на крестик вверху формы. У этикетки в параметре Caption сотрите все, там должно быть пусто. Теперь приступим к работе с таймером:Для того чтобы таймер работал, ему нужен программный код, то есть что он будет делать, но об этом далее. Еще таймеру нужны такие параметры, как Интервал(Interval) и состояние(Enabled) - включен(True) или выключен(False), если состояние - включен, то таймер будет через каждый интервальный отрезок времени выполнять свой программный код. Интервал указывается в миллисекундах , то есть если вы хотите чтобы таймер выполнял свой код через каждую секунду, то вам нужно будет поставить интервал равным 1000. Это нам и надо, поэтому поставьте у таймера Состояние - включен, а интервал 1000. Все, с визуальным проектированием покончено. Шаг №3 -Программирование в коде Теперь приступим к программированию в коде. Напишите в разделе глобальных объявлений : Option explicit-объявляем переменные Dim s As Integer-объявляем переменную s - которая будет обозначать в программе количество оставшихся секунд Напишите в коде формы, событие - Load, то есть действие при загрузке формы которое у нас происходит с загрузкой программы: s=10 -придаем переменной s значение 10 Label1.Caption=Str(s)-придаем параметру Caption элемента Label1 текстовое значение переменной s (так как параметру Caption можно придать только текстовое значение, а переменная s у нас - Integer - целое число) А теперь перейдите к коду таймера (заметьте, что у таймера есть только одно событие- таймер) и напишите там : s=s-1-отнимаем от значения переменной s единичку, то есть уменьшаем количество оставшихся секунд на 1 Label1.Caption=Str(s)-опять придаем параметру Caption элемента Label1 текстовое значение переменной s If s=0 Then End-если переменная s равна 0 (то есть секунд больше не осталось), то заканчиваем программу.
Шаг №4 - Подведение итогов Запустите и проверьте программу. Если все работает то поэкспериментируйте с программой, попробуйте поменять начальное значение переменной s. Сохранить на диск в свою папку. Задание к самостоятельной работе Составить программу, которая бы выполняла покупку (продажу) товара, но при запуске этой программы необходимо ввести пароль. Создать проект «Вывод сообщений в текстовое поле», в котором два различных варианта текста выводятся в текстовое поле TexBox по щелчку по кнопке. Вывод сообщения зависит от положения переключателя. Предусмотреть возможность выхода из программы по щелчку по кнопке. Составить программу вычисления арифметического выражения, используя команду ветвления (смотри Задание 1) Используя ранее рассмотренные Задания – составить программу, которая бы включала в себя все или частично элементы рассмотренных заданий.
*************************************************************** Практическая работа №__3 по теме: «Основы алгоритмизации и программирования»
Тема: «Работа в среде VB. Циклы в языке VB». Цель: «. Научиться работать со средой Visual Basic. Закрепление умения работы с VB ». ТСО: IBM PC
При выполнении ниже приведенных заданий рекомендуется выполнять их сохранение на диск под именем например ВЫЧИСЛЕНИЕ_1, ВЫЧИСЛЕНИЕ_2 .
ЗАДАНИЕ 3.1 Cоздадим программу, которая демонстрирует простейшие действия цикла FOR. Загрузим VBasic. Название нашей формы будет ВЫЧИСЛЕНИЕ_1. Во-первых выполним визуальное проектирование. На форме должна находиться всего лишь одна кнопка ВЫЧИСЛИТЬ. Теперь мы можем перейти к программированию в коде. Ниже приведен текст программы: Option Explicit Dim i, x As Integer
Private Sub Command1_Click() For i = 1 To 10 Step 1 x = i * 10 Print x Next End Sub
Запустить программу на выполнения. Изменяя значение шага (Step) и конечное значение цикла вы можете изменить количество вычислений. Сохранить на диск **************************************************** Счетчик вычислений может также изменяться и в обратном направлении. Ниже приведен пример такой программы.
ЗАДАНИЕ 3.2 Создадим программу, которая демонстрирует простейшие действия цикла FOR. Загрузим VBasic. Название нашей формы будет ВЫЧИСЛЕНИЕ_2. Во-первых выполним визуальное проектирование. На форме должна находиться всего лишь одна кнопка ВЫЧИСЛИТЬ. Теперь мы можем перейти к программированию в коде. Ниже приведен текст программы: Option Explicit Dim i, x As Integer
Private Sub Command1_Click() For i = 10 To 1 Step -1 x = i * 10 Print x Next End Sub
Изменяя значение шага (Step) и конечное значение цикла вы можете изменить количество вычислений. Сохраните на диск в свою папку Закрыть приложение. ******************************************************** ЗАДАНИЕ 3.3 Использование команды ветвления в цикле. Загрузим VBasic. Название нашей формы будет ВЫЧИСЛЕНИЕ_3.
Option Explicit Dim i, x As Integer
Private Sub Command1_Click()
For i = 1 To 100 Step 2 x = i * 10
If x > 100 Then Exit For End If Print x Next End Sub Сохраните на диск в свою папку Закрыть приложение.
ЗАДАНИЕ 3.4 Составить программу, при выполнении которой, на экран будет 10 раз выводиться ваша фамилия. Текст программы указан ниже? Загрузить VBasic.Выполнить программу (см. предыдущие примеры). Сохранить результат выполнения программы на диск . Выйти с программы Option Explicit Dim i, x As Integer
Private Sub Command1_Click() For i = 1 To 10 Step 1 Print "Ваша фамилия" Next End Sub
ЗАДАНИЕ 3.5 Основной целью нашей программы будет выполнения вычисления выражения, в котором будут содержаться 2 переменные I и Х. Подсчет значения будет выполнен циклом 100 раз. 13 EMBED Photoshop.Image.8 \s 1415 Выполняться подсчет выражения будет при нажатии на кнопке ВЫЧИСЛИТЬ, которая будет расположен на основной форме. В дальнейшем в текстовом поле, которое также будет расположено на основной форме покажется результат вычисления. Загрузить VBasic. Имя формы ВЫЧИСЛЕНИЕ Перейдем к визуальному проектированию. Разместим на форме следующие элементы: кнопка и текстовое поле. В дальнейшем у вас должна получиться такая форма: Теперь остался последний самый важный завершающий этап создания нашей программы – это программирование в коде. Ниже представлен текст программы Option Explicit Dim i, x As Integer
Private Sub Command1_Click() For i = 1 To 100 Step 5 x = i * 10 Next Text2 = x End Sub
После того как код введен теперь можно запустить нашу программу на выполнение. Попробуйте нажать на кнопку ВЫЧИСЛИТЬ. Если все выше указанные действия выполнены правильно, перед вами в текстовом поле покажется результат вычисления. Попробуйте изменить значения переменной I и шага. Проследите за изменение результата. . Сохранить результат выполнения программы на диск . Выйти с программы. ******************************************************************
ЗАДАНИЕ 3.6 Составить программу, которая выводит сообщение на экран используя цикл DoLoop Загрузить VBasic. Набрать программу в коде. Имя формы СООБЩЕНИЕ
Option Explicit Dim i, x As Integer
Private Sub Command1_Click() x = 1 Do While x < 10 Print "HELLO!" x = x + 1 Loop End Sub
Изменяя значения переменных проследите за ходом выполнения программы. Сохранить результат выполнения программы на диск Выйти с программы.
ЗАДАНИЕ 3.7 Составить программу, которая выводит сообщение на экран используя цикл WhileWend Загрузить VBasic. Набрать программу в коде. Имя формы ВОПЛОЩЕНИЕ
Option Explicit Dim i, x As Integer
Private Sub Command1_Click() x = 1 While x < 10 Print "HELLO!" x = x + 2 Wend End Sub
Изменяя значения переменных проследите за ходом выполнения программы. Сохранить результат выполнения программы на диск А: Выйти с программы.
Задание 3.8 - Кратные числа 1 - Постановка задачи По ходу использования этой программы пользователь будет вводить в текстовое поле число, а программа в специальном окне будет выводить, на какие числа это число делится без остатка и что при этом получится. Например, если пользователь введет в поле 10, то программа в поле результат должна написать : 10 : 1 = 1010 : 2 = 510 : 5 = 210 : 10 = 1 2 - Визуальное проектирование Итак на форме у вас должны быть следующие элементы : 1) Кнопка ( Button ) : Name - Command1, Caption - Посчитать2) Кнопка ( Button ) : Name - Command2, Caption - Выход3) Текстовое поле ( TextBox ) : Name – Text1, поле свойства Text должно быть пустым4) Текстовое поле ( TextBox ) : Name - Text2, поле свойства Text также должно быть пустым5) Этикетка ( Label ) : Caption - Делимое6) Этикетка ( Label ) : Caption - Результат В результате всего этого у вас должно получиться примерно так : [ Cкачайте файл, чтобы посмотреть картинку ] Все, с визуальным проектированием покончено. 3 - Программирование в коде В этой программе, как и во многих других этот шаг самый важный. Для начала пишем в разделе глобальных объявлений : Option Explicit - как обычно объявляем переменные Dim delimoe As Long - Объявляем переменную delimoe - которая будет обозначать в программе то число которое мы делим. Long - потому, что вдруг кто - то ( а такие люди обязательно найдутся ) захочет найти числа на которые делится 1000000 Dim delitel As Long - Объявляем переменную delitel - которая будет обозначать в программе то число на которое мы делим. Dim resultat As Double - Объявляем переменную resultat которая будет обозначать результат деления, то есть делимое разделить на делитель Далее вам нужно уяснить, как же будет проверять программа : делится ли число без остатка. То есть является ли переменная resultat целым числом. Войдите в код кнопки Посчитать и пишите там : Text2.Text="" - Опустошаем свойство Text элемента Text2 If Not IsNumeric (Text1.Text) Then - Если свойство Text элемента Text1 не число, то..ю Msgbox "Это не число", vbCritical - Сообщить об этом Exit Sub - Выйти из кода кнопки Посчитать End If - Закончить проверку свойства Text элемента Text1 delimoe = Text1.Text - Присваиваем переменной delimoe значение свойства Text элемента Text1 Form1.Caption = "Считаю"- Изменяем заголовок программы на "Считаю", это нужно для больших чисел, пока компьютер считает заголовок должен быть таким, это будет заметно при действительно больших числах, например при числе 1000 вы наверное и не заметите как изменится заголовок, а вот при 1000000 это будет достаточно заметно For delitel = 1 to delimoe - Задаем цикл. Программа просо подставляет в значение переменной delitel все числа от 1 до значения переменной delimoe. Например если вы хотите разделить число 5, то программа проверит , делится ли 5 на 1;2;3;4;5. И естественно, она должна показать на какие из этих чисел, delimoe делится без остатка. resultat = delimoe / delitel - Тут вроде все ясно, получаем переменную resultat деля delimoe на delitel If resultat = Int(resultat) then - А вот тут то программа и проверяет : является ли переменная resultat целым числом. Если resultat равен округленному resultat то ... Text2.Text = Str(delimoe) + " : "+str( delitel) +" = " +str( resultat )+vbCrLf - Свойство Text элемента Text2 равно текстовому эквиваленту переменной delimoe плюс значок деления ( : ) плюс текстовый эквивалент переменной delitel плюс значок равно плюс текстовый эквивалент переменной resultat и плюс переход на другую строчку. В общем просто выводим результат в виде выражения. End If - заканчиваем проверку целочисленности переменной resultat Next - Завершаем цикл Form1.Caption = "Числа"- Возвращаем заголовок программы А теперь осталось только в код кнопки Выход ввести: End - заканчиваем работу программы В результате всего этого у вас должен получится такой код : Option ExplicitDim delimoe As LongDim delitel As LongDim resultat As DoublePrivate Sub Command1_Click() Text2.Text = ""If Not IsNumeric(Text1.Text) ThenMsgBox "Это не число", vbCriticalExit SubElsedelimoe = Text1.TextEnd IfForm1.Caption = "Считаю"For delitel = 1 To delimoeresultat = delimoe / delitelIf resultat = Int(resultat) ThenText2 = Text2 + Str(delimoe) + " : " + Str(delitel) + " = " + Str(resultat) + vbCrLfEnd IfNextForm1.Caption = "Числа"End SubPrivate Sub Command2_Click()EndEnd Sub4 - Подведение итогов : Все программа готова. Запустите и проверьте ее. Попробуйте найти числа на которые число 5 делиться без остатка, потом попробуйте какое-нибудь свое число. Сохраните результат работы на диск в свою папку. ****************************************************************** Задание для самостоятельной работы: Используя выше рассмотренные примеры разработать программу на вольную тему – используя циклы. Составить программы для вычисления арифметических выражений используя цикл For .Next Составить программы для вычисления арифметических выражений используя цикл Do Loop Составить программы для вычисления арифметических выражений используя цикл While Wend
Практическая работа №__4 по теме: «Основы алгоритмизации и программирования»
Тема: «Работа в среде VB. Массивы в языке VB». Цель: «. Научиться работать со средой Visual Basic. Закрепление умения работы с VB ». ТСО: IBM PC
Задание 4.1 - Составить двухмерный массив А(2,3), выполнить расчёт максимального и среднего значения, а также подсчитать сумму элементов массива. Создадим три кнопки: - Command1 -- Элемент массиву (Caption), cmdMas (Name) - Command2 -- Расчёт(Caption), cmdRezult (Name) - Command3 -- Выход(Caption), cmdExit (Name)
Создаём стандартный модуль (команды Проект – Добавить модуль –Новый – Открыть) и введем такие операторы: Option Base 1 смена индекса массива’ Public A(2,3) массив доступный во всех процедурах После этого закрыть окно и дважды щелкнуть по кнопке Элементы массива и ввести: Private Sub cmdMas_Click() Cls Mess$ = "введите значения элементов массива" For i = 1 To 2 For j = 1 To 3 A(i, j) = InputBox(Mess$) Next Next End Sub
Выйти назад на форму и нажать на кнопку Расчёт и ввести:
Private Sub cmdRezuit_Click() FontSize = 12 ' установка размера шрифта Dim S, SR, Max As Long ' объявление переменных Print "Массив А" Max = A(1, 1) 'присвоение значения первого элемента переменной Max For i = 1 To 2 For j = 1 To 3 S = S + A(i, j) 'расчёт суммы If A(i, j) > Max Then Max = A(i, j) ' сравнение значения переменной Max _ и значения текущего элемента Print A(i, j) & ""; ' распечатка значения элемента с промежутком Next Print Next Print " Максимальное значения = "; Max Print "Срелнее значения = "; Round(S / 6, 2) Print "Сумма всех элементов = "; S End Sub
Выйти опять назад и нажать на кнопку Выход и ввести:
Private Sub cmdExit_Click() End End Sub Запустить проект на выполнение. Добавить к проекту графический интерфейс. Сохранить на диск в свою папку.
Задание 4.2. «Сортировка числового массива». Разработаем проект, который позволит заполнять числовой массив целыми случайными числами, а затем предоставит возможность сортировать массив различными способами. Заполнение массива случайными числами. Для генерации последовательности случайных чисел используем функцию Rnd. При запуске программы функция Rnd дает равномерно распределенную псевдослучайную (т. е. каждый раз повторяющуюся) последовательность чисел в интервале 0<Х<1. Для того чтобы генерировались различающиеся между собой последовательности, можно использовать оператор Randomize. Для получения последовательности случайных чисел в заданном интервале А<Х<В необходимо использовать следующую формулу: А+(В-А)*Rnd Тогда получение целочисленной последовательности случайных чисел на интервале 0<Х<10 достигается использованием функции выделения целой части числа: Int(Rnd * 10) Заполнение массива bytA, состоящего из 10 элементов, реализуем с помощью цикла со счетчиком, причем предусмотрим в целях визуального контроля его вывод в текстовое поле txtDirn с использованием функции Str (преобразования числа в строковую форму). Проект «Сортировка числового массива* 1 Создать новый проект. Разместить на форме текстовое поле textBox, в свойстве Текст – очистить и кнопку commandl – имя кнопки Заполнить, ввести в Caption Установить для свойства MultiLine текстового поля значение True и подобрать размер шрифта Font так, чтобы массив распечатывался в одной строке текстового поля. (установите размер 12) Ввести для кнопки событийную процедуру заполнения массива и его выводав текстовое поле: Dim byt I, bytA(l To 10) As Byte Private Sub Сommand Click () Randomize For byt I = 1 To 10 bytA(bytl) = Int(Rnd * 10) text1.Text = text1.Text + Str (bytA (byt I)) Next byt I End Sub Запустить проект и несколько раз щелкнуть по кнопке Заполнить. В текстовом поле появятся последовательности случайных чисел, различающиеся между собой.
Поиск минимального элемента. Будем считать, что минимальный элемент равен первому элементу массива bytA (1) и присвоим переменной bytMin его значение. Затем в цикле сравним последовательно элементы массива со значением переменной bytMin, если какой-либо элемент окажется меньше, присвоим его значение переменной bytMin, а его индекс присвоим переменной bytN. Распечатаем результаты. Разместить на форме текстовое поле и кнопку Command2 – имя кнопки Мин. элемент и создать для нее событийную процедуру поиска минимального элемента: Private Sub Command2 Click( ) bytMin = bytA(l) For byt I = 2 To 10 If bytA(byt I) < bytMin Then bytMin = bytA(byt I) : bytN = byt I Next byt I Print "Минимальный элемент "; BytMin; "его индекс"; bytN ' End Sub 6 Запустить проект. Последовательно щелкать на кнопках Заполнить и Мин. элемент. В текстовом окне будет появляться заполненный массив, а на форме будет печататься минимальный элемент и его индекс. Cохранить результат на диск.
Задания для самостоятельной работы: Создать проект, который реализует поиск минимального элемента числового массива Создать проект, реализует сортировку числового массива по убыванию или по возрастанию Создать проект, на вольную тему.
Практическая работа №_5 по теме: «Основы алгоритмизации и программирования»
Тема: «Работа в среде VB. ». Цель: «. Научиться работать со средой Visual Basic. Закрепление умения работы с VB ». ТСО: IBM PC
Задание 1 -- Меню В этой статье описывается создание меню вверху формы. Примеры такого меню можно встретить где угодно если вы работаете в Windows. Например сейчас поднимите глаза к верху экрана, что вы видите ? Правильно, заголовок окна. А что вы видите под ним ? Это и есть меню. Если вы хотите чтобы ваша программа достойно выглядела среди других такая менюшка обязательно должна присутствовать в ней. Тем более что в Visual Basic они делаются легко и непринужденно. Эта статья как раз об этом.Шаг №1 - Постановка задачи Итак, что же будет делать наша программа. Я задался этим вопросом когда начал писать эту статью. Ведь для демонстрации работы меню, нужно только оно само. Так сказать меню ради меню. Но так как надо еще и показать какие-нибудь действия с меню я решил что оно будет при нажатии на соответствующий пункт меню, выдавать какое-нибудь сообщение. Например хорошее, и плохое. И еще пусть будет кнопка выход, так как она там очень нужна и вообще она везде есть.Шаг №2 - Визуальное проектирование Следующий пункт - визуальное проектирование. Объектов на форме не будет, на ней будет тоько меню. Как его сделать : зайдите в верхнее меню Visual Basic, в пункт Tools (Инструменты), найдите там пункт Menu Editor и войдите в него. Перед вами должно быть вот такое окно : [ Cкачайте файл, чтобы посмотреть картинку ] Введите в поле Caption - Сообщения, а в меню Name - mnuMes. Нажмите Ок. Попробуйте щелкнуть на появившемся меню Сообщения. Вас должно выкинуть в программный код. Дело в том, что сейчас пункт меню Сообщения является кнопкой. Опять зайдите в редактор меню. Нажмите Next и стрелочку вправо. Теперь напишите в поле Caption - Хорошее, а в поле Name - mnuGood. Нажмите Ок. Опять попробуйте нажать на Сообщения. Теперь вас уже не должно выкинуть в код, а должно появиться выплывающее меню с надписью Хорошее. Теперь сами попробуйте сделать пункт Плохое с параметром Name - mnuBad прямом под пунктом Хорошее. Получилось ? Если да, то продолжайте если же нет то попробуйте еще раз, вы должны разобраться в этом редакторе меню. После этого сделайте пункт с Caption'ом - тире, то есть не слово тире, а просто тире, сепаратор, и именем sep. И наконец сделайте пункт с Caption'ом Выход, и именем - mnuExit.После всего этого у вас должна получиться такое окно : [ Cкачайте файл, чтобы посмотреть картинку ] Шаг №3 - Программирование в коде Теперь перейдите к коду пункта Хорошее, просто нажав на него. Введите туда: Msgbox "Это хорошее сообщение",vbExclamation,"Хорошее" - выдаем сообщение с заголовком - Хорошее , тектом : "Это хорошее сообщение" и значком восклицательного знака. Войдите в код пункта Плохое и введите туда Msgbox "Это плохое сообщение",vbCritical ,"Плохое" - выдаем сообщение с заголовком - Плохое, тектом :"Это плохое сообщение" и значком ошибки Windows. Войдите в код пункта Выход и введите туда : End - Выход Теперь программа должна выглядеть так : Private Sub mnuBad_Click()MsgBox "Это плохое сообщение", vbCritical, "Плохое"End SubPrivate Sub mnuExit_Click()EndEnd SubPrivate Sub mnuGood_Click()MsgBox "Это хорошее сообщение", vbExclamation, "Хорошее"End SubШаг №4 - Подведение итогов Все! Программа готова. Проверьте ее. Попробуйте добавить свои пункты и все такое. Если все работает то поздравляю - вы научились работать с меню Задание 2 -- Управление объектом Эта программа может понадобиться в качестве примера тем, кто собирается писать аркады, и вообще программы с клавиатурой.Шаг №1 - Постановка задачи Как всегда первым делом определяем, что же будет делать наша программа. Программа должна по нажатию одной из стрелок передвигать объект по экрану в направлении соответствующем стрелке. То есть если вы нажали на стрелку вверх, то объект должен передвинуться вверх и т.п. Особенности Во вторых вы должны уяснить некоторые особенности. Система координат в VB имеет начало в левом верхнем углу, то есть там координата (0;0). Соответственно, если вы хотите чтобы объект сместился вниз на n твипов (величина обозначающая координаты в VB), то вам нужно прибавить к его вертикали ( Top ) значение n, то же и с горизонталью. Шаг №2 - Визуальное проектирование Как всегда следующим шагом является визуальное проектирование. То есть вы должны разместить на форме некоторые объекты. На этот раз на форме должен быть только один объект - фигура (shape). Не меняйте его название,, пусть оно останется Shape1 (если хотите можете поменять, но тогда вы не сможете просто вставить мой код, вам придется делать поправки).Можете сделать эту фигуру чем угодно, хоть квадратом, хоть кругом, это не имеет значения , например в моей программе это – круг Шаг №3 - Программирование в коде Теперь приступим к программированию в коде: Для начала объявляем переменные пишем Option Explicit ' Объявляем переменныеDim x as Integer ' Объявляем числовую переменную х Dim y as Integer ' Объявляем числовую переменную y Теперь войдите в код формы и выберите событие KeyDown, в нем пишите x = Shape1.Left 'Присваиваем переменной х значение положения объекта по горизонтали y = Shape1.Top 'Присваиваем переменной х значение положения объекта по вертикали If KeyCode = 37 Then x = x - 100 'Если код нажатой клавиши равен 37 (стрелка влево) то от значения переменной x отнять 100 If KeyCode = 39 Then x = x + 100 'Если код нажатой клавиши равен 39 (стрелка вправо) то к значению переменной x прибавить 100 If KeyCode = 38 Then y = y - 100 'Если код нажатой клавиши равен 38 (стрелка вверх) то от значения переменной y отнять 100 If KeyCode = 40 Then y = y + 100 'Если код нажатой клавиши равен 40 (стрелка вниз) то к значению переменной y прибавить 100 Shape1.Left = x 'Присваиваем значению горизонтального положения объекта значение переменной x Shape1.Top = y 'Присваиваем значению вертикального положения объекта значение переменной y В результате всего этого у вас должно получиться следующее : Option ExplicitDim x As Integer Dim y As Integer Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)x = Shape1.Left y = Shape1.TopIf KeyCode = 37 Then x = x - 100 If KeyCode = 39 Then x = x + 100 If KeyCode = 38 Then y = y - 100 If KeyCode = 40 Then y = y + 100 Shape1.Left = x Shape1.Top = y End SubШаг №4 - Подведение итогов Вот и всё, теперь попробуйте запустить программу, и понажимать на стрелки, получилось Сохранить результат. ****************************************************************** Задание 3 --- Файл Эта статья очень нужна тем, кто собирается работать с файлами, а это в конце концов становится нужно любому программисту. Ведь очень часто нужно сохранить что-нибудь, какие-нибудь переменные например имя пользователя или что-нибудь в этом роде.Шаг №1 - Постановка задачи Как всегда сначала в программе определяем, что же программа будет делать. Данная программа будет добавлять в файл с именем Data.dat имя и фамилию пользователя, которые он напишет в текстовых полях.Шаг №2 - Визуальное проектирование Вторым шагом мы приступаем к визуальному проектированию. Разместите на форме такие элементы : Наклейка (Label1) - с параметром Caption - ИмяНаклейка (Label2) - с параметром Caption - ФамилияТекстовое окно (Text1) - в окне свойства Text удалите всёТекстовое окно (Text2) - в окне свойства Text удалите всёКнопка (Button1) - с Caption'oм - ЗаписатьКнопка (Button2) - с Caption'oм - Выйти В результате у вас должно получиться так :[ Cкачайте файл, чтобы посмотреть картинку ]Шаг №3 - Программирование в коде Теперь как всегда приступаем к программированию в коде. Для начала мне нужно объяснить некоторые положения. Vb может открывать файлы для нескольких действий : запись данных в файл по срокам (с удалением всего что было до этого)-оператор Output, загрузка данных из файла по строкам - оператор Input, добавление данных в файл по строкам (без удаление всего что было до этого)-оператор Append. Есть ещё несколько видов открытия файла, но они нам пока не нужны.В этом примере мы будем пользоваться оператором Append. И ещё одна особенность, если вы запустите программу из VB, то Data.dat будет записываться в рабочий каталог VB, если же вы запустите уже откомпилированную программу, то есть файл с расширением exe, то файл Data.dat будет записываться в тот каталог где находится этот exe'шный файл. Если файла Data.dat не будет, то будет создан новый файл с этим именем. Приступаем к программированию. Войдите в раздел глобальных объявлений ( в самом верху) и напишите там Option Explicit 'Объявляем переменныеDim fn As String 'Объявляем текстовую переменную fn - ИмяDim ln As String 'Объявляем текстовую переменную ln - ФамилияВойдите в программный код кнопки Записать и напишите там fn = Text1.Text 'Придаем переменной fn значение Text элемента Text1 ln = Text2.Text 'Переменная ln равна значению Text элемента Text2 Open "data.dat" For Append As #1 'Открываем файл data.dat , под номером 1, для добавления в него данных Print #1, fn ;" "; ln 'Записать в файл номер 1 переменную fn,пробел и переменную ln Close #1 'Закрываем файл номер 1 Войдите в код кнопки Выход и напишите там End 'Выход В результате всего этого у вас должно получиться Option Explicit Dim fn As String Dim ln As String Private Sub Command1_Click()fn = Text1.Text ln = Text2.Text Open "data.dat" For Append As #1 Print #1, fn;" ";lnClose #1 End SubPrivate Sub Command2_Click()EndEnd SubШаг №4 - Подведение итогов Все, программа готова, теперь надо проверить её. Желательно перед проверкой программы, откомпилировать ее. Теперь запустите exe'шный файл и введя свое имя и фамилию нажмите Записать. Теперь введите ещё чьи-нибудь имя и фамилию и опять запишите их. Выйдите из программы и зайдите в тот каталог, откуда вы запускали ее. Найдите там файл Data.dat и просмотрите его любым текстовым редактором, там должны быть те данные которые вы вписали. Сохранить программу.
Задание 4 -- Считывание данных из файла Этот пример описывает как можно получить данные из файла.Шаг №1 - Постановка задачи Как всегда для начала мы будем ставить задачу, что же должна делать эта программа ? Программа должна считать все данные из файла autoexec.bat который расположен в корневом каталоге C:\ и выводить их в текстовое окно.Шаг №2 - Визуальное проектирование Вторым шагом, как обычно будет визуальное проектирование, то есть расстановка объектов на форму. У вас на форме должны быть такие объекты Текстовое окно (TextBo) : Name-Text1, Caption-ничего Multiline-TrueКнопка (Button) : Name-Button1, Caption-"Загрузить"Кнопка (Button) : Name-Button2, Caption-"Выход" В результате должно получиться примерно так :[ Cкачайте файл, чтобы посмотреть картинку ] Все, с визуальным проектированием покончено.Шаг №3 - Программирование в коде Теперь как всегда самая сложная, но и самая нужная и интересная часть : программирование в коде. Войдите в раздел глобальных объявлений и напишите там : Option Explicit- этим мы даем понять программе что объявляем переменные Dim st as String - мы объявляем текстовую переменную st, она нам нужна для обозначения очередной строки, то есть в нее мы будем записывать данные из очередной строки Dim AllText as String - мы объявляем текстовую переменную AllText, я думаю что из названия вы уже поняли для чего нам нужна эта переменная. Если это не так то объясняю : эта переменная нужна нам для обозначения всего текста, то есть всех данных вытащеных из файла. Теперь зайдите в код кнопки Считать. Напишите там : Open "C:\autoexec.bat" for Input as #1 - этой строкой мы открываем файл autoexec.bat, под номером 1, для чтения из него данных по сторкам. Do While Not EOF (1) - для понимания смысла этого выражения можно перевести его дословно : делать пока нет конца файл (Eon of File) номер 1 Input #1, st - Считываем из файла номер один очередную строку ( в начале цикла это будет первая, потом вторая и так пока не кончится файл) AllText = AllText + st + chr(13)+chr(10)- То есть весь тект равен весь тект плюс очередная строка ( в начале цикла весь текст - пустой, то есть в этой переменной ничего не записано, дальше весь текст - это первая строка, потом первая и вторая строка и т.д. пока не кончится файл) и плюс клавиша Enter ( сейчас я не буду описывать почему Enter - Это Chr(10) +chr(13) это будет описанно в соответствующей статье).Клавиша Enter тут нужна для перехода на другую строчку, если ее не нажать, то переменная AllText будет сплошным слиянием строк, то есть все строки будут записанны в одну большую строку.К тому моменту когда он кончится переменная AllText будет равна всему тексту файла. Loop - заканчиваем цикл, то есть если еще нет конца файла то программа идет к началу цикла, а если конец файла достигнут, то программа идет на свою следующую строчку. Close #1 - закрываем файл номер 1 Text1.Text = AllText - Придаем параметру Text элемента Text1 значение переменной AllText. Все ! Программа окончена.Шаг №4 - Подведение итогов Проверьте программу. Если все работает то попробуйте открыть другие файлы, например файл data.dat который (я надеюсь) вы сделали с программой [ Cкачайте файл, чтобы посмотреть ссылку ]. Если вы не сделали его, то пожалуйста, сделайте, это очень легко, но если вы хотите стать программистом то это вам обязательно поможет. Сохраните написанную программу.
Задание 5 -- Программа "Печать Шаг №1 - Постановка задачи С помощью этой программы Вы научитесь работать с полем ввода текста, с панелями сообщений (MessageBox), а также научитесь распечатывать форму со всей информацией, расположенной на этой форме. При выполнении программы Вы сможете ввести в соответствующие поля нужную информацию, а затем распечатать ее на принтере. Из-за удивительной простоты кода, распечатывание будет проводиться самым простым образом: форма, сохраняя все свои параметры (цвет, размер, помещенные на ней элементы и т.д.) будет вырисовываться в верхнем левом углу листа. Кстати, программа будет работать только с той машиной, на которой установлен принтер... Шаг №2 - визуальная реализация программы. В этом разделе будут описаны элементы, помещаемые на форму с теми свойствами, которые требуют своего изменения. Для избегания непредвиденных ошибок, просьба указывать свойства так же, как это сделал автор. Итак, поехали... ФормаName = frmPrintCaption = Information for printingBorderStyle = Fixed SingleMaxButton = FalseMinButton = True Кнопка #1Name = cmdPrintCaption = PrintDefault = True Свойство Default = True указывает, что программный код кнопки будет исполняться при нажатии Enter'а. Кнопка #2Name = cmdExitCaption = ExitCancel = True Свойство Cancel = True указывает, что программный код кнопки будет исполняться при нажатии Escape'а. Тут необходимо кое-что пояснить. При выполнении следующего действия программа скажет, что элемент с таким именем уже существует, и спросит, хотите ли Вы создать массив элементов. Ответьте "Да". Итак, поместите на форму элемент TextBox со следующими свойствами: Name = txtInformText = <пустой> Затем, поместите на форму еще 6 (шесть) текстбоксов с таким же именем (может просто скопировать первый и вставлять их на форму). Затем рядом с каждым текстовым полем поместите Label'ы с названиями, объясняющими назначения полей ввода: First name, Last name, Nick, Date of birth, E-mail, Phone. На этом этап визуальной разработки Вашего приложения закончен. Теперь ваша форма должна выглядеть примерно вот так: [ Cкачайте файл, чтобы посмотреть картинку ] Шаг №3 - Программирование в коде Ну вот. Теперь можно переходить к написанию кода. Как я уже говорил, код программы будет несложным. Вообще есть программы с простейшей визуальной реализацией и очень запутанным кодом, а наша программа, наоборот, заставила Вас повозиться с установкой на форме различных элементов, но зато код ее будет элементарным. Во-первых, в коде кнопки выхода напишите команду выхода из программы. Но это мы сделаем интереснее, используя панели сообщения (Message Box). Итак, пишите: If MsgBox("Do you really wanna leave us?", vbYesNo + vbQuestion, "Exit?") = vbYes ThenEndEnd IfВ данном случае, при нажатии кнопки выхода появится панель с вопросом, хотите ли вы выйти, и двумя кнопками: "Да" и "Нет". Подробно об использовании MessageBox я рассказывать не буду - всю информацию можно найти в хелпе. Теперь давайте напишем код для кнопки "Print". Ключевые моменты я выделил синим цветом. 'b - индекс поля ввода'Проверяем все поля с индексом'от 0 до 5For b = 0 To 5'Если какое-то поле пустоеIf txtInform(b).Text = "" Then'Выдаем сообщение'Если ответ - Да, то иди к метке 1If MsgBox("One of the fields is clear. Continue?", vbQuestion + vbYesNo, "Printing") = vbYes ThenGoTo 1'Если ответ - Нет, то иди к метке 2ElseGoTo 2End IfEnd IfNext'Метка 11frmPrint.PrintFormExit Sub'Метка 22MsgBox "Please, fill the fields."Exit Sub Шаг №4 - Подведение итогов В принципе, все действия объяснены в комментариях. Но кое-что стоит объяснить.Во-первых, индекс элементов в массиве начинается с нуля. Это надо запомнить, потому что понять это невозможно. Это - ошибка многих, только начавших работать с массивами элементов.Во-вторых, мы не случайно использовали метки. Дело в том, что при использовании такого цикла, действие будет повторяться столько раз, сколько раз выполняется условие. Т.е. в нашем случае, если Вы не заполнили несколько полей, то программа выдаст Вам несколько сообщений подряд. Но нам-то нужно только одно сообщение! Поэтому мы прерываем процедуру с помощью ссылки на метку. В принципе, это можно было сразу делать с помощью команды Exit Sub (выйти из процедуры), но мне хотелось показать еще и работу с метками.Кстати, мы использовали эту команду для того, чтобы разделить две метки: первую и вторую, а иначе вторая метка принадлежала бы первой. На этом и второй этап создания программы завершен. Вы можете откомпилировать Вашу программу и посмотреть ее в действии.Эту программу можно значительно усовершенствовать, добавив другие поля ввода. Для большей красоты отпечатанной формы ее размеры можно увеличить, а шрифт я настоятельно рекомендую сделать побольше. Сохраните результат. ****************************************************************** Задание 6 -- Серийный номер Предположим вы написали супер - крутую программу (если это действительно так, то я удивлен что вы это читаете). И вы не хотите чтобы кто-то ей пользовался не заплатив за нее, или просто не зарегистрировавшись. Можно просто выдавать программы только тем, кто заплатит, но тогда они в свою очередь один раз заплатив за нее могут сами распространять ее, да и вообще путь этот крайне неэффективный. Или например вы хотите чтобы программа была только демоверсией, а за полную нужно зарегистрироваться. Так поступают многие разработчики, и даже всеми любимый Win95 использует для регистрации сочетание серийного номера и регистрационного кода. В этой статье мы разберем как это сделать. Конечно - эта программа не очень хорошая защита, обойти ее очень легко, но она показывает как это можно сделать.Шаг №1 - Постановка задачи Вообще в этой программе можно сделать очень много. Например сделать так, чтобы какая то программа работала, но через каждую минуту просила зарегистрироваться, или чтобы не были возможны некоторые функции программы. Но мы сделаем так, чтобы без регистрации нельзя было просто зайти в программу. В качестве самой программы мы возьмем самую крутую нашу прогу - Hello World :) Надо сделать так, чтобы программа при входе в нее проверяла, зарегистрировался ли пользователь, и если нет то просила его об этом, а если да, то выводила его на программу -Hello World. Самое простое решение - записывать сведения о регистрации в файл, к которому у пользователя не будет доступа ,он его просто не должен найти (этого можно достичь спрятав файл куда-нибудь в Windows, но наша программа будет записывать его в корневой каталог диска C). В файле r.txt будет записано - зарегистрирована ли программа. Нам нужно чтобы у каждой программы был свой серийный номер, то есть на каждом компьютере он был разным, но при каждом запуске программы на одном компьютере - одинаковым. Опять же самое простое решение - генерировать код и записывать его в файл. При этом нужно не перезаписывать старый номер, а записывать его только тогда, когда старого нет - то есть при первом запуске программы на компьютере. Далее - процесс регистрации. Ну это уже зависит не от программы. Вы просто должны каким-либо образом отдать юзеру код - который соответствует его серийному номеру. Например по e-mail, по телефону или как-нибудь еще. Юзер сообщает вам серийный номер, а вы сообщаете код (например после того как он заплатит). Шаг №2 - Визуальное проектирование У вас в проекте должно быть 2 формы : одна - программа Hello World, а вторая - регистрация. Сначала сделаем самое легкое - программу Hello World , в этой статье я не буду говорить как это делать, это все описано в первой программе только скажу, что имя формы у меня в программе - prog Далее делаем форму с именем frmSn. На ней должны быть такие элементы : Этикетка (Label) : Caption - Серийный номерЭтикетка (Label) : Caption - Регистрационный кодТекстовое поле (TextBox) : Свойство Text должно быть пустым, имя - txtSnТекстовое поле (TextBox) : Свойство Text должно быть пустым, имя - txtRcКнопка (CommandButton) : Имя - Command1, Caption - РегистрироватьКнопка (CommandButton) : Имя - Command2, Caption - О регистрацииКнопка (CommandButton) : Имя - Command2, Caption - Выход В результате всего этого у вас должно получится примерно так : [ Cкачайте файл, чтобы посмотреть картинку ]Шаг №3- Программирование в коде Это самый трудный шаг во всей программе. Но отсюда можно получить очень много интересных сведений для себя. В разделе глобальных объявлений пишите : Option Explicit - заставляем объявлять все переменные Dim sn as Long - Объявляем "большую" переменную sn - это серийный номер Dim rc as Long - Объявляем "большую" переменную rc - это регистрационный код Dim result as Long - это "служебная" переменная потом поймете для чего она нам нужна Dim result2 as Single - это также "служебная" переменная Dim reg As String - Это регистрация - если зарегистрировано то она равна 1 если нет - то 0 При начале работы программа первым делом должна проверить - зарегистрирована ли она. Пишем в разделе Form_Load( ) If Dir("c:\r.txt") = "" Then - Проверяем - есть ли файл r.txt на диске С и если нету тогда... reg = 0 - Придаем регистрации значение - 0 (незарегистрированно) Open "c:\r.txt" For Output As #2 -Открываем этот файл для записи Print #2, reg -Записываем в него переменную reg Close #2 -Закрываем его Else -Если на диске С есть файл r.txt Open "c:\r.txt" For Input As #2 -Открываем его для вытаскивания из него данных Input #2, reg -Вытаскиваем из него переменную reg Close #2 -Закрываем его If reg = "1" Then -Если зарегистрировано то prog.Show -Показываем форму prog frmsn.Hide - Скрываем эту форму End If - Заканчиваем проверку регистрации End If - Заканчиваем проверку наличия файла Сохраните программу на диск в вашу папку. *********************************************************** Задание к самостоятельной работе:
1. Используя ранее рассмотренные примеры составить программу на вольную тему
Вопросы по VB
Для чего нужен VB? Что такое IDE? Составные части окна VB. Как выполнить открытия ранее созданного проекта? Как выполнить сохранение ранее созданного проекта? Что такое объект? Программный оператор это? Метод это? Переменная это? Переменная имеет длину? Назовите основные типы переменных? Как выполняется описание переменных? Запишите основные математические функции? Как установить цвет формы и параметры шрифта? Что такое управляющие конструкции языка VB? Форма записи команды ветвления? Форма записи команды выбора? Что такое цикл? Сколько видов содержат циклы? Форма записи цикла FOR . NEXT? .. DO . LOOP? .. WHILE WEND? Массив – это? Что надо сделать перед составлением массива? Форма записи массива? Графический метод – это? Запишите основные графические методы, которые вы знаете. Как выполняется установка объектов на форме? Как выйти с VB?
Тесты по VB Знакомство с VB. 1 Можно ли с помощью VB быстро создавать приложения для Windows? а). Да; б) Нет, так как несовместимость форматов; в). Да, если установить дополнительные приложения, которые поддерживают русский язык. 2 При первом запуске, появляется диалоговое окно New Project. Сколько оно содержит вкладок? а). 1 вкладка; б). 5 вкладок; в). 3 вкладки; 3 Что понимается под IDE? а). интегрированная среда разработки; б). окно для написания шаблонов; в). новый проект для работы; 4 Составные части окна VB. а). окно нового проекта, панель инструментов, окно проекта форм, окно процедур, .... , окно проекта; б). ряд главного меню, панель инструментов, окно проекта, окно свойств, окно макета форм .... ,окно проекта; в). ряд главного меню, вспомогательное меню, окно формы, окно для работы, ..... , окно проекта; 5 Элемент интерфейса пользователя, что создается в форме с помощью способов управления, называют ...? а). Программный оператор; б).Объект; в). Метод; 6 Программный оператор - это? а). конструкция, которая может складываться с комбинаций ключевых слов и функций; б). программа, написанная на языке программирования; в). команда, которая выполняется объектом; 7 Выберите правильную запись типов переменных: а). String, Ingggt, Long, ..... б). Variant, Double, Intefer, ..... в). String, Integer, Variant ...... 8 Выберите правильную запись математических функций: а). Asb(a), Cjs(f), Nan(f), Log(a), ...... б).Abs(a), Cos(a), Tan(e), Sqr(n), ..... в)..Abs(a), Cjs(f), Tan(e), Nan(f), ...... 9 Можно ли выполнить изменения цвета и шрифта в VB? а). Нет; б). Да; в). Да, если добавить, при установке дополнительные приложения; 10 Как правильно выполнить описание переменной? а). Dim (имя) As (тип переменной); б). Dim (имя) Оs (тип переменной); в). Tim (имя) As (тип переменной); ********************************************* Условие в языке VB 1 Определи правильную запись? а). if a>0 Thnn y=w+3 Ese y=a+s б).if a<0 Then y = a+d Else x=f+a в). if a=0 Else e=a+t Then d=a+r 2 Программированием называют: а).процесс составления программ; б).автоматическое выполнение действий; в). проверка работы программ; 3 Может ли условный оператор быть вложенным друг в друга а). Да; б). Нет; в). Да, если используется только одно условие; 4 а). Может ли в языке VB использоваться команда выбора? а). Да, если использовать обязательно цикл в программе; б). Нет; в). Да; 5 Что понимается под IDE? а). интегрированная среда разработки; б). окно для написания шаблонов; в). новый проект для работы;
6 Составные части окна VB. а). окно нового проекта, панель инструментов, окно проекта форм, окно процедур, .... , окно проекта; б). ряд главного меню, панель инструментов, окно проекта, окно свойств, окно макета форм .... ,окно проекта; в). ряд главного меню, вспомогательное меню, окно формы, окно для работы, ..... , окно проекта; 7 Программный оператор - это? а). конструкция, которая может складываться с комбинаций ключевых слов и функций; б). программа, написанная на языке программирования; в). команда, которая выполняется объектом; 8 Как правильно выполнить описание переменной? а). Dim (имя) As (тип переменной); б). Dim (имя) Оs (тип переменной); в). Tim (имя) As (тип переменной); 9 Выберите правильную запись математических функций: а). Asb(a), Cjs(f), Nan(f), Log(a), ...... б).Abs(a), Cos(a), Tan(e), Sqr(n), ..... в)..Abs(a), Cjs(f), Tan(e), Nan(f), ...... 10 Можно ли сохранить проект под новым именем? а). Нет, так как нельзя менять имя проекта; б). Да, если вставить другую дискету; в). Да, выбрав команду Сохранить как;
**************************************
Цикл в VB 1 Определите правильную запись? а). FOR ... NEXT б). FOR ... WEND в). DO ... NEXT 2 Определите правильную запись? а). DO ... NEXT б). FOR ... WEND в). DO ... LOOP 3 Определите правильную запись? а). WHILE ... WEND б). FOR ... WEND в). DO ... NEXT 4 Цикл - это? а). набор каких действий для работы с программами. б). набор повторяющихся действий неограниченное количество раз. в). условие в программе. 5 Как правильно выполнить описание переменных а). Dim (имя) As (тип переменной) б). Dim (имя) Оs (тип переменной) в). Тim (имя) As (тип переменной) 6 Сколько видов бывают циклы: а). 2 б). 5 в). 3 7 Цикл нужен для: а). многократного выполнения каких либо команд б). работы со сложными игровыми программами; в). правильной математической записи; 8 Выберите правильную математическую запись: а). Aрs(a), Cos(a), Tыn(e), Sqr(n), ... б). Abs(a), Cos(a), Tan(e), Sqr(n), ... в). Abs(a), Cys(a), Tkkn(e), Sqrt(n), ... 9 Можно ли выполнить изменения цвета и шрифта в VB? а). Нет б). Да в). Да, если добавить при установке работу с дополнительными приложениями; 10 Может ли цикл быть вложенным друг в друга? а). Да б). Нет в). Да, если использовать только цикл FOR ... NEXT
*****************************************
Массивы VB
1 1.Что понимается под массивом? а).набор определенных команд; б).группа переменных одного типа, объединенные одним именем; в). группа переменных разного типа, которые имеют разные имена; 2 2.Что нужно выполнить перед составлением массива? а).массив необходимо объявить; б).перед вводом массива, надо поставить, запятую; в).найти его индекс; 3 Выбери правильный ответ: а).в зависимости от места объявления массив может быть текстовый или цифровой; б). в зависимости от места объявления массив массив может быть локальным или глобальным; в). в зависимости от места объявления массив массив может быть числовой или глобальным; 4 Выбери правильный ответ: а).Dil<имя массива>(число1,число2) As [тип данных] б).Dip<имя массива>(число1,число2) Eps [тип данных] в).Dim<имя массива>(число1,число2) As [тип данных] 5 Индекс массива обозначается так: а).А(1$), A(2$) ..... б).А(,1), А(,,2) ..... в).А(0), А(1) ..... 6 Что понимается под IDE? а). интегрированная среда разработки; б). окно для написания шаблонов; в). новый проект для работы; 7 Как правильно выполнить описание переменной? а). Dim (имя) As (тип переменной); б). Dim (имя) Оs (тип переменной); в). Tim (имя) As (тип переменной); 8 Определи правильную запись? а). if a>0 Thnn y=w+3 Ese y=a+s б).if a<0 Then y = a+d Else x=f+a в). if a=0 Else e=a+t Then d=a+r 9 Выберите правильную запись математических функций: а). Asb(a), Cjs(f), Nan(f), Log(a), ...... б).Abs(a), Cos(a), Tan(e), Sqr(n), ..... в)..Abs(a), Cjs(f), Tan(e), Nan(f), ...... 10 Цикл - это а) группа переменных одного типа; б) логическая последовательность выполнения программ; в) набор повторяющихся действий неограниченное количество раз;
Программа при нажатии на кнопку выдает сообщение - "Привет всем". Программа пароль Программа проверяет включен ли переключатель Программа описываем работу с переменными на основе действия купли продажи. Программа отсчет Программа кратные числа Программа – создание меню. Программа для управления объектом с клавиатуры Программа, которая создает файл и сохраняет в него информацию Программа для считывания данных из файла. Программа, которая выводит информацию на печать Программа – создает серийный номер Программа для просмотра рисунков Программа для вставки музыки в программу.
Задания для самостоятельной работы Раздел 1. ПОСЛЕДОВАТЕЛЬНЫЕ АЛГОРИТМЫ Уровень А Дана длина ребра куба. Найти объем куба и площадь его боковой поверхности. Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения. Определить время падения камня на поверхность земли с высоты h. Даны x, y, z. Вычислить a, b, если а) 13 EMBED Equation.3 1415, 13 EMBED Equation.3 1415; Известна длина окружности. Найти площадь круга, ограниченного этой окружностью. Даны действительные числа c, d. Вычислить13 EMBED Equation.3 1415, где х1 – больший, а х2 – меньший корни уравнения х2-3х-|cd|=0 Вычислить расстояние между двумя точками с координатами х1, у1 и х2, у2. Треугольник задан координатами своих вершин. Найти:а) периметр треугольника;б) площадь треугольника. Три сопротивления R1, R2, R3 соединены параллельно. Найти сопротивление соединения. Дана сторона равностороннего треугольника. Найти площадь этого треугольника. Дано натуральное число, равное выраженной в копейках цене некоторого товара, например 317, 5005, 100 и т.д. Выразить цену в рублях и копейках, например 3 руб. 17 коп., 50 руб. 05 коп., 1 руб. 00 коп. и т.д. Дано действительное число a. Не пользуясь никакими другими арифметическими операциями, кроме умножения, получить: a4 за две операции; a6 за три операции; a7 за четыре операции; a8 за три операции; a9 за четыре операции; a10 за четыре операции; a13 за пять операций;
Раздел 2. РАЗВЕТВЛЯЮЩИЕСЯ АЛГОРИТМЫ Уровень Б Даны действительные положительные числа x, y, z. Выяснить, существует ли треугольник с длинами сторон x, y, z. Дано действительное число а. Вычислить f(a), еслиа) 13 EMBED Equation.3 1415;б) 13 EMBED Equation.3 1415. Определить, является ли данное целое число четным. По заданным целым числам А, В написать программу решения линейного уравнения АХ=В. Программа должна выводить одно из сообщений: "УРАВНЕНИЕ НЕ ИМЕЕТ РЕШЕНИЙ", "УРАВНЕНИЕ ИМЕЕТ БЕСКОНЕЧНОЕ МНОЖЕСТВО РЕШЕНИЙ" или выводить значение корня уравнения, если он единственный. Написать программу, вычисляющую по заданной величине X, являющейся величиной дохода в долларах, величину уплаты налога Y. Налог определяется следующим образом: если доход менее 100 долларов, то в качестве налога берется 5% дохода, если доход в размерах от 100 до 500 долларов, берется 15%, 500-1000 долларов 30% и, наконец, если доход свыше 1000 долларов, то берется 45% дохода. Даны три вещественных положительных числа A,B,C. Написать программу, вычисляющую площадь треугольника с такими сторонами по формуле Герона: S=[p(p-a)(p-b)(p-c)]^1/2, p=(a+b+c)/2, или выводящую сообщение "ТРЕУГОЛЬНИК НЕ СУЩЕСТВУЕТ", если из отрезков длиной A,B,C треугольник построить нельзя. Даны три карандаша длиной A, B, C. Можно ли построить из карандашей треугольник? Вывести сообщение "ДА" или "НЕТ". Даны три карандаша длиной A, B, C. Можно ли построить из карандашей прямоугольный треугольник? Вывести сообщение "ДА" или "НЕТ". Для заданных вещественных положительных чисел A, B, C написать программу, определяющую можно ли из отрезков длиной A, B, C построить равнобедренный треугольник. Для заданных вещественных положительных чисел A, B, C, D написать программу, определяющую, можно ли из отрезков длиной A, B, C, D построить прямоугольник. Дано целое трехзначное число N. Выяснить, состоит ли это число из трех различных цифр, и вывести соответствующее сообщение. Например, если N=346, то ответ должен быть "ДА", если N=282, ответ "НЕТ". Для решения задачи использовать операции: DIV и MOD. Дано натуральное число n (n<=100), определяющее возраст человека (в годах). Дать для этого числа наименование "год", "года" или "лет", например, если n=23, должно выводиться "23 ГОДА", если n=45 выводится: "45 ЛЕТ". Дано натуральное число n (n<=1000). Записать это число русскими словами (семнадцать, двести пятьдесят три, тысяча и т.д.).
Раздел 3. ЦИКЛИЧЕСКИЕ АЛГОРИТМЫ Уровень В Написать программу вычисления остатка от деления числа n на число m. Словами алгоритм формулируется следующим образом: из числа n вычитать число m, пока не получим числа, меньшего чем m. Вкладчик внес в сберкассу X рублей. Написать программу, вычисляющую, сколько денег будет у него через n лет. Количество денег каждый год увеличивается на 3% по отношению к предыдущему году. Дано натуральное число n. Вычислить: (1 + 1/12)*(1 + 1/22)...(1 + 1/n2). Дано натуральное число n. Вычислить: 1/1 + 1/2 + 1/3 + ... + 1/n. Дано действительное число х, натуральное число n. Вычислить: x ( x – n )( x – 2 n )( x – 3 n )( x - n2 );
Дано действительное число а. Найти такое наименьшее n, что 13 EMBED Equation.3 1415. Написать программу, вычисляющую сумму расстояний до начала координат всех точек, имеющих целочисленные координаты и находящихся внутри прямоугольника: 1<=X<=10, 1<=Y<=5. Написать программу, выводящую все целочисленные решения уравнения aX+bY=c, удовлетворяющие условиям: |X|<=10, |Y|<=20, a, b, c заданные числа. Дано натуральное число n. Указать все тройки X, Y, Z таких натуральных чисел, что: n=X2+Y2+Z2. Дано натуральное число n. Получить все способы выплаты суммы n с помощью монет достоинством 1, 3 и 5 коп.
Массивы Уровень С Дан файл f, компонентами которого являются массивы действительных чисел а1, а2, , а15. Подсчитать для каждого массива число положительных элементов в нем Дан файл h1, компонентами которого являются целочисленные массивы а1,, а10. Преобразовать каждый из массивов следующим образом: заменить отрицательные элементы на –1, положительные – на 1, а нулевые оставить без изменения. Дан файл T, который содержит номера телефонов сотрудников учреждения: указывается фамилия сотрудника, его инициалы и номер телефона. Найти номер телефона сотрудника по его фамилии и инициалам. Сведения об ученике состоят из его имени и фамилии и названия класса (года обучения и буквы), в котором он учится. Дан файл f, содержащий сведения об учениках школы. Выяснить, имеются ли в школе однофамильцы. Выяснить, в каких классах насчитывается более 15 учащихся. Получить список учеников данного класса по следующим образцам: фамилия имя фамилия и отчество. 5).Даны действительные числа х1, , х10, у1, , у10. Получить 13 EMBED Equation.3 1415. 6).Даны действительные числа а1, , аn, b1, , bn. Вычислить (a1+bn)(a2+bn- 1)(an+b1). 7).Даны действительные числа а1, , а17. Получить: а) а17, а1, а2, , а16; б) а11, а12, , а17, а1, а2, , а10.
Литература:
1. С. В. Глушаков «Программирование на Visual Basic 6.0» 2.А. Ю. Гаевский « Информатика 7 – 11 класс», Киев 2003 3. В. Т. Безручко «Практикум по курсу Информатика» Москва 2002 4. Л. П. Андреева «Шпаргалки по информатике» Ростов на Дону 2003 5. М. Г. Коляда «Информатика и компьютерные технологии» 6. М. Микляев «Настольная книга пользователя IBM PC.