- PVSM.RU - https://www.pvsm.ru -

Единство формы и содержания

Прислал мне тут один программист смешную круглую программку на языке C, там был #define определяющий подчерк, а потом из подчерков и минусов был нарисован круг:

            _-_-_-_
       _-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
 _-_-_-_-_-_-_-_-_-_-_-_-_-_-_
  _-_-_-_-_-_-_-_-_-_-_-_-_-_
    _-_-_-_-_-_-_-_-_-_-_-_
        _-_-_-_-_-_-_-_
            _-_-_-_

При вычислении этого выражения получалось число π. Ну на самом деле, там чего-то съехало и вместо π получалось 0.250, но не в этом дело.

Сначала я хотел «отладить» эту программку, но подумал, что таких программ, где кодом нарисована какая-то картинка, вообще-то много. А ведь можно придать этому геометрический смысл!

Сказано — сделано, вот программа для вычисления числа π:

#define O o++;
#define K k++;
double o = 0;
double k = 0;

main()
{

          O O O O O O               K K K K K K K K
      O O O O O O O O O O           K K K K K K K K
    O O O O O O O O O O O O         K K K K K K K K
    O O O O O O O O O O O O         K K K K K K K K
  O O O O O O O O O O O O O O       K K K K K K K K
  O O O O O O O O O O O O O O       K K K K K K K K
  O O O O O O O O O O O O O O       K K K K K K K K
O O O O O O O O O O O O O O O O     K K K K K K K K
O O O O O O O O O O O O O O O O     K K K K K K K K
O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O
  O O O O O O O O O O O O O O
  O O O O O O O O O O O O O O
  O O O O O O O O O O O O O O
    O O O O O O O O O O O O
    O O O O O O O O O O O O
      O O O O O O O O O O
          O O O O O O

printf("%fn",o/k);
}

Получается 3.1666…, но если нарисовать картинку побольше, то точность возрастет.

Площадь круга πR², то есть если поделить площадь круга на площадь квадрата, сторона которого равна радиусу этого круга, то получится π. Берем две переменных и рисуем круг инкрементами одной переменной, а квадрат инкрементами другой. В результате, соотношение этих переменных равно соотношению площадей фигур.

Автор: rekub

Источник [1]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/nenormal-noe-programmirovanie/52845

Ссылки в тексте:

[1] Источник: http://habrahabr.ru/post/209244/