Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Пример 4.2.2-2. Создать проект, показывающий использование фундаментальных (базовых) типов данных




1. Запустить VS.

2. Выполнить команды, позволяющие создавать проект с именем Пример-4-2.2-2.

3. В окне Конструктор (Designer) появится пустая форма Пример-4.2.2-2.

На ней необходимо создать интерфейс проекта Пример-4.2.2-2 (рис.4.2.2-4).

Рис. 4.2.2-4

Проект Фундаментальные типы данных – это учебный проект на VB, который будет демонстрировать работу основных типов данных. Необходимо обратить внимание, на то, где должны рас­полагаться объявления переменных так, чтобы они были доступны для всех процедур событий вашей программы.

Кроме того, в этом проекте используется элемент управления ListBox. Рассмотрим этот элемент более подробно.

ListBox – это список, в который можно записывать и из которого можно выбирать одно из предложенных значений. Значения в списке могут размещаться в одну или несколько колонок в зависимости от значения свойства MultiColumn. Если элементы списка расположены в нескольких колонках, с помощью свойства ColumnWidth можно изменить заданную по умолчанию ширину колонок.

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

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

4. В окне Редактор кода (CodeEditor) написать программный код такой, как показано на рис. 4.2.2-5.

Public Class Form1 Dim Birds As Short Dim Insects As Integer Dim WorldPop As Long Dim Price As Single Dim Pi As Double Dim Debt As Decimal Dim RetKey As Byte Dim UnicodeChar As Char Dim Dog As String Dim Flag As Boolean Dim Birthday As Date PrivateSub ListBox1_SelectedIndexChanged(ByVal sender As _ System.Object, _ ByVal e As System.EventArgs) _ Handles ListBox1.SelectedIndexChanged Select Case ListBox1.SelectedIndex Case 0 Birds = 12500 Label3.Text = Birds Case 1 Insects = 37500000 Label3.Text = Insects Case 2 WorldPop = 4800000004 Label3.Text = WorldPop Case 3 Price = 899.99 Label3.Text = Price Case 4 Pi = 3.1415926535 Label3.Text = Pi Case 5 Debt = 7600300.5 Label3.Text = Debt Case 6 RetKey = 13 Label3.Text = RetKey Case 7 UnicodeChar = "Д" Label3.Text = UnicodeChar Case 8 Dog = "pointer" Label3.Text = Dog Case 9 Flag = True Label3.Text = Flag Case 10 Birthday = #3/1/1963# Label3.Text = Birthday End Select End Sub Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) HandlesMyBase.Load ListBox1.Items.Add("Short") ListBox1.Items.Add("Integer") ListBox1.Items.Add("Long") ListBox1.Items.Add("Single") ListBox1.Items.Add("Double") ListBox1.Items.Add("Decimal") ListBox1.Items.Add("Byte") ListBox1.Items.Add("Char") ListBox1.Items.Add("String") ListBox1.Items.Add("Boolean") ListBox1.Items.Add("Date") End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click End End Sub EndClass

Рис. 4.2.2-5

 

Необходимо отметить, что все переменные, объявленные в модуле формы, будут доступны, т.е. будут иметь область видимости во всех процедурах событий формы. Таким образом, можно установить значение переменной в одной процедуре события, а прочитать его - в другой. Обычно переменные доступны только в той процедуре собы­тия, в которой они объявлены. Чтобы сделать их доступными для всей формы, их требуется объявить в верхней части кода формы, перед событийными процедурами.

5. Щелкнуть на кнопке Начать отладку (StartDebugging) на стандартной панели инструментов.

Появится окно приложения, изображенное на рис. 4.2.2-6.

 

Рис. 4.2.2-6

 

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

6. Щелкнуть в поле списка на типе Integer.

В поле формы Пример данных появится число 37 500 000. Заметьте, что ни один из типов данных Short,Integer и Long не позволяет вводить или отображать в их значениях десятичные точки.

