Browse Source

removing todo-link

content-update
lee 4 years ago committed by Xavier Petit
parent
commit
b92d82687e
  1. 2
      subjects/abort.en.md
  2. 2
      subjects/abort.fr.md
  3. 2
      subjects/activebits.en.md
  4. 2
      subjects/activebits.fr.md
  5. 44
      subjects/addlinkednumbers.en.md
  6. 4
      subjects/addprimesum.en.md
  7. 2
      subjects/addprimesum.fr.md
  8. 2
      subjects/advancedsortwordarr.en.md
  9. 2
      subjects/advancedsortwordarr.fr.md
  10. 2
      subjects/alphacount.en.md
  11. 12
      subjects/alphacount.fr.md
  12. 22
      subjects/anagram.en.md
  13. 4
      subjects/any.en.md
  14. 18
      subjects/any.fr.md
  15. 2
      subjects/appendrange.en.md
  16. 10
      subjects/appendrange.fr.md
  17. 10
      subjects/atoi.en.md
  18. 66
      subjects/atoi.fr.md
  19. 2
      subjects/atoibase.en.md
  20. 22
      subjects/atoibase.fr.md
  21. 8
      subjects/atoibaseprog.en.md
  22. 20
      subjects/atoibaseprog.fr.md
  23. 10
      subjects/atoiprog.en.md
  24. 10
      subjects/basicatoi.en.md
  25. 32
      subjects/basicatoi.fr.md
  26. 10
      subjects/basicatoi2.en.md
  27. 42
      subjects/basicatoi2.fr.md
  28. 2
      subjects/basicjoin.en.md
  29. 2
      subjects/basicjoin.fr.md
  30. 6
      subjects/boolean.en.md
  31. 6
      subjects/boolean.fr.md
  32. 14
      subjects/brainfuck.en.md
  33. 14
      subjects/brainfuck.fr.md
  34. 2
      subjects/btreeapplybylevel.en.md
  35. 2
      subjects/btreeapplybylevel.fr.md
  36. 6
      subjects/btreeapplyinorder.en.md
  37. 6
      subjects/btreeapplyinorder.fr.md
  38. 16
      subjects/btreeapplypostorder.en.md
  39. 6
      subjects/btreeapplypostorder.fr.md
  40. 2
      subjects/btreeapplypreorder.en.md
  41. 2
      subjects/btreeapplypreorder.fr.md
  42. 2
      subjects/btreedeletenode.en.md
  43. 2
      subjects/btreedeletenode.fr.md
  44. 26
      subjects/btreeinsertdata.en.md
  45. 26
      subjects/btreeinsertdata.fr.md
  46. 2
      subjects/btreeisbinary.en.md
  47. 2
      subjects/btreeisbinary.fr.md
  48. 2
      subjects/btreelevelcount.en.md
  49. 2
      subjects/btreelevelcount.fr.md
  50. 2
      subjects/btreemax.en.md
  51. 2
      subjects/btreemax.fr.md
  52. 2
      subjects/btreemin.en.md
  53. 2
      subjects/btreemin.fr.md
  54. 14
      subjects/btreeprintroot.en.md
  55. 18
      subjects/btreeprintroot.fr.md
  56. 2
      subjects/btreesearchitem.en.md
  57. 2
      subjects/btreesearchitem.fr.md
  58. 2
      subjects/btreetransplant.en.md
  59. 2
      subjects/btreetransplant.fr.md
  60. 2
      subjects/capitalize.en.md
  61. 2
      subjects/capitalize.fr.md
  62. 6
      subjects/capitalizeprog.en.md
  63. 6
      subjects/capitalizeprog.fr.md
  64. 14
      subjects/cat.en.md
  65. 14
      subjects/cat.fr.md
  66. 34
      subjects/changeorder.en.md
  67. 10
      subjects/cl-camp1.en.md
  68. 10
      subjects/cl-camp1.fr.md
  69. 6
      subjects/cl-camp3.en.md
  70. 6
      subjects/cl-camp3.fr.md
  71. 8
      subjects/cl-camp4.en.md
  72. 8
      subjects/cl-camp4.fr.md
  73. 2
      subjects/cl-camp5.en.md
  74. 2
      subjects/cl-camp5.fr.md
  75. 10
      subjects/cl.en.md
  76. 10
      subjects/cl.fr.md
  77. 1
      subjects/cleanstr.en.md
  78. 1
      subjects/cleanstr.fr.md
  79. 4
      subjects/collatzcountdown.en.md
  80. 2
      subjects/collatzcountdown.fr.md
  81. 4
      subjects/comcheck.en.md
  82. 4
      subjects/comcheck.fr.md
  83. 84
      subjects/commandments.en.md
  84. 84
      subjects/commandments.fr.md
  85. 10
      subjects/compact.en.md
  86. 6
      subjects/compact.fr.md
  87. 2
      subjects/compare.en.md
  88. 2
      subjects/compare.fr.md
  89. 2
      subjects/concat.en.md
  90. 2
      subjects/concat.fr.md
  91. 2
      subjects/concatparams.en.md
  92. 2
      subjects/concatparams.fr.md
  93. 2
      subjects/convertbase.en.md
  94. 2
      subjects/convertbase.fr.md
  95. 2
      subjects/countif.en.md
  96. 2
      subjects/countif.fr.md
  97. 2
      subjects/createelem.en.md
  98. 2
      subjects/createelem.fr.md
  99. 10
      subjects/displayfile.en.md
  100. 12
      subjects/displayfile.fr.md
  101. Some files were not shown because too many files changed in this diff diff.show_more

2
subjects/abort.en.md

@ -14,7 +14,7 @@ func Abort(a, b, c, d, e int) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/abort.fr.md

@ -14,7 +14,7 @@ func Abort(a, b, c, d, e int) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/activebits.en.md

