Практическая работа по теме 1. Основные понятия в информатике

advertisement
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Практическая работа по теме 1. Основные понятия в
информатике
Программная
среда.
Мультисреды
и
гиперсреды.
Структура
программного обеспечения с точки зрения пользователя. Основы
программирования
в
телекоммуникациях
и
распределенной
обработки информации. Стандартные типы данных. Основные
этапы
компьютерного
решения
задач:
модульное
программирование.
Практическая работа по теме 1. Основные понятия в информатике
Задание 1. Настройка программной среды Visual Studio
Задание 2. Разработка Windows-приложений
Задание 3. Разработка консольных приложений
Задание 4. Разработка Web-приложений
Задание 5. Решения, проекты, управление инициализацией приложения. Компиляция
сборки
Задание 6. Типы данных
Задание 7. Преобразование типов данных
Задание 8. Вставка специального символа в строку
Задание 1. Настройка программной среды Visual Studio
Задача
Настроить собственный профиль для работы с Visual Studio .NET.
Изучить назначение панелей и окон Visual Studio .NET.
Решение
Познакомиться с особенностями работы в среде Visual Studio .NET,
инструментарием, представленным в среде; этапами разработки и
запуска приложений.
Обсуждение
Интегрированная среда Visual Studio .NET представляет собой
программную среду для визуального объектно-ориентированного
программирования Windows, Web и консольных приложений. Visual
Studio.NET является программной мультисредой так как состоит из
нескольких сред, осуществляющих обмен данными. В студии
возможно проектирование модели базы данных, разработки бизнес
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
логики к ней в виде хранимых процедур и триггеров, а также
программирование локального или сетевого интерфейса к
разработанной базе данных.
Visual Studio .NET является программной гиперсредой так как имеет
встроенные функции управления виртуальной программной средой
.NET: Common Language Runtime (среда выполнения .NET)
включающей, языки программирования .NET, Intermediate language,
стандартную систему типов данных CTS, библиотеки классов.
Запустите интегрированную среду разработчика Visual Studio.NET.
При стандартной установке студии для этого необходимо выбрать
команду Пуск – Программы – Microsoft Visual Studio .NET – Microsoft
Visual Studio .NET.
При запуске Visual Studio .NET на экране появится стартовая
страница (Start Page) среды разработки. Стартовая страница – это
страница, которая позволяет создать новый или открыть
существующий проект. Выберите My Profile, затем в списке Profile
выберите Visual Basic Developer. В списках Keyboard Scheme,
Window Layout и Help автоматически должны выставиться значения
Visual Basic 6.0.
Любой проект, создаваемый в VB .NET, является частью решения
(Solution). Решение – это набор файлов, информации, проектов и
других данных, необходимых для компиляции программы и подготовки
исполняемого файла. Таким образом, все данные, необходимые для
создания приложения, в VB .NET будут объединены в одно решение.
Для создания нового решения используйте пункт главного меню
редактора File/New. При этом
появится дополнительное подменю,
позволяющее сделать выбор из
трех вариантов: Project – проект,
коллекция файлов, необходимая
для создания исполняемого файла;
File – файл произвольного типа
(текстовый,
графический,
XMLфайл,
HTML-файл…);
Blank
Solution
–
новое
решение,
предполагающее
коллекцию
проектов или файлов, необходимых
для создания исполняемого файла.
В большинстве случаев создание
новой программы начинается с
команды File/New/Project, так как
проект должен входить в состав
хотя бы одного решения, Solution
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
для нового проекта создается автоматически. В каждом решении
может быть несколько проектов (рис. 1.), то есть, создавая новый
проект можно расположить его в уже имеющемся решении. И
наоборот, проект может располагаться в нескольких решениях. Такой
подход основан на концепции .NET – многократном использовании
уже написанного кода (разработанных программных блоков).
В новом диалоговом окне следует ввести имя проекта, выбрать
шаблон для вида приложения (обычное Windows-приложение,
консольное приложение, ASP.NET приложение, библиотека классов..),
нажать кнопку OK.
Запуск приложения выполняется клавишей [F5] или из пункта меню
Debug/Start.
Справа от окна редактора располагается окно просмотра решения
(Solution Explorer), отображающее список всех файлов, входящих в
текущее решение и проекты этого решения.
Для изменения и установки свойств, используемых в проекте
объектов, в Visual Studio .NET имеется окно свойств (Properties),
позволяющее получить доступ к свойствам любых компонентов и
элементов управления (рис. 2.). Вызвать окно свойств для активного
компонента проще всего по щелку на кнопке .
Обычно, ниже окна редактора располагается окно вывода (Оutput).
При компиляции вашей программы в этом окне будет отображаться
информация об успешной компиляции или имеющихся ошибках
проекта. Окно автоматически закрывается при переходе в режим
кодирования, но его можно закрыть и принудительно.
Рис. 2. Окно свойств (Properties) используемых объектов
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
В левой части экрана (если вы его не переместили) обычно
располагается окно Toolbox (инструментарий), в котором находится
большое количество элементов управления, нужная вкладка
инструментария включается автоматически в зависимости от типа
создаваемого приложения – это одна из интеллектуальных поддержек
редактора. Если окно инструментария выключено, его можно вернуть
на экран командой View-Toolbox.
Написание программ существенно облегчается за счет способности
редактора кода автоматически завершать написание операторов,
свойств и параметров. При написании кода редактор автоматически
предлагает пользователю список компонентов (list members),
логически завершающих вводимую пользователем конструкцию (рис.
3.). Вывод на экран списка свойств и методов происходит после ввода
точки (например, TextBox1.). В случае отсутствия этой или других
интеллектуальных возможностей редактора, их можно включить
командой Edit-IntelliSense (команда доступна в режиме написания
кода программы View Code).
Настройку среды разработки можно
выполнять с помощью Tools-Options
или командами контекстных меню
отдельных объектов (щелчок правой
кнопки мыши по объекту). Обязательно
используйте режим жесткой проверки
типов Option Strict On (жесткая
проверка типов данных), который
устанавливается на вкладке Build
диалогового окна Project Properties или
в диалоге Tools – Options –Projects –
Option Strict. Этот режим позволит
избежать многих ненужных проблем при
обработке данных, представленных в
разных форматах.
Самостоятельно
1. Создайте первое Решение (Solution) для Windows-проекта,
включающее единственную форму Form1.
2. Настройте среду Visual Studio.NET для работы с приложением.
Не забудьте включить режим жесткой проверки типов данных.
3. В режиме проектирования измените свойства формы, например:
цвет фона, название формы, размеры, используя окно Properties
для вашей формы.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
4. Научитесь использовать панели инструментов Toolbox для
размещения на форме элементов управления и выполнять
запуск приложения.
5. Сохраните проект, закройте Visual Studio .NET.
6. Найдите сохраненный проект на диске и снова откройте его в
окне VS .NET студии. Для запуска проекта используйте файл с
расширением *.sln (скорее всего, ваш файл будет называться
WindowsApplication1.sln).
7. Внесите в проект изменения, запустите и проверьте их в
действии. Сохраните проект. Закройте окно студии.
8. Вновь откройте проект, но теперь выполните это с помощью или
вкладки Project или команды меню File – Open – Project Visual
Studio .NET
Задание 2. Разработка Windows-приложений
Задача
Используя инструментарий Visual Studio .NET разработать Windows
приложение.
Решение
На примере единственной формы с элементом управления Button
(командная кнопка) рассмотреть принцип событийно-управляемой
модели в объектно-ориентированном программировании.
Обсуждение
1. Для создания Windows-приложения в меню File выберите
команду New-Project, в диалоговом окне New Project выберите
шаблон Windows Application. Измените, предложенное имя
проекта (если вас не устраивает WindowsApplication1) и его
место расположения на диске (Location). Имейте в виду, что
Visual Studio.NET автоматически создает для каждого проекта
новую папку и сохраняет в ней все файлы вашего проекта.
Интерфейс Windows-приложения обычно строится на основе форм
(или
окон).
Формы
являются
объектами
класса
System.Windows.Forms.Form и так же, как и объекты других классов,
поддерживают набор свойств, событий и методов.
Программирование для Windows в большей степени представляет
собой процесс изменения свойств объектов, вызов к действию
методов этих объектов или реагирование на события, происходящие с
объектами. Другими словами, программирование для Windows
строится на основе событийно-управляемой модели: в ответ на
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
щелчок кнопки мыши или нажатия клавиши на клавиатуре должны
происходить какие-либо изменения объектов.
2. Щелкните в любой точке вашей формы правой кнопкой мыши и
перейдите в режим программирования (View Code) для создания
файла с расширением .vb (файл будет создан автоматически).
3. Напишем первый обработчик события – события загрузки формы
при запуске приложения. Поместите текстовый курсор после
строки Windows Form Designer generated code. В верхней части
окна редактора кода в левом списке выберите объект Form1
Events, в правом списке выберите событие, которое
поддерживает объект форма – Load. Щелкните на названии
события. В окне кодирования вы увидите стандартный шаблон
для написания процедуры обработчика события (рис. 4).
Рис. 4. Создание обработчика события загрузки формы
4. Установите курсор после заголовка процедуры и введите код,
представленный ниже. Ключевое слово Mе указывает на
текущий объект, в данном случае – Form1. Процедура (теперь
программным способом) будет устанавливать цвет фона для
текущей формы (свойство формы BackColor) при выполнении
инициализации (загрузке) формы. Все, чем вы оперируете в
среде VB.NET является объектом какого-либо класса,
конкретный цвет также является объектом класса Color.
Событие Click, свойство BackColor
Private Sub Form1_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Click
Me.BackColor = Color.DarkGray
End Sub
5. Запустите приложение нажатием F5 или щелчком по кнопке Start.
6. Добавьте в форму элемент управления командную кнопку Button.
Пользуясь рассмотренными ранее приемами, напишите
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
обработчик события щелчка по командной кнопке. Код
программы приведен ниже.
7. Запустите приложение. Щелкните по командной кнопке.
Убедитесь в правильности работы созданного вами приложения.
8. Закройте окно приложения.
9. Вернитесь в режим программирования формы и измените цвет и
размеры формы. Запустите приложение еще раз.
Событие командной кнопки Click, свойства формы BackColor, Width,
Height:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
Me.BackColor = Color.DarkBlue
Me.Width = 500
Me.Height = 300
Button1.BackColor = Color.Red
End Sub
10.
Добавьте в форму еще одну командную кнопку и напишите
для нее приведенный ниже обработчик события.
Событие командной кнопки Click, метод формы Close
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
Me.Close()
End Sub
11.
В режиме конструктора формы измените названия кнопок в
соответствии с выполняемыми действиями. Измените название
самой формы.
Самостоятельно
1. Добавьте в проект еще одну Windows-форму (Project – Add
Windows Form). Разместите в ней два текстовых окна (элемент
Text Box) и командную кнопку (Button). Ниже представлен
программный код, который вы должны самостоятельно
разместить в нужной позиции окна View Code вашей формы:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
TextBox2.Text = TextBox1.Text
TextBox1.Clear()
TextBox1.BackColor = Color.Azure
End Sub
Для текстовых окон можно установить свойство MultiLine=True (по
умолчанию False, то есть окно однострочное), чтобы иметь
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
возможность вводить многострочный текст. Воспользуйтесь этим
свойством для текстовых окон, размещенных в форме.
2. Для того чтобы выполнить запуск новой формы следует указать,
что Form2 является стартовой формой. Щелкните правой
кнопкой по названию проекта, выберите пункт меню Properties и
установите последовательность позицию Startup object как
показано на рис. 5.
Рис. 5. Установка свойств проекта
3. Измените алгоритм работы. Добавьте еще одну кнопку для
выполнения каких-либо других действий, например, попробуйте
изменять свойство видимости для текстового окна с
TextBox1.Visible=False на TextBox1.Visible=True.
4. В проект добавьте форму Form3 и две командные кнопки. Для
Form3 попробуйте самостоятельно программным способом
изменять свойство формы Opacity (прозрачность). Значение
этого свойства изменяется от 0 (форма прозрачна) до 1 (форма
не прозрачна). Процессом изменения прозрачности можно
управлять щелчком по командным кнопкам: щелчок по первой
кнопке увеличивает прозрачность формы, щелчок по второй
кнопке – уменьшает.
Задание 3. Разработка консольных приложений
Задача
Научиться создавать и использовать консольные приложения.
Решение
Сконструировать консольное приложение (консоль) для исследования
класса System.Console, инкапсулирующего в себе свойства и методы
для работы с консольным окном.
Обсуждение
Консольные приложения используются для отладки программных
конструкций, они не имеют графического интерфейса в виде формы с
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
элементами управления (кнопками, текстовыми окнами, списками и
так далее).
Консольные приложения открываются в специальном окне (консоли).
Пользователь должен либо вводить информацию в окно и нажимать
Enter, либо читать информацию о ходе вычислительного процесса, то
есть консоль строится для диалога с пользователем в текстовом
режиме. Обычно, это отладочный режим для построения какого-либо
вычислительного алгоритма.
Для создания консольного приложения используйте шаблон Console
Application в меню File – New – Project. Консольное приложение
сохраняется в отдельной папке, как и любое другое приложение.
Для выполнения в консоли операций следует написать процедуру с
именем Main, именно эта процедура будет исполняться при старте
приложения. Но в консольном приложении можно также размещать
любое количество других процедур или функций.
Для выполнения операций в консольном окне используют методы
класса System.Console. В качестве примера можно вывести в окно
сообщение:
Console.WriteLine (“Текст сообщения напишите самостоятельно”)
Для того чтобы консольное окно не закрывалось сразу после
выполнения метода
WriteLine
можно
использовать
метод
Console.ReadLine, который удерживает консоль на экране до нажатия
клавиши Enter (ReadLine –конец чтения строки). Запуск приложения
выполняется теми же способами ([F5], Debug-Start или
).
Самостоятельно
Проделайте все перечисленные действия для создания нового
проекта на основе консольного приложение (рис. 6). Наберите
предложенный далее код в процедуре Main. Запустите и
протестируйте приложение.
Полное имя класса Console – System.Console. Пространство имен
System доступно в проектах по умолчанию, поэтому его имя можно
опускать.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Module Module1
Sub Main()
Dim s As String
s = Console.ReadLine()
Console.ReadLine()
Console.WriteLine(s)
Console.ReadLine()
End Sub
End Module
Рис. 6. Вид консольного приложения при запуске
В коде процедуры Main была объявлена строковая переменная s (Dim
s as String), после чего в эту переменную была записана строка,
прочитанная в консоли методом Console.ReadLine(). Метод
Console.WriteLine(s) напечатал эту же строку на экран консоли. Затем
метод Console.ReadLine дожидался нажатия клавиши Enter
пользователем, после чего приложение было закрыто.
Задание 4. Разработка Web-приложений
Задача
Используя инструментарий Visual Studio .NET разработать Webприложение.
Решение
Сконструировать пользовательский интерфейс на основе web-формы,
которая
может
отображаться
в
окне
любого
браузера,
поддерживающего язык разметки HTML.
Обсуждение
Web формы или web страницы служат основой Internet
программирования. Преимущества web форм перед традиционными
формами Windows состоит в том, что они позволяют осуществлять
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
взаимодействие между пользователями и приложением при помощи
любого, поддерживающего язык разметки HTML, браузера, причем,
пользователи вашей web страницы могут использовать различные
операционные системы.
Web форма поддерживает не только визуальный интерфейс, но и
логику программы. Визуальный интерфейс, представляющий собой
текстовый файл с тегами разметки, сохранятся, как файл с
расширением .asp. и называется «страницей» (рис. 7) (active server
page).
Вторая составляющая формы представляет собой файл с кодом для
обработки любых событий страницы или находящихся на ней
элементов управления (рис. 8). Файл с программным кодом имеет
расширение .asp.vb.
1. Создайте новый проект на основе шаблона ASP.NET Web
Application. В поле Location введите URL местоположения
проекта. Если на вашем компьютере установлен Web сервер
Microsoft Internet Information Server (IIS), то можно ввести
http://localhost/Имя_проекта для моделирования работы вашего
компьютера в качестве сервера (попробуйте сделать именно
так).
2. Используя инструменты ToolBox, разместите, как и в
предыдущем Windows приложении, два текстовых окна и
командную кнопку в web форме (рис. 9).
3. В странице кодирования web формы напишите обработчик
события для командной кнопки. Перейти в режим кодирования
можно, например, таким способом: дважды щелкнув по
изображению командной кнопки. Код поместите следующий:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
TextBox2.Text = TextBox1.Text
TextBox1.Text = ""
End Sub
4. Запустите Web-страницу. Выполните действия в соответствии с
запрограммированным алгоритмом. Введите любой текст в
первое окно, щелкните по кнопке для переноса текста в нижнее
окно и очистки первого.
Код, доступный на вкладке HTML в окне web-дизайнера, можно
править непосредственно (хотя это нужно делать с предельной
осторожностью). Например, вас не устраивает цветовое оформление
вашей страницы, вы можете перейти в режим HTML и внести
соответствующие значения для атрибутов в нужные тэги.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Web форма обрабатывается на стороне сервера если в теге ее
описания указано значение атрибута Runat равным Server (рис. 7).
Элементы управления, располагаемые в такой форме, также могут
быть серверными элементами управления – обратите внимание на их
описание (рис. 7): <asp:TextBox></asp:TextBox>). При идентификации
такого тега необходимо использовать атрибут ID вместо Name.
Самостоятельно
В режиме HTML страницы (перейдите на соответствующую вкладку)
внесите изменения в формат элементов управления, например,
установите цвет фона и цвет бордюра для текстового окна:
<asp:TextBox id="TextBox1" BackColor=#ff9933 BorderColor=#660033
style="Z-INDEX: 101; LEFT: 342px; POSITION: absolute; TOP: 20px"
runat="server"
Width="313px" Height="35px"></asp:TextBox>
Обратите внимание, что и в режиме HTML разметки редактор Visual
Studio.NET также включает режим интеллектуально сопровождения.
Рис. 7. Код файла .asp
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Рис. 8. Файл с фоновым кодом
Рис. 9. Дизайн Web-формы
Задание 5. Решения, проекты, управление инициализацией
приложения. Компиляция сборки
Задача
Рассмотреть все возможные способы компоновки файлов и папок
проектов, поддерживаемые в Visual Studio.NET.
Решение
Применить структуры (контейнеры) Project и Solution для
размещения в них папок и файлов создаваемых приложений.
Рассмотреть способы доступа
и
инициализации
проектов,
расположенных в перечисленных контейнерах.
Обсуждение
Проект, созданный в Visual Studio.NET, сохраняется в контейнерах,
что упрощает поддержку проектов и обеспечивает простой доступ к
ним. Контейнеры применяются для хранения таких компонентов
приложения, как файлы и папки. Visual Studio.NET располагает
контейнерами нижеприведенных типов:
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
 Project. Контейнер Project содержит все компоненты
