diff options
| author | Abigail <abigail@abigail.freedom.nl> | 2022-01-06 20:13:54 +0100 |
|---|---|---|
| committer | Abigail <abigail@abigail.freedom.nl> | 2022-01-06 20:13:54 +0100 |
| commit | ae5b756068d9f1e7f877967d3cf69711b65f0a29 (patch) | |
| tree | 70f60d7280f86ce4b02bf0f59eee88f47540b74d | |
| parent | 8775dec9b972b5df9de24f9beb171656361e1bad (diff) | |
| download | perlweeklychallenge-club-ae5b756068d9f1e7f877967d3cf69711b65f0a29.tar.gz perlweeklychallenge-club-ae5b756068d9f1e7f877967d3cf69711b65f0a29.tar.bz2 perlweeklychallenge-club-ae5b756068d9f1e7f877967d3cf69711b65f0a29.zip | |
Week 3, part 2: Pascal solution
| -rw-r--r-- | challenge-003/abigail/README.md | 1 | ||||
| -rw-r--r-- | challenge-003/abigail/pascal/ch-2.p | 36 |
2 files changed, 37 insertions, 0 deletions
diff --git a/challenge-003/abigail/README.md b/challenge-003/abigail/README.md index 59a58a6ead..35517254ce 100644 --- a/challenge-003/abigail/README.md +++ b/challenge-003/abigail/README.md @@ -27,6 +27,7 @@ * [Java](java/ch-2.java) * [Lua](lua/ch-2.lua) * [Node.js](node/ch-2.js) +* [Pascal](pascal/ch-2.p) * [Perl](perl/ch-2.pl) * [Python](python/ch-2.py) * [Ruby](ruby/ch-2.rb) diff --git a/challenge-003/abigail/pascal/ch-2.p b/challenge-003/abigail/pascal/ch-2.p new file mode 100644 index 0000000000..596acce61d --- /dev/null +++ b/challenge-003/abigail/pascal/ch-2.p @@ -0,0 +1,36 @@ +Program ch2; + +(* *) +(* See https://theweeklychallenge.org/blog/perl-weekly-challenge-003 *) +(* *) + +(* *) +(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *) +(* *) + +var + max: integer; + row, col: integer; + current_row, next_row: array of integer; + +begin + while not eof do begin + readln (max); + setlength (current_row, 1); + current_row [0] := 1; + writeln (1); + + for row := 1 to max do begin + setlength (next_row, row + 1); + next_row [0] := 1; + next_row [row] := 1; + write ('1 '); + for col := 1 to row - 1 do begin + next_row [col] := current_row [col - 1] + current_row [col]; + write (next_row [col], ' '); + end; + writeln ('1'); + current_row := next_row; + end + end +end. |
