Algorithmique
Algorithmique
0021266950863 :Tel 1
Introduction
Introduction
0021266950863 :Tel 2
Mais
Mais qu'est-ce qu
qu'est-ce ’un programme?
qu’un programme?
0021266950863 :Tel 3
Algorithme
Algorithme
0021266950863 :Tel 4
M éthodologie
Méthodologie
0021266950863 :Tel 5
Comment
Comment on
on programme
programme ??
0021266950863 :Tel 6
Un
Un programme
programme est
est donc
donc une
une suite
suite d'instructions
d'instructions ex écutées par
exécutées par
la
la machine.
machine.
0021266950863 :Tel 7
La
La sséquence
équence d'instructions
d'instructions
• Une instruction est une action que l'ordinateur est capable d'exécuter.
Se lever
Prendre sa douche
Prendre le petit déjeuner
S'habiller
0021266950863 :Tel 8
structure
structure alternative
alternative
0021266950863 :Tel 9
Optimisation
Optimisation
Se lever
Prendre son petit déjeuner
Prendre sa douche
Ouvrir guichet
Appeler premier client
Traiter client
Appeler client suivant
FinTantQue
Les deux actions "Traiter client" et "Appeler client suivant" vont se répéter
tant que la condition située derrière l'instruction "Tant que" est vérifiée.
0021266950863 :Tel 11
Considérons maintenant le programme complet de la journée
Se lever
Prendre son petit déjeuner
Prendre sa douche
Rentrer à la maison
Dîner
Aller se coucher
0021266950863 :Tel 12
Considérons maintenant le programme complet de la journée (Suite)
Fonction travail
Ouvrir guichet
Appeler premier client
Tant que pas heure de déjeuner
Faire guichet
FinTantQue
Déjeuner
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
0021266950863 :Tel 14
Les
Les variables
variables
Une variable est une zone mémoire qu’elle peut varier le contenu
au cours de l’exécution du programme : son nom est appelé Identificateur
X Y X Y
3 4
Case Mémoire
Mémoire centrale
0021266950863 :Tel 15
Les
Les types
types de
de variables
variables
Les variables que l'on utilise dans les programmes ne sont pas toutes de même nature
il y a des nombres, des caractères, ... On dit que les variables sont typées.
Il est nécessaire de donner un type aux variables, pour contrôler leur utilisation
0021266950863 :Tel 16
Généralement les langages de programmation offrent les types suivants
réel : il s'agit des variables numériques qui ne sont pas des entiers,
c'est à dire qui comportent des décimales
REEL variable, variable, ... ;
0021266950863 :Tel 17
Les
Les opérateurs
opérateurs
Arithmétique : +; /; -; *; mode
0021266950863 :Tel 18
L'affectation
L'affectation
• Affecter une valeur à une variable
X:= 3 , On charge la variable X avec la valeur 3
X
3
Y X
3 3
0021266950863 :Tel 19
L'affectation
L'affectation (suite)
(suite)
• Affecter une formule à une variable
X Y
3 4
X=3+2*4
11
0021266950863 :Tel 20
Lecture
Lecture et
et Affichage
Affichage des
des donn ées
données
• Syntaxe : Lire(Variable)
• Exemple Lire(A) : on saisie une valeur pour la stocker après dans la variable A
• Syntaxe : Écrire(Variable)
0021266950863 :Tel 21
La
La syntaxe
syntaxe du
du pseudo-langage
pseudo-langage
Un programme comportera :
o Une partie déclaration
o Une partie encadrée par début fin où sont décrites les actions
programme :
déclarations;
DEBUT
Actions
FIN
0021266950863 :Tel 22
Des Questions ?
0021266950863 :Tel 23
séquence d'instructions Exercice
Exercice 11
Écrire un algorithme qui permet de saisir des valeurs pour A et B ,
faire la somme et afficher le résultat?
Solution :
0021266950863 :Tel 24
séquence d'instructions Exercice
Exercice 22
Écrire un algorithme qui permet de calculer et afficher la surface d’un
cercle?
Solution :
0021266950863 :Tel 25
séquence d'instructions Exercice
Exercice 33
Écrire un algorithme qui permet de calculer et afficher le salaire brut
d’un ouvrier connaissant le nombre d’heure et le tarif d’horaire?
Solution :
0021266950863 :Tel 26
séquence d'instructions Exercice
Exercice 44
Écrire un algorithme qui fait la conversion d’une somme d’argent donne en
DH ,en une somme d’argent en Euro?
Solution :
0021266950863 :Tel 27
structure
structure alternative
alternative
Syntaxe 1 : Si condition Alors
Actions 1
.
.
.
ActionsN
FinSi
FinSi
On
On peut
peut utiliser
utiliser des
des structures
structures alternatives
alternatives imbriquées
imbriquées
0021266950863 :Tel 28
structure alternative Exercice
Exercice
On désire comparer deux valeurs ,Écrire un algorithme qui affiche la plus
grande des deux?
Solution :
0021266950863 :Tel 29
structure alternative Exercice
Exercice 11
Écrire un algorithme qui affiche le salaire brut d’un ouvrier sachant que
les heures supplémentaires de 172 heures sont payées à 50% de tarifs
d’horaire en plus?
Solution :
0021266950863 :Tel 30
structure alternative Exercice
Exercice 22
Afficher le résultat de fin d’année pour un étudiant connaissant sa
moyenne générale?
Solution :
0021266950863 :Tel 31
structure alternative Exercice
Exercice 33
Calculer le montant de la facture d’un client ayant commandé une quantité d’un
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 supérieur 4500 DH
Solution :
0021266950863 :Tel 32
structure alternative Exercice
Exercice 44
Une bibliothèque fait des réductions sur l’achat 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 :
0021266950863 :Tel 33
Des exercices
supplémentaires ?
supplémentaires
0021266950863 :Tel 34
structure alternative Exercice
Exercice 11
Écrire un algorithme qui calcule et affiche le maximum de trois nombre
A,B et C ?
Solution :
0021266950863 :Tel 35
structure alternative Exercice
Exercice 22
Écrire un algorithme qui permet de résoudre l’équation du premier degré
: aX+b=0?
Solution :
0021266950863 :Tel 36
structure alternative Exercice
Exercice 33
Écrire un algorithme qui permet de résoudre une équation de second
degré : aX²+bX+c=0 ?
Solution :
0021266950863 :Tel 37
structure alternative Exercice
Exercice 44
Écrire un algorithme qui lie trois nombre A,B et C , puis il détermine si
l’un est égal à la somme de 2 autres sinon il affiche un message « pas de
solution »?
Solution :
0021266950863 :Tel 38
structure alternative Exercice
Exercice 55
Un patron décide de calculer le montant de la participation au prix
du repas de ses employés de la façon suivante :
0021266950863 :Tel 39
structure alternative Exercice
Exercice 66
Écrire un algorithme qui à partir d’un nombre compris entre 1 et 7
affiche le jour correspendant?
Solution :
0021266950863 :Tel 40
structure alternative Exercice
Exercice 77
0021266950863 :Tel 41
structure alternative Exercice
Exercice 88
9 tous les lecteurs de la catégories A peuvent empreinter des livres pour une
durée maximale de 20 jours.
0021266950863 :Tel 42
Structure
Structure rrépétitive(itérative)
épétitive(itérative)
Tant que
Faire Jusqu'à
Pour
0021266950863 :Tel 43
structure
structure répétitive
répétitive 11
Tant que
TantQue condition
actions
FINTQ
Ce qui signifie : tant que la condition est vraie, on exécute les actions.
0021266950863 :Tel 44
structure
structure répétitive
répétitive 22
Faire Jusqu'à
Faire
Actions
Jusqua condition
Ce qui signifie qu'on exécute les actions jusqu'à ce que la condition soit vraie.
0021266950863 :Tel 45
structure
structure répétitive
répétitive 33
Pour
Les répétitives où le nombre d’itération est fixée une fois pour toute.
Actions
FinPour
Lorsque
Lorsque le
le PAS
PAS est
0021266950863 :Tel
est omis,
omis, ilil est
est supposé
supposé égal
égal àà +1.
+1. 46
structure répétitive Exercice
Exercice 11
Écrire un algorithme qui saisie N entier et affiche leur somme et leur
moyenne ?
Solution :
0021266950863 :Tel 47
structure répétitive Exercice
Exercice 22
Écrire un algorithme pour calculer et afficher la somme et la moyenne de
100 premiers nombres entiers ?
Solution :
0021266950863 :Tel 48
structure répétitive Exercice
Exercice 33
Écrire un algorithme qui permet de calculer S1,S2,S3,S4,S5,S6 tel que:
¾ S1 = 1 + ½ + 1/3 + ¼ +……..1/N
¾ S2 = 1 + ½ + ¼ + 1/6 +……..1/N
¾ S4 = 1 - ½ + ¼ - 1/6……..1/N
¾ S5 = 1 + x+x²……..xN
¾ S6 = 1 + x+x²/2…….. xN /N
0021266950863 :Tel 49
structure répétitive Exercice
Exercice 44
Écrire un algorithme qui vérifie si un nombre est premier où pas ?
Solution :
0021266950863 :Tel 50
structure répétitive Exercice
Exercice 55
écrire u algorithme qui permet de donner le plus grand commun diviseur
de 2 entiers positifs A et B ?
Solution :
0021266950863 :Tel 51
structure répétitive Exercice
Exercice 66
écrire un algorithme qui permet de calculer le factoriel d’un nombre
positif ?
Solution :
0021266950863 :Tel 52
structure répétitive Exercice
Exercice 77
écrire un algorithme qui saisit deux entiers, calcule et affiche la somme
de ces 2 entiers (on arrête la saisie avec la valeur 0) ?
Solution :
0021266950863 :Tel 53
Examen
Examen N° 11
N°
Exercice 1 :
Une salle de cinéma désire automatiser la gestion de la billetterie pour chaque client qui se
présente, on calcule le prix du billet en fonction des données suivantes:
NF : Numéro du fil
HS : heure de la séance
Age : Age de spectateur
Le prix normal de la facture est de 30 DH, cependant des remises peuvent être
accorder en fonction du critères suivants :
Écrire un algorithme qui permet de calculer et décider le prix à payer pou chaque
client qui se présente . on arrête la saisie par "non"
0021266950863 :Tel 54
Examen
Examen N° 11 (suite)
N° (suite)
Exercice 2 :
Calculer le salaire brute (SB+ le prime + les enfants) et afficher le nom , prénom,
0021266950863 :Tel 55
Exercice
Exercice
Écrire un programme qui saisit des entiers et en affiche la somme et la
moyenne (on arrête la saisie avec la valeur 0)
Solution :
0021266950863 :Tel 56
Des Questions ?
0021266950863 :Tel 57
Les
Les tableaux
tableaux
1. Utilité des tableaux
Moy ← (N1+N2+N3+N4+N5+N6+N7+N8+N9+N10+N11+N12)/12
0021266950863 :Tel 58
Les
Les tableaux
tableaux
variables en une seule, au sein de laquelle chaque valeur sera désignée par un
Le nombre qui, au sein d’un tableau, sert à repérer chaque valeur s’appelle l’indice.
Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le nom du tableau,
0021266950863 :Tel 59
Les
Les tableaux
tableaux
2. Notation et utilisation algorithmique
Début
POUR i ALLANT DE 0 A 11
Ecrire "Entrez la note n°", i
Lire Note(i)
FinPour
Som := 0
POUR i ALLANT DE 0 A 11
Som := Som + Note(i)
FinPour
Moy := Som / 12
Solution :
0021266950863 :Tel 61
Les tableaux Exercice
Exercice 33
Écrire un algorithme qui déclare et remplisse un tableau contenant les six
voyelles de l’alphabet latin.
Solution :
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
Exercice 44
Écrire un algorithme qui déclare un tableau de 9 notes, dont on fait
ensuite saisir les valeurs par l’utilisateur.
Solution :
début
POUR i ALLANT DE 0 A 6
Ecrire "Entrez la note numéro ", i + 1
Lire Notes(i)
i suivant
Fin
0021266950863 :Tel 63
Les tableaux Exercice
Exercice 55
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
Exercice 66
Écrivez un algorithme permettant à l’utilisateur de saisir un nombre
quelconque de valeurs, qui devront être stockées dans un tableau.
L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il
compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie
terminée, le programme affichera le nombre de valeurs négatives et le
nombre de valeurs positives.
Solution :
0021266950863 :Tel 65
Les tableaux Solution
Solution (Exercice
(Exercice 5)
5)
0021266950863 :Tel 66
Des exercices
supplémentaires ?
supplémentaires
0021266950863 :Tel 67
Les tableaux
Exercice
Exercice 5.1
5.1
Pour i ← 0 à 5
Écrire Nb(i)
i suivant
Fin
0021266950863 :Tel 68
Les tableaux
Exercice
Exercice 5.2
5.2
Que produit l’algorithme suivant ?
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
0021266950863 :Tel 69
Les tableaux
Exercice
Exercice 5.3
5.3
Début
Suite(0) ← 1
Suite(1) ← 1
Pour i ← 2 à 7
Suite(i) ← Suite(i-1) + Suite(i-2)
i suivant
Pour i ← 0 à 7
Écrire Suite(i)
i suivant
Fin
0021266950863 :Tel 70
Les tableaux
Exercice
Exercice 5.4
5.4
Écrivez la fin de l’algorithme (exercice 5.3) afin que le calcul de la moyenne des
notes soit effectué et affiché à l’écran.
Exercice
Exercice 5.5
5.5
Écrivez un algorithme permettant à l’utilisateur de saisir un nombre
quelconque de valeurs, qui devront être stockées dans un tableau.
L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il
compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie
terminée, le programme affichera le nombre de valeurs négatives et le
nombre de valeurs positives.
Exercice
Exercice 5.6
5.6
Écrivez la fin de l’algorithme 6.3 afin que le calcul de la moyenne des notes soit
effectué et affiché à l’écran.
0021266950863 :Tel 71
Les tableaux
Exercice
Exercice 5.7
5.7
Écrivez un algorithme calculant la somme des valeurs d’un tableau (on
suppose que le tableau a été préalablement saisi).
Exercice
Exercice 5.8
5.8
Écrivez un algorithme constituant un tableau, à partir de deux tableaux
de même longueur préalablement saisis. Le nouveau tableau sera la somme
des éléments des deux tableaux de départ.
Tableau 1 : 4 8 7 9 1 5 4 6
+
Tableau 2 : 5 9 4 2 6 8 7 41
=
Tableau 3 : 9 17 11 11 7 13 11 47
0021266950863 :Tel 72
Des Questions ?
0021266950863 :Tel 73
Les
Les Fonctions
Fonctions Prédéfinies
Prédéfinies
Tout langage de programmation propose ainsi un certain nombre de fonctions ; certaines
sont indispensables, car elles permettent d’effectuer des traitements qui seraient sans
elles impossibles. D’autres servent à soulager le programmeur, en lui épargnant de longs
– et pénibles - algorithmes.
Tous les langages, je dis bien tous, proposent les fonctions suivantes, même
si le nom et la syntaxe peuvent varier d’un langage à l’autre :
0021266950863 :Tel 74
Exemples
Exemples ::
Len("Bonjour, ça va ?") vaut 16
Len("") vaut 0
C ←0021266950863
Mod(44,8) :Tel C vaut 4 car 44 = 5*8 + 4 75
Les
Les fichiers
fichiers
1. Utilité des fichiers
• soit elles étaient entrées en cours de route par l’utilisateur. Mais évidemment,
Imaginons que l’on veut écrire un programme gérant un carnet d’adresses. D’une
exécution du programme à l’autre, l’utilisateur doit pouvoir retrouver son carnet à jour,
avec les modifications qu’il y a apportées la dernière fois qu’il a exécuté le programme.
Les données du carnet d’adresse ne peuvent donc être inclues dans l’algorithme,
0021266950863
et encore moins :Tel au clavier à chaque nouvelle exécution !
être entrées 76
Les
Les fichiers
fichiers
1. Utilité des fichiers
Les fichiers sont là pour combler ce manque. Ils servent à stocker des informations
de manière permanente, entre deux exécutions d’un programme. Car si les variables,
qui sont je le rappelle des adresses de mémoire vive, disparaissent à chaque fin
d’exécution, les fichiers, eux sont stockés sur des périphériques à mémoire de
0021266950863 :Tel 77
Les
Les fichiers
fichiers
2. Structure des enregistrements
Structure n°1
"Fonfec";"Sophie";0142156487;"fonfec@[Link]" délimitée
"Zétofrais";"Mélanie";0456912347;"zétofrais@[Link]"
"Herbien";"Jean-Philippe";0289765194;"vantard@[Link]"
"Hergébel";"Octave";0149875231;"rg@[Link]"
ou ainsi :
Structure n°2
0021266950863 :Tel 78
Les
Les fichiers
fichiers
2. Structure des enregistrements
La structure n°1 est dite délimitée ; Elle utilise un caractère spécial, appelé caractère de
délimitation, qui permet de repérer quand finit un champ et quand commence le suivant.
La structure n°2, elle, est dite à champs de largeur fixe. Il n’y a pas de caractère de
délimitation, mais on sait que les x premiers caractères de chaque ligne stockent le nom,
les y suivants le prénom, etc. Cela impose bien entendu de ne pas saisir un renseignement
0021266950863 :Tel 79
Les
Les fichiers
fichiers
L’avantage de la structure n°2 : la récupération des différents champs est très rapide
0021266950863 :Tel 80
Les
Les fichiers
fichiers
3. Types d’accès
L’accès séquentiel : on ne peut accéder qu’à la donnée suivant celle qu’on vient de lire.
Dans le cas d'un fichier texte, cela signifie qu'on lit le fichier ligne par ligne.
choix, en précisant le numéro de cet enregistrement. Mais cela veut souvent dire une
adapté au traitement des gros fichiers, comme les bases de données importantes.
0021266950863 :Tel 81
Les
Les fichiers
fichiers
4. Instructions
Si on veut travailler sur un fichier, la première chose à faire est de l’ouvrir. Cela se fait
en attribuant au fichier un numéro de canal. On ne peut ouvrir qu’un seul fichier par canal,
L’important est que lorsqu’on ouvre un fichier, on stipule ce qu’on va en faire : lire, écrire.
0021266950863 :Tel 82
exemple
exemple
Variables Truc, Nom, Prénom, Tel, Mail en Caractères
Début
Ouvrir "[Link]" sur 4 en Lecture
LireFichier 4, Truc
Fermer 4
Début
Début
Ouvrir "[Link]" sur 4 en Lecture
Tantque Non EOF(5)
LireFichier 4, Truc
Nom ← Mid(Truc, 1, 20)
Prénom ← Mid(Truc, 21, 15)
Tel ← Mid(Truc, 36, 10)
Mail ← Mid(Truc, 46, 20)
Variables Nom * 20, Prénom * 17, Tel * 10, Mail * 20, Lig en Caractère
Début
Écrire ("Entrez le nom : ")
Lire (Nom)
Écrire ("Entrez le prénom : ")
Lire (Prénom)
Écrire ("Entrez le téléphone : ")
Lire (Tel)
Écrire ("Entrez le nom : ")
Lire (Mail)
Lig ← Nom & Prénom & Tel & Mail
Cet algorithme charge toutes les lignes d’un carnet d’adresses dans 4 tableaux
0021266950863 :Tel 86
exercice
exercice
0021266950863 :Tel 87
Des Questions ?
0021266950863 :Tel 88
Proc édures et
Procédures et Fonctions
Fonctions
1. De quoi s'agit-il
Une application, surtout si elle est longue, a toutes les chances de devoir procéder aux mêmes traitements.
Par exemple, la saisie d’une réponse par oui ou par non (et le contrôle qu’elle implique), peuvent être
répétés dix fois à des moments différents de la même application
La manière la plus évidente est de répéter le code correspondant autant de fois que nécessaire.
si la structure d'un programme écrit de cette manière peut paraître simple mais Elle contient des répétitions
en cas de modification du code, il va falloir traquer toutes les apparitions de ce code pour faire la modification
Il faut donc opter pour une autre stratégie, qui consiste à séparer ce traitement du corps du programme et
à appeler ce traitement en cas de besoin.
il suffit de faire une seule modification au bon endroit, pour que cette modification prenne effet dans
la totalité de l’application.
0021266950863 :Tel 89
exemple
exemple
prenons un exemple de question à laquelle l’utilisateur doit répondre par oui ou par non.
Mauvaise Structure :
Rep1 := ""
TantQue Rep1 <> "Oui" et Rep1 <> "Non"
Ecrire ("Tapez Oui ou Non ")
Lire Rep1
FinTantQue
Rep2 := ""
TantQue Rep2 <> "Oui" et Rep2 <> "Non"
Ecrire "Tapez Oui ou Non"
Lire Rep2
FinTantQue
0021266950863 :Tel 90
exemple
exemple
La solution consiste à isoler les instructions demandant une réponse par Oui ou Non, et à appeler ces
instructions à chaque fois que nécessaire. Ainsi, on évite les répétitions inutiles, et on a découpé notre
problème en petits morceaux autonomes.
Nous allons donc créer une fonction dont le rôle sera de renvoyer la réponse (oui ou non) de l'utilisateur.
Ce mot de "fonction", ne doit pas nous surprendre : nous avons étudié précédemment 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 même chose ici, sauf que c'est nous qui allons créer notre propre fonction,
que nous appellerons RepOuiNon :
Rep1,Rep2 en caractère
Début
Ecrire "Etes-vous marié ?"
Rep1 ← RepOuiNon()
Ecrire "Avez-vous des enfants ?"
Rep2 ← RepOuiNon()
0021266950863
Fin :Tel 91
Proc édures et
Procédures et Fonctions
Fonctions
2. Passage d'arguments
==> Lorsqu’on appelle la fonction, on doit lui préciser quel message elle doit afficher avant
de lire la réponse
==> la fonction doit être « prévenue » qu’elle recevra un message, et être capable de
le récupérer pour l’afficher.
0021266950863 :Tel 92
Proc édures et
Procédures et Fonctions
Fonctions
En langage algorithmique, on dira que le message devient un argument de la fonction. Cela n'est pas
une découverte pour vous : nous avons utilisé les arguments à propos des fonctions prédéfinies
Rep1,Rep2 en caractère
Début
Rep1 ← RepOuiNon("Etes-vous marié ?" )
Rep2 ← RepOuiNon("Avez-vous des enfants ?" )
Fin
0021266950863 :Tel 93
Rep1, Rep2, Rep3, Rep4 en chaîne de caractère
début
0021266950863 :Tel 94
Rep1, Rep2, Rep3, Rep4 en chaîne de caractère
début
Rep1, Rep2, Rep3, Rep4 en chaîne de caractère
Ecrire "Etes-vous marié(e) ?"
début Répéter
Ecrire ("Tapez Oui ou Non ")
Lire Rep1
Ecrire "Etes-vous marié(e) ?" TantQue Rep1 <> "Oui" et Rep1 <> "Non"
Lire Rep1
Ecrire ("Avez-vous des enfants ?")
Ecrire ("Avez-vous des enfants ?") Répéter
Écrire ("Tapez Oui ou Non ")
Lire Rep2
Lire Rep2
TantQue Rep2 <> "Oui" et Rep2 <> "Non"
Ecrire (" Etes-vous étudiant(e) ?")
Lire Rep3 Ecrire (" Etes-vous étudiant(e) ? ?")
Répéter
Ecrire (" Etes-vous un homme ?") Écrire ("Tapez Oui ou Non ")
Lire Rep3
Lire Rep4 TantQue Rep3 <> "Oui" et Rep3 <> "Non"
.
. Ecrire (" Étés-vous un homme?")
. Répéter
. Écrire ("Tapez Oui ou Non ")
Lire Rep4
Fin
TantQue Rep4 <> "Oui" et Rep4 <> "Non"
0021266950863 :Tel 95
Fin
Rep1, Rep2, Rep3, Rep4 en chaîne de caractère
début
Rep,Rep1, Rep2, Rep3, Rep4 en chaîne de
Ecrire "Etes-vous marié(e) ?" caractère
Répéter
Fonction RepOuiNon() en caractère
Ecrire ("Tapez Oui ou Non ")
TantQue Rep <> "Oui" et Rep <> "Non"
Lire Rep1
Ecrire "Tapez Oui ou Non"
TantQue Rep1 <> "Oui" et Rep1 <> "Non"
Lire Rep
FinTantQue
Ecrire ("Avez-vous des enfants ?")
Répéter Renvoyer Rep
Écrire ("Tapez Oui ou Non ") Fin
Lire Rep2
TantQue Rep2 <> "Oui" et Rep2 <> "Non" Début
Ecrire "Etes-vous marié ?"
Ecrire (" Etes-vous étudiant(e) ? ?") Rep1 ← RepOuiNon()
Répéter
Écrire ("Tapez Oui ou Non ") Ecrire "Avez-vous des enfants ?"
Lire Rep3 Rep2 ← RepOuiNon()
TantQue Rep3 <> "Oui" et Rep3 <> "Non"
Ecrire (" Etes-vous étudiant(e) ?")
Ecrire (" Étés-vous un homme?") Rep3 ← RepOuiNon()
Répéter
Écrire ("Tapez Oui ou Non ") Ecrire (" Etes-vous un homme ?")
Lire Rep4 Rep4 ← RepOuiNon()
TantQue Rep4 <> "Oui" et Rep4 <> "Non" Fin
0021266950863 :Tel 96
Fin
Rep,Rep1, Rep2, Rep3, Rep4 en chaîne de
caractère
É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 chaîne
de caractères passée 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 Caractère )
en caractère
Renvoyer Tot
Fin
FinPour
Renvoyer nb
FinFonction
0021266950863 :Tel 99
Des Questions ?
0021266950863 :Tel 100
Des exercices
supplémentaires ?
supplémentaires
0021266950863 :Tel 101
Exercice
Exercice 11
Recopier une phrase dans une autre en ôtant toutes les occurrences d’un caractère
Soit une phrase terminée par un point.
Il s'agit de la restituer en supprimant les occurrences d'un caractère donné.
Exemple :
phrase :abbcccdeeeffg
caractère : c
résultat : abbdeeeffg
Donnez le jeu d'essai qui permet de tester cette procédure.
Donnez l'algorithme de la procédure en pseudo code.
Recopier une phrase dans une autre en ôtant tous les doublons de caractères successifs
Soit une phrase terminée par un point.
Il s'agit de la restituer en supprimant tous les doublons de caractères successifs.
Exemple : abbcccdeeeffg. donne abcdefg.
Pour tester le programme, c'est à dire voir s'il répond 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 résultat attendu pour chaque cas : c'est le jeu d'essai.
On supposera qu'il existe une fonction longueur lg de chaîne qui renvoie un entier
Exemple :
abbcccdeeeffg
aabcdeffffg sont équivalentes
Donnez le jeu d'essai qui permet de tester cette procédure.
Donnez l'algorithme de la procédure toujours en pseudo code.
Afficher une chaîne de caractères sous forme prénom nom séparés par un espace,
en ayant fait disparaître les tirets saisis dans le prénom.
Les espaces sont des séparateurs 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 caractères
dans l'alphabet. etc ...
Les espaces sont des séparateurs de mot et sont transcrits sans modification.
Exemple :
Phrase : LE CHAT EST GRIS .
Rang : 1 2 3 4
Résultat : MF EJCV HVW KVMW.
Note : les terminaisons de longueur nulle indiquent à la procédure qu'il faut renvoyer
le nombre de mots de la phrase.
A chaque proposition le programme réaffiche le mot avec les lettres découvertes ainsi
que les lettres déjà annoncées et le nombre d'erreurs.
En deuxième partie:
Réécrire le jeu du pendu en utilisant des fonctions et/ou procédures.