informatique - ufc

  > ( , , ) > UFC >

   
 
LinkBack
22-09-2010, 10:14 PM   #1
alg17
 
 
: Feb 2010
: 1,938
informatique - ufc

UNIVERSITE DE LA FORMATION CONTINUE

ENSEIGNEMENT A DISTANCE
COURS DINFORMATIQUE









INFORMATIQUE
CONTENU DU COURS

CHAPITRE I : GENERALITES
- Introduction
- Histoire de linformatique
- Architecture dun ordinateur
- Fonctionnement dun ordinateur

CHAPITRE II : NOTIONS DALGORITHME
- Introduction
- Dfinition
- Exemple de rsolution logique
- Proprits dun algorithme
- Formalisme algorithmique

CHAPITRE III : STRUCTURES DE DONNEES STATIQUES
- Tableaux
- Listes
- Piles
- Arbres
- Enregistrements et fichiers

CHAPITRE IV : FONCTIONS ET PROCEDURES

CHAPITRE V : LANGAGE DE PROGRAMMATION

CHAPITRE I : GENERALITES:
I.1. Introduction:
Informatique, Bureautique, Tlmatique, ..., tous ces mots dont la liste est loin dtre exhaustive, simposent aux oreilles comme autant de concepts indpendants. En ralit, ils se chevauchent troitement, mais les intrts commerciaux tablissent entre eux souvent des frontires arbitraires. Ces notions gravitent autour dun mot magique : LORDINATEUR, le mot INFORMATIQUE tant tir des mots INFORmation et autoMATIQUE pour signifier Traitement automatique de linformation.
Ce que nous pouvons dire aujourdhui, cest que lordinateur est omniprsent dans notre vie de tous les jours :
- lcole, pour apprendre nos enfants le calcul et la grammaire (EAO : Enseignement Assist par Ordinateur)
- lusine, pour excuter les tches dangereuses et pnibles avec une rgularit et une prcision qui dpasse de loin celle de lhomme (Robotique)
- au bureau, pour dvorer les travaux ingrats de la secrtaire (Bureautique)
- l entreprise, pour conseiller, aider et dcider (CAO : Conception Assiste par Ordinateur)
- la maison, au service de la mnagre pour renseigner sur les prix des produits quelle a choisi partir dun clavier ou mme pour passer une commande (Internet, intranet, ...).

Aujourdhui, lordinateur peut reconnatre votre voix et excuter vos ordres, peut vous parler, reconnatre des formes et des couleurs et peut vous inviter passer dagrables moments en vous proposant des jeux instructifs de plus en plus varis (Intelligence Artificielle).
Les pays en voie de dveloppement ont tout gagner. Ils ne devront pas assister impuissants cette profonde mutation technologique, car lordinateur, efficacement utilis, est un outil radical pour brler les tapes, permettre le transfert de technologie,...

I.2. Les Grandes Dates de lHistoire de lInformatique :
Mise part le Boulier (Abacus), utilis par la chine antique, lhistoire de lInformatique a dbute partir du 17me sicle. Et cest seulement aux lendemains de la seconde guerre mondiale que les ordinateurs ont fait leur apparition. Depuis, la progression fut trs rapide :
- En 1636, langlais William Oughtred dcouvrit le principe de la machine calculer.
- En 1642, le franais Blaise Pascal ralise ma premire machine calculer.
- Un sicle plus tard, la carte perfore est invente, un support dinformation qui jouera
un grand rle dans lhistoire de linformatique. La carte perfore fut utilise en France
pour le contrle des mtiers tisser.
- En 1812, langlais C. Babbage dfinit les grands principes des calculateurs lectroniques utilisant des cartes perfores. Par manque de moyens, le projet fut abandonn.
- En 1854, langlais Boole introduit le calcul binaire sur lequel est base la logique des
calculateurs.
- De 1880 1890, lamricain Hollerith, fort du principe utilis par Babbage, construit la premire machine lectronique utilisant les cartes perfores avec, comme application, le dpouillement du recensement des USA. Le traitement dura trois ans au lieu de six.
- Aux USA, en 1938, le professeur Aiken de luniversit de Harvart, aid par IBM, construit le premier ordinateur MARK 1. Cest une gigantesque machine lectronique de 17 mtres de long, pesant 10 tonnes. La multiplication de dix chiffres chacun durait six secondes
- Un ensemble de 18000 tubes vide occupant une superficie de 170 m2, pesant 30 tonnes, consommant 200 Kwatts et cotant 48000 dollars est lordinateur ENIAC (Electronic Numerical Integrator And Calculator) invent par les amricains J.E. ECKERT et J.W. MANCKLY de luniversit de Pennsylvanie et cela au environ de 1950. La multiplication de deux nombres de dix chiffres chacun durait 2,8 millisecondes.
- En 1950, la premire gnration dordinateurs base de tubes vide fut commercialise.
- En 1958, la naissance de la deuxime gnration dordinateurs fut caractrise par lemploi de circuits intgrs la place des tubes et des relais.
- En 1964, la miniaturisation des circuits et luniversalit dutilisation donnent naissance la troisime gnration dordinateurs.
- De 1970 nos jours, les gnrations dordinateurs bass uniquement sur le dveloppement des composants lectroniques sont enterres et oublies. Dautres phnomnes entrent en jeu : les logiciels et la tlinformatique, la gnralisation de la mmoire virtuelle, la ralisation de la mmoire dite bulles et les circuits de jonction Josephson, les mmoires neurones et les mmoires holographiques, ...

