Скачать презентацию Основы алгоритмизации и программирования Кожевников Александр Иванович ПГУПС Скачать презентацию Основы алгоритмизации и программирования Кожевников Александр Иванович ПГУПС

Основы алгоритмизации и программирования 5.ppt

  • Количество слайдов: 158

Основы алгоритмизации и программирования Кожевников Александр Иванович ПГУПС, каф. Ин. ИБ 1 18. 02. Основы алгоритмизации и программирования Кожевников Александр Иванович ПГУПС, каф. Ин. ИБ 1 18. 02. 2018

Этапы разработки информационных технологий 1. Постановка задачи l 2. Математическая модель задачи l l Этапы разработки информационных технологий 1. Постановка задачи l 2. Математическая модель задачи l l 3. Разработка алгоритма l 4. Разработка визуальной части проекта l 5. Код приложения l 6. Отладка программы ПГУПС, каф. Ин. ИБ 2 18. 02. 2018

1 этап. Постановка задачи l Включает словесное описание задачи, определение состава выходных и входных 1 этап. Постановка задачи l Включает словесное описание задачи, определение состава выходных и входных данных Например: Разработать информационную технологию, позволяющую вычислить длину окружности заданной радиусом Выходные данные: L – длина окружности Входные данные: π – константа R – радиус окружности. ПГУПС, каф. Ин. ИБ 3 18. 02. 2018

2 этап. Математическая модель задачи l Связывает математической или логической зависимостью входные и выходные 2 этап. Математическая модель задачи l Связывает математической или логической зависимостью входные и выходные данные. При необходимости выбирается метод решения. Для нашего примера: L=2πR ПГУПС, каф. Ин. ИБ 4 18. 02. 2018

3 этап. Разработка алгоритма l Алгоритм - последовательность арифметических и логических действий над входными 3 этап. Разработка алгоритма l Алгоритм - последовательность арифметических и логических действий над входными данными, однозначно приводящая к решению задачи. l Схема алгоритма - графическая интерпретация алгоритма с помощью специальных стандартных блоков. ПГУПС, каф. Ин. ИБ 5 18. 02. 2018

Стандартные блоки для отображения алгоритмов N b/2 N b a b=10, 20, 30 мм Стандартные блоки для отображения алгоритмов N b/2 N b a b=10, 20, 30 мм a=1, 5 b ПГУПС, каф. Ин. ИБ Начало и конец вычислительного процесса, вход-выход Процесс - для отображения операций по обработке данных (присваивание переменной значения, значения другой переменной или значения вычисленного выражения ) 6 18. 02. 2018

N Ручной ввод значений с клавиатуры N Дисплей – вывод данных на экран N N Ручной ввод значений с клавиатуры N Дисплей – вывод данных на экран N ПГУПС, каф. Ин. ИБ Ввод -вывод данных 7 18. 02. 2018

да N нет Решение – для записи логических выражений, имеет два выхода N Документ да N нет Решение – для записи логических выражений, имеет два выхода N Документ – вывод результатов на печать N Предопределенный процесс ПГУПС, каф. Ин. ИБ 8 18. 02. 2018

l Передача управления между блоками показывается линиями связи, причем при движении сверху вниз и l Передача управления между блоками показывается линиями связи, причем при движении сверху вниз и слева направо стрелки на линиях связи не ставятся, а в обратном направлении стрелки ставятся ПГУПС, каф. Ин. ИБ 9 18. 02. 2018

l Схема алгоритма для нашего примера 1 1 начало 2 R 3 π = l Схема алгоритма для нашего примера 1 1 начало 2 R 3 π = 3, 14 4 L = 2πR 5 6 ПГУПС, каф. Ин. ИБ R, L конец 10 18. 02. 2018

4 этап. Разработка визуальной части проекта Text 1 Label 1 Command 1 Label 2 4 этап. Разработка визуальной части проекта Text 1 Label 1 Command 1 Label 2 Text 2 ПГУПС, каф. Ин. ИБ 11 18. 02. 2018

l На форме размещены: - два текстовых поля Text 1, Text 2 для ввода l На форме размещены: - два текстовых поля Text 1, Text 2 для ввода значения радиуса и вывода результата; - две надписи Label 1, Label 2 для пояснений к текстовым полям; - одна командная кнопка Command 1 для выполнения вычислений Двойным щелчком по форме открывается окно редактора кода приложения. ПГУПС, каф. Ин. ИБ 12 18. 02. 2018

5 этап. Код приложения Private Sub Command 1_Click() Const pi As Single = 3. 5 этап. Код приложения Private Sub Command 1_Click() Const pi As Single = 3. 1415926 Dim R As Single, L As Single R = Val(Text 1. Text) L = 2 * pi * R Text 2. Text = Str(L) End Sub NB! Код приложения копируется в отчет через буфер обмена ПГУПС, каф. Ин. ИБ 13 18. 02. 2018

l Для создания итогового файла программы, который будет выполняться компьютером необходим специальный переводчик – l Для создания итогового файла программы, который будет выполняться компьютером необходим специальный переводчик – компилятор (транслятор, интерпретатор), который, в свою очередь, использует соответствующие текстовые редакторы, редакторы связей, библиотеки функций и т. д. ПГУПС, каф. Ин. ИБ 14 18. 02. 2018

l Различают языки программирования: - Низкого уровня – ассемблеры, легко переводимые в машинные коды; l Различают языки программирования: - Низкого уровня – ассемблеры, легко переводимые в машинные коды; - Высокого уровня (алгоритмические языки) они ближе и понятнее человеку, но требуют специальных программных, а иногда и аппаратных средств для перевода программы в машинный код. ПГУПС, каф. Ин. ИБ 15 18. 02. 2018

6 этап. Отладка проекта l l В отчете приводится форма с исходными данными и 6 этап. Отладка проекта l l В отчете приводится форма с исходными данными и результатами. Alt+Print Screen копирует в буфер обмена активное окно. ПГУПС, каф. Ин. ИБ 16 18. 02. 2018

СРЕДА ПРОГРАММИРОВАНИЯ VISUAL BASIC ПГУПС, каф. Ин. ИБ 17 18. 02. 2018 СРЕДА ПРОГРАММИРОВАНИЯ VISUAL BASIC ПГУПС, каф. Ин. ИБ 17 18. 02. 2018

При запуске системы VB l на экране отображается диалоговое окно New Projekt, в котором При запуске системы VB l на экране отображается диалоговое окно New Projekt, в котором можно выбрать один из нескольких типов шаблонов проектов. l Выбираем Standart Exe проект (по умолчанию). l На экране появляется рабочая поверхность IDE – Integrated Development Environment Интегрированной Среды Разработки. ПГУПС, каф. Ин. ИБ стандартный 18 18. 02. 2018

Интегрированная среда разработки -IDEl Большую сложность в программировании всегда представляли графические приложения, пользовательские интерфейсы Интегрированная среда разработки -IDEl Большую сложность в программировании всегда представляли графические приложения, пользовательские интерфейсы и т. п. l Описывать кнопки, пункты меню, списки, переключатели и т. п. вручную в соответствии с требованиями Windows очень трудоемко. l Автоматизация этого процесса в Visual Basic реализована в интегрированной среде разработки - I D E. ПГУПС, каф. Ин. ИБ 19 18. 02. 2018

l Необходимые элементы управления и оформления «перетаскиваются» в проектируемое окно. l Затем настраиваются их l Необходимые элементы управления и оформления «перетаскиваются» в проектируемое окно. l Затем настраиваются их свойства и поведение. l Программирование заменяется проектированием или визуальным программированием. ПГУПС, каф. Ин. ИБ 20 18. 02. 2018

Основные понятия IDE VB l ПРОЕКТ – Приложение, которое разрабатывает программист. Проект состоит из Основные понятия IDE VB l ПРОЕКТ – Приложение, которое разрабатывает программист. Проект состоит из формы и кода программы. l ФОРМА – Окно VB, которое служит для размещения объектов (кнопки, переключатели, окна ввода/вывода, надписи, полосы прокрутки и т. д. ) l ОБЪЕКТ – Элемент управления, т. е. то, что программист может разместить на форме. ПГУПС, каф. Ин. ИБ 21 18. 02. 2018