7. Щелкнуть в поле списка на типе Date.

В поле формы Пример данных появится дата 3/1/1963.

8. Чтобы увидеть, как Visual Basic отображает типы данных в поле Пример данных, необходимо щелкнуть в поле списка на каждом из них.

9. Чтобы остановить программу, щелкните на кнопке Выход приложения.

Теперь необходимо посмотреть, как в форме объявляются базовые типы данных и как они используются в процедуре события ListBox1_Selected_IndexChanged().

10. Изучить процедуру события Form1_Load() (рис.4.2.2-5).

Операторы этой процедуры добавляют значения в элемент управления ListBox программно при загрузке формы в начале отладки.

11. Изучить процедуру события ListBox1_SelectedIndexChanged() (рис.4.2.2-5).

Процедура события ListBox1_SelectedIndexChanged()обрабатывает вы­бор, сделанный в поле списка.

Сердцем этой процедуры события является условная конструкция SelectCase. Далее мы обсудим, как эта конструкция вы­бирает один вариант из нескольких. А сейчас обратите внимание, как каждый выбор блока Select Case присваивает заданное значение од­ной из переменных базового типа данных, а затем присваивает зна­чение этой переменной свойству Text объекта Label3 формы.

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

Попробуйте изменить данные в нескольких операторах присвоения пе­ременных и запустить эту программу, чтобы увидеть, как изменились данные. В частности, вы можете попробовать присвоить переменным значения, которые находятся вне области допустимых значений, пока­занных в таблице типов данных. Если вы сделаете такую ошибку, VB в окне Редактор кода (Code Editor) подчеркнет некорректное значение волнистой ли­нией, и программа не запустится до тех пор, пока вы не исправите это значение. Чтобы узнать об ошибке поподробнее, поместите мышь над подчеркнутым волнистой линией значением и прочтите всплывающую подсказку, содержащую сообщение об этой ошибке.

13. Если были сделаны какие-то изменения, которые необходимо записать на диск, то щелкнуть на кнопке Сохранить все (SaveAll) на стандартной панели инстру­ментов.

 

Из первых программ стало известно, что строка программного кода на VB называется оператором программы. Оператор программы является комбинацией ключевых слов VB, свойств, имен объектов, переменных, чисел, специальных символов и других зна­чений, которые вместе образуют допустимую инструкцию, распознава­емую компилятором Visual Basic. Оператор программы может быть од­ним ключевым словом, например End,которое останавливает выполнение программы на VB, или мо­жет быть комбинацией нескольких элементов, как следующая запись, которая для присвоения свойству Text объекта Label1 текущего систем­ного времени использует свойство TimeString:

Labe11.Text = TimeString

 

Рассмотрим правила объявления констант. Если переменная в программе содержит значение, которое никогда не меняется (такое, например, как число π, являющееся фиксированной математичес­кой величиной), то целесообразно хранение такого значения не в переменной, а в виде константы.

 

Имя константы – это осмысленное имя, которое заменяет неизменяемое при выполнении программы число или тестовую строку. Константы увеличивают читаемость кода программы, снижают количество программных ошибок и облегчают внесение в код глобальных изменений. Константы действуют как переменные, но при работе программы их значение не изменяется. Они объявляются с помо­щью ключевого слова Const, в соответствии со следующим правилом:

Const имя_константы AS тип = значение_константы

Const Pi As Double = 3.14159265 Label1.Text = CStr(Pi)

 

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

 

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

Dim Wd As Single = 100 Dim Fn As String = "Петров" Dim Eps As Double= 0.0001

Инициализировать переменную можно только тогда, когда это единственная переменная, объявляемая в выражении Dim, Public или Private:

Dim x, y, z As Double = 1 ‘ оператор вызовет ошибку

4.2.3. Выражения, «встроенные» функции и методы

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

· арифметические;

· логические;

· строковые.

 

