Парадоксы и софизмы

Сегодня мы разберём некоторые логические, физические парадоксы.

Парадокс №0. Что покажет компас, если поставить его на полюс? Это не совсем парадокс, ведь никакой логической ошибки в этом вопросе нет. Просто он довольно интересный, неожиданный и заставляющий задуматься. Некоторые могут предположить, что он будет непрерывно крутиться, но это не так. Известно, что магнитная стрелка всегда ориентирована вдоль магнитных линий и направлена к северному магнитному полюсу. Причём именно магнитному полюсу, а не географическому. Магнитный полюс находится довольно далеко от географического, сегодня серевный магнитный полюс расположен к северу от Канады, и его координаты 85°54? с. ш. 147° з. д. Что же будет происходить, если расположить компас точно на этих координатах?

Далее...

Отнимаем интернет у соседа

Отнимаем интернет у соседа. Всё началось с того, что в общаге поселился замечательный сосед-геймер, который по вечерам играл либо в доту, либо в Counter Strike, либо смотрел футбол. К нему в это время приходили приятели и орали непечатные слова, а просьба диминуэндо осталась без внимания, что и стало поводом для написания программы, которая отнимает интернет у конкретного пользователя, не забивая при этом канал, не перегружая процессор и оставляя доступ в интернет у меня. Делюсь с вами результатами своего эксперимента.

Нам понадобится:

  1. Visual C#;
  2. Библиотека WinPcap;
  3. Библиотека-обёртка для WinPcap - SharpPcap;
  4. Сниффер WireShark;
  5. 2 компьютера, подключённые к интернету, объединённые в локальную сеть с помощью коммутатора.

Далее...

Мой первый компьютер

Как думаете, чем я занимался, когда у меня появился первый компьютер? Думаете, играл? Нет! Я занимался программированием!

Кажется, это было в 2003 году или около того. Он состоял из клавиатуры и внутреннего железа. Монитором мог быть любой телевизор, который подключался через "тюльпан" или антенный кабель. Он мог воспроизводить многие игрушки, но его главная особенность - обучение. На нём есть текстовый редактор, музыкальный редактор, графический редактор, лого-миры и великий и могучий BASIC! На просторах интернета нашёл видео об этом чуде техники. Далее...

Решение уравнения y=F(x) методом Ньютона (касательных)

Метод Ньютона позволяет решить уравнение y=f(x), зная начальное приближение и производную f’(x). Метод состоит в построении итерационной последовательности xn+1=xn-f(xn)/f’(xn). Определим условия сходимости метода.

Функция f(x) должна быть определена и дважды дифференцируема на отрезке [a, b], причём f(a)f(b)<0, а производные f’(x), f’’(x) сохраняют знак на отрезке [a, b]. Это означает, что функция должна иметь на отрезке [a, b] только один корень и монотонно убывать или возрастать. В противном случае алгоритм не работает. Изобразим алгоритм решения уравнения графически. В качестве примера возьмём уравнение x3-3x-2e-x=0. Построим график. Выберем в качестве начального приближения точку 1,2.

Далее...

Решение уравнения f(x)=0 методом простых итераций (последовательных приближений)

Метод простых итераций решения уравнения f(x)=0 состоит в замене исходного уравнения эквивалентным ему уравнением x=φ(x) и построении последовательности xn+1=φ(xn), сходящейся при n→∞.

Достаточным условием сходимости является наличие числа q такого, что | φ’(x)|≤q<1 на отрезке [a, b], причём чем оно меньше, тем быстрее сходится алгоритм. В качестве начального приближения можно выбрать любое число, лежащее на этом промежутке. Принцип работы алгоритма наглядно продемонстрирован на рисунке. Синим цветом обозначена функция φ(x), красным y=x. Стрелка выходит из точки, которая выбрана в качестве начального приближения, после чего она через несколько итераций приходит к корню уравнения. Тогда класс, решающий уравнение методом последовательных приближений, будет выглядеть следующим образом:

Далее...

Приближённое решение уравнения F(x)=0 методом бисекций

В этой серии статей я постараюсь перевести на C# код, представленный в книге "Лабораторный практикум по высшей математике", которую я однажды рекомендовал обществу. Если у меня хватит терпения, после окончания работ должна получиться полная математическая библиотека.

Итак, в чём суть метода бисекций? Я постараюсь, насколько это возможно, избежать сухих формул, приведённых в книге, и описать это простым языком. Допустим, у нас есть уравнение F(x) = 0, причём известен отрезок [a,b] такой, что f(a)*f(b)<0, то есть, на всём отрезке функция непрерывно возрастает или убывает. Тогда можно точно сказать, что корень находится на этом отрезке и его можно найти методом деления пополам.

Метод бисекций - простой и надёжный метод поиска простого корня уравнения f(x)=0. Он сходится для любых непрерывных функций f(x), В том числе недифференцируемых. Для получения каждых трёх верных десятичных знаков необходимо совершить около 10 итераций.

Если на отрезке [a,b] находится несколько корней уравнения, то процесс сходится к одному из них. Метод неприменим для отыскания кратных корней четного порядка. В случае кратных корней нечётного порядка он менее точен.

Далее...

Дежавю при чтении

Скажите, у вас бывает ощущение дежавю при чтении книги? Бывает, читаешь, читаешь, и вдруг понимаешь, что уже это читал. В голове начинают всплывать подробности, начинаешь вспоминать, что будет дальше. Дежавю при чтении отличается от обычного. Обычное дежавю неуловимо; чуть промелькнувшая мысль тут же угасает, и ты не можешь вспомнить, когда именно была похожая ситуация. Дежавю при чтении более отчётливо, и обычно быстро вспоминаешь, где и когда ты это читал.

Вот пример. Последняя прочитанная мною книга - "Записки охотника". Я и раньше читал несколько рассказов, кажется в седьмом классе; эти фрагменты я легко вспомнил. Но один фрагмент из последней главы "Лес и степь" так и не поднялся из недр моего сознания. Этот отрывок я определённо встречал в 10 или 11 классе, также помню, что слова "Записки охотника" и "Лес и степь" там не упоминались. Может быть, мы учили его наизусь, может быть, он был в ЕГЭ. Других идей пока нет.

Далее...