«Программирование в среде Visual Basic»
Вид материала | Лабораторная работа |
- Тематическое планирование учебного времени раздела «Введение в программирование» (15, 68.18kb.
- Н. Г. Волчёнков программирование на visual basic 6 Учебное пособие, 128.99kb.
- Краткий курс по изучению языка программирования Visual Basic, 357.37kb.
- Даний курс призначений для тих, хто: ніколи не програмував, але хоче навчитися, 360.9kb.
- Тема урока: Массивы в Visual Basic, 35.5kb.
- Учебное пособие Рекомендовано учебно-методическим советом угаэс уфа-2006, 1339.31kb.
- Язык Visual Basic имеет разнообразные средства визуализации разрабатываемых приложений., 41.17kb.
- Опис модуля назва модуля: Visual Basic для додатків. Код модуля, 40.19kb.
- Myreferatik at ua, 109.55kb.
- Visual Basic Основы работы с базами данных, 1336.88kb.
Задание к лабораторной работе
Составить программу решения сложной функции (см. варианты задания, колонки "Функция" и "Условие") для различных значений аргумента при следующих условиях:
Вариант | Реализация разветвляющей структуры | Вывод результата |
Нечетные | оператор IF... блочный | в окно Отладки |
Четные | оператор Select... | в диалоговое окно |
(Результаты вывести отформатированными).
Лабораторная работа № 3
Тема "Программа циклической структуры"
Цель: приобретение навыков создания алгоритмов и программ циклической структуры и изучение необходимых для этого операторов и функций .
Теоретические сведения
Изучить:
Общий вид записи и назначение операторов:
- цикла с известным числом повторений (For...Next) ;
- для создания итерационных циклов (Do...Loop, While...Wend);
- вывода по заданному формату (функция Format),
- элементами формы: Флажок (CheckBox); Рамка (Frame),
- свойства MultiLine, ScrolBars, TablIndex (новые свойства приведены ниже в таблице, выделены жирным шрифтом).
Оператор цикла с известным числом повторений For...Next повторяет выполнение группы операторов указанное число раз:
For счетчик = начало To конец [Step шаг]
блок операторов
[Exit For]
[блок операторов]
Next [счетчик]
где счетчик - числовая переменная, используемая в качестве счетчика цикла;
начало - начальное значение переменной счетчик;
конец - конечное значение переменной счетчик;
шаг - значение, на которое изменяется счетчик при каждом выполнении тела цикла, если это значение не задано, по умолчанию шаг равен единице, может быть как положительным, так и отрицательным;
блок операторов - одтн или несколько операторов между For и Next, которые выполняются указанное число раз.
Оператор итерационный Do...Loop повторяет выполнение набора инструкций, пока условие имеет значение истина:
Do [{While | Until} условие]
блок операторов
[Exit Do]
[блок операторов]
Loop[{While | Until} условие]
где условие - числовое выражение или строковое выражение, которое имеет значение True или False, предворяется одним из ключевых слов While или Until;
блок операторов - один или несколько операторов, выполнение которых повторяется, пока условие имеет значение True или пока оно не приобретет значение True.
Альтернативный способ выхода из цикла предоставляет инструкции Exit For и Exit For. В любых местах цикла может размещаться любое число таких инструкций.
Пример:
Написать программу решения задачи лаб.№2 при изменении х в диапазоне [0;2] с шагом 0,2.
1.Ввод значений границ диапазона и шага реализовать с помощью функции ввода. Найти минимальное и максимальное значение функции. Результаты поместить в окно Immediat.
Используя конструкцию For...Next | Используя конструкцию Do...Loop |
Public Sub lab3() Dim x As Single, xn As Single, xk As Single, dx As Single Dim y As Single , min As Single, max As Single newline = Chr(13) 'ввод данных xn = Val(InputBox("Хначальное")) xk = Val(InputBox("Хконечное")) dx = Val(InputBox("шаг")) 'начальные значения мин и мах min = 10000: max = 0 'вывод заголовка таблицы Debug.Print " X " & " " & " Y " 'начало цикла For x = xn To xk Step dx Select Case x Case Is < -1 y = a * x Case -1 To 1 y = Abs(x) Case Else y = x b End Select 'нахождение мин и мах If min > y Then min = y If max < y Then max = y Debug.Print Format(x, " 0.0") & _ " " & Format(y, " #.##") Next 'вывод мин и мах Debug.Print "min=" + Str(min) + newline + "max=" + Str(max) End Sub | ‘ х = xn ‘ Do While x ≤ xk ‘ x = x + dx ‘ Loop |
2.Создать форму для решения вышеприведенной задачи. Результат табулирования вывести в многостроковое поле (TextBox). Предусмотреть возможность кроме вывода результатов нахождение и вывод в окно сообщения (функция MsgBox) минимального и максимального значений функции. Эту возможность задать с помощью флажков (CheckBox), размещенных в рамке (Frame).
Таблица элементов создаваемой формы и их свойств:
Элемент | Свойства | Описание | Значение |
Form1 | Name | | Form1 |
| Caption | | Лабораторная … |
Label1 | Name | | Lbl1 |
| Caption | | Левая граница |
Label2 | Name | | Lbl2 |
| Caption | | Правая граница |
Label3 | Name | | Lbl3 |
| Caption | | Шаг |
Label4 | Name | | Lbl4 |
| Caption | | Задайте границы диапазона Х |
TextBox1 | Name | | Txt1 |
| MultiLine | Поле содержит более одной строки | True |
| ScrollBars | Наличие в поле линий прокруток | 2 3 |
TextBox2 | Name | | Txt2 |
| Text | Значение левой границы | 0 |
| TablIndex | Порядок выбора объектов | 1 |
TextBox3 | Name | | Txt3 |
| Text | Значение правой границы | 2 |
| TablIndex | | 2 |
TextBox4 | Name | | Txt4 |
| Text | Значение шага | 0,2 |
| TablIndex | | 3 |
CommandButton1 | Name | | Cmd1 |
| Caption | | Вычислить |
CommandButton2 | Name | | Cmd2 |
| Caption | | Сброс |
CommandButton3 | Name | | Cmd3 |
| Caption | | Выход |
Frame | Name | | Frm1 |
| Caption | | Вывод: |
CheckBox1 | Name | | Chk1 |
| Value | Есть флажок | 1 |
| Caption | | Числа |
CheckBox2 | Name | | Chk2 |
| Value | Флажок серый | 2 |
| Caption | | Мин и мах |
Процедур нажатия кнопки Вывод (процедуры для кнопок Сброс и Выход см. Лаб.№3):
Private Sub Cmd1_Click()
Dim x As Single, y As Single
Dim min As Single, max As Single
Dim newline As String, space As String
newline = Chr(13) + Chr(10)
'начальные значения мин и мах
min = 1000: max =0
'вывод заголовка таблицы
Txt4.Text = " X " & " " & " Y " & newline
'начало цикла
x = Val(Txt1.Text)
Do While x <= Val(Txt2.Text)
Select Case x
Case Is < -1
y = a * x
Case -1 To 1
y = Abs(x)
Case Else
y = x b
End Select
'нахождение мин и мах
If min > y Then min = y
If max < y Then max = y
'Вывод значений X и Y на форму
If Chk1.Value = 1 Then
Txt4.Text = Txt4.Text & Format(x, " 0.0") & " " & Format(y, " 0.00") & newline
End If
'изменение Х
x = x + Val(Txt3.Text)
Loop
'вывод мин и мах в окно сообщения
If Chk2.Value = 1 Then
MsgBox "min=" & Format(min, "0.00") & newline & _
"max=" & Format(max, "#.##"), vbOKCancel + vbInformation, "Сообщение"
End If
End Sub