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