Объекты и Формы - Обладают свойствами, которые определяют их изображение, поведение и название. - Объекты и Формы - Обладают свойствами, которые определяют их изображение, поведение и название. - Каждый элемент управления должен откликаться на какое -либо событие. ПГУПС, каф. Ин. ИБ 22 18. 02. 2018

l КОД ПРОГРАММЫ – исходный текст процедуры, записанный на языке VB и выполняющий действия, l КОД ПРОГРАММЫ – исходный текст процедуры, записанный на языке VB и выполняющий действия, определенные соответствующими элементами управления. Следовательно: сначала надо сконструировать форму, расположить на ней соответствующие объекты, а затем записать для них код. ПГУПС, каф. Ин. ИБ 23 18. 02. 2018

Рабочая поверхность IDE или Поле ПГУПС, каф. Ин. ИБ окна Visual Basic 24 18. Рабочая поверхность IDE или Поле ПГУПС, каф. Ин. ИБ окна Visual Basic 24 18. 02. 2018

1. Основное окно Занимает весь экран и содержит: - строку заголовка с именем текущего 1. Основное окно Занимает весь экран и содержит: - строку заголовка с именем текущего проекта, текущий режим (Design – проектирование или Run - выполнение), кнопки управления размерами окна, - главное меню VB, - стандартную панель инструментов. l ПГУПС, каф. Ин. ИБ 25 18. 02. 2018

ПГУПС, каф. Ин. ИБ 26 18. 02. 2018 ПГУПС, каф. Ин. ИБ 26 18. 02. 2018

2. Окно формы - Form На нем отображается экранная форма будущей программы. l Сюда 2. Окно формы - Form На нем отображается экранная форма будущей программы. l Сюда пользователь помещает управляющие элементы на этапе визуального проектирования. l ПГУПС, каф. Ин. ИБ 27 18. 02. 2018

3. Окно кода - Code l Окно редактора кода содержит исходный текст разрабатываемой программы 3. Окно кода - Code l Окно редактора кода содержит исходный текст разрабатываемой программы ПГУПС, каф. Ин. ИБ 28 18. 02. 2018

4. Окно проекта - Project l Отображает все составные части текущего проекта и связи 4. Окно проекта - Project l Отображает все составные части текущего проекта и связи между ними. l Позволяет оперативно переключаться между окнами, относящимися к данному проекту с помощью кнопок: View Code – просмотр кода View Form - просмотр формы ПГУПС, каф. Ин. ИБ 29 18. 02. 2018

5. Окно свойств - Properties Содержит список свойств и их значения, относящиеся к выбранному 5. Окно свойств - Properties Содержит список свойств и их значения, относящиеся к выбранному объекту формы или к самой форме. l Две вкладки позволяют изменять порядок следования свойств. l Кнопкой в верхней части окна раскрывается список, в котором можно выбрать новый объект l ПГУПС, каф. Ин. ИБ 30 18. 02. 2018

6. Окно вида формы – Form Layout l Показывает как будет располагаться окно формы 6. Окно вида формы – Form Layout l Показывает как будет располагаться окно формы на экране монитора в период выполнения программы. ПГУПС, каф. Ин. ИБ 31 18. 02. 2018

7. Окно отладочной информации - Immediate l Позволяет при отладке программы отображать текущие значения 7. Окно отладочной информации - Immediate l Позволяет при отладке программы отображать текущие значения переменных и вводить операторы VB, подлежащие немедленному выполнению. ПГУПС, каф. Ин. ИБ 32 18. 02. 2018

8. Панель элементов управления - General Содержит стандартные элементы управления, т. е. объекты системы 8. Панель элементов управления - General Содержит стандартные элементы управления, т. е. объекты системы программирования, которые можно использовать для создания приложения. ПГУПС, каф. Ин. ИБ 33 18. 02. 2018

Каждый элемент управления характеризуется: 1. Свойствами (Properties) – определяют внешний вид и поведение объекта Каждый элемент управления характеризуется: 1. Свойствами (Properties) – определяют внешний вид и поведение объекта l 2. Методом (Metods) – это действие, которое может выполнить объект l 3. Событие (Events) –это действие, которое может выполнить пользователь над объектом. Панель ЭУ можно переместить, закрыть , открыть, но нельзя свернуть и изменить размеры. l ПГУПС, каф. Ин. ИБ 34 18. 02. 2018

Основные элементы управления l VB располагает встроенным набором управляющих элементов, которые называются стандартными. В Основные элементы управления l VB располагает встроенным набором управляющих элементов, которые называются стандартными. В окне коллекции инструментов они представлены группой General. l Управляющие элементы обладают свойствами, методами и событиями. ПГУПС, каф. Ин. ИБ 35 18. 02. 2018

Label – надпись (этикетка) l Используется для отображения на форме (вывода на форму) текста, Label – надпись (этикетка) l Используется для отображения на форме (вывода на форму) текста, заголовков, коментариев, названия объектов и др. ПГУПС, каф. Ин. ИБ 36 18. 02. 2018

Свойства: Alignment 0 - выравнивание текста по левому краю, 1 – по правому краю, Свойства: Alignment 0 - выравнивание текста по левому краю, 1 – по правому краю, 2 – по центру; l Auto. Size по умолчанию False, если изменить на True, то этикетка будет автоматически менять свои размеры, чтобы вмещать надпись; l Caption главное свойство этикетки, содержит текст надписи; l ПГУПС, каф. Ин. ИБ 37 18. 02. 2018

Свойства: Font шрифт, определяется его вид, атрибуты, начертание и т. п. l Fore. Color Свойства: Font шрифт, определяется его вид, атрибуты, начертание и т. п. l Fore. Color цвет переднего плана (цвет надписи) l Back. Color цвет заднего плана (фона) l Name имя элемента, по которому к нему обращаются в тексте программы l ПГУПС, каф. Ин. ИБ 38 18. 02. 2018

Command Button (командная кнопка) l l l ПГУПС, каф. Ин. ИБ На рабочей поверхности Command Button (командная кнопка) l l l ПГУПС, каф. Ин. ИБ На рабочей поверхности приложения кнопки играют ту же роль, что и кнопки в жизни. Нажатие на кнопку инициирует некоторое действие. Кнопка относится к независимым элементам. Ее можно помещать в любое место формы. Ее событием является щелчек – Click. Визуально отображается «нажатием» кнопки. 39 18. 02. 2018

Свойства кнопок: Name по умолчанию Command 1, Command 2, … l Caption определяет текст, Свойства кнопок: Name по умолчанию Command 1, Command 2, … l Caption определяет текст, который находится на кнопке «Пуск» , «Старт» , «Вычислим» l Default если этому свойству задать значение True, то имитировать нажатие кнопки можно клавишей . l ПГУПС, каф. Ин. ИБ 40 18. 02. 2018

Text. Box (Текстовое поле ввода) l l ПГУПС, каф. Ин. ИБ Обеспечивает возможность ввода Text. Box (Текстовое поле ввода) l l ПГУПС, каф. Ин. ИБ Обеспечивает возможность ввода текста пользователем. Текстовое поле может работать в режиме одной строки или в многострочном, как поле ввода пароля или в режиме «только ввод» . 41 18. 02. 2018

Свойства: Name По умолчанию Text 1, Text 2 и т. д. рекомендуется заменить стандартное Свойства: Name По умолчанию Text 1, Text 2 и т. д. рекомендуется заменить стандартное имя элемента на уникальное с соблюдением правила Text<имя объекта> - Text. Radius l Text Определяет текст, который первоначально отражается в текстовом поле. Его следует удалить. Поле содержит текст введенный пользователем или присвоенной ему программой. l ПГУПС, каф. Ин. ИБ 42 18. 02. 2018

