Программирование

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

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

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

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

Далее...

Решение уравнения 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] находится несколько корней уравнения, то процесс сходится к одному из них. Метод неприменим для отыскания кратных корней четного порядка. В случае кратных корней нечётного порядка он менее точен.

Далее...

Тион-про 28. Сборка образа ОС

Я снова на связи, продолжаю знакомить вас с одноплатным компьютером тионом, и сегодня мы займёмся сборкой образа операционной системы. Но прежде чем приступить к сборке, разберём ещё один способ прошивки, который я обещал ещё в предыдущей статье. Здесь нам понадобится подключение тиона к локальной сети обычной витой парой, которую надо подключить к одному из ethernet-портов: X11 или X24. Здесь также необходимо, чтобы загрузчик уже присутствовал во внутренней флеш-памяти устройства, поэтому данный способ подходит для вторичной прошивки, то есть прошивки своего образа со включённым в него своим программным обеспечением. Но пока попробуем прошить тот же самый фирменный образ, который мы использовали в прошлый раз.

Далее...

Тион-про 28. Начало работы

Приветствую! Не так давно я познакомился с одной железкой - одноплатным компьютером Тион Про 28. Скажу сразу: проблем при работе с тионом было много, и я не уверен, стоит ли овчинка выделки. Но такая задача была поставлена, и я стал изучать эту железку. Выглядит она вот так: Далее...