Решения задач математики с использованием программирования на языке 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[ ]= Решения задач математики с использованием программирования на языке Visual Basic - student2.ru

Наши рекомендации