#include "library.h" double ultimater_basic_draw_dist(double len) { draw_distance(len); return len; } double ultimate_basic_draw_dist(double len) { const double d1 = ultimater_basic_draw_dist(len/3); turn_left_by_degrees(60); const double d2 = ultimater_basic_draw_dist(len/3); turn_right_by_degrees(120); const double d3 = ultimater_basic_draw_dist(len/3); turn_left_by_degrees(60); const double d4 = ultimater_basic_draw_dist(len/3); return d1 + d2 + d3 + d4; } double basicest_draw_dist(double len) { const double d1 = ultimate_basic_draw_dist(len/3); turn_left_by_degrees(60); const double d2 = ultimate_basic_draw_dist(len/3); turn_right_by_degrees(120); const double d3 = ultimate_basic_draw_dist(len/3); turn_left_by_degrees(60); const double d4 = ultimate_basic_draw_dist(len/3); return d1 + d2 + d3 + d4; } double basicer_draw_dist(double len) { const double d1 = basicest_draw_dist(len/3); turn_left_by_degrees(60); const double d2 = basicest_draw_dist(len/3); turn_right_by_degrees(120); const double d3 = basicest_draw_dist(len/3); turn_left_by_degrees(60); const double d4 = basicest_draw_dist(len/3); return d1 + d2 + d3 + d4; } double basic_draw_dist(double len) { const double d1 = basicer_draw_dist(len/3); turn_left_by_degrees(60); const double d2 = basicer_draw_dist(len/3); turn_right_by_degrees(120); const double d3 = basicer_draw_dist(len/3); turn_left_by_degrees(60); const double d4 = basicer_draw_dist(len/3); return d1 + d2 + d3 + d4; } double draw_dist(double len) { const double d1 = basic_draw_dist(len/3); turn_left_by_degrees(60); const double d2 = basic_draw_dist(len/3); turn_right_by_degrees(120); const double d3 = basic_draw_dist(len/3); turn_left_by_degrees(60); const double d4 = basic_draw_dist(len/3); return d1 + d2 + d3 + d4; } double draw_triangle(double side) { const double d1 = draw_dist(side); turn_right_by_degrees(120); const double d2 = draw_dist(side); turn_right_by_degrees(120); const double d3 = draw_dist(side); turn_right_by_degrees(120); return d1 + d2 + d3; } void main() { make_window(600, 600); move_to(100, 420); set_heading_degrees(30); const double p = draw_triangle(400); print("perimeter = "); print(p); new_line(); }