@ -14,7 +14,7 @@ func ActiveBits(n int) uint {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/activebits.fr.md

@ -14,7 +14,7 @@ func ActiveBits(n int) uint {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

44
subjects/addlinkednumbers.en.md

@ -23,8 +23,8 @@ Write a function that adds the two numbers and returns the sum as a linked list
package main package main
type NodeAddL struct { type NodeAddL struct {
Next *NodeAddL Next *NodeAddL
Num int Num int
} }
func AddLinkedNumbers(num1, num1 *NodeAddL) *NodeAddL { func AddLinkedNumbers(num1, num1 *NodeAddL) *NodeAddL {
@ -40,7 +40,7 @@ Here is a possible program to test your function:
package main package main
import ( import (
"fmt" "fmt"
) )
func pushFront(node *NodeAddL, num int) *NodeAddL { func pushFront(node *NodeAddL, num int) *NodeAddL {
@ -48,25 +48,25 @@ func pushFront(node *NodeAddL, num int) *NodeAddL {
} }
func main() { func main() {
// 3 -> 1 -> 5 // 3 -> 1 -> 5
num1 := &NodeAddL{Num:5} num1 := &NodeAddL{Num:5}
num1 = pushFront(num1, 1) num1 = pushFront(num1, 1)
num1 = pushFront(num1, 3) num1 = pushFront(num1, 3)
// 5 -> 9 -> 2 // 5 -> 9 -> 2
num2 := &NodeAddL{Num:2} num2 := &NodeAddL{Num:2}
num2 = pushFront(num2, 9) num2 = pushFront(num2, 9)
num2 = pushFront(num2, 5) num2 = pushFront(num2, 5)
// 9 -> 0 -> 7 // 9 -> 0 -> 7
result := AddLinkedNumbers(num1, num2) result := AddLinkedNumbers(num1, num2)
for tmp := result; tmp != nil; tmp = tmp.Next { for tmp := result; tmp != nil; tmp = tmp.Next {
fmt.Print(tmp.Num) fmt.Print(tmp.Num)
if tmp.Next != nil { if tmp.Next != nil {
fmt.Print(" -> ") fmt.Print(" -> ")
} }
} }
fmt.Println() fmt.Println()
} }
``` ```

4
subjects/addprimesum.en.md

@ -4,7 +4,7 @@
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 (`'\n'`). 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 (`'\n'`).
- If the number of arguments is different from 1, or if the argument is not a positive number, the program displays `0` followed by a newline. - If the number of arguments is different from 1, or if the argument is not a positive number, the program displays `0` followed by a newline.
### Usage ### Usage
@ -18,5 +18,5 @@ student@ubuntu:~/[[ROOT]]/test$ ./test 5 7
0 0
student@ubuntu:~/[[ROOT]]/test$ ./test student@ubuntu:~/[[ROOT]]/test$ ./test
0 0
student@ubuntu:~/[[ROOT]]/test$ student@ubuntu:~/[[ROOT]]/test$
``` ```

2
subjects/addprimesum.fr.md

@ -4,7 +4,7 @@
Écrire un programme qui prend un entier positif comme argument et qui affiche la somme de tous les nombres premiers inférieurs ou égaux à celui-ci, suivie d'un retour à la ligne (`'\n'`). Écrire un programme qui prend un entier positif comme argument et qui affiche la somme de tous les nombres premiers inférieurs ou égaux à celui-ci, suivie d'un retour à la ligne (`'\n'`).
- Si le nombre d'arguments est différent de 1, ou si l'argument n'est pas un nombre positif, le programme affiche `0` suivi d'un retour à la ligne. - Si le nombre d'arguments est différent de 1, ou si l'argument n'est pas un nombre positif, le programme affiche `0` suivi d'un retour à la ligne.
### Utilisation ### Utilisation

2
subjects/advancedsortwordarr.en.md

@ -14,7 +14,7 @@ func AdvancedSortWordArr(array []string, f func(a, b string) int) {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/advancedsortwordarr.fr.md

@ -14,7 +14,7 @@ func AdvancedSortWordArr(array []string, f func(a, b string) int) {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/alphacount.en.md

@ -17,7 +17,7 @@ func AlphaCount(str string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

12
subjects/alphacount.fr.md

@ -17,20 +17,20 @@ func AlphaCount(str string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
str := "Hello 78 World! 4455 /" str := "Hello 78 World! 4455 /"
nb := piscine.AlphaCount(str) nb := piscine.AlphaCount(str)
fmt.Println(nb) fmt.Println(nb)
} }
``` ```

22
subjects/anagram.en.md

@ -35,22 +35,22 @@ Here is a possible program to test your function:
```go ```go
package main package main
import ( import (
piscine ".." piscine ".."
"fmt" "fmt"
) )
func main() { func main() {
test1 := piscine.IsAnagram("listen", "silent") test1 := piscine.IsAnagram("listen", "silent")
fmt.Println(test1) fmt.Println(test1)
test2 := piscine.IsAnagram("alem", "school") test2 := piscine.IsAnagram("alem", "school")
fmt.Println(test2) fmt.Println(test2)
test3 := piscine.IsAnagram("neat", "a net") test3 := piscine.IsAnagram("neat", "a net")
fmt.Println(test3) fmt.Println(test3)
test4 := piscine.IsAnagram("anna madrigal", "a man and a girl") test4 := piscine.IsAnagram("anna madrigal", "a man and a girl")
fmt.Println(test4) fmt.Println(test4)
} }
``` ```
@ -63,4 +63,4 @@ true
false false
true true
true true
``` ```

4
subjects/any.en.md

@ -4,7 +4,7 @@
Write a function `Any` that returns `true`, for a `string` array : Write a function `Any` that returns `true`, for a `string` array :
- if, when that `string` array is passed through an `f` function, at least one element returns `true`. - if, when that `string` array is passed through an `f` function, at least one element returns `true`.
### Expected function ### Expected function
@ -16,7 +16,7 @@ func Any(f func(string) bool, arr []string) bool {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

18
subjects/any.fr.md

@ -16,25 +16,25 @@ func Any(f func(string) bool, arr []string) bool {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
tab1 := []string{"Hello", "how", "are", "you"} tab1 := []string{"Hello", "how", "are", "you"}
tab2 := []string{"This", "is", "4", "you"} tab2 := []string{"This", "is", "4", "you"}
result1 := piscine.Any(piscine.IsNumeric, tab1) result1 := piscine.Any(piscine.IsNumeric, tab1)
result2 := piscine.Any(piscine.IsNumeric, tab2) result2 := piscine.Any(piscine.IsNumeric, tab2)
fmt.Println(result1) fmt.Println(result1)
fmt.Println(result2) fmt.Println(result2)
} }
``` ```

2
subjects/appendrange.en.md

@ -20,7 +20,7 @@ func AppendRange(min, max int) []int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

10
subjects/appendrange.fr.md

@ -20,19 +20,19 @@ func AppendRange(min, max int) []int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
fmt.Println(piscine.AppendRange(5, 10)) fmt.Println(piscine.AppendRange(5, 10))
fmt.Println(piscine.AppendRange(10, 5)) fmt.Println(piscine.AppendRange(10, 5))
} }
``` ```

10
subjects/atoi.en.md

@ -2,13 +2,13 @@
### Instructions ### Instructions
- Write a [function](TODO-LINK) that simulates the behaviour of the `Atoi` function in Go. `Atoi` transforms a number represented as a `string` in a number represented as an `int`. - Write a function that simulates the behaviour of the `Atoi` function in Go. `Atoi` transforms a number represented as a `string` in a number represented as an `int`.
- `Atoi` returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters. - `Atoi` returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- For this exercise the handling of the signs + or - **does have** to be taken into account. - For this exercise the handling of the signs + or - **does have** to be taken into account.
- This function will **only** have to return the `int`. For this exercise the `error` result of atoi is not required. - This function will **only** have to return the `int`. For this exercise the `error` result of atoi is not required.
### Expected function ### Expected function
@ -20,7 +20,7 @@ func Atoi(s string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

66
subjects/atoi.fr.md

@ -2,13 +2,13 @@
### Instructions ### Instructions
- Écrire une fonction qui reproduit le comportement de la fonction `Atoi` en Go. `Atoi` transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier). - Écrire une fonction qui reproduit le comportement de la fonction `Atoi` en Go. `Atoi` transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- `Atoi` retourne `0` si la `string` n'est pas considéré un nombre valide. Pour cet exercice des **`string` non valides seront testées!**. Certaines contiendront d'autres caractères que des chiffres. - `Atoi` retourne `0` si la `string` n'est pas considéré un nombre valide. Pour cet exercice des **`string` non valides seront testées!**. Certaines contiendront d'autres caractères que des chiffres.
- Pour cet exercice la gestion des signes + ou - **doit être** prise en compte. - Pour cet exercice la gestion des signes + ou - **doit être** prise en compte.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé. - Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
### Fonction attendue ### Fonction attendue
@ -20,43 +20,43 @@ func Atoi(s string) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
s := "12345" s := "12345"
s2 := "0000000012345" s2 := "0000000012345"
s3 := "012 345" s3 := "012 345"
s4 := "Hello World!" s4 := "Hello World!"
s5 := "+1234" s5 := "+1234"
s6 := "-1234" s6 := "-1234"
s7 := "++1234" s7 := "++1234"
s8 := "--1234" s8 := "--1234"
n := piscine.Atoi(s) n := piscine.Atoi(s)
n2 := piscine.Atoi(s2) n2 := piscine.Atoi(s2)
n3 := piscine.Atoi(s3) n3 := piscine.Atoi(s3)
n4 := piscine.Atoi(s4) n4 := piscine.Atoi(s4)
n5 := piscine.Atoi(s5) n5 := piscine.Atoi(s5)
n6 := piscine.Atoi(s6) n6 := piscine.Atoi(s6)
n7 := piscine.Atoi(s7) n7 := piscine.Atoi(s7)
n8 := piscine.Atoi(s8) n8 := piscine.Atoi(s8)
fmt.Println(n) fmt.Println(n)
fmt.Println(n2) fmt.Println(n2)
fmt.Println(n3) fmt.Println(n3)
fmt.Println(n4) fmt.Println(n4)
fmt.Println(n5) fmt.Println(n5)
fmt.Println(n6) fmt.Println(n6)
fmt.Println(n7) fmt.Println(n7)
fmt.Println(n8) fmt.Println(n8)
} }
``` ```

2
subjects/atoibase.en.md

@ -28,7 +28,7 @@ func AtoiBase(s string, base string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

22
subjects/atoibase.fr.md

@ -8,9 +8,9 @@ Si la base n'est pas valide elle retourne `0`:
Règles de validité d'une base : Règles de validité d'une base :
- Une base doit contenir au moins 2 caractères. - Une base doit contenir au moins 2 caractères.
- Chaque caractère d'une base doit être unique. - Chaque caractère d'une base doit être unique.
- Une base ne doit pas contenir les caractères `+` ou `-`. - Une base ne doit pas contenir les caractères `+` ou `-`.
Seuls des nombres en `string` valides seront testés. Seuls des nombres en `string` valides seront testés.
@ -26,22 +26,22 @@ func AtoiBase(s string, base string) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
fmt.Println(piscine.AtoiBase("125", "0123456789")) fmt.Println(piscine.AtoiBase("125", "0123456789"))
fmt.Println(piscine.AtoiBase("1111101", "01")) fmt.Println(piscine.AtoiBase("1111101", "01"))
fmt.Println(piscine.AtoiBase("7D", "0123456789ABCDEF")) fmt.Println(piscine.AtoiBase("7D", "0123456789ABCDEF"))
fmt.Println(piscine.AtoiBase("uoi", "choumi")) fmt.Println(piscine.AtoiBase("uoi", "choumi"))
fmt.Println(piscine.AtoiBase("bbbbbab", "-ab")) fmt.Println(piscine.AtoiBase("bbbbbab", "-ab"))
} }
``` ```

8
subjects/atoibaseprog.en.md

@ -19,9 +19,9 @@ If the base or the `string` number is not valid it returns `0`:
Validity rules for a base : Validity rules for a base :
- A base must contain at least 2 characters. - A base must contain at least 2 characters.
- Each character of a base must be unique. - Each character of a base must be unique.
- A base should not contain `+` or `-` characters. - A base should not contain `+` or `-` characters.
Only valid `string` numbers will be tested. Only valid `string` numbers will be tested.
@ -37,7 +37,7 @@ func AtoiBase(s string, base string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

20
subjects/atoibaseprog.fr.md

@ -19,9 +19,9 @@ Si la base n'est pas valide elle retourne `0`:
Règles de validité d'une base : Règles de validité d'une base :
- Une base doit contenir au moins 2 caractères. - Une base doit contenir au moins 2 caractères.
- Chaque caractère d'une base doit être unique. - Chaque caractère d'une base doit être unique.
- Une base ne doit pas contenir les caractères `+` ou `-`. - Une base ne doit pas contenir les caractères `+` ou `-`.
Seuls des nombres en `string` valides seront testés. Seuls des nombres en `string` valides seront testés.
@ -37,21 +37,21 @@ func AtoiBase(s string, base string) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
) )
func main() { func main() {
fmt.Println(AtoiBase("125", "0123456789")) fmt.Println(AtoiBase("125", "0123456789"))
fmt.Println(AtoiBase("1111101", "01")) fmt.Println(AtoiBase("1111101", "01"))
fmt.Println(AtoiBase("7D", "0123456789ABCDEF")) fmt.Println(AtoiBase("7D", "0123456789ABCDEF"))
fmt.Println(AtoiBase("uoi", "choumi")) fmt.Println(AtoiBase("uoi", "choumi"))
fmt.Println(AtoiBase("bbbbbab", "-ab")) fmt.Println(AtoiBase("bbbbbab", "-ab"))
} }
``` ```

10
subjects/atoiprog.en.md

@ -13,13 +13,13 @@ This means that:
### Instructions ### Instructions
- Write a [function](TODO-LINK) that simulates the behaviour of the `Atoi` function in Go. `Atoi` transforms a number represented as a `string` in a number represented as an `int`. - Write a [function](TODO-LINK) that simulates the behaviour of the `Atoi` function in Go. `Atoi` transforms a number represented as a `string` in a number represented as an `int`.
- `Atoi` returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters. - `Atoi` returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- For this exercise the handling of the signs + or - **does have** to be taken into account. - For this exercise the handling of the signs + or - **does have** to be taken into account.
- This function will **only** have to return the `int`. For this exercise the `error` result of atoi is not required. - This function will **only** have to return the `int`. For this exercise the `error` result of atoi is not required.
### Expected function ### Expected function
@ -31,7 +31,7 @@ func Atoi(s string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

10
subjects/basicatoi.en.md

@ -2,13 +2,13 @@
### Instructions ### Instructions
- Write a function that simulates the behaviour of the atoi function in Go. Atoi transforms a number defined as a `string` in a number defined as an `int`. - Write a function that simulates the behaviour of the atoi function in Go. Atoi transforms a number defined as a `string` in a number defined as an `int`.
- Atoi returns `0` if the `string` is not considered as a valid number. For this exercise **only valid** `string` chains will be tested. They will only contain one or several digits as characters. - Atoi returns `0` if the `string` is not considered as a valid number. For this exercise **only valid** `string` chains will be tested. They will only contain one or several digits as characters.
- For this exercise the handling of the signs `+` or `-` does not have to be taken into account. - For this exercise the handling of the signs `+` or `-` does not have to be taken into account.
- This function will **only** have to return the `int`. For this exercise the `error` return of atoi is not required. - This function will **only** have to return the `int`. For this exercise the `error` return of atoi is not required.
### Expected function ### Expected function
@ -20,7 +20,7 @@ func BasicAtoi(s string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

32
subjects/basicatoi.fr.md

@ -2,13 +2,13 @@
### Instructions ### Instructions
- Écrire une fonction qui reproduit le comportement de la fonction atoi en Go. Atoi transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier). - Écrire une fonction qui reproduit le comportement de la fonction atoi en Go. Atoi transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- Atoi retourne `0` si la `string` n'est pas considéré un nombre valide. Pour cet exercice **seulement des** `string` **valides** seront testées. Elles ne contiendront que un ou plusieurs chiffres comme charact. - Atoi retourne `0` si la `string` n'est pas considéré un nombre valide. Pour cet exercice **seulement des** `string` **valides** seront testées. Elles ne contiendront que un ou plusieurs chiffres comme charact.
- Pour cet exercice la gestion des signes `+` ou `-` ne doit pas être prise en compte. - Pour cet exercice la gestion des signes `+` ou `-` ne doit pas être prise en compte.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé. - Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
### Fonction attendue ### Fonction attendue
@ -20,28 +20,28 @@ func BasicAtoi(s string) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
s := "12345" s := "12345"
s2 := "0000000012345" s2 := "0000000012345"
s3 := "000000" s3 := "000000"
n := piscine.BasicAtoi(s) n := piscine.BasicAtoi(s)
n2 := piscine.BasicAtoi(s2) n2 := piscine.BasicAtoi(s2)
n3 := piscine.BasicAtoi(s3) n3 := piscine.BasicAtoi(s3)
fmt.Println(n) fmt.Println(n)
fmt.Println(n2) fmt.Println(n2)
fmt.Println(n3) fmt.Println(n3)
} }
``` ```

