Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

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

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 13.12.2009, 01:58   #1
zuyzuy
Новичок
Джуниор
 
Регистрация: 13.12.2009
Сообщений: 1
По умолчанию помогите с лабораторными на дельфи(3шт)

пожалуйста кто может помочь ответьте...сильно горю с 3 мя лабами вот условия... кто может помочь?( за сколько?)
№20 перемещения
Изобразить вращение планет вокруг звезды по разным эллипсоидальным орбитам. Движение должно подчиняться
законам Кеплера. Колличество палнет задается пользователем

№32 Динамические структуры данных
Дан текстовый файл, содержащий слова,разделенные пробелами,загрузить его в линейный однонаправленный
список по словам. Из полученного списка по кнопке сформировать линейный однонаправленный список,
содержащий лишь слова заданной длины.

№40 Системы массового обслуживания
Процедурный кабинет. Мед сестра делает уколы пациентам, вырастающие в очередь перед дверью процедурного
кабинета. Время процедуры зависит от обьема сыворотки,прописанного данному пациенту, и выражается функцией.
Время вспомогат работ между приемом пациэнтов также отпеделяется функцией. Длина очереди может быть ограничена,
в этом случае попытка пациента встать в очередь приведет к отказу в обслуживании, попытка мед сестры сделать
укол пациенту в пуст очереди считается отказом и приводит к простою мед сестр.
Обозначения-- Колличество мед сестер-(1)
Колличество очередей к каждой мед сест. -(2)
Длина очереди--Неограничена
Интервал времени берется--(в середине рабочего дня)
Считать ЗАЯВКОЙ- пациента
Каналом обслуживания- МЕД.СЕСТР
ОЧЕРЕДЬЮ НА ОБСЛУЖИВАНИЕ-- очередь в кабинет
zuyzuy вне форума
Старый 13.12.2009, 02:35   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

3 штуки просят переноса во фриланс...
Сделайте эту тему там, а эту я удалю, и вам за это ничего не будет...
А повторять не нужно - все равно опять удалим...

Последний раз редактировалось mihali4; 13.12.2009 в 02:37.
mihali4 вне форума
Старый 13.12.2009, 04:21   #3
Nowar
Пользователь
 
Регистрация: 13.12.2009
Сообщений: 23
По умолчанию

Рассуждения по задаче №20
Могу, конечно, где-то ошибиться...
Используем первый закон Кеплера (закон эллипса).
В-общем, уравнение эллипса будет примерно
r^2*cos(alpha)^2/a^2+r^2*sin(alpha)^2/b^2 = 1
Отсюда радиус (берём, естественно, положительное решение) будет
r = b*a/sqrt(b^2-b^2*sin(alpha)^2+sin(alpha)^2*a^2)
Теперь замесим сюда второй закон (закон площадей):
пусть планета продвинулась на угол от alpha1 до alpha2
Тогда описанный радиус будет
rCorrect(alpha1):=(b a)/(sqrt(b^2-b^2 (sin(alpha1))^2+(sin(alpha1))^2 a^2))
и
rCorrect(alpha2):=(b a)/(sqrt(b^2-b^2 (sin(alpha2))^2+(sin(alpha2))^2 a^2))
Чтобы посчитать площадь под ним, переходим в полярную систему координат:
x := r*cos(phi)
y := r*sin(phi)
Якобиан этого преобразования, как известно, будет равен r
Соответственно, считаем двойной интеграл:
интеграл от alpha1 до alpha2 от 1 по d phi и интеграл от rCorrect(alpha1) до rCorrect(alpha2) от r dr
Это и будет площадь, описываемая радиус-вектором планеты:
S = (alpha2-alpha1)*((1/2)*b^2*a^2/(b^2-b^2*sin(alpha2)^2+sin(alpha2)^2*a^2 )-(1/2)*b^2*a^2/(b^2-b^2*sin(alpha1)^2+sin(alpha1)^2*a^2 ))
теперь посчитаем это относительно синуса угла alpha...
это будет два уравнения:
sin(alpha2) = sqrt(-(-2*S*b^4+2*S*b^4*sin(alpha1)^2-4*S*b^2*sin(alpha1)^2*a^2+2*S*b^2*a ^2+2*S*a^4*sin(alpha1)^2+a^2*b^4*al pha1-a^4*b^2*alpha1-a^2*b^4*alpha2+a^4*b^2*alpha2)*(a^4 *alpha1*sin(alpha1)^2+a^2*b^2*alpha 2*sin(alpha1)^2-a^4*alpha2*sin(alpha1)^2+2*S*sin(al pha1)^2*a^2-a^2*b^2*alpha1*sin(alpha1)^2+2*S*b^ 2-2*S*b^2*sin(alpha1)^2))*b/(-2*S*b^4+2*S*b^4*sin(alpha1)^2-4*S*b^2*sin(alpha1)^2*a^2+2*S*b^2*a ^2+2*S*a^4*sin(alpha1)^2+a^2*b^4*al pha1-a^4*b^2*alpha1-a^2*b^4*alpha2+a^4*b^2*alpha2)

и второе:
sin(alpha2) = -sqrt(-(-2*S*b^4+2*S*b^4*sin(alpha1)^2-4*S*b^2*sin(alpha1)^2*a^2+2*S*b^2*a ^2+2*S*a^4*sin(alpha1)^2+a^2*b^4*al pha1-a^4*b^2*alpha1-a^2*b^4*alpha2+a^4*b^2*alpha2)*(a^4 *alpha1*sin(alpha1)^2+a^2*b^2*alpha 2*sin(alpha1)^2-a^4*alpha2*sin(alpha1)^2+2*S*sin(al pha1)^2*a^2-a^2*b^2*alpha1*sin(alpha1)^2+2*S*b^ 2-2*S*b^2*sin(alpha1)^2))*b/(-2*S*b^4+2*S*b^4*sin(alpha1)^2-4*S*b^2*sin(alpha1)^2*a^2+2*S*b^2*a ^2+2*S*a^4*sin(alpha1)^2+a^2*b^4*al pha1-a^4*b^2*alpha1-a^2*b^4*alpha2+a^4*b^2*alpha2)

Очевидно, что данное уравнение не разрешимо аналитически, поэтому угол нужно считать на каждой итерации каким-нибудь численным методом. И, кстати, будет нехилая пограшность накапливаться.

P.S.: вы уверены, что преподаватель хочет от вас именно этого? Может быть имеется ввиду просто движение планет по эллиптическим орбитам с различной скоростью?
Nowar вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите с Лабораторными работами на С++ Alexandrk8 Помощь студентам 4 05.09.2009 20:14
Задачи на Turbo C (3шт) Intruder Фриланс 1 20.05.2009 14:10
помогите с лабораторными на паскале. kissa Паскаль, Turbo Pascal, PascalABC.NET 4 20.12.2008 11:13
Прошу помощи с лабораторными Dj Reason Помощь студентам 0 29.05.2008 21:37