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

в 18:12, , рубрики: ненормальное программирование, число пи, метки: ,

Прислал мне тут один программист смешную круглую программку на языке 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

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js