Свойства: Alignment Выравнивание (по умолчанию 0 – по левому краю) l Multi. Line Если Свойства: Alignment Выравнивание (по умолчанию 0 – по левому краю) l Multi. Line Если True – текст может содержать более одной строки l Auto. Size Если True – ширина поля устанавливается автоматически (по умолчанию –False) l ПГУПС, каф. Ин. ИБ 43 18. 02. 2018

List. Box (окно списка) l l l ПГУПС, каф. Ин. ИБ Используется для вывода List. Box (окно списка) l l l ПГУПС, каф. Ин. ИБ Используется для вывода большого числа элементов списка. Мы будем использовать для вывода результатов циклических задач. Свойства: Name По умолчанию List 1, List 2 и т. д. 44 18. 02. 2018

Порядок создания проекта в Visual Basic ПГУПС, каф. Ин. ИБ 45 18. 02. 2018 Порядок создания проекта в Visual Basic ПГУПС, каф. Ин. ИБ 45 18. 02. 2018

1. Построение формы После запуска VB форма автоматически отображается на экране l Над этой 1. Построение формы После запуска VB форма автоматически отображается на экране l Над этой формой можно выполнить следующие действия: - переместить форму в удобное место; - подобрать размеры формы, передвигая её границы; - установить требуемые свойства формы. l ПГУПС, каф. Ин. ИБ 46 18. 02. 2018

2. Перенести с панели коллекции инструментов General элементы управления на форму Двойной щелчок мыши 2. Перенести с панели коллекции инструментов General элементы управления на форму Двойной щелчок мыши на соответствующем элементе управления помещает его в центре формы. l Далее можно изменить размеры этого элемента и переместить его в нужное место формы. l Щелчок вне границ элемента делает его не активным. l ПГУПС, каф. Ин. ИБ 47 18. 02. 2018

3. В окне «Свойства» задать требуемые свойства элемента ПГУПС, каф. Ин. ИБ 48 18. 3. В окне «Свойства» задать требуемые свойства элемента ПГУПС, каф. Ин. ИБ 48 18. 02. 2018

4. Записать код приложения в окне редактора кода. Для его открытия нужно дважды щелкнуть 4. Записать код приложения в окне редактора кода. Для его открытия нужно дважды щелкнуть на соответствующем элементе управления, расположенном на форме. l В появившемся окне две строки: Private Sub Command 1_Click() End Sub Command 1 - имя элемента управления, для которого создаётся процедура, Click – событие, которое обрабатывается процедурой l ПГУПС, каф. Ин. ИБ 49 18. 02. 2018

5. Сохранение проекта Выбрать команду «Файл Сохранить проект» . (File Save Project) l На 5. Сохранение проекта Выбрать команду «Файл Сохранить проект» . (File Save Project) l На экране появится диалоговое окно «Сохранить файл как » . (Save Project As) l Для того, чтобы сохранить весь проект нужно сохранить каждую форму как отдельный файл. К его имени автоматически добавляется расширение. frm l При сохранении проекта к его имени автоматически добавляется расширение. vbp l ПГУПС, каф. Ин. ИБ 50 18. 02. 2018

6. Выполнение проекта l Запуск программы на выполнение осуществляется одним из трех способов: - 6. Выполнение проекта l Запуск программы на выполнение осуществляется одним из трех способов: - из меню Run выбрать команду Start, - нажать клавишу F 5, - щелкнуть по пиктограмме ► на панели инструментов. ПГУПС, каф. Ин. ИБ 51 18. 02. 2018

l Форма отобразится в режиме выполнения. l При необходимости в текстовые поля вводятся входные l Форма отобразится в режиме выполнения. l При необходимости в текстовые поля вводятся входные данные и нажимается командная кнопка. l Команда End (меню Run) или пиктограмма ■ завершает выполнение программы. ПГУПС, каф. Ин. ИБ 52 18. 02. 2018

Основы языка Visual Basic ПГУПС, каф. Ин. ИБ 53 18. 02. 2018 Основы языка Visual Basic ПГУПС, каф. Ин. ИБ 53 18. 02. 2018

1. Типы данных l Это одно из фундаментальных свойств любого языка программирования. В VB 1. Типы данных l Это одно из фундаментальных свойств любого языка программирования. В VB определены все стандартные типы данных, но если переменная объявляется без указания типа, то ей присваивается тип Variant, который может играть роль нескольких наиболее употребительных типов (строка, дата, целое и др. ), но занимает много места >16 байт. ПГУПС, каф. Ин. ИБ 54 18. 02. 2018

Целые типы l Byte – байт 1 байт: 0 - 255 l Integer – Целые типы l Byte – байт 1 байт: 0 - 255 l Integer – целое 2 байта: -32768 - 32767 l Long – длинное 4 байта: -2³² - 2³² 2 147 483 648 – 2 147 483 647 ПГУПС, каф. Ин. ИБ 55 18. 02. 2018

Логический тип l Boolean – булевский 2 байта 0 – False - ложно 1 Логический тип l Boolean – булевский 2 байта 0 – False - ложно 1 – True - истинно ПГУПС, каф. Ин. ИБ 56 18. 02. 2018

Вещественный тип или с плавающей точкой l Single – одинарная точность 4 байта от Вещественный тип или с плавающей точкой l Single – одинарная точность 4 байта от -3, 4 Е 38 до +3, 4 Е 38 l Double ПГУПС, каф. Ин. ИБ – двойная точность 8 байт от -1, 797 Е 308 до +1, 797 Е 308 57 18. 02. 2018

Строковый тип l String – текстовые и строковые значения длиной от 1 до 65400 Строковый тип l String – текстовые и строковые значения длиной от 1 до 65400 символов Тип дата l Date – 8 байт от 01. 100 по 31. 12. 9999 ПГУПС, каф. Ин. ИБ 58 18. 02. 2018

2. Зарезервированные или ключевые слова l Это такие слова, которые могут применяться в языке 2. Зарезервированные или ключевые слова l Это такие слова, которые могут применяться в языке VB только в предусмотренном языком смысле и никак иначе. l Например: Integer, Single, If, For, True, … ПГУПС, каф. Ин. ИБ 59 18. 02. 2018

3. Константа l Область памяти, имеющая имя. l Получает своё значение на этапе разработки 3. Константа l Область памяти, имеющая имя. l Получает своё значение на этапе разработки программы и в процессе её выполнения значение константы изменить нельзя. l Константа д. б. объявлена: Const <имя константы>[As<имя типа>]= Значение Const Pi As Single = 3. 1416 ПГУПС, каф. Ин. ИБ 60 18. 02. 2018

4. Переменная Обдасть памяти, имеющая имя. l Получает своё значение на этапе выполнения программы 4. Переменная Обдасть памяти, имеющая имя. l Получает своё значение на этапе выполнения программы и сохраняет его пока ему не будет присвоено новое значение. l Переменную необходимо объявить, указав её имя и тип: Dim <Имя переменной>[As <Имя типа>] В одной строке м. б. объявлено несколько переменных: Dim x As Integer, b As Single, fi As Double l ПГУПС, каф. Ин. ИБ 61 18. 02. 2018

l В VB имя должно начинаться с буквы; l Имя не должно содержать точек l В VB имя должно начинаться с буквы; l Имя не должно содержать точек пробелов и символов - % & ! # @ $ ; l Имя должно быть уникальным, т. е. не должно совпадать с другими именами или с ключевыми словами; l Имя не должно содержать > 255 символов; l Нельзя присваивать переменной значения при её объявлении. ПГУПС, каф. Ин. ИБ 62 18. 02. 2018

5. Оператор присваивания l l <Имя переменной> = <Выражение> Символ < = > в 5. Оператор присваивания l l <Имя переменной> = <Выражение> Символ < = > в информатике понимается не как равенство а как процесс присвоения значения, полученного в результате вычисления выражения, записанного справа от знака < = > переменной записанной слева от этого знака. При этом прежнее значение переменной слева от знака присваивания замещается значением вычисленного выражения. Под выражением понимается другая переменная, функция, числовое или строковое значение или результат операций, разрешённых над этими типами данных ПГУПС, каф. Ин. ИБ 63 18. 02. 2018

