From ebb0dd62a8f39754ff8ee5d7bac8d84504459a62 Mon Sep 17 00:00:00 2001 From: Timothy Warren Date: Fri, 17 Sep 2021 16:16:48 -0400 Subject: [PATCH] Add some more Pascal --- pascal/Factorial.pas | 20 ++++++++++++++++++++ pascal/Fib2.pas | 25 +++++++++++++++++++++++++ pascal/Makefile | 2 +- pascal/Pow2.pas | 2 +- 4 files changed, 47 insertions(+), 2 deletions(-) create mode 100644 pascal/Factorial.pas create mode 100644 pascal/Fib2.pas diff --git a/pascal/Factorial.pas b/pascal/Factorial.pas new file mode 100644 index 0000000..3877506 --- /dev/null +++ b/pascal/Factorial.pas @@ -0,0 +1,20 @@ +program Factorial; + +var input: Word; + +function Fact (n: word): NativeUInt; +begin + case n of + 0: Fact := 0; + 1: Fact := 1; + else Fact := n * Fact(n - 1) + end; +end; + + +begin + Write('Which Factorial to calculate? '); + ReadLn(input); + + WriteLn(Fact(input)); +end. \ No newline at end of file diff --git a/pascal/Fib2.pas b/pascal/Fib2.pas new file mode 100644 index 0000000..10dd10c --- /dev/null +++ b/pascal/Fib2.pas @@ -0,0 +1,25 @@ +{ Prints Fibonacci Number supplied } +program Fib2; + +const + ZERO = 1; + ONE = 1; + +var + input: word; + +function Fib (n: word): NativeUInt; +begin + case n of + 0: Fib := 0; + 1, 2: Fib := 1; + else Fib := Fib(n - 2) + Fib(n - 1) + end; +end; + +begin + write('Which Fibonacci number would you like? '); + readln(input); + + WriteLn(Fib(input)); +end. diff --git a/pascal/Makefile b/pascal/Makefile index 17489f4..e62e7e6 100644 --- a/pascal/Makefile +++ b/pascal/Makefile @@ -3,7 +3,7 @@ PROGRAMS_O = $(patsubst %.pas,%.o,$(PROGRAMS_SRC)) PROGRAMS = $(patsubst %.pas,%,$(PROGRAMS_SRC)) all: - $(foreach file, $(PROGRAMS), fpc ${file};) + $(foreach file, $(PROGRAMS), fpc -v0 ${file};) clean: rm -f $(PROGRAMS_O) diff --git a/pascal/Pow2.pas b/pascal/Pow2.pas index abbfe2a..848766c 100644 --- a/pascal/Pow2.pas +++ b/pascal/Pow2.pas @@ -23,7 +23,7 @@ begin case i of 15: writeln(this:6); 5, 10: writeln(this:6, ','); - otherwise write(this:6, ', ') + else write(this:6, ', ') end; end; end. \ No newline at end of file