lundi 20 octobre 2014

Cours Algorithme (La Structere Alternative, Les Tableaux)

CHAPITRE  V                        LA STRUCTERE ALTERNATIVE

1/ Introduction 
2/ la structure alternative simple 
3/ Notions de logique
4/Structure alternatif imbriqué

CHAPITRE  VI                       LES TABLEAUX

1/ Introduction 
2/ Définition 


CHAPITRE V       LA STRUCTERE ALTERNATIVE


1/ Introduction :

L résolution de certains problèmes en programmation peut présenter 2 solutions qui sont fonctions d’une condition . On parle alors de structure alternative.

2/ la structure alternative simple :
2-1 syntaxe :

la syntaxe algorithmique d’une structure alternative simple est la suivante :

2-2 Fonctionnement :

A l’exécution , l’ordinateur commence par tester la condition.
Si celle-ci est vraie il exécute alors la suite des instructions 1 sort par fin si et se branche sur la première instruction qui suit fin de si.
Si la condition est fausse , l’ordinateur exécute la suite des instructions 2 sort par fin de si et se branche ensuite sur la première instruction qui suit fin de si.
2-3 Remarques :

1- Une condition est toujours une comparaison entre 2 expressions ( numérique ou chaîne) dont le résultat est une valeur logique ( vraie ou faux ).
2- Les opérateurs de comparaison sont les suivants :
3- A l’exécution , l’ordinateur n’exécute qu’un seul chemin parmi les 2 chemins proposés par la structure alternative , par contre le programmeur doit toujours décrire dans l’algorithme les 2 chemins possibles.
4- Le schéma organigramme d’une structure alternative simple est le suivant :
          5- Dans certaines algorithmes on peut rencontrer des structures de test ayant la forme               suivante :



Le fonctionnement d’une telle structure est le suivant : l’ordinateur test la condition .  Si celle ci est vraie il exécute les instructions , sinon il passe directement en Fin de si.
Le schéma organigramme équivalent de cette structure :

3- Notions de logique
3-1 Variable Booléenne :

On appelle variable Booléenne un emplacement en mémoire centrale dont le contenu est une valeur logique.

Remarques :

1-      Une variable Booléenne ne peut recevoir que la valeur vraie ou la valeur faux.
2-      Une variable booléenne peut être affecté par une expression conditionnelle.

Exemple :
Soit X de type booléenne


3-2 Les opérateurs logiques 
a : l’opérateur NON : ( NOT )

Soit une variable Booléenne C.
(Non C) est vraie si C est faux et inversement.
La table de vérité de l’opérateur Non est la suivante :


b : l’opérateur ET : ( END )

Soit deux variables Booléenne C1 et C 2.
( C1 et C2 ) est vraie lorsque les 2 variables sont simultanément vraies . La table de vérité de l’opérateur ET est la suivante :


c : l’opérateur OU : ( OR )
Soit deux variables Booléenne C1 et C 2.
( C1 ou C2 ) est vraie lorsque l’une des  2 conditions au moins est vraie . La table de vérité de l’opérateur OU est la suivante :


3-3 Les lois de Morgan 

(1)  Non ( C1 ET C2 ) =  ( Non  C1  OU Non C2 )

Démonstration
(2)  Non ( C1 OU C2 ) =  ( Non  C1  ET Non C2 )

Autre démonstration

( Non  C1  ET Non C2 )= Non ( Non ( Non C1 ET Non C2))
                                       = Non ( C1 OU C2)

3-4 Notations et simplifications 
a)Notations en algèbre de Boole :







Conséquence sur les lois de Morgan

b)Simplification :









3-5 Autres opérateurs
 a)l’opérateur OU exclusif : ( X OR)

Soit deux variables Booléenne C1 et C 2.
( C1 ou ex C2 ) est vraie lorsque l’une des  2 variables au plus est vraie . La table de vérité de l’opérateur OU ex est la suivante :

 b)l’opérateur IMP  : ( Implication logique)
Soit deux conditions  C1 et C 2.
( C1 IMP C2 ) est faux lorsque l’une des  C1 est vrai et C2 est faux( le vrai n’implique jamais le faux) . La table de vérité est la suivante :






b)l’opérateur EQV  : ( Equivalence)

Soit deux conditions  C1 et C 2.
( C1 EQV C2 ) est vrai  si les deux conditions sont simultanément fausses . La table de vérité est la suivante :








4–Structure alternatives imbriquées :
4-1 Définition :

 structures alternatives sont dites imbriqués lorsque l’une contient l’autre.

Remarques :

