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)



samedi 18 octobre 2014

mardi 14 octobre 2014

Cours Algorithme (La Structure Iterative POUR, Visual Basic)

Sommaire :

CHAPITRE III            LA STRUCTURE ITERATIVE POUR 

1/ Introduction 
2/ L a boucle Pour simple 
3/ La boucle pour générale
4/ Boucles imbriquées 

CHAPITRE IV                        INTRODUCTION A VISUAL BASIC 

1/ Présentation 
2/ Types de variable en VISUAL BASIC 
3/ Instructions Algorithmiques en VISUAL BASIC  


CHAPITRE III            LA STRUCTURE ITERATIVE POUR

1/ Introduction :

Certains problèmes , pour être résolus utilisent la notion de répétition .On parle alors de structure , structure itérative ou structure de boucle .
On distingue en programmation 3 types de boucles :
q  La boucle Pour : elle est utilisée lorsque le programmeur connaît à l’avance le nombre d’itérations de la boucle.
q  La boucle tant que et la boucle répétée qui utilisent une condition d’arrêt . Elles sont utilisées lorsque le nombre d’itération est inconnu à l’avance.

2/ L a boucle Pour simple :
2-1 Syntaxe :
La syntaxe algorithmique de la boucle pour simple est la suivante:


2-2 Fonctionnement :
On utilise une boucle pour lorsqu’on est en présence d’un phénomène de répétition pour lequel le nombre d’itération est connu à l’avance en effet, une boucle pour utilise toujours une variable compteur qui permet de contrôler la  séquence des itérations.
Le fonctionnement est le suivant :
q  A la première itération la variable compteur prend la valeur borne1.
q  A la fin de chaque itération , la valeur compteur syncrimente  de 1.
q  A la dernière itération , la valeur de la variable compteur est égale la valeur de borne 2.
q  La boucle s’ arrête lorsque la valeur de la variable compteur devient strictement  supérieur à la borne 2 . Dans ce cas il y’a alors sortie de boucle vers la première instruction qui suit Fin Pour.
2-3 Remarques :
1.      On utilise une boucle pour lorsque le nombre d’itérations est connu à l’avance par le programmeur.
2.      Seules les instructions placées entre Pour et Fin Pour sont répétées, toute instruction ne devant pas être répétée doit être placée en dehors de la boucle.
3.      En sortie de boucle , la valeur de la variable compteur est égale à borne 2 plus 1.
4.      Les bornes de la boucle peuvent être des constantes ou des variables , dans ce cas ces variables doivent être affectées avant la boucle ( soit par lecture , soit par affectation directe).
5.      Si borne1 = borne 2 , la boucle s’exécute une fois seulement .
6.      Si borne1 > borne 2 , la boucle n’est jamais exécutée , il y’a alors directement sortie de boucle .
7.      Une instruction de la boucle peut être n’importe quelle instruction algorithmique ( lecture, écriture, affectation , boucle et test).

8.      La variable compteur ne peut en aucun cas être affectée à l’intérieur de la boucle.
3/ La boucle pour générale:

3-1 Syntaxe Algorithmique:

La syntaxe est la suivante:
3-2 Etude de boucle:

a/ PAS > 0:
On parle alors d’une boucle ascendante . La boucle fonctionne de la façon suivante :
q  A la première Itération , la variable compteur prend la valeur borne 1.
q  A la fin de chaque Itération la variable compteur s’incrémante de la valeur du pas.
q  La boucle s’arrête lorsque la valeur de la variable compteur devient supérieur à la borne 2

b/ PAS < 0:
On parle alors d’une boucle descendante . Le fonctionnement est le suivant :
q  A la première Itération , la variable compteur prend la valeur borne 1.
q  A la fin de chaque Itération la variable compteur s’incrimante de la valeur du pas.
q  La boucle s’arrête lorsque la valeur de la variable compteur devient strictement inférieur  à la borne 2

3-3 Exemple:
Afficher les nombres entiers pairs de 20 à 0.
                           
                           Début 
                                 Var      I , NP : entier
                                 Ecrire ‘ Affichage des nombres pairs de  20 à 0 ‘
                                            Pour I = 20 à 0 à pas = -2  faire
                                                 NP <------------  I  
                                                 Ecrire NP
                                           Fin pour
                               Fin
4/ Boucles imbriquées:
4-1/ Définition

