<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Привычка не думать</title><link>http://my-tribune.blogspot.com/</link><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/my-tribune" /><description>Заметки о классических человеческих заблуждениях</description><language>en</language><managingEditor>noreply@blogger.com (Илья Весенний)</managingEditor><lastBuildDate>Sun, 29 Jan 2012 00:05:30 PST</lastBuildDate><generator>Blogger http://www.blogger.com</generator><openSearch:totalResults xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">416</openSearch:totalResults><openSearch:startIndex xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">1</openSearch:startIndex><openSearch:itemsPerPage xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/">25</openSearch:itemsPerPage><feedburner:info uri="my-tribune" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>my-tribune</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Неправильный ответ</title><link>http://feedproxy.google.com/~r/my-tribune/~3/63WJIIxxu3Y/blog-post_23.html</link><category>математика</category><category>образование</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Sun, 22 Jan 2012 22:34:44 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-7786936721266106244</guid><description>Добрый день.&lt;br /&gt;&lt;br /&gt;Многие родители старательно проверяют совпадение ответов, полученных их детьми при выполнении домашних заданий, с ответами, опубликованными на последних страницах учебников. Это одна из причин того, что детям иногда важнее получить правильный ответ, чем разобраться в методах решения. Бывает даже, что для получения этого самого ответа ребята делают какие-то нелепые вычисления, которые не могут никак объяснить (&amp;laquo;подгоняют под ответ&amp;raquo;).&lt;br /&gt;&lt;br /&gt;Если бы получение правильных ответов было очень важным, то учителя давали бы только самые простые задачки. Но мы же понимаем, что на элементарных однотипных вопросах можно натренировать лишь аккуратность и внимательность, но никак не получить глубокого понимания. &lt;a href="http://my-tribune.blogspot.com/2010/02/blog-post_05.html"&gt;Эффективное обучение идёт на грани знаний ученика&lt;/a&gt; (слишком сложные задачи убивают мотивацию, а от слишком простых ученики начинают скучать). Должно быть одновременно и сложно, и интересно. А в таких условиях получать только правильные ответы почти невозможно. Да и не очень нужно, так как часто бывает &lt;b&gt;полезнее сделать ошибку, а потом её хорошо понять, чем сразу &amp;laquo;случайно&amp;raquo; решить без ошибок&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Полторы недели назад мы решали полезную &lt;a href="http://my-tribune.blogspot.com/2012/01/blog-post_13.html"&gt;задачку о нескольких шкатулках&lt;/a&gt;. В ней заготовлен ряд &amp;laquo;граблей&amp;raquo;, которые способны сбить с толку очень многих. А несколько человек смогли пройти путь очень аккуратно, за что им почёт и уважение.&lt;br /&gt;&lt;br /&gt;Напомню задачку:&lt;br /&gt;1. Дано количество шкатулок N и набор вероятностей p0, p1, ... pN (их сумма равна единице).&lt;br /&gt;2. Кто-то определил количество призов (с вероятностью p0 должен быть ноль призов, с вероятностью p1 &amp;mdash; один приз, ... с вероятностью pN &amp;mdash; N призов), после чего поместил их в эти шкатулки (не более одного приза в шкатулку).&lt;br /&gt;3. Якубович выносит поднос с N шкатулками, сообщает игроку все данные из первого пункта, а затем спрашивает, с какой вероятностью игрок обнаружит в случайно открытой шкатулке приз. Игрок вычисляет эту вероятность &amp;mdash; получается P.&lt;br /&gt;4. Когда игрок открыл случайную шкатулку, он обнаружил приз (повезло). Пока радостный игрок укладывал приз себе в карман, Якубович захлопнул пустую шкатулку, после чего перемешал шкатулки на подносе.&lt;br /&gt;5. Теперь ситуация поменялась (на подносе призов стало на один меньше), поэтому игрок вновь вычислил вероятность того, что в случайной шкатулке будет приз &amp;mdash; получилось Q.&lt;br /&gt;&lt;br /&gt;Вопросы задачи состояли в том, чему равны P и Q, как они соотносятся между собой при разных ограничениях на набор pi.&lt;br /&gt;&lt;br /&gt;Первое заблуждение, которое многие отстаивали &amp;mdash; вероятность P всегда превосходит Q.&lt;br /&gt;&lt;br /&gt;Объяснение приводилось примерно такое: &amp;laquo;Если предположим что призов было k, то P = k/N, а Q = (k-1)/N. Из этого легко доказать, что Q &lt; P&amp;raquo;. Мне это напомнило высказывание одной ученицы: &amp;laquo;Так как в условии задачи не сказано, какая это трапеция, то можно считать, что она равнобедренная, тогда...&amp;raquo;. Да, иногда полезно бывает временно упростить условие задачи, чтобы лучше понять, с чем мы имеем дело. Но надо с большой осторожностью распространять результаты модифицированной задачи на исходную.&lt;br /&gt;&lt;br /&gt;Предположив, что k известно, мы превратили интересную задачу, полную изюминок, в детское упражнение. Поэтому сейчас надо провести работу над ошибками &amp;mdash; объяснить самим себе, почему приведённое выше рассуждение некорректно.&lt;br /&gt;&lt;br /&gt;Те, кого не смутила эта проблема, правильно ответили на первый вопрос задачи (чему равно P), но почти все ошиблись при вычислении Q. Итак, продолжаем &lt;a href="http://my-tribune.blogspot.com/2010/03/blog-post_30.html"&gt;ощупывать&lt;/a&gt; нашу задачку, погружаясь на следующий уровень.&lt;br /&gt;&lt;br /&gt;Рассмотрим второе заблуждение: Q = (p1*0 + p2*1 + p3*2 + ... + pN*(N-1)) / (N * (1 - p0)). Это неверный ответ, хотя многие были так рады, что легко избежали первого заблуждения, что не задумываясь попались в сети второго.&lt;br /&gt;&lt;br /&gt;Обоснование было примерно следующим:&lt;br /&gt;- после того, как один приз убрали, количество призов стало описываться новым набором q0, q1, ... qN,&lt;br /&gt;-- q0 должно быть равным p1 (вероятность того, что сейчас призов ноль такая же, как раньше была вероятность того, что приз ровно один),&lt;br /&gt;-- q1 должно быть равным p2 (вероятность того, что сейчас один приз такая же, как раньше была вероятность того, что призов ровно два),&lt;br /&gt;и т.д.&lt;br /&gt;-- qN равно нулю, так как призов сейчас не более N-1 (один уже вынули),&lt;br /&gt;- но сумма q0+q1+...+qN должна быть 1, поэтому надо &amp;laquo;отнормировать&amp;raquo; (поделить все эти qi на (1-p0)).&lt;br /&gt;- так мы получили набор вероятностей q0=p1/(1-p0), q1=p2/(1-p0), q2=p3/(1-p0)..., qN=0. Осталось только подставить эти qi в ранее полученную формулу для P.&lt;br /&gt;&lt;br /&gt;В этом рассуждении содержится ошибка, поэтому мы получили неправильную формулу для вычисления Q. А раз так, то все следующие выводы могли быть ошибочными (редкие люди смогли правильно ответить на четвёртый вопрос о случае p0=p1=...=pN).&lt;br /&gt;&lt;br /&gt;Давайте и здесь проведём работу над ошибками. Как мы наступили на эти грабли? Всё звучало (а, возможно, до сих пор звучит) так правдоподобно... Тут надо хорошо понять, что происходит с вероятностями pi, когда мы обнаружили приз в шкатулке. Кажется, что они просто &amp;laquo;сдвинулись на единичку&amp;raquo;, а на самом деле они очень заметно &amp;laquo;перераспределились&amp;raquo;.&lt;br /&gt;&lt;br /&gt;Такие рассуждения могут звучать сложно и мутно, поэтому гораздо надёжнее решить такую задачу, применив теорему Байеса (как это сделано в комментариях). Но я призываю не отказываться от подобных размышлений, так как нам надо развивать свою вероятностную интуицию. Когда мы решаем задачу &amp;laquo;методом кувалды&amp;raquo; (в данном случае, опираясь на теорему Байеса), то ошибиться можем только в вычислениях. Это полезное упражнение, но оно нас почти не развивает.&lt;br /&gt;&lt;br /&gt;А вот когда мы решаем задачу, прорываясь через неумелые подсказки &amp;laquo;здравомыслия&amp;raquo;, то хорошо растёт наше умение вовремя себя останавливать на поле с граблями. Пожалуйста, напишите в комментариях, где спрятались ошибки в объяснениях к первому и второму заблуждениям. Если можете, напишите свои рассуждения для правильного вычисления Q (естественно, без теоремы Байеса, потому что с ней и зайца можно научить задачи решать).&lt;br /&gt;&lt;br /&gt;Хорошего дня!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-7786936721266106244?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-23T10:34:44.343+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">14</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2012/01/blog-post_23.html</feedburner:origLink></item><item><title>Требовать свое</title><link>http://feedproxy.google.com/~r/my-tribune/~3/YIJRwoH9r4I/blog-post_17.html</link><category>образование</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Tue, 17 Jan 2012 01:13:23 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-5796463161756120994</guid><description>&lt;div align="right"&gt;Не повторяйте, что школу нужно облегчать.&lt;br /&gt;Учиться должно быть трудно — только тогда&lt;br /&gt;это будет полезно и может стать радостно.&lt;/div&gt;&lt;p&gt;Научный редактор журнала «Эксперт» Александр Привалов написал очередную статью об образовании. Мне кажется, с ней стоит ознакомиться каждому, кто растит или планирует растить детей в России.&lt;br /&gt;&lt;br /&gt;Приведу несколько цитат.&lt;br /&gt;&lt;br /&gt;Начинает автор довольно мрачно. Сначала о последовательности и профессионализме чиновников: «&lt;i&gt;... Этих людей не гонят не потому, что у нас вообще мало кого гонят. Будучи некомпетентны в образовании, они владеют иными, самыми востребованными компетенциями. Они умеют, презрев содержательную сторону любого вопроса (тем легче, чем меньше в ней понимают), сосредоточиться на его даже не экономическом, а бухгалтерском аспекте&lt;/i&gt;».&lt;br /&gt;&lt;br /&gt;Потом объясняет, почему элиту эта проблема мало задевает: «&lt;i&gt;... поскольку дети Серьёзных Людей всё больше будут обучаться вне России, то нет причины особенно стараться. И то (сравнительно небольшое) количество взаправду образованных спецов, что всё-таки потребуется на этой территории, проще также обучить за границей&lt;/i&gt;».&lt;br /&gt;&lt;br /&gt;Далее вспоминает о похожем и тоже очень важном пласте проблем: «&lt;i&gt;... Стоит подчеркнуть: ничего уникального наш беглый анализ не обнаружил. Так, обернувшись на реформу здравоохранения, мы увидим всё то же самое: и отсутствие системности, и примат бухгалтерии, и беспардонное верховенство чиновника. И то же яростное нежелание слушать кого-либо, кроме самих себя. Вспомните: весной на Форуме медработников доктор Рошаль посмел — в присутствии самого премьера! — высказать несколько критических замечаний: что, мол, хорошо бы наконец обсудить концепцию развития здравоохранения; что не всё, мол, в порядке с врачебными кадрами и проч. Так заслуженного доктора чуть не сожрали («Да кто он такой, этот Рошаль! Да как он смеет! Да по чьему заказу, да на чью мельницу?») — и сожрали бы, кабы не чуть снисходительное заступничество Путина&lt;/i&gt;».&lt;br /&gt;&lt;br /&gt;Но не всё так плохо. Цитата: «&lt;i&gt;Сейчас в России, по дружным оценкам самых разных людей, от 10 до 15 процентов школ, где детей действительно учат. Дети там не только сдают какие угодно Минобру тесты, но и взаправду получают знания&lt;/i&gt;». Понятно, что этого мало. Но хорошо хоть остались такие места, в которых «хранится знание о том, как надо». Наша задача поддержать такие школы и те, которые к ним стараются тянуться. Тогда может их станет не 10-15, а уже 15-20 процентов.&lt;br /&gt;&lt;br /&gt;Александр приводит несколько примеров успешного противодействия опасным инициативам, чтобы подтвердить сомневающимся, что влиять на построение системы образования можно. А раз так, то надо&lt;br /&gt;1) точнее определиться, чего же мы (общество) хотим,&lt;br /&gt;2) влиять не только в запредельных случаях, но и пресекать обычные глупости.&lt;br /&gt;&lt;br /&gt;Надеюсь, вы уже прочитали или захотите &lt;a href="http://expert.ru/expert/2012/02/trebovat-svoe/"&gt;прочитать статью целиком&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;И немножко от себя о слаженной деятельности министерства образования и науки: в прошлом году довелось мне наблюдать очень грустную картину &amp;mdash; &lt;b&gt;в институте нашлись ставки только для трети молодых кандидатов наук, поэтому две трети вынуждены были уехать в научные центры других стран&lt;/b&gt; (и это не &lt;a href="http://my-tribune.blogspot.com/2009/11/blog-post_11.html"&gt;игры со статистикой&lt;/a&gt;!). Поясню, чтобы не было сомнений: аспиранты три года работали в институте, разрабатывали свои темы, публиковали содержательные статьи, докладывались на научных конференциях, писали текст кандидатской диссертации, после чего успешно её защитили. Но продолжить работать в своём родном институте они не смогли, потому что последние годы у нас идёт систематическое сокращение ставок. А раз так, то трудоустроить было возможно только треть из этих молодых учёных. Зарубежные же институты не задуряются, а спокойно забирают себе наши свежие профессиональные кадры, в образование которых Россия только что вложила немалую сумму.&lt;br /&gt;&lt;br /&gt;Но я, естественно, не критикую иностранцев, потому что в данном случае Россия сама указала на дверь большой группе молодых учёных. И не надо говорить, что эти кандидаты наук могли поискать работу в институтах других городов России. Да, могли. Но если человек уже вынужден существенно менять свою жизнь, то ему может оказаться проще поехать в Европу или Америку (хоть с жильём проблем не будет), чем переезжать в другой город России, где &amp;laquo;всё почти такое же, как было дома, только друзья и родные далеко&amp;raquo;. Простейший способ не вытряхивать из России учёных &amp;mdash; не трясти их.&lt;br /&gt;&lt;br /&gt;Хорошего дня!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-5796463161756120994?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-17T13:13:23.682+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2012/01/blog-post_17.html</feedburner:origLink></item><item><title>Невозможное возможно!</title><link>http://feedproxy.google.com/~r/my-tribune/~3/zvrzS7fO-Go/blog-post_13.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Thu, 12 Jan 2012 20:39:14 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-8620582859684246211</guid><description>Добрый день, дорогие любители теории вероятностей.&lt;br /&gt;&lt;br /&gt;Сегодня мы &lt;a href="http://my-tribune.blogspot.com/2010/12/blog-post.html"&gt;снова играем с Якубовичем&lt;/a&gt; и его шкатулками. Прелесть этой задачки в том, что опять что-то кажется очевидным, а оно не только таковым не является, но ещё и, вообще говоря, оказывается ошибочным.&lt;br /&gt;&lt;br /&gt;Итак, Якубович предлагаем нам поднос с N шкатулками (N &amp;mdash; натуральное число больше единицы). В каждой шкатулке или находится приз, или вообще ничего нет. Другими словами, есть N шкатулок и сколько-то призов (не больше, чем N), причём в одной шкатулке не может лежать больше одного приза.&lt;br /&gt;&lt;br /&gt;Далее состоялся важный диалог:&lt;br /&gt;(Якубович) - &lt;i&gt;Как вы думаете, с какой вероятностью в случайно выбранной шкатулке окажется приз?&lt;/i&gt;&lt;br /&gt;(игрок) - &lt;i&gt;Я не знаю, потому что не имею никакой информации о количестве призов в этих шкатулках.&lt;/i&gt;&lt;br /&gt;(Якубович) - &lt;i&gt;Верно! Но я сообщу эту информацию: с вероятностью p0 в шкатулках нет призов, с вероятностью p1 в шкатулках 1 приз, с вероятностью p2 &amp;mdash; 2 приза и так далее.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Другими словами, игрок знает N (т.к. уже посчитал количество шкатулок на подносе) и только что узнал все вероятности p0, p1, p2 и так далее.&lt;br /&gt;&lt;br /&gt;(игрок) - &lt;i&gt;Теперь я могу посчитать. Вероятность того, что в случайно открытой шкатулке будет приз, равна P.&lt;/i&gt; (&lt;b&gt;Чему равно P? Это первый вопрос из окончания заметки&lt;/b&gt;)&lt;br /&gt;(Якубович) - &lt;i&gt;Отлично. Открывайте шкатулку!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Когда игрок открыл случайную шкатулку, он обнаружил приз (повезло). Пока радостный игрок укладывает приз себе в карман, хитрый Якубович стремительно захлопывает ставшую пустой шкатулку, после чего быстро-быстро перемешивает шкатулки на подносе.&lt;br /&gt;&lt;br /&gt;(Якубович) - &lt;i&gt;Поздравляю с призом! Теперь, когда призов на подносе стало на один меньше, что стало с вероятностью того, что в случайно открытой шкатулке будет приз?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Тут я предлагаю читателю задуматься. В самом деле, если шкатулок осталось прежнее количество, а призов стало на один меньше, то кажется вполне естественным, что вероятность &lt;i&gt;уменьшилась&lt;/i&gt;?.. Да? Точно? Уверены?&lt;br /&gt;&lt;br /&gt;Тогда продолжаем наш разговор!&lt;br /&gt;&lt;br /&gt;(Якубович) - &lt;i&gt;Какая теперь вероятность найти приз в случайно выбранной шкатулке?&lt;/i&gt;&lt;br /&gt;(игрок) - &lt;i&gt;У меня есть все данные, чтобы её посчитать. Получилось Q.&lt;/i&gt; (&lt;b&gt;Чему равно Q? Это второй вопрос.&lt;/b&gt;)&lt;br /&gt;(Якубович) - &lt;i&gt;Интересно у вас получилось! Выходит, что Q больше P? Вероятность выросла?&lt;/i&gt;&lt;br /&gt;(игрок) - &lt;i&gt;Да, она выросла.&lt;/i&gt;&lt;br /&gt;(Якубович) - &lt;i&gt;Ну тогда открывайте ещё одну шкатулку&lt;/i&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Что случилось дальше мы не знаем, потому что началась рекламная пауза. Но и увиденного уже хватает, чтобы подумать.&lt;br /&gt;&lt;br /&gt;Вопросы следующие:&lt;br /&gt;1. Какую вероятность P назвал игрок, когда Якубович спросил его о вероятности нахождения приза в случайной шкатулке?&lt;br /&gt;2. Какую вероятность Q назвал игрок после выигрыша, когда Якубович опять спросил его о вероятности нахождения приза в случайной шкатулке?&lt;br /&gt;3. Может ли Q быть равным P? Может ли Q быть больше P? Приведите примеры или способ их построить.&lt;br /&gt;4. Может ли Q быть равным P, если p0=p1=p2=...=pN? Может ли Q быть больше P, если p0=p1=p2=...=pN? Приведите примеры или способ их построить.&lt;br /&gt;5. Почему нам кажется, что Q обязано быть меньше P?&lt;br /&gt;&lt;br /&gt;Хорошей вероятностной пятницы!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-8620582859684246211?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-13T08:39:14.617+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">50</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2012/01/blog-post_13.html</feedburner:origLink></item><item><title>Антисемейная комедия «О чём ещё говорят мужчины»</title><link>http://feedproxy.google.com/~r/my-tribune/~3/bIMR6VVsB64/blog-post.html</link><category>кино</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Mon, 09 Jan 2012 02:26:35 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-8550682815475206184</guid><description>Добрый день!&lt;br /&gt;&lt;br /&gt;Недавно мне несколько раз прислали очередной молодёжный спам с примерно таким содержанием: «Россия на таких-то местах в мире по добыче газа, нефти, платины и т.д., а на таких-то местах по количеству сирот, потреблению сигарет, убыли населения и т.д». Ну и из этого текста, как это обычно бывает в таких салатах из утверждений без ссылок на источники, делается вывод, что надо скорее всё крушить (ну и просьба переслать текст всем знакомым, конечно).&lt;br /&gt;&lt;br /&gt;Приходил мне такой спам от бездетных знакомых, являющихся единственными в семье, у которых родители тоже являются единственными в семье. Причём речь идёт об обеспеченных людях, которые не догадываются задать самим себе простой вопрос: &lt;i&gt;если в России население убывает из-за того, что доходы от продажи сырья разворованы, то почему же богатые семьи такие маленькие?&lt;/i&gt; И тут мы плавно переходим к фильму «О чём ещё говорят мужчины».&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Краткое содержание&lt;/b&gt;: четыре вполне состоятельных сорокалетних мужчины успели дать жизнь всего двум детям (из первого фильма мы знаем, что две дочки есть только у героя, которого играл Леонид Барац). А остальная их жизнь заполнена обманом близких им женщин, своих друзей и самих себя. Всё.&lt;br /&gt;&lt;br /&gt;Это как в фильме «Ирония судьбы. Продолжение» &amp;mdash; герои вроде бы выглядят как нормальные люди, но сами давно уже действуют по каким-то звериным правилам. Для них любая подлость выглядит допустимой, потому что они не имеют стыда. Это смотрится мерзко и неестественно.&lt;br /&gt;&lt;br /&gt;Весь фильм герои рассказывают друг другу о том, как им хорошо/плохо/непонятно с любовницами, как они из-за этого радуются/переживают/страдают или переживают из-за того, что не страдают.&lt;br /&gt;&lt;br /&gt;В такие моменты я вспоминаю сериал «Бригада»: ловкие, умные, сильные, решительные и интересные люди притягивают, призывают подражать себе. В таких фильмах традиционно отсутствует столь же притягательный &lt;b&gt;образ нормального человека&lt;/b&gt;. Почему-то именно жулики, обманщики, предатели и убийцы показываются выпуклыми и яркими. И не надо на это отвечать словами «люди же не идиоты, они не повторяют то, что видят по телевизору». Разные люди способны на разные действия.&lt;br /&gt;&lt;br /&gt;В первом фильме кроме смакования измен было хоть что-то. Нет, мне и там было досадно видеть, что четыре вроде бы неглупых человека едут всю дорогу, не пользуясь ремнями безопасности (хоть перед самой аварией двое на переднем ряду автомобиля неожиданно пристегнулись). Но я совершенно не ощущаю, что первый фильм «О чём говорят мужчины» был о том, что беспечные люди после ДТП прекрасно себя чувствуют. И ещё в том фильме не было всепоглощающей безнадёги. А в этом она есть.&lt;br /&gt;&lt;br /&gt;Зачем это называть комедией? В моей голове Нонна Гришаева крепко связана с чистым юмором (как Татьяна Лазарева, например), поэтому я очень рад был осознать, что она не участвовала в этой пропаганде обмана близких. Мне приятно думать, что это из-за того, что она решила не сниматься в плохом фильме ни за какие деньги.&lt;br /&gt;&lt;br /&gt;Размышляя о том, кого в этом фильме можно считать положительным персонажем, я вспомнил было единственный светлый момент &amp;mdash; один из первых разговоров между двумя жёнами главных героев. В нём выяснилось, что они не способны на измену. Увы, они легко о ней размышляют в романтическом смысле (цветы, рестораны), но хотя бы имеют достаточно брезгливости, чтобы не допускать мысли о физическом контакте с каким-то другим мужчиной. Но потом эти дамы благополучно напились до неприличного состояния, сели за руль... Короче, опустились на уровень всех остальных безнадёжных персонажей.&lt;br /&gt;&lt;br /&gt;Главные герои обманывают и в важном, и в мелочах. Новогодние &lt;a href="http://my-tribune.blogspot.com/2008/02/blog-post_28.html"&gt;подарки для лучших друзей они делают не искренне&lt;/a&gt;, а из-под палки (передаривая по кругу прошлогодние свёртки, даже не удосужившись их развернуть). Они говорят, что любят своих жён и ценят дружбу друг друга, но тут же делами показывают своё безразличие.&lt;br /&gt;&lt;br /&gt;Зрителю должно быть противно ассоциировать себя с любым из героев этой ленты. Если бы фильм говорил что-то вроде &amp;laquo;&lt;b&gt;Вот таким неудачником можно стать, если жить, не подключая голову&lt;/b&gt;&amp;raquo;, то я бы поверил, что в этом и была цель авторов. Мол, зритель, пока молодой, посмотри, во что можно превратиться к сорока годам, не повторяй чужих ошибок. Но фильм не говорит, а кричит: &amp;laquo;&lt;b&gt;Живи именно так, потому что всё остальное &amp;mdash; вообще не жизнь&lt;/b&gt;&amp;raquo;.&lt;br /&gt;&lt;br /&gt;А я не хочу, чтобы реальность таких фильмов вылезала из экранов. Мне нравится жить среди людей, которые создали крепкие семьи с двумя-пятью детьми. Совершенно незачем руками очень ярких и живых актёров навязывать предательскую манеру поведения (ещё и зрителей обманули &amp;mdash; назвали это комедией).&lt;br /&gt;&lt;br /&gt;Я хочу, чтобы этот фильм собрал как можно меньше денег в прокате, потому что если он окажется шибко прибыльным, то наверняка ведь будет снята столь же неприятная третья часть. Не ходите на этот фильм, так как это не просто трата времени, но и &lt;b&gt;поддержка антисемейных действий в России&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Почему так много текста написано по поводу очередного ситкома? Потому что я имел глупость ожидать хорошего продолжения первого фильма от талантливой команды. Я ждал не нелепый ситком, а тонкую и продуманную историю, украшенную осмысленными диалогами, скетчами &amp;laquo;как это могло быть&amp;raquo; и так далее. А они меня обманули (как обычные производители сливочного масла, которые сначала делают качественный товар, но через пару-тройку месяцев вынуждают искать себе замену). Они меня успешно обманули, поэтому я негодую.&lt;br /&gt;&lt;br /&gt;На этом мы заканчиваем с кино, потому что в этом году нам предстоит решить много интересных проблем. Хорошего вам окончания празднований, приходите в рабочий режим :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-8550682815475206184?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2012-01-09T14:26:35.750+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">44</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2012/01/blog-post.html</feedburner:origLink></item><item><title>Начни вчера</title><link>http://feedproxy.google.com/~r/my-tribune/~3/dDf2Y41Bqwg/blog-post_31.html</link><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Sat, 31 Dec 2011 00:21:16 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-2424946903048435351</guid><description>Добрый день!&lt;br /&gt;&lt;br /&gt;В разных странах можно встретить самые неожиданные традиции:&lt;br /&gt;- кто-то старается одеваться в платья и рубахи в горошек, чтобы его круглой формой притянуть в свою жизнь круглые же деньги,&lt;br /&gt;- кто-то бьёт посуду о двери близких, чтобы сделать им приятное (а потом весь год с теплом вспоминают огромную кучу осколков, образовавшуюся под дверью за один день),&lt;br /&gt;- кто-то сметает в магазинах ненужные товары, потому что в чёрную пятницу они дешевле,&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;Список странных национальных особенностей можно продолжать долго... Но есть одна очень распространённая традиция, которая присуща почти всем народам &amp;mdash; &lt;b&gt;начинать что-то делать с первого января&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Люди искренне верят, что запишутся в спортзал с нового года (ага, именно 1 января работают все спортивные клубы ), что начнут соблюдать режим (ещё смешнее, так как сразу после бессонной новогодней ночи это особенно трудно), что перестанут играть в онлайн-игры (ага, и пропустят традиционный новогодний рейд?), что станут лучше следить за своим здоровьем (и начнут это, как следует налопавшись с новогоднего стола)...&lt;br /&gt;&lt;br /&gt;И этот &lt;a href="http://my-tribune.blogspot.com/2008/02/blog-post_11.html"&gt;самообман&lt;/a&gt; может работать не неделями, а месяцами. Иногда человек в августе позволяет себе говорить &amp;laquo;вот с 1 января я с этим завяжу&amp;raquo;... Видели такое?&lt;br /&gt;&lt;br /&gt;Редкому человеку везёт осознать правильную последовательность действий до того, как будет пора действовать. Обычно мы узнаём о том, как надо было поступить, когда уже поздно. Получается, что довольно часто мы уже отстаёт от правильного графика, потому что не располагали необходимой информацией или не успели сообразить вовремя. Нормальные люди, поняв, что именно надо делать, как можно скорее бы постарались скомпенсировать отставание, &lt;b&gt;но у нас же есть традиция&lt;/b&gt; &amp;mdash; начни с завтрашнего утра, начни с понедельника, начни с первого числа... И самая эффективная отговорка для самого себя &amp;mdash; начни с первого января!&lt;br /&gt;&lt;br /&gt;Я желаю вам не столько хорошего празднования нового года (хотя и это тоже), сколько именно хорошего года. Сейчас как раз есть чуть больше возможностей, чтобы пообщаться с близкими людьми, на которых в течение года почему-то не находится времени... Пусть в следующем году такого тёплого общения у вас будет больше, чем в предыдущие.&lt;br /&gt;&lt;br /&gt;Я желаю вам удачи. Иногда все мы делаем глупости. Пусть вам везёт осознать, какая именно глупость и с какими последствиями могла произойти, но самих этих последствий удастся избежать. Обе компоненты важны: надо и осознать свою ошибку, и избежать проблем.&lt;br /&gt;&lt;br /&gt;Я желаю вам всех разновидностей здоровья. Тело должно себя хорошо чувствовать, чтобы голова стремилась ввысь, не отвлекаясь на мелочи. А голова должна хорошо знать, куда и зачем мы идём, тогда и тело найдёт ресурсы для любой задачи.&lt;br /&gt;&lt;br /&gt;Живите счастливо! И начните делать это не с 1 января, а хотя бы прямо сейчас (или даже со вчерашнего дня :)&lt;br /&gt;&lt;br /&gt;До встречи в 2012 году!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-2424946903048435351?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-31T12:21:16.069+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">5</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/12/blog-post_31.html</feedburner:origLink></item><item><title>Аукцион с камнями</title><link>http://feedproxy.google.com/~r/my-tribune/~3/jDkVS06ZrEA/blog-post_26.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Sun, 25 Dec 2011 21:58:46 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-6929368541065338163</guid><description>Добрый день.&lt;br /&gt;&lt;br /&gt;За новогодним столом бывает здорово поиграть в какую-нибудь весёлую игру. Например, можно устроить аукцион, в котором побеждает тот, кто сможет закодировать пару чисел из наибольшего диапазона. Здорово звучит?&lt;br /&gt;&lt;br /&gt;Цитата из книги &amp;laquo;Что делать, если вас не считают занудой&amp;raquo;: &amp;laquo;&lt;i&gt;Встретив филологов или историков, расскажите им &lt;a href="http://text-humour.blogspot.com/2011/12/10.html"&gt;анекдот про марсианина&lt;/a&gt;. Обязательно объясните им, почему это смешно. Убедите их поделиться этим анекдотом с друзьями. Проконтролируйте, чтобы они правильно объяснили своим друзьям, почему этот анекдот смешной&lt;/i&gt;&amp;raquo;.&lt;br /&gt;&lt;br /&gt;Но возвращаемся к нашему аукциону. Недавно Константин Кноп &lt;a href="http://knop.livejournal.com/273500.html?mode=reply"&gt;напомнил&lt;/a&gt; чудесную формулировку (осторожно, там в комментариях сказано уже слишком много!):&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Секретный код к любому из сейфов ФБР &amp;mdash; это натуральное число от 1 до 1700. Двое шпионов узнали по одному коду каждый и решили обменяться информацией. Согласовав заранее свои действия, они встретились на берегу реки возле кучи из 26 камней. Сначала первый шпион кинул в воду несколько камней, потом - второй, потом опять первый и так далее до тех пор, пока камни не кончились. После этого шпионы разошлись. Каким образом могла быть передана информация? (Шпионы не сказали друг другу ни слова.)&lt;/b&gt; (Авторы - Дмитрий Челкак и Константин Кохась, СПбМО 2002, отборочный тур, 10 класс)&lt;br /&gt;&lt;br /&gt;Мне в ней не нравятся две вещи:&lt;br /&gt;- наших разведчиков назвали шпионами,&lt;br /&gt;- задана граница 1700.&lt;br /&gt;&lt;br /&gt;Поэтому давайте чуть-чуть переформулируем задачу:&lt;br /&gt;- два человека знают целые числа из диапазона от 1 до N,&lt;br /&gt;- они поочерёдно пишут на доске положительные целые числа, пока сумма всех записанных чисел не станет равна 26,&lt;br /&gt;- давным давно они учились в одном классе, поэтому заранее договорились, как кодировать данные.&lt;br /&gt;&lt;br /&gt;Вопросы:&lt;br /&gt;&lt;b&gt;1. Как они могли бы обменяться парой чисел при N = 1700?&lt;br /&gt;2. Для какого максимального N вы можете придумать способ кодирования?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Эта задачка хороша тем, что когда кажется, что &amp;laquo;ну уж дальше N увеличить невозможно&amp;raquo;, обязательно находится кто-то, кто &lt;b&gt;опять&lt;/b&gt; смог поднять верхнюю границу :)&lt;br /&gt;&lt;br /&gt;(Кстати, не так давно мы решали другую забавную &lt;a href="http://my-tribune.blogspot.com/2011/08/blog-post_12.html"&gt;школьную задачку&lt;/a&gt;, имеющую отношение к теории кодирования)&lt;br /&gt;&lt;br /&gt;Хорошего начала предпраздничной недели!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-6929368541065338163?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-26T09:58:46.630+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">71</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/12/blog-post_26.html</feedburner:origLink></item><item><title>Как считать вероятности?</title><link>http://feedproxy.google.com/~r/my-tribune/~3/MOusFW5S62A/blog-post_18.html</link><category>математика</category><category>образование</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Mon, 19 Dec 2011 23:27:02 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-5992619882937688937</guid><description>Добрый день!&lt;br /&gt;&lt;br /&gt;Неделю назад мы провели небольшой опрос на тему &amp;laquo;&lt;a href="http://my-tribune.blogspot.com/2011/12/blog-post_10.html"&gt;Проще выиграть три раза из четырёх или пять раз из восьми?&lt;/a&gt;&amp;raquo;&lt;br /&gt;&lt;br /&gt;Опрос показал, что заметная часть подписчиков не только изучала, но и успешно освоила азы теории вероятностей. Если вы к ним относитесь, то можете смело переходить к последним двум абзацам заметки.&lt;br /&gt;&lt;br /&gt;А остальных я приглашаю разобраться в этой задачке. Напомню, что игра у нас была очень простой &amp;mdash; мы несколько раз подбрасывали симметричную монетку, после чего считали, сколько раз выпал &amp;laquo;орёл&amp;raquo; (т.е. сколько раз мы выиграли).&lt;br /&gt;&lt;br /&gt;В комментариях можно прочитать разные мнения:&lt;br /&gt;- кто-то считает, что из того, что подбрасывания монетки друг на друга не влияют (что верно), следует, что выиграть 3 раза из 4, 6 раз из 8, 5 раз из 8 можно с равными вероятностями (что неверно),&lt;br /&gt;- кто-то считает, что раз 3 к 4 относится как 6 к 8, то одинаковы вероятности выигрыша 3 раза из 4 и 6 раз из 8,&lt;br /&gt;- кому-то очевидно, что 3 раза из 4 можно выиграть с вероятностью 1/16, а хоть 5, хоть 6 из восьми можно выиграть с вероятностью 1/256.&lt;br /&gt;&lt;br /&gt;Короче, разных мнений много, но разводить демократию для выбора правильного ответа мы здесь не будем. Давайте сначала выясним примерный ответ, проведя эксперимент (на JS, &lt;a href="http://my-tribune.blogspot.com/2009/02/blog-post_17.html"&gt;как обычно&lt;/a&gt;):&lt;br /&gt;&lt;br /&gt;&lt;pre style='color:#000000;background:#ffffff;'&gt;&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;script type&lt;span style='color:#808030; '&gt;=&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;text/javascript&lt;/span&gt;&lt;span style='color:#800000; '&gt;"&lt;/span&gt;&lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;n &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;100000&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;  nb3of4 &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;  nb6of8 &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;  nb5of8 &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;i &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i &lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt; n&lt;span style='color:#800080; '&gt;;&lt;/span&gt; i&lt;span style='color:#808030; '&gt;++&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#800080; '&gt;{&lt;/span&gt;&lt;br /&gt;  nbWin &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;j &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;0&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; j &lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt; &lt;span style='color:#008c00; '&gt;4&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; j&lt;span style='color:#808030; '&gt;++&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;if&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#797997; '&gt;Math&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;random&lt;/span&gt;&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; &lt;span style='color:#008000; '&gt;0.5&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;br /&gt;      nbWin&lt;span style='color:#808030; '&gt;++&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style='color:#800000; font-weight:bold; '&gt;if&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;nbWin &lt;span style='color:#808030; '&gt;==&lt;/span&gt; &lt;span style='color:#008c00; '&gt;3&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;br /&gt;    nb3of4&lt;span style='color:#808030; '&gt;++&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style='color:#800000; font-weight:bold; '&gt;for&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;j &lt;span style='color:#808030; '&gt;=&lt;/span&gt; &lt;span style='color:#008c00; '&gt;4&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; j &lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt; &lt;span style='color:#008c00; '&gt;8&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt; j&lt;span style='color:#808030; '&gt;++&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;br /&gt;    &lt;span style='color:#800000; font-weight:bold; '&gt;if&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#797997; '&gt;Math&lt;/span&gt;&lt;span style='color:#808030; '&gt;.&lt;/span&gt;&lt;span style='color:#800000; font-weight:bold; '&gt;random&lt;/span&gt;&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt; &lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt; &lt;span style='color:#008000; '&gt;0.5&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;br /&gt;      nbWin&lt;span style='color:#808030; '&gt;++&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style='color:#800000; font-weight:bold; '&gt;if&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;nbWin &lt;span style='color:#808030; '&gt;==&lt;/span&gt; &lt;span style='color:#008c00; '&gt;5&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;br /&gt;    nb5of8&lt;span style='color:#808030; '&gt;++&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;  &lt;span style='color:#800000; font-weight:bold; '&gt;if&lt;/span&gt; &lt;span style='color:#808030; '&gt;(&lt;/span&gt;nbWin &lt;span style='color:#808030; '&gt;==&lt;/span&gt; &lt;span style='color:#008c00; '&gt;6&lt;/span&gt;&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;br /&gt;    nb6of8&lt;span style='color:#808030; '&gt;++&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#800080; '&gt;}&lt;/span&gt;&lt;br /&gt;document&lt;span style='color:#808030; '&gt;.&lt;/span&gt;write&lt;span style='color:#808030; '&gt;(&lt;/span&gt;&lt;span style='color:#0000e6; '&gt;'pA = '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; nb3of4&lt;span style='color:#808030; '&gt;/&lt;/span&gt;n &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;', pB = '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; nb6of8&lt;span style='color:#808030; '&gt;/&lt;/span&gt;n &lt;span style='color:#808030; '&gt;+&lt;/span&gt; &lt;span style='color:#0000e6; '&gt;', pC = '&lt;/span&gt; &lt;span style='color:#808030; '&gt;+&lt;/span&gt; nb5of8&lt;span style='color:#808030; '&gt;/&lt;/span&gt;n&lt;span style='color:#808030; '&gt;)&lt;/span&gt;&lt;span style='color:#800080; '&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style='color:#808030; '&gt;&amp;lt;&lt;/span&gt;&lt;span style='color:#808030; '&gt;/&lt;/span&gt;script&lt;span style='color:#808030; '&gt;&gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Скопируйте этот текст в файл test.html, после чего откройте его браузером (на медленных компьютерах может работать несколько секунд).&lt;br /&gt;&lt;br /&gt;Это простая программа проводит 100000 следующих экспериментов:&lt;br /&gt;сначала подбрасывает монетку четыре раза (и если три раза выпал &amp;laquo;орёл&amp;raquo;, то увеличивает на один счётчик nb3of4), а потом подбрасывает её ещё четыре раза (и тут уже увеличивает на единицу nb5of8 или nb6of8, если победа была ровно пять или ровно шесть раз из восьми, соответственно). В последней строке программа выводит три искомых числа (отношение числа побед заданное число раз к общему количеству проведённых экспериментов).&lt;br /&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px;width: 300px; height: 234px;" src="http://2.bp.blogspot.com/-BG-iOUxO5r4/Tu39sol8-nI/AAAAAAAAAd4/r0hBY6sb_9s/s400/probability.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5687480847691479666" /&gt;У меня этот эксперимент дал следующие результаты:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;b&gt;pA = 0.24865,&lt;br /&gt;&amp;nbsp;&amp;nbsp;pB = 0.10918,&lt;br /&gt;&amp;nbsp;&amp;nbsp;pC = 0.21898&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;Вроде бы уже понятно, что вероятность события А больше В, а В больше Б, но как раз тут важно не остановиться, а понять, что означают эти числа. Давайте попробуем в первой строке программы заменить число 100000 на 10 (т.е. заметно сократим число экспериментов). У меня получались следующие результаты при n=10:&lt;br /&gt;pA = 0.2, pB = 0, pC = 0.1,&lt;br /&gt;pA = 0.2, pB = 0, pC = 0.5,&lt;br /&gt;pA = 0.1, pB = 0.2, pC = 0.3,&lt;br /&gt;pA = 0.4, pB = 0, pC = 0.2,&lt;br /&gt;pA = 0.3, pB = 0.1, pC = 0.4.&lt;br /&gt;&lt;br /&gt;Как видите, в первой и четвёртой строчках наша теория &amp;laquo;pA &gt; pC &gt; pB&amp;raquo; подтвердилась, а в трёх других строчках не подтвердилась. Что это означает? А это означает это, что мы провели эксперимент с низкой степенью достоверности.&lt;br /&gt;&lt;br /&gt;Если вы читали результаты социологических опросов, то могли обратить внимание на примерно такую фразу: &amp;laquo;Статистическая погрешность подобных опросов не превышает 3.4%&amp;raquo;. Люди, изучившие математическую статистику, знают, как вычислить вероятность того, что результаты опроса нескольких тысяч человек не слишком отличаются от результатов опроса всех граждан страны. Интуитивно мы понимаем, что по мнению 10 случайных опрошенных нельзя надёжно понять, что думают люди в стране, поэтому хотим увеличить число опрошенных. Проблема в том, что всех опросить почти невозможно (очень затратно), поэтому приходится искать компромисс.&lt;br /&gt;&lt;br /&gt;Так и у нас с этой задачкой: если мы проводим всего 10 экспериментов, то вероятность получить правильный результат не очень высока. Преимущество же наше в том, что мы можем &amp;laquo;опросить&amp;raquo; всех, что позволит получить совершенно точный ответ.&lt;br /&gt;&lt;br /&gt;Итак, кто же эти все? Это &lt;b&gt;элементарные события&lt;/b&gt;. Мы можем перечислить все возможные &lt;b&gt;равновероятные&lt;/b&gt; ситуации для нашей игры, а потом посчитать количество интересных. Например, если мы будем обозначать победу единицей, а поражение нулём, то список элементарных исходов для четырёх бросков монеты будет выглядеть так:&lt;br /&gt;- 0000,&lt;br /&gt;- 0001,&lt;br /&gt;- 0010,&lt;br /&gt;- 0011,&lt;br /&gt;- 0100,&lt;br /&gt;- 0101,&lt;br /&gt;- 0110,&lt;br /&gt;- &lt;b&gt;0111&lt;/b&gt;,&lt;br /&gt;- 1000,&lt;br /&gt;- 1001,&lt;br /&gt;- 1010,&lt;br /&gt;- &lt;b&gt;1011&lt;/b&gt;,&lt;br /&gt;- 1100,&lt;br /&gt;- &lt;b&gt;1101&lt;/b&gt;,&lt;br /&gt;- &lt;b&gt;1110&lt;/b&gt;,&lt;br /&gt;- 1111.&lt;br /&gt;&lt;br /&gt;Поскольку монетка симметричная, а результаты предыдущих бросков не влияют на следующие, то все эти 16 ситуаций имеют равную вероятность. И так как в четырёх случаях из шестнадцати (выделенные строки) победа случается ровно три раза (три единички в строке), то и вероятность таких событий 4/16 = 0.25. Примерно это число мы и увидели в эксперименте при большом n.&lt;br /&gt;&lt;br /&gt;Аналогично можно перечислить все расклады для 8 бросков монетки:&lt;br /&gt;- 00000000,&lt;br /&gt;- 00000001,&lt;br /&gt;...&lt;br /&gt;- 11111110&lt;br /&gt;- 11111111.&lt;br /&gt;&lt;br /&gt;Далее можно просто посчитать количество строк, в которых ровно 5 и ровно 6 единичек. Знатоки двоичной системы счисления уже давно поняли, что строк будет 2^8 = 256. Понятно, что работа была бы большая, но вполне выполнимая. Но давайте лучше найдём более простой способ посчитать число таких строк.&lt;br /&gt;&lt;br /&gt;Начнём с &amp;laquo;6 из 8&amp;raquo;. Нам проще будет посчитать, в каком количестве строк ровно два нуля (это то же самое, что и ровно 6 единиц). Первый нолик можно поставить на одно из восьми мест, а второй нолик &amp;mdash; на одно из оставшихся семи мест. Получается, что два нолика можно разместить на восьми местах 8*7 способами. Надо только учесть, что каждый расклад мы посчитали дважды (сначала первый нолик левее второго, а потом на тех же местах второй нолик левее первого). Поэтому наш ответ надо ещё разделить на 2. Получается, что вероятность выиграть 6 раз из 8 равна 4*7/256 = 28/256 = 7/64 = 0,109375.&lt;br /&gt;&lt;br /&gt;Теперь понятно, как посчитать число строк с пятью единичками на восьми местах. Будем считать, сколько у нас строк ровно с тремя нулями:&lt;br /&gt;первый нолик можно поставить одним из 8 способов, второй &amp;mdash; одним из 7 оставшихся способов, а третий &amp;mdash; на одно из шести свободных мест. Получается 8*7*6 вариантов. Но здесь мы опять получили завышенную оценку, так как посчитали каждую возможную конфигурацию 6 раз (три нолика могут занять одни и те же позиции шестью способами: абв, авб, бав, бва, ваб, вба). Это значит, что наш ответ надо поделить на 6. Получается, что вероятность выиграть 5 раз из 8 равна 8*7/256 = 56/256 = 7/32 = 0,21875.&lt;br /&gt;&lt;br /&gt;Как видите, наши первые эксперименты неплохо предсказали точный результат. Но тут важнее другое:&lt;br /&gt;- мы вспомнили/узнали, как можно точно посчитать вероятность события (перечислить все возможные равновероятные события, посчитать, сколько из них нам интересны, поделить второе на первое),&lt;br /&gt;- на простом примере убедились, что это имеет смысл,&lt;br /&gt;- лишний раз увидели, что вроде бы очевидные рассуждения &lt;a href="http://my-tribune.blogspot.com/2009/07/blog-post_16.html"&gt;могут приводить к неправильному ответу&lt;/a&gt; (в &lt;a href="http://my-tribune.blogspot.com/2011/12/blog-post_10.html#comments"&gt;комментариях к прошлой заметке&lt;/a&gt; есть немало сообщений, содержащих неправильные объяснения ложных утверждений).&lt;br /&gt;&lt;br /&gt;Дело в том, что в теории вероятностей ориентируется не так уж и много людей, но &amp;laquo;применить здравый смысл&amp;raquo; и &amp;laquo;порассуждать о нормальном распределении&amp;raquo; готовы очень многие (хоть и не готовы сформулировать определение нормального распределения). Я не спорю, иногда некорректные рассуждения приводят к верному ответу. Но надо помнить, что нередко &lt;a href="http://my-tribune.blogspot.com/2009/06/blog-post_11.html"&gt;правдоподобные о вроде бы очевидные мысли&lt;/a&gt; уводят от истины и мешают к ней вернуться. Поэтому я считаю правильным начинанием &lt;b&gt;введение в ЕГЭ по математике одной простой задачки на теорию вероятностей&lt;/b&gt;. Это даёт надежду на постепенное движение к тому, что почти все школьники России будут легко справляться с элементарными вопросами о вероятностях.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Если человек не способен решать даже школьные задачки по теории вероятностей, то ему не следует пользоваться терминологией из этой теории для убеждения себя или кого-то другого. Почему? Да потому что это будет самообман или обман кого-то другого.&lt;/b&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-5992619882937688937?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-20T11:27:02.043+04:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-BG-iOUxO5r4/Tu39sol8-nI/AAAAAAAAAd4/r0hBY6sb_9s/s72-c/probability.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">50</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/12/blog-post_18.html</feedburner:origLink></item><item><title>Вероятность победы</title><link>http://feedproxy.google.com/~r/my-tribune/~3/wh9qqkgvM9c/blog-post_10.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Sun, 18 Dec 2011 06:52:51 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-4646744540545067106</guid><description>Добрый день!&lt;br /&gt;&lt;br /&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/23/Russian_Empire-1899-Coin-5-Obverse.jpg/220px-Russian_Empire-1899-Coin-5-Obverse.jpg" width="220" height="220" align="right"&gt;А давайте проверим, как связаны наши представления о здравом смысле с сухой математикой. Представьте, что вы несколько раз участвуете в игре, в которой вероятности победы во всех партиях равны. Простейший пример такой игры &amp;mdash; подбрасывание честной и симметричной монетки (если выпал орёл, то вы победили, а в противном случае &amp;mdash; проиграли).&lt;br /&gt;&lt;br /&gt;Теперь прикиньте на глазок, как соотносятся вероятности следующих событий:&lt;br /&gt;А) вы победили ровно в трёх играх из четырёх,&lt;br /&gt;Б) вы победили ровно в шести играх из восьми (т.е. мы увеличили оба числа в два раза),&lt;br /&gt;В) вы победили ровно в пяти играх из восьми.&lt;br /&gt;&lt;br /&gt;Я прошу вас написать в комментариях что-то вроде &amp;laquo;&lt;i&gt;вероятности Б и В одинаковы, а про вероятность А не знаю, но вроде бы должна быть меньше Б&lt;/i&gt;&amp;raquo; (не это, а то, что подсказывает ваш здравый смысл).&lt;br /&gt;&lt;br /&gt;Да, это не &lt;a href="http://text-humour.blogspot.com/2011/10/blog-post_28.html"&gt;парадоксальный вопрос теста&lt;/a&gt;, но уверяю, что и здесь есть &lt;strike&gt;возможность ошибиться&lt;/strike&gt; повод для интересной беседы. Два года назад мы уже рассматривали предновогоднюю &lt;a href="http://my-tribune.blogspot.com/2009/11/blog-post_06.html"&gt;задачку о подарках&lt;/a&gt;, в которой здравый смысл подсказывал одно, а трезвый подсчёт выявил совсем другое. Давайте в этот раз сначала соберём из ваших комментариев мнения интуиции и здравого смысла, а в одной из следующих заметок проанализируем и задачу, и ответы.&lt;br /&gt;&lt;br /&gt;Хороших выходных!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPD: опубликовано &lt;a href="http://my-tribune.blogspot.com/2011/12/blog-post_18.html"&gt;продолжение разговора&lt;/a&gt;.&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-4646744540545067106?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-18T18:52:51.938+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">39</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/12/blog-post_10.html</feedburner:origLink></item><item><title>Надёжная поломка</title><link>http://feedproxy.google.com/~r/my-tribune/~3/Lr3_qHq2VI8/blog-post.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Mon, 05 Dec 2011 01:53:20 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-5911516881868477350</guid><description>&lt;div align="right"&gt;И даже если завтра появится телефон, аккумулятор&lt;br /&gt;которого держит заряд 1000 лет, уже через месяц его придётся&lt;br /&gt;поменять на новый, который держит заряд 2000 лет.&lt;/div&gt;&lt;p&gt;Добрый день!&lt;br /&gt;&lt;br /&gt;Сегодня мы будем решать топологическую задачку, но сперва небольшое введение в проблему. Людей на Земле много, а дел для них уже мало, поэтому перед человечеством стоит сложнейшая задача &amp;mdash; хоть чем-то занять скучающие миллиарды. Современные технологии уже давно могут удовлетворить все базовые потребности человека, поэтому банальным производством нужных вещей заниматься недостаточно (почти всё необходимое запросто может быть произведено не очень большой группой людей). Тогда остаётся только &lt;a href="http://my-tribune.blogspot.com/2009/11/blog-post_22.html"&gt;производить что-то ненужное&lt;/a&gt;, чем население планеты и занято почти всю жизнь (и даже находит в этом радость).&lt;br /&gt;&lt;br /&gt;Сложности начинаются, когда заметно вырастает доля несознательных граждан, которые не желают покупать ненужное, а способны оценить полезность предмета до того, как он пролежит на антресолях два года. Против таких людей включается машина хлипких вещей. Вот вроде бы и нужная штука, но проработает ровно до истечения гарантийного срока. И так мастерски она сделана, что даже если починить, то всё равно скоро что-нибудь новое в ней поломается. Это целое искусство разработать такую конструкцию, которая от малейшего колыхания ветра может развалиться на мелкие кусочки, целые НИИ разрабатывают такие механизмы. И сегодня мы с вами будем решать эту же задачу :)&lt;br /&gt;&lt;br /&gt;Итак, есть картина, которую нужно повесить на вертикальную стену, есть верёвка, от которой мы можем отрезать сколь угодно длинный кусок, есть N гвоздей, забитых в стену. &lt;b&gt;Требуется привязать оба конца верёвки к картине, после чего повесить картинку на эти гвозди так, чтобы вытаскивание любого гвоздя из стены приводило к падению картины.&lt;/b&gt; Ну а если ничего не трогать, то картина должна спокойно висеть на всех N гвоздях.&lt;br /&gt;&lt;br /&gt;Пояснения:&lt;br /&gt;- верёвка может касаться картины только в двух местах (в точках крепления),&lt;br /&gt;- верёвка очень прочная (не рвётся) и тонкая (можно сделать сколько угодно витков вокруг гвоздя),&lt;br /&gt;- силой трения можно пренебречь (верёвка от трения о гвозди или саму себя не воспламенится),&lt;br /&gt;- гвозди перпендикулярны стене и не гнутся под весом картины и верёвки&lt;br /&gt;(т.е. всё без хитростей),&lt;br /&gt;- если хочется, то можно считать, что гвозди расположены на стене каким-то фиксированным образом (как вам будет удобнее решать).&lt;br /&gt;&lt;br /&gt;Для одного гвоздя задачка решается элементарно.&lt;br /&gt;Для N=2 многие уже решали в детском саду/начальной школе.&lt;br /&gt;А как решить для N&gt;2?&lt;br /&gt;А можно ли решить так, чтобы длина верёвки не зависела от N экспоненциально?&lt;br /&gt;&lt;br /&gt;Хорошего вам решения!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-5911516881868477350?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-05T13:53:20.622+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">23</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/12/blog-post.html</feedburner:origLink></item><item><title>Почему я не люблю курильщиков?</title><link>http://feedproxy.google.com/~r/my-tribune/~3/SRyZ1fXYKbg/blog-post_29.html</link><category>маркетинг</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Sun, 18 Dec 2011 20:04:22 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-2853681219821015855</guid><description>&lt;img style="float:right; margin:0 0 10px 10px;width: 293px; height: 300px;" src="http://2.bp.blogspot.com/-9xV-3WvAuLI/TuWccfmpW9I/AAAAAAAAAds/dw3B-Yf-1wQ/s400/smoking.gif" border="0" alt="О негативном отношении к курящим людям" id="BLOGGER_PHOTO_ID_5685122117958982610" /&gt;Меня раздражают курящие люди, но делают они это каким-то своим хитрым способом. При этом нельзя сказать, что я однозначно недолюбливаю всех курильщиков. Если я уже знаю человека с хорошей стороны, то тот факт, что он курит, мне почти не мешает. Но любого постороннего курящего человека я почему-то сразу принимаю хуже.&lt;br /&gt;&lt;br /&gt;На этот счёт есть следующая теория &amp;mdash; так уж сложилось, что курящие люди, с которыми я рад общаться,&lt;br /&gt;- умеют пользоваться пепельницами и урнами,&lt;br /&gt;- находят в себе силы отойти от крыльца на несколько метров, а не стоять прямо у двери, мешая пройти и выдыхая свою вонь входящим в лицо,&lt;br /&gt;- способны сообразить, что окурок, брошенный с балкона, не всегда потухнет и упадёт на землю незаметно для людей, а может привести к пожару на балконе в этом же доме (или банально упасть в коляску к ребёнку, которого посмели выгуливать во дворе жилого дома),&lt;br /&gt;- догадались, что можно покупать сигареты блоками, а не пачками (очереди на кассах магазинов движутся медленнее, чем могли бы, потому что курильщики каждый день гоняют кассиршу за очередной пачкой, словно те бабушки, что от скуки оплачивают в Сбербанке расход электроэнергии &lt;b&gt;каждый&lt;/b&gt; рабочий день),&lt;br /&gt;- умеют выдыхать дым на улице, а уже потом входить в помещение или автомобиль.&lt;br /&gt;&lt;br /&gt;Вроде бы не очень сложные навыки и мысли, так ведь?&lt;br /&gt;&lt;br /&gt;&lt;img src="http://files.adme.ru/files/news/part_29/297605/kiss_ad_old.jpg" width="373" height="480" align="right"&gt;Может показаться, что я слишком суров к курильщикам. Но это совсем не так, поскольку из всех распространённых сейчас зависимостей (наркомания во всех видах, включая алкогольную форму, игромания, &lt;a href="http://my-tribune.blogspot.com/2008/03/blog-post_07.html"&gt;кредитомания&lt;/a&gt; и так далее), я соглашаюсь взаимодействовать только с курильщиками (если заранее знаю, что с ними стоит взаимодействовать, конечно).&lt;br /&gt;&lt;br /&gt;В самом деле, вред от курильщиков не очень велик (пусть раздражают, но жить с этим можно), а за своё здоровье они уже сами отвечают. Это алкоголики и наркоманы нападают на людей, чтобы получить деньги на очередную порцию, это кредитоманы обманывают друзей и родственников, чтобы уговорить их стать поручителями по &amp;laquo;пустяковому делу&amp;raquo;, это игроманы тратят деньги на игровые шмотки, оставляя семью без еды. А у среднестатистических курильщиков таких проблем нет.&lt;br /&gt;&lt;br /&gt;А что же тогда есть? Откуда может быть неприязнь к этим милым людям, которые всего лишь мирно посасывают подожжённую бумажную трубочку? Разве армейская присказка &amp;laquo;курящие пока перекурят, а остальные метут плац&amp;raquo;, фактически подталкивающая всех солдат к сигаретам, может заставить смотреть на курильщиков с большим скепсисом? Пожалуй, нет.&lt;br /&gt;&lt;br /&gt;Но причина неприязни есть! &lt;b&gt;Один из важнейших недостатков курильщиков &amp;mdash; они приносят прибыль производителям сигарет&lt;/b&gt;. Смешно звучит? Ну да, раз существуют, значит прибыльны. Беда в том, что если что-то приносит прибыль, то любой нормальный бизнесмен постарается прибыль увеличить или хотя бы поддержать. А как можно поддерживать сигаретный бизнес? Надо привлекать новых клиентов (вместо постепенно выбывающих). И эффективнее всего окучивать именно детей, потому что&lt;br /&gt;- их проще обмануть разговорами о &amp;laquo;крутости&amp;raquo;,&lt;br /&gt;- чем раньше начнут курить, тем больше прибыли принесут за свою жизнь.&lt;br /&gt;&lt;br /&gt;Рекомендую прочитать на эту тему статью &lt;a href="http://www.adme.ru/articles/oao-detskij-tabak-297605/"&gt;«ОАО «Детский табак»&lt;/a&gt;. Саму статью цитировать здесь не буду, но советую ознакомиться с детскими текстами на промо-сайтах этих сигарет (например, smokingirl и kiss-club). На этих форумах дети прямо указывают, что им, например, 12 лет, после чего спрашивают совета (как обмануть учительницу, которая не только застукала ребёнка за курением, но и собирается позвонить родителям).&lt;br /&gt;&lt;br /&gt;Если производители сигарет поддерживают детское курение на своих собственных промо-сайтах, то можем ли мы надеяться, что они не хотят продавать сигареты детям до 18 лет? Особенно, если выпускаются специальные сигареты с яркими рисунками, которые взрослый человек скорее примет за упаковку конфеток, чем за пачку сигарет. Особенно, если производится реклама, в которой очень молодо выглядящие модели призывают: &amp;laquo;Если нельзя, но очень хочется, то можно&amp;raquo;. Особенно если цена у этих сигарет близка к смешным 20 рублям за пачку (даже дети из малообеспеченных семей найдут эту сумму). Ну а раз эти бизнесмены открыто агитируют за курение детей до 18 лет, то и противостоять им кто-то должен, так ведь?&lt;br /&gt;&lt;br /&gt;Я по многим причинам не люблю, когда школьники курят. А курильщики приносят прибыль производителям сигарет, тем самым давая им ресурсы для подкупа чиновников (которые должны были пресекать эту пропаганду курения среди детей).&lt;br /&gt;&lt;br /&gt;А почему вы любите или не любите курильщиков?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-2853681219821015855?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-19T08:04:22.353+04:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-9xV-3WvAuLI/TuWccfmpW9I/AAAAAAAAAds/dw3B-Yf-1wQ/s72-c/smoking.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">32</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/11/blog-post_29.html</feedburner:origLink></item><item><title>Три разнородные ссылки</title><link>http://feedproxy.google.com/~r/my-tribune/~3/zs3f_GQx5Gg/blog-post_20.html</link><category>3</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Sat, 19 Nov 2011 23:03:30 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-3162191655936972363</guid><description>Добрый день!&lt;br&gt;&lt;br&gt;Сегодня в нашей традиционной рубрике «&lt;a href="http://my-tribune.blogspot.com/2009/07/blog-post_14.html"&gt;Три чего-нибудь&lt;/a&gt;» я предлагаю три ссылки.&lt;br /&gt;&lt;br /&gt;1. В записи &amp;laquo;&lt;a href="http://knop.livejournal.com/76254.html"&gt;Послесловие к самоссылающимся задачам&lt;/a&gt;&amp;raquo; Константин Кноп предлагает перевод на русский язык хорошей подборки таких задачек. Прекрасный пример интересной и достаточно сложной задачки &amp;mdash; восстановить все буквы в предложении &amp;laquo;Это предложение содержит ___ слов(?), ___ ___ слог(?) и ____ ____ букв(?)&amp;raquo; (вопросы в скобках означают одно из возможных окончаний).&lt;br /&gt;&lt;br /&gt;Гораздо проще найти ответы на следующие вопросы (и куда интереснее подобные вопросы придумать самому):&lt;br /&gt;- Чему равна площадь квадрата, периметр которого равен 16?&lt;br /&gt;- Какой долей ведра являлась древнерусская мера объема &amp;laquo;четверть&amp;raquo;?&lt;br /&gt;- Какова доля гласных в слове &amp;laquo;половина&amp;raquo;?&lt;br /&gt;&lt;br /&gt;2. В заметке &amp;laquo;&lt;a href="http://ilyabirman.ru/meanwhile/2011/11/15/2/"&gt;Спецификации как мера неэффективности&lt;/a&gt;&amp;raquo; Илья Бирман формулирует простую мысль: &amp;laquo;&lt;i&gt;Если в каком-то устройстве слишком быстрый процессор или слишком много памяти, то я понимаю две вещи: 1) оно стоит больше, чем могло бы, потому что я плачу за лишнее железо; 2) оно работает меньше, чем молго бы, потому что вся эта фигня зря жрёт батарейку&lt;/i&gt;&amp;raquo;. Но слишком многие люди привыкли хотеть не результата, а ещё более высоких характеристик, поэтому маркетологи успешно впаривают очередные гигагерцы и гигабайты, хотя я бы предпочёл скорость и стабильность.&lt;br /&gt;&lt;br /&gt;3. А в разборе &amp;laquo;&lt;a href="http://fat-crocodile.livejournal.com/155390.html"&gt;Про политику: строить vs. ломать&lt;/a&gt;&amp;raquo; приводится анализ распространённых мифов о высказываниях/планах некоторых политиков. Мол, они все идиоты, которые ещё и нередко проговариваются о своих антинародных планах. Вырвать слова из контекста и растиражировать их через юмористические ресурсы &amp;mdash; дело не очень сложное... Тем более, что &amp;laquo;журналисту&amp;raquo; достаточно эти слова просто выдумать. И происходит это по одной простой причине: очень многие не только не станут проверять правдивость сообщения, но и не вспомнят, что каждый месяц возникает несколько одинаковых новостных поводов об очередных страшилках вроде &amp;laquo;вместо винтовок министерство обороны закупает бадминтонные ракетки&amp;raquo;. Опровержения всегда звучат тише агитационных материалов, поэтому желающие всегда имеют повод радостно &lt;a href="http://my-tribune.blogspot.com/2011/01/blog-post.html"&gt;наслаждаться ужасами&lt;/a&gt;, не нагружая зря мозг. И, что очень досадно, весь этот неконструктивный визг успешно вытесняет темы, которыми на самом деле надо заниматься.&lt;br /&gt;&lt;br /&gt;Хорошего воскресенья!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-3162191655936972363?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-20T11:03:30.726+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">7</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/11/blog-post_20.html</feedburner:origLink></item><item><title>Пробуй!</title><link>http://feedproxy.google.com/~r/my-tribune/~3/MVy2LWKdGdI/blog-post_14.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Mon, 14 Nov 2011 01:49:50 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-2405715621993959185</guid><description>Хорошо продуманная задачка устроена так, что большинство решающих сначала проходят по всем запланированным автором «граблям», а только потом добираются до решения. Опытный человек сразу замечает простейшие ответвления, на которые лучше даже не тратить время, что позволяет ему быстрее дойти до ответа. Очень талантливые и развитые товарищи сразу видят кратчайший путь к заветной цели (естественно, если задачка это позволяет :)&lt;br /&gt;&lt;br /&gt;И если кто-то думает, что можно ничего не делать, а потом сразу попасть в эту последнюю группу «просекучих», то он очень ошибается. Надо набивать шишки, набирать опыт, совершать ошибки, анализировать их причины и так далее. Глупо просто так стоять, глядя на удаляющиеся спины окружающих людей, которые нашли в себе силы и желание для регулярной работы.&lt;br /&gt;&lt;br /&gt;Данная заметка обращена ко всем людям, которые считают, что не надо принимать подходы, которые иногда неплохо работают, но заведомо не способны справиться с произвольной проблемой. &lt;b&gt;Нередко школьники сначала не хотят освоить что-то простое (уже посильное), а потом не могут научиться чему-то сложному (потому что пропустили подготовительный этап).&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ровно месяц назад мы рассматривали &lt;a href="http://my-tribune.blogspot.com/2011/10/blog-post.html"&gt;задачки про маляров и котлеты&lt;/a&gt;. Ответы в комментариях появились почти сразу, а вот решения мы там не разобрали. Подобные задачки я отношу к группе «если пробовал решить, то решил» (т.е. очень простые, так как не содержат какого-либо подвоха, а предполагают только умение читать). Соответственно, эти задачки отделяют тех, кто не делал домашнее задание от тех, кто делал, но не смог (с рядом оговорок, конечно).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Предупреждаю, ниже будет краткий разбор задачек, поэтому остановитесь сейчас, если не хотите случайно его прочитать.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Сначала разберёмся с тремя котлетами, которые надо приготовить на двухместной сковородке за минимальное время. Первую минуту мы можем жарить любые две котлеты (т.е. первый ход можно зафиксировать). Но вот если на вторую минуту ничего не поменять (лишь перевернуть котлеты), то к началу третьей минуты у нас останется одна сырая с двух сторон котлета, которая потребует ещё двух минут времени (и половина сковородки будет зря простаивать, что намекает на неоптимальность данного решения). Это значит, что уже на второй итерации надо что-то менять. А поменять-то мы можем только одно — набор котлет на сковороде (одну придётся оставить, конечно). Сделав этот шаг, мы сразу понимаем, что именно надо делать на третьей минуте. А так как сковорода каждую минуту была заполнена на 100%, то быстрее приготовить три котлеты невозможно.&lt;br /&gt;&lt;br /&gt;Чему нас учит эта задачка? Тому, что иногда надо попробовать решить, а не просто «читать условие». Первая попытка сразу указала нам, где надо менять. И внезапно оказалось, что менять мы можем единственным образом. Т.е. уже вторая попытка сразу привела нас к идеальному решению.&lt;br /&gt;&lt;br /&gt;Теперь разберёмся с малярами и перчатками. Опять же, надо пробовать, а не бояться неведомого. У одной перчатки две стороны, а маляры испачканы четырьмя разными цветами, поэтому одной перчатки заведомо не хватит (надо как минимум две). А что можно сделать с двумя перчатками? Есть следующие варианты первого действия:&lt;br /&gt;&lt;br /&gt;1) Надеть перчатки на руки маляров, идущих навстречу друг другу,&lt;br /&gt;2) Обе перчатки надеть на руки маляров, идущих в одну сторону.&lt;br /&gt;&lt;br /&gt;Если мы пошли по первому пути, то произойдёт три рукопожатия (сначала поприветствуют друг друга маляры в перчатках, что сохранит чистоту внешних сторон перчаток). Проблема в том, что после этих трёх рукопожатий ничего больше нельзя сделать [без добавления чистых перчаток], а нам нужно ещё четвёртое приветствие.&lt;br /&gt;&lt;br /&gt;Если же мы пойдём по второму пути, то опять есть два варианта:&lt;br /&gt;&lt;br /&gt;а) надеть перчатки на руки разных маляров, идущих в одну сторону,&lt;br /&gt;б) натянуть перчатки одну поверх другой на руку одного маляра.&lt;br /&gt;&lt;br /&gt;Путь (а) позволит совершить только два рукопожатия (после чего ничего нельзя сделать без добавления новых перчаток), а вот путь (б) сразу приводит нас к решению. Аналогично решается задача, в которой один маляр идёт навстречу трём малярам.&lt;br /&gt;&lt;br /&gt;Опять же, мы просто рассмотрели все возможные варианты, пытаясь не потратить больше двух перчаток. &lt;b&gt;Мы попробовали&lt;/b&gt;, мы честно расписали возможности. Часто этого достаточно. Безусловно, настоящие сложные задачи не позволят одолеть себя так легко. Но это не значит, что не надо развивать в себе способность справляться с простыми. Когда средние задачи покажутся вам простыми, тогда сложные покажутся средними :)&lt;br /&gt;&lt;br /&gt;Теперь, когда мы разобрались с этими задачками на короткий перебор, предлагаю закрепить эффект &lt;a href="http://boreless.blogspot.com/2011/09/3.html"&gt;набором задачек о монетках&lt;/a&gt;. Они тоже очень простые (не потребуют более минуты на решение, если честно перебрать «все два возможных случая»).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;Ещё раз повторюсь, что далеко не всё решается перебором. Например, &lt;a href="http://my-tribune.blogspot.com/2009/08/blog-post_21.html"&gt;задачка о покрытии г-образными триминошками&lt;/a&gt; поля 128х128 клеток без одной клеточки предполагает очень большое количество действий и вариантов, поэтому здесь лучше применить какую-то другую технику. Но для освоения таких техник сначала необходимо научиться решать простые проблемы «руками». Во всяком случае, почему бы не попробовать делать &lt;b&gt;заведомо безопасные действия&lt;/b&gt;?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Хорошего дня!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-2405715621993959185?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-14T13:49:50.774+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">19</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/11/blog-post_14.html</feedburner:origLink></item><item><title>Исключения из исключений</title><link>http://feedproxy.google.com/~r/my-tribune/~3/t0BlFbGRizM/blog-post.html</link><category>образование</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Thu, 10 Nov 2011 03:20:55 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-1492472782982978028</guid><description>Недавно мы начали вникать в обычную историю — &lt;a href="http://my-tribune.blogspot.com/2011/10/blog-post_23.html"&gt;школьник захотел научиться новому&lt;/a&gt;, но не знал, с чего начать. В таких ситуациях сложно угадать, чем именно лучше заниматься, ведь если ребёнок хочет программировать, но ещё ничего не умеет, то реализовать что-то интересное он просто не сможет. Важно найти задачку, способную окрылить именно этого школьника.&lt;br /&gt;&lt;br /&gt;За прошлый разговор с ним мы выбрали язык программирования (Javascript), определили задачу (преобразовать английское существительное из единственного числа во множественное), сделали простейшую систему тестирования (собрали небольшую тестовую базу вопросов-ответов из интернет-тестов) и начали реализовывать функцию, решающую задачу (пока эта функция просто добавляет «s» к любому слову).&lt;br /&gt;&lt;br /&gt;На второй разговор школьник внезапно пришёл не один — с ним был друг из гуманитарного класса. Он не столько хотел научиться программировать, сколько ему было интересно поучаствовать в чём-то, связанном с английским языком. Это было прекрасно, потому что при обсуждении логики будущей функции очень важно учесть все возможные языковые нюансы.&lt;br /&gt;&lt;br /&gt;Что же они сделали? Не очень много, но этим хочется поделиться:&lt;br /&gt;&lt;br /&gt;1. Расширили тестовую базу в полтора раза (взяли &lt;a href="http://en.wikipedia.org/wiki/English_plural"&gt;примеры из википедии&lt;/a&gt;). В процессе этого расширения осознали, что надо слегка переделать тестовую систему, так как бывают слова, имеющие более одной формы множественного числа (например, можно писать и «volcanoes», и «volcanos»), а сейчас это никак не поддержано. &lt;a href="https://sites.google.com/site/mytribune/plural_v2-html"&gt;Новая версия&lt;/a&gt; содержит 59 вопросов (и ответы на 27 из них считаются неправильными).&lt;br /&gt;&lt;br /&gt;2. Гуманитарий рассказал, что о множественном числе существительного имеет смысл говорить, если это существительное является исчисляемым. Более того, невозможно без контекста определить, с исчисляемым ли существительным мы имеем дело. Например, «coffee» обычно считают неисчисляемым. Но если мы говорим не о кофе вообще, а о чашках кофе, то вполне можно говорить «two coffees» (как и «two cups of coffee»). Поэтому стоит добавить вывод предупреждения хотя бы для распространённых неисчисляемых существительных. Два заинтересованных человека показали высокую самостоятельность — они не только нашли в интернете список распространённых неисчисляемых существительных, но и написали функцию isUncountable(), определяющую, является ли существительное неисчисляемым:&lt;blockquote&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt; isUncountable(iNoun) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; aCommonUncountable &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Array(&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;water&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;tea&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;coffee&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;milk&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Liquids&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;air&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;oxygen&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;hydrogen&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;nitrogen&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; Gases&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; etc&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; aCommonUncountable.length; i&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (aCommonUncountable[i] &lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt; iNoun)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;true&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;false&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;}&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;(конечно, ребята подобрали &lt;a href="https://sites.google.com/site/mytribune/uncountable-html"&gt;гораздо больше примеров&lt;/a&gt; и добавили простейшую проверку правильности функции)&lt;br /&gt;&lt;br /&gt;3. Ещё они очень захотели добавить несколько новых простых правил к нашей функции getPlural(). Например, надо научиться определять, оканчивается ли строка на &amp;laquo;ch&amp;raquo;, &amp;laquo;sh&amp;raquo;, &amp;laquo;s&amp;raquo;, &amp;laquo;z&amp;raquo; или &amp;laquo;x&amp;raquo;. В таких случаях почти всегда для получения множественного числа надо добавить &amp;laquo;es&amp;raquo;. Реализация этой проверки позволила бы заметно продвинуться в улучшении качества результатов.&lt;br /&gt;&lt;br /&gt;Тогда я рассказал ребятам о регулярных выражениях. Конечно, разговор был очень поверхностным. Сначала мы расширили нашу функцию, пользуясь методом substr() (т.е. для каждой строки проверяли, совпадают ли два её последних символа с &amp;laquo;ch&amp;raquo;, совпадает ли её последний символ с &amp;laquo;s&amp;raquo; и так далее. А потом мы разобрались, как всё это многословное безобразие можно заменить одной строкой регулярного выражения:&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;getPlural(iSingular) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;ch$&lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt;sh$&lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt;x$&lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt;s$&lt;/span&gt;&lt;span style="color: #000000;"&gt;|&lt;/span&gt;&lt;span style="color: #000000;"&gt;z$&lt;/span&gt;&lt;span style="color: #000000;"&gt;/&lt;/span&gt;&lt;span style="color: #000000;"&gt;.test(iSingular))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; iSingular &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;es&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; iSingular &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;s&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;С этим дополнением программа стала выдавать неправильный результат на 22 тестах из 59. Стало лучше, но ещё есть куда двигаться, так как осталось ещё несколько правил, которые предстоит поддержать, да и исключения (слова вроде &amp;laquo;woman&amp;raquo; &amp;mdash; &amp;laquo;women&amp;raquo;) надо отдельно обрабатывать.&lt;br /&gt;&lt;br /&gt;4. Конечно, ребята остро осознали необходимость интерактивной версии. В комментариях к предыдущей заметке были замечания, что именно с неё, а не с тестовой системы надо начинать. Возможно, тут сказывается моя привычка экономить время там, где его можно зря не терять (именно из-за этого я предпочитаю один раз сделать тестирующий код, а не дёргать постоянно интерактивную версию &amp;laquo;руками&amp;raquo;)... В любом случае, мы пошли этим путём (сначала система тестов, а уже потом приложение для пользователя), что не помешало ребятам попробовать самостоятельно учиться, начать работать с регулярными выраженими и лучше понять тонкости английского языка. Но рано или поздно надо делать пользовательскую версию, что мы и реализовали.&lt;br /&gt;&lt;br /&gt;В прошлой заметке мы убедились, что нарисовать табличку 2 на 2 клетки очень легко, поэтому сейчас мы заполним эти клетки следующим образом&lt;/p&gt;&lt;blockquote&gt;Singular:          [поле ввода]&lt;br /&gt;Plural:         [результат работы функции]&lt;/blockquote&gt;Сделаем это так (сначала идёт реализация функции, возвращающей множественное число, потом вспомогательная функция для взаимодействия с пользователем, далее HTML-код таблицы с формой):&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;script &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;  getPlural(iSingular) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt; (&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;/&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;ch$&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;|&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;sh$&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;|&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;x$&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;|&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;s$&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;|&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;z$&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;/&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;.test(iSingular))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt; iSingular &lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;+&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt; &lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;'&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;es&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;'&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt; iSingular &lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;+&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt; &lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;'&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;s&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;'&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt; writePlural() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;document.getElementById(&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;plural&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;).innerHTML &lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;=&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt; getPlural(document.getElementById(&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;singular&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="background-color: #F5F5F5; color: #000000;"&gt;).value.toLowerCase());&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;table &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;border&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=0&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Singular:&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;input &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;singular&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; onkeyup&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;writePlural()&amp;quot;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt; value&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;test&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Plural:&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;plural&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;tests&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;table&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;(сохраните этот код в файл plural.html, после чего откройте браузером, чтобы проверить, как всё работает)&lt;br /&gt;&lt;br /&gt;Как видите, в верхней правой ячейке таблицы мы поместили поле ввода (тэг input), из которого при изменении содержимого (на самом деле, при отпускании кнопок клавиатуры, так как используется обработчик onkeyup) вызывается наша новая функция writePlural(). Эта функция устроена очень просто &amp;mdash; в нижнюю правую ячейку она записывает результат работы нашей функции getPlural(). Единственная тонкость &amp;mdash; мы добавили перевод всех символов в нижний регистр (вызываем метод toLowerCase()), так как функция getPlural() пока не готова только к словам, записанным заглавными буквами.&lt;br /&gt;&lt;br /&gt;Интерактивная версия очень пригодилась при погружении в регулярные выражения. Многим они кажутся простыми и естественными, но ребятам понадобилось много времени и самостоятельных экспериментов, чтобы осознать, что и как работает.&lt;br /&gt;&lt;br /&gt;На этом мы и остановились. Решили, что в следующий раз надо будет сделать следующее:&lt;br /&gt;1) поддержать механизм слов-исключений в функции getPlural() («woman» &amp;mdash; «women»),&lt;br /&gt;2) добавить остальные правила построения множественного числа по единственному,&lt;br /&gt;3) расширить тестирующий код для поддержки нескольких правильных ответов («volcanoes», и «volcanos»),&lt;br /&gt;4) решить, как лучше всего использовать результат функции, определяющей, является ли существительное неисчисляемым (выводить подсказку/предупреждение?).&lt;br /&gt;&lt;br /&gt;А как бы вы решали эту же задачу со школьниками?&lt;br /&gt;&lt;br /&gt;Хорошего дня!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-1492472782982978028?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-10T15:20:55.093+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/11/blog-post.html</feedburner:origLink></item><item><title>Бессистемность</title><link>http://feedproxy.google.com/~r/my-tribune/~3/Lzi91dXhePY/blog-post_23.html</link><category>саморазвитие</category><category>образование</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Thu, 10 Nov 2011 03:20:32 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-3104314560155114315</guid><description>&lt;div align="right"&gt;...Мы называемся школой танцев.&lt;br /&gt;Но мы не учимся, мы танцуем...&lt;br /&gt;(c) Михаил Щербаков&lt;/div&gt;&lt;p&gt;Добрый день.&lt;br /&gt;&lt;br /&gt;1. &lt;b&gt;Предисловие.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Одни люди настаивают на последовательном и системном обучении, критикуя любителей &amp;laquo;салата&amp;raquo; из разнородных навыков, а другие справедливо возражают, что от некоторых строгих учебников и уснуть можно, а спящий человек медленно учится. Кто же из них прав? Тут всё зависит от обучаемых.&lt;br /&gt;&lt;br /&gt;Например, как первоклассников учат английскому языку? Сначала с ними разучивают песенки-стишки, придумывают простейшие игры, разыгрывают весёлые сценки-диалоги. Конечно, параллельно стараются учить алфавит и так далее (тоже в форме песенок). Но нормальные учителя не стремятся с первых же занятий отбить желание учиться, поэтому не грузят грамматикой. Математики тоже не пугают детей &lt;a href="http://my-tribune.blogspot.com/2010/03/blog-post_14.html"&gt;уравнениями третьей степени&lt;/a&gt;. Да и аксиомы Пеано в первом классе не дают, а ведут беседы о грушах и яблоках у Пети и Маши. А можно ли обучить ребёнка программированию, заперев его в комнате с книгами, например, Кнута? Конечно нет, поэтому сначала ребёнку дают что-то вроде Light Bot, а потом помогают самому написать что-то &lt;a href="http://my-tribune.blogspot.com/2009/05/blog-post_23.html"&gt;простое и интересное&lt;/a&gt;. И это правильно.&lt;br /&gt;&lt;br /&gt;Когда в голове появилось несколько фрагментов собираемого пазла, то уже можно постепенно давать общую теорию: рассказать о том, что и почему надо ставить между сказуемым и подлежащим, показать, что математика гораздо больше и интереснее школьной арифметики, обсудить и опробовать разные методы сортировки данных.&lt;br /&gt;&lt;br /&gt;2. &lt;b&gt;Задача.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Можно было назвать эту заметку &amp;laquo;&lt;b&gt;Множественное число в английском языке и javascript&lt;/b&gt;&amp;raquo;. Или вот другое подходящее длинное название: &amp;laquo;&lt;b&gt;Регулярные выражения, js и английский язык в одном флаконе&lt;/b&gt;&amp;raquo;.&lt;br /&gt;&lt;br /&gt;Но зачем смешивать? Да потому что детям скучно и тяжело изучать что-то сложное. А вот если это сложное хорошо переплетается с интересным, то дело идёт куда веселее. Например, некоторым детям довольно противно учить географию просто так. А вот одновременно история с географией идут куда лучше. А бывают совершенно ортогональные темы, которые всё же удаётся удачно увязать.&lt;br /&gt;&lt;br /&gt;Итак, в нынешней серии заметок мы вспомним/узнаем следующие простейшие вещи:&lt;br /&gt;1) правила формирования множественного числа существительных в английском языке,&lt;br /&gt;2) создание простейшей таблички и формы в HTML,&lt;br /&gt;3) элементарную работу со строками в Javascript,&lt;br /&gt;4) подход к тестированию программного обеспечения.&lt;br /&gt;&lt;br /&gt;Почему Javascript, а не какой-нибудь &amp;laquo;продвинутый&amp;raquo; язык? Да потому что Javascript сейчас есть почти в любом устройстве, умеющем открывать сайты. Поэтому каждый человек может мгновенно посмотреть на результат работы своей &lt;a href="http://my-tribune.blogspot.com/2009/02/blog-post_17.html"&gt;программы, написанной на коленке&lt;/a&gt;, не задумываясь об установке среды разработчика и прочих сложностях.&lt;br /&gt;&lt;br /&gt;3. &lt;b&gt;К делу.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;И вот пришёл к нам этот пятиклассник, мечтающий научиться программировать. Голова у него есть, поэтому берёмся за это увлекательное дело. Естественно, можно было порекомендовать ему прочитать какую-нибудь книжку (того же Вирта &amp;laquo;Алгоритмы и структуры данных&amp;raquo;). Но если ребёнок сам искренне хочет учиться, то надо его поддержать, а не &amp;laquo;посылать&amp;raquo;. Книжку, конечно, ему тоже надо будет прочитать, но пусть сперва увидит первые результаты, пусть почувствует, что у него получается.&lt;br /&gt;&lt;br /&gt;&amp;mdash; Что будем программировать?&lt;br /&gt;&amp;mdash; Не знаю.&lt;br /&gt;&amp;mdash; Что-нибудь уже писал на каком-нибудь языке?&lt;br /&gt;&amp;mdash; Только свою страничку в интернете на html. Но это же не язык программирования?&lt;br /&gt;&amp;mdash; Верно. Но хоть что-то. С Javascript что-то пробовал?&lt;br /&gt;&amp;mdash; Да, поставил код счётчиков и гостевой книги на свою страничку.&lt;br /&gt;&amp;mdash; Отлично. Давай выберем то, что было бы интересно сделать! Захватывающую игру написать будет трудно, поэтому предлагаю автоматизировать что-нибудь, что пока плохо получается делать головой. Есть такое на примете?&lt;br /&gt;&amp;mdash; Да, мы сейчас на английском прошли множественное число, а там столько правил и исключений! Как бы это всё понять?(&lt;i&gt;да, конечно это было после 5 минут расспросов&lt;/i&gt;)&lt;br /&gt;&lt;br /&gt;Да, ребёнка постарше можно отправить, например, на сайт &lt;a href="http://www.codecademy.com/"&gt;Codecademy&lt;/a&gt; (там можно научиться чуть-чуть писать на JS, если уметь чуть-чуть читать по-английски). Но индивидуальный подход зачастую срабатывает лучше, чем неплохая автоматика.&lt;br /&gt;&lt;br /&gt;&amp;mdash; Умеешь сделать простую табличку два на два?&lt;br /&gt;&amp;mdash; Запросто! Вот так:&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;table&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;left-top&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;right-top&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;left-bottom&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;right-bottom&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;td&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;tr&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;table&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;mdash; Отлично! Теперь давай учиться делать функции. Потом мы реализуем серьёзную функцию, которая будет преобразовывать существительные из единственного числа во множественное, но пока нам надо создать простую функцию-заглушку. Это нам нужно, чтобы научиться её тестировать.&lt;br /&gt;&amp;mdash; А как?&lt;br /&gt;&amp;mdash; Создай файл plural.html со следующим кодом, а потом открой его браузером&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;script &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt; getPlural(iSingular) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; iSingular;&lt;br /&gt;}&lt;br /&gt;document.write(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;Test: &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; getPlural(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;test&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;));&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;&amp;mdash; Вижу только строчку &amp;laquo;&lt;i&gt;Test: test&lt;/i&gt;&amp;raquo;.&lt;br /&gt;&amp;mdash; Да, это последняя строка твоей программы вывела склейку двух строк: &amp;laquo;&lt;i&gt;Test: &lt;/i&gt;&amp;raquo; и результат работы функции getPlural(), получившей на вход строку &amp;laquo;&lt;i&gt;test&lt;/i&gt;&amp;raquo; (а сейчас эта функция возвращает именно то, что получает в качестве аргумента).&lt;br /&gt;&amp;mdash; Ага, примерно понятно. А как её тестировать?&lt;br /&gt;&amp;mdash; А давай найдём в интернете какой-нибудь тест на знание правил образования множественного числа. Возьмём из этого теста вопросы и ответы &amp;mdash; вот и будет тестовая база для нашей программы.&lt;br /&gt;&lt;br /&gt;Уже через 15 минут у нас была табличка из четырёх десятков тестовых пар &amp;laquo;fork-forks&amp;raquo;, &amp;laquo;book-books&amp;raquo; и так далее. Я объяснил, что такое массивы, как можно их описывать в Javascript, поэтому довольно скоро наш файл plural.html расширился функцией, проверяющей, совпадает ли ответ из теста с ответом нашей функции getPlural (а совпадать почти никогда не должно, потому что функция ещё ничего не делает). Конечно, пришлось многое показать и рассказать, но школьник попался толковый, поэтому вникал быстро. Скоро наша программа приобрела следующий вид:&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;script &lt;/span&gt;&lt;span style="color: #FF0000;"&gt;type&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;=&amp;quot;text/javascript&amp;quot;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt; getPlural(iSingular) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; iSingular;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt; testPlural() {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; aSingular &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Array(&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;fork&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, "watermelon", "dress", "bridge", "book", "garage", "store", "pencil", "horse", "bay", "turkey", "Japanese", "coin", "staple", "fish", "key", "pepper", "wolf", "kitten", "foot", "sky", "oasis", "sit-in", "copy", "commando", "spy", "forget-me-not", "cloud", "watch", "factory", "man", "foot", "mouse", "woman", "tooth", "louse", "child", "ox", &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;goose&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; aPlural &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #0000FF;"&gt;new&lt;/span&gt;&lt;span style="color: #000000;"&gt; Array(&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;forks&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;, "watermelons", "dresses", "bridges", "books", "garages", "stores", "pencils", "horses", "bays", "turkeys", "Japanese", "coins", "staples", "fish", "keys", "peppers", "wolves", "kittens", "feet", "skies", "oases", "sit-ins", "copies", "commandos", "spies", "forget-me-nots", "clouds", "watches", "factories", "men", "feet", "mice", "women", "teeth", "lice", "children", "oxen", &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;geese&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; nbErr &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt; (&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;var&lt;/span&gt;&lt;span style="color: #000000;"&gt; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;; i &lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt; aSingular.length; i&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt; (aPlural[i] &lt;/span&gt;&lt;span style="color: #000000;"&gt;!=&lt;/span&gt;&lt;span style="color: #000000;"&gt; getPlural(aSingular[i])) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nbErr &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; nbErr &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;document.write(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;For the noun &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; aSingular[i] &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; the plural form must be &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; aPlural[i] &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;, but getPlural() returned &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; getPlural(aSingular[i]) &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;br&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;document.write(&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;b&amp;gt;Number of errors: &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; nbErr &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;, number of tests: &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; aSingular.length &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;/b&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;testPlural();&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;script&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;&amp;gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;Как видите, большая часть этой программы &amp;mdash; это таблица существительных (единственное число хранится в массиве aSingular, а множественное &amp;mdash; в массиве aPlural). Дальше в цикле for проводится проверка для каждого элемента массива aSingular, совпадает ли ответ нашей функции getPlural() с эталонным ответом, хранящимся в массиве aPlural. Если не совпадает, то программа на единичку увеличивает счётчик ошибок nbErr.&lt;br /&gt;&lt;br /&gt;Нынешняя реализация функции getPlural() ничего толкового не делает (не меняет входную строку), поэтому все её ответы должны были быть неправильными. Но радостная новость состоит в том, что даже эта функция-заглушка успешно прошла два теста из тридцати девяти (скопируйте текст этой &amp;laquo;программы&amp;raquo; в файл plural.html, а потом просто откройте его браузером, чтобы убедиться в этом).&lt;br /&gt;&lt;br /&gt;&amp;mdash; Отлично, программа работает. Но 37 ошибок из 39 &amp;mdash; это очень много. Давай остановимся на более весёлой ноте. Как обычно образуется множественное число в английском языке?&lt;br /&gt;&amp;mdash; Добавляется &amp;laquo;s&amp;raquo;.&lt;br /&gt;&amp;mdash; Верно! Давай научим нашу функцию хотя бы этому. Ты уже умеешь склеивать строки, поэтому всё можешь сам.&lt;br /&gt;&amp;mdash; Да, сейчас попробую. Там же всего одну строчку надо поправить&lt;/p&gt;&lt;blockquote&gt;&lt;span style="color: #0000FF;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt; getPlural(iSingular) {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;return&lt;/span&gt;&lt;span style="color: #000000;"&gt; iSingular &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;s&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;p&gt;Ух ты, всего 20 ошибок!&lt;br /&gt;&amp;mdash; Вот видишь, мы сразу смогли увидеть, как поменялись результаты работы нашей программы после минимальной правки. Это одно из преимуществ данного подхода (сначала создаём тесты, а потом программу). В тестировании ничего не надо делать вручную, если это можно автоматизировать. А если что-то автоматически сделать нельзя, то надо подумать, а потом всё равно автоматизировать :)&lt;br /&gt;&lt;br /&gt;Сегодня мы сделали очень много, но так и не подошли толком к правилам английского языка. У нас появилась система тестирования, мы реализовали первую версию функции, строящей множественное число по единственному, но пока не очень понимаем, как решать поставленную задачу. Поэтому пятиклассник получил задание подумать о том, в каком порядке лучше обрабатывать правила и исключения из них (он внимательно изучит соответствующий раздел учебника английского языка), а ещё он поищет в интернете другие тесты, чтобы вытащить из них новые данные для проверки нашей функции (так как нынешняя тестовая база пока что слишком мала для серьёзной работы).&lt;br /&gt;&lt;br /&gt;Ну а я скоро опубликую &lt;a href="http://my-tribune.blogspot.com/2011/11/blog-post.html"&gt;продолжение этой истории&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Хорошего дня!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-3104314560155114315?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-11-10T15:20:32.450+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">17</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/10/blog-post_23.html</feedburner:origLink></item><item><title>Маляры и котлеты</title><link>http://feedproxy.google.com/~r/my-tribune/~3/WKqd-oiiORE/blog-post.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Thu, 13 Oct 2011 22:25:20 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-7054220471088615224</guid><description>- Илья, где ты пропадаешь две недели?&lt;br /&gt;- В глубоком-глубоком роуминге :)&lt;br /&gt;&lt;br /&gt;Но я вернулся, почти всем ответил на почту и комментарии, а теперь, извините, поделюсь неприятным впечатлением от Питерского Пулково-1. Несколько лет я не был в этом дивном месте, поэтому успел подзабыть его бардак и грязь. Если бы номер гейта на билете соответствовал реальному номеру двери, от которой автобус повезёт к самолёту, если бы табло над гейтом правильно указывало номер рейса, то сотрудницы аэропорта не были бы вынуждены кричать: &amp;laquo;&lt;i&gt;Рейс ###, подходите сюда, а рейс ### отойдите, сейчас мы не вас сажаем. Да, мы знаем, что на табло сейчас указан ваш город, поэтому не читайте табло&lt;/i&gt;&amp;raquo;. Зачем я это пишу? Пару лет назад &lt;a href="http://my-tribune.blogspot.com/2009/12/d.html"&gt;помогло же&lt;/a&gt; :) А пока, если меня спросят европейцы, через какую из столиц лучше влетать в Россию, то я однозначно назову Москву. Как минимум, в Москве работают лифты, хорошо светят лампочки и моют туалеты, а в Пулково-1 в тёмных коридорах неподвижно стоят грязные эскалаторы, о которых сразу забываешь, посетив уборную. Злые языки утверждают, что ремонта там не было со времён блокады Ленинграда.&lt;br /&gt;&lt;br /&gt;Ладно, забыли и проехали. Давайте лучше вспомним важный жанр задачек на поиск оптимального решения (в данном случае, минимального количества действий для достижения результата):&lt;br /&gt;&lt;br /&gt;1. Много лет назад у нас была &lt;a href="http://my-tribune.blogspot.com/2008/03/blog-post.html"&gt;задачка о хрупких шариках&lt;/a&gt;: Есть стакан с очень дорогими одинаковыми хрупкими шариками из очень прочного материала. И есть лестница с сотней ступенек. &lt;b&gt;Какой минимум шариков придётся разбить, чтобы выяснить предельную высоту (число от 1 до 100 &amp;mdash; бросаем со ступенек), с которой можно ронять шарики целыми (т.е. чтобы они не разбились)?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;2. Старинная детская задачка о готовке звучит так: &lt;b&gt;На одной сковороде может поместиться не более 2 котлет. Одна сторона котлеты жарится 1 минуту. За какое минимальное время можно пожарить три котлеты с 2-х строн.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3а. Два маляра столкнулись на дороге с другими двумя малярами. Этикет обязывает каждого из первой пары поздороваться с каждым из второй пары, но руки у каждого маляра испачканы в краске своего цвета. А так как маляры не хотят пачкать руки в краске другого цвета, то у них есть несколько чистых перчаток. &lt;b&gt;Какое минимальное количество перчаток они будут вынуждены испачкать, чтобы поприветствовать друг друга?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;3б. Три маляра столкнулись на дороге с одним маляром. Соответственно, каждый из них должен с ним поздороваться. Остальное как в задаче (3а): их руки испачканы четырьмя цветами, есть несколько чистых перчаток. &lt;b&gt;Сколько перчаток им придётся испачкать?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;(последние две задачки своевременно &lt;a href="http://boreless.blogspot.com/2011/10/blog-post.html"&gt;напомнил&lt;/a&gt; Антон, а я чуть-чуть поменял формулировки)&lt;br /&gt;&lt;br /&gt;Пожалуйста, напишите в комментариях статус по этим задачкам примерно в таком виде:&lt;br /&gt;&lt;i&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;1. Помню, ответ x,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;2. Давно знаю, ответ y,&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;3. а) тоже слышал, ответ z1, б) первый раз слышу, ответ z2.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Хороших выходных!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-7054220471088615224?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-10-14T09:25:20.501+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">35</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/10/blog-post.html</feedburner:origLink></item><item><title>Вспоминаем тригонометрию</title><link>http://feedproxy.google.com/~r/my-tribune/~3/Ez9leK29pqw/blog-post_29.html</link><category>математика</category><category>образование</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Thu, 29 Sep 2011 20:52:34 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-372455269168742199</guid><description>Почти все задачи, которые мы решаем в течение жизни, не являются настоящими. В каком смысле? Сейчас поясню.&lt;br /&gt;&lt;br /&gt;Редкому человеку даётся шанс ответить на новый вопрос, от которого зависит дальнейшее развитие, например, человечества. Во-первых, необходимо справиться с огромным количеством учебных задач, чтобы подняться на уровень настоящих проблем. Это только в американских фильмах главный герой может &amp;laquo;усилием воли&amp;raquo; справиться с проблемой, о которой раньше никогда не думал. В реальной же жизни всё куда скучнее &amp;mdash; необходимо очень долго и целенаправленно работать, чтобы продвинуться в изучении имеющих смысл, но ранее не исследованных постановок. Во-вторых должно очень повезти с задачей (окружающая среда должна натолкнуть на подходящую проблему), так как ответы далеко не на все вопросы а) возможны, б) нужны.&lt;br /&gt;&lt;br /&gt;Вот какой, например, смысл, имеет задачка про &lt;a href="http://my-tribune.blogspot.com/2011/09/blog-post_09.html"&gt;получение натуральных чисел из трёх двоек&lt;/a&gt;? Да никакой пользы для народного хозяйства от такой задачки быть не может! А зачем она тогда нужна? Естественно, исключительно в учебных целях:&lt;br /&gt;- сначала она работает как &lt;a href="http://my-tribune.blogspot.com/2008/04/blog-post_14.html"&gt;автобусные билетики&lt;/a&gt; (развитие быстрого счёта, памяти и так далее),&lt;br /&gt;- потом кроме &amp;laquo;тупой перебиралки&amp;raquo; может подключиться мозг &amp;mdash; вспомнив функции одного аргумента, найдёт способ получать произвольное количество натуральных чисел,&lt;br /&gt;- далее можно уже решить исследовательскую задачу &amp;mdash; попробовать получить все возможные натуральные числа (а потом можно попробовать ещё усилить задачу, что мы и сделаем в последнем абзаце этой заметки).&lt;br /&gt;&lt;br /&gt;Если в этот момент в школе проходят логарифмы, то, наверное, будет найдено именно &lt;a href="http://my-tribune.blogspot.com/2011/09/blog-post_22.html"&gt;решение с парой логарифмов&lt;/a&gt;. И это будет полезно (надо же решать что-то кроме типовых простых задач из учебника, а тут как раз интересная конструкция собирается).&lt;br /&gt;&lt;br /&gt;Если же в этот момент изучают тригонометрию, то тоже есть куда развернуться. В хороших школах учитель добивается не банального решения ограниченного набора типовых задачек, а понимания темы. Например, осваивая тригонометрию, не надо заучивать правила sin(-x)=-sin(x), не надо запоминать cos(0)=1 и так далее. А надо всего лишь разобраться с соответствием углов точкам единичной окружности, а тригонометрических функций точкам нескольких прямых. Если с этим разобраться, то все те &amp;laquo;сложные для запоминания правила&amp;raquo; станут простыми и естественными (и как будто сами &amp;laquo;запомнятся&amp;raquo;).&lt;br /&gt;&lt;br /&gt;Но давайте на секундочку отойдём от игр с единичной окружностью, есть же ещё прямоугольный треугольник. В самом деле, слово тригонометрия образовано от двух греческих слов trigōnon &amp;laquo;треугольник&amp;raquo; + metron &amp;laquo;измерять&amp;raquo;. В хороших школах кроме игр с единичной окружностью ещё обязательно играют с прямоугольным треугольником. Полезным бывает анализ функций arcsin(sin(x)), cos(arccos(x)), ctg(arctg(x)), cos(arctg(x)) и так далее. А для него стоит вспомнить определения тригонометрических функций острых углов: синусом/косинусом угла a называется отношение противолежащего/прилежащего катета к гипотенузе (в любом прямоугольном треугольнике, один из углов которого равен a).&lt;br /&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px;width: 167px; height: 266px;" src="http://3.bp.blogspot.com/-UAwmXuHRZak/ToPxvdNEgbI/AAAAAAAAAdk/Ea01z2DBTFs/s400/triangle222.gif" border="0" alt="Прямоугольный треугольник" id="BLOGGER_PHOTO_ID_5657631354503070130" /&gt;Как, например, понять, как устроена функция sin(arctg(x))? Достаточно знать всего две вещи: теорему Пифагора и определение тригонометрических функций через отношение сторон в прямоугольном треугольнике. Давайте рассмотрим треугольник со сторонами 1, sqrt(n), sqrt(n+1). Синус верхнего угла в нём равен 1/sqrt(n+1), а тангенс того же угла равен 1/sqrt(n). Соответственно, sin(arctg(1/sqrt(n))=1/sqrt(n+1). Получается, что этой парой функций можно наезжать на 1/sqrt(n) сколько угодно раз, как бы увеличивая n под корнем &amp;mdash; sin(arctg(sin(arctg(1/sqrt(n))))=1/sqrt(n+2) и т.д.&lt;br /&gt;&lt;br /&gt;Что нам это даёт? Для задачки с тремя двойками нам как раз нужно было научиться увеличивать натуральное число на единицу произвольное число раз. Тут мы получили не совсем тот результат, но у нас ещё и не все двойки потрачены :)&lt;br /&gt;&lt;br /&gt;В качестве n мы можем взять 2/2, тогда у нас останется одна двойка, чтобы получить x из 1/sqrt(x).&lt;br /&gt;&lt;br /&gt;Так как 0 и 1 мы получать умеем ((2-2)*2 и (2/2)^2, например), то давайте разберёмся со всеми остальными натуральными числами:&lt;br /&gt;2 = sin(arctg(2/2))^-2,&lt;br /&gt;3 = sin(arctg(sin(arctg(2/2))))^-2,&lt;br /&gt;4 = sin(arctg(sin(arctg(sin(arctg(2/2))))))^-2,&lt;br /&gt;и так далее.&lt;br /&gt;&lt;br /&gt;Опять же, этот результат совершенно не имеет значения для народного хозяйства. Но при освоении тригонометрии научиться оперировать такими &amp;laquo;крокодилами&amp;raquo; очень даже полезно. &lt;b&gt;Хотите ещё полезнее?&lt;/b&gt; Тогда давайте откажемся от двух двоек &amp;mdash; оставим только одну. Итак, задачка Московской математической олимпиады 2010 года за 10 класс: &lt;b&gt;Можно ли, применяя к числу 2 функции sin, cos, tg, ctg, arcsin, arccos, arctg, arcctg в любом количестве и в любом порядке, получить число 2010?&lt;/b&gt; (спасибо автору, вовремя показавшему ссылку на эту задачу). На странице 28 &lt;a href="http://olympiads.mccme.ru/mmo/2010/solutions.pdf"&gt;документа с решениями&lt;/a&gt; приведён разбор. Как обычно, я рекомендую открывать его только после самостоятельного решения задачи.&lt;br /&gt;&lt;br /&gt;Хорошего дня!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-372455269168742199?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-30T07:52:34.992+04:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/-UAwmXuHRZak/ToPxvdNEgbI/AAAAAAAAAdk/Ea01z2DBTFs/s72-c/triangle222.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">9</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/09/blog-post_29.html</feedburner:origLink></item><item><title>Вспоминаем логарифмы</title><link>http://feedproxy.google.com/~r/my-tribune/~3/aK4l53M8mRc/blog-post_22.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Wed, 28 Sep 2011 21:54:17 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-3485024598826575947</guid><description>Давайте на примере аукциона с тремя двойками, в который мы &lt;a href="http://my-tribune.blogspot.com/2011/09/blog-post_09.html"&gt;играли полторы недели назад&lt;/a&gt;, попробуем понять, как нужно анализировать игры.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Шаг первый — учимся делать хоть какой-то ход&lt;/b&gt;. В нашем случае всё просто: нужно было придумать какую-нибудь последовательность действий над тремя цифрами 2, чтобы получить натуральное число, которое ранее не было записано другими участниками аукциона.&lt;br /&gt;&lt;br /&gt;Получается, что надо пробовать применять разные действия к трём двойкам, проверяя, не получили ли мы новое натуральное число. Если получили, то запоминаем его себе в отдельную табличку. Как только у нас запасено несколько никем не названных натуральных чисел (т.е. мы готовы сделать один из нескольких ходов), стоит начать изучение других подходов к игре.&lt;br /&gt;&lt;br /&gt;Если бы мы учились играть в шахматы, то сначала следовало бы понять, как можно двигать фигуры. Этого, конечно, недостаточно для победы над сколько-нибудь серьёзным человеком, но без этого вообще невозможно играть.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Шаг второй — учимся делать ход в любом случае&lt;/b&gt;. В первые секунды может показаться, что набор натуральных чисел, которые можно получить из трёх двоек, очень ограничен (так как все функции из двух чисел делают одно, а изначально у нас всего три числа, то и вариантов получается не так много). Но тут мы можем вспомнить, что бывают унарные функции, которые одно число преобразовывают в другое. Например, есть функция факториал, которую можно применять неограниченное число раз.&lt;br /&gt;&lt;br /&gt;Наличие унарных функций существенно меняет смысл игры. Если раньше надо было искать такие наборы действий, которые приводят к новому натуральному числу, то теперь достаточно взять самый большой результат конкурентов, после чего просто «наехать» на него факториалом. Получится натуральное число, которое ранее заведомо никто не получал.&lt;br /&gt;&lt;br /&gt;Тут, правда, проявляется забавное ограничение: в правилах чётко сказано, что надо предъявить полученное натуральное число, если хочется сделать ход. Поэтому, например, ход (22&lt;sup&gt;2&lt;/sup&gt;)! невозможен (так как в его записи почти 26 миллионов цифр, а такие длинные комментарии недопустимы на этом блоге). Но если говорить о строгой математической постановке, то, конечно, подход, например, с факториалами, полностью уничтожает аукцион.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Остаётся искусственно усложнить игру — научиться получать любое натуральное число&lt;/b&gt; (или понять, какие натуральные числа невозможно получить из трёх двоек). Ранее мы уже поняли, что если пользоваться только функциями от двух аргументов, то удастся получить натуральные числа из очень ограниченного набора. Это значит, что для получения произвольного натурального числа придётся применять произвольное число раз функции одного аргумента. А какие такие функции знает школьник? Перечислим их:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Факториал,&lt;/li&gt;&lt;li&gt;Квадратный корень,&lt;/li&gt;&lt;li&gt;sin, cos, tg, ctg,&lt;/li&gt;&lt;li&gt;arcsin, arccos, arctg, arcctg.&lt;/li&gt;&lt;/ul&gt;Давайте попробуем что-нибудь сконструировать из них. С факториалом ничего хорошего в голову не приходит (уж больно неудобная функция для точных действий), поэтому давайте разберёмся с квадратным корнем. Вот если мы N раз &amp;laquo;наехали&amp;raquo; квадратным корнем на 2, то какое число получится?&lt;br /&gt;sqrt(sqrt(...(sqrt(2)...)) = 2^(1/(2^N)) (т.е. корень из двойки 2&lt;sup&gt;N&lt;/sup&gt; степени).&lt;br /&gt;&lt;br /&gt;Что можно сделать с таким числом? Сразу чешутся руки применить к нему функцию log. Только как это лучше сделать? Можно взять логарифм по этому дикому основанию от двойки. Напомню, что логарифм числа b по основанию a определяется как показатель степени, в которую надо возвести основание a, чтобы получить число b.&lt;br /&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px;width: 232px; height: 46px;" src="http://1.bp.blogspot.com/-pWI035xrwmM/TnoSMFysAsI/AAAAAAAAAdc/uod0MYhdgwc/s400/logsqrt.gif" border="0" alt="Логарифм по основанию корень из корня из корня..." id="BLOGGER_PHOTO_ID_5654852281039585986" /&gt;Другими словами, из двух двоек, логарифма и N операций корня мы можем накрутить уже достаточно интересную конструкцию. Сколько корней мы поместим в основание логарифма, такую степень двойки и получим. Удобно? Не то слово! Из двух двоек мы научились получать 2&lt;sup&gt;N&lt;/sup&gt; (для произвольного натурального N).&lt;br /&gt;&lt;br /&gt;Это уже очень хорошо. Но можно попробовать продвинуться дальше &amp;mdash; попробовать вытащить из 2&lt;sup&gt;N&lt;/sup&gt; само число N. У нас же ещё осталась одна двойка, а логарифмом мы пользоваться не разучились, верно? Поэтому давайте &amp;laquo;наедем&amp;raquo; на это число 2&lt;sup&gt;N&lt;/sup&gt; функцией логарифм по основанию 2. Она как раз и вернёт нам N. Получается, что мы можем из трёх двоек, двух логарифмов и N квадратных корней получить произвольное натуральное число N.&lt;br /&gt;&lt;br /&gt;Эту задачу о трёх двойках называют задачей Дирака (он предлагал именно решение с парой логарифмов). Но многие справедливо возражают, что функция извлечения квадратного корня неявно использует ещё одну двойку для указания степени, поэтому данное решение хоть и изящно, но не кажется очень уж корректным.&lt;br /&gt;&lt;br /&gt;Можно ли решить эту же задачу без использования квадратных корней? Да, можно! И мы рассмотрим это решение в &lt;a href="http://my-tribune.blogspot.com/2011/09/blog-post_29.html"&gt;следующей заметке&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-3485024598826575947?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-29T08:54:17.248+04:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-pWI035xrwmM/TnoSMFysAsI/AAAAAAAAAdc/uod0MYhdgwc/s72-c/logsqrt.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">10</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/09/blog-post_22.html</feedburner:origLink></item><item><title>Дорога в никуда</title><link>http://feedproxy.google.com/~r/my-tribune/~3/pKSOXPIIj7o/blog-post_12.html</link><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Mon, 12 Sep 2011 04:20:31 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-7750256954734078283</guid><description>Добрый день.&lt;br /&gt;&lt;br /&gt;Давайте зайдём издалека. Вот почему многие люди знают, что 404 является кодом ошибки &amp;laquo;Не найдено&amp;raquo; в стандарте HTTP? Можно, например, задать любой поисковой системе вопрос &amp;laquo;site:bash.org.ru/quote 404&amp;raquo;, чтобы увидеть цитаты с этим числом (&amp;laquo;сдал куртку в гардероб и получил номерок 404&amp;raquo;, &amp;laquo;я понимаю, когда отдел ИТ отказывается устанавливать сервер в кабинете № 404&amp;raquo;, &amp;laquo;До чего интернет довел - раньше люди боялись числа 666, теперь вздрагивают при виде числа 404&amp;raquo; и так далее).&lt;br /&gt;&lt;br /&gt;Люди знают этот код, потому что они с ним регулярно сталкиваются. За последнее десятилетие мы привыкли к тому, что любая ссылка может вести на несуществующую страницу. Если это какая-то дурацкая страничка-однодневка, то не жалко. Но как же раздражает невозможность прочитать текст с большого и серьёзного сайта, на который кто-то сослался один или два года назад!&lt;br /&gt;&lt;br /&gt;Забавно бывает в статье какой-нибудь ленты.ру или газеты.ру обнаружить ссылку на более раннюю их же статью (наверное, с близким по духу сюжетом), которая уже недоступна. Ну что за &lt;strike&gt;идиоты&lt;/strike&gt; таланты?! Зачем каждый год менять формат адресов статей? Из-за этого ломаются все старые страницы, а лучше не становится. Мне регулярно в комментариях к старым заметкам пишут, что такая-то ссылка больше не работает. И тогда приходится редактировать свой старый текст (иногда удаётся найти новый адрес того материала, на который стояла ссылка, но чаще убираю, потому что уже не могу вспомнить, на что именно ссылался несколько лет назад). И это бывало с разными ресурсами: с новостными сайтами, с блогами, с интернет-магазинами (год назад Proball был спонсором &lt;a href="http://my-tribune.blogspot.com/2010/08/blog-post_06.html"&gt;конкурса&lt;/a&gt;, а с тех пор я уже несколько раз правил ссылку на главный приз, потому что они её постоянно меняли &amp;mdash; теперь оставил только ссылки на главную страницу магазина).&lt;br /&gt;&lt;br /&gt;К чему приводит эта манера из здоровой работающей страницы с полезным кому-то текстом/изображением делать ответ &amp;laquo;&lt;b&gt;404. Страница не найдена&lt;/b&gt;&amp;raquo;? К тому, что ссылаться на чей-то материал хочется всё меньше, а скопировать его себе &amp;mdash; всё больше. Давайте возьмём первую попавшуюся (не особенно популярную) историю о корявом переводе, которую легко найти по запросу &amp;laquo;Кулверстукас и Крокодилас Генас&amp;raquo;. Гугл знает пару тысяч мест, куда её растиражировали! И если бы я захотел этой историей с вами поделиться, то я бы тоже не стал ставить ссылку ни на один из этих двух тысяч сайтов, так как в любой момент любой из таких адресов может смениться (плавали &amp;mdash; знаем), из-за чего окажется, что уже я направляю вас в никуда.&lt;br /&gt;&lt;br /&gt;Как решать это создателям сайтов? Да всё давно придумано (и нормальные администраторы сайтов так и делают): кроме ответа 404 есть же ещё ответ 301 (&amp;laquo;перемещено туда-то&amp;raquo;). Другими словами, если владельцу сайта вдруг загорелось сменить адреса вида /2011/sent/12/ на /11/09/12/, то нет никакой сложности в организации 301-перенаправления со старых адресов на новые. И тогда люди, когда-то давно &lt;strike&gt;сделавшие глупость&lt;/strike&gt; добавившие себе эту страничку в &amp;laquo;Избранное&amp;raquo; или поставившие на неё ссылку со своего сайта/блога, не окажутся внезапно у сообщения &amp;laquo;Вам здесь не рады&amp;raquo;.&lt;br /&gt;&lt;br /&gt;Дорога в никуда &amp;mdash; это не только ссылка, установленная на несуществующую страницу. &lt;b&gt;Дорога в никуда &amp;mdash; это безудержное тиражирование&lt;/b&gt; текстов, изображений, видео- и аудиороликов. Объём данных, доступных для скачивания в сети, в тысячи раз превышает объём уникальных данных. Интернет давно стал свалкой (так как ценной информации всегда было относительно мало), но за последнее десятилетие развелось столько способов почти автоматически &amp;laquo;перепостить&amp;raquo; &lt;strike&gt;бесплатно online&lt;/strike&gt; в кучу мест, что сеть прямо заросла копиями. Почти на любой поисковый запрос google/yandex/... предложит нам на выбор одну из нескольких одинаковых страниц. Но мы же хотим выбрать лучшую из нескольких разных! И это происходит не из-за ленивости поисковых машин (они многое делают для борьбы с дублями), а от привычного копирования чужих материалов вместо проставления ссылок на исходники.&lt;br /&gt;&lt;br /&gt;Вопрос авторам и администраторам блогов/сайтов: как вы боретесь с тем, что ссылки с ваших ресурсов постепенно теряют актуальность? Я могу написать скрипт, который  обнаружит все ссылки, ведущие на несуществующие страницы, но не всегда могу их исправить, так как достаточно трудно вспомнить, что же раньше было по тем адресам... &lt;br /&gt;&lt;br /&gt;Хорошего дня!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-7750256954734078283?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-12T15:20:31.474+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">17</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/09/blog-post_12.html</feedburner:origLink></item><item><title>Аукцион «Три двойки»</title><link>http://feedproxy.google.com/~r/my-tribune/~3/apCJ0cR3V-o/blog-post_09.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Thu, 08 Sep 2011 22:49:35 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-1835341999896770994</guid><description>В мире есть много интересных игр для больших компаний, а сегодня мы сыграем в аукцион. Общий смысл игры очень прост — побеждает тот из участников, который последним дал ранее не названный правильный ответ.&lt;br /&gt;&lt;br /&gt;Например, бывает игра «аукцион скелетик», которая начинается с того, что ведущий называет несколько согласных букв, а игроки называют слова русского языка, состоящие только из этих же согласных (в том же количестве, но любом порядке) и произвольного числа букв, не являющихся согласными. Ведущий может дать тему «ТПР», а игроки будут называть «топор», «ропот», «пират», «партия» и так далее. Если возникает слишком большая пауза (например, более минуты), то игра останавливается, а последний назвавший слово объявляется победителем.&lt;br /&gt;&lt;br /&gt;В таких играх можно сразу же называть новый корректный ответ, как только его придумал, а можно «придержать» его (надеясь, что никто другой до него не догадается). Т.е. есть резон называть свои варианты как можно позже, но при этом появляется риск, что кто-то другой их придумает и назовёт. Кстати, мы несколько лет назад рассматривали и другие &lt;a href="http://my-tribune.blogspot.com/2008/08/blog-post_21.html"&gt;игры со словами&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Понятно, что подобные аукциончики можно проводить по любому хорошему поводу. Сегодня я предлагаю провести пятничный аукцион «Три двойки». &lt;b&gt;Формулировка очень простая: для получения натуральных чисел можно пользоваться только тремя цифрами 2, а также любыми математическими функциями, известными школьнику&lt;/b&gt; (это чем-то похоже на класс задач &lt;a href="http://my-tribune.blogspot.com/2008/04/blog-post_14.html"&gt;автобусные билетики&lt;/a&gt;, только цифр меньше, а возможных операций больше).&lt;br /&gt;&lt;br /&gt;Сделать ход в комментариях к этой заметке очень просто — надо написать слово «Ход», после него получаемое натуральное число, знак равенства, а потом саму формулу.&lt;br /&gt;&lt;br /&gt;Примеры корректных ходов:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Ход 0 = (2-2)*2&lt;/li&gt;&lt;li&gt;Ход 1 = 2 - cos(2-2).&lt;/li&gt;&lt;li&gt;Ход 2 = 2 + 2 - 2.&lt;/li&gt;&lt;li&gt;Ход 222 = 222.&lt;/li&gt;&lt;li&gt;Ход 16 = 2^(2+2).&lt;/li&gt;&lt;li&gt;Ход 26 = (2+2)!+2&lt;/li&gt;&lt;li&gt;Ход 20 = 22-2 (как видите, справа от знака равенства всегда появляются ровно три двойки)&lt;/li&gt;&lt;/ul&gt;Шаг аукциона &amp;mdash; 5 часов (побеждает тот, после чьего правильного хода не было других правильных ходов в течение 5 часов). Получать одно и то же натуральное число разными способами не надо (засчитывается только первый способ). Заново получать числа из примеров тоже не надо (считайте, что я сделал первые 7 ходов).&lt;br /&gt;&lt;br /&gt;Игра началась! Пусть победит сильнейший :)&lt;br /&gt;&lt;br /&gt;В этой задачке, конечно, есть подвох, так уж здесь заведено :)&lt;br /&gt;Если вы уже знаете, в чём хитрость, то, &lt;b&gt;пожалуйста, не пишите этого в комментариях&lt;/b&gt;! А если очень хотите похвастаться, то не пишите идею явно, а ограничьтесь словами &amp;laquo;я знаю эту задачку, поэтому в аукционе не участвую&amp;raquo;.&lt;br /&gt;&lt;br /&gt;Хорошей игры и приятных выходных после!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-1835341999896770994?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-09T09:49:35.151+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">55</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/09/blog-post_09.html</feedburner:origLink></item><item><title>Это невозможно и бессмысленно!</title><link>http://feedproxy.google.com/~r/my-tribune/~3/UUR_4osi98I/blog-post_07.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Tue, 13 Dec 2011 00:39:48 PST</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-8813440504790694676</guid><description>Бывает, что формулировка вопроса кажется такой странной, что даже думать о решении не хочется. Но ведь именно в таких граничных проявлениях может вылезти что-то интересное. Грубо говоря, нет никакого интереса в решении тысяч, например, квадратных уравнений. Они все почти одинаковые, с этой работой и компьютер справится. А вот если будет хоть какое-то разнообразие, хоть &lt;a href="http://my-tribune.blogspot.com/2008/02/blog-post_16.html"&gt;минимальные ловушечки&lt;/a&gt;, то и у человека уже будет возможность развернуться (конечно, с примером по ссылке у компьютера не будет никаких проблем, но и не для него подобные задачки сочиняют).&lt;br /&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 353px;" src="http://1.bp.blogspot.com/-HltWty8KfCE/TmbxrSEb6oI/AAAAAAAAAdU/UMNEYRdphTg/s400/baby3.gif" border="0" alt="Задачка о трёх детях" id="BLOGGER_PHOTO_ID_5649468508469979778" /&gt;Но вернёмся к формулировкам, кажущимся абсурдными. Есть интересный класс задач-диалогов. От решающего требуется не столько знание азов школьной математики, сколько умение осознать, что и в какой момент знает каждый из участников разговора. Поскольку знания эти во время беседы меняются, то и в смысл последующих фраз не так легко сразу вникнуть.&lt;br /&gt;&lt;br /&gt;Давайте рассмотрим, например, такую задачку: &lt;b&gt;Задержанный признался, что у него три сына, произведение их возрастов равно 36, а сумма равна числу окон дома, около которого произошло задержание. Милиционер сказал, что для определения возраста детей этого недостаточно. Когда задержанный добавил, что его старший сын рыжий, милиционер определил возрасты детей. Сколько им было лет?&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Многие начинают возмущаться тем, что в условии не указано количество окон дома. Кто-то сразу отбрасывает очевидно ненужную информацию о рыжем сыне (при чём тут цвет волос?!), а бывают и люди, в ответ задающие свою задачку о том, что &amp;laquo;летели два крокодила, один красный, а другой в Африку...&amp;raquo; Но ведь в этой задачке о трёх сыновьях есть смысл!&lt;br /&gt;&lt;br /&gt;Думаю, многие уже поняли, с какой стороны подступиться к этой задачке. Если нет, то предлагаю сначала подумать о слегка облегчённой вариации этой же идеи.&lt;br /&gt;&lt;br /&gt;Итак, диалог:&lt;br /&gt;&lt;b&gt;- Привет!&lt;br /&gt;- Привет!&lt;br /&gt;- Как дела?&lt;br /&gt;- Хорошо. Растут два сына, но пока ещё в школу не ходят.&lt;br /&gt;- А сколько им лет?&lt;br /&gt;- Произведение их возрастов равно числу голубей около этой скамейки.&lt;br /&gt;- Этой информации мне недостаточно…&lt;br /&gt;- Старший похож на мать.&lt;br /&gt;- Вот теперь я знаю ответ на свой вопрос.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 315px; height: 400px;" src="http://4.bp.blogspot.com/-5UuNWGxRKaU/Tmbxnex6rkI/AAAAAAAAAdM/BJb5SyMSoN4/s400/math_baby.gif" border="0" alt="задачка о возрастах двух детей" id="BLOGGER_PHOTO_ID_5649468443162488386" /&gt;В нынешнем мире, к сожалению, принято ехидно спрашивать, что же курил автор задачки, когда сочинял такой нелепый диалог. Но если отвлечься от кажущейся абсурдности беседы (вместо прямого ответа на вопрос о возрасте даются какие-то намёки, зачем-то сообщается сходство одного из детей с матерью и так далее), то и тут найдётся математическая составляющая.&lt;br /&gt;&lt;br /&gt;Кстати, математика здесь, конечно, не очень сложная. Эта задачка была на олимпиаде для пятиклассников в середине прошлого десятилетия. А первая задачка о трёх детях взята из раздела &amp;laquo;Задачи для семиклассников&amp;raquo; из приложения к журналу &amp;laquo;Квант&amp;raquo; №4/2000 (А.В.Спивак, &amp;laquo;Математический праздник&amp;raquo;, часть 2). Другими словами, сама математика очень простая, но важно &lt;a href="http://my-tribune.blogspot.com/2011/02/blog-post_27.html"&gt;правильно перевести на математический язык&lt;/a&gt; эти текстовые задачки.&lt;br /&gt;&lt;br /&gt;А зачем они так абсурдно сформулированы? Чтобы мы &lt;b&gt;учились прорываться через непривычные препятствия&lt;/b&gt;. Когда-то ведь идея, например, вычисления квадратного корня из отрицательного числа тоже была дикой. Но надо было преодолеть себя, понять, что это не ерунда и абсурд, а очень даже полезное и естественное действие.&lt;br /&gt;&lt;br /&gt;А какие странно звучащие, но при этом очень осмысленные задачки знаете вы?&lt;br /&gt;&lt;br /&gt;Хорошего дня!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-8813440504790694676?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-12-13T12:39:48.712+04:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/-HltWty8KfCE/TmbxrSEb6oI/AAAAAAAAAdU/UMNEYRdphTg/s72-c/baby3.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">60</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/09/blog-post_07.html</feedburner:origLink></item><item><title>Осмысленная ерунда</title><link>http://feedproxy.google.com/~r/my-tribune/~3/KEnuqiPQPek/blog-post.html</link><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Fri, 02 Sep 2011 07:11:12 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-2950610722260810551</guid><description>А кто-то может справедливо возразить: &lt;b&gt;нельзя же всё время быть правильными, выверяя с линейкой и транспортиром каждое слово и дело!&lt;/b&gt; Да, я тоже думаю, что не получится, даже если очень хочется. Мы все иногда ошибаемся. Просто иногда глупости бывают осмысленными, а иногда &lt;a href="http://my-tribune.blogspot.com/2011/08/blog-post_23.html"&gt;совершенно бесполезными&lt;/a&gt;.
&lt;br /&gt;
&lt;br /&gt;&lt;img border="0" height="384" width="366" src="http://4.bp.blogspot.com/-IROPWr4_b7s/TmDWy9hec2I/AAAAAAAAAdE/wGdtILX0jgU/s400/math.gif" align="right"/&gt;Как они могут быть осмысленными? Да легко! Помните, например, как в фильме &amp;laquo;Терминатор 2&amp;raquo; отрицательный герой из будущего почти мгновенно замёрз, оказавшись в луже жидкого азота? Умом мы прекрасно понимаем, что гораздо эффективнее было бы забирать тепло обычной водой, а не азотом. Но тем же умом мы осознаём, что с водой такой трюк не пройдёт. Ну не будет злой робот из будущего крошиться на льдинки, попав в воду. А с жидким азотом вроде более правдоподобно, хоть тоже нереалистично (любой человек, поигравший в детстве с термосом азота или &lt;a href="http://www.google.com/search?q=опыты+с+жидким+азотом"&gt;интересовавшийся вопросом&lt;/a&gt;, прекрасно чувствует эту невозможность). Но поскольку мы говорим про фантастический фильм, то было бы странно критиковать его за нефизические моменты, верно?
&lt;br /&gt;
&lt;br /&gt;Я хочу сказать, что если по федеральным каналам в популярных программах или рекламе будут рассказывать о том, как большие железяки за считанные секунды становятся хрупкими, соприкоснувшись с жидким азотом, то это будет большим злом (так как прививает неправильные массовые представления). А если в фантастическом фильме происходит какая-то существенная для сюжета ерунда, то это ещё можно считать допустимым.
&lt;br /&gt;
&lt;br /&gt;Ладно, давайте я воздержусь от возобновления разговоров о том, что хотя бы крупные телеканалы должны распространять грамотную речь, а лучше поздравлю всех причастных с 1 сентября. Хорошего вам года! А родителям напоминаю о том, &lt;a href="http://my-tribune.blogspot.com/2009/09/blog-post.html"&gt;на что обращать внимание&lt;/a&gt; (речь не только об осанке, а о проблеме игнорирования тех вопросов, с которыми у самих родителей не было проблем).
&lt;br /&gt;
&lt;br /&gt;Кстати, полагаю, именно по причине начала учебного года на табличке справа вы можете видеть, как увеличилась популярность поисковых запросов о том, зачем нужна математика (есть подозрение, что учителя просят пятиклассников приготовить доклад на эту тему). Три года назад я написал свой вариант ответа на этот вопрос в заметке &amp;laquo;&lt;a href="http://my-tribune.blogspot.com/2008/11/blog-post_16.html"&gt;Зачем изучать математику?&lt;/a&gt;&amp;raquo;
&lt;br /&gt;
&lt;br /&gt;А как вы отвечаете на этот вопрос?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-2950610722260810551?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-09-02T18:11:12.389+04:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/-IROPWr4_b7s/TmDWy9hec2I/AAAAAAAAAdE/wGdtILX0jgU/s72-c/math.gif" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">10</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/09/blog-post.html</feedburner:origLink></item><item><title>Интересное в марте 2010</title><link>http://feedproxy.google.com/~r/my-tribune/~3/Idw3aVC-fHc/2010.html</link><category>лучшее</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Wed, 31 Aug 2011 07:58:28 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-900541908630587163</guid><description>Добрый день.
&lt;br /&gt;
&lt;br /&gt;Полтора года назад мы много говорили о математике:
&lt;br /&gt;
&lt;br /&gt;- Рассмотрели &lt;a href="http://my-tribune.blogspot.com/2010/03/blog-post.html"&gt;парадокс Бертрана&lt;/a&gt;, чтобы лишний раз убедиться в большом расстоянии между обыденном представлении о вероятностях и математическими определениями,
&lt;br /&gt;
&lt;br /&gt;- Размышляли о &lt;a href="http://my-tribune.blogspot.com/2010/03/blog-post_14.html"&gt;корнях уравнений третьей степени&lt;/a&gt;, о полезности этой темы в школе и в жизни, вспоминали, как здорово было в детстве понять что-нибудь красивое,
&lt;br /&gt;
&lt;br /&gt;- А в заметке &amp;laquo;&lt;a href="http://my-tribune.blogspot.com/2010/03/blog-post_25.html"&gt;Бесконечность &amp;mdash; не число&lt;/a&gt;&amp;raquo; продолжился разговор о бытовом понимании математических терминов. После этого пришлось даже разобраться с тем, &lt;a href="http://my-tribune.blogspot.com/2010/03/blog-post_30.html"&gt;сколько будет бесконечность минус бесконечность&lt;/a&gt; (точнее, как это можно объяснять школьникам).
&lt;br /&gt;
&lt;br /&gt;Ну а для тех, кто хочет отдохнуть от математики, мы ещё вспоминали &lt;a href="http://my-tribune.blogspot.com/2010/03/blog-post_18.html"&gt;три хороших фильма про Алис&lt;/a&gt; (а в комментариях ещё больше нашлось).
&lt;br /&gt;
&lt;br /&gt;Хорошего дня!&lt;br&gt;&lt;br&gt;Запись о заметках прошлых месяцев стала традиционной, поэтому перечислю предыдущие выпуски: интересное в &lt;a href="http://my-tribune.blogspot.com/2011/07/2010.html"&gt;феврале&lt;/a&gt;, интересное в &lt;a href="http://my-tribune.blogspot.com/2011/06/2010.html"&gt;январе&lt;/a&gt; 2010 года, интересное в &lt;a href="http://my-tribune.blogspot.com/2011/05/2009.html"&gt;декабре&lt;/a&gt;, интересное в &lt;a href="http://my-tribune.blogspot.com/2010/11/2009.html"&gt;ноябре&lt;/a&gt;, интересное в &lt;a href="http://my-tribune.blogspot.com/2010/08/blog-post_31.html"&gt;октябре&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2010/06/blog-post_30.html"&gt;сентябре&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2010/04/blog-post_30.html"&gt;августе&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2010/02/blog-post_28.html"&gt;июле&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2010/01/blog-post_31.html"&gt;июне&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2009/09/blog-post_30.html"&gt;мае&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2009/08/blog-post_31.html"&gt;апреле&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2009/07/blog-post_31.html"&gt;марте&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2009/06/blog-post_30.html"&gt;феврале&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2009/05/blog-post_31.html"&gt;январе&lt;/a&gt; 2009 года, интересное в &lt;a href="http://my-tribune.blogspot.com/2009/04/blog-post_30.html"&gt;декабре&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2009/03/blog-post_31.html"&gt;ноябре&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2009/02/blog-post_28.html"&gt;октябре&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2009/01/blog-post_31.html"&gt;сентябре&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2008/11/blog-post_13.html"&gt;августе&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2008/10/blog-post.html"&gt;июле&lt;/a&gt; и &lt;a href="http://my-tribune.blogspot.com/2008/08/blog-post_28.html"&gt;июне&lt;/a&gt;, &lt;a href="http://my-tribune.blogspot.com/2008/05/blog-post_09.html"&gt;интересное в первые три месяца жизни блога&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-900541908630587163?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-31T18:58:28.965+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/08/2010.html</feedburner:origLink></item><item><title>Градус бесстыдства</title><link>http://feedproxy.google.com/~r/my-tribune/~3/pMAtTzbknPI/blog-post_23.html</link><category>образование</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Tue, 23 Aug 2011 01:37:17 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-3366336591163730232</guid><description>&lt;p align="right"&gt;Люди сразу поверят в истинность утверждения,
&lt;br /&gt;если его приписать какому-нибудь известному человеку.
&lt;br /&gt;(c) В.&amp;nbsp;И.&amp;nbsp;Ленин&lt;/p&gt;&lt;p&gt;Не успели мы забыть достижение операторов сотовой связи, не скрывающих того, что у них нет средств, &lt;a href="http://my-tribune.blogspot.com/2011/06/blog-post_24.html"&gt;чтобы нанять человека, знающего русский язык&lt;/a&gt;, как продавцы компьютеров включились в эту же сумасшедшую гонку.
&lt;br /&gt;
&lt;br /&gt;Почему по федеральным каналам &amp;laquo;человек в костюме преподавателя&amp;raquo; позволяет себе говорить, что &amp;laquo;каждая точка выпуклой функции может считаться точкой экстремума&amp;raquo;? Эта странная фраза была нужна только для того, чтобы попросить ученика её повторить, а он с чистой совестью мог ответить, что никак не может, так как у него память маленькая... Кто целевая аудитория этой рекламы? Люди, которые не могут запомнить фразу из восьми слов? Или люди, которые в университеты ходят, чтобы слушать и повторять бессмысленные наборы терминов? Все гонятся за формой, но не задуряются поиском подходящего содержания (не так давно &lt;a href="http://my-tribune.blogspot.com/2009/01/blog-post_23.html"&gt;мы вспоминали американский фильм&lt;/a&gt; с похожей ерундой).
&lt;br /&gt;
&lt;br /&gt;Пусть с русским языком и высшей математикой проблемы (как минимум, у создателей рекламы). Но можно же хоть какой-то здравый смысл иметь? Даже если уроки астрономии заменили физкультурой, люди могли бы хоть приблизительно догадываться, какого размера у нас планета. Почему тогда половина интернета сейчас наполнена нижеследующим бредом?
&lt;br /&gt;
&lt;br /&gt;&amp;laquo;&lt;i&gt;27 августа в 00:30, подними глаза и посмотри на ночное небо. В эту ночь планета Марс, пройдет всего лишь в &lt;b&gt;34,65 тыс. милях от земли&lt;/b&gt;. Невооруженным глазом планета будет видна как полная луна. Это будет выглядеть как две луны над землей! Следующий раз когда Марс будет так близко к Земле будет только в 2287 году. Поделись этой новостью со своими друзьями так как никто из живущих на Земле еще такого не видел!&lt;/i&gt;&amp;raquo;
&lt;br /&gt;
&lt;br /&gt;Безграмотный и в смысле русского языка, и в смысле элементарного здравого смысла (&lt;a href="http://my-tribune.blogspot.com/2010/07/blog-post_22.html"&gt;который и жизнь спасти может&lt;/a&gt;) текст тиражируется со страшной силой! Ещё бы, следующего такого события ждать более 200 лет!.. Эх, люди умеют создавать сообщения в сети, но не умеют проверять информацию в справочниках (а то бы узнали, что расстояние до Марса занижено на три порядка). А указание расстояния в милях как бы намекает, что этот бред был переведён с языка самых миролюбивых и образованных.
&lt;br /&gt;
&lt;br /&gt;Кстати, о различии нашей и зарубежной культуры, градусе бесстыдства и перспективах: давайте посчитаем, сколько раз слова &amp;laquo;sex&amp;raquo; и &amp;laquo;секс&amp;raquo; встречаются на главных страницах английской и русской версий сайта Cosmopolitan. У меня получилось 40 и 10, соответственно. Это значит, нам ещё есть к чему стремиться, так ведь?
&lt;br /&gt;
&lt;br /&gt;У нас повсеместная демократия, верно? А если большинство не просто верит на слово любой ерунде, сказанной правильным голосом и в правильном месте, но и кидается её скорее всем пересказывать, то... разные могут быть варианты.
&lt;br /&gt;
&lt;br /&gt;Хорошего дня!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-3366336591163730232?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-23T12:37:17.193+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">35</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/08/blog-post_23.html</feedburner:origLink></item><item><title>Элементарная задачка</title><link>http://feedproxy.google.com/~r/my-tribune/~3/4ExOchJpB1o/blog-post_16.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Fri, 19 Aug 2011 03:30:18 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-7495121804921943175</guid><description>Добрый день.
&lt;br /&gt;
&lt;br /&gt;В прошлой заметке была сформулирована математическая задача из одного &lt;a href="http://www.turgor.ru/problems/19/index.php"&gt;давнего&lt;/a&gt; Турнира Городов &lt;a href="http://my-tribune.blogspot.com/2011/08/blog-post_12.html"&gt;о выборе таких четырёх карт из пяти&lt;/a&gt;, чтобы только их порядком можно было точно указать на пятую (для колод из 52 и 53 карт). А во второй половине этой заметки я объясню, почему расширение этой задачки является элементарным.
&lt;br /&gt;
&lt;br /&gt;&lt;img style="float:right; margin:0 0 10px 10px; width: 400px; height: 345px;" src="http://2.bp.blogspot.com/-LkH9Ei47iio/TkpQ07iibsI/AAAAAAAAAcU/hTj70nffcn8/s400/card.jpg" border="0" alt="фокус с пятью картами" id="BLOGGER_PHOTO_ID_5641410353500942018" /&gt;Классическим решением задачи с 52 картами, к которому многие приходят сами, является следующее:
&lt;br /&gt;
&lt;br /&gt;0. Можно отсортировать все карты (договориться, что 2 &lt; 3, пики &lt; крести и т.д.). Этот порядок нам пригодится, чтобы уметь отсортировать любой набор карт (и потом строить любые перестановки этого набора).
&lt;br /&gt;
&lt;br /&gt;1. Из пяти карт хотя бы две имеют одинаковую масть. Поэтому загадывать надо именно одну из них. Соответственно, первая в нашей четвёрке карт прямо укажет на масть загаданной карты.
&lt;br /&gt;
&lt;br /&gt;2. Оставшиеся три карты можно расположить 3! = 6 разными способами. И нам этого хватает, чтобы закодировать достоинство пятой карты, поскольку на первом шаге из двух карт одинаковой масти мы выбрали не случайную, а ту, от которой до второй карты будет от 1 до 6 шагов (представьте себе круг из карт 2, 3, 4, 5, 6, 7, 8, 9, 10, В, Д, К, Т).
&lt;br /&gt;
&lt;br /&gt;Соответственно, компьютер, посмотрев на первую карту в переданном ему наборе, выясняет не только масть загаданной карты, но и номер, к которому надо прибавить число от 1 до 6, чтобы узнать достоинство искомой карты. А сам этот номер вычисляется мгновенно, так как совпадает с номером перестановки второй, третьей и четвёртой карты.
&lt;br /&gt;
&lt;br /&gt;С джокером (т.е. с набором из 53 карт) ситуация чуть-чуть усложняется:
&lt;br /&gt;- Естественно, если среди пяти карт джокера нет, то можно действовать так, как только что договорились,
&lt;br /&gt;- Если среди пяти карт джокер есть, то загадывать его нельзя, так как оставшийся набор из четырёх карт будет указывать на какую-то &amp;laquo;обычную&amp;raquo; карту (не джокера),
&lt;br /&gt;- Поэтому надо научиться кодировать любую загаданную карту набором из джокера и трёх &amp;laquo;обычных&amp;raquo; карт.
&lt;br /&gt;
&lt;br /&gt;Итак, у нас есть четыре карты, которые можно переставить 4! = 24 способами. А описать этой перестановкой мы должны одну из 49 карт (53 в колоде минус 4 переданных). Как это сделать? Есть масса способов. Но нам должно быть лениво придумывать новое, если и предыдущее решение сработает (кстати, ниже я покажу, что можно было поступить ещё ленивее):
&lt;br /&gt;
&lt;br /&gt;0. На картах задан порядок, поэтому мы их можем перенумеровать от 1 до 52 (джокера сейчас не считаем),
&lt;br /&gt;
&lt;br /&gt;1. В наборе из четырёх карт с номерами от 1 до 52 всегда найдутся две карты, номера которых имеют одинаковый остаток при делении на 3 (это тот же принцип Дирихле, которым мы пользовались выше для четырёх мастей и пяти карт). Соответственно, давайте одну из этих карт называть картой T (и ставить её первой среди &amp;laquo;обычных&amp;raquo; карт). Это позволит нам точно указать, какой остаток при делении на 3 даёт номер загаданной карты.
&lt;br /&gt;
&lt;br /&gt;2. Пусть J &amp;mdash; джокер, T &amp;mdash; карта, указывающая остаток при делении на 3, а A и B &amp;mdash; две другие карты. Пересчитаем возможные перестановки:
&lt;br /&gt;&amp;nbsp;&amp;nbsp;1) JTAB,
&lt;br /&gt;&amp;nbsp;&amp;nbsp;2) JTBA,
&lt;br /&gt;&amp;nbsp;&amp;nbsp;3) TJAB,
&lt;br /&gt;&amp;nbsp;&amp;nbsp;4) TJBA,
&lt;br /&gt;&amp;nbsp;&amp;nbsp;5) TAJB,
&lt;br /&gt;&amp;nbsp;&amp;nbsp;6) TBJA,
&lt;br /&gt;&amp;nbsp;&amp;nbsp;7) TABJ,
&lt;br /&gt;&amp;nbsp;&amp;nbsp;8) TBAJ.
&lt;br /&gt;Получается, что мы можем передать сдвиг от 1 до 8. Но легко понять, что большего нам и не требуется, так как максимальное расстояние между двумя числами от 1 до 49, имеющих одинаковые остатки при делении на три, не превышает 8 (на множестве этих чисел, конечно).
&lt;br /&gt;
&lt;br /&gt;Да, это решение сработает, но оно какое-то вычурное и неинтересное (благо, всё получилось без особых затрат времени и сил). Вот мы и подошли к ответу на вопрос, почему эту задачку можно назвать элементарной.
&lt;br /&gt;
&lt;br /&gt;Как надо переформулировать задачу, чтобы её было решать просто и приятно?
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;Из набора чисел от 1 до N каким-то способом выбирают 5 чисел. Необходимо придумать способ закодировать одно из них порядком оставшихся четырёх чисел. Найти максимальное N, при котором это возможно.&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;Давайте оценим теоретический предел, выше которого N точно не поднимется. Нам на вход дают множество из пяти карт, а мы в ответ должны вернуть загаданную карту X и ещё четыре карты в определённом порядке. Давайте посчитаем, сколькими способами мы можем это сделать:
&lt;br /&gt;- загадать карту можем пятью способами (выбрать одну из пяти возможных),
&lt;br /&gt;- оставшиеся четыре переставить можно только 4! = 24 способами.
&lt;br /&gt;Итого: 5*24 = 120 &amp;mdash; это количество разных состояний, которые мы можем вернуть.
&lt;br /&gt;
&lt;br /&gt;А какую информацию надо сообщить? Требуется указать на одну из оставшихся N-4 карт. Т.е. надо передать одно из N-4 состояний.
&lt;br /&gt;
&lt;br /&gt;Выходит, что если N больше 124, то фокус принципиально невозможно исполнить, потому что закодировать мы можем только одно из 120 состояний, а передать требуется одно из N-4 состояний. Так мы поняли, что N не может быть больше 124.
&lt;br /&gt;
&lt;br /&gt;Эта задача является элементарной, потому что &lt;b&gt;получив эту верхнюю оценку, мы можем спокойно идти искать способ кодирования&lt;/b&gt;. Да, он есть. И он не очень сложный. Почти все трюки были показаны выше (когда мы играли с делимостью), поэтому теперь каждый может найти решение для 124 карт.
&lt;br /&gt;
&lt;br /&gt;Эту задачу можно было бы смело назвать сложной, если бы не существовало способа кодирования для 124 карт, но был бы какой-нибудь способ для, например, 117 карт (так как тогда стояла бы большая проблема доказать, что для 118 карт никакого способа не существует). Но у нас всё просто &amp;mdash; верхняя граница достижима, способ для 124 карт есть, поэтому достаточно всего лишь его предъявить :)
&lt;br /&gt;Кстати, в комментариях к прошлой заметке уже была дана ссылка не только на разборы этой задачи при N=124, но и на другие её модификации. Но всё же я предлагаю сначала попробовать найти решение своими руками, а уже потом читать чужой подход.
&lt;br /&gt;
&lt;br /&gt;Хорошей недели!
&lt;br /&gt;
&lt;br /&gt;(Хотите примеров сложных задач из разных областей знаний? Недавно мы рассматривали сложную &lt;a href="http://my-tribune.blogspot.com/2011/07/blog-post.html"&gt;задачку о коробочках, табличках и общей цели&lt;/a&gt;, а достаточно давно была геометрическая формулировка &lt;a href="http://my-tribune.blogspot.com/2010/10/blog-post_15.html"&gt;о впихивании тетраэдров в куб&lt;/a&gt;. В обоих случаях после нахождения какого-то неплохого решения возникает настоящая проблема &amp;mdash; доказать, что ничего лучше не сочинить.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-7495121804921943175?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-19T14:30:18.938+04:00</app:edited><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/-LkH9Ei47iio/TkpQ07iibsI/AAAAAAAAAcU/hTj70nffcn8/s72-c/card.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/08/blog-post_16.html</feedburner:origLink></item><item><title>Карты и теория кодирования</title><link>http://feedproxy.google.com/~r/my-tribune/~3/V2aQVC3tXSM/blog-post_12.html</link><category>математика</category><author>noreply@blogger.com (Илья Весенний)</author><pubDate>Fri, 12 Aug 2011 07:16:17 PDT</pubDate><guid isPermaLink="false">tag:blogger.com,1999:blog-6846929136376245264.post-1726887634403177418</guid><description>Добрый день.
&lt;br /&gt;
&lt;br /&gt;Можно учить теории кодирования (или любому другому разделу математики) традиционно: читать скучные лекции, формулировать непонятные леммы, доказывать ненужные теоремы... А можно показать всего один карточный фокус, чтобы удивить и заинтересовать, а уже потом читать интересные лекции и доказывать нужные теоремы.
&lt;br /&gt;
&lt;br /&gt;Кстати, вчера вышла статья &amp;laquo;&lt;a href="http://gad.ru/blog/Novosti/drop-your-textbook-take-iPad.html"&gt;iPad за партой. Заменят ли планшеты учебники?&lt;/a&gt;&amp;raquo;, для подготовки второй половины которой у меня взяли интервью. Я скептически отношусь к полезности подобной электроники в школе, но отлично понимаю, что хорошая идея и на плохой технике сработает, а плохая идея и на суперкомпьютерах не принесёт плодов. Другими словами, если всё делать грамотно, то и на iPad, и на более бюджетных устройствах можно хорошо обучать. Ниже я предлагаю описание фокуса, для демонстрации которого хватит колоды карт и любого компьютера или даже смартфона (вообще говоря, пару десятилетий назад и человек справлялся, но сейчас это может выглядеть не так эффектно).
&lt;br /&gt;
&lt;br /&gt;&lt;b&gt;На столе стоит компьютер-фокусник (считаем, что без камеры, микрофона и сети). Обычная колода из 52 карт отправляется в аудиторию, откуда возвращаются 5 случайно выбранных карт. Лектор одну из этих карт кладёт на стол, а оставшиеся четыре называет помощнику, который, не зная карту со стола, последовательно нажимает на клавиатуре 8 кнопок (для каждой из четырёх карт сначала масть, а потом достоинство). После этого на экране компьютера появляется изображение пятой карты. Как ему это удаётся?&lt;/b&gt;
&lt;br /&gt;
&lt;br /&gt;Надо исходить из того, что это не обман, а математическая задача (то есть, хитрость не в том, что ещё один помощник &amp;laquo;как-то через blue-touth с сотового телефона сообщил компьютеру о пятой карте&amp;raquo;). Да, всё очень честно! Этот фокус может ошарашить и удивить. Но если вдуматься, то окажется, что это всего лишь математическая задача, которую может решить любой студент.
&lt;br /&gt;
&lt;br /&gt;Давайте сравним количество информации (мы и раньше решали &lt;a href="http://my-tribune.blogspot.com/2008/08/blog-post_28.html"&gt;задачи про количество информации&lt;/a&gt;), которую ввели в компьютер, с объёмом данных, который он должен вернуть.
&lt;br /&gt;
&lt;br /&gt;Проще всего разобраться с выходными данными: раз всего карт 52, то компьютер, чтобы сообщить достоинство и масть карты со стола, должен вернуть число от 1 до 52 (т.е. всего 52 варианта).
&lt;br /&gt;
&lt;br /&gt;А что со входными данными? Четыре карты можно сообщить 4! = 24 разными способами (меняя порядок карт). Не так уж и мало, хоть и меньше необходимых 52. Как же двигаться дальше? Надо поискать, где ещё можно спрятать хоть чуть-чуть информации.
&lt;br /&gt;
&lt;br /&gt;Предлагаю в комментариях поделиться своими идеями, как подвинуть эти две оценки друг к другу, чтобы стало понятно, как обучить компьютер этому фокусу.
&lt;br /&gt;
&lt;br /&gt;Хорошего дня!
&lt;br /&gt;
&lt;br /&gt;(А если вы уже знаете эту задачу, то предлагаю её &amp;laquo;небольшую модификацию&amp;raquo;: добавим в нашу колоду джокера, тем самым расширив её до 53 карт. Всё остальное прежнее: выбираются 5 случайных карт, одна кладётся на стол, а оставшиеся четыре сообщаются компьютеру)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6846929136376245264-1726887634403177418?l=my-tribune.blogspot.com' alt='' /&gt;&lt;/div&gt;</description><app:edited xmlns:app="http://www.w3.org/2007/app">2011-08-12T18:16:17.321+04:00</app:edited><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">32</thr:total><feedburner:origLink>http://my-tribune.blogspot.com/2011/08/blog-post_12.html</feedburner:origLink></item></channel></rss>

