
Структура цикл / 17
.docxЗадание №1
1) Постановка задачи
К пружине
подвешен груз массой m. Пружина под
влиянием силы F растягивается на величину
x. Определить период вертикальных
колебаний груза для разных F по
формуле:
Отладить
программу для следующих значений
переменных: m = 10 кг; х = 0,15 м; 1,85 ≤ F ≤ 3,2 H
с шагом 0,15 Н.
Входные данные: m,
x, F1, Fk,
dF – вещественного
типа.
Выходные данные: T
– вещественного типа.
2) Математическое описание где F1 ≤ F ≤ Fk с шагом dF
3) Разработка алгоритма
4) Код приложения Private Sub Command1_Click() Dim m As Single, x As Single, F1 As Single, Fk As Single Dim dF As Single, F As Single, T As Single Const Pi As Single = 3.14 m = InputBox("m=", "Input") x = InputBox("x=", "Input") F1 = InputBox("F1=", "Input") Fk = InputBox("Fk=", "Input") dF = InputBox("dF=", "Input") List1.AddItem ("m=" & m & " x=" & x) List1.AddItem (" F T") F = F1 Do While F < Fk + dF T = 2 * Pi * Sqr(m * x / F) List1.AddItem (Format(F, "0.00") & " " & Format(T, "0.000")) F = F + dF Loop End Sub
5) Отладка кода приложения
6) Ручной расчёт
m=10;
x=0,15
F=2
F=2,6
F=3,05
Задание №2
1) Постановка задачи
Работая на
максимальной мощности, тепловоз ведет
поезд массой m вверх по пути с уклоном
L1 со скоростью V1. Работая
на 60 % мощности, тепловоз ведет тот же
поезд вверх по пути с уклоном L2
со скоростью V2. Найти максимальную
мощность тепловоза и коэффициент
трения:
где m
= 2000 т; V2 = 50 км/ч; L2 = 0,003;
0,004
≤ L1 ≤ 0,006 с шагом 0,001;
60 ≤ V1
≤ 80 км/ч с шагом 5 км/ч.
Входные
данные: m, V2,
L2, L0, Lk,
dL, V0, Vk,
dV – вещественного
типа.
Выходные данные: f,
Nmax – вещественного типа.
2) Математическое описание
где
L0 ≤ L1 ≤ Lk
с шагом dL; V0
≤ V1 ≤ Vk
с шагом dV.
3) Разработка алгоритма
4) Код приложения Private Sub Command1_Click() Dim m As Single, V2 As Single, L2 As Single, f As Single, Nmax As Single Dim L0 As Single, L As Single, Lk As Single, dL As Single Dim V0 As Single, V1 As Single, Vk As Single, dV As Single Const g As Single = 9.81 m = InputBox("m=", "Input") V2 = InputBox("V2=", "Input") L2 = InputBox("L2=", "Input") L0 = InputBox("L0=", "Input") Lk = InputBox("Lk=", "Input") dL = InputBox("dL=", "Input") V0 = InputBox("V0=", "Input") Vk = InputBox("Vk=", "Input") dV = InputBox("dV=", "Input") List1.AddItem ("m=" & m & " V2=" & V2 & " L2=" & L2) List1.AddItem (" L1 V1 f Nmax") L1 = L0 Do While L1 < Lk + dL V1 = V0 Do While V1 < Vk + dV f = (0.6 * V1 * L1 - V2 * L2) / (V2 - 0.6 * V1) Nmax = m * g * V1 * (L1 + f) List1.AddItem (Format(L1, "0.000") & " " & V1 & " " & Format(f, "0.000") & " " & Format(Nmax, "0.000")) V1 = V1 + dV Loop L1 = L1 + dL Loop End Sub
5) Отладка кода приложения
6) Ручной расчёт
m = 2000; V2 = 50; L2 =
0,003
L1=0,004;
V1=70
L1=0,005;
V1=60