From 9935bb185c363083ffebe41ed3883fea11bc3976 Mon Sep 17 00:00:00 2001 From: Augusto Date: Mon, 11 Nov 2019 19:30:50 +0000 Subject: [PATCH 1/3] Change splitprog from program to function --- subjects/atoibaseprog.en.md | 2 +- subjects/itoabaseprog.en.md | 2 +- subjects/reversebits.en.md | 45 ++++++++++++++++++----------- subjects/splitprog.en.md | 57 ++++++++++++++++++++++++++++--------- 4 files changed, 73 insertions(+), 33 deletions(-) diff --git a/subjects/atoibaseprog.en.md b/subjects/atoibaseprog.en.md index 99e0859f..9dbc79a8 100644 --- a/subjects/atoibaseprog.en.md +++ b/subjects/atoibaseprog.en.md @@ -1,6 +1,6 @@ ## atoibaseprog -##**WARNING! VERY IMPORTANT!** +## **WARNING! VERY IMPORTANT!** For this exercise a function will be tested **with the exam own main**. However the student **still needs** to submit a structured program: diff --git a/subjects/itoabaseprog.en.md b/subjects/itoabaseprog.en.md index bfce009f..ec8d29fd 100644 --- a/subjects/itoabaseprog.en.md +++ b/subjects/itoabaseprog.en.md @@ -1,6 +1,6 @@ ## itoabase -##**WARNING! VERY IMPORTANT!** +## **WARNING! VERY IMPORTANT!** For this exercise a function will be tested **with the exam own main**. However the student **still needs** to submit a structured program: diff --git a/subjects/reversebits.en.md b/subjects/reversebits.en.md index 433e3258..335e32c5 100644 --- a/subjects/reversebits.en.md +++ b/subjects/reversebits.en.md @@ -1,21 +1,32 @@ ## reversebits +## **WARNING! VERY IMPORTANT!** + +For this exercise a function will be tested **with the exam own main**. However the student **still needs** to submit a structured program: + +This means that: + +- The package needs to be named `package main`. +- The submitted code needs one declared function main(```func main()```) even if empty. +- The function main declared needs to **also pass** the `Restrictions Checker`(illegal functions tester). It is advised for the student to just empty the function main after its own testings are done. +- Every other rules are obviously the same than for a `program`. + ### Instructions -Write a program that takes a `byte` in binary format, that reverses it `bit` by `bit` (as shown in the -example) and that prints the result. - -### Expected output - -```console -student@ubuntu:~/piscine-go/reversebits$ go build -student@ubuntu:~/piscine-go/reversebits$ ./reversebits -Not enough arguments. -student@ubuntu:~/piscine-go/reversebits$ ./reversebits 00100110 | cat -e -01100100$ -student@ubuntu:~/piscine-go/reversebits$ ./reversebits "djs" -The argument "djs" does not represent a byte -student@ubuntu:~/piscine-go/reversebits$ ./reversebits "0102039s" | cat -e -The argument "0102039s" does not represent a byte$ -student@ubuntu:~/piscine-go/reversebits$ -``` +Write a function that takes a byte, reverses it, bit by bit (like the +example) and returns the result. + +Your function must be declared as follows: + +fuc ReverseBits(oct byte) byte { + +} + +Example: + + 1 byte +_____________ + 0010 0110 + || + \/ + 0110 0100 \ No newline at end of file diff --git a/subjects/splitprog.en.md b/subjects/splitprog.en.md index 3b62bc72..aa617ff8 100644 --- a/subjects/splitprog.en.md +++ b/subjects/splitprog.en.md @@ -1,24 +1,53 @@ ## splitprog +## **WARNING! VERY IMPORTANT!** + +For this exercise a function will be tested **with the exam own main**. However the student **still needs** to submit a structured program: + +This means that: + +- The package needs to be named `package main`. +- The submitted code needs one declared function main(```func main()```) even if empty. +- The function main declared needs to **also pass** the `Restrictions Checker`(illegal functions tester). It is advised for the student to just empty the function main after its own testings are done. +- Every other rules are obviously the same than for a `program`. + ### Instructions -Write a program which separates the words of a `string`, which puts them in a `string` array and which then prints it to standard output. +Write a function that separates the words of a `string` and puts them in a `string` array. + +The separators are the characters of the `charset string` given in parameter. + +### Expected function + +```go +func Split(str, charset string) []string { -The program receives two parameters: +} +``` + +### Usage -- The first is the `string` -- The second is the separator +Here is a possible [program](TODO-LINK) to test your function : -### Usage : +```go +package main + +import ( + "fmt" + piscine ".." +) + +func main() { + str := "HelloHAhowHAareHAyou?" + fmt.Println(piscine.Split(str, "HA")) +} +``` + +And its output : ```console -student@ubuntu:~/piscine-go/splitprog$ go build -student@ubuntu:~/piscine-go/splitprog$ ./splitprog "HelloHAhowHAareHAyou?" HA | cat -e -[Hello how are you?]$ -student@ubuntu:~/piscine-go/splitprog$ ./splitprog "Hello,how,are,you?" "," +student@ubuntu:~/piscine-go/test$ go build +student@ubuntu:~/piscine-go/test$ ./test [Hello how are you?] -student@ubuntu:~/piscine-go/splitprog$ ./splitprog "HelloHAhowHAareHAyou?" -student@ubuntu:~/piscine-go/splitprog$ -student@ubuntu:~/piscine-go/splitprog$ ./splitprog -student@ubuntu:~/piscine-go/splitprog$ -``` +student@ubuntu:~/piscine-go/test$ +``` \ No newline at end of file From d463250c454e169f5d5c2a7a43bdd11832a9350a Mon Sep 17 00:00:00 2001 From: Christopher Fremond Date: Wed, 20 Nov 2019 04:14:12 +0000 Subject: [PATCH 2/3] fix of en and fr of reversebits subjects --- subjects/reversebits.en.md | 14 +++++++------ subjects/reversebits.fr.md | 43 +++++++++++++++++++++++++------------- 2 files changed, 36 insertions(+), 21 deletions(-) diff --git a/subjects/reversebits.en.md b/subjects/reversebits.en.md index 335e32c5..7ed4ddad 100644 --- a/subjects/reversebits.en.md +++ b/subjects/reversebits.en.md @@ -13,20 +13,22 @@ This means that: ### Instructions -Write a function that takes a byte, reverses it, bit by bit (like the +Write a function that takes a `byte`, reverses it, `bit` by `bit` (like the example) and returns the result. -Your function must be declared as follows: +### Expected function -fuc ReverseBits(oct byte) byte { +```go +func ReverseBits(oct byte) byte { } +``` Example: 1 byte _____________ 0010 0110 - || - \/ - 0110 0100 \ No newline at end of file + || + \/ + 0110 0100 diff --git a/subjects/reversebits.fr.md b/subjects/reversebits.fr.md index 50126970..96e03ec8 100644 --- a/subjects/reversebits.fr.md +++ b/subjects/reversebits.fr.md @@ -1,20 +1,33 @@ ## reversebits +## **AVERTISSEMENT! TRÈS IMPORTANT!** + +Pour cet exercice une fonction sera testée **avec le main de l'examen**. Cependant l'étudiant **doit quand même** rendre un programme structuré: + +Cela signifie que: + +- Le package doit être nommé `package main`. +- Le code rendu doit avoir une fonction main déclarée(```func main()```) même si elle est vide. +- La fonction main déclarée doit **aussi passer** le `Restrictions Checker`(le testeur de fonctions illégales). Il est conseillé à l'étudiant de rendre une fonction main vide après ses tests finis. +- Toutes les autres régles sont les mêmes que pour un `programme`. + ### Instructions -Écrire un programme qui prend un `byte`, qui l'inverse `bit` par `bit` (comme montré sur l'exemple) et qui affiche le résultat. - -### Utilisation - -```console -student@ubuntu:~/piscine-go/reversebits$ go build -student@ubuntu:~/piscine-go/reversebits$ ./reversebits -Not enough arguments. -student@ubuntu:~/piscine-go/reversebits$ ./reversebits 00100110 | cat -e -01100100$ -student@ubuntu:~/piscine-go/reversebits$ ./reversebits "djs" -The argument "djs" does not represent a byte -student@ubuntu:~/piscine-go/reversebits$ ./reversebits "0102039s" | cat -e -The argument "0102039s" does not represent a byte$ -student@ubuntu:~/piscine-go/reversebits$ +Écrire une fonction qui prend un `byte`, qui l'inverse `bit` par `bit` (comme montré sur l'exemple) et qui retourne le résultat. + +### Fonction attendue + +```go +func ReverseBits(oct byte) byte { + +} ``` + +Exemple: + + 1 byte +_____________ + 0010 0110 + || + \/ + 0110 0100 From 0ee211bead586d1157fd9a2ea3aa91f5aafd7dac Mon Sep 17 00:00:00 2001 From: Christopher Fremond Date: Wed, 20 Nov 2019 04:26:50 +0000 Subject: [PATCH 3/3] check of split program en and fr --- subjects/splitprog.en.md | 4 ++-- subjects/splitprog.fr.md | 44 ++++++++++++++++++++++++++++------------ 2 files changed, 33 insertions(+), 15 deletions(-) diff --git a/subjects/splitprog.en.md b/subjects/splitprog.en.md index aa617ff8..b3be18b7 100644 --- a/subjects/splitprog.en.md +++ b/subjects/splitprog.en.md @@ -27,7 +27,7 @@ func Split(str, charset string) []string { ### Usage -Here is a possible [program](TODO-LINK) to test your function : +Here is a possible program to test your function : ```go package main @@ -50,4 +50,4 @@ student@ubuntu:~/piscine-go/test$ go build student@ubuntu:~/piscine-go/test$ ./test [Hello how are you?] student@ubuntu:~/piscine-go/test$ -``` \ No newline at end of file +``` diff --git a/subjects/splitprog.fr.md b/subjects/splitprog.fr.md index e0d0eabc..19545047 100644 --- a/subjects/splitprog.fr.md +++ b/subjects/splitprog.fr.md @@ -2,23 +2,41 @@ ### Instructions -Écrire une fonction qui sépare les mots d'une `string`, qui les met dans un tableau de `string` et qui les affichent sur la sortie standard. +Écrire une fonction qui sépare les mots d'une `string`, qui les met dans un tableau de `string`. -Le programme reçoit deux paramètres: +Les séparateurs sont les caractères de la `charset string` donnée en paramètre. -- Le premier est la `string` -- Le deuxième est le séparateur +### Fonction attendue -### Utilisation : +```go +func Split(str, charset string) []string { + +} +``` + +### Utilsation + +Voici un programme possible pour tester votre fonction : + +```go +package main + +import ( + "fmt" + piscine ".." +) + +func main() { + str := "HelloHAhowHAareHAyou?" + fmt.Println(piscine.Split(str, "HA")) +} +``` + +Et son résultat : ```console -student@ubuntu:~/piscine-go/splitprog$ go build -student@ubuntu:~/piscine-go/splitprog$ ./splitprog "HelloHAhowHAareHAyou?" HA | cat -e -[Hello how are you?]$ -student@ubuntu:~/piscine-go/splitprog$ ./splitprog "Hello,how,are,you?" "," +student@ubuntu:~/piscine-go/test$ go build +student@ubuntu:~/piscine-go/test$ ./test [Hello how are you?] -student@ubuntu:~/piscine-go/splitprog$ ./splitprog "HelloHAhowHAareHAyou?" -student@ubuntu:~/piscine-go/splitprog$ -student@ubuntu:~/piscine-go/splitprog$ ./splitprog -student@ubuntu:~/piscine-go/splitprog$ +student@ubuntu:~/piscine-go/test$ ```