Académique Documents
Professionnel Documents
Culture Documents
Algorithmique
Algorithmique
Algorithmique
Introduction Introduction
Pour qu'un ordinateur fonctionne, il est ncessaire de lui dire quoi faire Toute action ralise par une machine a t programme par un tre humain. un ordinateur ne dcide rien, il fait "btement" ce qu'il lui a t programm.
0021266950863 :Tel
0021266950863 :Tel
Algorithme Algorithme
Est une suite de rgles applique dans un ordre dtermin. Est une suite dinstructions crite en langage dalgorithme qui rsout un problme et qui sont excutable par nimporte quelle machine.
Le rle de lalgorithme est fondamental, on effet sans lalgorithme il n y aura pas de programme.
0021266950863 :Tel
Mthodologie Mthodologie
La rsolution dun problme sur ordinateur est caractris par 4 tapes : Comprendre la nature du problme pos Prciser les donnes fournies (entres) Prciser les rsultas que lon dsire obtenir (Sorties) Dterminer le processus de transformation des donnes en rsultats.
0021266950863 :Tel
nous allons utiliser un pseudo-langage, comportant toutes les structures de base d'un langage de programmation.
ensuite on traduit notre "pseudo" en langage volu en fonction des possibilits de ce langage.
0021266950863 :Tel
Un programme est donc une suite d'instructions excutes par Un programme est donc une suite d'instructions excutes par la machine. la machine.
Ces instructions peuvent : soit s'enchaner les unes aprs les autres, on parle alors de squence d'instructions; ou bien s'excuter dans certains cas et pas dans d'autres, on parle alors de structure alternative; ou se rpter plusieurs fois, on parle alors de structure rptitive.
0021266950863 :Tel
0021266950863 :Tel
Si fin de semaine ou cong Se lever Prendre son petit djeuner Prendre sa douche Mettre sa tenue de sport Faire son jogging Sinon Se lever Prendre son petit djeuner Prendre sa douche Mettre sa tenue de travail Aller travailler Fin Si
0021266950863 :Tel 9
Optimisation Optimisation
Que la condition soit ralise (condition vraie) ou qu'elle ne le soit pas (condition fausse) les premires actions sont les mmes et se passent dans le mme ordre ce qui permet la simplification suivante : afin de permettre une meilleure lisibilit; on parle d'indentation.
Se lever Prendre son petit djeuner Prendre sa douche Si fin de semaine ou cong Mettre sa tenue de sport Faire son jogging Sinon Mettre sa tenue de travail Aller travailler Fin Si
0021266950863 :Tel
10
0021266950863 :Tel
11
Se lever Prendre son petit djeuner Prendre sa douche Si fin de semaine ou cong Mettre sa tenue de sport Faire son jogging Passer une journe de dtente Sinon Mettre sa tenue de travail Aller travailler Faire travail FinSi Rentrer la maison Dner Aller se coucher
0021266950863 :Tel 12
Considrons maintenant le programme complet de la journe (Suite) Fonction travail Ouvrir guichet Appeler premier client Tant que pas heure de djeuner Faire guichet FinTantQue Djeuner Tant que client et pas heure de sortie Faire guichet FinTantQue Fin Fonction Fonction Guichet Si client en file d'attente Traiter client Appeler client suivant Sinon Classer FinSi Fin Fonction
0021266950863 :Tel 13
Explication Explication
fonction Travail pour une meilleure lisibilit du programme.
On a cr une fonction guichet afin de ne pas rpter la mme squence d'instructions deux fois dans le programme. Notre programme a donc t scind en deux parties : le corps du programme de la ligne 1 la ligne 15 les fonctions ou sous-programmes internes partir de la ligne 17.
0021266950863 :Tel
14
Mmoire centrale variable est caractrise par : une adresse c'est dire un emplacement dans la mmoire de la machine, un type permettant d'indiquer la nature de l'information contenue, ventuellement une longueur .
0021266950863 :Tel
15
Les variables que l'on utilise dans les programmes ne sont pas toutes de mme nature
il y a des nombres, des caractres, ... On dit que les variables sont types. Il est ncessaire de donner un type aux variables, pour contrler leur utilisation (ex: on ne peut pas diviser un caractre par un entier )
0021266950863 :Tel
16
Gnralement les langages de programmation offrent les types suivants entier : il s'agit des variables destines contenir un nombre entier positif ou ngatif. ENTIER variable, variable, ... ; rel : il s'agit des variables numriques qui ne sont pas des entiers, c'est dire qui comportent des dcimales REEL variable, variable, ... ; caractre : Les variables de type caractre contiennent des caractres alphabtiques ou numriques (de 0 9) CAR variable , variable , ...; boolen : Il est souvent ncessaire lorsque l'on crit un programme d'introduire des variables qui prennent les valeurs vrai ou faux ou les valeurs oui ou non. BOOLEEN variable, variable, ... ;
0021266950863 :Tel 17
Arithmtique : +; /; -; *; mode Comparaison : <; <=; >; >=; =; <> Logique : ET; OU; NON; OR
0021266950863 :Tel
18
X 3
Y X 3 3
0021266950863 :Tel
19
X 3
Y 4
X=3+2*4
11
0021266950863 :Tel
20
0021266950863 :Tel
21
Dans la partie dclarations, nous trouvons : dclaration de variables dclaration de fonction Dans la partie actions, nous trouvons : suite d'instructions alternative rptitive
0021266950863 :Tel
22
Des Questions ?
0021266950863 :Tel 23
squence d'instructions
Exercice 1 Exercice 1
crire un algorithme qui permet de saisir des valeurs pour A et B , faire la somme et afficher le rsultat? Solution :
0021266950863 :Tel
24
squence d'instructions
Exercice 2 Exercice 2
crire un algorithme qui permet de calculer et afficher la surface dun cercle? Solution :
0021266950863 :Tel
25
squence d'instructions
Exercice 3 Exercice 3
crire un algorithme qui permet de calculer et afficher le salaire brut dun ouvrier connaissant le nombre dheure et le tarif dhoraire? Solution :
0021266950863 :Tel
26
squence d'instructions
Exercice 4 Exercice 4
crire un algorithme qui fait la conversion dune somme dargent donne en DH ,en une somme dargent en Euro? Solution :
0021266950863 :Tel
27
FinSi Syntaxe 2 :
ActionsN
. . .
Si condition Alors
Actions 1
Sinon
ActionsN Actions 1
. . .
ActionsN
. . .
FinSi On peut utiliser des structures alternatives imbriques On peut utiliser des structures alternatives imbriques
0021266950863 :Tel
28
structure alternative
Exercice Exercice
On dsire comparer deux valeurs ,crire un algorithme qui affiche la plus grande des deux? Solution :
0021266950863 :Tel
29
structure alternative
Exercice 1 Exercice 1
crire un algorithme qui affiche le salaire brut dun ouvrier sachant que les heures supplmentaires de 172 heures sont payes 50% de tarifs dhoraire en plus? Solution :
0021266950863 :Tel
30
structure alternative
Exercice 2 Exercice 2
Afficher le rsultat de fin danne pour un tudiant connaissant sa moyenne gnrale? Solution :
0021266950863 :Tel
31
structure alternative
Calculer le montant de la facture dun client ayant command une quantit dun produit avec un prix unitaire hors taxe Le taux de T.V.A est : 20% Les frais de transport sont 0.8 DH de Km , Le client est dispos du frais de transport si le montant est suprieur 4500 DH Solution :
Exercice 3 Exercice 3
0021266950863 :Tel
32
structure alternative
Une bibliothque fait des rductions sur lachat des livres : 25% pour les tudiants. 15% pour les enseignants crire un algorithme qui calcule et affiche le prix payer selon le type du client? Solution :
Exercice 4 Exercice 4
0021266950863 :Tel
33
structure alternative
Exercice 1 Exercice 1
crire un algorithme qui calcule et affiche le maximum de trois nombre A,B et C ? Solution :
0021266950863 :Tel
35
structure alternative
Exercice 2 Exercice 2
crire un algorithme qui permet de rsoudre lquation du premier degr : aX+b=0? Solution :
0021266950863 :Tel
36
structure alternative
Exercice 3 Exercice 3
crire un algorithme qui permet de rsoudre une quation de second degr : aX+bX+c=0 ? Solution :
0021266950863 :Tel
37
structure alternative
Exercice 4 Exercice 4
crire un algorithme qui lie trois nombre A,B et C , puis il dtermine si lun est gal la somme de 2 autres sinon il affiche un message pas de solution ? Solution :
0021266950863 :Tel
38
structure alternative
Un patron dcide de calculer le montant de la participation au prix du repas de ses employs de la faon suivante : o o o Sil est clibataire : participation 20% du pris de repas Sil est marie : participation 25% du pris de repas. Sil a des enfants : participation 10% supplmentaire par enfant.
Exercice 5 Exercice 5
La participation est plafonne 50%. Si le salaire mensuel est infrieur 6000 DH, la participation est majore 10%. Solution :
0021266950863 :Tel
39
structure alternative
Exercice 6 Exercice 6
crire un algorithme qui partir dun nombre compris entre 1 et 7 affiche le jour correspendant? Solution :
0021266950863 :Tel
40
structure alternative
Exercice 7 Exercice 7
Le reprsentant dune socit de distribution des produits daffichage lectroniques sont rmunrs de faon suivante :
un fixe mensuel de 4000 DH une commission a pourcentage variable sur chaque tranche du chiffre daffaire mensuel : une commission de 5% pour un chiffre daffaire compris entre 0 et 1000. une commission de 10% pour un chiffre daffaire compris entre 1000 et 3000. une commission de 14% pour un chiffre daffaire suprieur 3000.
crire un algorithme qui permet de calculer et afficher le montant total de la rmunration de chaque reprsentant.
0021266950863 :Tel
41
structure alternative
Exercice 8 Exercice 8
Le service des prts dune bibliothque adapter le rglement suivant : tous les lecteurs de la catgories A peuvent empreinter des livres pour une dure maximale de 20 jours. un lecteur de la catgorie B peut conserver des livres pour une dure maximale de 30 jours. un lecteur de la catgorie C peut conserver des livres pour une dure maximale de 45 jours. Aucun lecteur ne pourra avoir en sa possession plus de 5 ouvrages. crire un algorithme qui affiche la dure dempreinte et est ce quil a le droit dempreinter ?
0021266950863 :Tel
42
0021266950863 :Tel
43
TantQue
condition
actions
FINTQ
Ce qui signifie : tant que la condition est vraie, on excute les actions.
0021266950863 :Tel
44
Faire
Actions
Jusqua condition
Ce qui signifie qu'on excute les actions jusqu' ce que la condition soit vraie.
0021266950863 :Tel
45
FinPour
Lorsque le PAS est omis, il est suppos gal +1. Lorsque le PAS est omis, il est suppos gal +1.
0021266950863 :Tel
46
structure rptitive
Exercice 1 Exercice 1
crire un algorithme qui saisie N entier et affiche leur somme et leur moyenne ? Solution :
0021266950863 :Tel
47
structure rptitive
Exercice 2 Exercice 2
crire un algorithme pour calculer et afficher la somme et la moyenne de 100 premiers nombres entiers ? Solution :
0021266950863 :Tel
48
structure rptitive
Exercice 3 Exercice 3
S1 = 1 + + 1/3 + +..1/N S2 = 1 + + + 1/6 +..1/N S3 = 1 + 1/3 + 1/5 +..1/N S4 = 1 - + - 1/6..1/N S5 = 1 + x+x..xN S6 = 1 + x+x/2.. xN /N
0021266950863 :Tel
49
structure rptitive
Exercice 4 Exercice 4
0021266950863 :Tel
50
structure rptitive
Exercice 5 Exercice 5
crire u algorithme qui permet de donner le plus grand commun diviseur de 2 entiers positifs A et B ? Solution :
0021266950863 :Tel
51
structure rptitive
Exercice 6 Exercice 6
crire un algorithme qui permet de calculer le factoriel dun nombre positif ? Solution :
0021266950863 :Tel
52
structure rptitive
Exercice 7 Exercice 7
crire un algorithme qui saisit deux entiers, calcule et affiche la somme de ces 2 entiers (on arrte la saisie avec la valeur 0) ? Solution :
0021266950863 :Tel
53
Examen N 1 Examen N 1
Exercice 1 :
Une salle de cinma dsire automatiser la gestion de la billetterie pour chaque client qui se prsente, on calcule le prix du billet en fonction des donnes suivantes:
NF : Numro du fil HS : heure de la sance Age : Age de spectateur Le prix normal de la facture est de 30 DH, cependant des remises peuvent tre accorder en fonction du critres suivants : NF=2 ou Age < 15 ou HS>20 remise de 50% NF=2 et Age >75 remise 25% NF=3 et Age < 15 entre refuse crire un algorithme qui permet de calculer et dcider le prix payer pou chaque client qui se prsente . on arrte la saisie par "non"
0021266950863 :Tel
54
0021266950863 :Tel
55
Exercice Exercice
crire un programme qui saisit des entiers et en affiche la somme et la moyenne (on arrte la saisie avec la valeur 0) Solution :
0021266950863 :Tel
56
Des Questions ?
0021266950863 :Tel 57
Imaginons que dans un programme, nous ayons besoin simultanment de 12 valeurs (par exemple, des notes pour calculer une moyenne). videmment, la seule solution dont nous disposons lheure actuelle consiste dclarer douze variables, appeles par exemple Notea, Noteb, Notec, etc. Bien sr, on peut opter pour une notation un peu simplifie, par exemple N1, N2, N3, etc. Mais cela ne change pas fondamentalement notre problme, car arriv au calcul, et aprs une succession de douze instructions Lire distinctes, cela donnera obligatoirement une atrocit du genre :
Moy (N1+N2+N3+N4+N5+N6+N7+N8+N9+N10+N11+N12)/12
0021266950863 :Tel
58
0021266950863 :Tel
59
Som) Moy)
60
Les tableaux
Exercice 2 Exercice 2
crire un algorithme qui dclare et remplisse un tableau de 7 valeurs numriques en les mettant toutes zro. Solution :
0021266950863 :Tel
61
Les tableaux
Exercice 3 Exercice 3
crire un algorithme qui dclare et remplisse un tableau contenant les six voyelles de lalphabet latin. Solution :
Tableau Truc(6) en Numrique Dbut Truc(0) "a" Truc(1) "e" Truc(2) "i" Truc(3) "o" Truc(4) "u" Truc(5) "y" Fin
0021266950863 :Tel 62
Les tableaux
Exercice 4 Exercice 4
crire un algorithme qui dclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par lutilisateur. Solution : Tableau Notes(9) en Numrique Variable i en Numrique dbut POUR i ALLANT DE 0 A 6 Ecrire "Entrez la note numro ", i + 1 Lire Notes(i) i suivant Fin
0021266950863 :Tel
63
Les tableaux
Exercice 5 Exercice 5
On saisit des entiers et on les range dans un tableau (maximum 50) crire un programme qui affiche le maximum, le minimum et la valeur moyenne de ces nombres. Solution :
0021266950863 :Tel
64
Les tableaux
Exercice 6 Exercice 6
crivez un algorithme permettant lutilisateur de saisir un nombre quelconque de valeurs, qui devront tre stockes dans un tableau. Lutilisateur doit donc commencer par entrer le nombre de valeurs quil compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie termine, le programme affichera le nombre de valeurs ngatives et le nombre de valeurs positives. Solution :
0021266950863 :Tel
65
Les tableaux
0021266950863 :Tel
66
Les tableaux
Les tableaux
Que produit lalgorithme suivant ? Tableau N(7) en Entier Variables i, k en Entier Dbut N(0) 1 Pour k 1 6 N(k) N(k-1) + 2 k Suivant
Pour i 0 6 Ecrire N(i) i suivant Fin Peut-on simplifier cet algorithme avec le mme rsultat ?
0021266950863 :Tel
69
Les tableaux
0021266950863 :Tel
70
Les tableaux
crivez un algorithme permettant lutilisateur de saisir un nombre quelconque de valeurs, qui devront tre stockes dans un tableau. Lutilisateur doit donc commencer par entrer le nombre de valeurs quil compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie termine, le programme affichera le nombre de valeurs ngatives et le nombre de valeurs positives.
0021266950863 :Tel
71
Les tableaux
crivez un algorithme constituant un tableau, partir de deux tableaux de mme longueur pralablement saisis. Le nouveau tableau sera la somme des lments des deux tableaux de dpart. Tableau 1 : Tableau 2 : Tableau 3 :
4 8 7 9 1 5 4 6
+
5 9 4 2 6 8 7 41
=
9 17 11 11 7 13 11 47
0021266950863 :Tel
72
Des Questions ?
0021266950863 :Tel 73
0021266950863 :Tel
74
Exemples : Exemples :
Len("Bonjour, a va ?") Len("") Mid("Zorro is back", 4, 7) Mid("Zorro is back", 12, 1) Left("Et pourtant", 8) Right("Et pourtant", 4) Trouve("Un pur bonheur", "pur") Trouve("Un pur bonheur", "techno") A Mod(10,3) B Mod(12,2) C Mod(44,8) :Tel 0021266950863 vaut vaut vaut vaut vaut vaut vaut vaut 16 0 "ro is b" "c" "Et pourt" "t 4 0
Imaginons que lon veut crire un programme grant un carnet dadresses. Dune excution du programme lautre, lutilisateur doit pouvoir retrouver son carnet jour, avec les modifications quil y a apportes la dernire fois quil a excut le programme. Les donnes du carnet dadresse ne peuvent donc tre inclues dans lalgorithme,
0021266950863 :Tel et encore moins tre entres au clavier chaque nouvelle excution ! 76
0021266950863 :Tel
77
dlimite
78
La structure n2, elle, est dite champs de largeur fixe. Il ny a pas de caractre de dlimitation, mais on sait que les x premiers caractres de chaque ligne stockent le nom, les y suivants le prnom, etc. Cela impose bien entendu de ne pas saisir un renseignement plus long que le champ prvu pour laccueillir.
0021266950863 :Tel
79
Lavantage de la structure n1 : elle occupe le minimum de place possible. Linconvnient : la lenteur de la lecture.
Lavantage de la structure n2 : la rcupration des diffrents champs est trs rapide Linconvnient : gaspille de la place mmoire
0021266950863 :Tel
80
0021266950863 :Tel
81
Pour ouvrir un fichier texte, on crira par exemple : Ouvrir c:\Exemple.txt" sur 4 en Lecture
0021266950863 :Tel
82
exemple exemple
Variables Truc, Nom, Prnom, Tel, Mail en Caractres Dbut Ouvrir "Exemple.txt" sur 4 en Lecture LireFichier 4, Truc Nom Mid(Truc, 1, 20) Prnom Mid(Truc, 21, 15) Tel Mid(Truc, 36, 10) Mail Mid(Truc, 46, 20) Ecrire( Le nom est : ,Nom) Ecrire( Le nom est : , Prnom ) Ecrire( Le nom est : , Tel) Ecrire( Le nom est : , Mail) Fermer 4 Dbut Cet algorithme affiche la premire ligne dun carnet dadresses.
0021266950863 :Tel
83
exemple exemple
Variables Truc, Nom, Prnom, Tel, Mail en Caractres Dbut Ouvrir "Exemple.txt" sur 4 en Lecture Tantque Non EOF(5) LireFichier 4, Truc Nom Mid(Truc, 1, 20) Prnom Mid(Truc, 21, 15) Tel Mid(Truc, 36, 10) Mail Mid(Truc, 46, 20) Ecrire( Le nom est : ,Nom) Ecrire( Le nom est : , Prnom ) Ecrire( Le nom est : , Tel) Ecrire( Le nom est : , Mail) FinTantQue Fermer 4 Dbut Cet algorithme affiche toutes les lignes dun carnet dadresses.
0021266950863 :Tel
84
exemple exemple
Variables Nom * 20, Prnom * 17, Tel * 10, Mail * 20, Lig en Caractre Dbut crire ("Entrez le nom : ") Lire (Nom) crire ("Entrez le prnom : ") Lire (Prnom) crire ("Entrez le tlphone : ") Lire (Tel) crire ("Entrez le nom : ") Lire (Mail) Lig Nom & Prnom & Tel & Mail Ouvrir "Adresse.txt" sur 1 pour Ajout EcrireFichier 1, Lig Fermer 1 Fin Cet algorithme permet lutilisateur de saisir au clavier un nouvel individu qui sera ajout dans un carnet dadresses.
0021266950863 :Tel 85
exemple exemple
Tableaux Nom(), Prnom(), Tel(), Mail() en Caractre Dbut Ouvrir "Exemple.txt" sur 5 en Lecture i -1 Tantque Non EOF(5) LireFichier 5, Truc i i + 1 Redim Nom(i+1) Redim Prnom(i+1) Redim Tel(i+1) Redim Mail(i+1) Nom(i) Mid(Truc, 1, 20) Prnom(i) Mid(Truc, 21, 15) Tel(i) Mid(Truc, 36, 10) Mail(i) Mid(Truc, 46, 20) FinTantQue Fermer 5 Fin Cet algorithme charge toutes les lignes dun carnet dadresses dans 4 tableaux
0021266950863 :Tel 86
exercice exercice
crire un algorithme qui gre un carnet dadresses. Puis on le codifie sous java.
0021266950863 :Tel
87
Des Questions ?
0021266950863 :Tel 88
0021266950863 :Tel
89
exemple exemple
prenons un exemple de question laquelle lutilisateur doit rpondre par oui ou par non.
Mauvaise Structure : Ecrire "Etes-vous mari ?" Rep1 := "" TantQue Rep1 <> "Oui" et Rep1 <> "Non" Ecrire ("Tapez Oui ou Non ") Lire Rep1 FinTantQue Ecrire ("Avez-vous des enfants ?") Rep2 := "" TantQue Rep2 <> "Oui" et Rep2 <> "Non" Ecrire "Tapez Oui ou Non" Lire Rep2 FinTantQue
0021266950863 :Tel 90
La solution consiste isoler les instructions demandant une rponse par Oui ou Non, et appeler ces instructions chaque fois que ncessaire. Ainsi, on vite les rptitions inutiles, et on a dcoup notre problme en petits morceaux autonomes. Nous allons donc crer une fonction dont le rle sera de renvoyer la rponse (oui ou non) de l'utilisateur. Ce mot de "fonction", ne doit pas nous surprendre : nous avons tudi prcdemment des fonctions fournies avec le langage, et nous avons vu que le but d'une fonction tait de renvoyer une valeur. Eh bien, c'est exactement la mme chose ici, sauf que c'est nous qui allons crer notre propre fonction, que nous appellerons RepOuiNon :
exemple exemple
Rep1,Rep2 en caractre Fonction RepOuiNon() en caractre Truc "" TantQue Truc <> "Oui" et Truc <> "Non" Ecrire "Tapez Oui ou Non" Lire Truc FinTantQue Renvoyer Truc Fin Dbut Ecrire "Etes-vous mari ?" Rep1 RepOuiNon() Ecrire "Avez-vous des enfants ?" Rep2 RepOuiNon()
91
==> Lorsquon appelle la fonction, on doit lui prciser quel message elle doit afficher avant de lire la rponse ==> la fonction doit tre prvenue quelle recevra un message, et tre capable de le rcuprer pour lafficher.
0021266950863 :Tel
92
Ecrire ()
TantQue Truc <> "Oui" et Truc <> "Non" Ecrire "Tapez Oui ou Non" Lire Truc FinTantQue Renvoyer Truc Fin Dbut Rep1 RepOuiNon("Etes-vous Rep2 RepOuiNon("Avez-vous
Fin
0021266950863 :Tel
93
Ecrire "Etes-vous mari(e) ?" Lire Rep1 Ecrire ("Avez-vous des enfants ?") Lire Rep2 Ecrire (" Etes-vous tudiant(e) ? ?") Lire Rep3 Ecrire (" Etes-vous un homme?") Lire Rep4 . . . .
Fin
0021266950863 :Tel 94
dbut
Ecrire "Etes-vous mari(e) ?" Lire Rep1 Ecrire ("Avez-vous des enfants ?") Lire Rep2 Ecrire (" Etes-vous tudiant(e) ?") Lire Rep3 Ecrire (" Etes-vous un homme ?") Lire Rep4 . . . .
Fin
0021266950863 :Tel
Ecrire "Etes-vous mari(e) ?" Rpter Ecrire ("Tapez Oui ou Non ") Lire Rep1 TantQue Rep1 <> "Oui" et Rep1 <> "Non" Ecrire ("Avez-vous des enfants ?") Rpter crire ("Tapez Oui ou Non ") Lire Rep2 TantQue Rep2 <> "Oui" et Rep2 <> "Non" Ecrire (" Etes-vous tudiant(e) ? ?") Rpter crire ("Tapez Oui ou Non ") Lire Rep3 TantQue Rep3 <> "Oui" et Rep3 <> "Non" Ecrire (" ts-vous un homme?") Rpter crire ("Tapez Oui ou Non ") Lire Rep4 TantQue Rep4 <> "Oui" et Rep4 <> "Non" Fin
95
Rep1, Rep2, Rep3, Rep4 en chane de caractre dbut Ecrire "Etes-vous mari(e) ?" Rpter Ecrire ("Tapez Oui ou Non ") Lire Rep1 TantQue Rep1 <> "Oui" et Rep1 <> "Non" Ecrire ("Avez-vous des enfants ?") Rpter crire ("Tapez Oui ou Non ") Lire Rep2 TantQue Rep2 <> "Oui" et Rep2 <> "Non" Ecrire (" Etes-vous tudiant(e) ? ?") Rpter crire ("Tapez Oui ou Non ") Lire Rep3 TantQue Rep3 <> "Oui" et Rep3 <> "Non" Ecrire (" ts-vous un homme?") Rpter crire ("Tapez Oui ou Non ") Lire Rep4 TantQue Rep4 <> "Oui" et Rep4 <> "Non" Fin
0021266950863 :Tel
Rep,Rep1, Rep2, Rep3, Rep4 en chane de caractre Fonction RepOuiNon() en caractre TantQue Rep <> "Oui" et Rep <> "Non" Ecrire "Tapez Oui ou Non" Lire Rep FinTantQue Renvoyer Rep Fin Dbut Ecrire "Etes-vous mari ?" Rep1 RepOuiNon() Ecrire "Avez-vous des enfants ?" Rep2 RepOuiNon() Ecrire (" Etes-vous tudiant(e) ?") Rep3 RepOuiNon() Ecrire (" Etes-vous un homme ?") Rep4 RepOuiNon()
96
Fin
Rep,Rep1, Rep2, Rep3, Rep4 en chane de caractre Fonction RepOuiNon() en caractre TantQue Rep <> "Oui" et Rep <> "Non" Ecrire "Tapez Oui ou Non" Lire Rep FinTantQue Renvoyer Rep Fin Dbut Ecrire "Etes-vous mari ?" Rep1 RepOuiNon() Ecrire "Avez-vous des enfants ?" Rep2 RepOuiNon() Ecrire (" Etes-vous tudiant(e) ?") Rep3 RepOuiNon() Ecrire (" Etes-vous un homme ?") Rep4 RepOuiNon()
0021266950863 :Tel
Fin
Ecrire(Msg)
TantQue Rep <> "Oui" et Rep <> "Non" Ecrire "Tapez Oui ou Non" Lire Rep FinTantQue Renvoyer Rep Fin Dbut Rep1 RepOuiNon("Etes-vous mari ?" ) Rep2 RepOuiNon("Avez-vous des enfants ?" ) Rep3 RepOuiNon(" Etes-vous tudiant(e)? " ) Rep4 RepOuiNon(" Etes-vous un homme?"
Fin
97
Exercice 11.1 crivez une fonction qui renvoie la somme de trois nombres fournis en argument.
Exercice 11.2 crivez une fonction qui renvoie le nombre de voyelles contenues dans une chane de caractres passe en argument. Au passage, notez qu'une fonction a tout fait le droit d'appeler une autre fonction.
0021266950863 :Tel
98
Fonction RepOuiNon(val1, val2, val3 en Caractre ) en caractre Tot = val1, val2, val3 Renvoyer Tot Fin Fonction NbVoyelles(Mot en Caractre) Variables i, nb en Numrique Pour i Allant de 1 Len(Mot) Si Trouve("aeiouy", Mid(Mot, i, 1)) <> 0 Alors nb nb + 1 FinSi FinPour Renvoyer nb
0021266950863 :Tel FinFonction 99
Des Questions ?
0021266950863 :Tel 100
Exercice 1 Exercice 1
Recopier une phrase dans une autre en tant toutes les occurrences dun caractre Soit une phrase termine par un point. Il s'agit de la restituer en supprimant les occurrences d'un caractre donn. Exemple : phrase :abbcccdeeeffg caractre : c rsultat : abbdeeeffg Donnez le jeu d'essai qui permet de tester cette procdure. Donnez l'algorithme de la procdure en pseudo code.
0021266950863 :Tel
102
Exercice 2 Exercice 2
Recopier une phrase dans une autre en tant tous les doublons de caractres successifs Soit une phrase termine par un point. Il s'agit de la restituer en supprimant tous les doublons de caractres successifs. Exemple : abbcccdeeeffg. donne abcdefg. Donnez le jeu d'essai qui permet de tester cette procdure. Pour tester le programme, c'est dire voir s'il rpond bien nos attentes, s'il n'a pas de "bug", avant de la faire "tourner" sur la machine nous imaginons un jeu d'essai avec tous les cas tester et le rsultat attendu pour chaque cas : c'est le jeu d'essai.
0021266950863 :Tel
103
Exercice 3 Exercice 3
Dterminer si deux phrases sont quivalentes. Soit deux phrases termines par un mme terminateur. Elles sont dites quivalentes si elles ont les mmes lettres dans le mme ordre mais avec un nombre d'occurrences de ces lettres qui peut diffrer entre les deux phrases. On supposera qu'il existe une fonction longueur lg de chane qui renvoie un entier Exemple : abbcccdeeeffg aabcdeffffg sont quivalentes Donnez le jeu d'essai qui permet de tester cette procdure. Donnez l'algorithme de la procdure toujours en pseudo code.
0021266950863 :Tel
104
Exercice 4 Exercice 4
Chercher les lettres dun mot parpilles dans une phrase, dans le mme ordre. Soient un caractre terminateur et une phrase termine par ce caractre terminateur. Soient un mot donn Il s'agit de vrifier si les lettres du mot sont bien prsentes dans la phrase, ce dans le mme ordre que celui du mot. Exemple : terminateur : . phrase :le chat est gris et boit. mot : lattis longueur : 6 donne vrai Donnez l'algorithme de la procdure en pseudo code.
0021266950863 :Tel
105
Exercice 5 Exercice 5
Effectuer la saisie d'une chane de caractres qui contiendra un nom et un prnom. Les prnoms composs seront obligatoirement spars par des tirets. Afficher une chane de caractres sous forme prnom nom spars par un espace, en ayant fait disparatre les tirets saisis dans le prnom. Ecrire la procdure en pseudo-code (ventuellement ensuite avec un langage). Ne pas utiliser les instructions de type concatnation et recherche d'un caractre dans une chane.
0021266950863 :Tel
106
Exercice 6 Exercice 6
Dterminer si une chane de caractres est un palindrome. Un palindrome est une phrase qui peut se lire dans les deux sens. Les espaces sont ignors. Exemple : esope reste ici et se repose. Le terminateur est ici un point. Donnez l'algorithme du programme.
0021266950863 :Tel
107
Exercice 7 Exercice 7
Crypter une phrase en codant les lettres en fonction du mot o elles se trouvent. Soit une phrase termine par un point. Les espaces sont des sparateurs de mot et sont transcrits sans modification. Il s'agit de la crypter en codant chaque mot suivant son rang dans la phrase. Au mot de rang 1, on crypte ses lettres avec les lettres qui suivent dans l'alphabet. Au mot de rang 2, on crypte ses lettres avec les lettres qui suivent de 2 caractres dans l'alphabet. etc ... Par convention, la lettre suivant le caractre Z est le caractre A. Les espaces sont des sparateurs de mot et sont transcrits sans modification. Exemple : Phrase : LE CHAT EST GRIS . Rang : 1 2 3 4 Rsultat : MF EJCV HVW KVMW.
0021266950863 :Tel
108
Exercice 8 Exercice 8
Compter le nombre de mots dune phrase ayant une terminaison donne. Soit une phrase termine par un point. Les espaces sont des sparateurs de mot. Il s'agit de donner le nombre de mots de la phrase ayant pour terminaison la chane intitule terminaison. Exemple : Caractre final : . Phrase : rien ne sert de courir il faut partir point il ne faut pas rire. Terminaison : rir Rsultat : 1 Note : les terminaisons de longueur nulle indiquent la procdure qu'il faut renvoyer le nombre de mots de la phrase. Ecrire la procdure en pseudo code
0021266950863 :Tel
109
Exercice 9 Exercice 9
Le programme ralise l'addition de deux donnes exprimes en HH :MM:SS et affiche le rsultat sous la mme forme.
Exercice 10 Exercice 10
crire le programme du jeu du pendu. Le principe est le suivant : Un premier joueur choisit un mot de moins de 10 lettres. Le programme affiche _ _ _ _ _ _ _ avec un _ par lettre. Le deuxime joueur propose des lettres jusqu' ce qu'il ait trouv le mot ou qu'il soit pendu (11 erreurs commises). A chaque proposition le programme raffiche le mot avec les lettres dcouvertes ainsi que les lettres dj annonces et le nombre d'erreurs. En deuxime partie: Rcrire le jeu du pendu en utilisant des fonctions et/ou procdures.
0021266950863 :Tel
110