Структура цикл / 30
.docxЗадание 1
1. Постановка задачи
1. Груз массой m поднимается лебедкой с ускорением a. Найти работу, произведенную за первые t секунд от начала подъема:
Для отладки программы принять: m = 3 т, a = 2 м/с2, 1 ≤ t ≤ 2 с шагом 0,1 с.
Входные данные:
t1 – начальное значение цикла, переменная вещественного типа,
tk – конечное значение цикла, переменная вещественного типа,
dt – шаг значений цикла, переменная вещественного типа,
m – масса груза, переменная вещественного типа,
a – ускорение, переменная вещественного типа.
Выходные данные:
Ax – работа, переменная вещественного типа
2. Математическая модель задачи
где
3. Разработка алгоритма
4. Разработка визуальной части проекта
5. Код приложения
Private Sub Command1_Click()
Dim t As Single, t1 As Single, tk As Single, dt As Single, m As Single, a As Single, Ax As Single
Const g As Single = 9.81
t1 = InputBox("t1=")
tk = InputBox("tk=")
dt = InputBox("dt=")
m = InputBox("m=")
a = InputBox("a=")
For t = t1 To tk Step dt
Ax = m * (g + a) * a * t ^ 2 / 2
List1.AddItem ("A = " & Format(Ax, "0.00") & " t = " & Format(t, "0.0"))
Next
End Sub
6. Отладка программы
Ручной счёт: t = 1; A = 35,4 t = 1,5; A = 79,7
Задание 2
1. Постановка задачи
Скорость поезда между двумя пунктами V1, средняя скорость на всем пути V2, причем остановки занимают время tост. Найти расстояние L между этими пунктами и время в пути:
где tост = 1 ч; 80 ≤ V1 ≤ 120 км/ч с шагом 10 км/ч;
50 ≤ V2 ≤ 70 км/ч с шагом 5 км/ч.
Входные данные:
V1n, V2n – начальное значение цикла, переменная вещественного типа,
V1k, V2k – конечное значение цикла, переменная вещественного типа,
dV1, dV2 – шаг значений цикла, переменная вещественного типа,
tost – время остановки, переменная вещественного типа.
Выходные данные:
L – расстояние, переменная вещественного типа,
T – время в пути, переменная вещественного типа
2. Математическая модель задачи
где
3. Разработка алгоритма
4. Разработка визуальной части проекта
5. Код приложения
Dim V1 As Single, V1n As Single, V1k As Single, dV1 As Single, tost As Single, L As Single
Dim V2 As Single, V2n As Single, V2k As Single, dV2 As Single, T As Single
V1n = InputBox("V1n=")
V1k = InputBox("V1k=")
dV1 = InputBox("dV1=")
V2n = InputBox("V2n=")
V2k = InputBox("V2k=")
dV2 = InputBox("dV2=")
tost = InputBox("tост=")
V1 = V1n
Do While V1 <= V1k
V2 = V2n
Do
L = V1 * V2 * tost / (V1 - V2)
T = L / V2
Print "V1 = " & V1, "V2 = " & V2, " L = " & L, "T = " & T
V2 = V2 + dV2
Loop Until V2 > V2k
V1 = V1 + dV1
Loop
End Sub
6. Отладка программы
Ручной счёт: V1 = 80; V2 = 50; L = 133; T = 2,7 V1 = 100; V2 = 60; L = 150; T = 2,5 V1 = 120; V2 = 70; L = 168; T = 2,4