Структура цикл / 28
.docx
Задание №1
Постановка задачи:
Словестное описание задачи:
Паровой молот массой m1 падает с высоты h на стальную болванку массой m2. Сколько раз он должен упасть, чтобы температура болванки поднялась на ΔtᵒС? На нагрев тратится 50% теплоты, полученной при ударах. Удельная теплоёмкость стали C=460 Дж/(кг*ᵒС)
, где g=9,81 м/с2, h=2,5 м, Δt=40ᵒ С, m2=220 кг, 6≤m1≤10 т с шагом 0,5.
Исходные данные
m1 – масса парового молота (кг),
m2 – масса стальной болванки (кг),
h – высота падения парового молота (м),
Δt – температура нагревания болванки (ᵒС),
С – удельная теплоёмкость стали (Дж/(кг*ᵒС)),
n – количество ударов парового молота (раз),
g – ускорение свободного падения (м/с2).
Состав входных и выходных данных:
Входные данные:
h – константа вещественного типа,
m2 – переменная вещественного типа,
deltat – переменная вещественного типа,
m1 – переменная вещественного типа,
g – константа вещественного типа,
m10 – константа вещественного типа,
m1k – константа вещественного типа,
dm1 – константа вещественного типа.
Выходные данные:
n – переменная вещественного типа.
Математическая модель задачи:
да
нет
n
m1 = m1+0,5
Конец
m1≤m1k
Схема алгоритма:
m1
= m10
Начало
Код приложения:
Private Sub Command1_Click()
Dim n As Single, deltat As Single, m1 As Single, m2 As Single
Const g As Single = 9.81, C As Single = 460, dm1 As Single = 0.5, m10 As Single = 6, m1k As Single = 10, h As Single = 2.5
deltat = InputBox("Введите температуру нагревания Delta t", "Ввод переменных")
m2 = InputBox("Введите массу стальной болванки m2", "Ввод переменных")
List1.Clear
List1.AddItem "При массе болванки m2=" & m2
List1.AddItem "и изменении температуры Delta t=" & deltat
List1.AddItem "__________________________________"
List1.AddItem " m1 n"
For m1 = m10 To m1k Step dm1
n = (2 * C * m2 * deltat) / (m1 * g * h)
List1.AddItem Format(m1, "#0.0") & " " & Format(n, "#0.0000")
Next
End Sub
Отладка программы:
Задание №2
Постановка задачи:
Словестное описание задачи:
Вычислить значения функций по формулам:
; , где постоянные π=3,14 и g=9,81; L, J – переменные вещественного типа.
На печать выдать значения:
а) входных данных
б) аргументов L, изменяющегося в пределах L1≤L≤Lk с шагом ΔL, и J, изменяющегося в пределах J1≤J≤Jk с шагом ΔJ.
в) Функций A и T с точностью до тысячных для соответствующих L и J.
При решении контрольного примера принять:
L1=0,72; Lk=0,76; ΔL=0,02; J1=2,3; Jk=2,5 ΔJ=0,1.
Исходные данные:
L1 – начальное значение переменной L,
Lk – конечное значение переменной L,
ΔL – шаг изменения переменной L,
J1 – начальное значение переменной J,
Jk – конечное значение переменной J,
ΔJ – шаг изменения переменной J,
g – ускорение свободного падения,
π – число пи.
Состав входных и выходных данных:
Входные данные:
L1 – переменная вещественного типа,
Lk – переменная вещественного типа,
deltaL – переменная вещественного типа,
J1 – переменная вещественного типа,
Jk – переменная вещественного типа,
deltaJ – переменная вещественного типа,
g – константа вещественного типа,
π – константа вещественного типа.
Выходные данные:
A – переменная вещественного типа,
T – переменная вещественного типа.
Математическая модель задачи:
;
Да
L1, Lk, ΔL, J1, Jk, ΔJ
Нет
J≤Jk
J = J1
Начало
Схема алгоритма:
Да
L≤Lk
Конец
L = L+ΔL
A, L, T, J
L = L1
J = J+ΔJ
Нет
Код приложения:
Private Sub Command1_Click()
Dim L As Single, L1 As Single, Lk As Single, deltaL As Single, J As Single, J1 As Single, Jk As Single, deltaJ As Single, A As Single, T As Single
Const Pi As Single = 3.14, g As Single = 9.81
L1 = InputBox("Введите начальное значение L", "Ввод переменных")
Lk = InputBox("Введите конечное значение L", "Ввод переменных")
deltaL = InputBox("Введите шаг изменения переменной L", "Ввод переменных")
J1 = InputBox("Введите начальное значение J", "Ввод переменных")
Jk = InputBox("Введите конечное значение J", "Ввод переменных")
deltaJ = InputBox("Введите шаг изменения переменной J", "Ввод переменных")
List1.Clear
List1.AddItem "L1=" & L1 & " Lk=" & Lk & " deltaL=" & deltaL & " J1=" & J1 & " Jk=" & Jk & " deltaJ=" & deltaJ
List1.AddItem "______________________________________________________________________________________"
List1.AddItem " T A J L"
J = J1
Do While J <= Jk
L = L1
Do While L <= Lk
A = Tan(J / g)
T = 2 * Pi * L / (g ^ 2 + J ^ 2)
List1.AddItem Format(T, "#0.000") & " " & Format(A, "#0.000") & " " & J & " " & L
L = L + deltaL
Loop
J = J + deltaJ Loop End Sub
Отладка программы: