Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Операторы цикла. Цикл со счетчиком и цикл с условием. Примеры использования циклических операторов на языке Visual BasicЦикл - это алгоритмическая структура, при помощи которой реализуется многократное повторение блоков операторов. В языке Visual Basic существует три основных вида циклов, которые реализуется при помощи конструкций For: Next, Do:Loop и While:Wend. Цикл For:Next. Используется в том случае, когда количество повторов заданного блока операторов известно заранее. Данная конструкция выглядит следующим образом: For счетчик = начальное значение To конечное значение [Step шаг] Операторы1 [Exit For] Операторы2 Next [счетчик] Когда приведенные операторы выполняются первый раз, то переменной счетчику присваивается начальное значение, после чего возможны два варианта действий. Если в результате проверки условия счетчик > конечное значение было получено значение True, то происходит завершение цикла, при этом блоки операторы1 и операторы2 ни разу не выполняются. С другой стороны, если результатом проверки условия является False, то в этом случае блоки операторов выполняются первый раз, после чего происходит переход на начало цикла. Далее значение переменной-счетчика увеличивается на шаг, расположенный после ключевого слова Step (в случае его отсутствия устанавливается шаг = 1). После этого снова проверяется истинность условия счетчик > конечное значение и т.д., окончание цикла происходит в тот момент, когда результатом данной проверки станет значение True. Цикл Do:Loop. Применяется в том случае, когда число повторений операторов тела цикла заранее неизвестно. Существуют четыре разновидности данной конструкции. При использовании первых двух цикл либо выполнится много раз, либо не выполнится вообще. Do Until условие Операторы Loop; Do While условие Операторы Loop; Do Операторы Loop Until условие Do Операторы Loop While условие Цикл While:Wend. Также используется в том случае, когда число повторений операторов тела цикла заранее неизвестно, и имеет следующий синтаксис: While условие Операторы Wend Если результатом проверки условия является значение True, то блок операторы выполняется, иначе осуществляется переход на оператор, расположенный после служебного слова Wend. С другой стороны, если первая проверка условия даст результат False, то цикл не выполнится ни разу. Выбор: If...Then Примеры использования циклических операторов на языке Visual Basic. Пример:
Otwet = MsgBox("Как дела?",4) If Otwet = 6 Then ' выбрано "да" MsgBox "Это чудесно!" Else ' иначе, т.е. выбрано "нет" MsgBox "Ну тогда удачи!" End If В зависимости от того, правильно или ложно решение "Otwet = 6" (пользователь выбрал "да"), будут выполнены различные команды. Те команды, которые находятся между Then и Else будут выполнены если условие истинно, а команды между Else и End If, если условие ложно. Но в любом случае после End If исполнение команд будет продолжено. 11. Графические методы в системе проектирования и программирования VB 6. Пример циклического использования графических методов Scale, Print, Line и PSet при создании приложения «Построение графика функции». Примеры использования графических методов при создании графических Windows-приложений «Прямоугольная диаграмма» и «Круговая диаграмма». Реализация ввода и редактирования данных в указанных приложениях с помощью Редактора Меню и элемента управления Окно списка (List Box). В элементе управления PictureBox использовались различные графические методы и свойства. Графика в Visual Basic 6.0 основывалась на API-интерфейсах Windows Graphics Device Interface (GDI). В Visual Basic.NET графические возможности предоставляются пространством имен System.Drawing, инкапсулирующим новый набор API GDI+. GDI+ расширяет графические возможности Visual Basic 6.0, но новые методы несовместимы со старыми. При обновлении приложения Visual Basic 6.0 графические методы не обновляются. Список графических свойств и методов Visual Basic 6.0, а также их эквиваленты для Visual Basic.NET: Свойство AutoRedraw, Метод Circle, Свойство ClipControls, Метод Cls, Свойство CurrentX, Свойство CurrentY, Свойство DrawMode, Свойство DrawStyle, Свойство DrawWidth, Свойство FillColor и другие Пример:»Построение графика функций» прорисовка графика функции sin(x): Private Sub Command1_Click() Dim x As Single Picture1.Scale (-12, 2)-(12, -2) Picture1.Line (-12, 0)-(12, 0) Picture1.Line (0, 2)-(0, -2) For x = -10 To 10 Step 0.01 Picture1.PSet (x, Sin(x)) Next x End Sub Пример создания проекта приложения «Линейная диаграмма – график изменения температуры больного». В этом приложении реализуется действие графических методов PSet и Line, а также демонстрируются возможности работы с элементом управления ListBox (Поле списка):Заполнять значениями поле списка, а также редактировать эти значения, пользуясь четырьмя командами меню: Добавить, Вставить, Заменить, Удалить. Закончив редактирование, щелкаем графическое поле, после чего на нем появляется диаграмма для списка указанных значений. Записываются коды следующих процедур,приведем для пример 2 прогр.кода(Это для прямоугольной и круговой диаграммы):Измерение температуры. Dim n As Integer Private Sub mnuAdd_Click() NewT = InputBox("Введите новое значение температуры") List1.AddItem NewT End Sub Private Sub mnuInsert_Click() OldT = List1.ListIndex If OldT < 0 Then MsgBox "Выделите значение, перед которым будет вставка" Else NewT = InputBox("Введите новое значение температуры") List1.AddItem NewT, OldT End If End Sub Private Sub mnuUpdate_Click() OldT = List1.ListIndex If OldT < 0 Then MsgBox "Выделите модифицируемое значение" Else NewT = InputBox("Введите значение температуры",, _ List1.List(OldT)) List1.List(OldT) = NewT End If End Sub Private Sub mnuRemove_Click() OldT = List1.ListIndex If OldT < 0 Then MsgBox "Выделите удаляемое значение" Else List1.RemoveItem OldT End If End Sub Private Sub Picture1_Click() n = List1.ListCount Max# = Val(List1.List(0)) Min# = Max For i = 0 To n - 1 It = Val(List1.List(i)) If It > Max Then Max = It If It < Min Then Min = It Next Picture1.Cls Setka n, Min, Max Graphic n End Sub Private Sub Setka(n As Integer, Min As Double, Max As Double) Picture1.Scale (0, Max + 1)-(n + 1, Min - 1) For y% = CInt(Min) - 1 To CInt(Max) + 1 Picture1.Line (n + 1, y)-(0, y), RGB(200, 200, 200) Picture1.Print y Next y For x% = 1 To n Picture1.Line (x, Min - 1)-(x, Max + 1), RGB(200, 200, 200) Next x End Sub Private Sub Graphic(n As Integer) For i% = 0 To n - 2 Picture1.Line (i + 1, Val(List1.List(i)))- _ (i + 2, Val(List1.List(i + 1))), vbRed Next i Picture1.DrawWidth = 4 For i = 0 To n - 1 Picture1.PSet (i + 1, Val(List1.List(i))) Next i Picture1.DrawWidth = 1 End Sub Список каталогов (Directory List Box) используется для отображения иерархического списка каталогов в пользовательской системе. Список файлов (File List Box) используется для отображения списка файлов в пользовательской системе и управления ими (открытие, удаление, сохранение и др.). 12. Массив объектов. Пример создания и использования массивов объектов – элементов управления на экранной форме приложения «Калькулятор». Программный массив как обобщение понятия переменной. Пример обработки одномерного массива в приложении «Пузырьковая сортировка». Динамический массив в языке VB 6. Пример циклического ввода данных в одномерный динамический массив. Пример использования динамического двумерного массива в приложении «Сканирование и обработка изображений». Массивом называют упорядоченную последовательность элементов одного типа, обращение к которым осуществляется при помощи имени и индекса (т.е. порядкового номера элемента). Как правило, работа с элементами массива выполняется в циклах, где в качестве индекса выступает счетчик цикла. У каждого массива определены нижняя и верхняя границы, в пределах которых может изменяться значение индекса. По умолчанию нижней границей любого массива является 0. Объем памяти, который требуется для массива, равен произведению байтов, выделяемых для одной переменной соответствующего типа, на количество элементов. Существует две разновидности массивов: статические и динамические. Статические массивы - значения его верхней и нижней границ не могут быть изменены в программе. Данный вид массивов описывается в программе так же, как и переменные – при помощи одного из служебных слов: Dim, Private, Public или Static с последующим указанием типа после служебного слова As. При этом может быть указана как верхняя, так и обе границы одновременно D im arrA(9) As Byte Dim arrB(1 To 10) As Byte В данном случае оба массива содержат одно и тоже количество элементов одинакового типа. Однако нумерация элементов arrA начинается с нуля, в то время как нумерация arrB – с единицы. Заполнение элементов массива, как правило, выполняется в цикле Д инамические массивы. Применяются в том случае, когда количество элементов массива заранее неизвестно и будет определяться в процессе выполнения программы. Как следствие, после того, как работа с динамическим массивом в программе была выполнена, можно освободить память, которую он занимает. В качестве значений элементов массива могут выступать как значения определенного типа, так и другие массивы, которые могут иметь разные типы. При этом в последнем случае объявляемый массив должен иметь тип Variant. Массивы бывают одномерными и многомерными. Для описания многомерных массивов используются конструкции, аналогичные рассмотренным, однако отличие состоит в том, границы размерностей указываются через запятую. Пузырьковая сортировка — это алгоритм, предназначенный для сортировки списков, которые уже находятся в почти упорядоченном состоянии. Если в начале процедуры список полностью отсортирован, алгоритм выполняется очень быстро. Перед применением пузырьковой сортировки важно убедиться, что элементы в основном расположены по порядку. При пузырьковой сортировке список просматривается до тех пор, пока не найдутся два соседних элемента, расположенных не по порядку. Тогда они меняются местами, и процедура продолжается дальше. Алгоритм повторяет этот процесс до тех пор, пока все элементы не займут свои места. При просмотре массива сверху вниз, элементы, которые перемещаются вверх, сдвигаются всего на одну позицию. Те же элементы, которые перемещаются вниз, сдвигаются на несколько позиций за один проход. Этот факт можно использовать для ускорения работы алгоритма пузырьковой сортировки. Если чередовать просмотр массива сверху вниз и снизу вверх, то перемещение элементов в прямом и обратном направлениях будет одинаково быстрым. КАЛЬКУЛЯТОР Private Sub Operacia_Click(Index As Integer) If Ravno.Tag = "" Then ' нет изменения выбора операции? ' если операция была задана - вычисляем её значение: If deystvie "нет" Then vtoroe = Val(Tablo.Caption): rezultat End If Select Case Index ' запишем выбранное действие Case 0 deystvie = "разделить" Case 2 deystvie = "вычесть" Case 4 deystvie = "сложить" Case 5 deystvie = "умножить" End Select pervoe = Val(Tablo.Caption) ' первое число операции - то что на табло при выборе операции Ravno.Tag = "второе" ' режим ввода второго числа End Sub Private Sub rezultat() Select Case deystvie Case "сложить" Tablo.Caption = pervoe + vtoroe Case "вычесть" Tablo.Caption = pervoe - vtoroe Case "разделить" If vtoroe 0 Then Tablo.Caption = pervoe / vtoroe Else ' на ноль действительно нельзя делить! Tablo.Caption = "на ноль не делят!" End If Case "умножить" Tablo.Caption = pervoe * vtoroe End Select End Sub Private Sub Sbros_Click() deystvie = "нет" ' стираем, возможно, указанное действие Tablo.Caption = "0" ' на табло - ноль Tablo.Tag = "" ' по умолчанию - вводится целое число End Sub 13. Средства языка VB 6 для работы с файлами – текстовыми файлами, бинарными файлами и файлами произвольного доступа. Использование пользовательского типа данных. Использование объектов Общий диалог (Common Dialog) и Rich Textbox для открытия и сохранения файлов RTF, выбора шрифта и выбора цвета на примере создания простейшего текстового редактора в системе VB 6. Использование объектов Общий диалог (Common Dialog) и графических методов для открытия, редактирования и сохранения графических (BMP) файлов на примере создания простейшего графического редактора в системе проектирования VB 6. Visual Basic (и не только Visual Basic) различает три вида файлов (или, что практически то же самое, три режима доступа к файлу): Файлы последовательного доступа Все текстовые (ASCII-, ANSI-файлы) состоят из последовательности строк символов, при этом каждая строка может иметь произвольную длину и доступ к этим строкам может быть только последовательным. Файлы произвольного доступа Файл произвольного доступа состоит из записей фиксированной длины, поэтому местоположение записи в файле можно вычислить умножением номера записи на ее длину. Благодаря этому оказывается возможным позиционироваться на произвольную запись. Бинарные (двоичные) файлы Бинарный файл представляет собой частный случай файла произвольного доступа — достаточно принять длину записи равной одному байту и становится возможным позиционироваться на произвольный байт в файле. Что означают все эти байты и как они организованы — дело самой программы.
|