Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
18
Task/Sierpinski-triangle/Pascal/sierpinski-triangle-1.pas
Normal file
18
Task/Sierpinski-triangle/Pascal/sierpinski-triangle-1.pas
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
program Sierpinski;
|
||||
|
||||
function ipow(b, n : Integer) : Integer;
|
||||
var
|
||||
i : Integer;
|
||||
begin
|
||||
ipow := 1;
|
||||
for i := 1 to n do
|
||||
ipow := ipow * b
|
||||
end;
|
||||
|
||||
function truth(a : Char) : Boolean;
|
||||
begin
|
||||
if a = '*' then
|
||||
truth := true
|
||||
else
|
||||
truth := false
|
||||
end;
|
||||
41
Task/Sierpinski-triangle/Pascal/sierpinski-triangle-2.pas
Normal file
41
Task/Sierpinski-triangle/Pascal/sierpinski-triangle-2.pas
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
function rule_90(ev : String) : String;
|
||||
var
|
||||
l, i : Integer;
|
||||
cp : String;
|
||||
s : Array[0..1] of Boolean;
|
||||
begin
|
||||
l := length(ev);
|
||||
cp := copy(ev, 1, l);
|
||||
for i := 1 to l do begin
|
||||
if (i-1) < 1 then
|
||||
s[0] := false
|
||||
else
|
||||
s[0] := truth(ev[i-1]);
|
||||
if (i+1) > l then
|
||||
s[1] := false
|
||||
else
|
||||
s[1] := truth(ev[i+1]);
|
||||
if ( (s[0] and not s[1]) or (s[1] and not s[0]) ) then
|
||||
cp[i] := '*'
|
||||
else
|
||||
cp[i] := ' ';
|
||||
end;
|
||||
rule_90 := cp
|
||||
end;
|
||||
|
||||
procedure triangle(n : Integer);
|
||||
var
|
||||
i, l : Integer;
|
||||
b : String;
|
||||
begin
|
||||
l := ipow(2, n+1);
|
||||
b := ' ';
|
||||
for i := 1 to l do
|
||||
b := concat(b, ' ');
|
||||
b[round(l/2)] := '*';
|
||||
writeln(b);
|
||||
for i := 1 to (round(l/2)-1) do begin
|
||||
b := rule_90(b);
|
||||
writeln(b)
|
||||
end
|
||||
end;
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
begin
|
||||
triangle(4)
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue