1. С расстояния d фотографируют поезд, движущийся со скоростью V. Определить для разных объективов время t экспозиции, за которое изображение сместилось бы не более чем S=0,01 мм. Фокусное расстояние объектива F.
Отладку программы выполнить для контрольного примера:
V = 72 км/ч; d =100 м; F =20 до 140 мм, с шагом 20
Входные данные: V, d, Fn, Fk, dF
Выходные данные: F, t
2. Математический анализ задачи
С расстояния d фотографируют поезд, движущийся со скоростью V. Определить для разных объективов время t экспозиции, за которое изображение сместилось бы не более чем S=0,01 мм. Фокусное расстояние объектива F.
3. Разработка схемы алгоритма.
Нет |
Да |
Начало |
V, d, Fn, Fk, dF |
F=Fn |
F≤Fk |
F, t |
F=F+dF |
Конец |
4. Программный код.
Private Sub Command1_Click()
Dim V As Single, d As Single, F As Single, Fn As Single, Fk As Single, dF As Single, t As Single, S As Single
S = InputBox("S=")
V = InputBox("V=")
d = InputBox("d=")
Fn = InputBox("Fn=")
Fk = InputBox("Fk=")
dF = InputBox("dF=")
For F = Fn To Fk Step dF
t = S * (d - F) / (F * V)
Print "F=" & F & " t=" & Format(t, "0.00000")
|
|
Next
End Sub
5. Вагон массой m1, движущийся по горизонтальному пути со скоростью V1, автоматически на ходу сцепляется с неподвижным вагоном массой m2. С какой скоростью движутся вагоны после сцепления?
Где v1 = 1,5 м/с; 10 £ m1 £ 40 т с шагом 10 т
10 £ m2 £ 40 т с шагом 10 т.
Входные данные: v1, m1n, m1k, dm1, m2n, m2k, dm2
Выходные данные: m1, m2, v
6. Математический анализ задачи.
Вагон массой m1, движущийся по горизонтальному пути со скоростью V1, автоматически на ходу сцепляется с неподвижным вагоном массой m2. С какой скоростью движутся вагоны после сцепления?
7. Разработка схемы алгоритма.
Нет |
Да |
Нет |
Да |
v1, m1n, m1k, dm1, m2n, m2k, dm2 |
m1=m1n |
m1≤m1k |
m2=m2n |
m2≤m2k |
m2=m2+dm2 |
m1=m1+dm1 |
m1, m2, v |
Конец |
8.Программный код.
Private Sub Command1_Click()
Dim v As Single, v1 As Single, m As Single, m1n As Single, m1k As Single, dm1 As Single, m2 As Single, m2n As Single, m2k As Single, dm2 As Single, m1 As Single
v1 = InputBox("v1=")
m1n = InputBox("m1n=")
m1k = InputBox("m1k=")
dm1 = InputBox("dm1")
m2n = InputBox("m2n=")
m2k = InputBox("m2k=")
dm2 = InputBox("dm2=")
For m1 = m1n To m1k Step dm1
For m2 = m2n To m2k Step dm2
v = m1 * v1 / (m1 + m2)
Print "m1=" & m1 & " m2=" & m2 & " v=" & Format(v, "0.000")
Next
Next
End Sub