
- •Основы алгоритмизации и программирования на языке высокого уровня visual basic 6.0
- •Оглавление
- •Первое знакомство с Visual Basic
- •Практические рекомендации по разработке и отладке программ
- •Основные понятия программирования Переменные
- •Имена переменных
- •Типы данных
- •Объявление переменной
- •Область действия переменных
- •Присвоение значения переменной
- •Стандартные функции
- •Программные модули
- •Процедуры
- •Лабораторная работа №1. Линейный алгоритм
- •Решение задач линейной структуры
- •Ввод данных через диалоговые окна
- •Inputbox(“комментарий к текстовому полю”, “заголовок окна”,”значение по умолчанию”)
- •Вывод результата через окно сообщений.
- •Ввод и вывод данных через текстовые поля.
- •Лабораторная работа №2. Разветвляющийся алгоритм и его реализация на языке Visual Basic 6.0
- •Лабораторная работа №3. Циклический алгоритм и его использование в решении задач
- •Цикл с параметром
- •Цикл с предусловием
- •Блок-схема
- •Лабораторная работа №4. Использование циклического алгоритма для итерационных процессов в решении задач
- •Блок-схема
- •Программный код кнопки «Запуск»
- •Лабораторная работа №5. Обработка массивов в среде Visual Basic 6.0
- •Блок-схема
- •Список литературы:
Лабораторная работа №2. Разветвляющийся алгоритм и его реализация на языке Visual Basic 6.0
1. Цель работы:
Отработка навыков создания блок-схем для реализации ветвления при решении задач. Операторы IF-THEN-ELSE, SELECT-CASE. Использование этих операторов для организации выбора.
2. Темы для предварительного изучения
Алгоритм ветвления назначение и применение. Типы ветвлений.
Объекты Visual Basic 6.0 и их свойства.
Стандартные функции, используемые в VB.
Этапы создания приложения в среде VB.
3. Разветвляющийся вычислительный процесс.
В программировании принято различать две формы ветвления - сокращенную (Рис.6,7) и полную (Рис. 8,9).
Сокращенная форма ветвления.
Блок-схема
Рис. 6 Сокращенная форма ветвления, ветвь которого содержит одно действие
Формат оператора ветвления:
If <Условие?> THEN <Действие>
Сокращенная форма ветвления, одна из ветвей которого содержит серию действий.
Блок-схема
Рис. 7 Сокращенная форма ветвления, ветвь которого содержит серию действий
Формат оператора ветвления:
IF <Условие?> THEN
<Действие 1>
<Действие 2>
End IF
Полная форма ветвления
Блок-схема
Рис. 8. Полная форма ветвления. Каждая ветвь содержит по одному действию
Формат оператора ветвления
If <Условие?> THEN <Действие 1>ELSE <Действие 2 >
Полная форма ветвления, каждая ветвь которого содержит серию действий
Блок-схема
Рис. 9. Полная форма ветвления. Каждая ветвь содержит серию действий
IF <Условие?> THEN
<Действие 1>
<Действие 2>
ELSE
<Действие 3>
<Действие 4>
End IF
Пример 1.
Создать программу, решения квадратного уравнения. Коэффициенты вводятся с клавиатуры.
Постановка задачи:
Дано: a,b,c коэффициенты уравнения, a0
Найти: корни уравнения X1,X2.
Математическая модель:
,
вспомогательная переменная для вычисления
дискриминанта
.
Разработаем блок-схему алгоритма решения этой задачи (Рис.11)
Создадим интерфейс пользователя по образцу (Рис.10):
Рис.10 Отображение на форме ряда индексированных текстовых полей
Создавая эту форму, целесообразно использовать прием копирования объекта Textbox, при это мы получим ряд индексированных текстовых полей: Text1(0), Text1(1) и Text1(2).
Для реализации проверки выполнения условия или нескольких условий используется оператор ветвления, имеющий следующий формат:
IF <условия>THEN <серия 1>[ELSE<серия 2>].
Условие – это математическое выражение, содержащее знаки отношений
= - равенство <= - меньше либо равно
<> - неравенство < - меньше
>= - больше либо равно > - больше.
Рис.11. Блок-схема алгоритма решения КВУР
Е
При нарушении последовательности выполнения операторов в программе используется оператор GoTo <метка>, где метка – это натуральное число, стоящее перед строкой, которой нужно передать управление.
В текстовое поле можно одновременно поместить комментарий и значение числовой переменной, если соединить их знаком &.
Программный код:
Dim a As Single, b As Single, c As Single, d As Single
Dim x1 As Single, x2 As Single
________________________________________________
Private Sub Command1_Click()
1 a = Val(InputBox("введи а", "ввод"))
b = Val(InputBox("введи b", "ввод"))
c = Val(InputBox("введи c", "ввод"))
If a = 0 Then
Text2 = "Это неквадратное уравнение"
GoTo1
End If
Text1(0) = str(a)
Text1(1) = str (b)
Text1(2) = str (c)
D = b ^ 2 - 4 * a * c
If D > 0 Then
x1 = (-b - Sqr(d)) / (2 * a)
x2 = (-b + Sqr(d)) / (2 * a)
Text2 = "x1=" & x1
Text2 = Text2 + "x2=" & x2
Else
If D = 0 Then
x = -b / (2 * a)
Text2 = "x=" & x
Else Text2 = "нет корней"
End If
End If
End Sub
Отладка программы.
Обязательна проверка всех ветвей алгоритма.
Контрольные примеры для отладки :
0, 4, 5 – это неквадратное уравнение
1, 5, 6 – х1=-3, х2=-2
1, 2, 1 – х=-1
1, 2, 3 – нет корней.
Второй вариант решения этой задачи с использованием оператора Select-Case.
Dim a As Single, b As Single, c As Single, d As Single
Dim x1 As Single, x2 As Single
________________________________________________
Private Sub Command1_Click()
1 a = Val(InputBox("введи а", "ввод"))
b = Val(InputBox("введи b", "ввод"))
c = Val(InputBox("введи c", "ввод"))
If a = 0 Then
Text2 = "Это неквадратное уравнение"
GoTo 1
End If
Text1(0) = str(a)
Text1(1) = str (b)
Text1(2) = str (c)
D = b ^ 2 - 4 * a * c
Select Case D
Case Is < 0
Text2 = "нет корней"
Case Is > 0
x1 = (-b - Sqr(d)) / (2 * a)
x2 = (-b + Sqr(d)) / (2 * a)
Text2 = "x1=" & x1
Text2 = Text2 + "x2=" & x2
Case Is = 0
x = -b / (2 * a)
Text2 = "x=" & x
End Select
End Sub
Пример 2
Создать графический редактор, позволяющий рисовать простейшие геометрические фигуры, выбирая их цвет.
Создадим форму следующего вида (Рис.12), используем новый элемент - рамка Frame, разместив на нем три переключателя OptionBox, и комбинированное окно списка ComboBox, графическое поле PictureBox.
Frame OptionBox CommandButton
Рис.12. Элемент управления Frame с набором переключателей
Для элемента ComboBox создадим список значений, для этого в свойстве List введем первое значение – красный, затем нажмем комбинацию клавиш <Ctrl>+<Enter> для перехода на следующую строку и введем остальные значения – синий, зеленый и жёлтый.
Для элементов OptionBox, размещенных внутри элемента Frame, изменим свойство Caption соответственно на Круг, Прямоугольник и Прямая.
Подписи кнопок «Нарисовать», «Очистить» и «Выход».
Для того чтобы при загрузке по умолчанию в поле списка цветов было выбрано, например, первое значение – красный (счет индексов в списке начинается с нуля), а переключатель в положении Круг в процедуре загрузки формы запишем
Private Sub Form_Load()
Combo1.ListIndex=0
Option1.Value=True
End Sub
Для определения системы координат на элементе PictureBox используется метод Scale. Пусть х[-5;5] и y[-4;4] тогда добавим в процедуру открытия формы команду
Picture1.Scale (-5,4)-(5,-4)
После нажатия на кнопку «Нарисовать» должна быть нарисована выбранная фигура, соответствующим цветом из списка.
Программный код её будет:
Private Sub Command1_Click()
Select Case Combo1.ListIndex
Case 0
Picture1.FillColor=vbRed
Case 1
Picture1.FillColor=vbBlue
Case 2
Picture1.FillColor=vbGreen
Case 3
Picture1.FillColor=vbYellow
EndSelect
If Option1=True Then Picture1.Circle(0,0), 3, Picture1.FillColor
If Option2=True Then Picture1.Line(-3,2)-(3,-2), Picture1.FillColor,B
If Option3=True Then Picture1.Line(-3,2)-(3,-2), Picture1.FillColor
End Sub
Для очистки формы при нажатии на кнопку «Очистить» процедура будет следующей:
Private Sub Command2_Click()
Picture1.cls
End Sub
Задание для самостоятельного выполнения.
Cоставьте блок-схему и напишите программный код для решения линейного уравнения ах = b.