Использование Visual Basic Application
Описание работы ЭВМ при выполнении программы по указанной блок-схеме и исходным данным. Составление линейной программы на языке Basic в виде подпрограммы-функции для вычисления заданной величины. Разработка в ЭТ Excel макроса для указанной функции.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 16.10.2011 |
Размер файла | 765,6 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Министерство образования Республики Беларусь
Учреждение образования
«Брестский государственный технический университет»
Кафедра информатики и прикладной математики
Контрольная работа №2
по дисциплине: «Информатика»
Брест 2009
Задание №1
Описать работу ЭВМ при выполнении программы по блок-схеме из раздела А при указанных в разделе Б исходных данных.
Как будет работать ЭВМ, если управление из блока 6 блок-схемы А передается не на блок 3, а на блок N?
Решение дифференциального уравнения y'= f(x,y) с начальным условием y(a)=y0.
f(x,y) = x+3y2, a = -1, y(a) = 0
Алгоритм выполнения расчетов представлен ниже:
1.1. Выполняя блок 1, машина «запросит» значения переменных a, b, h и y0. Если пользователь введет в ЭВМ числа -1, 3, 1 и 0, то в ячейки для переменных a, b h и y0 запишутся числа 2, 6, 1 соответственно. Затем управление будет передано на блок 2.
В ходе выполнения блока 2 производится инициализация первоначальных значений переменных x, y и порогового значения b1. В результате в ячейке x будет храниться значение -1, в ячейке y - 0, в ячейке b1 - 3.5.
Выполняя блок 3, ЭВМ должна вывести на экран значение переменных x, y. Далее управление должно быть передано на блок 4.
В блоке 4 производится расчет нового значения переменной y. В результате работы данного блока переменная y примет значение -1.Далее управлении передается в блок 5.
В блоке 5 производится расчет нового значения переменной x. В результате работы данного блока переменная x примет значение 0.Далее управлении передается в блок 6.
Блок 6 производит сравнение переменной x с переменной b1. Если значение переменной х меньше b1 - управление будет передано в блок 3. Иначе - будет выполнено завершение программы. В нашем случае значение 0 < 3.5, следовательно, управление будет передано в блок 3.
Таким образом программа будет выполняться по приведенному выше алгоритму до тех пор, пока значение переменной х не станет больше 3.5. При этом на экран монитора будут выведены следующие данные.
y |
x |
|
0 |
-1 |
|
-1 |
0 |
|
2 |
1 |
|
15 |
2 |
|
692 |
3 |
На следующем шаге переменная y примет значение 1437287, а переменная x - значение 4, в результате чего в блоке 6 управление будет передано на завершение программы.
1.2. В случае, когда в блоке 6 управление передается не на блок 3, а на блок 4 на каждой итерации цикла вычисления будут проводиться точно также, однако результата на экране монитора мы не увидим.Задание №2
Составить в среде VBA линейную программу на языке Basic в виде подпрограммы-функции для вычисления заданной величины s в соответствии с вариантом (раздел А), зависящей от величин p, q и r, заданных в разделе Б.
Вычислить в ЭТ Excel значение определенной функции, задав значения входным переменным.
N п/п |
р |
q |
r |
|
10 |
Выполнение задания
1) Назовем процедуру-функцию для вычисления заданной величины Vel_S.
2) Введем обозначение переменных:
б>a, в>b, г>g, x > x, y>y, p>p, q>q, r>r, s>s.
3) Функция для вычисления s может иметь вид:
Function Vel_S(a, b, g, x, y)
p = (x / y) * ((a ^ 2 * x + 3 * b ^ 2 - y) / (a * x ^ 2 + y))
q = ((3 * x * y ^ 3) / (x * y ^ 2 + 2 * y)) - (b * y)
r = (8.6 * a ^ 2 * b) / (b * x + g * (x + y ^ 2))
s = 2 * p * (q * r ^ 2 + 7.42) - (4.3 * r ^ 2 + 1) ^ (1 / 3) + q * (r - 3.24 * q ^2)
Vel_S = s
End Function
4) Исходные данные разместим в ячейках С3:С7. Для расчета величины s с использованием определенной процедуры-функции необходимо в ячейку B10 ввести формулу =Vel_S(C3;C4;C5;C6;C7)
В результате получим:
Задание №3
Составить в среде VBA линейную программу на языке Basic в виде подпрограммы-функции для вычисления заданной величины u в соответствии с вариантом (раздел А), зависящей от функций f1, f2 и f3, заданных в разделе Б.
Вычислить в ЭТ Excel значение определенной функции, задав значения входным переменным.
N п/п |
f1 |
f2 |
f3 |
|
10 |
Выполнение задания
Для поставленной задачи: входные параметры -- б, в, г, х и у; вычисляемые параметры -- p, q и r.
Составление в среде VBA программы на языке Basic:
1) Назовем процедуру-функцию для вычисления заданной величины Vel_U.
2) Введем обозначение переменных:
a>a, b>b, x>x, f1(x) > f1, f2(x) > f2, f3(x) > f3, u>u.
3) Функция для вычисления u может иметь вид:
Function Vel_U(a, b, x)
Pi = 4 * Atn(1)
f1 = 3 - 2 * (Cos((x + 7) / 3)) ^ 2
f2 = Tan((4 * Pi) / 5) + (2 * Exp(2 + x)) ^ (1 / 3)
f3 = Log(3 / (2 * x ^ 2 + 1))
buf1 = b * (f1 ^ 2) + Abs(7.05 - f2)
buf2 = Exp(f2 + (f3 ^ 2)) + 2
buf3 = a * (f1 + 2 * f3)
buf4 = Sqr(Abs(f2 + (f3 ^ 2)) + a ^ 2) + 2
buf5 = buf1 / buf2
abuf5 = Atn(buf5)
buf6 = buf3 / buf4
sbuf6 = Sin(buf6)
u = abuf5 + sbuf6
Vel_U = u
End Function
Исходные данные находятся в ячейках С3:С5. В ячейку B8 введем формулу =Vel_U(C3;C4;C5). В результате выполнения функции получим:
Задание №4
Составить в среде VBA разветвляющуюся программу на языке Basic в виде подпрограммы-функции для вычисления функции y(x) в соответствии с вариантом (раздел А), зависящей от функций, заданных в разделе Б.
Вычислить в ЭТ Excel значение определенной функции, задав значение переменной x.
N вар. |
|||||
10 |
Выполнение задания
Составление в среде VBA программы на языке Basic:
1) Назовем процедуру-функцию для вычисления заданной величины Fun_Y.
2) Введем обозначение переменных:
для входных параметров
б>a, x>x
для выпомогательной величины
buf>buf, f1>f1, f2>f2, z1>z1, z2>z2
для искомого значения функции y(x) > y
3) Функция для вычисления Y может иметь вид:
Function Fun_Y(x, a)
f1 = x ^ 4 - 3
f2 = 2 * x + 1
z1 = Log(3 + Abs(x - 1))
z2 = (Cos(x)) ^ 2
buf1 = a + f2
buf2 = Cos(f1)
If buf1 < buf2 Then
y = ((z1 - a) ^ (1 / 3) + f1) / (1 + Log(1 + f2 ^ 2))
Else
y = z2 * Sqr(a + (Atn(f1)) ^ 2)
End If
Fun_Y = y
End Function
В ячейки С3:С4 заносим исходные данные. В ячейку B7 введем формулу =Fun_Y(C4;C3). В результате получим:
Задание №5
программа макрос процедура функция
1. Составить в среде VBA программу на языке Basic в виде подпрограммы-процедуры для решения задачи, указанной в разделе А. Выполнить в ЭТ Excel макрос (процедуру) для функции y=f(x), указанной в разделе Б, при этом результаты вывести на рабочий лист.
2. В СКМ MathCad на отрезке [-2; 2] найти
а) все корни функции y=f(x) с помощью функции root();
б) все локальные экстремумы (максимумы и минимумы) функции y=f(x) с помощью функций Maximize() (Minimize()).
3. В ЭТ Excel выполнить задание пункта 2 с помощью надстройки Поиск решения, предварительно построив таблицу значений функции y=f(x) на отрезке [-2; 2] при количестве разбиений n=25.
Программа для приближенного решения дифференциального уравнения y'=f(x), y(a)=y0, по формуле Эйлера.
Описание действий по выполнению задания
1. Введем обозначение переменных nN, yY, sS.
2. Исходными данными в задаче являются значения переменных: a,b,n. вычисляемые: s.
3. Исходные данные считываем с активного листа Excel, туда же выводим результат вычислений.
4. Исходные данные располагаются в следующей таблице.
Текст программы-процедуры:
Sub Fun_S()
a = Range("C3").Value
b = Range("C4").Value
n = Range("C5").Value
y0 = Range("C6").Value
h = (b - a) / n
S = y0
For x = a To b Step h
f = h*((2*Cos(x+3))-((Log((3+2*x)^2+1))/((2-x)^2+5)))
S = S + f
Next x
Range("C9").Value = S
Range("C10").Value = h
End Sub
В результате получим:
Выполнение задания в СКМ MathCad:
В ЭТ Excel построим таблицу значений функции y=f(x) (протабулируем функцию). Для этого напишем программу-процедуру:
Sub Tab_S()
a = Range("C3").Value
b = Range("C4").Value
n = Range("C5").Value
h = (b - a) / n
rw = 10
For x = a To b Step h
f = h * ((2 * Cos(x + 3)) - ((Log((3 + 2 * x) ^ 2 + 1)) / ((2 - x) ^ 2 + 5)))
Cells(rw, 2).Value = x
Cells(rw, 3).Value = f
rw = rw + 1
Next x
End Sub
Результат выполнения Tab_S() представлен ниже.
Выберем отрезок, содержащий корень функции y=f(x) с помощью операций копирования и специальной вставки:
В ячейку С8 введем начальное значение, принадлежащее выбранному отрезку, в ячейку С9 - формулу для расчета функции y=f(x):
Уточним значение используя надстройку Поиск решения:
Аналогичным образом уточняем значения всех остальных корней:
Выберем отрезок, содержащий локальный максимум функции y=f(x).
В ячейку С9 введем значение, соответствующее середине выбранного отрезка, а в ячейку С10 - формулу для расчета значения функции:
Уточним значение локального максимума, используя надстройку Поиск решения:
Аналогичным образом уточняем второй локальный максимум:
Уточним значение локального минимума, используя надстройку Поиск решения. В ячейку С9 введем значение, соответствующее середине выбранного отрезка, а в ячейку С10 - формулу для расчета значении функции:
Аналогичным образом уточняем второй локальный минимум:
Литература
Гельман В.Я. Решение математических задач средствами Excel: Практикум. - СПб.: Питер, 2000.
Долженков В.А., Колесников Ю.В. Microsoft Excel 2000. СПб.:BHV-С-Петербург, 1999.
Ларсен Рональд У. Инженерные расчеты в Excel. - М.: Издательский дом «Вильямс», 2002.
Попов А.А. Excel: практическое руководство. - М. ДЕСС КОМ, 2000.
Размещено на Allbest.ru
Подобные документы
Составление блок-схемы алгоритма решения задачи, погрешности вычисления суммы членов числового ряда. Разработка программ на языке на Visual Basic, работа с массивами. Особенности работы со строковыми данными. Варианты реализации формы приложения.
контрольная работа [220,4 K], добавлен 18.06.2010Структура и основные операции коммерческого банка. Использование языка программирования Visual Basic for Application, математическая формулировка задачи. Разработка модуля программы расчёта кредитов и депозитов. Схема алгоритма выполнения программы.
курсовая работа [2,9 M], добавлен 09.04.2012Этапы подготовки и решения задач на компьютере. Способы предоставления алгоритмов. Простые типы данных и их обработка. Основы работы с графикой и графическими операторами в Visual Basic. Организация линейной программы. Процедуры и функции в языке Паскаль.
дипломная работа [1,9 M], добавлен 25.10.2015Решение экономических задач с помощью Microsoft Excel и инструментария Visual Basic For Application. Способы запуска редактора Visual Basic, правила его синтаксиса. Создание автоматических макросов по сортировке и выборке. Создание управляющих кнопок.
курсовая работа [852,0 K], добавлен 24.09.2010Visual Basic for Application. Объекты и коллекции. Использование VBA в среде Access. Основы современной технологии проектирования АИС. Автоматизированное проектированиеCASE-технологий. Реинжиниринг бизнес-процессов и проектирование корпоративной ИС.
курсовая работа [2,1 M], добавлен 22.02.2008Разработка программы "Виселица" с использованием программной среды Visual Basic и средств объектно-ориентированного программирования: программные требования, описание алгоритма, блок-схема программы и дополнительной процедуры. Листинг программы.
курсовая работа [188,2 K], добавлен 28.06.2009Рождение и развитие Basic. Краткое описание Visual Basic for Applications. Новые возможности Visual Basic 5.0. Пример взаимодействия Excel и Visual Basic. Программирование табличных функций. Встраивание, применение функций. Формы, средства управления OLE.
реферат [20,7 K], добавлен 11.03.2010Сущность основных понятий объектно-ориентированного программирования: объект, класс, полиморфизм. Блок-схема алгоритма и текст программы для вычисления площади круга, прямоугольника и трапеции. Принцип работы и результаты тестирования приложения.
курсовая работа [588,7 K], добавлен 17.07.2012Функции и основная роль коммерческого банка. Особенности кредитных и депозитных операций. Описание среды программирования и сущность Visual Basic for Applications (VBA). Схема алгоритма программы, процедура сохранения файла и выхода из программы.
курсовая работа [1,9 M], добавлен 04.04.2012Разработка программного продукта с помощью языка программирования Visual Basic. Описание интерфейса пользователя и возможностей программы. Исходный код основных модулей. Программа, демонстрирующая основные возможности диаграмм и среды Visual Basic.
контрольная работа [989,9 K], добавлен 29.03.2011