Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Чт мар 28, 2024 13:23

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пт май 10, 2013 17:39 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Рассчитывала тут жена петли для вязания (это искусство мне неподвластно :) и вдруг поинтересовалась, нельзя ли как-то посчитать все это на компьтере. Задача на поверку оказалась банальнейшей - скажем, имеем 10 рядов, и надо на их протяжении убрать 3 петли. На каких рядах надо делать убавку (это термин!), чтобы все получилось равномерно? И еще если это надо делать не сразу, а с ряда номер N? В итоге на форму были брошены три поля ввода, две кнопки (два режима расчета) и один компонент для вывода текста. Через 10 минут эксплуатации программа была всячески одобрена, разослана подругам-вязальщицам и собрала свои восторги.

Мораль:
1. Три переменные и два действия на поверку могут быть нужнее, чем какие-нибудь "динамически хэшированные двунаправленные списки".
2. Конкретный пользователь, осведомленный о предметной области, даст гораздо больше ценных замечаний, чем рафинированный теоретик.
3. При решении конкретной, четко видимой задачи, нет поводов использовать избыточные технологии и подходы.

Вот такое было домашнее развлечение. :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 01:01 
Повезло с женой, заботливая, а то как же в такую погоду да без свитера по улице носиться. )


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 04:26 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Хищник писал(а):
Задача на поверку оказалась банальнейшей - скажем, имеем 10 рядов, и надо на их протяжении убрать 3 петли. На каких рядах надо делать убавку (это термин!), чтобы все получилось равномерно?

А само решение то показать и забыли.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 13:37 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
forther писал(а):
А само решение то показать и забыли.


Номер ряда для убавки = счетчик убавок * число рядов / число петель


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 21:17 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
А что такое "число петель"? Общее или в начальном ряду? И почему результат единственное число?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 21:22 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Число петель - это на сколько меньше петель надо делать. Например, 2. И сделать это надо не просто так, а за "число рядов" (например, 10). То есть получается, что надо сделать на одну петлю меньше на 5 и 10 рядах, чтобы ширина уменьшалась плавно. Ну вот и подставляем в счетчик убавок сначала первую петлю - получаем номер ряда, на котором надо делать на петлю меньше. Потом подставляем индекс второй петли - получаем номер ряда, на котором надо убирать вторую. Округление по вкусу (точнее, по уточнениям жены, потому что можно получить в результате 5, 10, можно 0, 5, можно 3, 8 и т.д.). Бонусное поле - начальный ряд, то есть номер ряда, с которого все это безобразие начнется.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 21:35 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
т.е. если надо в 11 рядах убавить 2 петли то делать это надо в рядах 5 или 6 (1*11/2)=5.5 и 11 (2*11/2=11)?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 21:37 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Вот у меня сейчас вариант "0, 6".


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 22:12 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Но это же *не* равномерно


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 22:15 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
forther писал(а):
Но это же *не* равномерно

Я это даже не собираюсь жене передавать :) Они там у себя вяжут вот так, и это считают правильным.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 22:19 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
хотя нет. 0 6 равномерно


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 22:26 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
А как оно раскидает 7 петель по 11 рядам?


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 22:38 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Дело в том, что эта задачка очень часто встречается в практике. Один из методов ее решения описан в https://ics-web.sns.ornl.gov/timing/Rep ... 20Note.pdf. И в общем случае этот алгоритм раскидывает петли иначе (равномернее!), чем наивное деление.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 22:47 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
forther писал(а):
И в общем случае этот алгоритм раскидывает петли иначе (равномернее!), чем наивное деление.

А на практике "правильные" методы раскидывания определяются женщинами, которые занимаются вязанием профессионально или в качестве хобби. Вот на что они ответят "о, нормально", то и будет использоваться. До "наивного деления" тоже не все доходят. По крайней мере, тот метод, с которым жена сравнивала результаты, был не то что наивен - я в нем дооолго узнавал обычное взятие частного и остатка. Как там было запутано - жуть берет!
Можно, конечно, сидеть с правильной математикой... но без вязаного свитера :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: За 10 минут до потребителя (правда, не Форт)
СообщениеДобавлено: Пн май 13, 2013 23:07 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
"Зачем как правильно, надо чтобы работало". "Хотели как лучше, получилось как всегда?". "Ну час-два мне эта программа точно сэкономила" - цитирую жену :)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу 1, 2  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB