mirror of https://github.com/01-edu/public.git
chore(exam): remove exam exercises that was not in the exam
This commit is contained in:
parent
8ffc65ce3d
commit
4ecd1597e7
|
@ -1,37 +0,0 @@
|
||||||
## capitalize
|
|
||||||
|
|
||||||
### Instructions
|
|
||||||
|
|
||||||
Write a function that capitalizes the first letter of each word **and** lowercases the rest.
|
|
||||||
|
|
||||||
A word is a sequence of **alphanumeric** characters.
|
|
||||||
|
|
||||||
### Expected function
|
|
||||||
|
|
||||||
```go
|
|
||||||
func Capitalize(s string) string {
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
|
|
||||||
Here is a possible program to test your function :
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
fmt.Println(Capitalize("Hello! How are you? How+are+things+4you?"))
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
And its output :
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ go run .
|
|
||||||
Hello! How Are You? How+Are+Things+4you?
|
|
||||||
$
|
|
||||||
```
|
|
|
@ -1,7 +0,0 @@
|
||||||
package main
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
fmt.Println(Capitalize("Hello! How are you? How+are+things+4you?"))
|
|
||||||
}
|
|
|
@ -2,8 +2,9 @@ package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"piscine"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
fmt.Println(Capitalize("Hello! How are you? How+are+things+4you?"))
|
fmt.Println(piscine.Capitalize("Hello! How are you? How+are+things+4you?"))
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,48 +0,0 @@
|
||||||
## foreach
|
|
||||||
|
|
||||||
### Instructions
|
|
||||||
|
|
||||||
Write a function `ForEach` that, for an `int` slice, applies a function on each element of that slice.
|
|
||||||
|
|
||||||
### Expected function
|
|
||||||
|
|
||||||
```go
|
|
||||||
func ForEach(f func(int), a []int) {
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
|
|
||||||
Here is a possible program to test your function :
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
func PrintNbr(n int) {
|
|
||||||
fmt.Print(n)
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
|
|
||||||
a := []int{1, 2, 3, 4, 5, 6}
|
|
||||||
ForEach(PrintNbr, a)
|
|
||||||
fmt.Println()
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
And its output :
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ go run .
|
|
||||||
123456
|
|
||||||
$
|
|
||||||
```
|
|
||||||
|
|
||||||
### Notions
|
|
||||||
|
|
||||||
- [Function literals](https://golang.org/ref/spec#Function_literals)
|
|
||||||
- [Function declaration](https://golang.org/ref/spec#Function_declarations)
|
|
||||||
- [Function types](https://golang.org/ref/spec#Function_types)
|
|
|
@ -1,62 +0,0 @@
|
||||||
## listsize
|
|
||||||
|
|
||||||
### Instructions
|
|
||||||
|
|
||||||
Write a function `ListSize` that returns the number of elements in a linked list `l`.
|
|
||||||
|
|
||||||
### Expected function and structure
|
|
||||||
|
|
||||||
```go
|
|
||||||
type NodeL struct {
|
|
||||||
Data interface{}
|
|
||||||
Next *NodeL
|
|
||||||
}
|
|
||||||
|
|
||||||
type List struct {
|
|
||||||
Head *NodeL
|
|
||||||
Tail *NodeL
|
|
||||||
}
|
|
||||||
|
|
||||||
func ListSize(l *List) int {
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
|
|
||||||
Here is a possible program to test your function :
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
func ListPushFront(l *List, data interface{}) {
|
|
||||||
n := &NodeL{Data: data}
|
|
||||||
if l.Head == nil {
|
|
||||||
l.Head = n
|
|
||||||
l.Tail = n
|
|
||||||
} else {
|
|
||||||
l.Head, n.Next = n, l.Head
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
link := &List{}
|
|
||||||
|
|
||||||
ListPushFront(link, "Hello")
|
|
||||||
ListPushFront(link, "2")
|
|
||||||
ListPushFront(link, "you")
|
|
||||||
ListPushFront(link, "man")
|
|
||||||
|
|
||||||
fmt.Println(ListSize(link))
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
And its output :
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ go run .
|
|
||||||
4
|
|
||||||
$
|
|
||||||
```
|
|
|
@ -0,0 +1,17 @@
|
||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"piscine"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
link := &piscine.List{}
|
||||||
|
|
||||||
|
piscine.ListPushFront(link, "Hello")
|
||||||
|
piscine.ListPushFront(link, "2")
|
||||||
|
piscine.ListPushFront(link, "you")
|
||||||
|
piscine.ListPushFront(link, "man")
|
||||||
|
|
||||||
|
fmt.Println(piscine.ListSize(link))
|
||||||
|
}
|
|
@ -1,46 +0,0 @@
|
||||||
## nrune
|
|
||||||
|
|
||||||
### Instructions
|
|
||||||
|
|
||||||
Write a function that returns the nth `rune` of a `string`. If not possible, it returns `0`.
|
|
||||||
|
|
||||||
### Expected function
|
|
||||||
|
|
||||||
```go
|
|
||||||
func NRune(s string, n int) rune {
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
|
|
||||||
Here is a possible program to test your function :
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import (
|
|
||||||
"github.com/01-edu/z01"
|
|
||||||
)
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
z01.PrintRune(NRune("Hello!", 3))
|
|
||||||
z01.PrintRune(NRune("Salut!", 2))
|
|
||||||
z01.PrintRune(NRune("Bye!", -1))
|
|
||||||
z01.PrintRune(NRune("Bye!", 5))
|
|
||||||
z01.PrintRune(NRune("Ola!", 4))
|
|
||||||
z01.PrintRune('\n')
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
And its output :
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ go run .
|
|
||||||
la!
|
|
||||||
$
|
|
||||||
```
|
|
||||||
|
|
||||||
### Notions
|
|
||||||
|
|
||||||
- [rune-literals](https://golang.org/ref/spec#Rune_literals)
|
|
|
@ -1,36 +0,0 @@
|
||||||
## printstr
|
|
||||||
|
|
||||||
### Instructions
|
|
||||||
|
|
||||||
- Write a function that prints one by one the characters of a `string` on the screen.
|
|
||||||
|
|
||||||
### Expected function
|
|
||||||
|
|
||||||
```go
|
|
||||||
func PrintStr(s string) {
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Hints
|
|
||||||
|
|
||||||
Here is a possible program to test your function :
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
PrintStr("Hello World!")
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
And its output :
|
|
||||||
|
|
||||||
```console
|
|
||||||
go run . | cat -e
|
|
||||||
Hello World!
|
|
||||||
```
|
|
||||||
|
|
||||||
### Notions
|
|
||||||
|
|
||||||
- [01-edu/z01](https://github.com/01-edu/z01)
|
|
|
@ -1,39 +0,0 @@
|
||||||
## strrev
|
|
||||||
|
|
||||||
### Instructions
|
|
||||||
|
|
||||||
- Write a function that reverses a `string`.
|
|
||||||
|
|
||||||
- This function will **return** the reversed `string`.
|
|
||||||
|
|
||||||
### Expected function
|
|
||||||
|
|
||||||
```go
|
|
||||||
func StrRev(s string) string {
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
|
|
||||||
Here is a possible program to test your function :
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
s := "Hello World!"
|
|
||||||
s = StrRev(s)
|
|
||||||
fmt.Println(s)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
And its output :
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ go run .
|
|
||||||
!dlroW olleH
|
|
||||||
$
|
|
||||||
```
|
|
|
@ -1,44 +0,0 @@
|
||||||
## swap
|
|
||||||
|
|
||||||
### Instructions
|
|
||||||
|
|
||||||
- Write a function that takes two **pointers to an `int`** (`*int`) and swaps their contents.
|
|
||||||
|
|
||||||
### Expected function
|
|
||||||
|
|
||||||
```go
|
|
||||||
func Swap(a *int, b *int) {
|
|
||||||
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
### Usage
|
|
||||||
|
|
||||||
Here is a possible program to test your function :
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
a := 0
|
|
||||||
b := 1
|
|
||||||
Swap(&a, &b)
|
|
||||||
fmt.Println(a)
|
|
||||||
fmt.Println(b)
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
||||||
And its output :
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ go run .
|
|
||||||
1
|
|
||||||
0
|
|
||||||
$
|
|
||||||
```
|
|
||||||
|
|
||||||
### Notions
|
|
||||||
|
|
||||||
- [Pointers](https://golang.org/ref/spec#Pointer_types)
|
|
Loading…
Reference in New Issue