Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Иллюстрация сочетания цикла и ветвления ..методом дихотомии (или методом касательных).

Бытовые примеры стека. | Вопрос 21. Графы. Алгоритм поиска достижимых вершин графа. | Вопрос 15. Процедуры.. |


Читайте также:
  1. A) проанализируйте модели образования слов, прочтите и переведите слова и словосочетания, созданные на их основе.
  2. I. ОБЩИЕ ПРАВИЛА, ПРИМЕНЯЕМЫЕ К МОТОЦИКЛАМ УЧАСТНИКОВ СОРЕВНОВАНИЯ.
  3. Quot;Правило четырех недель " и его связь с рыночными циклами
  4. VI-3 - VI-6. С иллюстрациями.
  5. Аденилатциклаза
  6. Аденилатциклаза катализирует реакцию
  7. Анализ рисков проекта методом сценариев

Решение нелинейного уравнения методом Ньютона.

Sub Newton(x0 As Double, x As Double, count (заголовок) As Integer)

count=0

start:

x=x0-f(x0)/f1(x0) ‘Расчётная формула метода Ньютона

count=count+1

Debug.Print count; x; x0 ‘Отладочная печать

If x=x0 Then Exit Sub ‘Выход из процедуры

x0=x:GoTo start

End Sub

Чтобы написать уравнение, нужно написать уравнение касательной к графику функции f(x) в точке x0, а затем искать точку пересечения с осью 0x.

Sub knopka()

Dim a As Double, b As Double, x As Double, i As Integer

a=0:b=1,5: i=1

For x=a to b step(b-a)/20 ‘Вычисление таблицы

i=i+1 со

cells(i,1)=x:cells(i,2)=f(x) значениями

next x

Call Newton (b,x,i) ‘вызов процедуры

Cells(2,3)=x:cells(2,4)=f(x):cells(2,5)=i

End Sub

При вызове функции происходит подстановка фактических параметров вместо формальных, указанных в заголовке процедуры (вместо x0). Сопоставление междуфактическими и формальными параметрами происходит не по именам (названиям) переменных, а по их порядковым номерам в списке параметров)

Переменная из Call сопоставляется с первой из названия Sub Newton т.е.

b-x0

x-x

i-count

Function f(x As Double) As Double

f=Cos(x)-x ‘Функция

End Function

Function f1(x As Double) As Double

f1=-Sin(x)-1 ‘Производная

End Function

 

9. Приближенное решение задачи Коши.. о движении камня, брошенного под углом к горизонту с учетом силы трения.

Sub Кнопка()

Dim v As Double, alpha As Double, m As Double

Dim a As Double, b As Double, c As Double, dt As Double

Dim t As Double, x As Double, y As Double

Dim vx As Double, vy As Double, ax As Double, ay As Double

Dim ftr As Double, s_alpha(для Sin) As Double, c_alpha(для Cos) As Double

Dim count As Integer

const g=9,81

const Pi=3,14159265358979

Range (“A4:H1000”).Clear Contents

v=cells(2,1)

alpha=cells(2,2)*Pi/180

a=cells(2,4):b=cells(2,5):c=cells(2,6)

m=cells(2,3)

dt=cells(2,7)

s+alpha=sin(alpha):c_alpha=cos(alpha)

t=0:count=0:x=0:y=0

vx=v*c_alpha:vy=v*s_alpha

povtor:

ftr=a*v^2+b*v+c ‘модуль силы сопротивления

ax=-sgn(vx)*ftr*c_alpha/m ‘Ускорение по Ox и Oy;

ay=-g-sgn(vy)*ftr*s_alpha/m sgn-знак

cells(4+count,1)=t

cells(4+count,2)=x

cells(4+count,3)=y

cells(4+count,4)=vx

cells(4+count,5)=vy

cells(4+count,6)=ax

cells(4+count,7)=ay

cells(4+count,8)=ftr

count=count+1

t=t+dt

cells(2,8)=t

vx=vx+ax*dt

vy=vy+ay*dt

v=sqr(vx^2+vy^2)

s_alpha=vy/v

c_alpha=vx/v

x=x+vx*dt

y=y+vy*dt

If y>0 then GoTo povtor

End Sub

 

10. Программирование вложенных циклов.
Вложенные циклы. Тело любого оператора цикла может содержать дру-

гие циклы. Такие конструкции называют вложенными циклами. Вложенные

циклы (цикл в цикле) применяют обычно в задачах, когда требуется связать или

сравнить каждый элемент одного множества с каждым элементом другого

множества.

Правила записи вложенных циклов:

1.при записи вложенных циклов используется правило матрешки, т.е. сначала закрывается цикл, который открылся последним, затем закрывается цикл, который открылся предпоследним и т.д.

2.для каждого значения параметра внешнего цикла, параметр внутреннего цикла изменяется от начального значения до конечного с заданным шагом.

3.в качестве параметра цикла для вложенных циклов нельзя использовать одну и ту же переменую,т.к.к изменение переменной внешнего цикла нарушится изменениями переменной внутреннего цикла.

4.Если циклы FOR/NEXT вложены в друг друга,то в качестве последнего оператора можно использовать один оператор NEXT.(если циклы заканчиваются одновременно).
Пример программы с вложенными циклами в VBA:

For i = 1 To 7

For j = 1 To 5

If i <= j Then

Cells(i, j) = 1

End If

Next j

Next i

Н-р,


Дата добавления: 2015-11-13; просмотров: 46 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Назначение и способы реализации на VBA циклов со счетчиком. Синтаксис оператора for..| Простейшие методы сортировки: пузырьковая, поиском максимального элемента.

mybiblioteka.su - 2015-2024 год. (0.007 сек.)