I.3. Architecture dun Ordinateur :
I.3.1. Quest-ce quun Ordinateur ?
Un ordinateur est une machine traiter les informations. En dautres termes, cest une machine automatique qui permet deffectuer, dans le cadre de programmes ou de structures prtablis, des ensembles doprations arithmtiques et logiques des fins scientifiques, administratives ou comptables.




I.3.2. Schma fonctionnelle dun Ordinateur :
a) Activit mentale :
En inventant lordinateur, lhomme a cherch crer son semblable. Mme sil na pas russi, il na pas cependant totalement chou. Il a en effet cr une machine qui a de la mmoire, des organes, qui lit et crit, qui possde un langage et qui commence dj voir, parler, entendre et mme rflchir.

b) Schma dun Ordinateur :





[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image001.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image002.gif[/IMG]


















Unit Centrale


Unit Arithmtique et Logique (UAL) :
Egalement appele Unit de Traitement ou de Calcul, lunit arithmtique et logique est lorgane central de lordinateur. Elle permet dexcuter lopration commande. Elle est constitue de circuits capables dexcuter 4 types doprations lmentaires :
1. les oprations arithmtiques (+, -, ,/)
2. les oprations logiques (comparaison, ...)
3. les oprations de transfert dinformation dun endroit de la mmoire vers un autre
4. les oprations dentre et de sortie (lecture, criture)

Mmoire centrale (MC) :
La mmoire centrale ou mmoire principale a pour rle de conserver les informations (donnes traiter et programmes excuter). Cest, schmatiquement, un assemblage de cellules montes en matrice, chaque cellule ou case mmoire peut mmoriser une information lmentaire appele bit .

Unit de Contrle :
Elle a plusieurs tches, les plus importantes sont :
1. Grer les changes dinformations entre diffrents organes de lordinateur pour excuter le programme
2. Dclencher lextraction de linstruction partir de la mmoire centrale
3. Dcoder linstruction et indiquer lunit de traitement lopration effectuer.
4. Transmettre les informations traiter de mmoire centrale vers lUAL
5. Renvoyer les informations traites ou rsultats vers la mmoire centrale.

Unit dEchange :
Elle permet les changes entre la mmoire centrale et les mmoires auxiliaires dune part et entre la mmoire centrale et les organes dentre sortie dautre part.

Base de temps :
La base de temps dlivre des impulsions permanente appeles tops dhorloge et destins rythmer le travail de lunit de contrle.

Organes dentre :
Ce sont les organes qui permettent lacquisition des informations pour raliser un traitement. Ils effectuent des oprations de lecture des informations enregistres sur des supports physiques : lecteur de disque, lecteur de disquette, lecteur de compact disque (cd), lecteur de bande magntique, enregistreur de voix, scanner, appareil photo numrique, camra numrique, ...

Organe de sortie :
Ce sont des organes qui permettent de restituer les informations enregistres, de les prsenter sous une forme ou une autre en sortie, forme conue et ralise par le programmeur laide doutils spcifiques (traitement de texte, tableur, ...). Tous les lecteurs de disques, disquettes, cd sont galement des organes de sortie puisquil permettent de stocker des rsultats, les imprimantes, les crans, ...

Mmoires auxiliaires :
Ce sont des units de stockage capables de conserver de linformation pour une utilisation future (donnes et rsultats) : disque dur, disquette, bande magntique, compact disque, ...


I.4. Fonctionnement dun Ordinateur :
Lordinateur ne peut fonctionner que si le programme et les donnes se trouvent en mmoire centrale. En entre, lordinateur reoit linformation enregistre dans un support adapt par lintermdiaire dun organe dentre. Celle-ci est dirige vers la mmoire centrale o elle sera mmorise. Grce lunit de commande, lUAL effectue des oprations sur les informations de la mmoire en excutant dans un ordre logique les instructions du programme.
Les informations (programmes et donne) qui ne peuvent pas tenir, du fait de leur taille en mmoire centrale sont stocks en mmoires auxiliaires (ou mmoires secondaires).
CHAPITRE II : NOTIONS DALGORITHME :
II.1. Introduction : (fig. 1)
Nous devons dabord faire une diffrence entre les mots donne et information .
a) Donne : une donne est un renseignement auquel on ne peut attribuer aucun sens
Exemple : 15, Mohamed.

