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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.10.2011, 20:52   #1
ihimaru
Пользователь
 
Регистрация: 02.10.2011
Сообщений: 14
Вопрос Треугольное окно со сторонами A, B, C. Проверить, пройдёт ли в окно коробка цилиндрической формы (D и H) (паскаль)

Здравствуйте. Помогите пожалуйста сделать задачу на паскале вот собственно условие :

Окно имеет форму треугольника со сторонами A, B, C. Желательно сквозь это
окно протащить цилиндрическую коробку с диаметром основания D и высо-
той H. Требуется вывести на экран сообщения: YES - если коробка пройдет,
NO - в противном случае. Величины A, B, C, D, H ввести с клавиатуры.
ihimaru вне форума Ответить с цитированием
Старый 02.10.2011, 21:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А ты можешь описать словами алгоритм? А форумчане уже смогут его в ЯВУ перевести
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.10.2011, 21:06   #3
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Источник http://ru.wikipedia.org/wiki/Вписанная_окружность
Радиус вписанной в треугольник окружности равен:
r = sqrt((p-a)*(p-b)*(p-c)/p)
Высота Н дана для того чтобы запутать.
Решаем:
Код:
program Cylinder;
var p, r : double;
     a,b,c,d,h : double;
begin
  writeln('введите сторону А ');read(A);
  writeln('введите сторону B ');read(B);
  writeln('введите сторону C ');read(C);
  writeln('введите диаметр цилиндра ');read(d);
  writeln('введите высоту цилиндра ');read(h);
  p:= a+b+c;
  r := sqrt((p-a)*(p-b)*(p-c)/p);
  if d/2<=r then
   writeln('цылиндэр проходит ') else
   writeln('цылиндэр упирается в раму ');
end;
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 02.10.2011, 21:13   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,814
По умолчанию

тут надо использовать теорему о вписанной окружности, цилиндр можно ведь и не боком пропихивать, а ещё и торцом.
тогда надо, чтоб его диаметр был меньше диаметра вписанной в треугольник окружности
A/sin(alpha)=B/sin(betta)=C/sin(gamma)=2*R.
а вот ваша формула больше на форулу Герона похожа, по которой площадь треугольника находят...
Код:
 r := sqrt((p-a)*(p-b)*(p-c)/p);
а ещё его можно пропихивать положа на бок или в наклонку. так что там как минимум 4 варианта получается надо проверять
А тут, получается, надо с геометрией дружить...
Изображения
Тип файла: jpg треуго.JPG (12.0 Кб, 56 просмотров)
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 02.10.2011 в 21:17.
NetSpace вне форума Ответить с цитированием
Старый 02.10.2011, 21:20   #5
JUDAS
фонатик DELPHI
Форумчанин
 
Аватар для JUDAS
 
Регистрация: 14.01.2008
Сообщений: 714
По умолчанию

Цитирую раздел википедии
Цитата:
В треугольнике

Свойства вписанной окружности:
.....
Радиус вписанной в треугольник окружности равен
Цитата:
цилиндр можно ведь и не боком пропихивать
можно и боком )
95% сбоев и ошибок приложений, находится в полу метрах от монитора
JUDAS вне форума Ответить с цитированием
Старый 02.10.2011, 22:11   #6
ihimaru
Пользователь
 
Регистрация: 02.10.2011
Сообщений: 14
По умолчанию

=.= что то я совсем запутался...рассмотрю тогда просто вариант когда пихают торцом. Спасибо за помощь!
ihimaru вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[?] Послать клавишу в чужое окно, не выводя окно на передний план. Moriarty Win Api 4 21.02.2011 05:11
Открывать окно печати, окно просмотра и изменять масштаб. segail Microsoft Office Excel 1 08.08.2010 19:31
Как проверить скрыто окно или нет? BuT@JL Общие вопросы Delphi 9 13.11.2009 15:19
окно формы Bat{CMD}_Men Общие вопросы Delphi 1 15.10.2009 19:05
«Окно+символ». Создать класс, представляющий окно в текстовом режиме. RustreX Паскаль, Turbo Pascal, PascalABC.NET 1 11.11.2007 19:28