aboutsummaryrefslogtreecommitdiff
path: root/challenge-120
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-07-07 23:07:38 +0100
committerGitHub <noreply@github.com>2021-07-07 23:07:38 +0100
commitd12a362d2cfdca9f657af51e2d7f5d9ff0f6970e (patch)
tree69fe1cce6683e03c4d312a6ea632399fe384458b /challenge-120
parent9c93eb9f24609c21a4964c75424ef82279ea6d73 (diff)
parent07885e8e6b5ede3d0727b4b419857aa5923d5315 (diff)
downloadperlweeklychallenge-club-d12a362d2cfdca9f657af51e2d7f5d9ff0f6970e.tar.gz
perlweeklychallenge-club-d12a362d2cfdca9f657af51e2d7f5d9ff0f6970e.tar.bz2
perlweeklychallenge-club-d12a362d2cfdca9f657af51e2d7f5d9ff0f6970e.zip
Merge pull request #4458 from Abigail/abigail/week-120
Abigail/week 120
Diffstat (limited to 'challenge-120')
-rw-r--r--challenge-120/abigail/README.md2
-rw-r--r--challenge-120/abigail/befunge-93/ch-1.bf935
-rw-r--r--challenge-120/abigail/befunge-93/ch-2.bf9312
-rw-r--r--challenge-120/abigail/blog.txt1
-rw-r--r--challenge-120/abigail/blog1.txt1
-rw-r--r--challenge-120/abigail/pascal/ch-1.p2
-rw-r--r--challenge-120/abigail/pascal/ch-2.p54
-rw-r--r--challenge-120/abigail/python/ch-2.py2
8 files changed, 71 insertions, 8 deletions
diff --git a/challenge-120/abigail/README.md b/challenge-120/abigail/README.md
index 84e672283a..84e45df14e 100644
--- a/challenge-120/abigail/README.md
+++ b/challenge-120/abigail/README.md
@@ -29,6 +29,7 @@ The decimal equivalent of `100001` is `33`.
* [AWK](awk/ch-1.awk)
* [Bash](bash/ch-1.sh)
* [bc](bc/ch-1.bc)
+* [Befunge-93](befunge-93/ch-1.bf93)
* [C](c/ch-1.c)
* [Go](go/ch-1.go)
* [Java](java/ch-1.java)
@@ -81,6 +82,7 @@ Output: 120 degree
* [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)
* [R](r/ch-2.r)
diff --git a/challenge-120/abigail/befunge-93/ch-1.bf93 b/challenge-120/abigail/befunge-93/ch-1.bf93
new file mode 100644
index 0000000000..497daf91bd
--- /dev/null
+++ b/challenge-120/abigail/befunge-93/ch-1.bf93
@@ -0,0 +1,5 @@
+>>>>> & :1+!#@_ : 2% 2* \ 2/ : 2% \ 2/ : 2% 8* \ 2/ : 2% 4* \ 2/ v
+ ^ v
+>>>> >>>>>>>>>> : 2% 48** \ 2/ : 2% 44** \ 2/ : 2% 844*** \ 2/ 2% 88** v >>>
+ ^ v
+ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< ,+55 . +++++++ <
diff --git a/challenge-120/abigail/befunge-93/ch-2.bf93 b/challenge-120/abigail/befunge-93/ch-2.bf93
index 103f2830bf..bf9ca03077 100644
--- a/challenge-120/abigail/befunge-93/ch-2.bf93
+++ b/challenge-120/abigail/befunge-93/ch-2.bf93
@@ -1,12 +1,12 @@
> & :1+!#@_ ~$ 543*** &+ 65+ * 65432**** % : 6543*** `#v_v
^ v v
-^ v<<<<<<<<<<<<<<<<<<<<<<<<<<<</2 : < -\ ****23456 : < v
+^ v<<<<<<<<<<<<<<<<<<<<<<<<<< /2 : < -\ ****23456 : < v
^ v ^<<<<<<<<<<<<<<<<<<<<
^ v
-^ > : 56+9* `!#v_ : 554** / "0"+, 554** % > : 55+ / "0"+, > 55+% "0"+, v
+^ >>> : 56+9* `!#v_ : 554** / "0"+, 554** % > : 55+ / "0"+, > 55+% "0"+, v
^ v ^ ^ v
-^ >>>>>>>>>>>>>>>>>>> : 9 `#^_ ^ v
+^ >>>>>>>>>>>>>>>>>>> : 9 `#^_ >>>>>>>>>>>>^ v
^ v
-^ v ,,".5" < v
-^ v ^ v
-^<<<<<<<<<<<<<<<<<<<<<<<<<< , +55 <<<<<<<<<<<<<<<<<<<< _^# !%2 <<<
+^ v ,,".5" < v
+^ v ^ v
+^<<<<<<<<<<<<<<<<<<<<<<<<<< , +55 <<<<<<<<<<<<<<<<<<<<<<<<< _^# !%2 <<<
diff --git a/challenge-120/abigail/blog.txt b/challenge-120/abigail/blog.txt
new file mode 100644
index 0000000000..e479ca3a69
--- /dev/null
+++ b/challenge-120/abigail/blog.txt
@@ -0,0 +1 @@
+https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-120-1.html
diff --git a/challenge-120/abigail/blog1.txt b/challenge-120/abigail/blog1.txt
new file mode 100644
index 0000000000..8fa535685f
--- /dev/null
+++ b/challenge-120/abigail/blog1.txt
@@ -0,0 +1 @@
+https://abigail.github.io/HTML/Perl-Weekly-Challenge/week-120-2.html
diff --git a/challenge-120/abigail/pascal/ch-1.p b/challenge-120/abigail/pascal/ch-1.p
index b16ebde46e..e4da64c6de 100644
--- a/challenge-120/abigail/pascal/ch-1.p
+++ b/challenge-120/abigail/pascal/ch-1.p
@@ -1,4 +1,4 @@
-Program XXX;
+Program SwapBits;
(* *)
(* See ../README.md *)
diff --git a/challenge-120/abigail/pascal/ch-2.p b/challenge-120/abigail/pascal/ch-2.p
new file mode 100644
index 0000000000..0bfa4ab26f
--- /dev/null
+++ b/challenge-120/abigail/pascal/ch-2.p
@@ -0,0 +1,54 @@
+Program ClockAngle;
+
+(* *)
+(* See ../README.md *)
+(* *)
+
+(* *)
+(* Run as: fpc -och-2.out ch-2.p; ./ch-2.out < input-file *)
+(* *)
+
+uses sysutils;
+
+var
+ time: string;
+ hours, minutes, angle: integer;
+
+const
+ DIFF_PER_MINUTE = 11;
+ MIN_PER_HOUR = 60;
+ FULL_CIRCLE = 720;
+
+begin
+ while not eof () do begin
+ (* *)
+ (* Read and parse the input. *)
+ (* *)
+ readln (time);
+ hours := strtoint (leftstr (time, 2));
+ minutes := strtoint (rightstr (time, 2));
+
+ (* *)
+ (* Calculate the angle in half degrees. *)
+ (* *)
+ angle := (DIFF_PER_MINUTE * (hours * MIN_PER_HOUR + minutes)) mod
+ FULL_CIRCLE;
+
+ (* *)
+ (* We want the convex angle. *)
+ (* *)
+ if 2 * angle >= FULL_CIRCLE then begin
+ angle := FULL_CIRCLE - angle;
+ end;
+
+ (* *)
+ (* Output. First we output the integer part. If the *)
+ (* number of half degrees is odd, add a trailing '.5'. *)
+ (* *)
+ write (angle div 2);
+ if angle mod 2 = 1 then begin
+ write ('.5');
+ end;
+ writeln ('');
+ end
+end.
diff --git a/challenge-120/abigail/python/ch-2.py b/challenge-120/abigail/python/ch-2.py
index 5c01644600..012ed7569f 100644
--- a/challenge-120/abigail/python/ch-2.py
+++ b/challenge-120/abigail/python/ch-2.py
@@ -21,7 +21,7 @@ for line in fileinput . input ():
if 2 * angle >= FULL_CIRCLE:
angle = FULL_CIRCLE - angle
- print ("{}" . format (int (angle / 2)), end = '')
+ print (int (angle / 2), end = '')
if angle % 2:
print (".5", end = '')
print ("")