Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Mathématiques et
Informatique
Algorithmique et
programmation langage C
ASMAE OUHMIDA
UNIVERSITÉ HASSAN II
ECOLE NORMALE SUPÉRIEURE
D’ENSEIGNEMENT TECHNIQUE
PLAN
Introduction
Qu’est ce qu’un algorithme ?
Notion d’algorithmes
Etapes d’un algorithme
Déclaration de données
Opérations de base
Introduction
Complexité
• En combien de temps un algorithme va -t-il atteindre le résultat escompté?
• De quel espace a-t-il besoin?
Calculabilité
• Existe-t-il des tâches pour lesquelles il n'existe aucun algorithme ?
• Etant donnée une tâche, peut-on dire s'il existe un algorithme qui la résolve ?
Correction
• Peut-on être sûr qu'un algorithme réponde au problème pour lequel il a été
conçu ?
EXEMPLE DE LANGAGE ALGORITHMIQUE
ETAPES D’UN ALGORITHME
Préparation du traitement
• données nécessaires à la résolution du problème
Traitement
• résolution pas à pas,
• après décomposition en sous-problèmes si nécessaire
Edition des résultats
• impression à l’écran,
• dans un fichier, etc.
LANGAGE ALGORITHMIQUE
Exemple
On souhaite calculer et afficher , à partir d’un prix hors taxe saisi, la
TVA ainsi que le prix TTC
Le montant TTC dépend :
- Du prix HT
- Du taux de TVA de 20,6
EXEMPLE D’ÉNONCÉ D’UN PROBLÈME
« Traitement à réaliser »
EXEMPLE D’ÉNONCÉ D’UN PROBLÈME
« Données en entrée »
Exemple d’énoncé d’un problème
« Données en sortie »
ALGORITHME TVA
Algorithme CalculTVA
L’affectation
La lecture
L’écriture
Instructions de contrôle
L’affectation
Variable expression
Exemple d’affectation
a 10 a reçoit la constante 10
a (a*b)+c a reçoit le résultat de (a*b)+c
d 'm' d reçoit la lettre m
La lecture
Lire variable
Exemple de lecture
Lire a On demande à l'utilisateur d'introduire une valeur pour a
Lire (a,b,c) On demande à l'utilisateur d'introduire 3 valeurs pour a, b et
c respectivement
Remarque
L'organe d'entrée est assimilé à un ruban composé d'une suite de cases
chacune peut contenir un caractère ou un chiffre.
C'est la valeur qui se trouve à la tête du ruban qui sera attribuée à la
variable à lire. Une fois, la lecture est terminée, elle est supprimée du ruban.
L’écriture
Ecrire expression
Instructions sélectives
a) Instruction Si
Si condition alors
instruction(s) 1
Sinon
instruction(s) 2
FinSi
Instructions de contrôle
Remarques
1- Une instruction de contrôle peut se réduire à :
Si condition alors
instruction(s)
FinSi
Instructions sélectives
Exemple
Calculer la taxe sur le chiffre d'affaire (CA) sachant qu'elle est de :
10% si le CA<5000DH
20% si le CA >=5000DH
lire CA
Si CA<5000 alors
TaxeCA*10%
Sinon
TaxeCA*20%
FinSi
Ecrire Taxe
Instructions sélectives
Exercice
Vérifier si un agent a droit de bénéficier du crédit de logement ou non
selon ses années d’ancienneté et sa note d’appréciation.
lire (ancienneté, note)
Si ancienneté < 5 alors
Si ancienneté=4 et note≥16 alors
écrire ('L’agent a droit de bénéficier du crédit')
Sinon
Si ancienneté=3 et note≥18 alors
écrire ('L’agent a droit de bénéficier du crédit')
Sinon
écrire ('L’agent n’a pas droit de bénéficier du crédit')
FinSi
FinSi
Sinon
Si note≥13 alors
écrire ('L’agent a droit de bénéficier du crédit')
Sinon
écrire ('L’agent n’a pas droit de bénéficier du crédit')
FinSi
FinSi
Instructions sélectives
b) Instruction Selon
Elle indique le traitement à faire selon la valeur d'une variable.
Selon variable
valeur1 : instruction(s) 1
valeur2 : instruction(s) 2
...
valeurn : instruction(s) n
Sinon instruction(s) m
FinSelon
Instructions sélectives
Exemple
Vérifier et Afficher si un caractère saisi est une voyelle ou consonne.
lire c
Selon c
'a' : écrire ('le caractère est une voyelle')
'e' : écrire ('le caractère est une voyelle')
'i' : écrire ('le caractère est une voyelle')
'o' : écrire ('le caractère est une voyelle')
'u' : écrire ('le caractère est une voyelle')
'y' : écrire ('le caractère est une voyelle')
sinon écrire ('le caractère est une consonne')
FinSelon
Instructions de contrôle
Instructions itératives
a) Instruction Pour
Pour compteur valeur1 à valeurn faire
Instruction(s)
FinPour
Elle permet de répéter un traitement un nombre de fois précis et
connu en utilisant un compteur (variable à incrémenter d'une itération
à l'autre).
Instructions de contrôle
Exemple
Afficher la somme des entiers compris entre 0 et une valeur n saisie au clavier
(n≥0).
lire n
s0
Pour i1 à n faire
ss+i
FinPour
écrire s
Instructions de contrôle
b) Instruction Tantque
Tantque condition faire
instruction(s)
FinTantque
Elle permet de répéter un traitement tant qu'une condition est
satisfaite.
Instructions de contrôle
Remarque :
lire n
s0
i 0
Faire
Début
ss+i
ii+1
Fin
Tant que i≤n
écrire s
Instructions de contrôle
Remarque :
lire n
Dans ce cas, si on suppose que n est égal à 0,
s0
i 1 le programme affichera 1 comme somme. Ce
Répéter
Instructions
Jusqu’à Condition
Instructions de contrôle
Exemple :
Dans un cinéma, on désire calculer la moyenne d’âges de personnes
s’intéressant à voir un film particulier.
Pour finir, l’utilisateur doit répondre par ‘N’ à la question posée par
l’algorithme: ‘Encore une personne(O/N)?’
Et on doit afficher la moyenne d’âges des personnes à l’écran.
Réponse:
Algorithme Moyenne_ages;
Var
Age,S_age, NP : entiers
M_age : réel
rep : caractère
Début
S_age0
NP0
Répéter
Lire(age)
NPNP+1;
S_ageS_age+age;
Ecrire(‘Encore une autre personne(O/N)’)
Lire(rep)
Jusqu’à rep = ‘N’
M_ageS_age/NP
Ecrire(M_age)
Fin
Le type booléan
Il correspond à l’ensemble de deux état logiques (VRAI (1),FAUX(0) ) auxquels
on peut appliquer les operateurs (ET,OU,NON)
A NON (A) A B A OU b A ET b
0 1 0 0 0 0
1 0 0 1 1 0
1 0 1 0
1 1 1 1