Здесь подробно рассмотрим только арифметические операции, строковые операции очень кратко, а логические операции будут рассмотрены в другой теме.

Принято различать унарные и бинарные операции. Унарный знак плюс «+» перед величи­ной не изменяет ее значения. Унарный знак минус «-» перед величиной изменяет ее знак на противоположный. К бинарным арифметическим операциям относятся сложение, вычитание, умножение, деление, целочисленное деление (без остатка), остаток от деления, возведение в степень.

Если в выражении используются несколько данных (переменных, констант и функций), то их типы должны быть идентичными либо совместимыми. Далее об этом поговорим подробнее. Например, арифметические операции, применимые только к величинам целых и вещественных типов, приведены в таблице 4.2.3-1.

Таблица 4.2.3-1

Операция Название
+ Сложение
- Вычитание
* Умножение
/ Деление
\ Целочисленное деление (без остатка)
Mod Остаток от деления
^ Возведение в степень

 

Таблица 4.2.3-2

Операция Приоритет Тип действий
()   Вычисление в круглых скобках
Функция   Вычисление значения функции
^   Возведение в степень
Унарный + или –   Унарные операции  
*; /   Операции умножения и деления
\   Целочисленное деление
Mod   Остаток от деления
+; -   Сложение и вычитание

 

В выражениях используются круглые скобки для заключения в них тех частей выражения, которые необходимо вычислить в первую очередь. Количество открывающих скобок должно быть равно количеству закрывающих. Вычисление выражений выполняется в определенном порядке, установленном круглыми скоб­ками, и в соответствии с приоритетом операций (таблица 4.2.3-2).

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

Пример 4.2.3-1.Создать проект,демонстрирующий использование операций +, -, * и /.

1. Запустить VS.

2. Выполнить команды, позволяющие создавать новый проект с именем Пример-4.2.3-1. Базовые математические операции.

3. В окне Конструктор форм (Designer) появится пустая форма.

На ней необходимо создать интерфейс проекта Пример-4.2.3-1 (рис.4.2.3-1).

Рис.4.2.3-1. Форма проекта Пример 4.2.3-1

 

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

В форме проекта Пример-4.2.3-1 используются элементы управления RadioButton (переключатели). Так как обычно эти элементы располагаются в группах, то они позволяют выбрать одно из нескольких значений. Установка одного переключателя в группе (присвоение его свойству Checked значения True) автоматически сбрасывает другие переключатели, присваивая аналогичным свойствам значение False.

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

4. Для написания программного кода этого проекта дважды щелкнуть мышью на кнопке Вычислить формы. Окно Редактор кода (Code Editor ) отобразит пока пустую процедуру события Button1_Click(). Ввести в нее код, приведенный на рис.4.2.3-3.

Дважды щелкнуть мышью на кнопке Выход формы и в появившуюся процедуру события Button2_Click() ввести оператор End. Экран должен выглядеть, как на рис. 4.2.3-3.

5. Щелкнуть на кнопке Начать отладку (Start Debugging), на главной панели инструментов.

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

6. В текстовом поле Переменная1 ввести число 100, а затем нажать на <Tab>. Курсор ввода переместится во второе текстовое поле (это поле получит фокус ввода).

7. В текстовом поле Переменная2 ввести число17. Теперь к этим двум зна­чениям можно применить любой из математических операторов.

8. Щелкнуть на переключателе Сложение, а затем щелкнуть на кнопке Вычислить.

К этим двум переменным применится оператор, и в поле Ре­зультат появится число 117, как показано на рисунке 4.2.3-2.

Рис. 4.2.3-2. Результат работы проекта Пример 4.2.3-1

 

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

Результат появляется в поле Результат. Также можно поэксперимен­тировать с другими числами, введя их в текстовые поля переменных. (Если хотите, можете попробовать использовать числа с десятичны­ми точками.) Для объявления соответствующих переменных исполь­зован тип данных Double, так что можете использовать очень боль­шие числа.

