From ac1a5d1a76dac6e5639299e2db31f5aa9f0955a0 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Wed, 10 Sep 2025 03:32:44 -0700 Subject: [PATCH] Improve try scripts for 1989/ovdluhe When I first wrote the try scripts, and in particular the ovdluhe.alt.c code to do what the author suggested one try, I just had the option in try.alt.sh to redefine P once. Now the user can do that but after the initial loop it loops from 2..10 (the range the author suggested) running the loop again (on the three files three times) so one can see what the author means. The try.sh script has the updated idea by the judges of printing two lines, not one, after each prompt. Rebuilt index.html from updated README.md. --- 1989/ovdluhe/README.md | 3 +++ 1989/ovdluhe/index.html | 2 ++ 1989/ovdluhe/try.alt.sh | 44 ++++++++++++++++++++++++++++++++++++++++- 1989/ovdluhe/try.sh | 3 +++ 4 files changed, 51 insertions(+), 1 deletion(-) diff --git a/1989/ovdluhe/README.md b/1989/ovdluhe/README.md index f8b4ebeea..fcb46cca9 100644 --- a/1989/ovdluhe/README.md +++ b/1989/ovdluhe/README.md @@ -63,6 +63,9 @@ value that's not a number. **NOTE**: if you specify too high a value for `P` the program might fail. If you specify a value < 0 it will fail to compile. +The script will also run the program with `P=2` through `P=10` like the author +suggested. Send intr (usually ctrl-c) to stop early. + ## Judges' remarks: diff --git a/1989/ovdluhe/index.html b/1989/ovdluhe/index.html index 4eab180dd..2bd15a034 100644 --- a/1989/ovdluhe/index.html +++ b/1989/ovdluhe/index.html @@ -501,6 +501,8 @@ value that’s not a number.

P=5 ./try.alt.sh

NOTE: if you specify too high a value for P the program might fail. If you specify a value < 0 it will fail to compile.

+

The script will also run the program with P=2 through P=10 like the author +suggested. Send intr (usually ctrl-c) to stop early.

Judges’ remarks:

Run this program using your favorite text file as input. Files such as mailboxes, man pages and usenet articles are especially diff --git a/1989/ovdluhe/try.alt.sh b/1989/ovdluhe/try.alt.sh index b4eab5ba2..daed409ff 100755 --- a/1989/ovdluhe/try.alt.sh +++ b/1989/ovdluhe/try.alt.sh @@ -18,21 +18,63 @@ else fi # clear screen after compilation so that only the entry is shown +clear i=0 -for ((i=0; i<4; ++i)); do +for ((i=0; i<3; ++i)); do read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < ovdluhe.alt.c: " echo 1>&2 + echo 1>&2 ./ovdluhe.alt < ovdluhe.alt.c echo 1>&2 + echo 1>&2 read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < README.md: " echo 1>&2 + echo 1>&2 ./ovdluhe.alt < README.md echo 1>&2 + echo 1>&2 read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < Makefile: " echo 1>&2 + echo 1>&2 ./ovdluhe.alt < Makefile echo 1>&2 + echo 1>&2 done + +echo "Now we will redefine P from 2 through 10, running the program on three files" 1>&2 +echo "three times. If you wish to stop at any point just send intr (usually ctrl-c)." 1>&2 +echo "To quit the script." 1>&2 +read -r -n 1 -p "Press any key to continue: " +echo 1>&2 +echo 1>&2 +for ((P=2; P<=10; ++P)); do + echo "Recompiling with P=$P ..." 1>&2 + make clobber CC="$CC" P="$P" alt >/dev/null 2>&1|| exit 1 + for ((i=0; i<3; ++i)); do + read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < ovdluhe.alt.c: " + echo 1>&2 + echo 1>&2 + ./ovdluhe.alt < ovdluhe.alt.c + echo 1>&2 + echo 1>&2 + + read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < README.md: " + echo 1>&2 + echo 1>&2 + ./ovdluhe.alt < README.md + echo 1>&2 + echo 1>&2 + + read -r -n 1 -p "Press any key to run: ./ovdluhe.alt < Makefile: " + echo 1>&2 + echo 1>&2 + ./ovdluhe.alt < Makefile + echo 1>&2 + echo 1>&2 + done +done + + diff --git a/1989/ovdluhe/try.sh b/1989/ovdluhe/try.sh index c34311397..3891f7397 100755 --- a/1989/ovdluhe/try.sh +++ b/1989/ovdluhe/try.sh @@ -19,16 +19,19 @@ i=0 for ((i=0; i<4; ++i)); do read -r -n 1 -p "Press any key to run: ./ovdluhe < ovdluhe.c: " echo 1>&2 + echo 1>&2 ./ovdluhe < ovdluhe.c echo 1>&2 read -r -n 1 -p "Press any key to run: ./ovdluhe < README.md: " echo 1>&2 + echo 1>&2 ./ovdluhe < README.md echo 1>&2 read -r -n 1 -p "Press any key to run: ./ovdluhe < Makefile: " echo 1>&2 + echo 1>&2 ./ovdluhe < Makefile echo 1>&2 done