Une donne est par exemple, tout ce quutilise un ordinateur puisquil nest pas capable de donner un sens un quelconque renseignement fourni par un utilisateur.

b) Information : une information est un renseignement auquel on peut attribuer un sens. Exemple : mon frre sappelle Mohamed, jai 15 ans
Une donne introduite dans un ordinateur ou fournie par lutilisateur prendra le sens que lui donnera lutilisateur et elle devient une information pour cet utilisateur et uniquement pour cet utilisateur.
c) Traitement de linformation : cest le droulement systmatique dune suite doprations sur des donnes ou informations lmentaires. Ce traitement se fait laide dun ordinateur capable dacqurir des donnes : ENTREE, deffectuer des traitements sur cette entre et de fournir des rsultats : SORTIE (Fig. 1). Les avantages apportes par un traitement automatique sont nombreux : une grande rapidit, plus de scurit, possibilit de faire des traitements complexes sans intervention humaine, rpter un mme traitement autant de fois que ncessaire, ...


traitement



[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image003.gif[/IMG][IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image004.gif[/IMG] Entre Sortie

Donnes Rsultats

Fig. 1




II.2. Exemple de Rsolution logique : Comment faire un traitement informatique ?
Pour pouvoir faire un bon traitement automatique, il faut procder une prparation mthodique et rigoureuse des informations traiter et une tude dtaille du problme pos. La machine na pas la possibilit de rechercher delle mme les informations extrieures ncessaires la ralisation dun traitement donn. Ces informations doivent tre rassembles et organises au pralable par lutilisateur de lordinateur et stockes ensuite sur des supports utilisables directement par lordinateur (disque, disquette, cd, ...).
Exemple : Si lon veux tablir des factures clients partir de bons de livraison revenant du magasin, mettre jour les fiches dinventaire des produits vendus et tenir en permanence une statistique des ventes par produit, une solution manuelle et automatique seraient les suivantes :
Solution manuelle :
a) moyens utiliss : - machine calculer simple
- ensemble des fiches-clients classes par ordre alphabtique
- ensemble des fiches-produit classes par numro du produit
b) description des oprations :
1. Prendre un imprim de facture vierge
2. Lire le nom du client sur le bon de livraison
3. Extraire la fiche client correspondante
4. Recopier le nom et ladresse du client sur la facture
5. Lire le numro du produit figurant sur la premire ligne du bon de livraison
6. Extraire la fiche-produit correspondante
7. Recopier la dsignation, le prix unitaire
8. Modifier la quantit sur la fiche-produit
9. Ranger la fiche-produit
10. Recopier la quantit livre sur la facture
11. Calculer le montant hors taxe et le montant T.T.C. du produit
12. Recopier les rsultats obtenus sur la facture
13. Rpter les oprations de 5 12 pour tous les produits figurant sur le bon de livraison
14. Calculer le total de la facture (H.T. et T.T.C.)
15. Calculer les remises ventuelles et le net payer
16. Recopier les montants calculs sur la facture
17. Remettre la facture au client ou la ranger pour envoi
18. Ranger la fiche-client
19. Rpter les oprations de 1 18 pour tous les clients
20. Fin

Solution automatise :
a) Moyens utiliss : - Machine traiter linformation
- Clavier alphanumrique pour introduire les donnes
- Imprimante
- Unit de stockage des informations

d) Description des oprations :



