Пособие Basic заочники

 Федеральное Агентство Железнодорожного Транспорта
Государственное образовательное учреждение высшего
профессионального образования
“Петербургский государственный университет путей сообщения”


Кафедра Информатика и информационная безопасность














ОСНОВЫ СИСТЕМЫ ПРОГРАММИРОВАНИЯ
VISUAL BASIC

Учебное пособие
по дисциплине “Информатика”
для студентов заочной формы обучения всех специальностей














Санкт-Петербург
2005


УДК 681.3.06
ББК З973.26-018.22я7
Б18

Байдина Н.В., Костянко Н.Ф.
Б18 Основы языка программирования Visual Basic: Учебное пособие. ( СПб.: Петербургский государственный университет путей сообщения, 2005. ( 60 с.
Библиогр.: 4 назв.

ISBN 5-7641-0125-5


Автоматизация решения любой вычислительной задачи связана с необходимостью разработки алгоритма ее решения и последующей записи его на одном из языков программирования.
В учебном пособии изложены основы разработки визуальной части проекта в Integrated Development Environment (IDE), а также конструкции языка программирования Visual Basic, необходимые для программной реализации трех основных структур – СЛЕДОВАНИЕ, РАЗВИЛКА, ЦИКЛ.
Учебное пособие предназначено для студентов всех специальностей заочной формы обучения, изучающих дисциплину "Информатика".



УДК 681.3.06










ISBN 5-7641-0125-5 ( Петербургский государственный
университет путей сообщения, 2005
( Байдина Н.В., Костянко Н.Ф., 2005
Введение

Оснащение дисплейных классов Университета современной вычислительной техникой и современными программными средствами приводит к необходимости изменения содержания некоторых разделов дисциплины "Информатика". При этом темы, связанные с постановкой задач и алгоритмизацией, остаются практически без изменений, в то время как тема "Программирование" претерпевает значительные изменения в связи с необходимостью изучения современных программных продуктов (программных продуктов нового поколения).
Анализ современных систем программирования показал, что наиболее целесообразно в высших учебных заведениях изучать систему программирования Visual Basic.
Преимущества этой системы:
– возможность работы с операционной системой Windows и ресурсами Internet;
– простота и наглядность создания проектов, использующих все достоинства системы Windows (графические средства, высокое быстродействие, надежность), возможность создавать программные средства, имеющие такие элементы, как надписи, кнопки, окна различных типов, полосы прокрутки и т.д.
Следует отметить, что дальнейшим развитием языка Visual Basic является язык программирования Visual Basic for Application, который используется для автоматизации работы в текстовом процессоре Word, электронной таблице Excel и в программе ведения баз данных Access.
Visual Basic выпускается в нескольких версиях.
Learning Edition (Учебная редакция). Эта версия идеально подходит для начинающих.
Professional Edition (Профессиональная редакция). Издание для профессионалов предоставляет больше инструментов и вспомогательных средств, необходимых профессиональным программистам. Оно содержит ряд дополнительных элементов управления, обеспечивает расширенные возможности доступа к базам данных.
Enterprise Edition (Редакция для предприятий). Позволяет разрабатывать приложения с большими многопользовательскими базами данных и включает средства для совместной разработки группами программистов.
Visual Basic for Applications (Visual Basic для приложений). Эта версия входит в состав Microsoft Office.

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

1. Загрузка системы программирования Visual Basic

В начале работы система Visual Basic запускает Мастер проектов, и на экране отображается диалоговое окно New Project, в котором можно выбрать один из нескольких типов шаблонов проектов (рис. 1).
















Рис. 1. Диалоговое окно нового проекта

Окно состоит из трех вкладок:
– New (новые проекты). На этой вкладке присутствуют несколько шаблонов проектов:
Standard EXE – стандартный проект
ActiveX EXE – загрузочный файл ActiveX
ActiveX DLL – динамическая библиотека ActiveX
ActiveX Control – создание новых элементов управления ActiveX
VB Application Wizard – мастер приложений VB for Application Addin – мастер мастеров и другие
– Existing (существующие проекты). С помощью этой вкладки можно выбрать существующий проект.
– Recent (недавно использовавшиеся проекты). На ней пере-числяются лишь те проекты, с которыми пользователь работал в последнее время.
Для работы с Visual Basic необходимо загрузить стандартный ЕХЕ проект.
13EMBED PBrush 1415
При его загрузке на экране (рис. 2) отражается меню Visual Basic и стандартная панель инструментов.


Рис. 2. Меню Visual Basic и стандартная панель инструментов

Назначение меню:
File – предназначено для работы с файлами, которые образуют приложения. С помощью команд этого меню можно создавать, открывать, сохранять и печатать проект.
Edit – выполняет стандартные операции по работе с фрагментами текста и элементами управления: вырезать, вставить, копировать.
View – просмотр различных компонентов и инструментов. Можно просматривать различные составляющие проекта: формы, программные модули, пользовательские управляющие элементы.
Project – с помощью команд этого меню добавляются и удаляются формы, программные модули, пользовательские управляющие элементы, свойства и компоненты ActiveX из других проектов.
Format – определяет размеры и расположение элементов управления и форм.
Debug – используется для отладки приложений. С помощью команд меню Debug можно запустить и остановить приложение, расставить точки прерывания и выбрать просматриваемые объекты, а также выполнить другие операции, помогающие следить за работой приложения.
Run – позволяет запустить и остановить приложение, прервать и возобновить его выполнение.
Tools – позволяет добавить процедуры и задать значение их атрибутов, разработать собственное меню и соответствующую ему панель инструментов (редактор меню), установить значения параметров IDE.
Add-Ins – содержит дополнительные утилиты, которые называются надстройками. В него по умолчанию включаются подкоманды: Visual Data Manager и Add-In Manager. Они используются для проектирования и заполнения баз данных во многих популярных форматах, включая формат Microsoft Access.
Window – используется для работы с окнами IDE (расположение, упорядочивание, быстрый переход).
Help – справочник. Справка по любому элементу также может быть получена при нажатии клавиши F1 на этом элементе.

В системе программирования Visual Basic используются следующие основные понятия.
Элемент управления – это объект системы программирования, который можно использовать для создания приложения.
При проектировании выбираются те элементы управления, с которыми будет работать приложение. Каждый элемент управления характеризуется определенными свойствами, методами и событиями.
Свойства (Properties) – характеристики формы или элемента управления, которые определяют изображение формы и элемента управления на экране, их поведение и название.
Метод (Metods) – это действие, которое может выполнить элемент управления или форма. Методы доступны только во время выполнения приложения.
Событие (Events) – это действие, которое может выполнить пользователь над формой или элементом управления, например, щелчок мышью на элементе управления или нажатие клавиши, перемещение мыши, выбор пункта меню.
Фокус – это понятие используется для обозначения активного окна или активного элемента управления. Например, фокус устанавливается в результате щелчка кнопкой мыши на элементе управления. После этого элемент управления может принимать данные.

2. Интегрированная среда разработки (IDE)

IDE (Integrated Development Environment) служит для разработки проекта, то есть приложения, создаваемого пользователем. На экране дисплея интегрированная среда представлена следующими окнами (рис. 3).
Основное окно растянуто в верхней части экрана и появляется как в режиме проектирования, так и в режиме выполнения. В этом окне расположено меню Visual Basic и панель инструментов, выполняющие наиболее важные функции. Кроме того, в верхней части располагается строка заголовка, в которой отображается имя текущего проекта и текущий режим: design (проектирование) или run (выполнение). Как и другие виды окон, основное окно имеет кнопки "Свернуть", "Развернуть" и "Закрыть".



















Рис. 3 Интегрированная среда разработки

В правом углу панели инструментов расположены числовые значения координат положения и размеров текущего объекта, которые выражены в твипах. Числовые значения первого указателя соответствуют положению объекта относительно левой и верхней границ основного окна. Второй указатель определяет размер объекта как произведение его ширины на высоту.
Панель элементов управления. Содержит стандартные элементы управления (рис. 4), а также несколько дополнительных элементов управления, которые включены в пакет Visual Basic. Стандартные элементы удалять нельзя, можно ввести или изъять пользовательские элементы управления, которые добавляются из панели компонентов. Для знакомства со всеми элементами панели элементов управления из меню Project выполняется команда Components. На вкладке Controls флажками отмечены элементы, которые отображаются на панели.
Можно также добавить и другие объекты, например, звуковые клипы, рисунки, электронные таблицы или объекты WordArt.


Рис. 4. Панель элементов управления

Панель элементов управления можно переместить, закрыть, снова открыть, но ее нельзя свернуть, развернуть или изменить размеры. Размер панели зависит от количества элементов, которые на ней изображаются. Он автоматически изменяется при добавлении элемента или его изъятии.
В верхней части окна панели инструментов расположена секция General, которая имеет чисто декоративное назна-чение.
Примечание. Если панель элементов скрыта под другими окнами или закрыта, то для выведения ее наверх надо воспользоваться командой ToolBox из меню View.

Окно свойств (Properties). Используется для отображения свойств формы или элемента управления. Для вывода окна свойств (рис. 5) необходимо щелкнуть левой клавишей мыши на соответствующем элементе в форме или нажать клавишу (F4(. Под заголовком расположен прокручиваемый список, который содержит все объекты текущей формы. Если проект включает несколько форм, то отображаются только свойства элементов текущей формы. Для просмотра свойств конкретного объекта необходимо щелкнуть левой клавишей мыши на этом объекте или выделить его в прокручиваемом списке. Окно Properties можно перемещать, изменять размер, закрывать, открывать, однако его нельзя свернуть или развернуть.

Оно имеет небольшой размер, установленный по умолчанию. Поэтому некоторые свойства, устанавливаемые по имени в столбце слева, и значения этих свойств, устанавливаемые в столбце справа, не показаны. Если немного расширить окно, то в нем можно увидеть гораздо больше информации.
Каждый элемент управления характеризуется своим набором свойств. Общими для всех элементов управления служат следующие:
свойство Caption – задает заголовок элемента управления;
свойство Font – задает шрифт, которым должен быть написан заголовок. В области значений за названием шрифта отображаются три точки. Это означает, что при нажатии на эту пиктограмму открывается диалоговое окно, которое позволяет выбрать соответствующий шрифт;
свойство ForeColor – используется для установки цвета шрифта;
свойство FillColor – определяет цвет заполнения области;
свойство BackColor – используется для установки цвета фона;
свойство Aligment – позволяет установить тип выравнивания записи.
При перемещении элемента управления в новое положение изменяются его свойства Top и Left, которые описывают, где находятся его верхний и нижний угол. При перемещении указателя на то или иное свойство в нижней части окна появляется текст, поясняющий это свойство.

Окно проекта (Project). Расположено в правой части экрана и обеспечивает быстрый доступ к различным составляющим проекта: формам, классам, модулям. В окне проекта (рис. 6) содержатся все модули, принадлежащие проекту. В виде дерева отображаются названия проекта и формы: слева расположены имена проектов или имена форм, взятые из свойства Name, а справа (в скобках) – имена файлов, хранящие формы или проекты.




Рис. 6. Окно проекта


В этом окне пользователю дос-тупны три кнопки – View Code, View Object и кнопка, изображающая папку. View Code служит для просмотра кода, связанного с фор-мой; View Object – для просмотра формы; кнопка, изображающая пап-ку, позволяет раскрывать и закрывать список форм, включенных в проект.
При щелчке правой кнопкой мыши в окне проекта открывается контекстное меню, которое позволяет добавить, удалить или распечатать содержимое форм и модулей. Так, выполнив команду Remove, пользо-ватель может удалить объект из проекта или сам проект.



Рис. 7. Окно макета формы
Окно макета формы (рис. 7) имеет имя Form Layout. В этом окне выводится уменьшенное изо-бражение текущей формы, по которому можно представить местоположение формы на экране во время выполнения приложения.
Изображение формы в окне макета можно перемещать. Для этого необходимо щелкнуть левой клавишей мыши на изображении формы и перетащить его в требуемое положение.


Рис. 8. Окно конструктора формы
Окно конструктора фор-мы расположено в центре экрана (рис. 8). Именно в этой рабочей области происходит визуальное конструирование макета формы и расположение на ней элементов управления. С помощью окна свойств формы можно определить заголовок формы (Caption), цвет фона (BackGround), начальное местоположение на рабочем столе (StartUpPosition), стиль рамки (BorderStyle).
Примечание. Точное позиционирование объекта с заданным размером достигается установкой свойств Left, Right, Height и Widht вручную в окне свойств. В каждой форме имеется свойство ScaleMode, которое определяет, в каких единицах измеряются находящиеся на форме объекты. Вместо twip можно выбрать единицы: пункт, пика, сантиметр, дюйм и другие.


Рис. 9. Окно редактора кода

Окно редактора кода отображается на экране в результате двойного щелчка левой кнопкой мыши на форме или элементе управления (рис. 9). Оно используется для создания и редактирования программного кода, который обрабатывает какое-либо собы-тие. Окно редактора кода открывается также при нажатии кнопки View Code в окне проекта.
Окно кода в действи-тельности является мощным редактором, поэтому в нем можно создать новый код, просмотреть и изменить существующий. Код разделяется на процедуры. При записи кода процедуры используются различные инструкции (операторы).
Каждый оператор Visual Basic обычно занимает одну строку, которая может содержать до 1023 символов. Но в одной строке может объединяться и несколько операторов, разделенных двоеточием, например:
Print "Hello": Print "это наша программа"
Оператор может располагаться на нескольких строках, в этом случае их разделителем служит символ подчеркивания (_), следующий за символом пробел. После ввода символа (_) необходимо нажать клавишу ENTER.
В Visual Basic могут быть использованы комментарии. Для выделения начала комментария можно использовать или символ апостроф (’), или команду Rem, например:

’это комментарий
Rem это тоже комментарий

При наборе строки редактор автоматически прокручивает поле, поэтому на экране всегда видно положение курсора.

3. ПОСЛЕДОВАТЕЛЬНОСТЬ РАЗРАБОТКИ ПРОЕКТА

Построение формы. При создании нового проекта Visual Basic выводит на экран чистую форму, которая имеет заголовок Form1. Над окном формы можно выполнить следующие действия:
– изменить его размеры, передвигая границы;
– переместить форму в удобное место (установить курсор на заго-ловке формы и, удерживая нажатой левую кнопку мыши, добиться требуемого расположения формы);
– изменить заголовок формы, а также другие ее свойства.
После выполнения этих действий можно перейти к размещению на форме необходимых элементов управления.

Изображение на форме элементов управления. Чтобы поместить элемент управления на форме, необходимо выбрать его на панели элементов управления (Toolbox), а затем перенести на форму. Существуют два способа переноса элементов управления на форму:
– дважды щелкнуть на элементе управления, при этом он разместится в центре формы, после чего его можно переместить в любое место;
– один раз щелкнуть на элементе управления, выделив его. Затем поместить курсор мыши в то место, где будет размещаться верхний левый угол элемента управления. После этого, удерживая нажатой левую кнопку мыши, переместить курсор туда, где будет находиться нижний правый угол элемента управления. На форме отобразится соответствующий элемент управления, который ограничен восьмью черными квадратиками – указателями. Они используются для изменения размеров и местоположения объекта на форме.
В языке Visual Basic каждому элементу управления присваивается имя, принимаемое по умолчанию, например, текстовые окна имеют имена: Text1, Text2 и т.д., надписи: Label1, Label2 и т.д.

Назначение свойств элементам управления. Каждый элемент управления имеет свои свойства, которые определяют его изображение на экране, поведение и название. Свойства задаются в окне Properties (свойства). Основное свойство – Name определяет имя элемента управления. Оно имеет важное значение, так как при работе указывается в коде приложения.
Для вывода на экран окна свойств необходимо щелкнуть левой клавишей мыши на соответствующем элементе управления в форме или нажать клавишу (F4(. Например, для формы можно задать такие свойства, как: Caption (заголовок), WindowState (начальное положение окна).

Написание кода приложения. Windows – это система, которая управляет событиями. Любая операция, которую выполняет пользователь на компьютере, нажатие клавиши мыши, перемещение мыши, выбор пункта меню – есть событие. Каждое приложение, выполняемое на компьютере, ожидает события, а потом его обрабатывает. Каждая форма и каждый элемент управления имеют события, связанные с ними.
Чтобы события происходили, необходимо написать соответ-ствующие процедуры в окне редактора кода. Например, чтобы заставить Visual Basic выполнить конкретную часть кода в ответ на щелчок по командной кнопке, создается процедура обработки события, заголовок которой состоит из имени элемента управления и события.
Чтобы открыть Редактор кода, надо дважды щелкнуть левой клавишей мыши на соответствующем объекте. Visual Basic автоматически записывает два оператора, которые определяют начало и конец процедуры, например:
Private Sub Сommand1_Сlick()

End Sub

Первая строка – оператор Private Sub – указывает на элемент управления (Command1 – командная кнопка) и событие, которое нужно обработать (Click – щелчок левой клавишей мыши по командной кнопке).
Последняя строка – оператор End Sub – обозначает конец процедуры. Код программы размещается между этими двумя операторами. Щелчок мышью по свободной строке перемещает курсор в эту строку. Нажатие клавиши TAB позволяет сделать отступ в строке. После ввода строки нажимается клавиша ENTER.

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

1. Из меню File следует выполнить команду Save File As. Для сохранения проекта со старым именем надо просто щелкнуть по пиктограмме, изображающей дискету.
При сохранении проекта необходимо сохранить каждую форму как отдельный файл, поэтому Visual Basic запрашивает имя файла для каждой формы. После ввода имени файла следует щелкнуть левой клавишей мыши по кнопке "Сохранить". При создании нового файла Visual Basic добавляет расширение .frm.
2. После сохранения всех форм проекта отображается диалоговое окно Save Рroject As, в котором требуется задать имя проекта (Visual Basic автоматически добавляет к нему расширение .vbp) и щелкнуть левой клавишей мыши по кнопке "Сохранить".
Имена файлов формы и проекта могут быть одинаковыми.
3. Для вывода текста кода на печать (в режиме проектирования-design) надо выполнить команду Print из меню File и включить флажок в поле Code.
4. Для сохранения проекта в виде загрузочного файла из меню File выполнить команду – Make Project.ехе.

5. Основные элементы управления

5.1. Надпись (Label)

Надписи позволяют выводить текст, который не должен редак-тироваться пользователем. Программист же может изменять содержание надписи в коде, устанавливая значение свойства Caption (заголовок). Надписи часто содержат справочные сведения. Они могут использоваться как самостоятельно, так и в качестве подсказок для текстового поля, комментария, списка или другого элемента. По умолчанию надпись имеет имя Label. Размеры надписи задаются в режиме конструирования. Наиболее часто используемые свойства элемента управления "Надпись":
Name – задает имя элемента;
Caption – задает заголовок элемента на форме;
Font – задает шрифт, которым должен быть написан заголовок. В области значений за названием шрифта отображаются три точки. Это означает, что при щелчке левой клавишей мыши на этой пиктограмме откроется диалоговое окно, которое позволит выбрать соответствующий шрифт;
FillColor – задает цвет заполнения области;
ForeColor – задает цвет шрифта;
BackColor – задает цвет фона;
Aligment – задает тип выравнивания записи;
BorderStyle – задает стиль рамки (например, значение 1 – Fixed –создает эффект окна).
Надписи имеют события и методы, но они обычно не применяются при разработке проектов.

5.2. Текстовое поле (TextBox)

Текстовые поля являются важной частью большинства приложений Visual Basic и предназначены для ввода и вывода данных. Основная разница между "надписью" и "текстовым полем" заключается в том, что во время выполнения приложения можно вводить данные в "Текстовое поле" и редактировать его, например: число, фамилию, имя, адрес, имя файла и т.д. "Текстовое поле" может отображать больший объем текста, чем "надпись", и его можно прокручивать.
По умолчанию текстовое поле имеет имя Text. Самым важным его свойством является свойство Text. Оно содержит отображаемое в поле значение. Первоначально значение текстового поля совпадает с задаваемым по умолчанию именем элемента управления. Если надо очистить текстовое поле, необходимо удалить устанавливаемое по умолчанию значение свойства Text с помощью клавиши BACKSPACE. Чтобы текстовое поле имело предопределенное значение, необходимо ввести его в свойство Text.
Наиболее часто используемые свойства текстовых полей:
Name – задает имя текстового поля;
MaxLength – ограничивает длину вводимого текста заданным количеством символов;
АutoSize – позволяет автоматически устанавливать ширину поля в зависимости от числа находящихся в нем символов. Если присвоить этому полю значение True, то ширина поля будет зависеть от количества введенных символов;
MultiLine – позволяет создать многострочное текстовое поле и новый абзац при нажатии клавиши ENTER, в этом случае свойство должно иметь значение True;
ScrollBars – устанавливает полосы прокрутки для перемещения по тексту (1 – горизонтальная, 2 – вертикальная, 3 – обе);
Index – со значением 0 задает размножаемое текстовое поле.
Текстовое поле имеет 11 методов. Наиболее часто используется метод SetFocus. Этот метод служит для передачи курсора текстовому полю.
Текстовые поля имеют собственные события, но большинство программ не обрабатывают их. События, связанные с текстовыми полями, пользователь вызывает действиями с клавиатурой (Change, KeyDown, KeyPress, KeyUp), с мышью (Click, DblClick, MouseDown, MouseMove, MouseUp, DragDrop, DragOver) и действиями с переключением фокуса (GotFocus, LostFocus).

5.3. Кнопка (CommandButton)

Этот элемент управления используется в тех случаях, когда необходимо выполнить некоторое действие, подтвердить или отменить выбор, получить справку, ввести данные, вызвать специальную функцию, связанную с формами и т.д. По умолчанию командной кнопке присваивается имя Command. Как правило, работа с кнопками заключается в установке их свойств и написании кода для события Click (Щелчок).
Самые важные свойства кнопки – Name и Caption. По значению имени кнопки отличаются друг от друга, а заголовок определяет текст, который отображается на кнопке.
Для изменения размеров кнопки следует пользоваться маркерами изменения размера. Свойство Font (Шрифт) позволяет изменить шрифт заголовка.
Чтобы сделать внешний вид кнопки более интересным, необходимо установить для свойства Style (стиль) значение Grapfical (графический), затем в свойстве Picture (рисунок) установить подходящий значок или растровое изображение.
Свойства Enabled (доступность) и Visable (Видимость) позволяют ограничить доступ к кнопке. Если значение свойств равно False, кнопка становится недоступной. Блокировка кнопки может пригодиться, когда пользователь должен выполнить определенные действия (например, заполнить "Текстовое поле") и лишь затем нажать кнопку для перехода к следующему действию.
Однако, если требуется заблокировать кнопку, значение False следует задать для свойства Enabled, а не для Visible. В первом случае заблокированная кнопка останется на экране и пользователь может подумать, что при определенных условиях она станет доступной, во втором случае – она просто исчезает. Если в процессе работы командную кнопку надо сделать доступной, то в программе должна быть строка:
(Имя кнопки(. Enable = True
Для кнопки наиболее общее событие – это событие Click (Щелчок). Вместо события Click можно воспользоваться событием MouseUp. Как правило, остальные события приложение не использует.
Для кнопки наиболее часто используется два метода: Move (Двигать) и Refresh (Обновить). Многие приложения изменяют название командной кнопки в ответ на некоторые другие действия. Если изменяется название кнопки, то необходимо воспользоваться методом Refresh для того, чтобы быть уверенным, что новое название появится на экране.
Метод SetFocus используется для передачи курсора конкретной кнопке. Например, с его помощью можно вернуться к кнопке по умолчанию, после того как будет закончено редактирование текстового поля на форме. В этом случае код может выглядеть так:
(Имя кнопки(. SetFocus

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,5h(h + b), отсюда 2s= h2 + bh.

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

h2 + bh – 2s = 0.

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

13 EMBED Equation.2 1415

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

Таким образом, 13 EMBED Equation.2 1415
6.3. Составление схемы алгоритма

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


















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

Разработка проекта начинается с создания основной формы для приложения. Для этого форму перемещают в удобное место и подбирают ее размеры, передвигая границы, затем рисуют на ней нужные элементы управления, которые выбираются из панели элементов (Toolbox) и выводятся на форму. В правой части панели инструментов указывается точное положение и размер нового элемента управления.
Для рассматриваемого примера на форме можно разместить следующие элементы управления (рис. 10):
– три надписи (комментарии к трем текстовым полям).
Название элементов управления – Label1, Label2, Label3. Щелкнем левой клавишей мыши на элементе управления "Надпись", перенесем его на форму, зададим свойство Caption, равное "Введите b". Еще раз щелкнем на элементе управления "Надпись", перенесем его на форму и зададим свойство Caption, равное "Введите s". Еще раз щелкнем на элементе управления "Надпись", перенесем его на форму, зададим свойство Caption, равное "Результат h";
– три текстовых окна: для ввода значения s, для ввода значения b, для вывода результата h.

13EMBED PBrush1415

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

Щелкнем на элементе управления "Текст", перенесем его на форму, очистим свойство Text. Свойству Name этого поля автоматически присваивается имя Text1. Аналогично сформируем поля Text2 и Text3;
– кнопку для запуска программы с именем Command1. Щелкнем на элементе управления "Кнопка", перенесем его на форму и в свойство Caption поместим текст "Счет" (рис. 11).

13EMBED PBrush1415

Рис. 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 автоматически выводит два оператора, которые определяют начало и конец процедуры.
Для рассматриваемого примера программный код может иметь вид:

Private Sub Command1_Click()
Dim b As Single, s As Single, h As Single
b = Val(Text1.Text)
s = Val(Text2.Text)
h = (–b + Sqr(b^2 + 8*s))/2
Text3.text = Str(h)
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;
– щелкнуть по пиктограмме (13SYMBOL 56 \f "Marlett" \s 1414815) на панели инструментов.
В рассматриваемом примере на экране отобразится форма, и в первом текстовом поле автоматически установится текстовый курсор. Пользователь должен ввести соответствующее значение переменной, переместить курсор во второе поле ввода и ввести следующее значение. Щелкнуть по кнопке "Счет". В окне результата отобразится результат вычисления (рис. 12).

При необходимости повторить выполнение программы из меню Run запускается команда Restart. Команда Break прерывает выполнение программы, а команда End (13SYMBOL 103 \f "Marlett" \s 1414g15) завершает его и возвращает управление редактору кода.

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 Single (переменная Х типа 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
14

Отрицание

–b
13

Умножение
*
a * b
12

Деление
/
a / b
12

Целочисленное деление
\
a \ b
11

Остаток от деления на целое
Mod
a Mod b
10

Сложение
+
a + b
9

Вычитание

a – b
9

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

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

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

Результат
Обозначение
Функция

Абсолютное значение
| x |
Abs(x)

Целая часть числа (без округления)
[x]
Int (x)

Квадратный корень
13 EMBED Equation.3 1415
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 для определения константы ( в секции General необходимо поместить код:
Constant Pi As Double = 3.14159
Рассмотрим примеры записи математических выражений на языке Visual Basic;
1. 13EMBED Unknown1415
Gamma = Log(a/b)/Log(10)*Sqr(Sin(x)+Cos(x^2)) /Abs(a^b)*1E-5
2. 13EMBED Unknown1415
B = Exp(a+b)*Atn(a)^2^(1/3)*(1+gam/2)/(3*Tan(l/2))*1.5E6

3. R = 0,00000015((
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
0
Отображается только кнопка ОК

VbOKCancel
1
Отображается кнопка ОК и Cancel

VbYesNoCancel
3
Отображается кнопка Yes, No, Cancel

VbYesNo
4
Отображается кнопка Yes, No

VbQuestion
32
Отображается вопросительный знак

VbDefaultButton1
0
По умолчанию активна первая кнопка

VbDefaultButton2
256
По умолчанию активна вторая кнопка


Для достижения желаемого результата значения констант можно складывать. Например, если в окне сообщения должны присутствовать кнопки Да и Нет, и при этом кнопка Нет назначена по умолчанию, надо воспользоваться любым из приведенных ниже параметров:
def=VbYesNo+VbDefaultButton2
def=4+ 256
Затем значение переменной def используется при вызове функции или в операторе Msgbox.
В своей простейшей форме оператор MsgBox выводит стандартное окно сообщений, которое закрывается, когда пользователь щелкает по кнопке ОК.
MsgBox "s= " & s MsgBox "s= " & s, , "Ответ"







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

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

Функция MsgBox() выводит данные в стандартное диалоговое окно,
которое может иметь текст сообщения, заголовок и набор кнопок.
Синтаксис функции вывода сообщений в стандартное диалоговое окно:
имя переменной=MsgBox(сообщение,атрибут,заголовок)
Отличие от оператора MsgBox состоит в том, что функция возвра-щает значение, позволяющее определить, какую кнопку нажал пользо-ватель.

Константа
Значение параметра
атрибут
Кнопка

VbOk
1
Ok

VbCancel
2
Cancel

VbYes
6
Yes

VbNo
7
No


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

Option Explicit
Private Sub Command1_Click()
Dim def As Double
Dim b As Single, s As Single, h As Single
def=4+256
b=InputBox("Введите значение b =")
s=InputBox("Введите значение s =","Cтруктура СЛЕДОВАНИЕ")
h=(–b+Sqr(b*b+8*s))/2
If MsgBox("Ответ печатать?",def,"Задание № 1")=vbYes Then
MsgBox "Значение площади равно " & s
End If
End Sub

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

Format(параметр,"прототип")

При построении прототипа можно использовать символы:
– 0 – резервирует позицию цифрового разряда, отображает цифру, если у числа, представленного параметром, есть цифра в этой позиции;
– # – аналогичен первому параметру, но не отображаются незначащие нули;
– . (точка) – разделитель целой и дробной частей числа.
Например, использование функции Format(1.2^2, "##.###") дает результат 1.44, а использование функции Format(1.2^2, "00.000") дает результат 01.440.

9.3. Метод PRINT

Метод Print позволяет результаты вычислений выводить на форму.
Если в методе Print выводимые значения разделяются точкой с запятой, то они печатаются один за другим через пробел, а если запятой, то каждое новое значение печатается в начале следующей зоны печати (в Visual Basic зоны начинаются через каждые 14 символов). Изменить ширину зоны позволяет функция Tab (число).
Функция Spc (число) позволяет вывести на форму заданное число пробелов.
Вывод данных на форму начинается с левого верхнего угла формы. Для изменения позиции точки вывода используются свойства CurrentX и CurrentY, аналогичные свойствам Top и Left, при помощи которых задается расстояние от верхнего левого края формы. Свойство формы ScaleMode, о котором упоминалось в первой части методических указаний, позволяет выбрать нужные единицы измерения (см, мм, пиксель). Примеры использования метода Print.

CurrentX = 1000 ’Отступ на 1000 пикселей от верхнего левого края формы вправо
CurrentY = 1000 ’Отступ на 1000 пикселей от верхнего левого края формы вниз
Print x, f ’Вывод в строку с табуляцией
Print x; f ’Вывод в строку через количество пикселей,
заданных по умолчанию
Print x ’Вывод в столбец
Print Tab(5); format(x,"0.00"); Tab(15); f
’Вывод в строку с использованием значений табуляции

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

Например, для организации вывода значения переменной h с помощью текстового поля необходимо выполнить следующие действия:
– на форме разместить текстовое поле для вывода в него значения h (элемент управления "Текстовое поле"; пусть свойство Name этого элемента будет Text3);
– в программе записать оператор: Text3.Тext=Str(h) или Text3=h,
где Str () – функция, преобразующая числовое значение в строковое.
Тогда при выполнении программы в текстовое поле, имеющее имя Text3, выведется значение переменной h.

10. Структурное программирование

Любой сколь угодно сложный алгоритм можно построить на основании трех структур: Следование, развилка, Цикл.

10.1. Структура Следование

Это основная структура, в которой выполняемые операции следуют одна за другой, образуя простую последовательность. Пример програм-мной реализации рассмотрен в п.6.

10.2. Структура Развилка

Эта структура используется для выбора одного из нескольких возможных путей развития вычислительного процесса в зависимости от выполнения некоторого условия. Существует несколько разновидностей структуры Развилка.

10.2.1. Классическая структура Развилка

Алгоритм этой структуры выглядит так:

Структура Развилка реализуется с помощью условного оператора, имеющего вид:

If условие Then
[оператор]
[Else
[оператор]]
End If

Условие – это логическое выражение, использующее операции сравнения, с помощью которых устанавливаются отношения между величинами, например:
C < A + D, A > B, D <> К
Операции сравнения

Название
Символ
Использование
Приоритет

Меньше чем
<
a7

Меньше или равно
<=
a<=b
7

Больше чем
>
a>b
7

Больше или равно
>=
a>=b
7

Равно
=
a=b
7

Не равно
<>
a<>b
7

С помощью логических операторов можно составить более сложное логическое выражение.

Логические операторы

Название
Обозначение
Использование
Приоритет

НЕ
Not
Not a
6

И
And
a And b
5

ИЛИ
Or
a Or b
4

Исключающее ИЛИ
Xor
a Xor b
3

Эквивалентность
Eqv
a Eqv b
2

Включение
Imp
a Imp b
1


Оператор Not работает только с одним значением. Результат оператора противоположен значению правой части выражения, в котором он используется.
Оператор Аnd проверяет истинность обоих выражений одновре-менно.
Оператор Or проверяет истинность выражений. Если хотя бы одно из выражений будет истинным, то результат – истина. Если оба выражения ложны, то и результат ложен.
Оператор Xor дает истинный результат в том случае, если истинно одно из выражений.
Оператор Eqv проверяет эквивалентность двух выражений. Если их логические значения совпадают, то результат операции будет истинным.
Оператор Imp проверяет, включает ли первое выражение второе.

Примеры записи логических выражений:
A >= 0 Or A <= 10
F+5 <> 10 And C= 6

Рассмотрим запись оператора, реализующего структуру Развилка, представленную ниже.










Условный оператор может быть неполным, т.е. у него могут отсутствовать операторы, выполняемые по условию да или нет, например:














10.2.2. Модифицированная структура Развилка

Во многих случаях по условию "истинно" или "ложно" может выполняться группа операторов. В этом случае структура Развилка называется модифицированной. Алгоритм модифицированной структуры Развилка имеет вид:












Для реализации модифицированной структуры Развилка может использоваться только условный оператор If, записанный следующим образом:

If условие Then
[операторы]
[Else
[операторы]]
End If

Пример.
Пусть математическая модель задачи определяется так:

y1 = tg(x2); ввести значение y2, если x 13SYMBOL 163 \f "Symbol" \s 1414ё15 0
y1 = cos(x) + sin2(x); y2 = 0 , если х > 0

Очевидно, что входными данными служит значение x, а выходными – y1 и y2.
Схема алгоритма:
















Этому алгоритму соответствует следующая программа на языке программирования Visual Basic

Dim x As Single,y1 As Single, y2 As Single
x = Inputbox("Введите значение х", "Модифицированная структура РАЗВИЛКА")
If x<=0 Then
y1=Tan(x^2)
y2=Text1.text
Else
y1=Cos(x)+Sin(x)^2
y2=0
End If
Print "y1 =" & Format(y1,"0.00") & " y2 =" & Format(y2,"0.00")

10.2.3. Вложенная структура Развилка

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







Вложенная структура Развилка также может быть модифицирован-ной. При программировании вложенной структуры Развилка можно использовать несколько условных операторов If. Однако вложенные операторы If Then Else можно создать c помощью конструкции ElseIf (без пробела), которая имеет следующий синтаксис:
If Условие1 Then
[операторы]
ElseIf Условие2 Then
[операторы]
[Else
[операторы]]
End If

При задании такой последовательности Visual Basic проверяет Условие1. Если оно истинно, выполняются операторы этой ветви, затем происходит переход к оператору End If. Если условие ложно, то выполняются операторы, определяемые значением Условия2, записанные после ключевого слова ElseIf.
Примечание. При составлении алгоритма с несколькими условиями рекомендуется проверять условия в порядке от наиболее вероятных к менее вероятным, при этом обеспечивается наибольшая эффективность выполнения программы.
Пример.
Пусть математическая модель задачи записана в виде:
13 EMBED Equation.3 1415
Cхема алгоритма этой задачи будет иметь вид:
















Программа может выглядеть так:
Dim x As Single, y As Single
x=InputBox("x=")
If x>0 Then
y = Sin(x)
Else
If x = 0 Then
y = 10
Else
y = Cos(x)
End if
End If
Print "y=" & Format(y,"0.000")
или так:

Dim x As Single, y As Single
x = InputBox("x=")
If x>0 Then
y=Sin(x)
ElseIf x = 0 Then
y = 10
Else
y = Сos(x)
End If
Print "y=" & y

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

10.2.4. Функция IIF

Функция IIF имеет следующий синтаксис:

IIF(логическое выражение,выражение1,выражение2)

В отличие от оператора If функция IIF вычисляет два значения, но в зависимости от значения условного выражения возвращает только одно: если значение условного выражения истинно, то функция возвращает значение первого выражения, в противном случае – второго. Выражения могут быть представлены константами или вычисляемыми выражениями. Так, пример, рассмотренный на с. 14, можно записать в таком виде:
y=IIF(x>0,1,0)
Эта функция проверяет, имеет ли переменная x значение больше 0, и, если имеет, переменной y присваивается значение 1, в противном случае – значение 0.
Рассмотрим еще несколько примеров.

Пример 1.
Пусть необходимо вычислить значение функций y1 и y2.
y1 = a + 13 EMBED Equation.3 1415; y2 = a3, если x > a
y1 = arctg x , если x <= a,
где a = b + 1

Входные данные: x, b ( вещественного типа
Выходные данные: y1, y2, a, х ( вещественного типа

Схема алгоритма:














На форме разместим два текстовых поля для ввода значений x и b, командную кнопку и элемент управления "Надпись" для вывода значения переменной y2 (используется свойство Caption этого элемента управ-ления). Программа будет иметь следующий вид:

Private Sub Command1_Click()
Dim x As Single , a As Single, b As Single
Dim y1 As Double, y2 As Double
x=Text1.Text
b=Text2.Text
a=b+1
If x>a Then
y1=a+Abs(x)
y2=a^ 3
Label1.Caption = "При x=" & Str(x) & ", a =" & Str(a) & " : y2=" & Str(y2)
Else
y1=Atn(x)
End If
MsgBox Format(y1, "0.000"), , " y1 равно"
End Sub

При выполнении условия x
В противном случае при x>a (45>2+1)) вид формы изменится, а диалоговое окно, предназначенное для вывода значения переменной y1, останется прежним.


Пример 2.
Пусть необходимо вычислить значение функции Y

13 EMBED Equation.3 1415

Входные данные: x ( вещественного типа
Выходные данные: Y ( вещественного типа


Схема алгоритма:



















10.2.5. Оператор Select Case . End Select

Использование оператора If становится неудобным, когда вложенность структуры Развилка превышает три. В таких случаях целесообразно применять оператор Select Case . End Select, который позволяет сделать выбор из произвольного числа вариантов. Синтаксис этого оператора следующий:

Select Case выражение
Case значение
<операторы>
[ Case значение
<операторы> ]
[Case Else
<операторы >]
End Select

Параметр выражение – любое числовое, строковое, логическое выражение или переменная.
В этом операторе вместо вычисления логического условия выполняется сравнение значения <выражение> с каждой из величин, заданных параметром <значение>. Для блока Case можно указывать не только одно значение, но и несколько, разделенных запятой (например: 2, 3, 4). Можно определять также области сравнения (например: 4 To 6) или воспользоваться относительным сравнением (например: Is > = 9, где Is – ключевое слово). Очередной блок Case выполняется, если ни одно из предыдущих условий не является истинным. В операторе может быть произвольное число блоков Case. Если ни одно из условий не является истинным, то выполняются инструкции Case Else.

Например, оператор Select Case может использоваться для проверки принадлежности значения случайной величины некоторым заданным значениям. Используем функцию Rnd для получения случайного числа в диапазоне [0;10].

Randomize
Ns =Int(Rnd*10)+1
Select Case Ns
Case 1
Print "Равно 1"
Case 2,3
Print "Равно 2 или 3"
Case 4 to 6
Print "Больше или равно 4 и меньше или равно 6"
Case Is >=9
Print "Больше или равно 9"
Case Else
Print "Ни одно из предыдущих"
End Select

Следует обратить внимание, что выражение Is >= 9 определяет все значения переменной Ns, которые больше или равны 9. Если совпадения значений не обнаружится, то управление передается команде, которая следует за оператором End Select.


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

Option Explicit
Private Sub Form_Activate()
Dim a As Integer, b As Integer, s As Single
Dim z As String * 1
Dim stro As String * 10
a = InputBox("Введите a ")
b = InputBox("Введите b ")
1: z = InputBox("Введите знак ")
Select Case z
Case "+"
s=a+b
stro="Складываю! "
Case "*"
s=a*b
stro="Умножаю! "
Case "–"
s=a–b
stro="Вычитаю! "
Case "/"
s=a/b
stro="Делю! "
Case Else
MsgBox " Введен неверный знак операции – " & z & "Повторите ввод"
GoTo 1
End Select
MsgBox stro & a & z & b & "=" & Format(s,"0.000")
End Sub

10.2.6. Оператор безусловного перехода

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

Goto имя метки или номер строки

Чтобы обеспечить переход к оператору, перед ним необходимо поставить метку, отделив ее от оператора двоеточием, а в операторе перехода указать имя этой метки. Метка может состоять из символов и цифр. Количество меток не ограничено, но имя должно быть уникальным.
В блоке объявлений метка описывается следующим образом:
Dim имя метки As Label
Например, имя метки – Skipit:
MsgBox "Данная инструкция выполняется"
Goto Skipit
MsgBox "Данная инструкция пропускается"
Skipit:
MsgBox "Действие продолжается"

10.3. Структура Цикл

Цикл – это основная алгоритмическая структура, которая исполь-зуется для организации циклических вычислительных процессов. Под циклическим вычислительным процессом понимается процесс, в котором производятся вычисления по одним и тем же формулам, но при различных значениях параметров. Число повторений определяется значением неко-торого логического выражения, зависящего от управляющей переменной (параметра цикла).
Организация циклического процесса требует введения следующих понятий:
– параметр цикла (обозначим его х);
– начальное значение параметра цикла (обозначим его х0);
– конечное значение параметра цикла (обозначим его хк);
– шаг изменения параметра цикла (обозначим его (х).
– условие окончания цикла (зависит от вида циклического процесса).
Различают циклы с параметром и итерационные циклы. В циклах с параметром заранее известно конечное значение параметра цикла и число его повторений. Условие окончания цикла записывается в виде логического выражения x ( xк. Если условие истинно, то циклический процесс продолжается, в противном случае заканчивается.
В итерационных циклах конечное значение параметра цикла заранее неизвестно. Цикл заканчивается в том случае, когда достигнута заданная точность вычислений.
Рассмотрим структуру Цикл с параметром. Для организации этого типа вычислительных процессов используют циклы с пред- и постусловием. При этом различают простые циклические процессы (структура Цикл) и вложенные (структура Цикл в Цикле).

10.3.1. Цикл с предусловием

Структура Цикл с предусловием организуется следующим образом.
1. Параметру цикла х присваивается начальное значение, равное х0.
2. Проверяется условие окончания цикла (значение параметра цикла меньше конечного значения или равно ему).
3. Если условие окончания цикла истинно, то выполняется тело цикла. Если условие ложно, осуществляется переход к оператору, следующему за структурой Цикл.
4. Значение параметра цикла увеличивается на величину шага и осуществляется переход к пункту 2, но при новом значении параметра цикла.
Схема алгоритма структуры Цикл с предусловием приведена на рис. 13.








Особенностью структуры Цикл с предусловием служит то, что тело цикла при начальном значении параметра x > xк не выполняется ни разу.
Для реализации циклических вычислительных процессов с предусловием используются следующие операторы цикла.

Оператор For Next

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

For параметр цикла =Начальное значение To Конечное значение [Step Шаг]
Тело цикла
Next параметр цикла

Параметр <Начальное значение> определяет значение переменной, с которой начинается отсчет. Параметр <Конечное значение> определяет значение переменной, при котором отсчет прекращается.
По умолчанию в цикле For Next приращение шага равно 1. Чтобы его изменить, следует указать ключевое слово Step, а после него значение приращения.
Параметр цикла может изменять свое значение в обратном направ-лении. Для этого следует задать начальное значение больше конечного и указать отрицательное приращение после ключевого слова Step.
Чтобы выйти из цикла до того, как параметр цикла достигнет конечного значения, можно использовать команду Exit For.

Оператор Do Loop

1. Do While <условие> 2. Do Until <условие>
операторы операторы
Loop Loop

Следует обратить внимание, что при использовании оператора Do Loop перед его записью параметру цикла необходимо присвоить начальное значение, а последний оператор тела цикла, должен увеличивать (уменьшать) значение параметра цикла на величину шага, в то время как в операторе For Next эти действия записываются в заголовке самого оператора.
Повторение цикла в конструкциях Do While происходит до тех пор, пока условие остается истинным. Повторение цикла в конструкциях Do Until происходит до тех пор, пока условие ложно.
Для выхода из цикла Do Loop используется команда Exit Do.
Пример 4.
Разработать информационную технологию, позволяющую вычислить значение функции y = sin x, при изменении значения a<=х<=b с шагом 13SYMBOL 234 \f "Webdings" \s 1414к15х, где a = 0, b = 13SYMBOL 112 \f "Symbol" \s 1414p15, 13SYMBOL 234 \f "Webdings" \s 1414к15х =13SYMBOL 112 \f "Symbol" \s 1414p15 /6.
Входные данные: a, b ( вещественного типа
Выходные данные: y ( вещественного типа
Схема алгоритма представлена на рис. 14.









В цикле значение y вычисляется до тех пор, пока условие не станет ложным, т.е. пока переменная x не станет больше b. На форме разместим два текстовых поля для ввода начального и конечного значений параметра цикла, командную кнопку и элемент управления "Список". Программа может быть записана так:

Private Sub Command1_Click()
Const pi=3.14159
Dim a As Double, b As Double, x As Double
Dim y As Double
a=Text1.Text: b=Text2.Text
x=a
Do While x<=b+pi/12 ’или Do Until x > b + pi/12
y = Sin(x)
List1.AddItem("x=" + Format(x, "0.00") + " y=" + Format(y, "0.000"))
x=x+pi/6
Loop
End Sub

Примечание. если параметр цикла представлен вещественной переменной, то к нему рекомендуется добавить полшага изменения параметра цикла.

Результат выполнения программы представлен на рис. 15.


Рис. 15

10.3.2. Цикл с постусловием

Структура Цикл с постусловием организуется следующим образом:
1. Параметру цикла х присваивается начальное значение, равное х0.
2. Выполняется тело цикла.
3. Значение параметра цикла увеличивается на величину шага.
4. Проверяется условие окончания цикла. Если условие истинно, то осуществляется переход к пункту 2, в противном случае выполнение циклического процесса заканчивается и осуществляется переход к оператору, следующему за структурой Цикл.
Схема алгоритма структуры Цикл с постусловием приведена на рис. 16. Характерной особенностью этого типа циклических процессов служит то, что при задании параметру цикла значения х0 > xк, тело цикла будет обязательно выполнено один раз.










Структуру Цикл с постусловием можно реализовать с помощью следующих операторов.

1. Do 2. Do
операторы операторы

Loop While условие Loop Until условие

Следует обратить внимание, что перед записью операторов параметру цикла необходимо присвоить начальное значение, а последний оператор тела цикла, должен увеличивать (уменьшать) значение параметра цикла на величину шага.

Пример 5.
Разработать информационную технологию, позволяющую вычислить значение функции 13 EMBED Equation.3 1415 при изменении значения –1,2(s(1,2 с шагом (s = 0,2.

Входные данные: данных, подлежащих вводу, нет
Выходные данные: s, g ( вещественного типа
Ниже представлена схема алгоритма, программа и выходная форма решения задачи.
























10.3.3. Структура Цикл в Цикле

При реализации структуры Цикл в Цикле вводятся следующие понятия:
– параметр внешнего цикла (х);
– параметр внутреннего цикла (z);
– начальное значение параметра внешнего цикла (х0);
– начальное значение параметра внутреннего цикла (z0);
– конечное значение параметра внешнего цикла (хк);
– конечное значение параметра внутреннего цикла (zк);
– шаг изменения параметра внешнего цикла ((х);
– шаг изменения параметра внутреннего цикла ((z);
– условие окончания внешнего цикла;
условие окончания внутреннего цикла.

Эта структура организуется по тому же принципу, что и структура Цикл. Схема алгоритма приводится на рис. 17. Телом внешнего цикла служат блоки 3 – 6.

13 EMBED Word.Picture.8 1415

Рис. 17

Пример 6.
Пусть требуется вычислить значение функции y = sin x + cos z при изменении 0 ( x ( 2, где (x = 0,4, а 1 ( z ( 2 с шагом (z = 0,5.
Входные данные: данных, подлежащих вводу, нет
Выходные данные: x, z, y ( вещественного типа
Схема алгоритма:













Программа этого примера и выходная форма имеют вид:


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

Библиографический список

1. Андерсон Т. Visual Basic шаг за шагом. – М.: ЗАО Изд-во Бином, 1998.
2. Браун С. Visual Basic 6. Учебный курс. ( СПб., 1999.
3. Райтингер М., Муч Г. Visual Basic 6.0. Библиотека студента. Киев; "Ирина", BHV, 2000.
4. Ананьев А., Федоров А. Самоучитель Visual Basic 6.0. ( СПб, БХВ(Петербург, 2005.

Содержание

13 TOC \h \z \t "параграф;1;Стиль1_Введение;2;подпараграф;3" 1413 LINK \l "_Toc102986603" 14Введение 13 PAGEREF _Toc102986603 \h 1421515
13 LINK \l "_Toc102986604" 141. Загрузка системы программирования Visual Basic 13 PAGEREF _Toc102986604 \h 1421515
13 LINK \l "_Toc102986605" 142. Интегрированная среда разработки (IDE) 13 PAGEREF _Toc102986605 \h 1421515
13 LINK \l "_Toc102986606" 143. Последовательность разработки проекта 13 PAGEREF _Toc102986606 \h 1421515
13 LINK \l "_Toc102986607" 144. Сохранение проекта 13 PAGEREF _Toc102986607 \h 1421515
13 LINK \l "_Toc102986608" 145. Основные элементы управления 13 PAGEREF _Toc102986608 \h 1421515-
13 LINK \l "_Toc102986609" 145.1. Надпись (Label) 13 PAGEREF _Toc102986609 \h 1421515-
13 LINK \l "_Toc102986610" 145.2. Текстовое поле (TextBox) 13 PAGEREF _Toc102986610 \h 1421515
13 LINK \l "_Toc102986611" 145.3. Кнопка (CommandButton) 13 PAGEREF _Toc102986611 \h 1421515
13 LINK \l "_Toc102986612" 145.4. Окно списка (ListBox) 13 PAGEREF _Toc102986612 \h 1421515
13 LINK \l "_Toc102986613" 146. Последовательность разработки информационной технологии 13 PAGEREF _Toc102986613 \h 1421515-
13 LINK \l "_Toc102986614" 146.1. Постановка задачи 13 PAGEREF _Toc102986614 \h 1421515
13 LINK \l "_Toc102986615" 146.2. Разработка математической модели 13 PAGEREF _Toc102986615 \h 1421515-
13 LINK \l "_Toc102986616" 146.3. Составление схемы алгоритма 13 PAGEREF _Toc102986616 \h 1421515
13 LINK \l "_Toc102986617" 146.4. Разработка проекта 13 PAGEREF _Toc102986617 \h 1421515-
13 LINK \l "_Toc102986618" 146.5. Сохранение проекта 13 PAGEREF _Toc102986618 \h 1421515
13 LINK \l "_Toc102986619" 146.6. Выполнение проекта 13 PAGEREF _Toc102986619 \h 1421515
13 LINK \l "_Toc102986620" 146.7. Отладка программы 13 PAGEREF _Toc102986620 \h 1421515-
13 LINK \l "_Toc102986621" 147. основы языка программирования Visual Basic 13 PAGEREF _Toc102986621 \h 1421515
13 LINK \l "_Toc102986622" 147.1. Основные понятия 13 PAGEREF _Toc102986622 \h 1421515-
13 LINK \l "_Toc102986623" 147.2. Типы данных 13 PAGEREF _Toc102986623 \h 1421515-
13 LINK \l "_Toc102986624" 147.3. Объявление данных 13 PAGEREF _Toc102986624 \h 1421515
13 LINK \l "_Toc102986625" 147.3.1. Объявление констант 13 PAGEREF _Toc102986625 \h 1421515-
13 LINK \l "_Toc102986626" 147.3.2. Объявление переменных 13 PAGEREF _Toc102986626 \h 1421515
13 LINK \l "_Toc102986627" 147.4. Оператор присваивания 13 PAGEREF _Toc102986627 \h 1421515
13 LINK \l "_Toc102986628" 147.5. Встроенные функции Visual Basic 13 PAGEREF _Toc102986628 \h 1421515
13 LINK \l "_Toc102986629" 147.5.1. Арифметические функции 13 PAGEREF _Toc102986629 \h 1421515-
13 LINK \l "_Toc102986630" 147.5.2. Тригонометрические функции 13 PAGEREF _Toc102986630 \h 1421515-
13 LINK \l "_Toc102986631" 147.5.3. Функции работы со строками 13 PAGEREF _Toc102986631 \h 1421515
13 LINK \l "_Toc102986632" 148. Организация ввода данных 13 PAGEREF _Toc102986632 \h 1421515
13 LINK \l "_Toc102986633" 148.1. Функция InputBox() 13 PAGEREF _Toc102986633 \h 1421515-
13 LINK \l "_Toc102986634" 148.2. Ввод данных с помощью текстового поля 13 PAGEREF _Toc102986634 \h 1421515
13 LINK \l "_Toc102986635" 149. Организация вывода данных 13 PAGEREF _Toc102986635 \h 1421515
13 LINK \l "_Toc102986636" 149.1. Оператор MsgBox 13 PAGEREF _Toc102986636 \h 1421515-
13 LINK \l "_Toc102986637" 149.2. Функция MsgBox() 13 PAGEREF _Toc102986637 \h 1421515
13 LINK \l "_Toc102986638" 149.3. Метод PRINT 13 PAGEREF _Toc102986638 \h 1421515
13 LINK \l "_Toc102986639" 149.4. Вывод данных с помощью текстового поля 13 PAGEREF _Toc102986639 \h 1421515
13 LINK \l "_Toc102986640" 1410. Структурное программирование 13 PAGEREF _Toc102986640 \h 1421515-
13 LINK \l "_Toc102986641" 1410.1. Структура Следование 15-
13 LINK \l "_Toc102986642" 1410.2. Структура Развилка 13 PAGEREF _Toc102986642 \h 1421515
13 LINK \l "_Toc102986643" 1410.2.1. Классическая структура Развилка 13 PAGEREF _Toc102986643 \h 1421515-
13 LINK \l "_Toc102986644" 1410.2.2. Модифицированная структура Развилка 13 PAGEREF _Toc102986644 \h 1421515
13 LINK \l "_Toc102986645" 1410.2.3. Вложенная структура Развилка 13 PAGEREF _Toc102986645 \h 1421515
13 LINK \l "_Toc102986646" 1410.2.4. Функция IIF 13 PAGEREF _Toc102986646 \h 1421515
13 LINK \l "_Toc102986647" 1410.2.5. Оператор Select Case . End Select 13 PAGEREF _Toc102986647 \h 1421515
13 LINK \l "_Toc102986648" 1410.2.6. Оператор безусловного перехода 13 PAGEREF _Toc102986648 \h 1421515
13 LINK \l "_Toc102986649" 1410.3. Структура Цикл 13 PAGEREF _Toc102986649 \h 1421515
13 LINK \l "_Toc102986650" 1410.3.1. Цикл с предусловием 13 PAGEREF _Toc102986650 \h 1421515
13 LINK \l "_Toc102986651" 1410.3.2. Цикл с постусловием 13 PAGEREF _Toc102986651 \h 1421515
13 LINK \l "_Toc102986652" 1410.3.3. Структура Цикл в Цикле 13 PAGEREF _Toc102986652 \h 1421515
15

Учебное издание




Байдина Наталия Владимировна
Костянко Наталья Федоровна





ОСНОВЫ ЯЗЫКА ПРОГРАММИРОВАНИЯ
VISUAL BASIC


Учебное пособие

по дисциплине "Информатика"
для студентов заочной формы обучения всех специальностей



Публикуется в авторской правке







Компьютерная верстка Байдина Н.В.


Подписано в печать с оригинал-макета
Формат 60(84 1/16. Бумага для множ. апп. Печать офсетная.
Усл. печ. л. Уч.-изд. л. Тираж экз.

Петербургский государственный университет путей сообщения.
190031, СПб., Московский пр., 9.
Типография ПГУПС. 190031, СПб., Московский пр., 9.












13PAGE 145815


13PAGE 145915





1

Начало

s, b

5

Конец

3

h

4

h = ...

2


– ввод значений s и b с клавиатуры


– вычисление значения h


– вывод на форму значения h



13EMBED Unknown1415





да

В блоке 1 вычисляется значение логического выражения. В зависимости от значения логического выражения Р будет выбрана альтернатива: да – выполняются операторы блока 2; нет – выполняются операторы блока 3. Линии потока из блоков 2 и 3 обязательно должны сходиться в одной точке, называемой узлом слияния.


S1

P

S1

1

3

2

да



If x > 0 Then
y=1
Else
y=0
End If
или
If x>0 Then y=1 Else y=0



y = 0


y = 1

x > 0





нет

да



If x > 0 Then
y=1
End If
или
If x>0 Then y=1


y = 1

x > 0

нет



y = 0

да


If x > 0 Then
Else
y=0
End If
или
If x>0 Then Else y=0

x > 0

нет









нет

да

Начало

х

x
·= 0


y1 =cos x + sin2x


y2 = 0


y1 = tg (x2)

y2



y1, y2


Конец

1

2

3

4

5

7

6

8

9

да

да

нет

Условие1

Условие2

S1

S2

S3

нет

Входные данные: х ( вещественного типа

Выходные данные: y ( вещественного типа

да

да

нет

нет

Конец

Начало

х

x = 0

x > 0


y = cos x


y = 10


y = sin x

y


1

2

3

4

7

6

5

9

8

да

нет

Начало

x, b

a=b+1

x >a


y1=a +
·x
·



y2 = a3


y1 = arctg x


y1

Конец


x, a, y2

1


2


3


4


6


7


8


9


10


5


да

Начало

3
·x
· 7


Y=lg x


Y= e x


Y= x 1/3


Конец

x > 7

x


Y

Private Sub Form_Аctivate()
Dim x As Double, y As Double
x = InputBox("Введите значение X")
If x>=3 And x<=7 Then
Y = Log(x)/Log(10)
ElseIf x>7 Then
Y = Exp(x)
Else
Y =x^(1/3)
End If
MsgBox " Y равно " & Y
End Sub

Примечание. Работа программы начинается с активизации формы

1

2

4

3

6

5

7

8

9

да

Рис. 13

нет

x
· xк


x = x +
·х

Тело цикла

да

нет

Начало

х =a

х
· b


y = sin (x)


x, y


x =x+(/6

Конец

a, b

1

2

3

4

5

6

8

7

Рис. 14


x = x0

Рис. 16

нет


x = x +
·х


Тело цикла

x > xк

Private Sub Form_Activate()
Dim s As Double, g As Double
Cls ’ Очистка формы
CurrentY = 500
Print Tab(20), "Значение s", "Значение g"
Print Tab(20), "_______________________"
s = –1.2
Do
g = (1 + Exp(3 * s)) ^ (1 / 4)
Print Tab(20), Format(s, "0.0"), _
Format(g, "0.0000")
s = s + 0.2
Loop Until s > 1.2
End Sub






1


Начало

2


s = –1,2

3


g = 1+

4


s, g

5


s =s + 0,2

6

s > 1,2

нет

да

7

Конец

да

нет

да

x = 0

x ( 2

Начало

z = 1

x

y =

z
· 2

z = z + 0,5


z, y


Конец


x = x + 0,4

1

2

3

4

5

6

7

8

9

10

11

Private Sub Form_Activate()
Dim x As Double, y As Double, z As Double
Cls
For x = 0 To 2 Step 0.4
Print Spc(8);"x="; x
z = 1
Do
y = Sin(x) + Cos(z)
Print "z="; Format(z, "0.0"), "y="; Format(y, "0.00")
z = z + 0.5
Loop While z <= 2
Next
End Sub

















13 EMBED Word.Picture.8 1415

Рис. 12. Вид формы после выполнения проекта


x = x0



Root EntryEquation NativeEquation NativeEquation Native

Приложенные файлы

  • doc 26769262
    Размер файла: 1 MB Загрузок: 0

Добавить комментарий