From 9935bb185c363083ffebe41ed3883fea11bc3976 Mon Sep 17 00:00:00 2001 From: Augusto Date: Mon, 11 Nov 2019 19:30:50 +0000 Subject: [PATCH] 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