Deux boucles sont dites imbriquées quand l’une contient l’autre.
Rq : On utilise deux boucles imbriquées lorsque est en présence de la répétition d’une répartition.
En programmation , on peut rencontrer plus de 2 boucles imbriquées .

-           4-2/ Syntaxe pour 2 boucles imbriquées :

4-3/ Principe de fonctionnement :

Pour chaque valeur de la variable compteur 1 prise entre borne 11 et borne 12 , la variable compteur 2 doit parcourir l’ensemble des valeurs entre borne 21 et borne 22.
Rq :
q Les instructions 1 et les instructions 3 appartiennent à la boucle 1 alors que les instructions 2 appartiennent à la boucle 2.
q Dans le cas de boucles imbriquées , les variables compteurs sont obligatoirement distinctes.

4-4/ Applications :
APP1 :
Donner la table d’exécution de l’algorithme suivant :


CHAPITRE  IV  :  INTRODUCTION A VISUAL BASIC

1/ Présentation :

Le VISUAL BASIC est un langage informatique évolué Interprèteur.
C’est un langage pratique et facile d’apprentissage.
Le VISUAL BASIC a pour origine le langage Basic qui a pris naissance en 1964 dans une université Américain .Le succès remporté par le basic a permis le développement de nouvelles version , ( BASSICA , GWBASIC , VISUAL BASIC ).
Le VISUAL BASIC est également le prédécesseur du langage visuel basic qui comporte actuellement 7 versions.

2/ Types de variable en VISUAL BASIC :
2-1/ Types standards de  variable  :

Les types standard de variables en VISUAL BASIC sont les suivants :
Remarques :

1.      Il n’existe pas de type Booléen en VISUAL BASIC . Une variable de type Booléen est déclarée dans le type Integer . Dans ce cas VISUAL BASIC remplace la valeur logique Vraie par –1 et la valeur logique Faux par 0.
2.      Il est possible de limiter l’espace mémoire occupé par une variable de type chaine en utilisant le type : STRING* <longueur>. La longueur est un nombre entier qui indique le nombre maximum de caractère que peut prendre le contenu d’une variable déclarée dans ce type.
2-2/ Déclarations des  variables  :

Pour déclarer une variable dans un type donné , on utilise la syntaxe suivante :
DIM <variable> AS <type>

Remarque :

Pour déclarer une liste de variables on utilise deux possibilités :
q  Déclarer variable par variable.
q  Utiliser la syntaxe suivante :
DIM <variable1> AS <type1>, DIM <variable2> AS <type2> ,…………………
DIM <variable N> AS <type N>

Exemple :

Var I , J , K : Entier  est traduit  :  1   DIM I AS Integer
                                                             DIM J AS Integer
                                                             DIM K AS Integer
                                                       2    DIM I AS Integer, J AS Integer, K AS Integer

 2-3/ Déclarations des  constantes  :

On appelle constante un emplacement en mémoire centrale auquel on attribue un nom et qui contient une valeur fixée à la déclaration . La syntaxe de déclaration d’une constante est la suivante :
En Algorithmique : CONST < nom constante > = < valeur >
En VISUAL BASIC : CONST < nom constante > = < valeur >

Exemple :

CONST   PI = 3.14159

Remarque :

Une constante ne peut être ni lue ni affectée dans le programme .Sa valeur est constante durant tout le programme.

3/ Instructions Algorithmiques en VISUAL BASIC  :
3-1/ L’Affectation  :





3-2/ La lecture :

En algo : lire < Variable >
En VISUAL BASIC: INPUT < Variable >

3-3/ Ecriture :

En algo : Ecrire  < liste d’expression >
En VISUAL BASIC : PRINT < liste d’expression >

Remarques :

1. Deux expressions en VISUAL BASIC peuvent être séparées par virgule ou point virgule . La virgule entraîne à l’exécution un espacement entre les affichages alors que le point virgule n’en provoque pas .
2. Dans le cas de 2 expressions numériques , il est préférable d’utiliser la virgule comme séparateur afin d’éviter toutes confusion à l’affichage.

3-4/ La boucle Pour  :


3-5/ Instructions utiles  :

q  CLS : permet d’effacer l’écran à l’exécution.
q  END : Permet d’arrêter d’ arrêter  définitivement  l’exécution du programme.
q  REM < Commentaire > : cette instruction  permet d’introduire un commentaire dans le programme .

On peut remplacer le mot REM par un apostrophe l’instruction REM permet d’ignorer une ligne d’instruction afin qu’elle n’ait aucun effet à l’exécution.