10
subjects/basicatoi2.en.md

@ -2,13 +2,13 @@
### Instructions ### Instructions
- Write a function that simulates the behaviour of the atoi function in Go. Atoi transforms a number defined as a `string` in a number defined as an `int`. - Write a function that simulates the behaviour of the atoi function in Go. Atoi transforms a number defined as a `string` in a number defined as an `int`.
- Atoi returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters. - Atoi returns `0` if the `string` is not considered as a valid number. For this exercise **non-valid `string` chains will be tested**. Some will contain non-digits characters.
- For this exercise the handling of the signs `+` or `-` does not have to be taken into account. - For this exercise the handling of the signs `+` or `-` does not have to be taken into account.
- This function will **only** have to return the `int`. For this exercise the `error` return of atoi is not required. - This function will **only** have to return the `int`. For this exercise the `error` return of atoi is not required.
### Expected function ### Expected function
@ -20,7 +20,7 @@ func BasicAtoi2(s string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

42
subjects/basicatoi2.fr.md

@ -2,13 +2,13 @@
### Instructions ### Instructions
- Écrire une fonction qui reproduit le comportement de la fonction atoi en Go. Atoi transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier). - Écrire une fonction qui reproduit le comportement de la fonction atoi en Go. Atoi transforme un nombre représenté en `string` (chaîne de caractères) en `int` (entier).
- Atoi retourne `0` si la `string` n'est pas considérée comme un nombre valide. Pour cet exercice des **`string` non valides seront testées!**. Certaines contiendront d'autres caractères que des chiffres. - Atoi retourne `0` si la `string` n'est pas considérée comme un nombre valide. Pour cet exercice des **`string` non valides seront testées!**. Certaines contiendront d'autres caractères que des chiffres.
- Pour cet exercice la gestion des signes `+` ou `-` ne doit pas être prise en compte. - Pour cet exercice la gestion des signes `+` ou `-` ne doit pas être prise en compte.
- Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé. - Cette fonction aura **seulement** à retourner l'`int` (entier). Pour cet exercice le retour d'erreur d'atoi de go n'est pas demandé.
### Fonction attendue ### Fonction attendue
@ -20,31 +20,31 @@ func BasicAtoi2(s string) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
s := "12345" s := "12345"
s2 := "0000000012345" s2 := "0000000012345"
s3 := "012 345" s3 := "012 345"
s4 := "Hello World!" s4 := "Hello World!"
n := piscine.BasicAtoi2(s) n := piscine.BasicAtoi2(s)
n2 := piscine.BasicAtoi2(s2) n2 := piscine.BasicAtoi2(s2)
n3 := piscine.BasicAtoi2(s3) n3 := piscine.BasicAtoi2(s3)
n4 := piscine.BasicAtoi2(s4) n4 := piscine.BasicAtoi2(s4)
fmt.Println(n) fmt.Println(n)
fmt.Println(n2) fmt.Println(n2)
fmt.Println(n3) fmt.Println(n3)
fmt.Println(n4) fmt.Println(n4)
} }
``` ```

2
subjects/basicjoin.en.md

@ -14,7 +14,7 @@ func BasicJoin(strs []string) string {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/basicjoin.fr.md

@ -14,7 +14,7 @@ func BasicJoin(strs []string) string {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

6
subjects/boolean.en.md

@ -4,11 +4,11 @@
Create a `.go` file. Create a `.go` file.
- The code below has to be copied in that file. - The code below has to be copied in that file.
- The necessary changes have to be applied so that the program works. - The necessary changes have to be applied so that the program works.
- The program must be submitted inside a folder with the name `boolean`. - The program must be submitted inside a folder with the name `boolean`.
### Code to be copied ### Code to be copied

6
subjects/boolean.fr.md

@ -4,11 +4,11 @@
Créer un fichier `.go`. Créer un fichier `.go`.
- Le code ci-dessous doit être copié dans ce fichier. - Le code ci-dessous doit être copié dans ce fichier.
- Les changements nécéssaires doivent être appliqués pour que le programme fonctionne. - Les changements nécéssaires doivent être appliqués pour que le programme fonctionne.
- Le programme doit être rendu dans un dossier nommé `boolean`. - Le programme doit être rendu dans un dossier nommé `boolean`.
### Code à copier ### Code à copier

14
subjects/brainfuck.en.md

@ -9,13 +9,13 @@ The code will always be valid, with less than 4096 operations.
Every operator consists of a single character : Every operator consists of a single character :
- '>' increment the pointer - '>' increment the pointer
- '<' decrement the pointer - '<' decrement the pointer
- '+' increment the pointed byte - '+' increment the pointed byte
- '-' decrement the pointed byte - '-' decrement the pointed byte
- '.' print the pointed byte on standard output - '.' print the pointed byte on standard output
- '[' go to the matching ']' if the pointed byte is 0 (loop start) - '[' go to the matching ']' if the pointed byte is 0 (loop start)
- ']' go to the matching '[' if the pointed byte is not 0 (loop end) - ']' go to the matching '[' if the pointed byte is not 0 (loop end)
Any other character is a comment. Any other character is a comment.

14
subjects/brainfuck.fr.md

@ -9,13 +9,13 @@ Le `Brainfuck` est un langage minimaliste. Il consiste en un slice de `byte` (oc
Chaque opérateur consiste en un seul caractère : Chaque opérateur consiste en un seul caractère :
- '>' incrémente le pointeur - '>' incrémente le pointeur
- '<' décrémente le pointeur - '<' décrémente le pointeur
- '+' incrémente le byte pointé - '+' incrémente le byte pointé
- '-' décrémente le byte pointé - '-' décrémente le byte pointé
- '.' affiche le byte pointé sur la sortie standard - '.' affiche le byte pointé sur la sortie standard
- '[' se rend à son ']' correspondant si le byte pointé est 0 (début de la boucle) - '[' se rend à son ']' correspondant si le byte pointé est 0 (début de la boucle)
- ']' se rend à son '[' correspondant si le byte pointé n'est pas 0 (fin de la boucle) - ']' se rend à son '[' correspondant si le byte pointé n'est pas 0 (fin de la boucle)
Tout autre caractère est un commentaire. Tout autre caractère est un commentaire.

2
subjects/btreeapplybylevel.en.md

@ -14,7 +14,7 @@ func BTreeApplyByLevel(root *TreeNode, f func(...interface{}) (int, error)) {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreeapplybylevel.fr.md

@ -14,7 +14,7 @@ func BTreeApplyByLevel(root *TreeNode, fn interface{}) {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

6
subjects/btreeapplyinorder.en.md

@ -14,14 +14,14 @@ func BTreeApplyInorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {

6
subjects/btreeapplyinorder.fr.md

@ -14,14 +14,14 @@ func BTreeApplyInorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {

16
subjects/btreeapplypostorder.en.md

@ -14,22 +14,22 @@ func BTreeApplyPostorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
root := &piscine.TreeNode{Data: "4"} root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1") piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7") piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5") piscine.BTreeInsertData(root, "5")
piscine.BTreeApplyPostorder(root, fmt.Println) piscine.BTreeApplyPostorder(root, fmt.Println)
} }
``` ```

6
subjects/btreeapplypostorder.fr.md

@ -14,14 +14,14 @@ func BTreeApplyPostorder(root *piscine.TreeNode, f func(...interface{}) (int, er
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine "." piscine "."
) )
func main() { func main() {

2
subjects/btreeapplypreorder.en.md

@ -14,7 +14,7 @@ func BTreeApplyPreorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreeapplypreorder.fr.md

@ -14,7 +14,7 @@ func BTreeApplyPreorder(root *TreeNode, f func(...interface{}) (int, error)) {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/btreedeletenode.en.md

@ -16,7 +16,7 @@ func BTreeDeleteNode(root, node *TreeNode) *TreeNode {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreedeletenode.fr.md

@ -16,7 +16,7 @@ func BTreeDeleteNode(root, node *TreeNode) *TreeNode {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

26
subjects/btreeinsertdata.en.md

@ -10,8 +10,8 @@ The nodes must be defined as follows :
```go ```go
type TreeNode struct { type TreeNode struct {
Left, Right, Parent *TreeNode Left, Right, Parent *TreeNode
Data string Data string
} }
func BTreeInsertData(root *TreeNode, data string) *TreeNode { func BTreeInsertData(root *TreeNode, data string) *TreeNode {
@ -21,25 +21,25 @@ func BTreeInsertData(root *TreeNode, data string) *TreeNode {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
root := &piscine.TreeNode{Data: "4"} root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1") piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7") piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5") piscine.BTreeInsertData(root, "5")
fmt.Println(root.Left.Data) fmt.Println(root.Left.Data)
fmt.Println(root.Data) fmt.Println(root.Data)
fmt.Println(root.Right.Left.Data) fmt.Println(root.Right.Left.Data)
fmt.Println(root.Right.Data) fmt.Println(root.Right.Data)
} }
``` ```

26
subjects/btreeinsertdata.fr.md

@ -10,8 +10,8 @@ Les nodes doivent être définies comme ci-dessous :
```go ```go
type TreeNode struct { type TreeNode struct {
Left, Right, Parent *TreeNode Left, Right, Parent *TreeNode
Data string Data string
} }
func BTreeInsertData(root *TreeNode, data string) *TreeNode { func BTreeInsertData(root *TreeNode, data string) *TreeNode {
@ -21,25 +21,25 @@ func BTreeInsertData(root *TreeNode, data string) *TreeNode {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
func main() { func main() {
root := &piscine.TreeNode{Data: "4"} root := &piscine.TreeNode{Data: "4"}
piscine.BTreeInsertData(root, "1") piscine.BTreeInsertData(root, "1")
piscine.BTreeInsertData(root, "7") piscine.BTreeInsertData(root, "7")
piscine.BTreeInsertData(root, "5") piscine.BTreeInsertData(root, "5")
fmt.Println(root.Left.Data) fmt.Println(root.Left.Data)
fmt.Println(root.Data) fmt.Println(root.Data)
fmt.Println(root.Right.Left.Data) fmt.Println(root.Right.Left.Data)
fmt.Println(root.Right.Data) fmt.Println(root.Right.Data)
} }
``` ```

2
subjects/btreeisbinary.en.md

@ -14,7 +14,7 @@ func BTreeIsBinary(root *TreeNode) bool {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreeisbinary.fr.md

@ -14,7 +14,7 @@ func BTreeIsBinary(root *TreeNode) bool {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/btreelevelcount.en.md

@ -14,7 +14,7 @@ func BTreeLevelCount(root *TreeNode) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreelevelcount.fr.md

@ -14,7 +14,7 @@ func BTreeLevelCount(root *TreeNode) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/btreemax.en.md

@ -14,7 +14,7 @@ func BTreeMax(root *TreeNode) *TreeNode {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreemax.fr.md

@ -14,7 +14,7 @@ func BTreeMax(root *TreeNode) *TreeNode {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/btreemin.en.md

@ -14,7 +14,7 @@ func BTreeMin(root *TreeNode) *TreeNode {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreemin.fr.md

@ -14,7 +14,7 @@ func BTreeMin(root *TreeNode) *TreeNode {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

14
subjects/btreeprintroot.en.md

@ -20,18 +20,18 @@ func PrintRoot(root *TreeNode){
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main
func main() { func main() {
//rootNode initialized with the value "who" //rootNode initialized with the value "who"
//rootNode1 initialized with the value "are" //rootNode1 initialized with the value "are"
//rootNode2 initialized with the value "you" //rootNode2 initialized with the value "you"
printRoot(rootNode) printRoot(rootNode)
printRoot(rootNode1) printRoot(rootNode1)
printRoot(rootNode2) printRoot(rootNode2)
} }
``` ```

18
subjects/btreeprintroot.fr.md

@ -9,8 +9,8 @@ Les nodes doivent être définies comme ci-dessous:
```go ```go
type TreeNode struct { type TreeNode struct {
left, right *TreeNode left, right *TreeNode
data string data string
} }
func PrintRoot(root *TreeNode){ func PrintRoot(root *TreeNode){
@ -20,18 +20,18 @@ func PrintRoot(root *TreeNode){
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
func main() { func main() {
//rootNode initialized with the value "who" //rootNode initialized with the value "who"
//rootNode1 initialized with the value "are" //rootNode1 initialized with the value "are"
//rootNode2 initialized with the value "you" //rootNode2 initialized with the value "you"
printRoot(rootNode) printRoot(rootNode)
printRoot(rootNode1) printRoot(rootNode1)
printRoot(rootNode2) printRoot(rootNode2)
} }
``` ```

2
subjects/btreesearchitem.en.md

@ -14,7 +14,7 @@ func BTreeSearchItem(root *TreeNode, elem string) *TreeNode {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreesearchitem.fr.md

@ -14,7 +14,7 @@ func BTreeSearchItem(root *TreeNode, elem string) *TreeNode {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/btreetransplant.en.md

@ -14,7 +14,7 @@ func BTreeTransplant(root, node, rplc *TreeNode) *TreeNode {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/btreetransplant.fr.md

@ -14,7 +14,7 @@ func BTreeTransplant(root, node, rplc *TreeNode) *TreeNode {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/capitalize.en.md

@ -16,7 +16,7 @@ func Capitalize(s string) string {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/capitalize.fr.md

@ -16,7 +16,7 @@ func Capitalize(s string) string {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

6
subjects/capitalizeprog.en.md

@ -4,11 +4,11 @@
Write a program that capitalizes the first letter of each word **and** lowercases the rest of each word of a `string`. Write a program that capitalizes the first letter of each word **and** lowercases the rest of each word of a `string`.
- A word is a sequence of **alphanumerical** characters. - A word is a sequence of **alphanumerical** characters.
- If there is more than one argument the program should print `Too many arguments`. - If there is more than one argument the program should print `Too many arguments`.
- If there is no arguments given the program should print a newline ("`\n`"). - If there is no arguments given the program should print a newline ("`\n`").
### Usage : ### Usage :

6
subjects/capitalizeprog.fr.md

@ -4,11 +4,11 @@
Écrire un programme qui met en majuscule la première lettre de chaque mot et en minuscule les autres lettres du reste du mot d'une `string`. Écrire un programme qui met en majuscule la première lettre de chaque mot et en minuscule les autres lettres du reste du mot d'une `string`.
- Un mot est une suite de caractères **alphanumériques**. - Un mot est une suite de caractères **alphanumériques**.
- Si il y a plus d'un argument le programme doit afficher `Too many arguments`. - Si il y a plus d'un argument le programme doit afficher `Too many arguments`.
- Si il n'y a pas d'arguments le programme doit afficher un retour à la ligne (`'\n'`). - Si il n'y a pas d'arguments le programme doit afficher un retour à la ligne (`'\n'`).
### Utilisation : ### Utilisation :

14
subjects/cat.en.md

@ -4,23 +4,23 @@
Write a program that has the same behaviour as the system's `cat` command-line. Write a program that has the same behaviour as the system's `cat` command-line.
- The `options` do not have to be handled. - The `options` do not have to be handled.
- If the program is called without arguments it should take the `input` and print it back (as shown with the "Hello" example below). - If the program is called without arguments it should take the `input` and print it back (as shown with the "Hello" example below).
- In the program folder create two files named `quest8.txt` and `quest8T.txt`. - In the program folder create two files named `quest8.txt` and `quest8T.txt`.
- Copy to the `quest8.txt` file the following sentence : - Copy to the `quest8.txt` file the following sentence :
`"Programming is a skill best acquired by practice and example rather than from books" by Alan Turing` `"Programming is a skill best acquired by practice and example rather than from books" by Alan Turing`
- Copy to the `quest8T.txt` file the following sentence : - Copy to the `quest8T.txt` file the following sentence :
`"Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence."` `"Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence."`
- In case of error the program should print the error. - In case of error the program should print the error.
- The program must be submitted inside a folder named `cat`. - The program must be submitted inside a folder named `cat`.
```console ```console
student@ubuntu:~/[[ROOT]]/cat$ go build student@ubuntu:~/[[ROOT]]/cat$ go build

14
subjects/cat.fr.md

@ -4,23 +4,23 @@
Écrire un programme qui a le même comportement que la ligne de commande `cat`. Écrire un programme qui a le même comportement que la ligne de commande `cat`.
- Les `options` ne doivent pas être gérés. - Les `options` ne doivent pas être gérés.
- Si le programme est éxécuté sans arguments il doit prendre l'`input` et l'afficher. - Si le programme est éxécuté sans arguments il doit prendre l'`input` et l'afficher.
- Dans le dossier du programme créer deux fichiers nommés `quest8.txt` et `quest8T.txt`. - Dans le dossier du programme créer deux fichiers nommés `quest8.txt` et `quest8T.txt`.
- Copier dans le fichier `quest8.txt` la phrase suivante : - Copier dans le fichier `quest8.txt` la phrase suivante :
`"Programming is a skill best acquired by pratice and example rather than from books" by Alan Turing` `"Programming is a skill best acquired by pratice and example rather than from books" by Alan Turing`
- Copier dans le fichier `quest8T.txt` la phrase suivante : - Copier dans le fichier `quest8T.txt` la phrase suivante :
`"Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence."` `"Alan Mathison Turing was an English mathematician, computer scientist, logician, cryptanalyst. Turing was highly influential in the development of theoretical computer science, providing a formalisation of the concepts of algorithm and computation with the Turing machine, which can be considered a model of a general-purpose computer. Turing is widely considered to be the father of theoretical computer science and artificial intelligence."`
- En cas d'erreur le programme doit afficher l'erreur. - En cas d'erreur le programme doit afficher l'erreur.
- Le programme doit être rendu dans un dossier nommé `cat`. - Le programme doit être rendu dans un dossier nommé `cat`.
### Utilisation: ### Utilisation:

34
subjects/changeorder.en.md

@ -24,8 +24,8 @@ You have to return pointer/reference to the beginning of new list
package main package main
type NodeAddL struct { type NodeAddL struct {
Next *NodeAddL Next *NodeAddL
Num int Num int
} }
func Changeorder(node *NodeAddL) *NodeAddL { func Changeorder(node *NodeAddL) *NodeAddL {
@ -41,26 +41,26 @@ Here is a possible program to test your function:
package main package main
import ( import (
"fmt" "fmt"
) )
// I implemented pushBack for this // I implemented pushBack for this
func main() { func main() {
num1 := &NodeAddL{Num: 1} num1 := &NodeAddL{Num: 1}
num1 = pushBack(num1, 2) num1 = pushBack(num1, 2)
num1 = pushBack(num1, 3) num1 = pushBack(num1, 3)
num1 = pushBack(num1, 4) num1 = pushBack(num1, 4)
num1 = pushBack(num1, 5) num1 = pushBack(num1, 5)
result := Changeorder(num1) result := Changeorder(num1)
for tmp := result; tmp != nil; tmp = tmp.Next { for tmp := result; tmp != nil; tmp = tmp.Next {
fmt.Print(tmp.Num) fmt.Print(tmp.Num)
if tmp.Next != nil { if tmp.Next != nil {
fmt.Print(" -> ") fmt.Print(" -> ")
} }
} }
fmt.Println() fmt.Println()
} }
``` ```

10
subjects/cl-camp1.en.md

@ -10,11 +10,11 @@ The instincts are coming back...
Put in a file `mastertheLS` the command line that will: Put in a file `mastertheLS` the command line that will:
- list the files and directories of the current directory. - list the files and directories of the current directory.
- Ignore the hidden files, the "." and the "..". - Ignore the hidden files, the "." and the "..".
- Separates the resuls with commas. - Separates the resuls with commas.
- Order them by ascending order of creation date. - Order them by ascending order of creation date.
- Have the directories ends with a `/`. - Have the directories ends with a `/`.
### Hint ### Hint

10
subjects/cl-camp1.fr.md

@ -10,11 +10,11 @@ Les instincts resurgissent...
Mettez dans un fichier `mastertheLS` la ligne de commande qui: Mettez dans un fichier `mastertheLS` la ligne de commande qui:
- listera les fichiers et dossiers dans le dossier courant. - listera les fichiers et dossiers dans le dossier courant.
- Ignorera les fichiers cachés, le "." et le "..". - Ignorera les fichiers cachés, le "." et le "..".
- Separarera le resultat avec des virgules. - Separarera le resultat avec des virgules.
- Les triera pas ordre croissant de date de création. - Les triera pas ordre croissant de date de création.
- Placera un `/` en face des dossiers. - Placera un `/` en face des dossiers.
### Indice ### Indice

6
subjects/cl-camp3.en.md

@ -6,9 +6,9 @@
Create a file `look`, which will look for and show, in the current directory and its sub-folders all the files : Create a file `look`, which will look for and show, in the current directory and its sub-folders all the files :
- starting with an `a` or, - starting with an `a` or,
- all the files ending with a `z` or, - all the files ending with a `z` or,
- all files starting with `z` and ending with `a!`. - all files starting with `z` and ending with `a!`.
### Hint ### Hint

6
subjects/cl-camp3.fr.md

@ -6,9 +6,9 @@
Créer un fichier `look`, qui cherchera et montrera, dans le répertoire courant et ses sous-répertoires, tous les fichiers qui: Créer un fichier `look`, qui cherchera et montrera, dans le répertoire courant et ses sous-répertoires, tous les fichiers qui:
- commence avec `a` et, - commence avec `a` et,
- tous les fichiers qui se terminent avec `z` et, - tous les fichiers qui se terminent avec `z` et,
- tous les fichiers qui commencent avec `z` et qui se finissent avec `a!`. - tous les fichiers qui commencent avec `z` et qui se finissent avec `a!`.
### Indice ### Indice

8
subjects/cl-camp4.en.md

@ -6,13 +6,13 @@
Create a file `myfamily.sh`, which will show a subject's family (key: relatives). Create a file `myfamily.sh`, which will show a subject's family (key: relatives).
- The quotes have to be removed. - The quotes have to be removed.
- The subject will be decided depending on his ID which will be contained in the environment variable HERO_ID. - The subject will be decided depending on his ID which will be contained in the environment variable HERO_ID.
* Where to look : https://[[DOMAIN]]/assets/superhero/all.json * Where to look : https://[[DOMAIN]]/assets/superhero/all.json
* What to use : curl, jq and others... * What to use : curl, jq and others...
### Usage ### Usage

8
subjects/cl-camp4.fr.md

@ -6,13 +6,13 @@
Créer un fichier `myfamily.sh`, qui affichera la famille d'un individu (clef: relatives). Créer un fichier `myfamily.sh`, qui affichera la famille d'un individu (clef: relatives).
- Les guillemets doivent être enlevés. - Les guillemets doivent être enlevés.
- L'individu sera choisi en fonction de son ID qui sera contenu dans la variable d'environment HERO_ID. - L'individu sera choisi en fonction de son ID qui sera contenu dans la variable d'environment HERO_ID.
* Où chercher : https://[[DOMAIN]]/assets/superhero/all.json * Où chercher : https://[[DOMAIN]]/assets/superhero/all.json
* Quoi utiliser : `curl`, `jq` et d'autres... * Quoi utiliser : `curl`, `jq` et d'autres...
### Utilisation ### Utilisation

2
subjects/cl-camp5.en.md

@ -6,7 +6,7 @@
Create a file `lookagain.sh`, which will look for, from the current directory and its sub-folders all the files: Create a file `lookagain.sh`, which will look for, from the current directory and its sub-folders all the files:
- all the files ending with `.sh`. - all the files ending with `.sh`.
That command will only show the name of the files without the `.sh`. That command will only show the name of the files without the `.sh`.

2
subjects/cl-camp5.fr.md

@ -6,7 +6,7 @@
Créer un fichier `lookagain.sh`, qui cherchera et montrera, dans le répertoire courant et ses sous-répertoires, tous les fichiers qui: Créer un fichier `lookagain.sh`, qui cherchera et montrera, dans le répertoire courant et ses sous-répertoires, tous les fichiers qui:
- qui finissent avec `.sh`. - qui finissent avec `.sh`.
Cette commande montrera le nom des fichiers sans le`.sh`. Cette commande montrera le nom des fichiers sans le`.sh`.

10
subjects/cl.en.md

@ -10,11 +10,11 @@ The instincts are coming back...
Put in a file `mastertheLS` the command line that will: Put in a file `mastertheLS` the command line that will:
- list the files and folders of the current folder. - list the files and folders of the current folder.
- Ignore the hidden files, the "." and the "..". - Ignore the hidden files, the "." and the "..".
- Separates the resuls with commas. - Separates the results with commas.
- Order them by ascending order of creation date. - Order them by ascending order of creation date.
- Have the folders have a `/` in front of them. - Have the folders have a `/` in front of them.
### Hint ### Hint

10
subjects/cl.fr.md

@ -10,11 +10,11 @@ The instincts are coming back...
Put in a file `mastertheLS` the command line that will: Put in a file `mastertheLS` the command line that will:
- list the files and folders of the current folder. - list the files and folders of the current folder.
- Ignore the hidden files, the "." and the "..". - Ignore the hidden files, the "." and the "..".
- Separates the resuls with commas. - Separates the results with commas.
- Order them by ascending order of creation date. - Order them by ascending order of creation date.
- Have the folders have a `/` in front of them. - Have the folders have a `/` in front of them.
### Hint ### Hint

1
subjects/cleanstr.en.md

@ -3,6 +3,7 @@
### Instructions ### Instructions
Write a **program** that takes a `string`, and displays this `string` with exactly: Write a **program** that takes a `string`, and displays this `string` with exactly:
- one space between words. - one space between words.
- without spaces nor tabs at the beginning nor at the end. - without spaces nor tabs at the beginning nor at the end.
- with the result followed by a newline ("`\n`"). - with the result followed by a newline ("`\n`").

1
subjects/cleanstr.fr.md

@ -3,6 +3,7 @@
### Instructions ### Instructions
Écrire un programme qui prend une `string`, et qui affiche cette `string` avec exactement: Écrire un programme qui prend une `string`, et qui affiche cette `string` avec exactement:
- un espace entre les mots. - un espace entre les mots.
- aucun espace ni de tabulation ni au début ni à la fin. - aucun espace ni de tabulation ni au début ni à la fin.
- le résultat avecsuivi d'un saut de ligne("`\n`"). - le résultat avecsuivi d'un saut de ligne("`\n`").

4
subjects/collatzcountdown.en.md

@ -4,7 +4,7 @@
Write a function, `CollatzCountdown`, that returns the number of steps necessary to reach 1 using the collatz countdown. Write a function, `CollatzCountdown`, that returns the number of steps necessary to reach 1 using the collatz countdown.
- It must return `-1` if `start` is equal to `0` or negative. - It must return `-1` if `start` is equal to `0` or negative.
### Expected function ### Expected function
@ -16,7 +16,7 @@ func CollatzCountdown(start int) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/collatzcountdown.fr.md

@ -16,7 +16,7 @@ func CollatzCountdown(start int) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

4
subjects/comcheck.en.md

@ -4,9 +4,9 @@
Write a program `comcheck` that displays on the standard output `Alert!!!` followed by newline (`'\n'`) if at least one of the arguments passed in parameter matches the `string`: Write a program `comcheck` that displays on the standard output `Alert!!!` followed by newline (`'\n'`) if at least one of the arguments passed in parameter matches the `string`:
- `01`, `galaxy` or `galaxy 01`. - `01`, `galaxy` or `galaxy 01`.
- If none of the parameters match, the program displays a nothing. - If none of the parameters match, the program displays a nothing.
### Usage ### Usage

4
subjects/comcheck.fr.md

@ -4,9 +4,9 @@
écrire un programme `comcheck` qui affiche sur la sortie standard `Alert!!!` suivi d'un retour à la ligne (`'\n'`) si au moins un des arguments passé ne paramètre correspond aux `string`: écrire un programme `comcheck` qui affiche sur la sortie standard `Alert!!!` suivi d'un retour à la ligne (`'\n'`) si au moins un des arguments passé ne paramètre correspond aux `string`:
- `01`, `galaxy` ou `galaxy 01`. - `01`, `galaxy` ou `galaxy 01`.
- si aucun des paramètres correspond, le programme affiche rien. - si aucun des paramètres correspond, le programme affiche rien.
### Usage ### Usage

84
subjects/commandments.en.md

@ -16,89 +16,89 @@ A few basic principles to follow
### The Commandements _(read them)_ ### The Commandements _(read them)_
- Le numérique est ta passion. - Le numérique est ta passion.
- Ton objectif à 42 : développer ton talent et tes compétences pour le marché du numérique. - Ton objectif à 42 : développer ton talent et tes compétences pour le marché du numérique.
- L’objectif de 42 pour toi : te faire accéder au marché de l’emploi, à une longue et pérenne carrière dans le numérique, et te faire progresser socialement. - L’objectif de 42 pour toi : te faire accéder au marché de l’emploi, à une longue et pérenne carrière dans le numérique, et te faire progresser socialement.
- L’ambition de 42 pour toi : être un pionnier du numérique de demain. - L’ambition de 42 pour toi : être un pionnier du numérique de demain.
- Il est de ta responsabilité de gérer ta progression : 42 te propose un parcours individualisé adapté à ton rythme. - Il est de ta responsabilité de gérer ta progression : 42 te propose un parcours individualisé adapté à ton rythme.
- Des challenges jalonnent ton parcours. 42 ne fournira aucun élément de solution. C’est ton rôle de chercher et trouver par toi-même ces solutions pour atteindre l’objectif. - Des challenges jalonnent ton parcours. 42 ne fournira aucun élément de solution. C’est ton rôle de chercher et trouver par toi-même ces solutions pour atteindre l’objectif.
- Sois actif. N’attend pas que les choses se fassent pour toi. 42 est un parcours 100% pratique. - Sois actif. N’attend pas que les choses se fassent pour toi. 42 est un parcours 100% pratique.
- Sois autonome dans ton cursus. N’attend pas que l’on te dise quoi faire. - Sois autonome dans ton cursus. N’attend pas que l’on te dise quoi faire.
- Sois collaboratif, autant sur les projets solos que les projets de groupe. Face aux challenges à resoudre, l’échange et le debat sont tes meilleures armes. - Sois collaboratif, autant sur les projets solos que les projets de groupe. Face aux challenges à resoudre, l’échange et le debat sont tes meilleures armes.
- Ne "crois" pas. Sois sûr. Techniquement, relationnelement, organisationellement, administrativement. - Ne "crois" pas. Sois sûr. Techniquement, relationnelement, organisationellement, administrativement.
- Pour être sûr, teste, contrôle. - Pour être sûr, teste, contrôle.
- N’ai pas peur de te tromper, d’échouer. L’échec est une étape normale vers le succès. - N’ai pas peur de te tromper, d’échouer. L’échec est une étape normale vers le succès.
- Teste à nouveau. Collabore davantage pour tester davantage. - Teste à nouveau. Collabore davantage pour tester davantage.
- Ose. Le risque est de se tromper. Voir le commandement 12. - Ose. Le risque est de se tromper. Voir le commandement 12.
- Sois rigoureux dans ton travail. - Sois rigoureux dans ton travail.
- Sois investi dans ton cursus : 50 heures par semaine est un minimum. Ta capacité de travail est une valeur. L’école est ouverte 24h/24 et 7j/7. - Sois investi dans ton cursus : 50 heures par semaine est un minimum. Ta capacité de travail est une valeur. L’école est ouverte 24h/24 et 7j/7.
- Sois régulier dans ton travail. Un jour oui, un jour non, un coup nocturne, un coup diurne... le chaos t’empêche d’avancer. - Sois régulier dans ton travail. Un jour oui, un jour non, un coup nocturne, un coup diurne... le chaos t’empêche d’avancer.
- Prévois un groupe de travail large et hétérogène pour y trouver facilement des idées neuves et des groupes de projet. - Prévois un groupe de travail large et hétérogène pour y trouver facilement des idées neuves et des groupes de projet.
- Pour tes collaborations et ton travail en groupe, privilégie des étudiants qui n’ont pas déjà la solution au problème. - Pour tes collaborations et ton travail en groupe, privilégie des étudiants qui n’ont pas déjà la solution au problème.
- Sois investi dans ton groupe de projet, et ne le laisse pas faire ton travail à ta place. - Sois investi dans ton groupe de projet, et ne le laisse pas faire ton travail à ta place.
- Ton groupe de projet est solidaire, son succès comme son échec est de la responsabilité de tous, et les conflits se règlent en interne. - Ton groupe de projet est solidaire, son succès comme son échec est de la responsabilité de tous, et les conflits se règlent en interne.
- Travaille à l’école. Faire du peer-learning, collaborer, cela demande d’être physiquement avec les autres. A distance cela ne fonctionne pas. - Travaille à l’école. Faire du peer-learning, collaborer, cela demande d’être physiquement avec les autres. A distance cela ne fonctionne pas.
- Implique toi dans les évaluations de tes projets. Elles te permettent de prendre du recul. - Implique toi dans les évaluations de tes projets. Elles te permettent de prendre du recul.
- Implique toi dans tes évaluations des projets des autres. La qualité de la communauté en dépend. - Implique toi dans tes évaluations des projets des autres. La qualité de la communauté en dépend.
- Sois juste et teste rigoureusement tes projets comme ceux des autres en évaluation avec tes propres jeux de tests. - Sois juste et teste rigoureusement tes projets comme ceux des autres en évaluation avec tes propres jeux de tests.
- Joue pleinement le jeu de ta scolarité dans l’état d’esprit demandé, fait tous les exercices et projets demandés. - Joue pleinement le jeu de ta scolarité dans l’état d’esprit demandé, fait tous les exercices et projets demandés.
- Ne cherche pas des biais et des failles dans le système. Tu vas fausser ta propre formation et ta valeur sur le marché. - Ne cherche pas des biais et des failles dans le système. Tu vas fausser ta propre formation et ta valeur sur le marché.
- Ne triche pas intentionellement. C’est amoral, cela contredit le commandement 12, et c’est du temps inutilement passé à ne pas développer tes compétences pour faire croire aux autres que tu sais coder alors que ce n’est pas le cas. - Ne triche pas intentionellement. C’est amoral, cela contredit le commandement 12, et c’est du temps inutilement passé à ne pas développer tes compétences pour faire croire aux autres que tu sais coder alors que ce n’est pas le cas.
- Ne rends pas un projet que tu ne serais pas capable de reproduire seul à huis clos. Même si c’est parfois involontaire, c’est aussi de la triche. - Ne rends pas un projet que tu ne serais pas capable de reproduire seul à huis clos. Même si c’est parfois involontaire, c’est aussi de la triche.
- C’est pas pour tes parents que tu travailles, ni pour le staff. C’est pour toi. - C’est pas pour tes parents que tu travailles, ni pour le staff. C’est pour toi.
- Participe à la vie de la communauté, à son épanouissement, et sa qualité en sortie de formation. - Participe à la vie de la communauté, à son épanouissement, et sa qualité en sortie de formation.
- Aide au respect de ces commandements par la communauté. - Aide au respect de ces commandements par la communauté.
- Sois bienveillant et empathique vis à vis de tes camarades comme des personnes avec qui tu interagis, échanges, débats. - Sois bienveillant et empathique vis à vis de tes camarades comme des personnes avec qui tu interagis, échanges, débats.
- N’ai pas peur du monde professionnel. - N’ai pas peur du monde professionnel.
- Respecte le matériel. Des consignes spécifiques sont données en ce sens. - Respecte le matériel. Des consignes spécifiques sont données en ce sens.
- Respecte les locaux. Des consignes spécifiques sont données en ce sens. - Respecte les locaux. Des consignes spécifiques sont données en ce sens.
- Respecte les gens, étudiants, staffs, partenaires, visiteurs. - Respecte les gens, étudiants, staffs, partenaires, visiteurs.
- Respecte la loi en vigueur dans le pays. - Respecte la loi en vigueur dans le pays.
- Respecte les lois et consignes en vigueur liées à la consommation d’alcool. - Respecte les lois et consignes en vigueur liées à la consommation d’alcool.
- Respecte les lois et consignes en vigueur liées à la consommation de tabac, stupéfiants, ou produits assimilés. - Respecte les lois et consignes en vigueur liées à la consommation de tabac, stupéfiants, ou produits assimilés.
- N’hésite pas à interagir avec le staff, pour parler de tes problèmes, pour remonter des problèmes dans le cursus, pour contribuer au cursus. - N’hésite pas à interagir avec le staff, pour parler de tes problèmes, pour remonter des problèmes dans le cursus, pour contribuer au cursus.
- Si tu t’interroges ou ne comprends pas nos choix pédagogiques, demande nous. On ne fait généralement rien au hasard. - Si tu t’interroges ou ne comprends pas nos choix pédagogiques, demande nous. On ne fait généralement rien au hasard.
### Required ### Required

84
subjects/commandments.fr.md

@ -16,89 +16,89 @@ A few basic principles to follow
### The Commandements _(read them)_ ### The Commandements _(read them)_
- Le numérique est ta passion. - Le numérique est ta passion.
- Ton objectif à 42 : développer ton talent et tes compétences pour le marché du numérique. - Ton objectif à 42 : développer ton talent et tes compétences pour le marché du numérique.
- L’objectif de 42 pour toi : te faire accéder au marché de l’emploi, à une longue et pérenne carrière dans le numérique, et te faire progresser socialement. - L’objectif de 42 pour toi : te faire accéder au marché de l’emploi, à une longue et pérenne carrière dans le numérique, et te faire progresser socialement.
- L’ambition de 42 pour toi : être un pionnier du numérique de demain. - L’ambition de 42 pour toi : être un pionnier du numérique de demain.
- Il est de ta responsabilité de gérer ta progression : 42 te propose un parcours individualisé adapté à ton rythme. - Il est de ta responsabilité de gérer ta progression : 42 te propose un parcours individualisé adapté à ton rythme.
- Des challenges jalonnent ton parcours. 42 ne fournira aucun élément de solution. C’est ton rôle de chercher et trouver par toi-même ces solutions pour atteindre l’objectif. - Des challenges jalonnent ton parcours. 42 ne fournira aucun élément de solution. C’est ton rôle de chercher et trouver par toi-même ces solutions pour atteindre l’objectif.
- Sois actif. N’attend pas que les choses se fassent pour toi. 42 est un parcours 100% pratique. - Sois actif. N’attend pas que les choses se fassent pour toi. 42 est un parcours 100% pratique.
- Sois autonome dans ton cursus. N’attend pas que l’on te dise quoi faire. - Sois autonome dans ton cursus. N’attend pas que l’on te dise quoi faire.
- Sois collaboratif, autant sur les projets solos que les projets de groupe. Face aux challenges à resoudre, l’échange et le debat sont tes meilleures armes. - Sois collaboratif, autant sur les projets solos que les projets de groupe. Face aux challenges à resoudre, l’échange et le debat sont tes meilleures armes.
- Ne "crois" pas. Sois sûr. Techniquement, relationnelement, organisationellement, administrativement. - Ne "crois" pas. Sois sûr. Techniquement, relationnelement, organisationellement, administrativement.
- Pour être sûr, teste, contrôle. - Pour être sûr, teste, contrôle.
- N’ai pas peur de te tromper, d’échouer. L’échec est une étape normale vers le succès. - N’ai pas peur de te tromper, d’échouer. L’échec est une étape normale vers le succès.
- Teste à nouveau. Collabore davantage pour tester davantage. - Teste à nouveau. Collabore davantage pour tester davantage.
- Ose. Le risque est de se tromper. Voir le commandement 12. - Ose. Le risque est de se tromper. Voir le commandement 12.
- Sois rigoureux dans ton travail. - Sois rigoureux dans ton travail.
- Sois investi dans ton cursus : 50 heures par semaine est un minimum. Ta capacité de travail est une valeur. L’école est ouverte 24h/24 et 7j/7. - Sois investi dans ton cursus : 50 heures par semaine est un minimum. Ta capacité de travail est une valeur. L’école est ouverte 24h/24 et 7j/7.
- Sois régulier dans ton travail. Un jour oui, un jour non, un coup nocturne, un coup diurne... le chaos t’empêche d’avancer. - Sois régulier dans ton travail. Un jour oui, un jour non, un coup nocturne, un coup diurne... le chaos t’empêche d’avancer.
- Prévois un groupe de travail large et hétérogène pour y trouver facilement des idées neuves et des groupes de projet. - Prévois un groupe de travail large et hétérogène pour y trouver facilement des idées neuves et des groupes de projet.
- Pour tes collaborations et ton travail en groupe, privilégie des étudiants qui n’ont pas déjà la solution au problème. - Pour tes collaborations et ton travail en groupe, privilégie des étudiants qui n’ont pas déjà la solution au problème.
- Sois investi dans ton groupe de projet, et ne le laisse pas faire ton travail à ta place. - Sois investi dans ton groupe de projet, et ne le laisse pas faire ton travail à ta place.
- Ton groupe de projet est solidaire, son succès comme son échec est de la responsabilité de tous, et les conflits se règlent en interne. - Ton groupe de projet est solidaire, son succès comme son échec est de la responsabilité de tous, et les conflits se règlent en interne.
- Travaille à l’école. Faire du peer-learning, collaborer, cela demande d’être physiquement avec les autres. A distance cela ne fonctionne pas. - Travaille à l’école. Faire du peer-learning, collaborer, cela demande d’être physiquement avec les autres. A distance cela ne fonctionne pas.
- Implique toi dans les évaluations de tes projets. Elles te permettent de prendre du recul. - Implique toi dans les évaluations de tes projets. Elles te permettent de prendre du recul.
- Implique toi dans tes évaluations des projets des autres. La qualité de la communauté en dépend. - Implique toi dans tes évaluations des projets des autres. La qualité de la communauté en dépend.
- Sois juste et teste rigoureusement tes projets comme ceux des autres en évaluation avec tes propres jeux de tests. - Sois juste et teste rigoureusement tes projets comme ceux des autres en évaluation avec tes propres jeux de tests.
- Joue pleinement le jeu de ta scolarité dans l’état d’esprit demandé, fait tous les exercices et projets demandés. - Joue pleinement le jeu de ta scolarité dans l’état d’esprit demandé, fait tous les exercices et projets demandés.
- Ne cherche pas des biais et des failles dans le système. Tu vas fausser ta propre formation et ta valeur sur le marché. - Ne cherche pas des biais et des failles dans le système. Tu vas fausser ta propre formation et ta valeur sur le marché.
- Ne triche pas intentionellement. C’est amoral, cela contredit le commandement 12, et c’est du temps inutilement passé à ne pas développer tes compétences pour faire croire aux autres que tu sais coder alors que ce n’est pas le cas. - Ne triche pas intentionellement. C’est amoral, cela contredit le commandement 12, et c’est du temps inutilement passé à ne pas développer tes compétences pour faire croire aux autres que tu sais coder alors que ce n’est pas le cas.
- Ne rends pas un projet que tu ne serais pas capable de reproduire seul à huis clos. Même si c’est parfois involontaire, c’est aussi de la triche. - Ne rends pas un projet que tu ne serais pas capable de reproduire seul à huis clos. Même si c’est parfois involontaire, c’est aussi de la triche.
- C’est pas pour tes parents que tu travailles, ni pour le staff. C’est pour toi. - C’est pas pour tes parents que tu travailles, ni pour le staff. C’est pour toi.
- Participe à la vie de la communauté, à son épanouissement, et sa qualité en sortie de formation. - Participe à la vie de la communauté, à son épanouissement, et sa qualité en sortie de formation.
- Aide au respect de ces commandements par la communauté. - Aide au respect de ces commandements par la communauté.
- Sois bienveillant et empathique vis à vis de tes camarades comme des personnes avec qui tu interagis, échanges, débats. - Sois bienveillant et empathique vis à vis de tes camarades comme des personnes avec qui tu interagis, échanges, débats.
- N’ai pas peur du monde professionnel. - N’ai pas peur du monde professionnel.
- Respecte le matériel. Des consignes spécifiques sont données en ce sens. - Respecte le matériel. Des consignes spécifiques sont données en ce sens.
- Respecte les locaux. Des consignes spécifiques sont données en ce sens. - Respecte les locaux. Des consignes spécifiques sont données en ce sens.
- Respecte les gens, étudiants, staffs, partenaires, visiteurs. - Respecte les gens, étudiants, staffs, partenaires, visiteurs.
- Respecte la loi en vigueur dans le pays. - Respecte la loi en vigueur dans le pays.
- Respecte les lois et consignes en vigueur liées à la consommation d’alcool. - Respecte les lois et consignes en vigueur liées à la consommation d’alcool.
- Respecte les lois et consignes en vigueur liées à la consommation de tabac, stupéfiants, ou produits assimilés. - Respecte les lois et consignes en vigueur liées à la consommation de tabac, stupéfiants, ou produits assimilés.
- N’hésite pas à interagir avec le staff, pour parler de tes problèmes, pour remonter des problèmes dans le cursus, pour contribuer au cursus. - N’hésite pas à interagir avec le staff, pour parler de tes problèmes, pour remonter des problèmes dans le cursus, pour contribuer au cursus.
- Si tu t’interroges ou ne comprends pas nos choix pédagogiques, demande nous. On ne fait généralement rien au hasard. - Si tu t’interroges ou ne comprends pas nos choix pédagogiques, demande nous. On ne fait généralement rien au hasard.
### Required ### Required

10
subjects/compact.en.md

@ -5,9 +5,9 @@
Write a function `Compact` that takes a pointer to a slice of strings as the argument. Write a function `Compact` that takes a pointer to a slice of strings as the argument.
This function must: This function must:
- Return the number of elements with non-`nil`. - Return the number of elements with non-`nil`.
- Compact, i.e., delete the elements with `nil` in the slice. - Compact, i.e., delete the elements with `nil` in the slice.
### Expected functions ### Expected functions
@ -19,15 +19,15 @@ func Compact(ptr *[]string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
const N = 6 const N = 6

6
subjects/compact.fr.md

@ -19,15 +19,15 @@ func Compact(ptr *[]string) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main
import ( import (
"fmt" "fmt"
piscine ".." piscine ".."
) )
const N = 6 const N = 6

2
subjects/compare.en.md

@ -14,7 +14,7 @@ func Compare(a, b string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/compare.fr.md

@ -14,7 +14,7 @@ func Compare(a, b string) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/concat.en.md

@ -14,7 +14,7 @@ func Concat(str1 string, str2 string) string {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/concat.fr.md

@ -14,7 +14,7 @@ func Concat(str1 string, str2 string) string {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/concatparams.en.md

@ -16,7 +16,7 @@ func ConcatParams(args []string) string {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/concatparams.fr.md

@ -16,7 +16,7 @@ func ConcatParams(args []string) string {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/convertbase.en.md

@ -18,7 +18,7 @@ func ConvertBase(nbr, baseFrom, baseTo string) string {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/convertbase.fr.md

@ -18,7 +18,7 @@ func ConvertBase(nbr, baseFrom, baseTo string) string {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/countif.en.md

@ -14,7 +14,7 @@ func CountIf(f func(string) bool, tab []string) int {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/countif.fr.md

@ -14,7 +14,7 @@ func CountIf(f func(string) bool, tab []string) int {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

2
subjects/createelem.en.md

@ -18,7 +18,7 @@ func CreateElem(n *Node, value int) {
### Usage ### Usage
Here is a possible [program](TODO-LINK) to test your function : Here is a possible program to test your function :
```go ```go
package main package main

2
subjects/createelem.fr.md

@ -18,7 +18,7 @@ func CreateElem(n *Node, value int) {
### Utilisation ### Utilisation
Voici un éventuel [programme](TODO-LINK) pour tester votre fonction : Voici un éventuel programme pour tester votre fonction :
```go ```go
package main package main

10
subjects/displayfile.en.md

@ -4,13 +4,13 @@
Write a program that displays, on the standard output, the content of a file given as argument. Write a program that displays, on the standard output, the content of a file given as argument.
- Create a file `quest8.txt` and write into it the sentence `Almost there!!` - Create a file `quest8.txt` and write into it the sentence `Almost there!!`
- The argument of the program in this case should be, `quest8.txt`. - The argument of the program in this case should be, `quest8.txt`.
- In case of error the program should print one the below messages accordingly: - In case of error the program should print one the below messages accordingly:
- `File name missing`. - `File name missing`.
- `Too many arguments`. - `Too many arguments`.
### Usage : ### Usage :

12
subjects/displayfile.fr.md

@ -4,15 +4,15 @@
Écrire un programme qui affiche, sur la sortie standard, le contenu d'un fichier donné en argument. Écrire un programme qui affiche, sur la sortie standard, le contenu d'un fichier donné en argument.
- Créer un fichier `quest8.txt` et écrire dedans la phrase `Almost there!!` - Créer un fichier `quest8.txt` et écrire dedans la phrase `Almost there!!`
- L'argument pour ce programme sera, dans ce cas, `quest8.txt`. - L'argument pour ce programme sera, dans ce cas, `quest8.txt`.
- En cas d'erreur le programme doit afficher un des deux messages suivants de manière approprié: - En cas d'erreur le programme doit afficher un des deux messages suivants de manière approprié:
- `File name missing`. - `File name missing`.
- `Too many arguments`. - `Too many arguments`.
### Utilisation: ### Utilisation :
```console ```console
student@ubuntu:~/[[ROOT]]/test$ go build student@ubuntu:~/[[ROOT]]/test$ go build

Some files were not shown because too many files changed in this diff diff.show_more

Loading…
Cancel
Save