Операции выполняются слева направо с учётом приоритетов и круглых скобок l Примеры: 1. int. Операции выполняются слева направо с учётом приоритетов и круглых скобок l Примеры: 1. int. A = 3 int. B = 4 int. C = int. A^2 + int. B^2 в результате int. C=25 2. str. A = «форма» str. C = «ин» + str. A + «тика» в результате str. C = «информатика» ПГУПС, каф. Ин. ИБ 64 18. 02. 2018

Математические операции: ^ возведение в степень - отрицание * умножение / деление 7 / Математические операции: ^ возведение в степень - отрицание * умножение / деление 7 / 2 = 3. 5 целочисленное деление 72=3 mod остаток от деления на целое 7 mod 2 = 1 + сложение - вычитание ПГУПС, каф. Ин. ИБ 65 18. 02. 2018

Запись арифметических выражений a -b a/-b ab a*b a+b cd (a + b) / Запись арифметических выражений a -b a/-b ab a*b a+b cd (a + b) / (c * d) или (a+b)/c/d ПГУПС, каф. Ин. ИБ 66 18. 02. 2018

6. Функции в языке VB Синтаксис: < Имя функции > ( Список аргументов) l 6. Функции в языке VB Синтаксис: < Имя функции > ( Список аргументов) l Аргументы заключаются в круглые скобки, в списке отделяются друг от друга запятыми. l Функция возвращает своё значение, если заданы значения её аргументов. l Функции м. б. математические, строковые, финансовые, даты и др. l ПГУПС, каф. Ин. ИБ 67 18. 02. 2018

Математические функции Sin(x) Tan(x) - tg(x) Sqr(x) - квадр. корень Log(x) - нат. логарифм Математические функции Sin(x) Tan(x) - tg(x) Sqr(x) - квадр. корень Log(x) - нат. логарифм Exp(x) - e x Atn(x) - arctg (x) Abs(x) - | x | Cos(x) ПГУПС, каф. Ин. ИБ 68 18. 02. 2018

Int(x) – наибольшее целое число, не превышающее «x» (без округления). Cint(x) – ближайшее к Int(x) – наибольшее целое число, не превышающее «x» (без округления). Cint(x) – ближайшее к «x» целое число (округл. ) Fix(x) – целое равное «х» без дробной части Rnd(x) – случайное число от 0 до 1 Sgn(x) – знак числа (сигнатура) - 1 – для отрицательного «х» +1 – для положительного «х» 0 – для нуля. ПГУПС, каф. Ин. ИБ 69 18. 02. 2018

Вспомним: Lg 10 x = Log (x) / Log (10) Радиан = Градус * Вспомним: Lg 10 x = Log (x) / Log (10) Радиан = Градус * Pi / 180 Градус = Радиан * 180 / Pi ПГУПС, каф. Ин. ИБ 70 18. 02. 2018

Организация ввода данных Функция ввода – Input. Box Служит для ввода данных через текстовое Организация ввода данных Функция ввода – Input. Box Служит для ввода данных через текстовое поле. l В качестве аргументов выступают три строки. l Значением функции также является строка. l Input. Box(<Приглашение>, <Заголовок>, [По умолчанию]) ПГУПС, каф. Ин. ИБ 71 18. 02. 2018

При выполнении этой функции появляется диалоговая панель с текстовым полем. l В строке заголовка При выполнении этой функции появляется диалоговая панель с текстовым полем. l В строке заголовка печатается значение второго аргумента. l На самой панели печатается значение аргумента < Приглашение >. l В текстовом поле печатается значение аргумента [<По умолчанию>]. Если этот аргумент отсутствует, то отсутствует и содержимое текстового окна, т. о. введенная пользователем в текстовом поле строка становится значением функции. l ПГУПС, каф. Ин. ИБ 72 18. 02. 2018

