• Aucun résultat trouvé

D'abord quelques exercices mécaniques de manipulation des tableaux, ensuite on passera à des choses plus sérieuses.

8.1 Manipulation

Pouvez vous écrire pour chacune des situations suivantes un programme Pascal qui, après avoir défini un tableau adéquat le fasse remplir comme indiqué puis (pour vérification) le fasse imprimer.

Dans chacun des cas 1 à 6, à vous de décider ce que sont les étiquettes des tableaux à définir. 1. le tableau doit comporter 20 composantes entières et être rempli de la manière suivante :

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2. le tableau doit comporter 20 composantes entières et être rempli de la manière suivante :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3. le tableau doit comporter 20 composantes entières et être rempli de la manière suivante :

4. le tableau doit comporter 20 composantes entières et être rempli de la manière suivante : 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 5. le tableau doit comporter 20 composantes entières et être rempli de la manière suivante :

1 2 3 4 5 6 7 8 9 10 10 9 8 7 6 5 4 3 2 1

6. le tableau doit comporter 20 composantes de type char et être rempli de la manière suivante : 'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 7. le tableau doit comporter 20 composantes de type char, posséder obligatoirement des

étiquettes de type entier, et être rempli de la manière suivante :

'a' 'b' 'c' 'd' 'e' 'f' 'g' 'h' 'i' 'j' 'k' 'l' 'm' 'n' 'o' 'p' 'q' 'r' 's' 't' 8. le tableau doit comporter 10 lignes et 10 colonnes; ses composantes doivent être de type

entier; il doit être rempli de la manière suivante :

1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10

9. le tableau doit comporter 10 lignes et 10 colonnes; ses composantes doivent être de type entier; il doit être rempli de la manière suivante :

1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 4 4 4 4 4 4 4 4 4 4 5 5 5 5 5 5 5 5 5 5 6 6 6 6 6 6 6 6 6 6 7 7 7 7 7 7 7 7 7 7 8 8 8 8 8 8 8 8 8 8 9 9 9 9 9 9 9 9 9 9 10 10 10 10 10 10 10 10 10 10

10.!3 le tableau doit comporter 10 lignes et 10 colonnes; ses composantes doivent être de type entier; il doit être rempli de la manière suivante :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

3 Pour les exercices assortis du symbole !, le texte d'un programme Pascal constituant une solution possible est disponible au sein de l'ensemble des textes des programmes fournis en complément cet ouvrage

31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100

11.! le tableau doit comporter 10 lignes et 10 colonnes; ses composantes doivent être de type entier; il doit être rempli de la manière suivante :

100 99 98 97 96 95 94 93 92 91 90 89 88 87 86 85 84 83 82 81 80 79 78 77 76 75 74 73 72 71 70 69 68 67 66 65 64 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1

12.! le tableau doit comporter 10 lignes et 10 colonnes; ses composantes doivent être de type entier; il doit être rempli de la manière suivante :

1 2 3 4 5 6 7 8 9 10 20 19 18 17 16 15 14 13 12 11 21 22 23 24 25 26 27 28 29 30 40 39 38 37 36 35 34 33 32 31 41 42 43 44 45 46 47 48 49 50 60 59 58 57 56 55 54 53 52 51 61 62 63 64 65 66 67 68 69 70 80 79 78 77 76 75 74 73 72 71 81 82 83 84 85 86 87 88 89 90 100 99 98 97 96 95 94 93 92 91 8.2 Utilisation

Analyser les problèmes suivants; mettre en évidence les tableaux et les variables nécessaires, concevoir l'algorithme et terminer par le codage en Pascal et l'habillage du programme.

Attention, il peut arriver que la structure de tableau soit inutile pour résoudre les problèmes proposés. Il faut donc réfléchir soigneusement à ce point.

13. On souhaite faire simuler 1000 jets successifs de deux dés en s'intéressant à la différence entre les points marqués par le premier et le second dé. On demande de fournir pour chaque résultat possible la fréquence de son apparition.

14. On souhaite faire simuler 1000 jets successifs de deux dés en s'intéressant au nombre de double 1, de double 2, ... de double 6.

L'affichage prendra donc la forme suivante : Nombre de double 1 : 28 Nombre de double 2 : 34 ... ...

Nombre de double 6 : 33

15. On souhaite faire simuler à 10 reprises 1000 jets successifs de deux dés en s'intéressant au nombre de double 1, de double 2, ... de double 6.

A chacune des 10 simulations on désire obtenir les résultats sous la forme suivante : Simulation n° 1 Nombre de double 1 : 28 Nombre de double 2 : 34 ... ... Nombre de double 6 : 33 Simulation n° 2 Nombre de double 1 : 26 Nombre de double 2 : 29 ... ... Nombre de double 6 : 31 Simulation n° 3 ... ...

Après ces 10 affichages, on souhaite obtenir également la moyenne sur les 10 simulations du nombre de double 1, de double 2, ... ainsi que le pourcentage correspondant pour chacun d'eux par rapport au nombre total de "doubles" obtenus. Ce dernier affichage prendra la forme

Au total, sur les 10 simulations :

Moyenne du nombre de double 1 : 29.4 Moyenne du nombre de double 2 : 28.7 Moyenne du nombre de double 3 : 30.3 Moyenne du nombre de double 4 : 29.9 Moyenne du nombre de double 5 : 34.7 Moyenne du nombre de double 6 : 31.9

Pourcentage du double 1 dans les doubles : 16.9 Pourcentage du double 2 dans les doubles : 15.1 Pourcentage du double 3 dans les doubles : 16.2 Pourcentage du double 4 dans les doubles : 15.9 ...

16. On dispose de la liste des résultats de 235 étudiants, et cela successivement pour 3 épreuves. Chacun de ces résultats est un entier entre 0 et 20.

Ces données prennent la forme d'une longue liste de 705 entiers (3*235). On a d'abord les 235 résultats de la première épreuve, puis les 235 (dans le même ordre) de la seconde, et enfin les 235 de la troisième :

14

12 235 résultats à la 1ère épreuve 7

13 ... ... 11

11 235 résultats à la 2ème épreuve 9

... 12

10 235 résultats à la 3ème épreuve ...

On a trouvé un volontaire pour entrer sans erreur tous ces nombres au clavier, mais il reste à écrire le programme qui, sur cette base, fournisse la liste des numéros d'étudiants dont la cote moyenne soit plus grande ou égale à 10, assortis de cette cote moyenne. La forme en serait :

1 12.3 2 11.0 4 12.6 ... ...

17. On dispose d'une liste donnant le relevé des achats de 38 personnes. La structure en est la suivante : pour chacune des 38 personnes, on trouve le nombre de ses achats suivi des montants de chacun de ces achats (s'il y a lieu).

Par exemple :

4 nombre d'achats de la première personne

3456.5 montant du premier achat de la première personne 6555 montant du deuxième achat de la première personne 3567.5 montant du troisième achat de la première personne 6788 montant du quatrième achat de la première personne 0 nombre d'achats de la deuxième personne

1 nombre d'achats de la troisième personne

4565.5 montant du premier et seul achat de la troisième personne etc.

On demande d'écrire un programme qui, sur base de la donnée de cette liste fasse afficher pour chacune des personnes la somme des achats et la moyenne des achats. On souhaite de plus voir afficher la moyenne globale des achats (pour toutes les personnes).

2