Informatique de Base Mail2
-
Upload
hicham-elkadiri -
Category
Documents
-
view
217 -
download
0
Transcript of Informatique de Base Mail2
-
7/23/2019 Informatique de Base Mail2
1/22
1
INFORMATIQUE DE BASE
Anne universitaire 2011-2012
Yassine El Ghoumari
1re anne ENCGC
Informatique = Information + Automatique
Dfinition
Yassine El Ghoumari
traitement automatique de linformationpar des machines
Histoire delinformatique
Yassine El Ghoumari
Utilisations de systmes primitifs base 5, 10, 60
Les systmes numriques
Linvention du calcul
Yassine El Ghoumari
, , , ,
calculer nest pas trivial !
vritable savoir et matrise de ces systmes pour raliserdes oprations de base
apparition du 0 au XIIe sicle en Europe et mise en place dela numrotation dcimale
La mcanisation du calcul
Les abaques : boulier
Yassine El Ghoumari
1614 Lcossais John Neper (Napier, 1550-1617) invente leslogarithmes
simplifier les calculs trigonomtriques en astronomie consiste remplacer une multiplication par une addition +lecture dune valeur dans une table
La mcanisation du calcul
Yassine El Ghoumari
-
7/23/2019 Informatique de Base Mail2
2/222
Exemple : on veut calculer :
2 5 x 2 4
Premire mthode : poser le calcul
La mcanisation du calcul
Yassine El Ghoumari
192320
32x 16
512
fastidieux
erreurs
Deuxime mthode (Neper) : utiliser une table
2 5 x 2 4 = 2 (5+4) = 2 9
La mcanisation du calcul
8
N 1 2 3 4 5 6 7 8 9
2N 2 4 8 16 32 64 128 256 512
1632 William Oughtred invente la rgle calcul base surle principe des logarithmes
utilise pour les calculs scientifiques jusquen 1970
La mcanisation du calcul
9
Les premires machines calculer
1623 Schikard
1642 Pascaline Bl Pascal)
La mcanisation du calcul
10
1642 Pascaline Bl. Pascal)
addition, soustraction
1670 LeibnizGottfried Leibniz)
pascaline + mult, div, racine carre
1830 Colmar (Charles XavierThomas)
Arithmomtre
LAube de la rvolution industrielle
La mcanisation du calcul
11
1728 Falcon construit un mtier tisser command parplanchette de bois
1805 Jacquard perfectionne le modle et utilise descartes en carton perfores
1822 Machine diffrentielle Ch Babbage)
2000 pices de cuivre faites main, 2 tonnes
Calcul du mouvement des plantes
La mcanisation du calcul
12
Concept de registre
1830 Machine Analytique Ch Babbage)
50.000 pices
capable de prendre des dcisions en fonctiondes rsultats prcdents (contrle de squence,branchements et boucles)
ralise entre 1989 et 1991 bi-centenaire de lanaissance de Babbage
-
7/23/2019 Informatique de Base Mail2
3/223
1843 Augusta Ada Comtesse de Lovelace
Description de la machine analytique
Premiers programmes (Algorithmes)
Boucles et branchements
La mcanisation du calcul
13
Ada 1979)
Langage de programmation J. Ichbiach)
1890 Hermann Hollerith construit un calculateurstatistique lectromcanique
plus performant que les calculateurs mcaniques
Les calculateurs lectromcaniques
Yassine El Ghoumari14
utilisation de cartes perfores utilis pour le recensement amricain de 1890fonde la Tabulating Machine Company => IBM (InternationalBusiness Machines)
Avances Technologiques
Les calculateurs lectromcaniques
15
1904 Diode par John Fleming
1907 Triode par L De Forest
ENIAC Electronic Numerical Integrator And Calculator)
construit par larme amricaine entre 1943 et 1945, Philadelphie
5000 additions par secondes
La premire gnration dordinateurs
16
500.000 dollars
30 tonnes
30 m de long x 2,50 haut 160 m2
1.500 relais, 17.468 tubes vide
problmes lis la chaleur et la consommation lectrique
premier bug
1948 Invention du Transistor bipolaire Jonction
Walter H. Brattain, John Bardeenet William Shockley aux Bell Labs
Avantages du Transistor
La seconde gnration dordinateurs
17
1957 FORTRAN par John Backus dIBM
1958 Invention du Circuit Intgr par
Jack Kilby de Texas Instruments
miniaturisation)
La troisime gnration dordinateurs
18
)
1961 FairChild Corp commercialise lapremire srie de circuits intgrs
1968 Premier ordinateur avec Circuitsintgrs
-
7/23/2019 Informatique de Base Mail2
4/224
1971 : le 4004 pour Busicom conu par Ted Hoff
1968 Intel (Gordon Moore, Robert Noyce, Andy Grove)
Le microprocesseur
19
La quatrime gnration
20
Galette wafer)
Lre de la Micro-Informatique
21
Depuis 1980
Dvelopp pour lINRA par Andr Truong et Franois Gernelle
La micro-informatique
22
e cra 8500 F Intel 8008
1974 + Ecran + Clavier 1975 + Disque dur
Tout commena dans un garage 1976
Steve Jobs et Steve Wozniak mettentau point le premier Apple
La micro-informatique
23
MOS 6502 1 Mhz8 ko RAM$666.66
Macintosh 1984Motorola 68000, 8 Mhz128 ko RAM$2500
Diversit des micro-ordinateurs / systmes
La micro-informatique
24
-
7/23/2019 Informatique de Base Mail2
5/225
MOS 6502, 5 ko RAM, 2500 F
MOS 6502, 8 ko RAM, 8600 F
La micro-informatique
25
MOS 6510, 64 ko RAM, 4000 F
Lecteur disquette 4000 F
1981 IBM PC 5150 Personal ComputerIntel 8088 4.77 MHz64 Ko de Ram,
La micro-informatique
26
,lecteur de disquettes 5"25systme d'exploitation PC-DOS 1.03000 $
Uniformisation
Lre du Numrique
27
Depuis 1990
1981 Philips commercialise le Compact Disk
1988 CD-R
Lre du Numrique
28
1996 DVD
1992 norme MPEG
Les ordinateurs multi-cores : 2005
Actuellement
29
Core 2 duo : i3, i5, i7: processeur avec carte graphique intgre
Le futur
30
-
7/23/2019 Informatique de Base Mail2
6/226
Biologique (ADN)
Les ordinateurs de demain
Le futur
31
Optique (Photon)
Quantique (Spin lectron)
Neuronal (coupl aux neurones) Nanopuce Supraconducteur
Rsolution dun problme mathmatique avec un chantillondADN
Lordinateur Biologique
32
Capable de deffectuer de simples oprations comme identifierdes chiffres binaire
1000 milliard de machines calculer dans une goute deau
Consommation en nergie infinitsimale
Fiabilit de 99,9%
Repose sur des proprits quantiques de la matire
L'lment de base de l'ordinateur quantique : le qubit
Lordinateur Quantique
33
Un ordinateur de 100 qubits permettrait de simuler lefonctionnement de tout un cerveau humain
Un de 300 qubits l'volution de l'univers entier depuis leBig Bang
Les ordinateurs quantiques actuels n'ont pour le momentque 7 qubits
Architecture desordinateurs
Yassine El Ghoumari
Dfinition dun ordinateur
Machine qui :
35
,
stocke (mmoire),
traite (programmes)
restitue (priphriques de sortie) desinformations
Schma fonctionnel
UCUCDonnesDonnes
InstructionsInstructionsRsultatsRsultats
SaisieSaisie RestitutionRestitutionTraitementTraitement
36
Priphriques de sortiePriphriques de sortie
EcranModem
ImprimanteHaut arleur
Priphriques dentrePriphriques dentre
Modem
Micro
Clavier
Souris
CamraCD-ROM
JoystickScanner
Mmoires auxiliairesMmoires auxiliaires
Disquette
Disque dur
moremore
-
7/23/2019 Informatique de Base Mail2
7/227
Constituants
Composants matriels (Hardware) Tout ce qui compose lordinateur et ses
accessoires
37
Chaque composant possde une fonctionparticulire calcul stockage des donnes affichage vido gestion du clavier...
Logiciel (Software)
immatriel (non tangible) ensemble de programmes excutables par lordinateur
Constituants
38
Diffrents types de logiciels systme dexploitation (MS-DOS, Windows, Unix) logiciels standards comme Word, Excel... progiciels : logiciels spcifiques (paye, comptabilit, ...)
Le logiciel pilote le matriel
Codage binaire
Le langage des ordinateurs
'
39
l'ordinateur sont faites avec des signaux
lectriques 0: teint (absence de signal lectrique) 1: allum (prsence de signal lectrique)
Un mme nombre peut tre reprsentdans plusieurs bases 123 en base 10 dcimal
Codage binaire
40
1111011 en base 2 (binaire)
173 en base 8 (octale) 7B en base 16 (hexadcimale)
De la base 10 la base 2 Il faut diviser le nombre par 2 puis ritrer
l'opration en considrant que le nouveau' '
Codage binaire
41
num ra eur es anc en quo en usqu ce que cedernier soit nul. La suite inverse des restesreprsente le nombre binaire
Exemple
42
Ecrire 10 en base 2
-
7/23/2019 Informatique de Base Mail2
8/228
Codage binaire
Les oprations lmentaires en base 10sappliquent de la mme faon en base 2 Exem le: Addition soustraction multi lication
43
division
Schma fonctionnel
44
Lunit Centrale
Fonctions
Slectionner et excuter les instructions du programmeen cours
45
Lunit Centrale
Partie de lordinateur qui contient les circuits de base la mmoire principale
la mmoire vive (RAM) la mmoire morte ROM
46
la mmoire cache le microprocesseur
les circuits de calcul (UAL-Lunit arithmtique etlogique) lunit de contrle ou de commande UC
lhorloge systme lunit dentre-sortie
Elle contrle et synchronise le microprocesseur et lescomposants associs
Sa vitesse (frquence) est exprime gnralement en
Lhorloge
47
- -seconde
Lefficacit du microprocesseur est directementproportionnelle la frquence de lhorloge : une frquenceleve est donc souhaitable
Exemples: Intel i7, environ 3,4 GHz
Lunit dentre-sortie
contrle et gre le transfert dinformations entre lUC et lespriphriques
48
carte graphique (cran) carte contrleur (disque dur) carte son (micro, haut-parleur)
-
7/23/2019 Informatique de Base Mail2
9/229
Les Priphriques
DfinitionTout ce qui gravite autour de lUC cest--dire lcran, leclavier, la souris, les mmoires auxiliaires, limprimante,
-
49
, , ....
3 Catgories de priphriques
dentre (clavier, souris, scanner, joystick)de sortie (cran, imprimante, haut-parleur)les mmoires auxiliaires (disque dur, disquette, CD-ROM)
Dfinition
Recueillent les informations qui sont ensuite transformes(numrises i.e. codes en binaires) pour tre utilisablespar la machine et t ransfres en mmoire principalemmoirede lUC
Les Priphriques dentre
50
Exemples clavier souris : dispositif de pointage complmentaire du clavier et
de lcran
scanner : permet de numriser un document autres : cran tactile, lecteur de codes barres, crayon
optique, camra, joystick...
Les Priphriques de sortie
Dfinition Transmettent linformation binaire de lUC vers
lextrieur sous une forme comprhensible parlutilisateur
51
Exemples
cran imprimante haut-parleurs
Dfinition
Dispositif capable denregistrer, de stocker et de restituer desinformations
Trois types
La Mmoire
52
RAM ou mmoire vive ROM ou mmoire morte Mmoire de masse ou secondaire
Unit de stockage: Un composant lectronique capable demmoriser des tensions: BIT (Binary DigiT) : unit de stockage lmentaire Les informations sont codes en binaires composs de 0 et de 1
Units de mesure
1octet = 8 bits
La Mmoire
53
1Ko (Kilo octet) 1 000 octets
1Mo (Mga octet) 1 000 000 octets
1Go (Giga octet) 1 000 000 000 octets
1To (Tra octet) 1 000 000 000 000 octets
Units de mesure
1octet = 8 bits
La Mmoire
54
1Ko (Kilo octet) =1 024 octets (210 octets)
1Mo (Mga octet) = 1 048 576 octets (220 octets)
1Go (Giga octet) = 1 073 741 824 octets (230 octets)
1To (Tra octet) = 1 099 511 627 776 octets (240 octets)
-
7/23/2019 Informatique de Base Mail2
10/2210
Structure La mmoire est organise en cellules (octets ou mots) Chaque cellule est repre par son adresse qui permet
lordinateur de trouver les informations dont il a besoin
La Mmoire
55
o es acc s a m mo re En lecture : aucun effet sur le contenu En criture : modifie son contenu
Caractristiques Capacit : nombre doctets Accs
direct : grce ladresse, accs
La Mmoire
56
mm a n orma on on par e esupport adressable)
squentiel : pour accder uneinformation, il faut avoir lu toutes lesprcdentes (ex : cassette audio)
Temps daccs : temps coul entre linstanto linformation est demande et celui o elleest disponible (en ms)
Le contenu de la mmoire est compos de donnes et dinstructions
code de lopration lmentaire
La Mmoire
57
donne(s) ou adresse des donnes
Programme Ensemble dinstructions et de donnesTraduites en signaux lectriques
comprhensibles par le matriel
Diffrentes mmoires
La mmoire vive ou RAM (Random Access Memory)
mmoire accs direct taille limite son contenu est volatile, i.e. il est perdu chaque fois que
lordinateur ne fonctionne pas : do le besoin dutiliser de la
58
mmoire auxiliaire rmanente
endroit o lordinateur stocke temporairement les donnes etinstructions (programmes) quil est en train dutiliser etdexcuter
contient tous les programmes en cours dexcution Capacit de 1 Go 4 Go
La mmoire morte
(Read Only Memory)
mmoire permanente et inaltrable
contientdes eti ts ro rammes cri ts ar le constructeur
59
pour la mise en route de lordinateur BIOS (BasicInput/Output System)
identifie les diffrents composants de la machine et vrifieleur bon fonctionnement
La mmoire cache
La transmission entre la RAM et le microprocesseur estplus lente que le potentiel de vitesse du microprocesseur
60
mo re cac e n veau ou zone de mmoire ultra-rapide o sont conserves les
donnes et instructions qui reviennent le plus souvent
mmoire interne de petite taille (dizaines de Ko)Type non-volatile (Flash)
Capacit : 3 Mo
-
7/23/2019 Informatique de Base Mail2
11/2211
Le microprocesseur Le cur de lordinateur : il traite et fait circuler les
instructions et les donnes Compos des lments suivants Unit Arithmtique et Logique (UAL)
61
oprations arithmtiques et logiques debase
Diffrents Registres (CO, Etat, Instruction)
Le microprocesseur
Unit de contrle (ou de commande)
62
du programme en MC, de la faireexcuter par lUAL ou un priphriqueet de chercher linstruction suivante
Elle dcode les instructions et trouveles donnes pour lUAL
Le microprocesseur
63
Un processeur est compos de transistors permettant deraliser des fonctions sur des signaux numriques.
Ces transistors, assembls entre eux forment des
Le microprocesseur
composan s perme an e r a ser es onc ons r ssimples.
A partir de ces composants il est possible de crer descircuits ralisant des oprations trs complexes.
L'algbre de Boole (du nom du mathmaticien anglaisGeorges Boole 1815 - 1864) est un moyen d'arriver crer de tels circuits.
L'algbre de Boole est une algbre se proposant detraduire des signaux en expressions mathmatiques.
Pour cela, on dfinit chaque signal lmentaire pardes variables logiques et leur traitement par des
Le microprocesseur
.
Des mthodes (table de vrit) permettent dedfinir les oprations que l'on dsire raliser, et transcrire le rsultat en une expression algbrique.
un circuit logique un circuit qui schmatisel 'agencement des composants de base (au niveaulogique) sans se proccuper de la ralisation aumoyen de transistors (niveau physique).
Le microprocesseurVariables logiques
Un ordinateur ne manipule que desdonnes binaires, on appelle doncvariable lo i ue une donne binaire,c'est--dire une donne ayant deux tatspossibles: 0 ou 1.
-
7/23/2019 Informatique de Base Mail2
12/2212
Le microprocesseur
Fonction logique
On appelle fonction logique une entitacceptant plusieurs valeurs logiques enentre et dont la sortie il eut en avoir plusieurs) peut avoir deux tats possibles : 0ou 1.
Les fonctions logiques de bases sont appelesportes logiques. Il s'agit de fonctions ayant uneou deux entres et une sortie: La fonction OU (en anglais OR) positionne sa sortie 1
Le microprocesseur
Fonction logique
si l'une ou l'autre de ses entres est 1 La fonction ET (en anglaisAND) positionne sa sortie
1 si ses deux entressont 1 La fonction OU EXCLUSIF (en anglais XOR)
positionne sa sortie 1 si l'une ou l'autre de sesentres est 1 mais pas les deux simultanment
La fonction NON (appele aussi inverseur) positionnesa sortie 1 si son entreest 0, et vice-versa
Lunit dentre-sortie
contrle et gre le transfert dinformations entre lUC et lespriphriques
69
Exemples carte graphique (cran)
carte contrleur (disque dur) carte son (micro, haut-parleur)
Excution dun programme
MCMCMicroprocesseurMicroprocesseurHorlogeHorloge
Unit de ContrleUnit de Contrle
22
33
44
55
70
UALUAL
E/SE/S
11
4444
44
44
Excution dun programme
Chargement des instructions et desdonnes en MC
71
,contrle ...rcupre une instruction et les
donnes ncessaires et les analyse
dclenche le traitement adapt enenvoyant un signal lUAL ou lunit
des entres-sorties
Exemple simplifi Pour calculer 12+5, il faut une suite d'instructions
Transfrer: le nombre 12 saisi au clavier dans la mmoire le nombre 5 saisi au clavier dans la mmoire le nombre 12 de la mmoire vers un registre du
microprocesseur
le nombre 5 de la mmoire vers un registre dumicroprocesseur
demander l'unit de calcul de faire l'addition Transfrer:
le contenu du rsultat dans la mmoire le rsultat (17) se trouvant en mmoire vers l'cran de la
console (pour l'affichage)
-
7/23/2019 Informatique de Base Mail2
13/2213
Bus
On appelle bus, en informatique, est un systmede communication entre les composants d'unordinateur
Les bus ont pour but de rduire le nombre de voies ncessaires la communication desdiffrents composants, en mutualisant lescommunications sur une seule voie de donnes.
Principaux bus le bus systme (appel aussi bus interne). Le bus
systme permet au processeur de communiquer avec lammoire centrale du systme
' ' permet aux divers composants de la carte-mre (USB,srie, parallle, cartes branches sur les connecteursPCI, disques durs, lecteur/graveur de CD-ROM) decommuniquer entre eux mais il permet surtoutl'ajout de nouveaux priphriques grce auxconnecteurs d'extension (appels slots) connectssur le bus d'entres-sorties.
Slots
des prises qui sont prsentes sur la cartemre. Ces connecteurs sont prvus pourrecevoir des cartes supplmentaires
Ce qui diffrencie ces cartes c'est leur rapidit. Dans l'ordre, du plus lent au plus
rapide : Les cartes au format ISA Les cartes au format PCI Les cartes au format AGP
Carte dextension
Permet dajouter des fonctionnalits(souvent de communication) comme parexemple les cartes graphiques, son,modem, usb, etc.
Dans le PC et Mac, il existe aujourdhuideux grandes catgories de carte qui sediffrencient par le bus utilis : PCI et AGP
Carte mre
Carte lectroniquequi permet auxdiffrents
communiquer viadiffrents bus decommunication
On enfiche cescomposants sur desconnecteurs
Quest-ce quun programme
dordinateur?
Le logiciel pilote le matriel
Pour faire marcher un ordinateur il faut lui fournir unprogramme
78
r na eur = ma r e + programme s
Un programme est une suite dinstructions dordinateur
Une instruction est un ordre compris par lordinateur etqui lui fait excut une action
-
7/23/2019 Informatique de Base Mail2
14/2214
Les catgories dordres
les ordinateurs, quels quils soient, ne sontfondamentalement capables de comprendre quequatre catgories d'ordres (en programmation, onn'emploiera pas le terme d'ordre, mais plutt celui
79
d'instructions). Ces quatre familles d'instructionssont : laffectation de variables la lecture / criture les tests les boucles
Langages informatiques
Un langage informatique est un outil permettant dedonner des ordres (instructions) la machine
A chaque instruction correspond une action du processeur
80
Intrt : crire des programmes (suite conscutivedinstructions) destins effectuer une tache donne
Exemple: un programme de gestion de comptes bancaires
Contrainte: tre comprhensible par la machine
Langage machine
Langage binaire: linformation est exprime et manipule sousforme dune suite de bits
Un bit (binary digit) = 0 ou 1 (2 tats lectriques)
81
Une combinaison de 8 bits= 1 Octet possibilits qui permettentde coder tous les caractres alphabtiques, numriques, et symboles tels que ?,*,&,
Le code ASCII (American Standard Code for Information Interchange) donne lescorrespondances entre les caractres alphanumriques et leursreprsentation binaire, Ex. A= 01000001, ?=00111111
Les oprations logiques et arithmtiques de base (addition,multiplication, ) sont effectues en binaire
25628
L'assembleur Problme: le langage machine est difficile comprendre par l'humain
Ide: trouver un langage comprhensible par l'homme qui seraensuite converti en langage machine
AssembleurAssembleur(langage de bas niveau): exprimer les instructionslmentaires de fa on symbolique
82
+ : Un langage symbolique plus proche du langage machine - : Pas assez efficace pour dvelopper des applications complexes
Apparition des langages volus
ADD A, 4
LOAD B
MOV A, OUT
traducteur langage machine
Langages haut niveau
Intrts multiples pour le haut niveau: proche du langage humain anglais (comprhensible) permet une plus grande portabilit ( indpendant du matriel) Manipulation de donnes et dexpressions complexes (rels,
83
o e s, a c,
Ncessit dun traducteur (compilateur/interprteur),
excution plus ou moins lente selon le traducteur
Code sourceCode source
en langage voluen langage volu
Compilateur ouCompilateur ouLangage machineLangage machine
interprteurinterprteur
Compilateur/interprteur
Compilateur: traduire le programme entier une fois pour toutes
+ lus ra ide lexcution
exemple.c CompilateurCompilateur
fichier sourcefichier source
exemplefichier excutablefichier excutable
excutionexcution
84
+ scurit du code source - il faut recompiler chaque modification
Interprteur: traduire au fur et mesure les instructions duprogramme chaque excution
+ excution instantane apprciable pour les dbutants - excution lente par rapport la compilation
exemple.basfichier sourcefichier source
Interprtation+excutionInterprtation+excution
-
7/23/2019 Informatique de Base Mail2
15/2215
Langages de programmation:
Deux types de langages:
Langages procduraux : sont base de procdures. Uneprocdure est une portion de programme crit en langage de hautniveau qui accomplit une tche spcifique ncessaire au
85
.
Langages orients objets : sont des langages non procdurauxdans lesquels les lments du programme sont considrs commedes objets qui peuvent s'changer des messages.
Choix dun langage?
Principaux Langages de
programmation:
Pascal
Blaise PASCAL,mathmaticien et inventeur de
la premire machine calculer 1971
Langage compil et structur,driv d'ALGOL. c'est un
langage de dveloppementstandard pour les micro-ordinateurs.
C'est une version amlioredu langage de programmation
Langage de programmationstructur et compil, trs
86
C B du Bell Laboratory, cr en1972
largement employ car sesprogrammes peuventfacilement se transfrer d'untype d'ordinateur un autre.
Maple Nasa 1980 de SUN couvrir tous les domainesDapplication formel
Java Microsystems 1990 Ce langage connat unsuccs qu'aucun autrelangage n'avait encore connu.
Etapes de ralisation dun programme
SpcificationSpcification
AnalyseAnalyse
Enonc du problmeEnonc du problme
Cahier des chargesCahier des charges
AlgorithmeAlgorithme
87
Traduction en langageTraduction en langage
CompilationCompilation
Tests et modificationsTests et modifications
Programme sourceProgramme source
Programme excutableProgramme excutable
Version finale et rsultatsVersion finale et rsultats
La ralisation de programmes passe par l criture dalgorithmesDo lintrt de lAlgorithmique
Pourquoi apprendre lalgorithmique
pour apprendre programmer ?
Un algorithme est une description complte et dtaille des actions effectuer et de leur squencement pour arriver un rsultat donn
Intrt: sparation analyse/codage (pas de proccupation de syntaxe)lalgorithmique exprime les instructions rsolvant un problme donn
88
n pen ammen es par cuar s e e ou e angage.
Qualits: exact (fournit le rsultat souhait), efficace (temps dexcution,mmoire occupe), clair (comprhensible), gnral (traite le plus grand
nombre de cas possibles),
Pour prendre une image, si un programme tait une dissertation,lalgorithmique serait le plan, une fois mis de ct la rdaction etlorthographe. Mieux faire dabord le plan et rdiger ensuite quelinverse
Reprsentation dun algorithme
Historiquement, deux faons pour reprsenter un algorithme:
LOrganigramme:LOrganigramme: reprsentation graphique avec des symboles(carrs, losanges, etc.)
offre une vue densemblede lal orithme
89
reprsentation quasiment abandonne aujourdhui
Le pseudoLe pseudo--code:code: reprsentation textuelle avec une srie deconventions ressemblant un langage de programmation (sansles problmes de syntaxe)
plus pratique pour crire un algorithme reprsentation largement utilise
Exemple de pseudo code
problme du tri
Entre: une squence de nnombres (a1, : : : ,an)
90
: : : ;an) de la squencedentre: a1
-
7/23/2019 Informatique de Base Mail2
16/2216
Algorithmique
91
Notions et instructions de baseNotions et instructions de base
Les catgories dordres
Quatre familles d'instructions sont :
Les variables et leurs affectation
92
Les tests Les boucles
Notions Fondamentales (1/2)
Karim possde 3 seaux : un seau en plastique dune contenance de 10 litres,un seau en bois dune contenance de 7 litres et un seau en fer dunecontenance de 9 litres.
10h00 : karim vide ses 3 seaux 10h05 : karim va rendre visite a Nabil, celui-ci met 6 litres dans le seau en bois de
93
Karim 10h10 : karim transverse le contenu de son seau en bois dans le seau en fer 10h15 : karim revient vers nabil remplir ras bord son seau en plastique
10h20 : karim dverse la moiti de son seau en plastique lgout 10h25 : karim transvase le contenu de son seau en plastique dans celui en bois 10h30 : karim transvase 2 litres de son seau en bois dans celui en fer 10h35 : karim informe Asmae du nombre de litres contenu dans ses seaux en
plastique, en bois, en fer.
Quelles sont les quantits des trois seaux que Asmae a reues?
Notions Fondamentales (2/2)
Notion dalgorithme : si les huis phrases sont bien excute par Karim,alors lhistoire est un algorithme
Notion dinstruction : chacune de huis phrases est une instruction (unordre)
Notion de valeur : { 0, 3, 5, 6, 8, 10 }
94
les quantits de liquide
Notion de variable : une variable est un emplacement mmoire, ici on atrois variables (le seau en plastique, le seau en bois et le seau en fer)
Notion denvironnement : cest lensemble des objet, informations,personnes qui on une existence hors de lhistoire mais qui interviennent dansson droulement.
Notion des valeurs dentre et de sortie : cest les valeurs que leprocesseur reoit de lenvironnement et celles quil donne lenvironnementdurant lexucution. Valeurs en entre :{6, 10} Valeurs en sortie = {0, 3, 8}
Notion de variable
Dans les langages de programmation une variablevariable sert stockerla valeur dune donne
Une variable dsigne en fait un emplacement mmoire dont
95
variable)
Rgle : Les variables doivent tre dclaresdclares avant dtreutilises, elle doivent tre caractrises par :
un nom (IdentificateurIdentificateur) un typetype (entier, rel, caractre, chane de caractres, )
Choix des identificateurs (1)
Le choix des noms de variables est soumis quelques rgles quivarient selon le langage, mais en gnral:
Un nom doit commencer par une lett re alphabtiqueexemple valide:exemple valide: AA11 exemple invalide:exemple invalide: 11AA
96
doit tre constitu uniquement de lettres, de chiffres et dusoulignement _ (Eviter les caractres de ponctuation et les espaces)valides:valides: ENCGENCG20072007, ENCG, ENCG__20072007 invalides:invalides: ENCGENCG 20072007, ENCG, ENCG --
20072007, ENCG, ENCG;;20072007
doit tre diffrent des mots rservs du langage (par exemple enJavaJava: intint,, floatfloat,, elseelse,, switchswitch,, case,case, default, for, main, returndefault, for, main, return, )
La longueur du nom doit tre infrieure la taille maximale spcifie
par le langage utilis
-
7/23/2019 Informatique de Base Mail2
17/2217
Choix des identificateurs (2)
Conseil: pour la lisibilit du code choisir des noms significatifs
qui dcrivent les donnes manipulesexemples: TotalVentes2006, Prix_TTC, Prix_HT
97
Remarque: en pseudo-code algorithmique, on va respecterles rgles cites, mme si on est libre dans lasyntaxe
Types des variables
Le type dune variable dtermine lensemble des valeurs quelle peut
prendre, les types offerts par la plus part des langages sont: Type numrique (entier ou rel)Type numrique (entier ou rel)
ByteByte (cod sur 1octet): de 0 255 Entier courtEntier court (cod sur 2 octets) : -32 768 32 767
98
Entier longEntier long (cod sur 4 ou 8 octets) Rel simple prcisionRel simple prcision (cod sur 4 octets) Rel double prcisionRel double prcision (cod sur 8 octets)
Type logique ou boolenType logique ou boolen:: deux valeurs VRAI ou FAUX
Type caractre:Type caractre: lettres majuscules, minuscules, chiffres, symboles,
exemples: A, a, exemples: A, a, 11, ?, , ?,
Type chane deType chane de caractre: toute suite de caractres,exemples: " Nom, Prnom", "code postale:exemples: " Nom, Prnom", "code postale: 10001000", ",
Dclaration des variables
Rappel: toute variable utilise dans un programme doit avoirfait lobjet dune dclaration pralable
En pseudo-code, on va adopter la forme suivante pour ladclaration de variables
''
99
Exemple:
Variables i, j,k : entier
x, y : rel
OK: boolen
ch1, ch2 : chane de caractres
Remarque: pour le type numrique on va se limiter aux entierset rels sans considrer les sous types
Linstruction daffectation laffectation consiste attribuer une valeur une variable
(a consiste en fait remplir o modifier le contenu d'une zone mmoire)
En pseudo-code, l'affectation se note avec le signe
Vare :Vare : attribue la valeur de e la variable Varattribue la valeur de e la variable Var
100
- e peut tre une valeur, une autre variable ou une expression- Var et e doivent tre de mme type ou de types compatibles- laffectation ne modifie que ce qui est gauche de la flche
Ex valides: i1 ji ki+j
xx1010..33 OKFAUXOKFAUX chch11"SMI""SMI"
chch22chch11 xx44 xjxj
(voir la dclaration des variables dans le transparent prcdent)
non valides: ii1010..33 OK"SMI"OK"SMI" jxjx
Quelques remarques
Beaucoup de langages de programmation (C/C++, Java, ) utilisentle signe gal = pour laffectation . Attention aux confusions:
l'affectation n'est pas commutative : A=B es t diffrente de B=A l'affectation est diffrente d'une quation mathmatique :
101
A=A+1 a un sens en langages de programmation A+1=2 n'est pas possible en langages de programmation et n'est
pas quivalente A=1
Certains langages donnent des valeurs par dfaut aux variablesdclares. Pour viter tout problme il est prfrable d'initialiser lesvariables dclares
Exercices simples sur l'affectation (1)
Donnez les valeurs des variables A, B et C aprs excutiondes instructions suivantes ?
VariablesA, B, C: Entier
102
A3B7AB
BA+5
CA + BCB AFin
-
7/23/2019 Informatique de Base Mail2
18/2218
Exercices simples sur l'affectation (2)
Donnez les valeurs des variables A et B aprs excution des
instructions suivantes ?
VariablesA, B : EntierDbut
103
A1B2ABBAFin
Exercices simples
Quelles seront les valeurs des variables A et B aprs
excution des instructions suivantes ?
104
,DbutA1B A + 3A 3Fin
A = 1 B = ?
A = 1 B = 4
A = 3 B = 4
Exercices simples
Quelles seront les valeurs des variables A, B et C aprsexcution des instructions suivantes ?
Variables A, B, C en Entier
105
A5B3CA + BA2CB AFin
A = 5 B = ? C = ?
A = 5 B = 3 C = ?A = 5 B = 3 C = 8
A = 2 B = 3 C = 8
A = 2 B = 3 C = 1
Exercices simples
Quelles seront les valeurs des variables A et B aprsexcution des instructions suivantes ?
Variables A, B en Entier
106
A5BA + 4AA + 1BA 4Fin
A = 5 B = ?
A = 5 B = 9A = 6 B = 9
A = 6 B = 2
Exercices simples
Quelles seront les valeurs des variables A, B et C aprsexcution des instructions suivantes ?
Variables A, B, C en Entier
107
A3B10CA + BBA + BACFin
A = 3 B = ? C = ?A = 3 B = 10 C = ?A = 3 B = 10 C = 13A = 3 B = 13 C = 13A = 13 B = 13 C = 13
Exercices simples
Quelles seront les valeurs des variables A et B aprsexcution des instructions suivantes ?
Variables A, B en Entier
108
DbutA 5B 2A BB AFin
A = 5 B = ?A = 5 B = 2A = 2 B = 2A = 2 B = 2
-
7/23/2019 Informatique de Base Mail2
19/2219
Exercices simples
Ecrire un algorithme permettant dchanger les
valeurs de deux variables A et B
Dbut
109
C AA BB CFin
On est oblig de passer par une variable dite temporaire (lavariable C).
Exercices simples
Que produit lalgorithme suivant ?
Variables A, B, C en Caractres
Dbut
" "
110
B"12"
CA & B
Fin"42312".
Exercices simples
Que produit lalgorithme suivant ?
Variables A, B, C en Caractres
Dbut
" "
111
B"12"
CA + BFin
Expressions et oprateurs Une expression peut tre une valeur, une variable ou une
opration constitue de variables relies par des oprateursexemples:exemples: 11, b, a*, b, a*22, a+, a+ 33*b*b--c, c,
L'valuation de l'expression fournit une valeur unique qui est le'
112
Les oprateurs dpendent du type de l'opration, ils peuvent tre :
des oprateurs arithmtiques: +, -, *, /, % (modulo), ^ (puissance) des oprateurs logiques: NON, OU, ET des oprateurs relationnels: =, , , = des oprateurs sur les chanes: & (concatnation)
Une expression est value de gauche droite mais en tenant
compte de priorits
Priorit des oprateurs
Pour les oprateurs arithmtiques donns ci-dessus, l'ordre depriorit est le suivant (du plus prioritaire au moins prioritaire) :
^ : (lvation la puissance) *
113
, ,
% (modulo) + , - (addition, soustraction)
exemple:exemple: 2 + 3 * 7 vaut 2323
En cas de besoin (ou de doute), on utilise les parenthses pourindiquer les oprations effectuer en priorit
exemple:exemple: ((2 + 3) * 7 vaut 335
Les instructions d'entres-sorties:
lecture et criture (1)
Les instructions de lecture et d'criture permettent la machine decommuniquer avec l'utilisateur
La lecture permet d'entrer des donns partir du clavier
114
- ,
lla machine met la valeur entre au clavierdans la zone mmoire nomme var
Remarque: Le programme s'arrte lorsqu'il rencontre uneinstruction Lire et ne se poursuit qu'aprs la frappe dune valeurau clavier et de la touche Entre
-
7/23/2019 Informatique de Base Mail2
20/2220
Les instructions d'entres-sorties:
lecture et criture (2)
L'criture permet d'afficher des rsultats l'cran (ou de les criredans un fichier)
En pseudo-code, on note: crire (var)crire (var)
115
la machine affiche le contenu de lazone mmoire var
Conseil: Avant de lire une variable, il est fortement conseilldcrire des messages lcran, afin de prvenir lutilisateur dece quil doit frapper
Exemple (lecture et criture)Ecrire un algorithme qui demande un nombre entier l'utilisateur, puis
qui calcule et affiche le double de ce nombre
Algorithme Calcul_double
116
var a es A, B : ent er
Dbut
crire("entrer la valeur de A ")
lire(A)
B2*A
crire("le double de ", A, "est :", B)
Fin
Exercice (lecture et criture)
Ecrire un algorithme qui vous demande de saisir votre nom puisvotre prnom et qui affiche ensuite votre nom complet
Algorithme AffichageNomComplet
117
var a es om, renom, om_ omp e : c a ne e carac res
Dbut
crire("entrez votre nom")
lire(Nom)
crire("entrez votre prnom")
lire(Prenom)
Nom_CompletNom & Prenom
crire("Votre nom complet est : ", Nom_Complet)
Fin
Exercice (respect des rgles) Chacun de ces quatre algorithmes contient une erreur. Laquelle?Algorithme1
VariablesQuantit : entier
Prix_unit: rel
DbutLire (Quantit, Prix unit)
Algorithme2
VariablesX, Y, Z : rel
DbutLire (X, Y, Z)
Z :=X-Y
118
, _
Prix_total:= Quantit * Prix_unit
crire (Prix_total)
Fin
crire (Z)
Fin
Algorithme3Variables
A1, A2: entier
A3 : rel
DbutLire (A1, A2)
A2 := A1 * A3
crire (A2)
Fin
Algorithme4Variables
X : rel
DbutLire (X)
X := X-1
X :=Pi * X
crire (X)
Fin
Mthode de construction dun
algorithme simple (1/4)
Exemple :
119
cr re un a gor me qu cons s e a ca cu er a rdun cercle selon la formule S = Pi * R2
Rappel : Pi = 3.14159 et R le rayon du cercle
Mthode de construction dun
algorithme simple (2/4)
Mthodologie a suivre :
constantes : Pi = 3.14159
Variables : Rayon, Surface
120
Types : Rayon, Surface : rel
Expressions et affectation : Surface := Pi * (Rayon)2
Oprations dentre-sortie : Lire (Rayon),crire (Surface)
-
7/23/2019 Informatique de Base Mail2
21/2221
Mthode de construction dun
algorithme simple (3/4)
Algorithme
Calcul_Aire
Constantes
Pi = 3,14159
121
Variables
Rayon, Surface : rels
Dbut
lire (Rayon)
Surface := Pi * (Rayon)2
crire (Surface)
Fin
Exercice
Ecrire un programme qui lit le prix HT dun artic le, le nombredarticles et le taux de TVA, et qui fournit le prix total TTCcorrespondant.
Variables nb, pht, ttva, pttc : reelsDbut
122
Ecrire ("Entrez le prix hors taxes :")Lire (pht)Ecrire ("Entrez le nombre darticles :")Lire (nb)Ecrire ("Entrez le taux de TVA :" )Lire (ttva)pttcnb * pht * (1 + ttva)Ecrire ("Le prix toutes taxes est : ", pttc)
Fin
Algorithmique
123
Les structures
Conditionnelles et lesboucles
Les structures conditionnelles et les
boucles
Les tests simples : permet de raliser un choix parmi deuxpossibilits (Ex :Boolenne : vrais ou faux)
Les instructions conditionnelles : cest un conceptde tests multiples, permet de comparer un objet une srie devaleurs, et excuter si la condition est vrifier (Ex : recherche des
124
nombres premier dans une ensemble)
Les itrations : consiste a excut un bloc dinstructions uncertain nombre de fois (Ex : calcul dune suite numrique)
Les boucles conditionnelles : consiste a excut unbloc dinstructions un certain nombre de fois si la condition estvrifier (Ex : On veut afficher le 100 premiers nombres :. Tant que i est pluspetit que 100, afficher la valeur de i).
Tests: instructions conditionnelles (1)
Les instructions conditionnelles servent n'excuter une instructionou une squence d'instructions que si une condition est vrifie
On utilisera la forme suivante: SiSi condition alorsalors
instruction ou suite d'instructions1
125
nonnon
instruction ou suite d'instructions2
FinsiFinsi
la condition ne peut tre que vraie ou fausse si la condition est vraie, se sont les instructions1 qui seront excutes
si la condition est fausse, se sont les instructions2 qui seront excutes la condition peut tre une condition simple ou une condition compose de
plusieurs conditions
Tests: instructions conditionnelles (2)
La partie Sinon n'est pas obligatoire, quand elle n'existe pas et quela condition est fausse, aucun traitement n'est ralis
On utilisera dans ce cas la forme simplifie suivante:
126
SiSi condition alorsalors
instruction ou suite d'instructions1
FinsiFinsi
-
7/23/2019 Informatique de Base Mail2
22/22
Exemple (SiAlorsSinon)
Algorithme AffichageValeurAbsolue (version1)
Variable x : rel
Dbut
Ecrire " Entrez un rel : "
127
Lire (x)
Si x < 0 alorsEcrire ("la valeur absolue de ", x, "est:",-x)
Sinon
Ecrire ("la valeur absolue de ", x, "est:",x)
Finsi
Fin
Exemple (SiAlors)
Algorithme AffichageValeurAbsolue (version2)
Variable x,y : rel
Dbut
Ecrire " Entrez un rel : "
128
Lire (x)
yx
Si x < 0 alorsy-x
Finsi
Ecrire ("la valeur absolue de ", x, "est:",y)
Fin
Exercice (tests)
Ecrire un algorithme qui demande un nombre entier l'utilisateur,puis qui teste et affiche s'il est divisible par 3
Algorithme Divsible_par3
Variable n : entier
129
D butEcrire " Entrez un entier : "
Lire (n)
Si (n%3=0) alorsEcrire (n," est divisible par 3")
SinonEcrire (n," n'est pas divisible par 3")
FinsiFin