R=Input. Box( R=Input. Box("Введите R", "Структура следование") ПГУПС, каф. Ин. ИБ 73 18. 02. 2018

Ввод с помощью текстового поля Мы рассмотрели на примере вычисления длины окружности. l На Ввод с помощью текстового поля Мы рассмотрели на примере вычисления длины окружности. l На форме разместили текстовое поле, по умолчанию его свойство l Name → Text 1 l В тексте программы записали оператор R = Text 1 ПГУПС, каф. Ин. ИБ 74 18. 02. 2018

Организация вывода данных l. С помощью : - функции Msg. Box, - метода Print, Организация вывода данных l. С помощью : - функции Msg. Box, - метода Print, - текстового поля ПГУПС, каф. Ин. ИБ 75 18. 02. 2018

Msg. Box – панель сообщений в режиме оператора l используется для вывода данных на Msg. Box – панель сообщений в режиме оператора l используется для вывода данных на специальную панель сообщений Msg. Box<Сообщение>, [<Код 1>+<Код 2>], [Заголовок] Сообщение – текст, отображаемый в диалоговом окне, Код 1 – определяет вид пиктограммы, которая помещается на панель сообщений, Код 2 – определяет набор кнопок размещаемых на панели, Заголовок – печатается в строке заголовка панели. ПГУПС, каф. Ин. ИБ 76 18. 02. 2018

Msg. Box «Радиус R=» & R & «Длина окружности L=» & L, , «Следование» Msg. Box «Радиус R=» & R & «Длина окружности L=» & L, , «Следование» NB! Отсутствующий второй аргумент заменяется запятой После нажатия кнопки ОК выполнение программы продолжается. ПГУПС, каф. Ин. ИБ 77 18. 02. 2018

Msg. Box в режиме функции l Если аргументы записывать в скобках, то функция Msg. Msg. Box в режиме функции l Если аргументы записывать в скобках, то функция Msg. Box получает определенное значение, которое м. б. присвоено какой либо переменной. <Имя переменной> = Msg. Box(<Сообщение>, [<Код 1>+<Код 2>], [Заголовок]) l Внешний вид панели сообщений можно менять используя различные значения Код 1 и Код 2 ПГУПС, каф. Ин. ИБ 78 18. 02. 2018

 • С помощью одного числа, являющегося суммой Код 1+Код 2 можно одновременно устанавливать • С помощью одного числа, являющегося суммой Код 1+Код 2 можно одновременно устанавливать пиктограмму и комбинацию кнопок на панели сообщений Код 1 16 Код 2 Набор кнопок 0 ОК 1 Пиктограмма ? 2 48 ! 3 ОК, Отмена Стоп, Повтор, Пропустить Да, Нет, Отмена Да, Нет 64 i 4 5 Повтор, Отмена 32 ПГУПС, каф. Ин. ИБ 79 18. 02. 2018

Значения функции Msg. Box при различных нажатых кнопках: OK……………. . 1 Отмена…………………. . . Значения функции Msg. Box при различных нажатых кнопках: OK……………. . 1 Отмена…………………. . . 2 Стоп…………. . . 3 Повтор…………………. . . 4 Пропустить……………. . . 5 Да……………. . . 6 Нет……………. 7 ПГУПС, каф. Ин. ИБ 80 18. 02. 2018

Рассмотрим процедуру регистрации пользователя: Private Sub Command 1_Click() Dim byt. A As Byte byt. Рассмотрим процедуру регистрации пользователя: Private Sub Command 1_Click() Dim byt. A As Byte byt. A = Msg. Box(“Вы хотите зарегистрироваться ? ”, 36, “Вопрос”) Form 1. Print byt. A End Sub ПГУПС, каф. Ин. ИБ 81 18. 02. 2018

Функция Msg. Box выводит панель сообщений. Щелчок по кнопке определяет значение, которое будет присвоено Функция Msg. Box выводит панель сообщений. Щелчок по кнопке определяет значение, которое будет присвоено переменной – byt. A. Это значение печатается на форме Form 1. ПГУПС, каф. Ин. ИБ 82 18. 02. 2018

Функция Format (<Параметр> , “прототип”) Например: Format ( X , “##. ###” ) Значение Функция Format (<Параметр> , “прототип”) Например: Format ( X , “##. ###” ) Значение X будет печататься с двум цифрами в целой части и тремя цифрами в дробной части. Незначащие нули не печатаются. ПГУПС, каф. Ин. ИБ 83 18. 02. 2018

Оператор Print – выводит результаты на форму Если список выводимых значений разделяется ; - Оператор Print – выводит результаты на форму Если список выводимых значений разделяется ; - то значения печатаются через один пробел. l Если список выводимых значений разделяется , - то каждое следующее значение печатается через 14 символов. Изменить ширину зоны печати можно функцией Tab(число символов). l Функция Spc(число) печатает заданное число пробелов. l Функции Current. X = число и Current. Y = число указывают место на форме для печати. l ПГУПС, каф. Ин. ИБ 84 18. 02. 2018

NB ! l Каждый оператор Print печатается с новой строки, но если оператор Print NB ! l Каждый оператор Print печатается с новой строки, но если оператор Print заканчивается , (запятой) или ; (точкой с запятой), то следующий оператор Print будет печатать результаты в той же строке, в которой напечатал результаты предыдущий оператор Print последнего значения. l Если в визуальной части проекта создана только одна форма, то ее имя перед оператором Print можно не указывать: вместо Form 1. Print X можно писать Print X ПГУПС, каф. Ин. ИБ 85 18. 02. 2018

Вывод с помощью текстового поля См. пример вычисления длины окружности: - Разместить на форме Вывод с помощью текстового поля См. пример вычисления длины окружности: - Разместить на форме текстовое поле Text 2. text - В программе поместить оператор Text 2. text = Str(L) ПГУПС, каф. Ин. ИБ 86 18. 02. 2018

Функции преобразования типов данных l Функция Val – преобразование строкового значения в числовое. Часто Функции преобразования типов данных l Функция Val – преобразование строкового значения в числовое. Часто используется для преобразования строкового значения текстового поля или функции Input. Box в число, которое затем используется в арифметических операциях. l Функция Str – осуществляет обратное преобразование числа в строку и служит для вывода в текстовое поле или на панель сообщений функцией Msg. Box ПГУПС, каф. Ин. ИБ 87 18. 02. 2018

Рассмотрим пример вычисления гипотенузы прямоугольного треугольника по двум его катетам: Private Sub Command 1_Click() Рассмотрим пример вычисления гипотенузы прямоугольного треугольника по двум его катетам: Private Sub Command 1_Click() Dim str. A As String, str. B As String Dim dbl. A As Double, dbl. B As Double, dbl. C As Double str. A = Input. Box( «Первый катет: ", «Катет А") str. B = Input. Box( «Второй катет: ", «Катет В") dbl. A = Val(str. A) dbl. B = Val(str. B) dbl. C = Sqr(dbl. A ^ 2 + dbl. B ^ 2) Msg. Box " Гипотенуза равна: " & dbl. C End Sub ПГУПС, каф. Ин. ИБ 88 18. 02. 2018

ПГУПС, каф. Ин. ИБ 89 18. 02. 2018 ПГУПС, каф. Ин. ИБ 89 18. 02. 2018

Функции даты и времени l Функция Date – возвращает значение текущей даты, которое можно Функции даты и времени l Функция Date – возвращает значение текущей даты, которое можно присвоить переменной типа Date. # Месяц / Число / Год# Разностью значений переменных типа Date является число дней между датами. ПГУПС, каф. Ин. ИБ 90 18. 02. 2018

Программа печатает текущую дату и количество дней, прошедших с начала года: Private Sub Command Программа печатает текущую дату и количество дней, прошедших с начала года: Private Sub Command 1_Click() Dim dtm. A As Date, dtm. B As Date dtm. A = Date dtm. B = #1/1/2007# Print "Сегодня: ", dtm. A Print "С начала года прошло", dtm. A- dtm. B, "дней" End Sub ПГУПС, каф. Ин. ИБ 91 18. 02. 2018

В результате имеем на форме: ПГУПС, каф. Ин. ИБ 92 18. 02. 2018 В результате имеем на форме: ПГУПС, каф. Ин. ИБ 92 18. 02. 2018

l Функция Time– возвращает значение текущего времени, которое можно присвоить переменной типа String в l Функция Time– возвращает значение текущего времени, которое можно присвоить переменной типа String в виде: # Часы : Минуты : Секунды # Программа определяющая текущее время: Private Sub Command 1_Click() Dim str. A As String str. A = Time Print «Текущее время - ", str. A End Sub ПГУПС, каф. Ин. ИБ 93 18. 02. 2018

Каждая новая строчка печатается после нажатия кнопки Command 1 ПГУПС, каф. Ин. ИБ 94 Каждая новая строчка печатается после нажатия кнопки Command 1 ПГУПС, каф. Ин. ИБ 94 18. 02. 2018

7. Операции в VB l Математические операции – выполняются над числами и результатами этих 7. Операции в VB l Математические операции – выполняются над числами и результатами этих операций, также являющихся числами (рассмотрены выше). l Операции отношения – применяются не только к числам, а их результатом всегда является логическое (булево) значение, выражающее истинность некоторого отношения между данными (операндами) < , > , <= , >= , <>. Операция A > B может иметь значения: True – истинно или False – ложно. ПГУПС, каф. Ин. ИБ 95 18. 02. 2018

l Логические операции – выполняются над логическими значениями (или над выражениями, результатом которых являются l Логические операции – выполняются над логическими значениями (или над выражениями, результатом которых являются логические значения) и в результате получаются также логические значения: Not And Or Xor Eqv Imp – логическое Не - отрицание – логическое И - конъюнкция – логическое Или - дизъюнкция – исключающее Или когда истинно одно – эквивалентность – импликация ПГУПС, каф. Ин. ИБ 96 18. 02. 2018

A B Not A A And B A Or B A Xor B A A B Not A A And B A Or B A Xor B A Eqv B A Imp B T T F T T T F F F T T F T F F F T T ПГУПС, каф. Ин. ИБ 97 18. 02. 2018

8. Вычислительные процессы и структуры 1. 2. 3. Линейные – структура СЛЕДОВАНИЕ Разветвляющиеся – 8. Вычислительные процессы и структуры 1. 2. 3. Линейные – структура СЛЕДОВАНИЕ Разветвляющиеся – структура РАЗВИЛКА Циклические – структура ЦИКЛ Любой сколь угодно сложный алгоритм можно построить с помощью этих трех основных структур. l Описание этих структур на языке программирования называется структурным программированием ПГУПС, каф. Ин. ИБ 98 18. 02. 2018

9. Структура СЛЕДОВАНИЕ l Это основная структура, действия в которой выполняются последовательно друг за 9. Структура СЛЕДОВАНИЕ l Это основная структура, действия в которой выполняются последовательно друг за другом от первого до последнего. l Эта структура была рассмотрена на примере вычисления длины окружности. ПГУПС, каф. Ин. ИБ 99 18. 02. 2018

10. Структура РАЗВИЛКА ветвление по условию, условные операторы. l Под развилкой понимается структура, в 10. Структура РАЗВИЛКА ветвление по условию, условные операторы. l Под развилкой понимается структура, в которой некоторая часть вычислительного процесса исполняется или не исполняется в зависимости от выполнения (истинности) или не выполнения (ложности) определенного условия (логического выражения). ПГУПС, каф. Ин. ИБ 100 18. 02. 2018

Условный оператор - If … End If If <Логическое выражение> Then <оператор> Короткий If Условный оператор - If … End If If <Логическое выражение> Then <оператор> Короткий If управляет выполнением или невыполнением только одним оператором. При этом вся запись д. б. расположена в одной строке. X<0 Да Нет If X<0 Then X = Abs(X) X=|X| ПГУПС, каф. Ин. ИБ 101 18. 02. 2018

If <Логическое выражение> Then <Группа операторов> End If Полный If может управлять группой операторов, If <Логическое выражение> Then <Группа операторов> End If Полный If может управлять группой операторов, но при этом они должны заканчиваться строкой End If. ПГУПС, каф. Ин. ИБ 102 18. 02. 2018

12 < T <= 24 Да T = T - 12 P = “После 12 < T <= 24 Да T = T - 12 P = “После полудня” ПГУПС, каф. Ин. ИБ Нет If T>12 And T<=24 Then T = T - 12 P = “После полудня” End If 103 18. 02. 2018

Условный оператор If…Else…End If If <логическое выражение> Then <группа операторов 1> Else <группа операторов Условный оператор If…Else…End If If <логическое выражение> Then <группа операторов 1> Else <группа операторов 2> End If ПГУПС, каф. Ин. ИБ 104 18. 02. 2018

ПГУПС, каф. Ин. ИБ 105 18. 02. 2018 ПГУПС, каф. Ин. ИБ 105 18. 02. 2018

Условный оператор If…Else. If…End If If <логическое выражение 1> Then <группа операторов 1> Else. Условный оператор If…Else. If…End If If <логическое выражение 1> Then <группа операторов 1> Else. If <логическое выражение 2> Then <группа операторов 2>. . . Else <группа операторов> End If ПГУПС, каф. Ин. ИБ 106 18. 02. 2018

P 1 -1 t<0 t 1 Да P=-1 Нет 0<t<1 Да Нет P=1 ПГУПС, P 1 -1 t<0 t 1 Да P=-1 Нет 0 1 If t < 0 Then P=1 Else. If t >= 0 And t <= 1 Then P=0 Else P=1 End If 107 18. 02. 2018

Оператор Select Case. . . End Select Оператор используют когда вложенность структуры развилка превышает Оператор Select Case. . . End Select Оператор используют когда вложенность структуры развилка превышает три. l l Позволяет сделать выбор из произвольного числа вариантов. ПГУПС, каф. Ин. ИБ 108 18. 02. 2018

Select Case <выражение> Case <значение> <операторы> [Case <значение> <операторы>]. . . [Case Else <операторы>] Select Case <выражение> Case <значение> <операторы> [Case <значение> <операторы>]. . . [Case Else <операторы>] End Select ПГУПС, каф. Ин. ИБ 109 18. 02. 2018

Параметр <выражение> - любое числовое, строковое, логическое выражение или переменная. l В этом операторе Параметр <выражение> - любое числовое, строковое, логическое выражение или переменная. l В этом операторе выполняется сравнение значения <выражения> с каждой из величин заданных параметром <значение>. l Для блока Case можно указывать не только одно значение, но и несколько, разделенных запятой (например 2, 4, 6). l Можно определять также области сравнения ( 0 To 10) или воспользоваться относительным сравнением (Is >= 9, где Is – ключевое слово). l ПГУПС, каф. Ин. ИБ 110 18. 02. 2018

Очередной блок Case выполняется, если ни одно из предыдущих условий не является истинным. l Очередной блок Case выполняется, если ни одно из предыдущих условий не является истинным. l В операторе м. б. произвольное число блоков Case. Если ни одно из условий не является истинным , то выполняются <операторы> Case Else. l Оператор Select Case может использоваться для проверки принадлежности значения случайной величины некоторым заданным значениям. l ПГУПС, каф. Ин. ИБ 111 18. 02. 2018

Рассмотрим пример: 1. Постановка задачи. Разработать информационную технологию, позволяющую определить какую квартиру можно приобрести Рассмотрим пример: 1. Постановка задачи. Разработать информационную технологию, позволяющую определить какую квартиру можно приобрести за введенную сумму. Выходные данные: Входные данные: ПГУПС, каф. Ин. ИБ Сообщение о квартире. S – Сумма в тыс. $, стоимости квартир 112 18. 02. 2018

2. Математическая модель Представлена в постановке задачи. ПГУПС, каф. Ин. ИБ 113 18. 02. 2. Математическая модель Представлена в постановке задачи. ПГУПС, каф. Ин. ИБ 113 18. 02. 2018

Начало 3. Разработка алгоритма S S = 30 Да Комната Нет S=40, 50, 60 Начало 3. Разработка алгоритма S S = 30 Да Комната Нет S=40, 50, 60 Нет 60 100 Нет Увеличьте сумму ПГУПС, каф. Ин. ИБ Да Да Да Однокомнатная Двушка Трех и больше Конец 114 18. 02. 2018

4. Код приложения Private Sub Command 1_Click() Dim s As Integer Dim stroka As 4. Код приложения Private Sub Command 1_Click() Dim s As Integer Dim stroka As String Dim m As Label m: s = Input. Box("Введите сумму") Select Case s Case 30 stroka = " Комната " Case 40, 50, 60 stroka = " Однокомнатная " ПГУПС, каф. Ин. ИБ Case 70 To 100 stroka = " Двушка " Case Is > 100 stroka = " Трех и больше" Case Else Msg. Box " Увеличьте сумму" Go. To m End Select Msg. Box stroka End Sub 115 18. 02. 2018

Оператор безусловного перехода Прерывает естественный порядок выполнения операторов и передает управление оператору помеченному меткой. Оператор безусловного перехода Прерывает естественный порядок выполнения операторов и передает управление оператору помеченному меткой. Go To < Метка > Метка – буква, цифра или их совокупность. Отделяется от помечаемого оператора двоеточием. Количество меток не ограничивается, но их имена д. б. уникальными и объявленными. Dim < Метка > As Label ПГУПС, каф. Ин. ИБ 116 18. 02. 2018

Функция IIf IIF (логическое выражение, выражение 1, выражение 2) l если значение логического выражения Функция IIf IIF (логическое выражение, выражение 1, выражение 2) l если значение логического выражения истина – функция возвращает значение первого выражения, в противном случае - второго ПГУПС, каф. Ин. ИБ 117 18. 02. 2018

Рассмотрим пример: Найти max среди двух чисел a и b Начало a, b a>b Рассмотрим пример: Найти max среди двух чисел a и b Начало a, b a>b Да Нет Max = b Max Конец ПГУПС, каф. Ин. ИБ Max = a Private Sub Command 1_Click() Dim a As Integer, b As Integer Dim Max As Integer a = Input. Box (“Введите а ”) b = Input. Box (“Введите b”) Max = Iif (a > b, a, b) Print “Max = ” & Max End Sub 118 18. 02. 2018

Структура цикл, операторы циклов l Наиболее эффективно проявляются возможности компьютера при многократном выполнении одних Структура цикл, операторы циклов l Наиболее эффективно проявляются возможности компьютера при многократном выполнении одних и тех же действий с изменяющимися данными. Такой вычислительный процесс называется циклическим, а описывающая его структура – циклом. l ПГУПС, каф. Ин. ИБ 119 18. 02. 2018

l Будем использовать следующие термины и обозначения: - параметр цикла – X, начальное значение l Будем использовать следующие термины и обозначения: - параметр цикла – X, начальное значение параметра цикла – Xo, конечное значения параметра цикла – Xk, шаг изменения параметра цикла – d. X, условие выполнения цикла – X <= Xk, тело цикла – группа повторяющихся операторов. ПГУПС, каф. Ин. ИБ 120 18. 02. 2018

l Различают циклы с параметром и итерационные: - в циклах с параметром число его l Различают циклы с параметром и итерационные: - в циклах с параметром число его повторений (N)заранее известно и зависит от начального значения параметра цикла, его конечного значения и шага N = (Xk – Xo) / d. X + 1; - в итерационных циклах повторения заканчиваются когда достигается заданная точность вычислений (нахождение предела функции, корней уравнений и т. п. ). ПГУПС, каф. Ин. ИБ 121 18. 02. 2018

Циклы с параметром различают : циклы с предусловием, когда проверка на окончание цикла осуществляется Циклы с параметром различают : циклы с предусловием, когда проверка на окончание цикла осуществляется до повторяющихся действий (в этом случае тело цикла может не выполниться ни разу) и l циклы с постусловием, когда проверка на окончание цикла осуществляется после выполненных действий (в этом случае тело цикла выполнится хотя бы один раз). l ПГУПС, каф. Ин. ИБ 122 18. 02. 2018

Цикл с предусловием Организуется следующим образом: 1. Параметру цикла Х присваивается начальное значение Х Цикл с предусловием Организуется следующим образом: 1. Параметру цикла Х присваивается начальное значение Х 0. . 2. Проверяется условие выполнения цикла. 3. Если это условие истинно, то выполняется тело цикла, если ложно, осуществляется переход к оператору следующему за циклом. 4. Значение параметра цикла изменяется на величину шага и управление передается пункту 2. ПГУПС, каф. Ин. ИБ 123 18. 02. 2018

l Схема алгоритма: Х = Х 0 True Условие выполнения цикла Тело цикла Х l Схема алгоритма: Х = Х 0 True Условие выполнения цикла Тело цикла Х = Х + d. X False Цикл с предусловием реализуется в VB несколькими способами. ПГУПС, каф. Ин. ИБ 124 18. 02. 2018

Оператор For. . . Next (используется только для цикла с предусловием) For < Параметр Оператор For. . . Next (используется только для цикла с предусловием) For < Параметр цикла > = < Начальное значение > To < Конечное значение > [Step < Шаг >] < Тело цикла > Next [Параметр цикла] For X = X 0 To Xk Step d. X < Тело цикла > Next X ПГУПС, каф. Ин. ИБ 125 18. 02. 2018

l Параметр цикла может изменять свое значение в сторону уменьшения. Для этого его начальное l Параметр цикла может изменять свое значение в сторону уменьшения. Для этого его начальное значение задается больше конечного и шаг получает отрицательное значение. l Досрочный выход из цикла осуществляется оператором Exit For ПГУПС, каф. Ин. ИБ 126 18. 02. 2018

Цикл с постусловием Организуется следующим образом: 1. Задается начальное значение параметра цикла Х=Х 0. Цикл с постусловием Организуется следующим образом: 1. Задается начальное значение параметра цикла Х=Х 0. . 2. Выполняется тело цикла. 3. Значение параметра цикла изменяется на величину шага. 4. Проверяется условие продолжения цикла. 5. Если условие истинно, то вновь выполняется тело цикла (переход к пункту 2), если же условие ложно, то выполняется следующий после цикла оператор. ПГУПС, каф. Ин. ИБ 127 18. 02. 2018

Оператор Do While. . . Loop l C предусловием: l С постусловием: X = Оператор Do While. . . Loop l C предусловием: l С постусловием: X = X 0 Тело цикла Да X <=X 0 к X< X Тело цикла X=X+d. X Нет X = X 0 Do While X <= Xk < Тело цикла > X = X + d. X Loop ПГУПС, каф. Ин. ИБ X=X+d. X X<=XK Да X = X 0 Нет Do < Тело цикла > X = X + d. X Loop While X <= Xk 128 18. 02. 2018

Оператор Do Until. . . Loop l C предусловием: l X = X 0 Оператор Do Until. . . Loop l C предусловием: l X = X 0 Нет Тело цикла X > Xk < X 0 Да X = X 0 Do Until X > Xk < Тело цикла > X = X + d. X Loop ПГУПС, каф. Ин. ИБ С постусловием: Тело цикла X=X+d. X X > XK Нет X = X 0 Да Do < Тело цикла > X = X + d. X Loop Until X > Xk 129 18. 02. 2018

NB 1. 2. 3. 4. 5. При использовании операторов Do While и Do Until NB 1. 2. 3. 4. 5. При использовании операторов Do While и Do Until перед их записью следует присвоить параметру цикла начальное значение (чего не надо делать перед оператором For). После тела цикла должен стоять оператор изменяющий параметр цикла на величину шага. Цикл Do While выполняется пока логическое выражение остается истинным. Цикл Do Until выполняется пока логическое выражение не станет истинным. Для досрочного выхода из этих циклов используют команду Exit Do ПГУПС, каф. Ин. ИБ 130 18. 02. 2018

Пример 1. 1. Постановка задачи Вычислить значение функции y = Sin X при значениях Пример 1. 1. Постановка задачи Вычислить значение функции y = Sin X при значениях аргумента меняющегося От 0 до 1 с шагом 0, 1 Входные данные: Х 0, Xк, d. X Выходные данные: y ПГУПС, каф. Ин. ИБ 131 18. 02. 2018

2. Математическая модель y = Sin x для всех 0 < x < 1 2. Математическая модель y = Sin x для всех 0 < x < 1 с шагом 0, 1 3. Схема алгоритма Начало Xo, Xk, d. X X = Xo X < Xk Да Y = Sin X X, Y X = X + d. X Нет Конец ПГУПС, каф. Ин. ИБ 132 18. 02. 2018

4. Разработка визуальной части проекта List 1 List. Box – поле списка (см. Основные 4. Разработка визуальной части проекта List 1 List. Box – поле списка (см. Основные элементы управления панели General) ПГУПС, каф. Ин. ИБ 133 18. 02. 2018

5. Код приложения Private Sub Command 1_Click() Dim x 0 As Single, xk As 5. Код приложения Private Sub Command 1_Click() Dim x 0 As Single, xk As Single, dx As Single Dim y As Single x 0 = Input. Box("Введите x 0") xk = Input. Box(" Введите xk") dx = Input. Box(" Введите dx") List 1. Add. Item " X Y" For x = x 0 To xk + dx / 2 Step dx y = Sin(x) List 1. Add. Item Format(x, "0. 00") & " " & Format(y, "0. 0000") Next End Sub ПГУПС, каф. Ин. ИБ 134 18. 02. 2018

6. Отладка программы ПГУПС, каф. Ин. ИБ 135 18. 02. 2018 6. Отладка программы ПГУПС, каф. Ин. ИБ 135 18. 02. 2018

Начало Xo, Xk, d. X X = Xo Да X > Xk Нет Y Начало Xo, Xk, d. X X = Xo Да X > Xk Нет Y = Sin X X, Y X = X + d. X Конец ПГУПС, каф. Ин. ИБ l Эту же задачу можно реализовать с помощью оператора Do Until …Loop (с предусловием). . . X = X 0 Do until X > Xk Y = Sin (X) List 1. Add. Item … X = X + d. X Loop. . . 136 18. 02. 2018

Начало l или с помощью оператора Do While …Loop (с предусловием) Xo, Xk, d. Начало l или с помощью оператора Do While …Loop (с предусловием) Xo, Xk, d. X X = Xo Нет X <=Xk X > Xk Да Y = Sin X X, Y X = X + d. X Конец ПГУПС, каф. Ин. ИБ . . . X = X 0 Do While X <= Xk+d. X/2 Y = Sin (X) List 1. Add. Item … X = X + d. X Loop. . . 137 18. 02. 2018

l Начало А теперь с помощью оператора Do …Loop Until (с постусловием) Xo, Xk, l Начало А теперь с помощью оператора Do …Loop Until (с постусловием) Xo, Xk, d. X . . . X = Xo Y = Sin X X, Y X = X + d. X X > Xk Нет Да X = X 0 Do Y = Sin (X) List 1. Add. Item … X = X + d. X Loop until X > Xk. . . Конец ПГУПС, каф. Ин. ИБ 138 18. 02. 2018

или с помощью оператора Do …Loop While (с постусловием) l Начало Xo, Xk, d. или с помощью оператора Do …Loop While (с постусловием) l Начало Xo, Xk, d. X X = Xo Y = Sin X X, Y X = X + d. X Да X <= Xk . . . X = X 0 Do Y = Sin (X) List 1. Add. Item … X = X + d. X Loop while X <= Xk+d. X/2. . . Нет Конец ПГУПС, каф. Ин. ИБ 139 18. 02. 2018

Пример 2. Вычислить значения функции y = sin x, где значения аргумента заданы последовательностью Пример 2. Вычислить значения функции y = sin x, где значения аргумента заданы последовательностью из десяти случайных чисел не отличающихся постоянным шагом (0, 0. 16, 0. 21, 0. 34 и т. д. ). Выходные данные: X, Y Входные данные: X ПГУПС, каф. Ин. ИБ 140 18. 02. 2018

Схема алгоритма Начало I=1 Да I <= 10 X Y = Sin ( X Схема алгоритма Начало I=1 Да I <= 10 X Y = Sin ( X ) X, Y I=I+1 Нет Конец ПГУПС, каф. Ин. ИБ 141 18. 02. 2018

Код процедуры Private Sub Command 1_Click() Dim I As Integer, X As Single, Y Код процедуры Private Sub Command 1_Click() Dim I As Integer, X As Single, Y As Single For I = 1 To 10 X = Input. Box ( “Введите значение X”) Y = Sin ( X ) Print “X=” & Format(X, ” 0. 00”) & “ Y=” & Format(Y, ” 0. 00”) Next I End Sub ПГУПС, каф. Ин. ИБ 142 18. 02. 2018

Структура Цикл в цикле - это структура с одним или несколькими вложенными циклами. Рассмотрим Структура Цикл в цикле - это структура с одним или несколькими вложенными циклами. Рассмотрим пример: Z = Sin X + Cos Y , где Xo <= Xk с шагом d. X Yo <= Yk с шагом d. Y ПГУПС, каф. Ин. ИБ 143 18. 02. 2018

Введем следующие понятия и обозначения: X – параметр внешнего цикла, Y – параметр внутреннего Введем следующие понятия и обозначения: X – параметр внешнего цикла, Y – параметр внутреннего цикла, Xo – нач. значение параметра внешнего цикла, Yo – нач. знач. параметра внутреннего цикла, Xk – кон. значение параметра внешнего цикла, Yk – кон. знач. параметра внутреннего цикла, d. X – шаг изменения параметра внешнего цикла, d. Y – шаг изменения параметра внутреннего цикла. ПГУПС, каф. Ин. ИБ 144 18. 02. 2018

Схема алгоритма структуры цикл в цикле с предусловием Эта часть алгоритма Начало Xo, Xk, Схема алгоритма структуры цикл в цикле с предусловием Эта часть алгоритма Начало Xo, Xk, d. X Yo, Yk, d. Y описывается одинаково для всех примеров см. след слайд X = Xo X <= Xk Да Y = Yo Нет Да Конец Y <= Yk Z=Sin. X+Cos. Y X, Y, Z Y = Y+d. Y Нет X = X+d. X ПГУПС, каф. Ин. ИБ 145 18. 02. 2018

Private Sub Command 1_Click() Dim X 0 As Single, Xk As Single, d. X Private Sub Command 1_Click() Dim X 0 As Single, Xk As Single, d. X As Single Dim Y 0 As Single, Yk As Single, d. Y As Single Dim Z As Single X 0 = Input. Box (“Введите начальное значение X”) Xk = Input. Box (“Введите конечное значение X”) d. X = Input. Box (“Введите шаг изменения X”) Y 0 = Input. Box (“Введите начальное значение Y”) Yk = Input. Box (“Введите конечное значение Y”) d. Y = Input. Box (“Введите шаг изменения Y”). . . ПГУПС, каф. Ин. ИБ 146 18. 02. 2018

Начало Xo, Xk, d. X Yo, Yk, d. Y X Схема алгоритма структуры цикл Начало Xo, Xk, d. X Yo, Yk, d. Y X Схема алгоритма структуры цикл в цикле с предусловием X = Xo X <= Xk Конец Y = Yo Y <= Yk Z=Sin. X+Cos. Y Х, Y, Z Y = Y+d. Y X = X+d. X ПГУПС, каф. Ин. ИБ 147 18. 02. 2018

Фрагменты кода процедуры. . . X = X 0 Do While X <= Xk Фрагменты кода процедуры. . . X = X 0 Do While X <= Xk Print X Y = Y 0 Do While Y <= Yk Z = Sin ( X ) + Cos ( Y ) Print Y, Z Y = Y + d. Y Loop X = X + d. X Loop End Sub ПГУПС, каф. Ин. ИБ . . . For X=X 0 To Xk Step d. X Print X For Y=Y 0 To Yk Step d. Y Z = Sin ( X ) + Cos ( Y ) Print Y, Z Next Y Next X End Sub 148 18. 02. 2018

Начало Схема структуры цикл в цикле с постусловием Xo, Xk, d. X Yo, Yk, Начало Схема структуры цикл в цикле с постусловием Xo, Xk, d. X Yo, Yk, d. Y X = Xo X Y = Yo Z=Sin. X+Cos. Y Y, Z Y = Y + d. Y Нет Y<=Yk Да X = X + d. X Нет ПГУПС, каф. Ин. ИБ X <= Xk Конец На следующем слайде представлен фрагмент кода процедуры этой части алгоритма Да 149 18. 02. 2018

. . . Фрагмент кода процедуры X = Xo без описаний переменных Do и . . . Фрагмент кода процедуры X = Xo без описаний переменных Do и ввода значений входных Print “X=” & X переменных Y = Yo Do Z = Sin ( x ) + Cos ( Y ) Print “Y = ” & Y & “ Z = ” & Z Y = Y + d. Y Loop While Y <= Yk X = X + d. X Loop While X <= Xk End Sub ПГУПС, каф. Ин. ИБ 150 18. 02. 2018

Итерационные циклы Особенности таких циклов заключаются в том, что заранее неизвестно количество повторений цикла Итерационные циклы Особенности таких циклов заключаются в том, что заранее неизвестно количество повторений цикла и вычислительный процесс заканчивается когда будет достигнута заданная точность вычислений. l Точность вычислений определяется абсолютным значением разности между предыдущим и последующим значением параметра цикла. l ПГУПС, каф. Ин. ИБ 151 18. 02. 2018

ПГУПС, каф. Ин. ИБ 152 18. 02. 2018 ПГУПС, каф. Ин. ИБ 152 18. 02. 2018

ПГУПС, каф. Ин. ИБ 153 18. 02. 2018 ПГУПС, каф. Ин. ИБ 153 18. 02. 2018

ПГУПС, каф. Ин. ИБ 154 18. 02. 2018 ПГУПС, каф. Ин. ИБ 154 18. 02. 2018

Схема алгоритма Начало Xo, ε X=Сos Xo |Xo-X|<=ε да X нет Xo=X X=Сos Xo Схема алгоритма Начало Xo, ε X=Сos Xo |Xo-X|<=ε да X нет Xo=X X=Сos Xo ПГУПС, каф. Ин. ИБ Конец Код приложения Private Sub Command 1_Click() Dim X As Single, X 0 As Single, eps As Single X 0=Input. Box(“Введите нач. знач. корня: ”) Eps=Input. Box(“Введите точность вычисл. ”) X=Cos(X 0) Do Until Abs(X-X 0)<= eps X 0=X X=Cos(X 0) Loop Msg. Box “Значение корня: ” & Format(X, “ 0. 000”) End Sub 155 18. 02. 2018

Этот процесс можно записать в виде бесконечного цикла: Do X 0=X X=Cos(X 0) If Этот процесс можно записать в виде бесконечного цикла: Do X 0=X X=Cos(X 0) If Abs(X 0 -X) <= Eps Then Exit Do ПГУПС, каф. Ин. ИБ 156 18. 02. 2018

Можно организовать этот цикл и с оператором For. Для этого необходимо задать счетчик циклов Можно организовать этот цикл и с оператором For. Для этого необходимо задать счетчик циклов с большим ограничением и предусмотреть в нем досрочный выход при достижении заданной точности: For i=1 To 10000 X 0=X X=Cos(X 0) If Abs(X 0 -X)<=Eps Then Exit For Next ПГУПС, каф. Ин. ИБ 157 18. 02. 2018

Преимуществом этой конструкции является возможность напечатать количество итераций, которое потребовалось для достижения заданной точности Преимуществом этой конструкции является возможность напечатать количество итераций, которое потребовалось для достижения заданной точности – это значение i после выхода из цикла. ПГУПС, каф. Ин. ИБ 158 18. 02. 2018