[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image005.gif[/IMG]

Utilisateur (homme) Machine (ordinateur)


[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image006.gif[/IMG]

1. Introduire le numro du client
2. Impression de lentte de la facture
3. Introduire le numro du produit
4. Introduire la quantit livre
5. Impression de la dsignation, du prix unitaire, de la quantit livre, des montants H.T. et T.T.C.
6. Mise jour automatique du stock
7. Rpter pour tous les produits
figurant sur le bon de livraison
8. Remplacer limprim facture
par un imprim tat du stock
9. Impression automatique de ltat du stock (par jour, par semaine, par mois ou par anne)
10. [IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image007.gif[/IMG]Fin de traitement



II.3. Dfinition:
Le mot algorithme provient du nom du mathmaticien ouzbek EL KHAWARIZMI . Il sintressait la rsolution des problmes darithmtique et dalgbre. Il a invent des mthodes de rsolution reprsentes sous forme de squences dactions bien spcifiques. Son nom est devenu attach toute mthode de rsolution dun problme donn.
Un algorithme est donc une description dune mthode particulire pour solutionner un problme. Un algorithme est une faon dexpliquer comment rsoudre un problme. La solution en est prsente tape par tape. Lalgorithme peut tre dcrit de plusieurs manires mais dune faon non ambigu. Chaque discipline a constitu un vocabulaire qui lui est propre pour dcrire comment les choses sont faites. Des langages sans ambigut, tels que FORTRAN, PASCAL, C, C++, ..., ont t conus pour la description des algorithmes aux ordinateurs.
La dfinition dun algorithme devrait dcrire trois parties lentre (donnes), le processus (traitement) et la sortie (rsultats). Lentre est une chose qui existe et qui est utilise par lalgorithme. Lentre, dans le cas dune recette par exemple, est constitue des ingrdients et des ustensiles utiliss. La sortie dune recette de cuisine est en gnral quelque chose de bon manger. Un algorithme dcrira donc comment lentre est transforme en sortie.

II.4. Proprits dun Algorithme :
Un algorithme doit tre identifi par un nom significatif. Un nom significatif est un nom qui a un rapport avec la solution du problme pos.
Un algorithme doit tre prcis Il doit indiquer lordre des tapes qui le constituent. Il doit galement prciser clairement quand il faut cesser une action pour en entreprendre une autre. Pour la recette dun gteau par exemple, une liste des ingrdients ne suffit pas, il faut savoir comment les combiner. Un algorithme doit expliquer comment choisir entre les diffrentes possibilits.
Un algorithme doit tre bien dfini. Une deuxime excution de lalgorithme doit produire le mme type de rsultats que la premire. Deux personnes suivant une recette de tarte doivent prparer et obtenir le mme type de tarte. Si ce nest pas le cas, cest soit quelles nont pas utilis les mmes marques dingrdients, soit quelles ont chang quelque chose dautre.
Un algorithme doit tre fini. Si vous suivez lalgorithme, vous devez ventuellement vous arrter. Prenons le cas dune personne qui pense un nombre entier, positif, ngatif ou nul. Nous voulons deviner le nombre auquel elle pense. Considrons lalgorithme suivant: on essaie 0, puis 1, puis 2, etc. On continue ainsi avec les nombres positifs, puis on essaie 1, puis 2, etc. Le procd est cens sarrter lorsque lon a devin le nombre. Si la personne pense un nombre ngatif, nous ne trouveront jamais la rponse, puisque nous essayons dabord les nombres positifs ensuite les nombres ngatifs et nous npuiserons jamais la liste des nombres positifs. Un meilleur algorithme serait : on essaie 0, puis 1 et 1, puis 2 et 2, etc. On continue ainsi en essayant les nombres positifs et ngatifs, lun aprs lautre jusqu deviner le bon nombre. Nous constatons que le deuxime algorithme se termine, ce nest pas forcment le cas du premier.



II.2.2. Etapes de vie dun algorithme:
La premire tape dans llaboration dun algorithme consiste dfinir le problme. Si vous ne savez pas o vous allez, vous ne pourrez pas vous rendre compte o vous vous tes rendu. Souvent les problmes rsoudre sont mal poss. Lentre ou la sortie peuvent ne pas tre clairement dfinies.
Une fois le problme dfini, nous pouvons commencer penser la solution. Nous examinons plusieurs approches gnrales afin de rsoudre le problme. Notre premire solution nest pas ncessairement la meilleure. Examinons le problme consistant trouver un mot dans un dictionnaire. Nous pouvons chercher le mot de faon squentielle jusqu le trouver. Un tel algorithme serait facile dcrire mais serait trs lent. Nous pouvons profiter des indications en haut des pages du dictionnaire et le feuilleter jusqu la bonne page. Nous pouvons ensuite parcourir cette page. Cette algorithme est plus difficile dcrire mais beaucoup plus rapide excuter. Evidemment, dans cet exemple le choix est clair, mais ce nest pas toujours le cas.
Lalgorithme est alors construit partir de la mthode choisie en utilisant une approche descendante. A partir de lesquisse de la solution, nous dfinissons les dtails de chaque tape. Cette laboration se poursuit jusqu ce que nous soyons sr davoir compltement rsolu le problme. Cela implique dutiliser jusqu un certain point des algorithmes existants. Par exemple, lorsque nous arrivons une tape qui demande de raliser quelque chose que nous avons dj expliqu, nous pouvons nous en inspirer.

Une fois lalgorithme termin, nous passons sa rdaction (traduction) dans un langage de programmation. Lcriture proprement dite des noncs dans un langage de programmation est appele codage . La squence dnoncs produits s appelle code ou programme . Il est important de ne pas commencer le codage avant que lalgorithme ne soit clairement dfini.
Les parties de programme peuvent tre vrifies au fur et mesure. Cela veut dire quil faut les donner lordinateur et voir ce quil en fait. Il vaut mieux vrifier les diffrentes parties dun programme sparment avant de les mettre ensemble, surtout lorsquil sagit dun gros programme. Autrement, il serait trs difficile de dterminer la source des erreurs ou des fautes du programme obtenu. En anglais, on appelle bug une erreur dans un programme. En franais, faute dun terme spcifique, on parlera derreurs ou de fautes dans un programme. La dtection et la correction des erreurs dun programme sappelle la mise au point . La mise au point requiet lessai des diffrents cas que le programme est cens traiter. Si lon dtecte une erreur, tel un rsultat erron, il faut en trouver lorigine. Pour chaque erreur, on essaie dimaginer une modification du programme qui rgle le problme. Certains de ces modifications peuvent rgler plus dun problme la fois, comme elles peuvent en crer de nouveaux. Pour cette raison, il faut vrifier nouveau le programme afin de sassurer que le programme fonctionne encore dans les cas dj vrifis.
La vrification du programme et la correction des erreurs se poursuit jusqu ce que tous les cas aient t vrifis et quil ny ait plus derreurs apparentes. La vrification dun programme ne peut que rvler la prsence de problmes, en aucun cas elle ne peut indiquer leur absence. Le programme peut donc contenir des erreurs que nous navons pas encore trouves, parce quil est souvent impossible dessayer tous les cas possibles.
Une fois le programme mis au point, il est mis en service pour un traitement sur des donnes relles. Au fur et mesure de son utilisation, les utilisateurs peuvent dsirer des amliorations ou noter des cas non prvus au dpart. Tout cela nous amne la phase de maintenance du programme. Il faudra modifier le programme pour quil puisse satisfaire la demande. Parfois les changements seront effectus par le programmeur original, parfois par une autre personne. Lorsquon nous donne un programme modifier, il nous faut dabord comprendre la faon dont il fonctionne, puis imaginer comment le modifier. Dans bien des cas, ce processus est plus coteux que lcriture initiale du programme! De bonnes habitudes de programmation, comme crire un code limpide et fournir une bonne documentation, peuvent faciliter de beaucoup la maintenance des programmes.

II.5. Formalisme Algorithmique (Reprsentation dun algorithme) :
Un algorithme peut tre reprsent laide de :
- Un organigramme
- Une suite de primitives algorithmiques

II.5.1. Organigramme :
Un organigramme est un diagramme constitu de symboles gomtriques et de flches les reliant. Il sert donner une reprsentation visuelle dun algorithme en indiquant la succession des actions permettant de rsoudre un problme particulier.

II.5.1.1. Symboles des organigrammes :
Quatre symboles de base suffisent en gnral pour reprsenter nimporte quel algorithme. Ces symboles sont les suivants :

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image008.gif[/IMG]
(Forme Ovale) : Symbole Terminal



[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image009.gif[/IMG]

(Paralllogramme) : Symbole dEntre / Sortie



[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image010.gif[/IMG]

(Rectangle) : Symbole de traitement



[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image011.gif[/IMG]


(Losange) : Symbole de dcision


o :
Le symbole terminal : Ce symbole indique le commencement ou la fin de lorganigramme
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image012.gif[/IMG][IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image013.gif[/IMG]


Le symbole Entre/Sortie : Ce symbole est en gnral accompagn dune lecture ou dune
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image014.gif[/IMG][IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image015.gif[/IMG] criture.



Le symbole de traitement : Ce symbole indique une opration de traitement


Trier sur le nom





Le symbole de dcision : Les botes en forme de losange indiquent un point de lorganigramme o plusieurs chemins peuvent tre choisis. Le choix qui est fait dpend de la rponse une question, ou du rsultat dun test. La question (ou le test) est insr dans le symbole, et les flches partant du symbole sont tiquetes par les diffrents rsultats, par exemple oui , non , ou vrai , faux , positif , ngatif , zro


[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image016.gif[/IMG]

Oui Non






[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image017.gif[/IMG]
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image018.gif[/IMG]



Exemple dorganigramme: Soit rsoudre lquation AX + B = 0
Lalgorithme reprsent sous forme dorganigramme donnant une solution ce type de problme est le suivant :











[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image019.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image020.gif[/IMG]


[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image021.gif[/IMG]













[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image022.gif[/IMG] Non Oui










[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image023.gif[/IMG]
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image024.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image025.gif[/IMG]
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image026.gif[/IMG]







X = - B/A

Oui Non










[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image027.gif[/IMG]
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image028.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image029.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image030.gif[/IMG]


















II.5.2. Primitives Algorithmiques:
Une primitives algorithmique est la forme la plus simple que lon peut utiliser pour crire un algorithme. Il existe deux classes de primitives algorithmiques:
Les primitives algorithmiques simples et les primitives algorithmiques rptitives.
II.5.2.1. Primitives Algorithmiques Simples :
Les primitives algorithmiques simples ne sont excutes quune seule fois dans un algorithme. Elles se prsentent sous deux formes:

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image031.gif[/IMG]Si <condition> Alors
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image032.gif[/IMG]Dbut
Action(s)
Fin
Finsi
Si la condition est vrifie, les actions sont excutes,
Si la condition nest pas vrifie, aucune action nest excute.

Exemple:
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image033.gif[/IMG] Si Il pleut Alors
Je prends mon parapluie
Finsi
Dans le cas o il ny a quune seule action, les mots dbut et fin
peuvent ne pas tre utiliss.

Exemple:
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image034.gif[/IMG] Si Je suis malade Alors
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image035.gif[/IMG] Dbut
Je consulte un mdecin
Jachte des mdicaments
Je prends les mdicaments
Fin
Finsi
Dans le cas o il y a plusieurs actions, les mots dbut et fin
deviennent indispensables.
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image036.gif[/IMG]Si Condition Alors
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image037.gif[/IMG]Dbut
Actions1
Fin
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image038.gif[/IMG] Sinon
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image037.gif[/IMG] Dbut
Actions2
Fin
Finsi
Si la condition est vrifie, les actions actions1 sont excutes.
Si la condition nest pas vrifie, les actions actions2 sont excutes.
Exemple:
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image039.gif[/IMG] Si jai de largent Alors
Je prends un taxi
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image040.gif[/IMG] Sinon
Je prends le bus
Finsi
Exemple:
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image041.gif[/IMG] Si jai de largent Alors
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image042.gif[/IMG] Dbut
Je pars en avion
Jhabite dans un grand hotel
Je mange dans de grands restaurants
Fin
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image043.gif[/IMG] Sinon
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image044.gif[/IMG] Dbut
Je pars en bus ou en train
Jhabite dans une cit universitaire
Je mange dans des gargottes
Fin
Finsi
Action1 et Action2 peuvent tre composes dune ou de plusieurs
actions. Si elles ne contiennent quune action, les mots dbut et fin
peuvent ne pas tre utiliss, mais si elles contiennent plus dune action,
les deux mots sont indispensables.

II.5.2.2. Primitives Algorithmiques Rptitives:
Les primitives algorithmiques rptitives se rptent autant de fois quune condition est vrifie. Elles se prsentent sous deux formes:
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image035.gif[/IMG]Tantque < Condition > Faire
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image037.gif[/IMG]Dbut
Action(s)
Fin
FinTantQue

Exemple: Soit un sac contenant des pommes de terre (patates). On veut
les plucher. Nous obtenons la forme algorithmique suivante de la solution:
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image045.gif[/IMG] TantQue Sac non vide Faire
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image046.gif[/IMG] Dbut
Je prends une patate
Jpluche la patate
Fin
FinTantQue
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image035.gif[/IMG]Rpter
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image033.gif[/IMG] Dbut
Action(s)
Fin
Jusqu < Condition >

Exemple:
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image047.gif[/IMG] Rpter
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image048.gif[/IMG] Dbut
Je prends une patate
Jpluche la patate
Fin
Jusqu Sac vide
II.5.3. Notion de Constante et de Variable:
II.5.3.1. Constante:
Une constante est une valeur qui ne peut tre modifie au cours de lexcution dun algorithme.
Exemple: Mohamed, 45

II.5.3.2. Variable:
Une variable peut prendre plusieurs valeurs pendant lexcution dun algorithme. Une variable est identifie par un nom. Ce nom est constitu laide dune suite de 8 caractres alphanumriques (alphabtiques et numriques) au maximum, le premier caractre tant obligatoirement alphabtique.
Exemple de variables:
CAPACITE, AGE, TAILLE, SOMME : noms de variables corrects
1V13, R1+R2, 2W, TABLE?: noms de variables incorrects

II.5.3.3. Types de Donnes:
Les types de donnes les plus courants sont: Entier, Rel, Caractre, Logique.
Entier: les valeurs appartenant lensemble {0,1, .......}
Exemple: 15 est une constante de type entier
Rel: les valeurs appartenant lensemble Â.
Exemple: 25,78 est une constante de type rel
Caractre: toutes les valeurs encadres par des ....
Exemple: Mohamed est une constante de type caractre
Logique: les valeurs appartenant lensemble {vrai, faux}

Une variable peut galement avoir le type entier, rel, caractre ou logique. Une variable ne peut contenir quun seul type de valeur la fois pendant lexcution dun algorithme.

II.5.4. Actions de Base dans un Algorithme/Organigramme:
II.5.4.1. Affectation:
Cette opration consiste mettre une valeur dans une variable: on dit affecter une valeur une variable. Le symbole utilis est
Exemple: VAR 28

II.5.4.2. Initialisation:
Cette opration est une affectation qui consiste donner une valeur initiale une variable.
Exemple: VAR1 10 /* variable de type entier */
VAR2 initialisation /* variable de type caractre */
VAR3 25,89 /* variable de type rel */
VAR4 VRAI /* variable de type logique */

II.5.4.3. Incrmentation:
Cette opration est une affectation qui consiste prendre la valeur contenue dans une variable, lui ajouter une valeur et affecter le rsultat dans la mme variable.
4

Exemple: VAR 4 VAR
Le rsultat aprs laffectation sera:
5

VAR VAR + 1 VAR
Le rsultat aprs lincrmentation sera:

II.5.4.4. Dcrmentation:
Cette opration est une affectation qui consiste prendre la valeur contenue dans une variable, lui enlever une valeur et affecter le rsultat dans la mme variable.
3

Exemple: VAR 3 VAR
Le rsultat aprs laffectation sera:
2

VAR VAR 1 VAR
Le rsultat aprs la dcrmentation sera:
II.5.5. Exemple Gnral 1:
Soit crire un algorithme et un organigramme qui calculent la somme des 20 premiers nombres entiers.
Nous allons utiliser deux variables :
La variable SOMME qui va contenir la fin du traitement la somme 1+2+3++20
La variable ENT qui va contenir chaque fois lentier additionner.
La manire que nous allons utiliser pour rsoudre ce problme est la suivante :
Nous devons faire deux initialisations :
La variable SOMME ne contient rien au dpart, on doit donc linitialiser 0,
La variable ENT doit contenir au dpart le premier entier additionner, on doit donc linitialiser 1.
Par la suite, nous devons additionner le premier entier, ce qui donne une incrmentation de la valeur de la variable SOMME :
SOMME SOMME + ENT,
ce qui donne SOMME 0 + 1, en remplaant SOMME et ENT par les valeurs quelles contiennent, donc la nouvelle valeur de SOMME est 1.
Maintenant, nous devons ajouter le deuxime entier, nous devons donc incrmenter ENT pour obtenir le deuxime entier :
ENT ENT + 1,
ce qui donne ENT 1 + 1, donc la valeur de ENT devient gale 2.
Nous allons ajouter cette nouvelle valeur SOMME, ce qui nous donne
SOMME SOMME + ENT,
cest dire SOMME 1 + 2, donc la nouvelle valeur de SOMME est 3.
Nous devons continuer ainsi jusqu ajouter le dernier entier (lentier 20).
Nous constatons que nous devons faire un travail qui se rptent pour chaque entier de 1 20. En fait, les deux oprations qui se rptent sont :
- lincrmentation de la variable SOMME pour ajouter lentier ajouter
- lincrmentation de la variable ENT pour obtenir lentier suivant ajouter


Ce qui nous donne :





1. lOrganigramme suivant :





[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image049.gif[/IMG]


[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image050.gif[/IMG]



[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image051.gif[/IMG]

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image052.gif[/IMG]
















2. Lalgorithme suivant :
Algorithme SOM:
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image053.gif[/IMG]Dbut
SOMME 0 /* Initialisation */
ENT 1 /* Initialisation */
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image054.gif[/IMG]TantQue ENT <= 20 Faire
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image055.gif[/IMG] Dbut
SOMME SOMME + ENT /*Incrmentation*/
ENT ENT + 1 /*Incrmentation*/
Fin
FinTantQue
Ecrire (La somme des 20 premiers entiers est:,SOMME)
Fin

II.5.6. Exemple Gnral 2:
Supposons que lon veuille apprendre lordinateur comment il doit faire pour additionner deux nombres entiers de deux chiffres chacun.
Exemple :
2 5
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image056.gif[/IMG] + 4 9
= 7 4
Pour obtenir 74, nous suivons les tapes suivantes :
1. Prendre les chiffres 5 et 9 et les additionner pour obtenir 14 qui est suprieur 10
Þ nous avons une retenue
2. Ecrire 4 dans le rsultat et garder 1 comme retenue
3. Prendre les chiffres 2 et 4 et les additionner pour obtenir 6, ajouter la retenue au rsultat obtenu, ce qui donne 7
4. Ecrire 7 dans le rsultat pour obtenir finalement 74.
Nous devons donc expliquer lordinateur toutes les tapes faites manuellement pour lui apprendre faire une addition de deux nombres entiers de deux chiffres chacun.
Etapes logiques de rsolution :
1. Obtenir le chiffre des units du premier nombre
2. Obtenir le chiffre des units du deuxime nombre
3. Obtenir le chiffre des dizaines du premier nombre
4. Obtenir le chiffre de dizaines du deuxime nombre
5. Additionner les chiffres des units du 1er nombre et du 2me nombre
6. Voir sil y a un retenu
7. Additionner les chiffres des dizaines du 1er nombre et du 2me nombre
8. Ajouter la retenu au rsultat obtenu si elle existe
9. Reconstituer le rsultat de laddition
Nous pouvons maintenant crire un algorithme et un organigramme qui font laddition de nimporte quels nombres entiers de deux chiffres chacun :
Variables utilises :
A,B,R : les deux nombres entiers additionner et le rsultat de laddition
CUA,CUB : variables contenant les chiffres des units de A et de B
CDA,CDB : variables contenant les chiffres des dizaines de A et de B
CUR,CDR : variables contenant le chiffre des units et le chiffre des dizaines du
rsultat
Toutes les variables utilises sont de type entier.

Organigramme ADDITION :





[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image057.gif[/IMG]


[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image058.gif[/IMG]














[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image059.gif[/IMG][IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image060.gif[/IMG] CUR CUR 10
CDR CDR + 1

OUI





[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image061.gif[/IMG]
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image062.gif[/IMG]


NON

[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image063.gif[/IMG]









Algorithme ADDITION (Entre: A,B Sortie: R) :
/* Dclarations des variables utiliser */
A,B,R : Entier

Advertisement

CUA,CDA,CUB,CDB,CUR,CDR : Entier
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image064.gif[/IMG]Dbut
Lire (A,B)
CUA Reste (A / 10)
CDA A / 10
CUB Reste (B / 10)
CDB B / 10
CUR CUA + CUB
CDR CDA + CDB
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image065.gif[/IMG]Si CUR > 10 Alors
[IMG]file:///C:/DOCUME%7E1/OMAR/LOCALS%7E1/Temp/msohtmlclip1/01/clip_image066.gif[/IMG] Dbut
CUR CUR 10 /*Enlever 10 Þ Obtenir chiffre des units du rsultat/
CDR CDR + 1 /* Ajouter la retenue */
Fin
Finsi
R CDR x 10 + CUR
Ecrire (Le rsultat de A + B est gal : ,R)
Fin


     

(Tags)
informatique, ufc

« - | - »


cours d'algorithmique premier anne mathmathique et informatique maram 0 31-10-2011 08:18 PM
Informatique 0 25-09-2010 09:30 PM

sitemap

Google Adsense Privacy Policy   

 abuse@alg17.com


10:01 PM.

- 2018 - - -

Powered by vBulletin Version 3.8.11 Alpha 3
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd
Translation by Support-ar
adv helm by : llssll

Search Engine Friendly URLs by vBSEO

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138