Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 15.03.2010, 17:48   #1
StudeHt
Пользователь
 
Регистрация: 05.04.2009
Сообщений: 78
По умолчанию Математический маятник

Здравствуйте, уважаемые эксперты! Вот есть задача:Написать программу, имитирующую движение математического маятника.
Порывшись в инете кое-что нашел, но ни как не могу, это исправить, вот код:
Код:
uses Graph, crt;
const Pi=3.14159265;
      g=9.81;

procedure InitializationGraphicMode;
var grDriver,grMode,ErrCode:integer;
begin
  grDriver:=Detect;
  InitGraph(grDriver,grMode,'');
  ErrCode:=GraphResult;
  if ErrCode<>grOk then
    begin
      writeln('Ошибка инициализации графического режима!');
      writeln('Для завершения программы нажмите Enter ');
      readln;
      Halt;
    end;
end;

procedure InputCharacteristics(var L,Alpha,A:integer);
begin
  TextColor(11);
  GotoXY(25,8);
  write('Введите длину нити ');
  readln(L);
  GotoXY(25,10);
  write('Введите начальное отклонение ');
  readln(Alpha);
  GotoXY(25,12);
  write('Введите амплитуду колебаний ');
  readln(A);
end;

procedure Draw(L,Alpha,A:integer);
var x,y,Time:integer;
    T:real;
begin
  T:=2*Pi*sqrt(L/g);
  Time:=0; x:=160; y:=170;
  while Time<=2*T do
    begin
      PutPixel(round(x),round(y),white);
      SetColor(black);
      Circle(x,y,5);
      Inc(Time);
      x:=160+2*round((A*cos(2*Pi/T*Time)));
      y:=170-2*round((L-sqrt(L*L-A*A))*Abs(cos(2*Pi/T*Time)));
      PutPixel(x,y,white);
      SetColor(white);
      Circle(x,y,5);
      delay(100);
    end;
end;

var L,Alpha,A:integer;
begin
  clrscr;
  InputCharacteristics(L,Alpha,A);
  InitializationGraphicMode;
  Draw(L,Alpha,A);
  CloseGraph;
  readln;
end.
Но у меня не получается добавить в программу нить математического маятника И есть еще вопрос, как учесть в программе начальное отклонение маятника? Помогите исправить ошибки, заранее огромное спасибо!
StudeHt вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Математический маятник(физика) WOOLF Помощь студентам 4 22.05.2009 21:51
Математический вопрос из проги на C# Eretic Помощь студентам 6 20.08.2008 15:18
Математический софт! Mr.User Софт 4 08.12.2007 07:51
Маятник SuperEgo Помощь студентам 3 15.06.2007 10:03


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS