Примеры использования циклов для решения физических задач

Пример 5. Вычислить и объем параболоида вращения, полученного с помощью вращения параболы Примеры использования циклов для решения физических задач - student2.ru вокруг оси OZ. Высота параболоида равна H. Разобьем параболоид на достаточно большое количество N дисков (цилиндров) радиусов Примеры использования циклов для решения физических задач - student2.ru и высотой dz. Очевидно, объем параболоида (V) равен сумме объемов цилиндров (dV), а центр масс лежит на оси OZ в точке, координата которой определяется по формуле Примеры использования циклов для решения физических задач - student2.ru

Примеры использования циклов для решения физических задач - student2.ru

Задаем следующую заготовку

Примеры использования циклов для решения физических задач - student2.ru

procedure TForm1.Button1Click(Sender: TObject);

Var

a,H,z,dz,r,V,dV,S,dS:real;

N,i:integer;

Begin //начало процедуры

a:=StrToFloat(Edit1.Text); // ввод параметра параболы

H:=StrToFloat(Edit2.Text); // высота параболоида

N:=StrToInt(Edit3.Text); // количество дисков (точность вычисления)

dz:=H/N; // высота диска

V:=0; // заводим ячейку памяти для вычисления объема

S:=0; // заводим ячейку памяти для вычисления суммы

for i:=1 to N do //открываем цикл (i – номер диска)

begin //начало тела цикла

z:=dz*i; // координата диска

r:=sqrt(z/a); // радиус диска

dV:=pi*r*r*dz; // объем диска

dS:=z*dV; // слагаемое суммы

V:=V+dV; // накапливаем объем

S:=S+dS; // накапливаем сумму

end; //конец тела цикла

Label4.Caption:='Объем параболоида'+#13

+'V= '+FloatToStr(V); // вывод результата объем

Label5.Caption:='Центр масс параболоида'+#13

+'Z= '+FloatToStr(S/V); // вывод результата центра масс

end; //конец процедуры

Примеры использования циклов для решения физических задач - student2.ru

Пример 6. Составить программу для вычисления высоты и времени подъема шара массы m (кг) и радиуса r (cм), принимая, что сопротивление воздуха равно Примеры использования циклов для решения физических задач - student2.ru , где v- скорость движения, Примеры использования циклов для решения физических задач - student2.ru - площадь проекции тела на плоскость, перпендикулярную направлению его движения, и k- численный коэффициент, зависящий от формы тела и имеющий для шара значение 0,24 Примеры использования циклов для решения физических задач - student2.ru . Начальная скорость шара V0 (м/с).

Решение

Применим второй закон Ньютона. Ось координат ОХ направим вверх. Тогда ускорение определяется по формуле Примеры использования циклов для решения физических задач - student2.ru . Как видим, ускорение изменяется, поэтому в данной задаче нельзя применять обычные формулы равноускоренного движения. Компьютерный метод решения задачи следующий.

Рассмотрим достаточно малый промежуток времени dt, в течение которого скорость не успевает сильно измениться, поэтому на этом участке движение можно считать равноускоренным, поэтому возможно применение формул равноускоренного движения.

Алгоритм решения следующий

· Ввод констант k, g

· Вводится точность решения задачи (максимальное время расчета, шаг по времени и количество малых промежутков времени, на которых производится расчет). Очень важно выбрать правильный шаг по времени dt. Чем меньше dt, тем точнее результат, но увеличивается машинное время для проведения расчетов.

· Ввод данных массы, радиуса шара и начальной скорости через процедуры Edit

· Ввод начальных условий. Согласно принципу причинности, для полного определения движения частицы необходимо задать начальное положение и начальную скорость. Для нашей задачи x Примеры использования циклов для решения физических задач - student2.ru 0 и v Примеры использования циклов для решения физических задач - student2.ru V0

· Вычисление площади сечения

· Вычисление коэффициента Примеры использования циклов для решения физических задач - student2.ru

· Если рассматривать движение в достаточно малый промежуток времени, движение можно считать равноускоренным. Поэтому вводится цикл по времени и на каждом участке вычисляется ускорение по формуле Примеры использования циклов для решения физических задач - student2.ru .

· На каждом малом промежутке времени вычисляется новое значение скорости и координаты.

· Вывод значения времени и координаты

Примеры использования циклов для решения физических задач - student2.ru

procedure TForm1.Button1Click(Sender: TObject);

Const

g=9.8; // ускорение свободного падения

k=0.24; // численный коэффициент

dt=0.001; // малый промежуток времени

Var

m,r,V0,S,f,t,V,x,a:real; // описание переменных

begin //начало процедуры

m:=StrToFloat(Edit1.Text); // ввод массы

r:=StrToFloat(Edit2.Text)*0.01; // ввод радиуса (в метрах)

V0:=StrToFloat(Edit3.Text); // ввод начальной скорости

S:=pi*r*r; // площадь

f:=k*S/m; // коэффициент сопротивления

t:=0; // начальное время

V:=V0; // начальная скорость

x:=0; // начальная координата

while V>=0 do //введение цикла с условием

begin //начало тела цикла

a:=-g-f*V*V; // ускорение

t:=t+dt; // пересчет времени

V:=V+a*dt; // пересчет скорости

x:=x+V*dt; // пересчет координаты

end; //конец тела цикла

Label7.Caption:='t= '+FloatToStr(t)+' c'+#13 // вывод времени

+'x= '+FloatToStr(x)+' м'; // вывод координаты

end; //конец процедуры

Примеры использования циклов для решения физических задач - student2.ru

Наши рекомендации