Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Байдина Н.В., Костянко Н.Ф. 2 страница




5.4. Окно списка (ListBox)

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

Свойство Sorted (Сортировать), установленное в состояние True, позволяет отсортировать элементы списка в алфавитном порядке. Метод Additem (Добавить элемент) позволяет наращивать список.

Например, чтобы в окно списка с именем List1 добавить названия фирменных поездов "Краснаястрела"и"Юность",необходимо записать:

List1.Additem("Красная стрела")

List1.Additem ("Юность")

 

Чтобы определить, какой элемент списка выбрал пользователь, можно воспользоваться свойством ListIndex (Индекс списка). Значение этого свойства будет содержать или номер строки в окне списка, которую выбрал пользователь, или -1, если не выбран ни один элемент списка. При этом свойство Text (Текст) будет содержать текст выбранной строки.

 

6. Последовательность разработки Информационной
Технологии

 

Рассмотрим в простейшем виде последовательность разработки информационной технологии на конкретном примере.

 

6.1. Постановка задачи

Словесное описание. Вычислить высоту треугольника, если задана его площадь и известно, что основание треугольника больше его высоты на некоторую величину b.

Определение состава выходных данных.

Выходные данные:

h – высота треугольника (переменная вещественного типа).

Определение состава входных данных.

Входные данные:

s – площадь треугольника;

b – величина, на которую основание больше высоты;

s и b – переменные вещественного типа.

 

6.2. Разработка математической модели

 

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

Известно, что s = 0,5 h (h + b), отсюда 2 s = h 2 + bh.

 

Выполняя элементарные преобразования, получим:

 

h 2 + bh – 2 s = 0.

 

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

 

 

Для вычисления может быть использовано только значение , так как отрицательное значение h 2 не имеет смысла.

 

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

6.3. Составление схемы алгоритма

Для рассматриваемого примера схема алгоритма будет иметь вид:

 

6.4. Разработка проекта

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

Для рассматриваемого примера на форме можно разместить следующие элементы управления (рис. 10):

три надписи (комментарии к трем текстовым полям).

Название элементов управления – Label1, Label2, Label3. Щелкнем левой клавишей мыши на элементе управления "Надпись", перенесем его на форму, зададим свойство Caption, равное "Введите b ". Еще раз щелкнем на элементе управления "Надпись", перенесем его на форму и зададим свойство Caption, равное "Введите s ". Еще раз щелкнем на элементе управления "Надпись", перенесем его на форму, зададим свойство Caption,равное "Результат h ";

три текстовых окна: для ввода значения s, для ввода значения b, для вывода результата h.

 

 

Рис. 10. Первоначальный вид формы

 

Щелкнем на элементе управления "Текст", перенесем его на форму, очистим свойство Text. Свойству Name этого поля автоматически присваивается имя Text1. Аналогично сформируем поля Text2 и Text3;

кнопку для запуска программы с именем Command1. Щелкнем на элементе управления "Кнопка", перенесем его на форму и в свойство Caption поместим текст "Счет" (рис. 11).

 

 

Рис. 11. Вид формы после определения свойств элементов управления

Примечания.

1. Если на форме надо разместить несколько элементов управления одного типа, которые, как ожидается, будут иметь одинаковые свойства, то сэкономить время можно следующим образом: вывести на форму объект, настроить его свойства, скопировать его в ClipBoard (буфер обмена), затем вставить его на форме соответствующее количество раз. В ответ на подсказку " You already have a control named <имя элемента управления>. Do you want to create a control array? "нажать кнопку "Нет".

2. Для отображения сетки на форме в меню Tools основного окна выбрать команду Options, на вкладке General включить флажок Show Grid.

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

Для рассматриваемого примера программный код может иметь вид:

 

1. Private Sub Command1_Click()

2. Dim b As Single, s As Single, h As Single

3. b = Val(Text1.Text)

4. s = Val(Text2.Text)

5. h = (–b + Sqr(b^2 + 8*s))/2

6. Text3.text = Str(h)

7. End Sub

Первая строка определяет событие, которое нужно обработать.

Вторая строка объявляет переменные b, s, h как вещественные. В третьей строке переменной b присваивается значение, введенное в текстовое поле Text1. Функция Val() преобразует строку в число. В четвертой строке переменной s присваивается значение, введенное в текстовое поле Text2. В пятой строке с помощью оператора присваивания вычисляется значение переменной h.

В шестой строке в текстовое поле Text3 помещается значение переменной h. Функция Str() преобразует числовое значение в строку.

Примечание. При вводе кода программы в редакторе Visual Basic нумерация строк отсутствует.

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

1. Из меню File выбрать команду Save Project As или щелкнуть по соответствующей пиктограмме.

В поле "Имя файла" диалогового окна Save File As ввести имя формы и щелкнуть кнопкой "Сохранить".

2. После сохранения всех форм проекта отображается диалоговое окно Save Project As, в котором задается имя проекта.

6.6. Выполнение проекта

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

– из меню Run вызвать команду Start;

– нажать клавишу F5;

– щелкнуть по пиктограмме (8) на панели инструментов.

       
   
 
 

В рассматриваемом примере на экране отобразится форма, и в первом текстовом поле автоматически установится текстовый курсор. Пользователь должен ввести соответствующее значение переменной, переместить курсор во второе поле ввода и ввести следующее значение. Щелкнуть по кнопке "Счет". В окне результата отобразится результат вычисления (рис. 12).

 

При необходимости повторить выполнение программы из меню Run запускается команда Restart. Команда Break прерывает выполнение программы, а команда End ( g ) завершает его и возвращает управление редактору кода.

6.7. Отладка программы

Осуществляется с помощью команд меню Debug. Для пошагового выполнения программы используют команды Step Into (F8) и Step Over (Shift + F8). Step Into исполняет вызываемую процедуру по шагам, а Step Over исполняет процедуру так, как будто она выполняется одним оператором.

Команда Toggle BreakPoint отождествляет текущий оператор как контрольную точку, т.е. точку на которой останавливается выполнение программы до команды Continue. По умолчанию Visial Basic выделяет контрольные точки темно-красным цветом.

Команда Clear All BreakPoint выключает все установленные контрольные точки.

Команда Set Next Statement позволяет еще раз выполнить команду (cтроку, оператор) после внесения в нее изменений.

Команда Show Next Statement позволяет найти следующую строку, которую собирается выполнить Visual Basic.

 

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

7.1. Основные понятия

 

Ключевое слово – это слово или символ, распознаваемый как элемент системы программирования Visual Basic, например:

if, then, else, for, next, dim т.д.

Литерал – это простое выражение, определяющее данные неко-торого типа, например:

150 – число

"ппппп" –строковая константа

#07/16/2000# – дата

Константа – это именованная область памяти, сохраняющая постоянное значение в процессе выполнения программы.

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

7.2. Типы данных

В Visual Basic различают следующие типы данных.

Integer (2 байта) – целое число из диапазона от -32768 до 32767

Long (4 байта) – целое число из диапазона от -2147483648 до 2147483647

Single (4 байта) – вещественное число из диапазона: для отрицательных – от -3,4е38 до -1,4е-45, для положительных – от 1,4е-45 до 3,4е38

Double (8 байтов) – вещественное число с удвоенной длиной из диапазона: для отрицательных – от -1,797е308 до -4,94е-324, для положи-тельных – от 4,94е-324 до 1,797е308

Currency (8 байтов) – денежные величины с диапазоном от минус 9223372036855477,5808 до 922337203685477,5807

String (10 байтов + длина переменной) – текстовые или строковые значения. Строки переменной длины могут содержать до миллиарда символов, а строки фиксированной длины – до 65400 символов

Byte (1 байт) – целое число от 0 до 255

Booleаn (2 байта) – логическое значение True (1) или False (0)

Date (8 байтов) – даты с 1 января 100 года по 31 декабря 9999 года

Variant – данные любого типа.

Данные типа Long, Byte, Integer не могут иметь дробных значений, а переменные типа Byte – отрицательных. Попытка присвоить переменной значение, которое не входит в диапазон ее типа, вызывает ошибку при выполнении программы.

Тип данных Currency представляется как масштабируемое целое с фиксированной десятичной точкой с 15 разрядами в целой части и 4 разрядами в дробной. Поскольку при денежных расчетах не требуется большой точности, можно использовать этот тип данных, а не десятичные числа, при этом увеличивается скорость расчетов.

Данные типа Boolean хранят логические значения. При этом значение 0 интерпретируется как False, а любое другое – как True.

Тип данных Variant фактически применяется по умолчанию. При использовании этого типа данные могут принимать любое значение (целое, байтовое, строковое или логическое). Универсальный тип может показаться очень удобным, но практически его используют только в том случае, когда нет другого выбора. Он работает медленно, так как Visual Basic вынужден тратить время на интерпретацию данных. К тому же под данные этого типа отводится память, достаточная для хранения строки.

 

7.3. Объявление данных

 

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

 

7.3.1. Объявление констант

В Visual Basic константы объявляются следующим образом:

Const имя константы [As тип]=значение

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

Const Pi Аs Double = 3.14159

 

Примечания.

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

2. При присваивании константе литерала типа Date необходимо использовать символ #, например:

#1 Jul 1994# или #7/1/94#

 

7.3.2. Объявление переменных

 

Переменные объявляются следующим образом:

Dim имя переменной As <тип>

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

Dim X As Byte (переменная X типа Byte)

Dim X, Y As Sing le(переменная Х типа Variant, а Y – Single)

Dim X As Integer, Y As Double (переменная Х типа Integer, а Y – Double)

Dim stroka As String (переменная stroka типа String)

 

Примечания.

1. При присваивании переменным имени следует придерживаться следующих правил:

– использовать только буквы латинского алфавита, регистр букв не имеет значения;

– длина имени не должна превышать 256 символов;

– можно использовать любую комбинацию букв, цифр, символов, кроме точек, пробелов и символов %, &,!, #, @, $;

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

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

Dim stroka As String*10

 

Строго говоря, Visual Basic не требует объявлять большинство переменных перед их применением. Переменные называются неявно объявленные, если они сразу используются в программе, а не объявляются сначала с помощью инструкции Dim. При этом неявно объявленным переменным присваивается тип Variant, значение 0 в контексте математических операций и значение "пустая строка" в контексте строковых операций.

Visual Basic позволяет установить требование на явное объявление переменных в модуле. Для этого в разделе описания модуля надо задать инструкцию Option Explicit. Чтобы Visual Basic автоматически добавлял инструкцию Option Explicit в каждый вновь создаваемый проект, требуется:

– на стандартной панели инструментов Visual Basic открыть меню Tools, выбрать команду Options ираскрыть вкладку Editor;

– установить флажок Require Variable Declaration;

– нажать кнопку ОК.

Начало программы будет иметь вид:

Option Explicit

Текст программы

В этом случае, если переменная не будет объявлена, Visual Basic генерирует ошибку при компиляции, идентифицируя неправильную пере-менную: Variable not defined.

 

7.4. Оператор присваивания

 

Оператор вычисляет значение выражения, стоящего справа от знака равенства, и присваивает его значение переменной, расположенной слева от знака равенства, и имеет вид:

имя переменной=выражение

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

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

 

Операции Знак Использование Приоритет
Возведение в степень ^ a ^ b  
Отрицание –b  
Умножение * a * b  
Деление / a / b  
Целочисленное деление \ a \ b  
Остаток от деления на целое Mod a Mod b  
Сложение + a + b  
Вычитание a – b  

7.5. Встроенные функции Visual Basic

 

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

имя функции(аргумент)

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

В библиотеке Visual Basic хранятся следующие встроенные функции.

 

7.5.1. Арифметические функции

Результат Обозначение Функция
Абсолютное значение | x | Abs(x)
Целая часть числа (без округления) [x] Int (x)
Квадратный корень Sqr (x)
Натуральный логарифм ln x Log (x)
Экспонента е х Exp (x)
Знак числа (-1 – для отрицательных, 0 – для 0, 1 – для положительных)   sign x   Sgn (x)

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

 

Lg10 х = Log(х)/ Log(10)

7.5.2. Тригонометрические функции

 

Результат Обозначение Функция
Синус угла sin x Sin (x)
Косинус угла cos x Cos (x)
Тангенс угла tg x Tan (x)
Арктангенс угла arctg x Atn (x)

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

Значение угла в радианах=Значение угла в градусах*pi/180

Значение угла в градусах = Значение угла в радианах *180/pi

В стандартном Visual Basic для определения константы p в секции General необходимо поместить код:

Constant Pi As Double = 3.14159

Рассмотрим примеры записи математических выражений на языке Visual Basic;

1.

Gamma = Log(a/b)/Log(10)*Sqr(Sin(x)+Cos(x^2)) /Abs(a^b)*1E-5

2.

B = Exp(a+b)*Atn(a)^2^(1/3)*(1+gam/2)/(3*Tan(l/2))*1.5E6

3. R = 0,00000015×j

R =15e–8*fi

7.5.3. Функции работы со строками

 

Конкатенация (соединение)предназначена для соединения двух строк путем подстановки второй строки к концу первой. В Visual Basic можно использовать две операции для конкатенации строк: + и &. Поскольку + является также и арифметической операцией, то предпочтение отдается операции &.

Примечание. Перед знаком & и после него всегда ставится пробел, иначевыдается сообщение об ошибке: Expected: end of statement.

 

Функции Left, Right, Mid возвращают заданное число символов строковой переменной соответственно с левого, правого краев и из середины строки.

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

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