приложения; представляет собой проект.
 Solution. Контейнер Solution (решение) включает в себя, в
общем случае, несколько проектов. Решения позволяют
применять общие установки и опции сразу к нескольким
проектам, включенным в контейнер.
Включение проекта в несколько решений основано на многократном
использовании готового кода.
Самостоятельно
Мы располагаем тремя проектами: windows-проектом, web-проектом и
консольным приложением. Попробуем объединить все три имеющихся
проекта в рамках одного Solution (решения).
Можно создать новое пустое решение и добавить в него все три
проекта.
Можно в решение, созданное для любого из проектов, добавить еще
один проект (команда Add в контекстном меню для Solution).
После сборки Solution, следует изменить свойства решения (вызвать
контекстное меню щелчком правой кнопки по названию Solution) и
установить какой из проектов должен стартовать первым при открытии
решения (рис. 1).
Компиляция сборки
Приложение создано и отлажено, теперь можно сконструировать
исполняемый EXE-файл. Для этого выберите команду Build-Build
Name Project. Созданный EXE-файл будет располагаться в BINкаталоге проекта.
Построить сборку решения – несложно. Но обратите внимание на то,
что выпадающее меню Build предлагает несколько вариантов
действий. А именно, там имеются команды Build (компиляция) и
Rebuild (перекомпиляция) как всего решения, так и для отдельного
проекта (а именно того проекта, который выделен в окне Solution
Explorer), входящего в это решение. Кроме того, имеется команда
Configuration Manager – мастер конфигурирования компиляции сборки.
В .NET сборку можно компилировать в отладочном (debug) и
выпускном (release) режимах, либо можно задавать пользовательский
режим. В отладочном режиме в сборку включается вся информация,
необходимая для отладки. Очевидно, что во время разработки
проекта этот режим оптимален. Но после того как проект создан, надо
перейти в выпускной режим и перекомпилировать всю сборку.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Самостоятельно
Для созданной сборки выполните компиляцию в отладочном и
выпускном режимах. Найдите в папке BIN и запустите на исполнение
созданный в результате работы компилятора EXE-файл.
Задание 6. Типы данных
Задача
Рассмотреть типы данных, используемых в VB.NET, способы их
объявления и инициализации.
Решение
Использовать данные различных типов. Научиться
встроенные методы стандартных типов данных.
вызывать
Обсуждение
Для хранения или обработки данных приложения в VB.NET, как и в
других языках программирования используются переменные или
константы. В Visual Basic.NET все типы данных реализованы как
классы, поэтому при объявлении переменных определенного типа, на
самом деле, создается объект соответствующего класса, который
поддерживает все методы и свойства текущего класса. Последнее
можно легко проверить: если в редакторе кода ввести имя
переменной, а затем–точку, то появится список всех свойств и
методов, поддерживаемых текущим классом.
Классы .NET представляют собой единую иерархическую структуру,
типа дерева, корневой вершиной которого является класс System. Все
остальные классы созданы на основе класса System и наследуют
свойства и методы этого класса. Существуют базовые классы для
описания целочисленных или вещественных данных, строк, дат и
символов.
Рассмотрим на конкретных примерах способы описания переменных и
констант, задания их начальных значений и объявления области
видимости.
Самостоятельно
1. Создайте консольное приложение и выполните исследование
типов данных по предложенному образцу. Объявите переменные
всех типов, поддерживаемых VB.NET, например: Dim K As Long =
6732456789 или Dim s As Single = 1.234. При исследовании типа
Char прочитайте пояснения к п.5.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Sub Main()
Dim N As Integer = 283727145
Console.WriteLine("N= " & N.ToString)
Console.WriteLine(N.GetType)
Console.WriteLine(N.MaxValue)
Console.WriteLine(N.MinValue)
Console.ReadLine()
End Sub
2. В-первых трех строках процедуры объявляются объекты
стандартных классов (переменные) с одновременной их
инициализацией (присвоением им начальных значений).
Попробуйте в ходе программы изменить значения переменных и
отобразить эти изменения в консоли.
3. Методы MaxValue и MinValue у объектов стандартных классов
служат для вывода соответственно максимальных или
минимальных значений, допустимых для конкретного типа
данных. Метод GetType выводит описание типа объекта в
строковом представлении. Попробуйте обратиться к другим
методам ваших переменных.
4. В четвертой строке процедуры Main в строке вывода на экран
Console.WriteLine("N= " & N.ToString) для формирования строки
вывода используется операция конкатенации двух строк (значок
&). Вторая строка получена в результате вызова метода
ToString у числового объекта. Внесите необходимые изменения
в другие строки кода. Не забывайте, что метод Console.WriteLine
может оперировать только строковыми переменными.
5. Рассмотрим описание области видимости переменных и
констант. Влияние области видимости (Scope) на время жизни
объявленных переменных мы изучим позже, пока это просто
знакомство с различными вариантами объявления переменных и
констант.
Public Const t As Double = 1.45E-19
Private Const a As Decimal = 456
Dim X As Byte = 255
Private Z As Short = 256
Public M As Decimal = 56.94D
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Sub Main()
Dim s As String = "Строка текста"
Dim ch As Char = "a"c
Console.WriteLine("ch= " & ch)
Console.WriteLine(ch.GetType)
Console.ReadLine()
End Sub
Обратите внимание на описание объекта класса Char. Латинский
символ «с» после кавычек используется для того, чтобы показать
отличие объекта класса Char от объекта класса String.
6. Рассмотрим особенности использования типа данных Object.
Тип данных Object позволяет создавать переменные,
ссылающиеся на объекты любых типов. После объявления такой
переменной и присвоения ей конкретного значения можно
определить тип объекта методом GetType. При помощи
свойства FullName можно получить полное имя объекта (это
проделайте самостоятельно).
Создайте
консольное
приложение,
которое
демонстрирует
особенности использования типа данных Object.
Sub Main()
Dim obj As Object
obj = 5
Console.WriteLine(obj)
Console.ReadLine()
Console.WriteLine(obj.GetType)
Console.ReadLine()
obj = "5"
Console.WriteLine(obj)
Console.ReadLine()
Console.WriteLine(obj.GetType)
obj = "5"с
Console.WriteLine(obj)
Console.ReadLine()
Console.WriteLine(obj.GetType)
End Sub
7. В математике числа могут быть целыми или дробными
(нецелочисленными).
Соответственно,
типы
данных,
используемые для хранения числовых значений в Visual
Basic.Net, делятся на целочисленные типы данных и
нецелочисленные типы данных.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Рассмотрим
особенности
объявления
и
использования
нецелочисленных типов данных: Single, Double и Decimal.
Создайте
консольное
приложение,
содержащее
следующий
программный код. Объясните полученные результаты. Имейте в виду,
что тип данных Decimal содержит большее количество значащих
цифр, чем типы Single и Double, и характеризуется меньшей
погрешностью округления. Как правило, он используется в
финансовых и научных расчетах, требующих высокого уровня
точности.
Module Module1
Sub Main()
Dim s As Single, s1 As Double, s2
As Decimal
s = 1230.5000123456814
s1 = 1230.5000123456814
s2 = 1230.5001234568131
Console.WriteLine(s)
Console.WriteLine(s1)
Console.WriteLine(s2)
Console.ReadLine()
End Sub
End Module
Задание 7. Преобразование типов данных
Задача
Рассмотреть основные способы выполнения преобразований типов
данных, имеющиеся в VB.NET.
Решение
Сравнить использование неявных преобразований типов данных,
функций для конвертирования типов (CInt, CStr, CDbl..), функции
CType и класса System.Convert.
Обсуждение
В Visual Basic преобразования бывают явными и неявными. Неявные
(implicit) преобразования не требуют специальных средств и
выполняются автоматически. Например, в следующем коде число
типа Single преобразуется в целое число типа Integer перед
присвоением его переменной N. При этом преобразовании произойдет
потеря точности, вместо N=45.78 будет иметь место N=46.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
Sub Main()
Dim N As Integer
Dim x As Single
x = 45.78
N=x
Console.WriteLine(N)
Console.ReadLine()
End Sub
Явные (explicit) преобразования выполняются при помощи
дополнительных средств, например, функций преобразования. Явные
преобразования дают возможность лучше контролировать процесс
преобразования и уменьшают возможность неожиданной потери
данных. Имена функций преобразования типов всегда начинаются с
символа «С» – convert (преобразовать), а далее следует имя типа, в
который следует преобразовать текущий тип, например: CBool, CByte,
CChar, CDate, CDbl, CDec и так далее.
В VB .NET предусмотрен режим жесткой проверки типов Option Strict.
Присвоив компиляторному параметру Option Strict (параметр
ограничения) значение On (включен) можно заставить программу
выполнять только явные преобразования.
При активизации этого режима (а это следует делать всегда!)
Редактор VS .NET требует, чтобы любые преобразования типов,
которые могут привести к потере данных, выполнялись явно.
Например, при преобразовании Single к типу Integer может произойти
потеря точности, поскольку тип Integer не позволяет представить весь
интервал допустимых значений типа Single. С другой стороны, если
потеря данных исключена (например, при преобразовании Integer в
тип Long или Decimal), VB .NET выполняет преобразование
автоматически.
Самостоятельно
1. Попробуйте
выполнить
следующие
преобразования
организуйте просмотр результатов на экране:
и
Dim N As Integer
Dim K As Long = 6732456789
Dim s As Single = 1.2345
Dim t As Double
N = CInt(s)
t = CDbl(K / N)
2. Существует общий подход для преобразования типов – функция
CType.
Функция
CType
также
позволяет
выполнять
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
преобразования типов объектов, но при этом имеет два
аргумента. Первый аргумент указывает на преобразуемый
объект, второй – на тип данных, к которому приводится объект,
например:
N = CType(x, Integer)
Самостоятельно организуйте консоль для изучения функции CType.
3. Явное преобразование чисел можно осуществлять не только с
помощью функций преобразования типа, но также с помощью
методов преобразования, имеющихся в классе System.Convert.
На рис. 10 показано, как выводится список методов
преобразования, имеющихся в классе Convert, в виде
всплывающего меню, если поставить точку после имени класса.
Преобразования типов данных необходимы при выполнении
некоторых математических операций, так как результат вычисления
может принадлежать к другому типу данных, нежели вводимые
значения. Например, K и N, по смыслу, являются целыми числами, но
результат деления (К/N), записанный в ту же переменную К –
вещественное число, поэтому при вычислении K используется
преобразование в тип Long.
Рис. 10. Выполнение преобразований через класс Convert
Самостоятельно используйте класс Convert для выполнения
преобразования типов и просмотра результатов на экране, взяв за
основу следующий фрагмент кода:
Dim N As Integer
Dim K As Long = 6732456789
Dim t As Double = 23.56
N = Convert.ToInt32(t)
K = Convert.ToInt64(K / N)
4. Создайте консольное приложение, выполняющее следующие
преобразования. Объясните полученные результаты.
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
DecimalPrice=19.95
IntegerPrice=Convert.ToInt32(DecimalPrice)
DecimalPrice= IntegerPrice
5. Попробуйте разобраться в следующей ситуации: написан
программный код, в котором имеются ошибки и к тому же
пропущены
некоторые
обязательные
ключевые
слова.
Исправьте ошибки и, используя исправленный программный код,
создайте консольное приложение для вычисления значения
переменной Х. Не забудьте установить режим, запрещающий
неявное преобразование из одного типа в другой (Tools Options - Option Strict On).
Dim x
Dim i As Integer = 1245.6
Dim k As Integer = 24912
x=i/k
Задание 8. Вставка специального символа в строку
Задача
Использовать символ из расширенного набора, отсутствующий на
клавиатуре.
Решение
Определить код специального символа в кодировке UNICODE.
Преобразовать полученное число в символ, вызвав для выполнения
преобразования общий метод ToChar у класса System.Convert.
Преобразование кода в символ выполняется с помощью метода
Convert, так как преобразовать число непосредственно в тип Char при
помощи изученной нами функции CType невозможно.
Обсуждение
Рассмотрим
конкретный
пример
использования
методов
преобразования типов данных. Сначала нужно определить код
спецсимвола в кодировке Unicode. Это можно сделать любым
способом, например, в редакторе Word открыть таблицу символов
(рис. 11).
Теперь этот символ (не забудьте, что код приводится в
шестнадцатеричной системе счисления) можно применить в
приложении любого типа. Но следует иметь в виду еще одно
обстоятельство. Дело в том, что приложения Windows и Web
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
полностью поддерживают символы Unicode, в то время, как
консольные приложения могут не отображать спецсимволы – это
зависит от используемого шрифта.
Самостоятельно
1. Создайте Windows приложение.
2. Разместите в форме элемент управления Label.
3. Перейдите в режим кодирования ViewCode и введите код для
процедуры загрузки формы, представленный ниже.
Private Sub Form10_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles MyBase.Load
Dim SpecialChar As Char = Convert.ToChar(&H20AC)
Label1.Text = SpecialChar.ToString
End Sub
Рис. 11. Вывод специального символа в приложении
При использовании шестнадцатеричного кода Unicode нужно указать
перед ним символы &H, говорящие о том, что это шестнадцатеричное
значение.
Еще раз обсудим необходимость выполненного преобразования с
помощью класса Convert и его метода ToChar.
4. Попробуйте
изменить
код
процедуры
и
выполните
преобразование кода в символьное представление с помощью
функции CType:
Dim SpecialChar As Char = CType(&H20AC, Char).
Вы убедитесь в том, что такое непосредственное преобразование не
выполняется, поэтому мы использовали класс System.Convert для
выполнения преобразования
Dim SpecialChar As Char = Convert.ToChar(&H20AC)
МЕЖДУНАРОДНЫЙ БАНКОВСКИЙ ИНСТИТУТ
INTERNATIONAL BANKING INSTITUTE
5. Самостоятельно примените рассмотренную технологию ввода
специального символа в консольном приложении.
Download