diff --git a/README.md b/README.md index 4133b3be77c4062edeeb3072a161cf3b8e9926f0..2e9c5c621496b2e08e1224bef83fa58af0f62cb9 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ 2. *Cloner* votre version du dépôt (attention à bien utiliser la version SSH et PAS https). 3. Créer une nouvelle branche portant votre nom. 4. Pour le reste de l'examen vous travaillerez sur cette nouvelle branche uniquement, sauf pour les toutes dernières questions (c.f. question *merge*). -5. Exécuter le script nommé `script.sh`. Ce script a créé un fichier, ajouter ce fichier au dépôt. +5. Taper la commande `./script.sh` pour lancer le programme correspondant. Ce programme a créé un fichier, ajouter ce fichier au dépôt. ## Shell / Bash @@ -21,22 +21,15 @@ En se connectant sur la machine [cuilxa.unige.ch](cuilxa.unige.ch) par SSH copier le fichier distant `/usr/local/chanel/toget` à la racine de votre dépôt local. Ajouter ce fichier au dépôt. -## Fichiers +## C et débuguage -1. Proposer un algorithme (syntaxe libre) permettant d'identifier si un fichier est au format UTF8. Ecrire cet algorithme dans un fichier nommé `isUTF8.alg`. L'ajouter à la racine du dépôt. - -2. En utilisant un éditeur hexadécimal, stocker dans un fichier nommé `data.bin` la valeur décimale 256 en *little-endian* sur deux octets. Ajouter ce fichier à la racine du dépôt. - -## Swift et débuguage - -1. Compléter le code de la fonction `isPalindrome` dans le fichier `code/Palindrome.swift`, laquelle retourne `true` si son argument est un palindrome. Pour rappel, un palindrome est une séquence de caractères qui peut se lire indifféremment de gauche à droite ou de droite à gauche. -2. A l'aide d'un debugger, identifier et corriger le bug qui s'est glissé dans la fonction `primes` dans le fichier `Numbers.swift`, laquelle est supposée retourner la liste des nombres premiers contenus dans le tableau reçu argument. +A l'aide d'un debugger, identifier et corriger le bug qui s'est glissé dans la fonction `primes` dans le fichier `Numbers.c`, laquelle est supposée retourner la liste des nombres premiers contenus dans le tableau reçu argument. ## GIT 1. Effectuer un *merge* de la branche portant votre nom vers la branche master. 2. Monter le contenu local de votre dépôt vers votre *remote*. -3. Effectuer un *pull request* sur le dépôt originel qui aura pour titre *nom_prenom* où vous indiquerez votre nom et votre prénom. +3. Effectuer un *pull (ou merge) request* sur le dépôt originel qui aura pour titre *nom_prenom* où vous indiquerez votre nom et votre prénom. # Soumettre l'évaluation diff --git a/code/Numbers.c b/code/Numbers.c new file mode 100644 index 0000000000000000000000000000000000000000..734a8295d0c21b23da92f6ccef56f30bd7be97ea --- /dev/null +++ b/code/Numbers.c @@ -0,0 +1,31 @@ +#include <stdbool.h> +#include <stdio.h> + +#define TAILLE 50 + +/// Returns the prime numbers in `elements`. +void primes(int numbers[]) { + int i; + for (i=0; i<TAILLE; i++) { + bool isPrime = true; + int m; + for (m=1; m < numbers[i] ;m++) { + if (numbers[i] % m == 0) { + isPrime = false; + break; + } + } + + if (isPrime) + printf("%i est un nombre premier\n", numbers[i]); + } +} + +int main() { + int array[TAILLE]; + int i; + for (i=0; i<TAILLE; i++) + array[i] = i+3; + + primes(array); +} \ No newline at end of file diff --git a/code/Numbers.swift b/code/Numbers.swift deleted file mode 100644 index 2035b29e846f4fd651d006638afd3af60046644d..0000000000000000000000000000000000000000 --- a/code/Numbers.swift +++ /dev/null @@ -1,24 +0,0 @@ -/// Returns the prime numbers in `elements`. -func primes(_ numbers: [Int]) -> [Int] { - var primes: [Int] = [] - - for n in numbers { - var isPrime = true - for m in 1 ..< n { - if n % m == 0 { - isPrime = false - break - } - } - - if isPrime { - primes.append(n) - } - } - - return primes -} - -let array = Array(2 ..< 50) -let primesInArray = primes(array) -print("\(array) contains the following prime numbers: \(primesInArray)") diff --git a/code/Palindrome.swift b/code/Palindrome.swift deleted file mode 100644 index 56974eba106b5797339f9139a7d021f6ff12bdad..0000000000000000000000000000000000000000 --- a/code/Palindrome.swift +++ /dev/null @@ -1,17 +0,0 @@ -/// Returns whether or not the given text is a palindrome. -func isPalindrome(_ text: String) -> Bool { - - // Write your code here. - // - // - Hint: - // Check the official documentation on Swift.String to see how to manipulate string - // indices (https://developer.apple.com/documentation/swift/string). - - fatalError("not implemented") - -} - -for string in ["kayak", "koala"] { - let isStringAPalindrome = isPalindrome(string) - print("'\(string)' is \(isStringAPalindrome ? "" : "not ")a palindrome") -}