aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAbigail <abigail@abigail.freedom.nl>2022-01-06 20:13:54 +0100
committerAbigail <abigail@abigail.freedom.nl>2022-01-06 20:13:54 +0100
commitae5b756068d9f1e7f877967d3cf69711b65f0a29 (patch)
tree70f60d7280f86ce4b02bf0f59eee88f47540b74d
parent8775dec9b972b5df9de24f9beb171656361e1bad (diff)
downloadperlweeklychallenge-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.md1
-rw-r--r--challenge-003/abigail/pascal/ch-2.p36
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.