Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
38
Task/Yin-and-yang/Modula-2/yin-and-yang.mod2
Normal file
38
Task/Yin-and-yang/Modula-2/yin-and-yang.mod2
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
MODULE Taijitu;
|
||||
FROM InOut IMPORT Write, WriteLn;
|
||||
|
||||
PROCEDURE YinYang(r: INTEGER);
|
||||
VAR x, y: INTEGER;
|
||||
|
||||
PROCEDURE circle(x, y, c, r: INTEGER): BOOLEAN;
|
||||
BEGIN
|
||||
RETURN r*r >= (x DIV 2) * (x DIV 2) + (y-c) * (y-c);
|
||||
END circle;
|
||||
|
||||
PROCEDURE pixel(x, y, r: INTEGER): CHAR;
|
||||
BEGIN
|
||||
IF circle(x, y, -r DIV 2, r DIV 6) THEN RETURN '#';
|
||||
ELSIF circle(x, y, r DIV 2, r DIV 6) THEN RETURN '.';
|
||||
ELSIF circle(x, y, -r DIV 2, r DIV 2) THEN RETURN '.';
|
||||
ELSIF circle(x, y, r DIV 2, r DIV 2) THEN RETURN '#';
|
||||
ELSIF circle(x, y, 0, r) THEN
|
||||
IF x<0 THEN RETURN '.';
|
||||
ELSE RETURN '#';
|
||||
END;
|
||||
ELSE RETURN ' ';
|
||||
END;
|
||||
END pixel;
|
||||
BEGIN
|
||||
FOR y := -r TO r DO
|
||||
FOR x := -2*r TO 2*r DO
|
||||
Write(pixel(x,y,r));
|
||||
END;
|
||||
WriteLn();
|
||||
END;
|
||||
END YinYang;
|
||||
|
||||
BEGIN
|
||||
YinYang(4);
|
||||
WriteLn();
|
||||
YinYang(8);
|
||||
END Taijitu.
|
||||
Loading…
Add table
Add a link
Reference in a new issue