Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Пример выполнения задания. Задание к лабораторной работеСодержание книги
Поиск на нашем сайте Пример выполнения задания Задача.Имитировать движение планеты вокруг Солнца. Определить вид орбиты и период обращения планеты. Запишем обезразмеренные уравнения, описывающие движение «малого» тела вокруг неподвижного «большого». В качестве характерных величин примем расстояние от Земли до Солнца ρ = 1,496∙1011 м, (так называемая, астрономическая единица), период круговой орбиты T, соответствующий этому расстоянию, скорость движения по ней Соответствующие уравнения имеют вид:
Интерфейс приложения: на первой форме вводятся исходные данные
Функциональность приложения: //процедура, реализующая один цикл движения объекта procedure risovanie; begin with Form2.Canvas do begin Pen.Color:=clRed;// красный «след» ellipse(XS,YS,XS+5,YS+5); //пересчет координат X:=X+2*pi*Vx*dt; Y:=Y+2*pi*Vy*dt; Vx:=Vx-2*pi*X*dt/sqrt((X*X+Y*Y)*(X*X+Y*Y)*(X*X+Y*Y)); Vy:=Vy-2*pi*Y*dt/sqrt((X*X+Y*Y)*(X*X+Y*Y)*(X*X+Y*Y)); t:=t+dt; XS:=trunc(X*Mx)+X0; YS:=trunc(-Y*My)+Y0; Pen.Color:=clBlack;//черная «планета» ellipse(XS,YS,XS+5,YS+5); if (abs(X-1)<=0.01) and (abs(Y)<=0.09) and (t>dt) then begin //при возвращении в исходную точку таймер выключается Form2.Timer1.Enabled:=false; Form2.Canvas.Pen.Color:=clBlack; // выводится значение периода Form3.Canvas.textout(Hor+5,Ver+5,'T='+floattostrf(t,ffgeneral,4,1)); end; end; end; //при прорисовке второй формы на ней строится система координат procedure TForm2.FormPaint(Sender: TObject); begin Hor:=10;Ver:=10; x0:=Form2.Width div 2; y0:=Form2.Height div 2; Mx:=Form2.Width div 3; My:=Form2.Height div 3; t:=0; with Canvas do begin Pen.Color:=clBlack; Pen.Width:=2; MoveTo(Hor,Y0);LineTo(Form2.Width-Hor,Y0); MoveTo(X0,Ver);LineTo(X0,Form2.Height-Ver); TextOut(Form2.Width-Hor,Y0+2,'X'); TextOut(X0-7,Ver,'Y'); end; end;
//при щелчке на кнопке «Начать движение» включается таймер procedure TForm2.Button2Click(Sender: TObject); begin Timer1.Enabled:=true; end; //при каждом срабатывании таймера вызывается процедура risovanie procedure TForm2.Timer1Timer(Sender: TObject); begin risovanie; end; Результат : на второй форме – траектория движения «планеты» и значение периода (в земных годах) 4. В среде Lazarus имитировать движение тела согласно варианту лабораторной работы №2. 5. Исследовать зависимость характера движения от параметров модели. 6. Создать текстовый отчет по лабораторным работам №2-4, включающий: - постановку задачи и описание модели; - результаты тестирования программы; - результаты, полученные в ходе выполнения заданий (в различных формах); - качественный анализ результатов.
|
||
|
Последнее изменение этой страницы: 2024-06-17; просмотров: 68; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.156 (0.006 с.) |