Редактора Visual Basic Для записи текста программы необходимо создать модуль: Меню "Вставка" Модуль Модуль создается только один раз и в нем записываются все операторы Visual Basic. Любая программа
Вид материала | Программа |
- Урок Особенности среды " Microsoft Visual Basic", 184.03kb.
- Даний курс призначений для тих, хто: ніколи не програмував, але хоче навчитися, 360.9kb.
- Краткий курс по изучению языка программирования Visual Basic, 357.37kb.
- Запуск программы: Пуск Программы Visual Basic; для начала работы над новым проектом, 36.28kb.
- Язык Visual Basic имеет разнообразные средства визуализации разрабатываемых приложений., 41.17kb.
- Н. Г. Волчёнков программирование на visual basic 6 Учебное пособие, 128.99kb.
- Задачи: Изучить среду Visual Basic; Подобрать задачи исследовательского характера для, 635.44kb.
- Тема урока: Массивы в Visual Basic, 35.5kb.
- Visual Basic Основы работы с базами данных, 1336.88kb.
- Опис модуля назва модуля: Visual Basic для додатків. Код модуля, 40.19kb.
4. Методика выполнения задания
1) Заранее, до выполнения лабораторной работы, изучить возможности программирования для реализации:
- вычислительного процесса разветвляющейся структуры.
- Разработать алгоритм решения в соответствии с заданием.
- Составить программу решения задачи.
- Подготовить тесты (число тестов равно числу ветвей вычислительного процесса) для проверки правильности функционирования программы.
5. Пример выполнения работы
Составить блок-схему и программу вычисления транспортного налога (tn)
на грузовые автомобили, начисляемый по следующему алгоритму:
tn=V*0.01*10 грн если v <8200 см3
tn=V*0.01*15 грн если v от 8200 до15000 см3
tn=V*0.01*20 грн если v более 15000 см3
где v – объем двигателя.
Написать программу расчета транспортного налога
5.1. Алгоритм программы
Рис. 1
^
5.2. Программа, реализующая приведенный алгоритм:
Public Sub ТранспНалог() ' Заголовок программы(главной процедуры)
v = Val(InputBox("введите объем двигателя v")) ' Ввод величины v
^ Dim rez As String ' Объявление строковой переменной
'формирование результирующей строки
rez = " Объем двигателя v=" & Str(v) & " см3" & Chr(13)
' Для вывода на новую строку используется символ возврата каретки (Chr(13))
If v < 8200 Then
tn = 0.01 * v * 10
ElseIf v >= 8200 And v < 15000 Then
tn = 0.01 * v * 15
ElseIf v > 15000 Then
tn = 0.01 * v * 20
End If
'в результирующую строку записываем результат вычислений
rez = rez & " транспортный налог = " & Str(tn) & " грн" & Chr(13)
MsgBox rez 'вывод входных данных и результатов
End Sub
Рассмотрим алгоритм, приведенный на рис.1. Блоки 2, 4, 6 осуществляют проверку условия V меньше 8200, равно или больше 8200 но меньше 15000 и больше 15000.- в зависимости от результата сравнения направляют вычисления по одной из ветвей - 3,5 или 7. Блок 8 выводит на печать полученное значение транспортного налога tn совместно с введенными исходными данными.
Лабораторная работа №3
«Программирование алгоритмов циклической структуры»
(Циклы For … Next)
1. Цель работы -овладение практическими навыками разработки, программирования вычислительного процесса, циклической структуры, получение дальнейших навыков по отладке и тестированию программы.
2. Теоретические сведения
Работа выполняется на языке Visual Basic for Applications (VBA).
Редактор VBA встроен во все приложения Microsoft Office.
^
Вызов редактора Visual Basic
Загрузить программу электронных таблиц Microsoft Excel, для этого последовательно выбрать:
Меню "Пуск" – "Программы" – "Microsoft Excel" или совершить двойной щелчок по пиктограмме "Microsoft Excel".
После появления окна с таблицей одновременно нажать кнопки
"ALT" и "F11" Более подробные сведения о запуске VBA см. методические указания " Программирование алгоритмов циклической структуры"
Циклы представляют собой фрагмент программы, который повторяется либо заданное число раз, либо до тех пор, пока не будет удовлетворено некоторое условие.. Условие повторения цикла может находиться или в заголовке цикла или в конечном операторе цикла.
Для организации циклов с заданным числом повторений удобно использовать операторы цикла FOR NEXT. Строки программы между FOR и NEXT принято называть телом цикла. Циклы FОR используют переменную цикла, значение которой увеличивается или уменьшается при каждом выполнении цикла.
Формат оператора FOR:
FOR i = a1 TO a2 [ STEP a3 ],
где j – переменная цикла;
a1- начальное значение переменной цикла
a2- конечное значение переменной цикла
a3 - шаг изменения переменной цикла, если шаг не задан то переменная цикла увеличивается по умолчанию на1.
Операторы FOR и NEXT используются только совместно:
оператор FOR определяет начало цикла и проверку условия выхода из цикла, когда переменная цикла превысит свое значение, а оператор
NEXT – конец цикла.
Операторы в теле цикла будут повторяться до тех пор, пока переменная цикла, не станет больше конечного значения.
Для уменьшения значения счетчика используется отрицательное значение Step (-a3). В этом случае указывается конечное значение(a2), которое должно быть меньше начального значения (a1).
При выводе результатов расчета желательно увидеть исходные данные и результаты расчета в одном окне функции MsgBox Для этого формируется результирующая строка в которую переписывают исходные данные и результаты расчета, а также поясняющий текст, с использованием оператора конкатенации (&). Подробности см. в примере выполнения работы.
- Задание к работе
Написать программу вычисления значений (в соответствии с вариантом задания). Осуществить вывод значений вводимых исходных данных и результат вычисления значения, сопровождая вывод наименованиями переменных.
Выполнить программу на ЭВМ и протестировать алгоритм.
Таблица 1
Варианты задания
Вариант | Задание | |
1 | Табулировать функцию y=sin(2x)+x | 0 |
2 | Получить произведение чисел от 1 до 10 (факториал 10) | |
3 | Суммировать все четные числа от 210 до 230 | |
4 | Суммировать все нечетные числа от 210 до 230 | |
5 | Табулировать функцию y=sin(2x) | 0 |
6 | Табулировать функцию y=cos(2x) | 0 |
7 | Суммировать каждое третье число от 1 до 30 | шаг =3 |
8 | Найти сумму чисел от 115 до 124 | |
9 | Табулировать функцию y=Ln(x) | 1 |
10 | Табулировать функцию y=x+sin(x) | 0 |
11 | Табулировать функцию y=x-cos(x) | 0 |
12 | Табулировать функцию y=x*cos(x) | 0 |
13 | Суммировать каждое пятое число от 1 до 50 | шаг 5 |
14 | Получить произведение чисел от 2 до 11 | |
15 | Табулировать функцию y=x2*sin(x) | 0 |
16 | Табулировать функцию y=x2-x*sin(x) | 0 |
- ^ МЕТОДИКА ВЫПОЛНЕНИЯ ЗАДАНИЯ
1) Заранее, до выполнения лабораторной работы, изучить возможности программирования для реализации:
- вычислительного процесса циклической структуры.
- Разработать алгоритм решения в соответствии с заданием.
- Составить программу решения задачи.
- Подготовить тесты
- ^ ПРИМЕР ВЫПОЛНЕНИЯ РАБОТЫ
Протабулировать функцию y=x+sin(x) 0 <=x < 2 с шагом /4
результаты вывести в виде таблицы
Public Sub LR03() ' Заголовок программы (главной процедуры)
xn = Val(InputBox("начальное значение xn="))
xk = Val(InputBox("конечное значение xк="))
dx = Val(InputBox("шаг dx="))
^
Dim rez As String ' Объявление строковой переменной
'формирование результирующей строки
rez = " Xn= " & Str(xn) & " xk= " & Str(xk) & " dx=" & Str(dx) & Chr(13)
rez = rez & " x y" & Chr(13) ' формирование заголовка таблицы
For x = xn To xk Step dx ' Заголовок цикла
y = x + Sin(x)
rez = rez & Str(x) & " " & Str(y) & Chr(13)
Next x ' Конец цикла
If x - xk <> dx Then 'Вычисление функции в конце цикла
x = xk
y = x + Sin(x)
rez = rez & Str(x) & " " & Str(y) & Chr(13)
End If
MsgBox rez, , "Табулирование функции y=x+sin(x) 'вывод результатов"
^
End Sub
Схема алгоритма программы
Начало
Ввод xn;xk;dx
x=xn, ..xk,
y=x+sin(x)
Формирование Rez
x=x+dx
нет
x-xk <> dx
да
x=xk
y=x+sin(x)
Формирование Rez
вывод результатов
Конец
Лабораторная работа №4
«Программирование алгоритмов циклической структуры»
(Циклы Do … Loop)
1. Цель работы -овладение практическими навыками разработки, программирования вычислительного процесса, циклической структуры, получение дальнейших навыков по отладке и тестированию программы.
2. Теоретические сведения
Работа выполняется на языке Visual Basic for Applications (VBA).
Редактор VBA встроен во все приложения Microsoft Office.
8200>