Browse Source

Fix subject for reversebits from a program to a function

content-update
Augusto 5 years ago committed by Christopher Fremond
parent
commit
e87dcb3a9e
  1. 48
      subjects/reversebits.en.md

48
subjects/reversebits.en.md

@ -1,21 +1,51 @@
## 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.
Write a function that takes a `byte` in binary format, that reverses it `bit` by `bit` (as shown in the example) and returns the result
### Expected function
```go
func ReverseBits(by byte) byte {
}
```
### Usage
Here is a possible [program](TODO-LINK) to test your function :
```go
package main
import (
"fmt"
)
func main() {
a := byte(0x26)
fmt.Printf("%08b\n", a)
fmt.Printf("%08b\n", ReverseBits(a))
}
```
### 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$
00100110
01100100
student@ubuntu:~/piscine-go/reversebits$
```

Loading…
Cancel
Save