Mid (строка, начало [,длина])

Например, пусть Phone = "3941540 ", тогда

Code = Left(Phone,3) [Результат Code = 394]

Code = Mid(Phone,4,3) [Результат Code = 154]

 

Функция Len (строка) возвращает число символов в строковой пере-менной.

Number = Len(Phone) [Результат Number = 7]

Функция InStr (строка, подстрока)определяет позицию вхождения подстроки в строку. Возвращает нулевое значение, если заданный символ или подстрока не найдены, иначе – положение символа или позицию начала подстроки.

Number = InStr(Phone,"41") [Результат Number = 3]

Функция Val (значение) – преобразует строку в число.

Функция Str (значение) – преобразует число в строку.

Функция Rtrim (строка) – возвращает копию строки без пробелов в конце.

Функция Ltrim (строка) – возвращает копию строки без пробелов в начале.

Функция Trim (строка) – возвращает копию строки без пробелов в начале и конце.

Например:

Phone = " Функция "

Code = Trim(Phone) [Результат Code ="Функция"]

8. Организация ввода данных

Ввод данных можно осуществить с помощью функции InputBox() или текстового поля.

 

8.1. Функция InputBox()

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

Сокращенный синтаксис функции выглядит так:

a= InputBox(сообщение [,заголовок] [,умолчание] [,x pos, y pos]),

где а – имя переменной, которой требуется присвоить введенное значение;

сообщение – это текст, отображаемый в диалоговом окне (текст должен быть заключен в двойные кавычки и не превышать 1024 символов);

заголовок – это текст, который размещается в заголовке окна;

умолчание – значение величины, которая будет по умолчанию находиться в текстовом поле диалогового окна;

x pos, y pos – координаты верхнего левого угла окна; если их не указывать, окно располагается в центре экрана.

Вместо необязательных параметров (указанных в квадратных скобках) ставится запятая при наличии следующих за ними параметров.

Рассмотрим фрагмент кода ввода значения площади S.

Dim S As Double

S = InputBox("Введите значение площади")


 

В текстовое поле введено значение 67. Когда пользователь нажимает кнопку ОК, содержимое поля присваивается переменной S. Если пользователь нажал кнопку CANCEL, возвращается строка нулевой длины.

Если видоизменить вызов функции следующим образом:

S = InputBox("Введите значение площади", "Задание № 1"),


то получим окно вида:

8.2. Ввод данных с помощью текстового поля

Для организации ввода значения S с помощью текстового поля необходимо выполнить следующие действия:

– на форме разместить текстовое поле для ввода значения площади (элемент управления "Текстовое поле", по умолчанию свойство Name этого элемента имеет значение Text1);

– в программе записать оператор

s=Val(Text1.Text) или S=Text1

9. Организация вывода данных

 

Вывод данных можно выполнить различными способами, например:

– c помощью оператора MsgBox;

– с помощью функции MsgBox();

– с помощью оператора Print;

– с помощью текстового поля.

 

9.1. Оператор MsgBox

 

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

Синтаксис оператора вывода сообщений в стандартное диалоговое окно следующий:

 

MsgBox сообщение,[атрибут],[заголовок],

где сообщение – это текст, отображаемый в диалоговом окне (текст должен быть заключен в двойные кавычки и не превышать 1024 симво-лов);

заголовок – это текст, который размещается в заголовке окна;

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

 

  Константа Значение параметра атрибут   Описание
VbOKOnly   Отображается только кнопка ОК
VbOKCancel   Отображается кнопка ОК и Cancel
VbYesNoCancel   Отображается кнопка Yes, No, Cancel
VbYesNo   Отображается кнопка Yes, No
VbQuestion   Отображается вопросительный знак
VbDefaultButton1   По умолчанию активна первая кнопка
VbDefaultButton2   По умолчанию активна вторая кнопка

 

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

def=VbYesNo+VbDefaultButton2

def=4+ 256

Затем значение переменной def используется при вызове функции или в операторе Msgbox.

В своей простейшей форме оператор MsgBox выводит стандартное окно сообщений, которое закрывается, когда пользователь щелкает по кнопке ОК.

MsgBox "s= " & s MsgBox "s= " & s,, "Ответ"

       
 
   
 


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

 

9.2. Функция MsgBox()

Функция MsgBox() выводит данные в стандартное диалоговое окно,

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

Синтаксис функции вывода сообщений в стандартное диалоговое окно:




Поделиться с друзьями:


Дата добавления: 2014-12-23; Просмотров: 1108; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.16 сек.