Решения задач математики с использованием программирования на языке Visual Basic
Цель: Освоение работы с макросами и знакомство с элементами языка Visual Basic.
Нахождение произведения двух чисел.
Dim a,b,c
Sub equation()
a=InputBox(“a”)
b=InputBox(“b”)
c=a*b
MsgBox ”c=”& c
End Sub
Решение квадратного уравнения.
1. Перейти на Лист 3. Через меню Сервис\Макрос\ Редактор Visual Basicперейти в режим ввода программы.
2. Ввести следующую программу нахождения корней квадратного уравнения.
Dim a, b, c, d, x1, x2 As Single
Sub equation()
ActiveWindow.DisplayGridlines = False
MsgBox "ax^2+bx+c=0", vbOKOnly, "решение квадратного уравнения"
a = InputBox("введите коэффициент a перед x^2")
b = InputBox("введите коэффициент b перед x")
c = InputBox("введите свободный член с")
d = b ^ 2 - 4 * a * c
If d < 0 Then
MsgBox "Извините, действительных корней нет"
Else
If d = 0 Then
x1 = -b / 2 / a
MsgBox "Уравнение имеет один корень, равный " & x1
Else
d = Sqr(d)
x1 = -b + d
x1 = x1 / 2 / a
x2 = -b - d
x2 = x2 / 2 / a
MsgBox "Первый корень уравнения равен " & x1
MsgBox "Второй корень уравнения равен " & x2
End If
End If
End Sub
3. Запустить программу и убедиться, что она работает.
4. Вернуться на Лист 3. Запустить программу с помощью команды Макрос меню Сервис. Создать в свободном месте рабочего листа кнопку для запуска программы. Создать кнопку для запуска программы на своей панели инструментов.
5. Изменить программу решения уравнения с учетом того, что коэффициенты a, b и с считываются из ячеек А1, В1, С1, а не вводятся по запросу. Для этого отредактировать следующие строки программы:
a = Sheets("Лист4").Range("A1")
b = Sheets("Лист4").Range("B1")
c = Sheets("Лист4").Range("C1")
6. Запустить программу.
7. Удалить свою панель инструментов и свои команды в операционном меню.
Лабораторное занятие 14
Работа с пакетом MATEMATICA. Арифметические действия. Преобразование выражений. Графики.
Цель: освоение приемов работы с пакетом MATEMATICA, в частности, выполнения простейших арифметических действий, разложения на множители, опрощения и возведения в степень многочленов, сумм, построения графиков функций одной переменной.
1. Запустите пакет Mathematica. Наберите: 2+2 и нажмите клавиши Shift + Enter (т.е. одновременно клавиши Shift и Enter).
В окне системы Вы увидите следующее:
In[1]:= 2 + 2
Out[1]= 4
2. Вычислите значение числа 210 , для этого наберите 2^10 и нажмете Shift + Enter, что даст
In[2]:= 2^10
Out[2]= 1024.
3. Значение 2100, Вы можете вычислить, установив двойным щелчком курсор ввода в строке
In [2]:= 2^10
и, добавив еще один 0, получить
In [2]:= 2^100.
После Shift + Enter Вы увидите
In[3]:= 2^100
Out[3]= 1267650600228229401496703205376
4. Арифметические действия в системе Mathematica изображаются, как и везде: +, -, *, ^, но вместо «*» можно набирать пробел « ». Однако вычисление 22/7 даст
In[4]:= 22/7
Out[4]= 22/7
5. Чтобы получить десятичную дробь можно, например, поставить точку после 22 или 7, вычислив
In[5]:= 22/7.
Out[5]= 3.14286
6. Другой способ в использовании функции N[ ], дающей приближенное численное значение аргумента, например так
In[6]:= N[22/7]
Out[6]= 3.14286
7. Система Mathematica позволяет с нужной точностью вычислять некоторые математические константы и использовать их. Например,
In[7]:= N[Pi]
Out[7]= 3.14159
Вы можете вычислить число p с 10 или 100 или 1000 значащими цифрами , набрав
N [Pi, 10] или N [Pi, 100] или N [Pi, 1000].
8. В системе Mathematica можно использовать многие общеупотребительные математические функции. Знак % означает, что функция берется от предыдущих значений.
In[8]:= Exp[3]
Out[8]= E3
In[9]:= N[%]
Out[9]= 20.0855
In[10]:= Log[%]
Out[10]= 3.
In[11]:= Log[E ]
Out[11]= 1
In[12]:= Log[10,100]
Out[12]= 2
In[13]:= Sin[Pi]
Out[13]=0
Алгебраические преобразования
1. Разложение на множители:
In[18]:= Expand [(a+b)^10]
Out[18]= a^10 + 10*a^9*b + 45*a^8*b^2 + 120*a^7*b^3 +
210*a^6*b^4 + 252*a^5*b^5 + 210*a^4*b^6 +
120*a^3*b^7 + 45*a^2*b^8 + 10*a*b^9 + b^10a
Ответ системы Mathematica Вы получили в записи с обычным обозначением возведения в степень. Здесь использована эквивалентная форма.
2. Упрощение многочленов: упростим предыдущий результат.
In[19]:=Simplify [%]
Out[19]= (a + b)10
Или упростим выражение
In[20]:= Simplify [a^3 - 3 * a^2 * b + 3 * a * b^2 - b^3]
Out[20]= (a - b)3
Подставим a= x, b = x2 в предыдущий результат.
In[21]:= %/.{a->x, b -> x^2}
Out[21]= (x-x^2)^3
3. Разложение на множители:
In[22]:= Factor[a^10 + b^10]
Out[22]= (a^2 + b^2)*(a^8 - a^6*b^2 + a^4*b^4 - a^2*b^6 + b^8
4. Для вычисления сумм в системе Mathematica имеется команда Sum:
In[ ]:=Sum[x^i/i,{i,1,11}]
Out[ ]=