1.      En programmation , on peut imbriquer plus de deux structures alternatives.
2.      En utilise une structure alternative imbriquée lorsqu’on est en présence d’une solution à plus de deux chemins possibles.
3.      A l’exécution , l’ordinateur n’exécute qu’un et un seul chemin parmi tous les chemins proposés par la structure alternative imbriquée.
4.      Il existe une infinité de possibilité d’imbrication pour les structures alternatives. 
5.      Dans une structure imbriquée de test , il ya toujours autant de  si que de fin si.
6.      Dans une structure imbriquée de test , la règle de si non est la suivante ‘ chaque si non se rapporte au dernier si qui n’a pas encore de Fsi’.
7.      La règle de Fsi dans une structure imbriquées est la suivante ‘ chaque Fsi se rapporte au dernier si qui n’a pas encore de Fsi’.

4-2 Exemple d’imbrications :
a/ Exemple 1



















b/ Exemple 2



















CHAPITRE VI     LES TABLEAUX
1-Introduction :

Soit l’algorithme suivant :
Début
            Var I, X :Entier
            Pour I = 1 à 10 faire
                        Lire X
                        Ecrire X
Fin pour
Fin

Cet algorithme permet de lire 10 nombres entiers au clavier et de les afficher après chaque lecture .En sortie de boucle , seule la dernière valeur lue est conservée dans la    variable X puisque à chaque Itération la nouvelle valeur lue écrase la précédente ( une variable ne peut contenir qu’une et une seule valeur à un instant donné).
Or on souhaite sauvegarder l’ensemble  des dix valeurs en sortie de boucle , il est nécessaire d’utiliser un nouvel élément appelé Tableau.
                 
                    2/ Définition :
a) Tableau :
On appelle tableau un ensemble de cases juxtaposées en mémoire centrale destinées à contenir un ensemble de valeurs et dont chacune est référencée par un ou plusieurs indices.

b) Indice :
On appelle indice le rang d’une case sur un axe donné.

c) Dimention :
On appelle dimension d’un tableau le nombre d’indice nécessaire  pour référencer chacune des ses cases .

d) Vecteur :
On appelle vecteur un tableau de dimension une.

e) Matrice  :
On appelle matrice un tableau de dimension >=2

Remarques
1-                La dimension d’un tableau, celui-ci est toujours utilisé pour sauvegarder un ensemble de valeurs.
2-                 Le contenu d’un tableau s’efface dés que L.R.A.M est effacée.
3-                 Les vecteurs

3-1 Définition
On appelle vecteur un tableau de dimension une (1). Formé d’un ensemble de cases dont chacune est référencée par un et un seul indice.

3.2 Déclaration
Tout vecteur utilisé dans un algorithme ou dans un programme doit être déclaré dans la section des déclarations (cela permet à l’ordinateur de réserver l’espace mémoire nécessaire au contenu du tableau).
La syntaxe de déclaration et la suivante :

En ALGO
TAB <nom vecteur> (<indice minimum>..<indice maximum>)..<type>
En VISUAL BASIC
DIM<nom vecteur> (<indice minimum> To <indice maximum>) AS <TYPE>.

Remarques :
1-L’indice minimum est l’indice de la 1ère case du vecteur (le plus suivant ou choisi la valeur 1).
2-L’indice maximum est l’indice  de la dernière  case du vecteur.
3-Un tableau n’a qu’un seul type. Tout les conteurs du vecteur doivent être de ce type.
4-On appelle taille d’un vecteur le nombre total de ces cases.

Exemple :
Déclarer un vecteur V. de taille 10 et de type entier .
      TAB V(1.. 10) : Entier
Ou  TAB V(0..9)   : Entier
Ou  TAB V(-1..8) :  Entier

3-1Remplissage :
Chaque case d’un vecteur se comporte exactement comme une variable. Par conséquent une case  d’un vecteur peut être remplie soit par lecture soit par affectation directe.
Le contenu de la case d’un vecteur utilise la syntaxe suivante :

En ALGO / En VISUAL BASIC/

Exemple : 
Remplir le vecteur V précédemment déclaré à partir du clavier :
Pour I=1 à 10 faire
Ecrire ‘ Entrer valeur n° :’, I.
Lire V(I)
Fin Pour

Remarques :
1-   Un vecteur peut être remplir totalement où partiellement .
2-   Le plus souvent , pour remplir un vecteur on utilise une boucle.

3-1Traitement :
Le traitement sur les éléments d’un vecteur dépend du problème posé (ex : Affichage, somme,   moyenne, Maximum, Minimum , tri .etc)



0 commentaires:

Enregistrer un commentaire