From 8fb3596668d73582a9b07d2ec8443c837c73c5fd Mon Sep 17 00:00:00 2001 From: Emilianouz <135679131+Emilianouz@users.noreply.github.com> Date: Tue, 11 Nov 2025 11:56:34 +0000 Subject: [PATCH 1/3] Numeric Systems: answers --- number-systems/README.md | 41 ++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/number-systems/README.md b/number-systems/README.md index 77a3bde94..322d053c6 100644 --- a/number-systems/README.md +++ b/number-systems/README.md @@ -5,61 +5,62 @@ Do not convert any binary numbers to decimal when solving a question unless the The goal of these exercises is for you to gain an intuition for binary numbers. Using tools to solve the problems defeats the point. Convert the decimal number 14 to binary. -Answer: +Answer: 1110 Convert the binary number 101101 to decimal: -Answer: +Answer: 45 Which is larger: 1000 or 0111? -Answer: +Answer: 1000 Which is larger: 00100 or 01011? -Answer: +Answer: 01011 What is 10101 + 01010? -Answer: +Answer: 11111 What is 10001 + 10001? -Answer: +Answer:100010 What's the largest number you can store with 4 bits, if you want to be able to represent the number 0? -Answer: +Answer: 1111 = 15 (largest representable number) + Number of possible values including 0 = 16 How many bits would you need in order to store the numbers between 0 and 255 inclusive? -Answer: +Answer: 8 bits How many bits would you need in order to store the numbers between 0 and 3 inclusive? -Answer: +Answer: 2 bits => 00, 01, 10, 11 How many bits would you need in order to store the numbers between 0 and 1000 inclusive? -Answer: +Answer: 10 bits How can you test if a binary number is a power of two (e.g. 1, 2, 4, 8, 16, ...)? -Answer: +Answer: Been a binary it would be 1 followed by 0s => 100, 10000, 10 Convert the decimal number 14 to hex. -Answer: +Answer:0xE Convert the decimal number 386 to hex. -Answer: +Answer: 0x182 Convert the hex number 386 to decimal. -Answer: +Answer: 902 Convert the hex number B to decimal. -Answer: +Answer:11 If reading the byte 0x21 as a number, what decimal number would it mean? -Answer: +Answer:33 If reading the byte 0x21 as an ASCII character, what character would it mean? -Answer: +Answer:! If reading the byte 0x21 as a greyscale colour, as described in "Approaches for Representing Colors and Images", what colour would it mean? -Answer: +Answer: Dark Grey If reading the bytes 0xAA00FF as an RGB colour, as described in "Approaches for Representing Colors and Images", what colour would it mean? -Answer: +Answer:Purple (magenta) If reading the bytes 0xAA00FF as a sequence of three one-byte decimal numbers, what decimal numbers would they be? -Answer: +Answer: 170 0 255 From 26ba17a79c0f261b1451a0e05c5f88f60738022a Mon Sep 17 00:00:00 2001 From: Emilianouz <135679131+Emilianouz@users.noreply.github.com> Date: Mon, 17 Nov 2025 16:53:39 +0000 Subject: [PATCH 2/3] Shell pipelines exercises related to the commands: ls, grep, sort, uniq, head, tail and tr --- shell-pipelines/ls-grep/script-01.sh | 4 +++- shell-pipelines/ls-grep/script-02.sh | 4 +++- shell-pipelines/ls-grep/script-03.sh | 4 +++- shell-pipelines/ls-grep/script-04.sh | 4 +++- shell-pipelines/sort-uniq-head-tail/script-01.sh | 1 + shell-pipelines/sort-uniq-head-tail/script-02.sh | 1 + shell-pipelines/sort-uniq-head-tail/script-03.sh | 4 +++- shell-pipelines/sort-uniq-head-tail/script-04.sh | 1 + shell-pipelines/sort-uniq-head-tail/script-05.sh | 1 + shell-pipelines/sort-uniq-head-tail/script-06.sh | 1 + shell-pipelines/sort-uniq-head-tail/script-07.sh | 1 + shell-pipelines/tr/script-01.sh | 1 + shell-pipelines/tr/script-02.sh | 1 + 13 files changed, 23 insertions(+), 5 deletions(-) diff --git a/shell-pipelines/ls-grep/script-01.sh b/shell-pipelines/ls-grep/script-01.sh index 8c7d968a2..ddbda172d 100755 --- a/shell-pipelines/ls-grep/script-01.sh +++ b/shell-pipelines/ls-grep/script-01.sh @@ -2,5 +2,7 @@ set -euo pipefail -# TODO: Write a command to output the names of the files in the sample-files directory whose name contains at least one upper case letter. +# TODO: Write a command to output the names of the files in the sample-files directory +#whose name contains at least one upper case letter. # Your output should contain 11 files. +ls sample-files | grep '[A-Z]' \ No newline at end of file diff --git a/shell-pipelines/ls-grep/script-02.sh b/shell-pipelines/ls-grep/script-02.sh index 16f5f71d9..f0d2dd513 100755 --- a/shell-pipelines/ls-grep/script-02.sh +++ b/shell-pipelines/ls-grep/script-02.sh @@ -2,5 +2,7 @@ set -euo pipefail -# TODO: Write a command to output the names of the files in the sample-files directory whose name starts with an upper case letter. +# TODO: Write a command to output the names of the files in the sample-files directory +# whose name starts with an upper case letter. # Your output should contain 10 files. + ls sample-files | grep '^[A-Z]' \ No newline at end of file diff --git a/shell-pipelines/ls-grep/script-03.sh b/shell-pipelines/ls-grep/script-03.sh index a302ab036..8569b3bae 100755 --- a/shell-pipelines/ls-grep/script-03.sh +++ b/shell-pipelines/ls-grep/script-03.sh @@ -2,5 +2,7 @@ set -euo pipefail -# TODO: Write a command to output the names of the files in the sample-files directory whose name starts with an upper case letter and doesn't contain any other upper case letters. +# TODO: Write a command to output the names of the files in the sample-files directory +#whose name starts with an upper case letter and doesn't contain any other upper case letters. # Your output should contain 7 files. +ls sample-files | grep '^[A-Z][^A-Z]*$' \ No newline at end of file diff --git a/shell-pipelines/ls-grep/script-04.sh b/shell-pipelines/ls-grep/script-04.sh index c000b7e3b..48731144d 100755 --- a/shell-pipelines/ls-grep/script-04.sh +++ b/shell-pipelines/ls-grep/script-04.sh @@ -2,5 +2,7 @@ set -euo pipefail -# TODO: Write a command to count the number of files in the sample-files directory whose name starts with an upper case letter and doesn't contain any other upper case letters. +# TODO: Write a command to count the number of files in the sample-files directory +#whose name starts with an upper case letter and doesn't contain any other upper case letters. # Your output should be the number 7. +ls sample-files | grep -c '^[A-Z][^A-Z]*$' \ No newline at end of file diff --git a/shell-pipelines/sort-uniq-head-tail/script-01.sh b/shell-pipelines/sort-uniq-head-tail/script-01.sh index 171e1f989..db1efc268 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-01.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-01.sh @@ -5,3 +5,4 @@ set -euo pipefail # The input for this script is the scores-table.txt file. # TODO: Write a command to output scores-table.txt, with lines sorted by the person's name. # The first line of your output should be "Ahmed London 1 10 4" (with no quotes). And the third line should be "Chandra Birmingham 12 6". +sort -k1 scores-table.txt \ No newline at end of file diff --git a/shell-pipelines/sort-uniq-head-tail/script-02.sh b/shell-pipelines/sort-uniq-head-tail/script-02.sh index 29c3c2524..e38bf38d8 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-02.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-02.sh @@ -5,3 +5,4 @@ set -euo pipefail # The input for this script is the scores-table.txt file. # TODO: Write a command to output scores-table.txt, with lines sorted by the person's first score, descending. # The first line of your output should be "Basia London 22 9 6" (with no quotes). +sort -k3rn scores-table.txt \ No newline at end of file diff --git a/shell-pipelines/sort-uniq-head-tail/script-03.sh b/shell-pipelines/sort-uniq-head-tail/script-03.sh index bcbaf3420..ea32ded32 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-03.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-03.sh @@ -3,8 +3,10 @@ set -euo pipefail # The input for this script is the scores-table.txt file. -# TODO: Write a command to output scores-table.txt, with shows the lines for the three players with the highest first score, in descending order. +# TODO: Write a command to output scores-table.txt, +#qwith shows the lines for the three players with the highest first score, in descending order. # Your output should be: # Basia London 22 9 6 # Piotr Glasgow 15 2 25 11 8 # Chandra Birmingham 12 6 +sort -k3rn scores-table.txt | head -n 3 \ No newline at end of file diff --git a/shell-pipelines/sort-uniq-head-tail/script-04.sh b/shell-pipelines/sort-uniq-head-tail/script-04.sh index 65a5cfba8..07f6bc969 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-04.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-04.sh @@ -5,3 +5,4 @@ set -euo pipefail # The input for this script is the scores-table.txt file. # TODO: Write a command to output scores-table.txt, with shows the line for the player whose first score was the second highest. # Your output should be: "Piotr Glasgow 15 2 25 11 8" (without quotes). +sort -k3rn scores-table.txt | head -n 2 | tail -1 \ No newline at end of file diff --git a/shell-pipelines/sort-uniq-head-tail/script-05.sh b/shell-pipelines/sort-uniq-head-tail/script-05.sh index a93cd9f9d..cf8e0ac04 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-05.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-05.sh @@ -6,3 +6,4 @@ set -euo pipefail # TODO: Write a command to show a list of all events that have happened, without duplication. # The order they're displayed doesn't matter, but we never want to see the same event listed twice. # Your output should contain 6 lines. +sort events.txt | uniq \ No newline at end of file diff --git a/shell-pipelines/sort-uniq-head-tail/script-06.sh b/shell-pipelines/sort-uniq-head-tail/script-06.sh index 715c7ae5c..609c2f858 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-06.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-06.sh @@ -5,3 +5,4 @@ set -euo pipefail # The input for this script is the events.txt file. # TODO: Write a command to show how many times anyone has entered and exited. # It should be clear from your script's output that there have been 5 Entry events and 4 Exit events. +awk '{print $1}' events.txt | sort | uniq -c \ No newline at end of file diff --git a/shell-pipelines/sort-uniq-head-tail/script-07.sh b/shell-pipelines/sort-uniq-head-tail/script-07.sh index 7fd07e1ff..830ce81af 100755 --- a/shell-pipelines/sort-uniq-head-tail/script-07.sh +++ b/shell-pipelines/sort-uniq-head-tail/script-07.sh @@ -6,3 +6,4 @@ set -euo pipefail # TODO: Write a command to show how many times anyone has entered and exited. # It should be clear from your script's output that there have been 5 Entry events and 4 Exit events. # The word "Event" should not appear in your script's output. +awk '{print $3}' events-with-timestamps.txt | tail -n +2 | sort | uniq -c \ No newline at end of file diff --git a/shell-pipelines/tr/script-01.sh b/shell-pipelines/tr/script-01.sh index 8bb0211e9..6bd4576aa 100755 --- a/shell-pipelines/tr/script-01.sh +++ b/shell-pipelines/tr/script-01.sh @@ -6,3 +6,4 @@ set -euo pipefail # The author got feedback that they're using too many exclamation marks (!). # # TODO: Write a command to output the contents of text.txt with every exclamation mark (!) replaced with a full-stop (.). +cat text.txt | tr '!' '.' \ No newline at end of file diff --git a/shell-pipelines/tr/script-02.sh b/shell-pipelines/tr/script-02.sh index cf3a503a2..667cbcca5 100755 --- a/shell-pipelines/tr/script-02.sh +++ b/shell-pipelines/tr/script-02.sh @@ -7,3 +7,4 @@ set -euo pipefail # so every Y should be a Z, and every Z should be a Y! # # TODO: Write a command to output the contents of text.txt with every Y and Z swapped (both upper and lower case). +cat text.txt | tr '!' '.' | tr 'yzYZ' 'zyZY' \ No newline at end of file From ec16d12dec968c80f65e3297acbd6b6edbf181e8 Mon Sep 17 00:00:00 2001 From: Emiliano Uruena Date: Tue, 25 Nov 2025 22:00:29 +0000 Subject: [PATCH 3/3] Delete number-systems/README.md The file is not part of this Pull Request. --- number-systems/README.md | 66 ---------------------------------------- 1 file changed, 66 deletions(-) delete mode 100644 number-systems/README.md diff --git a/number-systems/README.md b/number-systems/README.md deleted file mode 100644 index 322d053c6..000000000 --- a/number-systems/README.md +++ /dev/null @@ -1,66 +0,0 @@ -Do not use any tools or programming to solve these problems. Work it out yourself by hand, and fill in the answers. - -Do not convert any binary numbers to decimal when solving a question unless the question explicitly tells you to. - -The goal of these exercises is for you to gain an intuition for binary numbers. Using tools to solve the problems defeats the point. - -Convert the decimal number 14 to binary. -Answer: 1110 - -Convert the binary number 101101 to decimal: -Answer: 45 - -Which is larger: 1000 or 0111? -Answer: 1000 - -Which is larger: 00100 or 01011? -Answer: 01011 - -What is 10101 + 01010? -Answer: 11111 - -What is 10001 + 10001? -Answer:100010 - -What's the largest number you can store with 4 bits, if you want to be able to represent the number 0? -Answer: 1111 = 15 (largest representable number) - Number of possible values including 0 = 16 - -How many bits would you need in order to store the numbers between 0 and 255 inclusive? -Answer: 8 bits - -How many bits would you need in order to store the numbers between 0 and 3 inclusive? -Answer: 2 bits => 00, 01, 10, 11 - -How many bits would you need in order to store the numbers between 0 and 1000 inclusive? -Answer: 10 bits - -How can you test if a binary number is a power of two (e.g. 1, 2, 4, 8, 16, ...)? -Answer: Been a binary it would be 1 followed by 0s => 100, 10000, 10 - -Convert the decimal number 14 to hex. -Answer:0xE - -Convert the decimal number 386 to hex. -Answer: 0x182 - -Convert the hex number 386 to decimal. -Answer: 902 - -Convert the hex number B to decimal. -Answer:11 - -If reading the byte 0x21 as a number, what decimal number would it mean? -Answer:33 - -If reading the byte 0x21 as an ASCII character, what character would it mean? -Answer:! - -If reading the byte 0x21 as a greyscale colour, as described in "Approaches for Representing Colors and Images", what colour would it mean? -Answer: Dark Grey - -If reading the bytes 0xAA00FF as an RGB colour, as described in "Approaches for Representing Colors and Images", what colour would it mean? -Answer:Purple (magenta) - -If reading the bytes 0xAA00FF as a sequence of three one-byte decimal numbers, what decimal numbers would they be? -Answer: 170 0 255