From ae5b756068d9f1e7f877967d3cf69711b65f0a29 Mon Sep 17 00:00:00 2001 From: Abigail Date: Thu, 6 Jan 2022 20:13:54 +0100 Subject: Week 3, part 2: Pascal solution --- challenge-003/abigail/README.md | 1 + challenge-003/abigail/pascal/ch-2.p | 36 ++++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) create mode 100644 challenge-003/abigail/pascal/ch-2.p 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. -- cgit