Degead UE21 TD 5 Exercice 1 Écrire les instructions permettant de calculer la somme des n premiers nombres au carré. Écrire les instructions permettant de calculer la somme des n premiers nombres impaires au carré. Exercice 2 On a entré les votes exprimés lors d'un scrutin dans une liste de noms. Donnez les instructions permettant d'acher les résultats du vote sous forme de pourcentage. Exercice 3 Écrire un algorithme qui demande à l'utilisateur un nombre compris entre 1 et 3 jusqu'à ce que la réponse convienne. Exercice 4 Écrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu'à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : Plus petit ! , et inversement, Plus grand ! si le nombre est inférieur à 10. Exercice 5 Écrivez une fonction qui renvoie le nombre de voyelles contenues dans une chaîne de caractères passée en paramètre. 1 Correction Exercice 1 . n :=20 : cpt :=0 : for i from 1 to n do cpt :=cpt +i*i : od : cpt ; restart ; n :=20 : cpt :=0 : i :=1 : while(i<2*n)do cpt :=cpt+i*i : i :=i+2 : od : cpt ; Ici on compte les carrés des nombres de 1 à 20 Ici on ne comptera que les 20 premiers nombres impaires. n :=20 : restart ; cpt :=0 : for i from 1 by 2 to 2*n do cpt :=cpt +i*i : od : cpt ; Ici on utilisera by 2 dans la boucle for 2 Exercice 2 Code . ListeVotes :=["Francois","Marianne","Marianne","Claude","Amel","Francois","Francois", "Marianne","Amel","Francois","Amel","Marianne","Marianne","Amel","Francois"] : cptAm :=0 : cptFr :=0 : cptMa :=0 : cptCl :=0 : for i from 1 to nops(ListeVotes)do if(ListeVotes[i]="Amel")then cptAm :=cptAm+1 : : if(ListeVotes[i]="Francois")then cptFr :=cptFr+1 : : if(ListeVotes[i]="Marianne")then cptMa :=cptMa+1 : : if(ListeVotes[i]="Claude")then cptCl :=cptCl+1 : : od ; ScoreAmel :=evalf(100*cptAm/nops(ListeVotes)) ; ScoreFrancois :=evalf(100*cptFr/nops(ListeVotes)) ; ScoreMarianne :=evalf(100*cptMa/nops(ListeVotes)) ; ScoreClaude :=evalf(100*cptCl/nops(ListeVotes)) ; Résultat . ScoreAmel := 26.66666667 ScoreFrancois := 33.33333333 ScoreMarianne := 33.33333333 ScoreClaude := 6.666666667 3 Exercice 4 Code . n :=readstat("Donnez un nombre entre 0 et 20") ; while(n<10 or n>20)do if n<10 then n :=readstat("Vous avez donné un nombre trop petit. Donnez un nombre plus grand.") ; else n :=readstat("Vous avez donné un nombre trop grand. Donnez un nombre plus petit.") ; : od ; n; Résultat . Donnez un nombre entre 10 et 20 n 2 ; Vous avez donné un nombre trop petit. Donnez un nombre plus grand. 984 ; Vous avez donné un nombre trop grand. Donnez un nombre plus petit. 12 ; 12 4