Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на языке Pascal


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / Pascal

Выпуск № 158
от 18.04.2006, 20:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 168, Экспертов: 47
В номере:Вопросов: 1, Ответов: 3


Вопрос № 40160: Уважаемые эксперты. Имеется задача: При проектировании рамы автомобиля конструктор представил ее в виде решетки, состоящей из n × n узлов (n – нечетное число), в которых расположены сосредоточенные массы. Задайте количество узлов рамы и...

Вопрос № 40.160
Уважаемые эксперты. Имеется задача:

При проектировании рамы автомобиля конструктор представил ее в виде решетки, состоящей из n × n узлов (n – нечетное число), в которых расположены сосредоточенные массы. Задайте количество узлов рамы и сосредоточенную массу каждого узла.
Расположите узлы на раме так, чтобы суммы масс узлов относительно поперечной оси рамы были равны или различались не более чем на 15%

Честно говоря, просто даже пока не понимаю ЧТО нужно сделать в ней. Вопрос к Вам - подскажите на конкретном примере - вот это дано, вот это надо получить. И если алгоритм заумный - хотя бы его идею. Мне не надо решение на Pas - попробую написать сама, не получится опять к вам хза советом приду, мне не понятно КАК понять эту задачу...

С огромным уважение к Вашему труду.
Спасибо!
Отправлен: 13.04.2006, 08:12
Вопрос задала: Ямкина Елена Владимировна (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Kazakh
Здравствуйте, Ямкина Елена Владимировна!
Сомневаюсь, что это так, но всё же...
в ">>" мой перевод.
ДАНО:
При проектировании рамы автомобиля конструктор представил ее в виде решетки, состоящей из n × n узлов (n – нечетное число), в которых расположены сосредоточенные массы.
>>Нужна матрица размером nxn (n - нечетное).
Задайте количество узлов рамы и сосредоточенную массу каждого узла.
>>задайте n и значение каждого элемента матрицы
НАДО:
Расположите узлы на раме так, чтобы суммы масс узлов относительно поперечной оси рамы были равны или различались не более чем на 15%
>>выбираете поперечную ось в матрице = Round(n/2)
>>и теперь нужно так урорядочить значения матрицы, чтобы сумма левых и правых
>>относиттельно оси были равны или отличались на 15%.
>>P.S.: если ось взять вертикально, то будут левая и правая чать.
>>А если ось взять горизонтально, то соответственно верхняя и нижняя часть.

Кажется, что доступно объяснил :-)
Удачи. Пишите.
---------
Если собеседник затрудняется ответить, значит, вопрос поставлен правильно.
Ответ отправил: Kazakh (статус: 6-ой класс)
Ответ отправлен: 13.04.2006, 08:30

Отвечает: Полховский Александр Владимирович
Здравствуйте, Елена Владимировна.

Рама - плоская прямоугольная конструкция, следовательно, поперечная ось - та линия, которая делит раму пополам по длине (то есть по большему линейному размеру: 3х1,5 - 3 - это длина, 1,5 - ширина). Но раз размеры не заданы, то можно брать любую из предложенных линий.
Что же касается задачи в целом, то попробую донести до Вас её суть.
Во-первых, узел - пересечение двух и более элементов решётки (то есть, прямых, которые эту решётку и составляют). То есть, если мы возьмём квадрат, то это будет решётка, состоящая из 2х2 узлов. Нарисуйте решётку. По условию n - нечётное, значит 3х3, 5х5 и т. д. Замечу, что при этом ось пройдёт по одному из рядов узлов, что облегчит дальнейшую работу.

Во-вторых, сосредоточенные массы расположены в узлах, то есть, на пересечениях, описанных выше. Это значит, грубо говоря, что на каждом пересечении в решётке лежит шарик определённой массы (не казните за простоту).

В-третьих, предложение "Задайте количество узлов рамы и сосредоточенную массу каждого узла" означает, что эти параметры нужно вводить пользователю (ну я так, по крайней мере, думаю), то есть, нужно обеспечить динамическое решение, в зависимости от количества узлов (хотя, честно говоря, тут можно и совсем противоположное подумать, мол сами задавайтесь чем хотите и решайте, лучше узнайте у составителя вопроса).

"Расположите узлы на раме..." - эта фраза привела меня в недоумение, но если абстрагироваться от того, что речь идёт об автомобиле, то продолжать можно. Итак, у нас есть nxn масс. Есть понятие о том, как их надо расположить. И есть условие, что сумма масс с одной стороны поперечной оси не будет отличаться от суммы масс с другой более, чем на 15 %. По этому поводу Вам уже дал наводку эксперт Kazakh. Я могу лишь добавить, что начинать балансировать следует с самых тяжёлых узлов, затем по очереди раскидывать всё более лёгкие. Но если не получится, тогда меняйте местами близкие по значению массы с разных сторон, добиваясь незначительных изменений в балансе (ну или значительных, смотря какая разность масс будет у этих двух узлов).

Подытожу весь мой ответ примером (без кода):
задаём количество узлов: 3х3
рисуем:

 

 

 

 


Задаёмся девятью массами:
1, 2, 3, 4 ... 9 кг

Раскидываем в том порядке, как было сказано выше:
Центральный ряд (по нему идёт ось): 9-8-7
Верхний ряд:6-3-2
Нижний ряд:5-4-1

Итог:
6-3-2
9-8-7 - этот ряд считать не будем, он не относится ни к левой, ни к правой части
5-4-1

Считаем баланс:
6+3+2=11
5+4+1=10

Допустимая погрешность: 15% = 0,15
Реальная погрешность: e=|11-10|/11=1/11≈0,09<0,15

Задача решена. обращаю Ваше внимание ещё раз: матрица будет иметь 9 ячеек, а не 4, как таблица на рисунке.
Ещё 2 момента, которые я отмечу:
1. Не знаю, нужно ли учитывать масу узлов, которые лежат на оси (думаю, нет, так как нагрузки сосредоточенные).

2. Возможно, составитель имел в виду именно nxn "квадратиков" (не все владеют техническими понятиями), тогда ось не будет проходить через один из рядов узлов, и решение незначительно изменится.

Надеюсь, разъяснил хоть какие-нибудь неясности.

Удачи.
---------
Спасём нашу хрупкую планету !
Ответ отправил: Полховский Александр Владимирович (статус: Практикант)
Ответ отправлен: 13.04.2006, 09:27

Отвечает: NiGHT
Здравствуйте, Ямкина Елена Владимировна!

Основываясь на предыдущих ответах я написал.
тут учтен и случай невозможности расположения масс.

PS Думаю ВЫ неправильно воспроизвели условие, слишком уж это просто. На уровне 1 класса (а такие задачи так заумно никогда не формулируют...). Я бы например в поменял одно слово в условии ...Расположите узлы на раме так, чтобы суммы ВЕСОВ узлов... И тогда задача становится уже нелинейно сложной. Да и по логике обычно инженерам нужно распределять не массу а вес по поверхности.

Приложение:

Ответ отправил: NiGHT (статус: Студент)
Ответ отправлен: 13.04.2006, 12:59


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.30 (beta) от 09.04.2006
Яндекс Rambler's Top100

В избранное