В
Все
М
Математика
А
Английский язык
Х
Химия
Э
Экономика
П
Право
И
Информатика
У
Українська мова
Қ
Қазақ тiлi
О
ОБЖ
Н
Немецкий язык
Б
Беларуская мова
У
Українська література
М
Музыка
П
Психология
А
Алгебра
Л
Литература
Б
Биология
М
МХК
О
Окружающий мир
О
Обществознание
И
История
Г
Геометрия
Ф
Французский язык
Ф
Физика
Д
Другие предметы
Р
Русский язык
Г
География
aleksandrantonov
aleksandrantonov
31.01.2023 21:50 •  Информатика

Напишите программу в программе турбо паскаль "колебания маятника". если можно с объяснением.

Показать ответ
Ответ:
Elizkap01
Elizkap01
01.10.2020 20:58
Есть тут один код на примете
{Программа
СВОБОДНЫЕ КОЛЕБАНИЯ КРУГОВОГО МАТЕМАТИЧЕСКОГО МАЯТНИКА}
Program Math_01;

{Подключение модулей подпрограмм}
Uses Crt, Graph;

{Описание констант}
Const phi0=30; // Начальный угол наклона маятника
w0=0; // Начальная угловая скорость маятника
l=400; // Длина нити
r=8; // Радиус груза
light=2; // Радиус блика
k=0.02; // Коэффициент сопротивления
m=1; // Масса груза
xp=320; // Координата x точки подвеса
yp=10; // Координата y точки подвеса
g=9.8; // Ускорение свободного падения
tau=0.4; // Шаг по времени

{Описание переменных}
Var x, y, xx, yy, w, eps, phi: Real;

{Процедура инициализации графического режима 640x480}
Procedure OpenGraph;
Var Driver, Mode, ErrorCode: Integer;
Begin
Driver:=Detect;
InitGraph(Driver, Mode, 'c:\bp\bgi');
ErrorCode:=GraphResult;
If ErrorCode <> grOK Then Halt(1);
End;

{Процедура исключения мерцаний изображений}
Procedure Glimmer;
Begin
Repeat
Until Port[$3da] And 8 <> 0;
End;

{Процедура вывода изображения маятника на экран}
Procedure Display;
Begin
Glimmer;
SetColor(Black);
SetFillStyle(SolidFill, Black);
Line(xp, yp, Round(xx), Round(yy));
FillEllipse(Round(xx), Round(yy), r, r);
SetLineStyle(SolidLn, 0, NormWidth);
SetColor(DarkGray);
Line(xp, yp, Round(x), Round(y));
SetLineStyle(SolidLn, 0, NormWidth);
SetColor(DarkGray);
SetFillStyle(SolidFill, DarkGray);
FillEllipse(Round(x), Round(y), r, r);
SetColor(LightGray);
SetFillStyle(SolidFill, White);
FillEllipse(Round(x)-3, Round(y)-3, light, light);
End;
{Основная часть программы}
Begin
OpenGraph;
SetFillStyle(SolidFill, DarkGray);
Bar(xp-20, yp-5, xp+20, yp-1);
phi:=phi0*Pi/180;
w:=w0;
x:=xp+l*sin(phi);
y:=yp+l*cos(phi);
Repeat
Begin
xx:=x;
yy:=y;
eps:=-k*w/m-g*sin(phi)/l;
w:=w+eps*tau;
phi:=phi+w*tau;
x:=xp+l*sin(phi);
y:=yp+l*cos(phi);
Display;
End;
Until KeyPressed;
CloseGraph;
End.
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота