Мегаобучалка Главная | О нас | Обратная связь


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



2015-11-11 466 Обсуждений (0)
Примеры использования циклов для решения физических задач 0.00 из 5.00 0 оценок




 

 

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

 

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

 

 

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; //конец процедуры

 

 

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

 

Решение

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

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

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

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

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

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

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

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

· Вычисление коэффициента

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

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

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

 

 

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; //конец процедуры

 

 

 



2015-11-11 466 Обсуждений (0)
Примеры использования циклов для решения физических задач 0.00 из 5.00 0 оценок









Обсуждение в статье: Примеры использования циклов для решения физических задач

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Генезис конфликтологии как науки в древней Греции: Для уяснения предыстории конфликтологии существенное значение имеет обращение к античной...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (466)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)