Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
55
Task/Floyds-triangle/Pascal/floyds-triangle.pas
Normal file
55
Task/Floyds-triangle/Pascal/floyds-triangle.pas
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
Program FloydDemo (input, output);
|
||||
|
||||
function digits(number: integer): integer;
|
||||
begin
|
||||
digits := trunc(ln(number) / ln(10)) + 1;
|
||||
end;
|
||||
|
||||
procedure floyd1 (numberOfLines: integer);
|
||||
{ variant with repeat .. until loop }
|
||||
var
|
||||
i, j, numbersInLine, startOfLastlLine: integer;
|
||||
|
||||
begin
|
||||
startOfLastlLine := (numberOfLines - 1) * numberOfLines div 2 + 1;
|
||||
i := 1;
|
||||
j := 1;
|
||||
numbersInLine := 1;
|
||||
repeat
|
||||
repeat
|
||||
write(i: digits(startOfLastlLine - 1 + j), ' ');
|
||||
inc(i);
|
||||
inc(j);
|
||||
until (j > numbersInLine);
|
||||
writeln;
|
||||
j := 1;
|
||||
inc(numbersInLine);
|
||||
until (numbersInLine > numberOfLines);
|
||||
end;
|
||||
|
||||
procedure floyd2 (numberOfLines: integer);
|
||||
{ Variant with for .. do loop }
|
||||
var
|
||||
i, j, numbersInLine, startOfLastlLine: integer;
|
||||
|
||||
begin
|
||||
startOfLastlLine := (numberOfLines - 1) * numberOfLines div 2 + 1;
|
||||
i := 1;
|
||||
for numbersInLine := 1 to numberOfLines do
|
||||
begin
|
||||
for j := 1 to numbersInLine do
|
||||
begin
|
||||
write(i: digits(startOfLastlLine - 1 + j), ' ');
|
||||
inc(i);
|
||||
end;
|
||||
writeln;
|
||||
end;
|
||||
end;
|
||||
|
||||
begin
|
||||
writeln ('*** Floyd 5 ***');
|
||||
floyd1(5);
|
||||
writeln;
|
||||
writeln ('*** Floyd 14 ***');
|
||||
floyd2(14);
|
||||
end.
|
||||
Loading…
Add table
Add a link
Reference in a new issue