La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Exercices récapitulatifs

Présentations similaires


Présentation au sujet: "Exercices récapitulatifs"— Transcription de la présentation:

1 Exercices récapitulatifs
Abstractions procédurales

2 Exercices Créer une fonction contient(el, t) qui retourne VRAI ssi le tableau t contient l’élément el Créer une fonction tri(t) qui prend un tableau d’entiers t en argument et qui renvoie une copie du tableau trié en ordre croissant Créer une fonction suppDoublons(t) qui prend un tableau t en argument et qui renvoie un nouveau tableau égale à t pour lequel les doublons ont été retirés Exemple: t = [1,2,4,2,6,5,3,2,1,5,3,2,4] valeur retournée = [1,2,4,6,5,3]

3 Exercice 4 Créer une fonction compresse(t) capable de compresser une chaîne de caractères de la manière suivante : Chaîne initiale: “aaabbbbbeeeedfffffff” Chaîne retounée: “3a5b4e1d7f” Chaque caractère est accessible via un indice (comme un tableau) PHP : Exemple : str = “abc” str[1] // Retourne b PHP : Pour connaitre la taille d’une chaine de caractère utilisez la fonction strlen()

4 Solution : fonction contient
FONCTION contient(el, t) { n ← NB(t) i ← 0 TANT QUE i < n FAIRE SI (el = t[i]) RETOURNE VRAI FIN SI i ← i - 1 FIN TANT QUE RETOURNE FAUX }

5 Solution : fonction tri
FONCTION tri(t) { n ← NB(t) i ← n-1 TANT QUE i > 0 FAIRE j ← 0 TANT QUE j < i FAIRE SI(t[j]>t[j+1]) tmp ← t[j] t[j] ← t[j+1] t[j+1] ← tmp FIN SI j ← j + 1 FIN TANT QUE i ← i - 1 RETOURNE t } Cliquez pour voir l’animation

6 Solution : fonction suppDoublons
FONCTION suppDoublons(t) { a ← array() n ← NB(t) i ← 0 TANT QUE (i < n) FAIRE SI(contient(t[i], a) = FAUX) a[] ← t[i] FIN_SI i = i + 1 FIN TANT QUE RETOURNE a }

7 Exercice 5 Soit tab = a ← tab[2] b ← tab[tab[a]] c ← tab[3] + tab[4]
1 2 3 4 5 6 7 8 Soit tab = a ← tab[2] b ← tab[tab[a]] c ← tab[3] + tab[4] d ← tab[a - 2] tab[1] ← a tab[2] ← b tab[4] ← d tab[5] ← c tab[1] ← tab[2] Que vaut tab ?

8 Exercice 6 Corrigez l’algorithme afin qu’il affiche la table de multiplication de 5 jusque n*5, sachant que n est un paramètre passé par l’utilisateur n ← arg[1] i ← 0 TANT QUE i ≤ 10 FAIRE rep ← n * i FIN_TANT_QUE ECRIRE n . "*" . i . " = " . rep ECRIRE RETOUR LIGNE

9 Exercice 7 Corrigez l’algorithme afin qu’il affiche la table de multiplication de 5 jusque n*5, sachant que n est un paramètre passé par l’utilisateur n ← arg[1] i ← 1 TANT QUE i ≤ n FAIRE rep ← 5 * i ECRIRE i . "*" " = " . rep ECRIRE RETOUR LIGNE i ← i + 1 FIN_TANT_QUE

10 Exercice 8 function superCalculator($a, $b, $c, $d) { $e = $a + $b + $d; $c = $d; $b = 3; $d = $e + $b; echo $c."<br>"; echo $d."<br>"; } $a = 2; $b = 4; $c = 6; $d = 8; superCalculator($a,$a,$c,$d); superCalculator($d,$b,$b,$a); echo $b; Que sera-t-il affiché à l’écran après l’exécution de ce code? Réponse : 8 15 2 17 4

11 Exercice 9 Données de base : Réaliser une fonction getIndexEtudiant(name)qui retourne l’indice d’un étudiant à partir de son nom. Quid si l’étudiant n’existe pas ? Quid des paramètres ? Suffisants ? Réaliser une fonction getIndexCours(cours)qui retourne l’indice d’un cours sur base de son nom Réaliser une fonction getMaxScore(e)qui retourne l’indice du cours où l’étudiant d’indice e a obtenu le plus de points. Réaliser une fonction getCoursMaxScore(name)qui retourne le nom du cours où l’étudiant de nom “name” a obtenu le plus de points. -Les fonctions [1] et [2] sont les mêmes, retrouver un cours ou un étudiant dépendra de ce qui est passé en paramètre comme tableau -Si l’étudiant n’existe pas, la fonction peut retourner un entier -1

12 Exercice 10 : Distribution statistique
Créez un programme capable de construire un tableau qui représente la distribution d’un autre tableau d’entiers. Exemple : t = [1,2,3,0,2,1,2,3,2,1,2,3,2,1,2,4] t_dist = [1,4,7,3,1]

13 Exercice 11 : Calligraphie
Dessinez la lettre « X » dans un carré composé de ‘-’, la lettre elle- même étant composée de 'X' (cf copie d’écran). Affichez ce motif plusieurs fois. Utilisez un tableau à deux dimensions. Argument 1 : n, la taille de ce carré Argument 2 : p, le nombre de répétition du motif BONUS : Dessinez une autre lettre de votre choix.


Télécharger ppt "Exercices récapitulatifs"

Présentations similaires


Annonces Google