Теперь попробуйте ввести следующие данные и посмотрите, что про­изойдет.

10. В текстовом поле Переменная1 ввести число 100, в текстовом поле Переменная2 –число 0, щелкните на переключателе Деление, а затем щелкните на Вычислить.

Деление на ноль при математических вычислениях запрещено, так как оно дает бесконечный результат. Но Visual Basic может справить­ся с таким вычислением и отобразить в текстовом поле Результат значе­ние Infinity (Бесконечность). Способность обрабатывать некоторые ус­ловия деления на ноль является автоматически предоставляемой функцией Visual Basic.

11. Когда закончите изучать этот и другие тесты, необходимо щелкнуть на кнопке Выход.

Программа остановится, и вернется среда разработки.

12. Теперь, чтобы узнать, как были получены такие результаты, необходимо проанализировать код программы (рис.4.2.3-3). Код использует несколько стандартных элементов управления ввода, с которыми вы экспериментировали ранее, и содержит процедуру события, которая использует переменные и операторы для вычисления простых математических формул. Програм­ма объявляет свои переменные в верхней части программного кода формы, и, таким образом, они могут быть использованы во всех процедурах событий Form1.

В верхней части кода записан оператор, который объяв­ляет две переменные типа Double:

' Объявляем переменные FirstNum и SecondNum Dim FirstNum, SecondNum As Double

 

Тип Double был использован для того, чтобы использовать тип пере­менных общего назначения, который может работать с различными числами - целыми, числами с десятичной точкой, очень большими чис­лами, маленькими числами и тому подобным. Переменные объявле­ны в одной и той же строке с помощью сокращенной записи. Обе пере­менные FirstNum и SecondNum имеют тип Double, и они используются для хранения значений, вводимых в первом и втором текстовых по­лях соответственно.

Public Class Form1 Dim FirstNum, SecondNum As Double Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button2.Click End End Sub Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) _ Handles Button1.Click FirstNum = TextBox1.Text SecondNum = TextBox2.Text If RadioButton1.Checked = True Then TextBox3.Text = CStr(FirstNum + SecondNum) End If If RadioButton2.Checked = True Then TextBox3.Text = CStr(FirstNum - SecondNum) End If If RadioButton3.Checked = True Then TextBox3.Text = CStr(FirstNum * SecondNum) End If If RadioButton4.Checked = True Then TextBox3.Text = CStr(FirstNum / SecondNum) End If End Sub End Class

Рис. 4.2.3-3

 

Первые два оператора этой процедуры события передают данные, вве­денные в объектах текстовых полей, в переменные FirstNum и SecondNum.

' Присваиваем значения текстовых полей переменным FirstNum = TextBox1.Text SecondNum = TextBox2.Text

 

Элемент TextBox осуществляет передачу с помощью свойства Text, которое принимает текст, введенный пользо­вателем, и делает его доступным для использования в программе.

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

'Определяем выбранную кнопку и вычисляем If RadioButton1.Checked = True Then TextBox3.Text = CStr(FirstNum + SecondNum) End If

В каждый момент времени из группы объек­тов может быть выбран только один объект переключателя. Чтобы определить, был ли выбран переключатель, проверьте значение свой­ства Checked. Если оно равно True, то переключатель был выбран. Если свойство Checked равно False, то переключатель не был выбран.

 

В дополнение к четырем базовым математическим операторам Visual Basic содержит четыре расширенных оператора, которые выполняют целочисленное деление (\), берут остаток от деления (Mod),производят возведение в степень (^) и слияние (конкатенацию) строк (&). Эти опера­торы применяются в специальных математических формулах и прило­жениях, обрабатывающих строки. Следующий пример (небольшая мо­дификация программы Пример 4.2.3-1 – Базовые математические операции) показывает, как использовать в программе каждый из этих операторов.

 




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


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


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



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




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