Niveau: 4ème Math Prof: Donia JEBALI Année Scolaire 2007/2008 Exercices Niveau: 4ème Math Prof: Donia JEBALI Année Scolaire 2007/2008 26/03/2017
PLAN Chapitre 1: Les structures de données Chapitre 2: Les actions élémentaires simples Chapitre 3: Les structures de contrôle conditionnelles Chapitre 4: Les structures de contrôles itératives Chapitre 5: Les sous-programmes Chapitre 6: Les traitement avancés 26/03/2017
Chapitre 2: Les actions élémentaires simples Retour 26/03/2017
1. L’affectation Activité : Soit la séquence d’instructions suivantes: T[1] ’’International’’ T[2] ’’Network’’ T[3] concat (sous chaine(T[1] ,1,5), sous chaine(T[2] ,1,3)) Quel est le rôle de ces instructions ? Quel est le contenu des cases du tableau? Quelle est l’action simple utilisée ? 26/03/2017
Le tableau contient les valeurs suivantes: Réponse: Les actions précédentes permettent d’affecter des valeurs aux cases du tableau. Le tableau contient les valeurs suivantes: Cette action est appelée l’opération d’affectation. ‘’International’’ ‘’Network’’ ‘’Internet’’ 26/03/2017
2.L’opération de sortie: Activité : Ecrire une analyse, un algorithme et un programme Pascal intitulé Distance qui permet de calculer et afficher la distance entre deux points M et N de coordonnées respectives (XM, YM) et (XN, YN) sachant que la distance d (M,N) = racine carré(carré(XM-XN) +carré(YM-YN)). 26/03/2017
Grille d’analyse: T.D.O: 26/03/2017
2.L’opération d’entrée: Activité : Ecrire une analyse, un algorithme et un programme Pascal intitulé Température qui permet de convertir 4 température s en degré Celsius introduites par l’utilisateur à son équivalent Fahrenheit, sachant que T°F= T°C*1.8+32. Les températures en Fahrenheit doivent être rangées dans un tableau intitulé TMF. 26/03/2017
Grille d’analyse: T.D.O: Retour 26/03/2017
Chapitre 3: Les structures de contrôle conditionnelles Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition. Il existe trois formes de structures conditionnelles : Structure simple Structure généralisée Structure à choix Retour 26/03/2017
Les structures de contrôle conditionnelle simple Activité 1: Résoudre un problème qui vérifie l’existence d’un caractère donné dans une chaine saisie par l’utilisateur. 26/03/2017
1er cas: Forme réduite Algorithme : 0) Début verification 1) Lire (ch) Lire (c) 2) [ verif ‘’ Le caractère n’existe pas dans la chaine’’] Si pos (c, ch) 0 Alors verif ‘’ Le caractère existe dans la chaine’’. Fin si. 3) Fin verification 26/03/2017
Au niveau de l’analyse/Algorithme La forme réduite Au niveau de l’analyse/Algorithme Au niveau pascal [init] Si condition Alors instruction1 instruction2 …… instruction n FinSi init ; If condition THEN Begin instruction1; instruction2; …… instruction n; End ; Une structure de contrôle conditionnelle à une forme simple réduite si l’exécution d’un traitement est limitée à la valeur vrai de la condition. Remarques Init est une séquence d’instruction qui contient des éventuelles initialisations Le résultat de l’évaluation de la condition est soit vrai soit faux, on parle dans ce cas de résultat booléen. Lorsque le résultat de l’évaluation de la condition est : Vrai : les instructions entre alors et fin si sont exécutées. Faux : les instructions ne sont pas exécutées. En Pascal, si le traitement après alors est composé d’une seule instruction, cette dernière peut être présentée sans les deux délimiteurs Begin et End ; 26/03/2017
2ème cas: Forme complète Algorithme : 0) Début verification 1) Lire (ch) Lire (c) 2) Si pos (c, ch) 0 Alors verif ‘’ Le caractère existe dans la chaine’’. Sinon Fin si. 3) Fin verification 26/03/2017
l’analyse/Algorithme La forme complète Au niveau de l’analyse/Algorithme Au niveau pascal [init] Si condition alors Instruction 1 de traitement 1 Instruction 2 de traitement 1 ……. Instruction n de traitement 1 Sinon Instruction 1 de traitement 2 Instruction 2 de traitement 2 Instruction n de traitement 2 FinSi Init ; IF condition THEN Begin Instruction 1 de traitement 1 ; Instruction 2 de traitement 1 ; ……. Instruction n de traitement 1 ; End {absence du ;} ELSE Instruction 1 de traitement 2 ; Instruction 2 de traitement 2 ; Instruction n de traitement 2; End ; Une structure de contrôle conditionnelle à une forme complète est utilisée lorsqu’on a deux traitements, l’un s’exécute si la valeur de la condition est Vrai et l’autre s’exécute lorsque la valeur de la condition est Faux. Remarques : Lorsque le résultat de l’évaluation de la condition est : Vrai : seules les instructions du traitement1 sont exécutées. Faux : seules les instructions du traitement2 sont exécutées. Notons l’absence du « ; » après End car l’instruction conditionnelle n’est pas encore finie. 26/03/2017
Application 1: Ecrire une analyse, un algorithme et un programme Pascal intitulé « calcul_n » qui permet de calculer y= (-1)n+n. 26/03/2017
Algorithme : 0) Début calcul_n 1) Ecrire (‘’donner la valeur de n’’) Lire (n) 2) Si n Mod 2 = 0 alors y 1+n Sinon y -1 + n Fin si. 3) Ecrire (‘’ y=‘’, y) 3) Fin calcul_n. 26/03/2017
Application 2: Ecrire une analyse, un algorithme et un programme Pascal intitulé « multiple » qui permet de saisir deux entiers A et B, et vérifier si A est multiple de B. 26/03/2017
1) Ecrire (‘’donner la valeur de A et B’’) Lire (A, B) Algorithme : 0) Début multiple 1) Ecrire (‘’donner la valeur de A et B’’) Lire (A, B) 2) Si A Mod B = 0 alors message ‘’ A est multiple de B ‘’ Sinon message ‘’ A n’est pas un multiple de B ‘’ Fin si. 3) Ecrire (message) 4) Fin multiple. 26/03/2017
Application 3 Ecrire une analyse, un algorithme et un programme Pascal intitulé « Annee » qui permet de déterminer si une année introduite par l’utilisateur est bissextile ou non. 26/03/2017
1) Ecrire (‘’ Donner l’année sous forme AAAA ’’) Lire (an) Algorithme : 0) Début Annee 1) Ecrire (‘’ Donner l’année sous forme AAAA ’’) Lire (an) 2) Si (an Mod 4 = 0) alors message ‘’ l’année est bissextile ‘’ Sinon message ‘’ l’année n’est pas bissextile ‘’ Fin si. 3) Ecrire (message) 4) Fin Annee. 26/03/2017
La structure conditionnelle généralisée Activité : Résoudre un problème qui détermine la nature d’un nombre saisi au clavier. 26/03/2017
1) Ecrire (‘’donner la valeur de x’’) Lire (x) 2) Si x= 0 alors Algorithme : 0) Début Nature_nombre 1) Ecrire (‘’donner la valeur de x’’) Lire (x) 2) Si x= 0 alors nature ‘’null’’ Sinon si x > 0 alors nature ‘’positif’’ sinon nature ‘‘négatif’’ Fin si. 3) Ecrire (nature) 4) Fin Nature_nombre. 26/03/2017
La structure généralisée l’analyse/Algorithme Au niveau pascal [init] Si condition 1 alors traitement 1 Sinon Si condition 2 Alors traitement 2 Sinon Si condition 3 Alors traitement 3 ………….. Sinon Si condition n-1 Alors traitement n-1 Sinon traitement n FinSi Init; IF condition 1 THEN ELSE IF condition 2 THEN ELSE IF condition 3 THEN ELSE IF condition n-1 THEN ELSE traitement n ; Au niveau de l’analyse/Algorithme Une structure de contrôle généralisée permet de résoudre des problèmes comportant plus que deux traitements en fonction des conditions. L’exécution d’un traitement entraîne automatiquement la non exécution des autres traitements. 26/03/2017
Application 1: Ecrire une analyse, un algorithme et un programme Pascal intitulé ‘’Touche’’ qui permet de déterminer la nature d’une touche appuyée par l’utilisateur. 26/03/2017
Algorithme : 0) Début Touche 1) Ecrire (‘Appuyer sur une touche’’) Lire (t) 2) Si t dans [‘’A’’..’’Z’’] alors nature ‘’Caractère majuscule’’ Sinon si t dans [‘’a’’..’’z’’] alors nature ‘’Caractère minuscule’’ sinon si t dans [‘’1’’..’’9’’] alors nature ‘’Chiffre’’ sinon nature ‘’Symbole’’ Fin si. 3) Ecrire (nature) 4) Fin Touche. 26/03/2017
Application 2: Ecrire une analyse, un algorithme et un programme Pascal intitulé ‘’Catégorie’’ qui permet d’afficher la catégorie des abonnés d’une équipe sportive suivant leurs âges. Minime: de 10 à 11 ans Cadet: de 12 à 14 ans Junior: de 15 à 17 ans Senior: de 18 à 20 ans Autres: Tu n’es pas classé parmi nos catégories 26/03/2017
1) Ecrire (‘Donner ton âge’’) Lire (age) Algorithme : 0) Début Categorie 1) Ecrire (‘Donner ton âge’’) Lire (age) 2) Si ( age =10) ou (age =11) alors cat ‘’minime’’ Sinon si age dans [10..14] alors cat ‘’Cadet’’ sinon si age dans [15..17] alors cat ‘’Junior’’ sinon si age dans [18..20]alors cat ‘’ Senior’’ sinon cat ’’ Tu n’es pas classé parmi nos catégories’’ Fin si. 3) Ecrire (cat) 4) Fin Categorie. 26/03/2017
La structure conditionnelle à choix Activité : Reprendre l’exercice de la catégorisation des âges en utilisant la structure conditionnelle à choix. 26/03/2017
1) Ecrire (‘Donner ton âge’’) Lire (age) 2) Selon age faire Algorithme : 0) Début Categorie 1) Ecrire (‘Donner ton âge’’) Lire (age) 2) Selon age faire 10,11: cat ‘’minime’’ 10..14: cat ‘’Cadet’’ 15..17: cat ‘’Junior’’ 18..20: cat ‘’ Senior’’ sinon cat ’’ Tu n’es pas classé parmi nos catégories’’ Fin selon 3) Ecrire (cat) 4) Fin Categorie 26/03/2017
La structure conditionnelle à choix l’analyse/Algorithme Au niveau pascal [init] Selon sélecteur faire Valeur 1 : Action1 Valeur 2 : Action2-1 Action2-2 ……….. Action2-n Valeur 3 : Action3 Valeur 4, Valeur 6, Valeur 8 : Action4 Valeur 9... , Valeur 14 : Action5 Valeur 15: Action16 …… Valeur n : Action n Sinon Action R Fin Selon Init; Case sélecteur OF Valeur 2 : Begin Action2-1 ; Action2-2 ; ……….. ; Action2-n ; End ; Valeur 3 : Action3 ; Valeur 4, Valeur 6, Valeur 8 : Action4 ; Valeur 9... , Valeur 14 : Action5 ; Valeur 15: Action16 ; …… ; Valeur n : Action n ; ELSE Action R ; END ; Au niveau de l’analyse/Algorithme La Structure conditionnelle à choix multiples permet de faire un choix entre plusieurs possibilités. Le choix de traitement à effectuer dépend de la valeur que prendra un sélecteur qui est une valeur comparée à une série de valeurs ou à un ou plusieurs valeurs. Dans tous les cas, le sélecteur doit être de type scalaire énuméré : entier ou caractère. 26/03/2017
Application 1: Ecrire une analyse, un algorithme et un programme Pascal intitulé ‘’ saison ‘’ qui permet de d’afficher le nom de la saison en fonction d’un numéro de mois saisi au clavier. 26/03/2017
1) Ecrire (‘’Donner le N° du mois’’) Lire (mois) 2) Selon mois faire 0) Début saison 1) Ecrire (‘’Donner le N° du mois’’) Lire (mois) 2) Selon mois faire 6,7,8: sais ‘’été’’ 9,10,11: sais ‘’automne’’ 12,1,2: sais ‘’hivers’’ 3,4,5: sais ‘’ printemps’’ sinon sais ’’ erreur’’ Fin selon 3) Ecrire (sais) 4) Fin saison 26/03/2017
Application 2: Déterminer la nature d’une touche appuyée par l’utilisateur en utilisant la structure conditionnelle généralisée. 26/03/2017
Algorithme : 0) Début Touche 1) Ecrire (‘Appuyer sur une touche’’) Lire (t) 2) Selon t faire ‘’A’’..’’Z’’: nature ‘’Caractère majuscule’’ ‘’a’’..’’z’’: nature ‘’ Caractère minuscule’’ ‘’1’’..’’9’’: nature ‘’Chiffre’’ sinon nature ‘’Symbole’’ Fin selon 3) Ecrire (nature) 4) Fin Touche. Retour 26/03/2017