From 27d42cb8d19ca19b129641176d64d3d95d662daa Mon Sep 17 00:00:00 2001 From: Lee Date: Thu, 2 May 2019 14:07:48 +0100 Subject: [PATCH] readmes for the exrs of the exames --- subjects/addprimesum.md | 20 ++++++++++++++++++++ subjects/doop.md | 28 ++++++++++++++++++++++++++++ subjects/printhex.md | 22 ++++++++++++++++++++++ subjects/range.md | 20 ++++++++++++++++++++ subjects/sortlist.md | 37 +++++++++++++++++++++++++++++++++++++ subjects/tabmult.md | 36 ++++++++++++++++++++++++++++++++++++ 6 files changed, 163 insertions(+) create mode 100644 subjects/addprimesum.md create mode 100644 subjects/doop.md create mode 100644 subjects/printhex.md create mode 100644 subjects/range.md create mode 100644 subjects/sortlist.md create mode 100644 subjects/tabmult.md diff --git a/subjects/addprimesum.md b/subjects/addprimesum.md new file mode 100644 index 000000000..344cf856d --- /dev/null +++ b/subjects/addprimesum.md @@ -0,0 +1,20 @@ +## addprimesum + +### Instructions + +Write a program that takes a positive integer as argument and displays the sum of all prime numbers inferior or equal to it followed by a newline. + +- If the number of arguments is not 1, or the argument is not a positive number, just display 0 followed by a newline. + +Example of output : + +```console +student@ubuntu:~/piscine/test$ go build +student@ubuntu:~/piscine/test$ ./test 5 +10 +student@ubuntu:~/piscine/test$ ./test 7 +17 +student@ubuntu:~/piscine/test$ ./test 57 +0 +student@ubuntu:~/piscine/test$ +``` \ No newline at end of file diff --git a/subjects/doop.md b/subjects/doop.md new file mode 100644 index 000000000..7aa16fab7 --- /dev/null +++ b/subjects/doop.md @@ -0,0 +1,28 @@ +## switchcase + +### Instructions + +Write a program that takes three strings: + +- The first and the third one are representations of base-10 signed integers that fit in an int. + +- The second one is an arithmetic operator chosen from: `+ - * / %` + +- The program must display the result of the requested arithmetic operation, followed by a newline. If the number of parameters is not 3, the program just displays a newline. + +- You can assume the string have no mistakes or extraneous characters. Negative numbers, in input or output, will have one and only one leading `-`. The result of the operation fits in an int. + +Example of output : + +```console +student@ubuntu:~/piscine/test$ go build +student@ubuntu:~/piscine/test$ ./test "123" "*" 456 +56088 +student@ubuntu:~/piscine/test$ ./test "9828" "/" 234 +42 +student@ubuntu:~/piscine/test$ ./test "10" "+" "-43" +33 +student@ubuntu:~/piscine/test$ ./test + +student@ubuntu:~/piscine/test$ +``` \ No newline at end of file diff --git a/subjects/printhex.md b/subjects/printhex.md new file mode 100644 index 000000000..f3b1d14ae --- /dev/null +++ b/subjects/printhex.md @@ -0,0 +1,22 @@ +## printhex + +### Instructions + +Write a program that takes a positive (or zero) number expressed in base 10, and displays it in base 16 (lowercase letters) followed by a newline. + +- If the number of parameters is not 1, the program displays a newline. + +Example of output : + +```console +student@ubuntu:~/piscine/test$ go build +student@ubuntu:~/piscine/test$ ./test "10" +a +student@ubuntu:~/piscine/test$ ./test "255" +ff +student@ubuntu:~/piscine/test$ ./test "5156454" +4eae66 +student@ubuntu:~/piscine/test$ + +student@ubuntu:~/piscine/ +``` \ No newline at end of file diff --git a/subjects/range.md b/subjects/range.md new file mode 100644 index 000000000..fd4fdd6dc --- /dev/null +++ b/subjects/range.md @@ -0,0 +1,20 @@ +## range + +### Instructions + +Write the following functions : + +```go +func Range(start, end int) []int{ + +} +``` + +It must allocate (with malloc()) an array of integers, fill it with consecutive values that begin at start and end at end (Including start and end !), then return a pointer to the first value of the array. + +Example of output : + +- With (1, 3) you will return an array containing 1, 2 and 3. +- With (-1, 2) you will return an array containing -1, 0, 1 and 2. +- With (0, 0) you will return an array containing 0. +- With (0, -3) you will return an array containing 0, -1, -2 and -3. \ No newline at end of file diff --git a/subjects/sortlist.md b/subjects/sortlist.md new file mode 100644 index 000000000..7dd663797 --- /dev/null +++ b/subjects/sortlist.md @@ -0,0 +1,37 @@ +## sortlist + +### Instructions + +Write the following functions and its struture : + +```go +type Node struct { + data int + next *node +} + +func SortList(l *node, func cmp(a,b int) bool) *node{ + +} +``` +This function must sort the list given as a parameter, using the function `cmp` to select the order to apply, and returns a pointer to the first element of the sorted list. + +- Duplications must remain. + +- Inputs will always be consistet. + +- You must use the type `Node` + +- Functions passed as `cmp` will always return a boolean. If `a` and `b` are in the rigth order it returns `true`, otherwise it returns `false`. + +- For example, the following function used as cmp will sort the list in ascending order : + +```go +func ascending(a, b int) { + if a <= b { + return true + } else { + return false + } +} +``` \ No newline at end of file diff --git a/subjects/tabmult.md b/subjects/tabmult.md new file mode 100644 index 000000000..2b3156c22 --- /dev/null +++ b/subjects/tabmult.md @@ -0,0 +1,36 @@ +## tabmult + +### Instructions + +Write a program that displays a number's multiplication table. + +- The parameter will always be a strictly positive number that fits in an int, and said number times 9 will also fit in an int. + +Example of output : + +```console +student@ubuntu:~/piscine/test$ go build +student@ubuntu:~/piscine/test$ ./test 9 +1 x 9 = 9 +2 x 9 = 18 +3 x 9 = 27 +4 x 9 = 36 +5 x 9 = 45 +6 x 9 = 54 +7 x 9 = 63 +8 x 9 = 72 +9 x 9 = 81 +student@ubuntu:~/piscine/test$ ./test 19 +1 x 19 = 19 +2 x 19 = 38 +3 x 19 = 57 +4 x 19 = 76 +5 x 19 = 95 +6 x 19 = 114 +7 x 19 = 133 +8 x 19 = 152 +9 x 19 = 171 +student@ubuntu:~/piscine/test$ + +student@ubuntu:~/piscine/ +``` \ No newline at end of file