définition informatique de base
TRANSCRIPT
1
INFORMATIQUE DE BASE
Année universitaire 2011-2012
Yassine El Ghoumari
1ère année ENCG
Informatique = Information + Automatique
Définition
Yassine El Ghoumari
traitement automatique de l’information par des machines
Histoire de l’informatique
Yassine El Ghoumari
Utilisations de systèmes primitifs à base 5, 10, 60
Utilisation des chiffres romains : I V X L C
Les systèmes numériques
L’invention du calcul
Yassine El Ghoumari
Utilisation des chiffres romains : I, V, X, L, C
calculer n’est pas trivial !
véritable savoir et maîtrise de ces systèmes pour réaliser des opérations de base
apparition du 0 au XIIe siècle en Europe et mise en place de la numérotation décimale
La mécanisation du calcul
Les abaques : boulier
Yassine El Ghoumari
1614 L’écossais John Neper (Napier, 1550-1617) invente les logarithmes
simplifier les calculs trigonométriques en astronomie consiste à remplacer une multiplication par une addition + lecture d’une valeur dans une table
La mécanisation du calcul
Yassine El Ghoumari
2
Exemple : on veut calculer :
2 5 x 2 4
Première méthode : poser le calcul
La mécanisation du calcul
Yassine El Ghoumari
192320
32 x 16
512
fastidieux
erreurs
Deuxième méthode (Neper) : utiliser une table
2 5 x 2 4 = 2 (5+4) = 2 9
La mécanisation 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 règle à calcul basée sur le principe des logarithmes
utilisée pour les calculs scientifiques jusqu’en 1970
La mécanisation du calcul
9
Les premières machines à calculer
1623 Schikard
1642 Pascaline (Bl Pascal)
La mécanisation du calcul
10
1642 Pascaline (Bl. Pascal)
addition, soustraction
1670 Leibniz (Gottfried Leibniz)
pascaline + mult, div, racine carrée
1830 Colmar (Charles Xavier Thomas)
Arithmomètre
L’Aube de la révolution industrielle
La mécanisation du calcul
11
1728 Falcon construit un métier à tisser commandé par planchette de bois
1805 Jacquard perfectionne le modèle et utilise des cartes en carton perforées
1822 Machine différentielle (Ch Babbage)
2000 pièces de cuivre faites main, 2 tonnes
Calcul du mouvement des planètes
La mécanisation du calcul
12
Concept de registre
1830 Machine Analytique (Ch Babbage)
50.000 pièces
capable de prendre des décisions en fonction des résultats précédents (contrôle de séquence, branchements et boucles)
réalisée entre 1989 et 1991 bi-centenaire de la naissance de Babbage
3
1843 Augusta Ada Comtesse de Lovelace
Description de la machine analytique
Premiers programmes (Algorithmes)
Boucles et branchements
La mécanisation du calcul
13
Ada (1979)
Langage de programmation (J. Ichbiach)
1890 Hermann Hollerith construit un calculateur statistique électromécanique
plus performant que les calculateurs mécaniques
Les calculateurs électromécaniques
Yassine El Ghoumari14
utilisation de cartes perforées utilisé pour le recensement américain de 1890 fonde la Tabulating Machine Company => IBM (International Business Machines)
Avancées Technologiques
Les calculateurs électromécaniques
15
1904 Diode par John Fleming
1907 Triode par L De Forest
ENIAC (Electronic Numerical Integrator And Calculator)
construit par l’armée américaine entre 1943 et 1945, Philadelphie
5000 additions par secondes
500 000 d ll
La première génération d’ordinateurs
16
500.000 dollars
30 tonnes
30 m de long x 2,50 haut
160 m2
1.500 relais, 17.468 tubes à vide
problèmes liés à la chaleur et à la consommation électrique
premier bug
1948 Invention du Transistor bipolaire à Jonction
Walter H. Brattain, John Bardeen et William Shockley aux Bell Labs
Avantages du Transistor
1956 TRADIC
La seconde génération d’ordinateurs
17
1956 TRADIC
1957 FORTRAN par John Backus d’IBM
1958 Invention du Circuit Intégré par Jack Kilby de Texas Instruments (miniaturisation)
La troisième génération d’ordinateurs
18
( )
1961 FairChild Corp commercialise la première série de circuits intégrés
1968 Premier ordinateur avec Circuits intégrés
4
1971 : le 4004 pour Busicom conçu par Ted Hoff
1968 Intel (Gordon Moore, Robert Noyce, Andy Grove)
Le microprocesseur
19
La quatrième génération
20
Galette (wafer)
L’ère de la Micro-Informatique
21
Depuis 1980
Développé pour l’INRA par André Truong et François Gernelle
1973 L Mi l N
La micro-informatique
22
1973 Le Micral N 8500 F Intel 8008
1974 + Ecran + Clavier 1975 + Disque dur
Tout commença dans un garage… 1976
Steve Jobs et Steve Wozniak mettent au 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 / systèmes
La micro-informatique
24
5
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, 40 Ko de Rom
La micro-informatique
26
40 Ko de Rom, lecteur de disquettes 5"25 système d'exploitation PC-DOS 1.0 3000 $
Uniformisation
L’ère du Numérique
27
Depuis 1990
1981 Philips commercialise le Compact Disk
1988 CD-R
L’ère du Numérique
28
1996 DVD
1992 norme MPEG
Les ordinateurs multi-cores : 2005
Actuellement
29
Core 2 duo : i3, i5, i7: processeur avec carte graphique intégrée
Le futur
30
6
Biologique (ADN)
Les ordinateurs de demain
Le futur
31
Optique (Photon)
Quantique (Spin électron)
Neuronal (couplé aux neurones) à Nanopuce à Supraconducteur
Résolution d’un problème mathématique avec un échantillon d’ADN
L’ordinateur Biologique
32
Capable de d’effectuer de simples opérations comme identifier des chiffres binaire
1000 milliard de « machines à calculer » dans une goute d’eau
Consommation en énergie infinitésimale
Fiabilité de 99,9%
Repose sur des propriétés quantiques de la matière
L'élément de base de l'ordinateur quantique : le qubit
L’ordinateur Quantique
33
Un ordinateur de 100 qubits permettrait de simuler le fonctionnement de tout un cerveau humain
Un de 300 qubits l'évolution de l'univers entier depuis le Big Bang
Les ordinateurs quantiques actuels n'ont pour le moment que 7 qubits
Architecture des ordinateurs
Yassine El Ghoumari
Définition d’un ordinateur
Machine qui :
saisit (périphériques d’entrée)
35
saisit (périphériques d entrée),
stocke (mémoire),
traite (programmes)
restitue (périphériques de sortie) des informations
Schéma fonctionnel
UCUCDonnéesDonnéesInstructionsInstructions
RésultatsRésultats
SaisieSaisie RestitutionRestitutionTraitementTraitement
Mé iMé i
36
Périphériques de sortiePériphériques de sortie
EcranModem
ImprimanteHaut parleur
Périphériques d’entréePériphériques d’entrée
Modem
Micro
Clavier
Souris
CaméraCD-ROM
Joystick Scanner
Mémoires auxiliairesMémoires auxiliaires
Disquette
Disque dur
MémoireMémoire
7
Constituants
Composants matériels (Hardware)• Tout ce qui compose l’ordinateur et ses
accessoires
37
• Chaque composant possède une fonction particulière• calcul• stockage des données• affichage vidéo• gestion du clavier...
Logiciel (Software)• immatériel (non tangible)
• ensemble de programmes exécutables par l’ordinateur
Constituants
38
Différents types de logiciels• système d’exploitation (MS-DOS, Windows, Unix)
• logiciels standards comme Word, Excel...
• progiciels : logiciels spécifiques (paye, comptabilité, ...)
Le logiciel pilote le matériel
Codage binaire
Le langage des ordinateurs
Toutes communications à l'intérieur de
39
Toutes communications à l intérieur de l'ordinateur sont faites avec des signaux électriques• 0: éteint (absence de signal électrique)
• 1: allumé (présence de signal électrique)
Un même nombre peut être représenté dans plusieurs bases• 123 en base 10 (décimal)
Codage binaire
40
( )
• 1111011 en base 2 (binaire)
• 173 en base 8 (octale)
• 7B en base 16 (hexadécimale)
De la base 10 à la base 2• Il faut diviser le nombre par 2 puis réitérer
l'opération en considérant que le nouveau é t t l' i ti t j 'à
Codage binaire
41
numérateur est l'ancien quotient jusqu'à ce que ce dernier soit nul. La suite inverse des restes représente le nombre binaire
Exemple
42
Ecrire 10 en base 2
8
Codage binaire
Les opérations élémentaires en base 10 s’appliquent de la même façon en base 2• Exemple: Addition, soustraction, multiplication,
43
p , , p ,division
Schéma fonctionnel
44
L’unité Centrale
Fonctions• Sélectionner et exécuter les instructions du programme
en cours
45
L’unité CentralePartie de l’ordinateur qui contient les circuits de base
• la mémoire principale
• la mémoire vive (RAM)
• la mémoire morte (ROM)
46
( )
• la mémoire cache
• le microprocesseur
• les circuits de calcul (UAL-L’unité arithmétique et logique)
• l’unité de contrôle ou de commande UC
• l’horloge système
• l’unité d’entrée-sortie
• Elle contrôle et synchronise le microprocesseur et les composants associés
• Sa vitesse (fréquence) est exprimée généralement en mégahertz (MHz) c’est à dire en million de cycles par
L’horloge
47
mégahertz (MHz) c est-à-dire en million de cycles par seconde
• L’efficacité du microprocesseur est directement proportionnelle à la fréquence de l’horloge : une fréquence élevée est donc souhaitable
• Exemples: Intel i7, environ 3,4 GHz
L’unité d’entrée-sortie
• contrôle et gère le transfert d’informations entre l’UC et les périphériques
• Exemples
48
Exemples
• carte graphique (écran)• carte contrôleur (disque dur)• carte son (micro, haut-parleur)
9
Les PériphériquesDéfinition
•Tout ce qui gravite autour de l’UC c’est-à-dire l’écran, le clavier, la souris, les mémoires auxiliaires, l’imprimante, le scanner le micro les haut-parleurs
49
le scanner, le micro, les haut-parleurs....
3 Catégories de périphériques
•d’entrée (clavier, souris, scanner, joystick)
•de sortie (écran, imprimante, haut-parleur)
•les mémoires auxiliaires (disque dur, disquette, CD-ROM)
• Définition
• Recueillent les informations qui sont ensuite transformées (numérisées i.e. codées en binaires) pour être utilisables par la machine et transférées en mémoire principale (mémoire de l’UC)
Les Périphériques d’entrée
50
(mémoire de l UC)
• Exemples
• clavier
• souris : dispositif de pointage complémentaire du clavier et de l’écran
• scanner : permet de numériser un document
• autres : écran tactile, lecteur de codes barres, crayon optique, caméra, joystick...
Les Périphériques de sortie
• Définition
• Transmettent l’information binaire de l’UC vers l’extérieur sous une forme compréhensible par l’utilisateur
51
• Exemples
• écran• imprimante• haut-parleurs
Définition
Dispositif capable d’enregistrer, de stocker et de restituer des informations
Trois types
La Mémoire
52
RAM ou mémoire vive ROM ou mémoire morte Mémoire de masse ou secondaire
Unité de stockage: Un composant électronique capable de mémoriser des tensions: BIT (Binary DigiT) : unité de stockage élémentaire Les informations sont codées en binaires composés de 0 et de 1
Unités de mesure
1octet = 8 bits
La Mémoire
53
1Ko (Kilo octet) 1 000 octets
1Mo (Méga octet) 1 000 000 octets
1Go (Giga octet) 1 000 000 000 octets
1To (Téra octet) 1 000 000 000 000 octets
Unités de mesure
1octet = 8 bits
10
La Mémoire
54
1Ko (Kilo octet) =1 024 octets (210 octets)
1Mo (Méga octet) = 1 048 576 octets (220 octets)
1Go (Giga octet) = 1 073 741 824 octets (230 octets)
1To (Téra octet) = 1 099 511 627 776 octets (240 octets)
10
Structure La mémoire est organisée en cellules (octets ou mots) Chaque cellule est repérée par son adresse qui permet
à l’ordinateur de trouver les informations dont il a besoin2 Modes d’accès à la mémoire
La Mémoire
55
2 Modes d’accès à la mémoire En lecture : aucun effet sur le contenu En écriture : modifie son contenu
Caractéristiques Capacité : nombre d’octets Accès
direct : grâce à l’adresse, accès i édi t à l’i f ti ( l d
La Mémoire
56
immédiat à l’information (on parle de support adressable)
séquentiel : pour accéder à une information, il faut avoir lu toutes les précédentes (ex : cassette audio)
Temps d’accès : temps écoulé entre l’instant où l’information est demandée et celui où elle est disponible (en ms)
• Le contenu de la mémoire est composé• de données• et d’instructions
• code de l’opération élémentaire
La Mémoire
57
• donnée(s) ou adresse des données
• Programme• Ensemble d’instructions et de données
•Traduites en signaux électriques compréhensibles par le matériel
Différentes mémoires La mémoire vive ou RAM (Random Access Memory)
• mémoire à accès direct à taille limitée
• son contenu est volatile, i.e. il est perdu à chaque fois que l’ordinateur ne fonctionne pas : d’où le besoin d’utiliser de la
é i ili i é t
58
mémoire auxiliaire rémanente
• endroit où l’ordinateur stocke temporairement les données et instructions (programmes) qu’il est en train d’utiliser et d’exécuter
• contient tous les programmes en cours d’exécution
• Capacité de 1 Go à 4 Go
La mémoire morte(Read Only Memory)
• mémoire permanente et inaltérable
• contient des petits programmes écrits par le constructeur
59
contient des petits programmes écrits par le constructeur pour la mise en route de l’ordinateur BIOS (Basic Input/Output System)
• identifie les différents composants de la machine et vérifie leur bon fonctionnement
La mémoire cache• La transmission entre la RAM et le microprocesseur est
plus lente que le potentiel de vitesse du microprocesseur
• Mémoire cache (ni ea L1 o L2)
60
• Mémoire cache (niveau L1 ou L2)• zone de mémoire ultra-rapide où sont conservées les
données et instructions qui reviennent le plus souvent
• mémoire interne de petite taille (dizaines de Ko)
•Type non-volatile (Flash)
• Capacité : 3 Mo
11
Le microprocesseur• Le cœur de l’ordinateur : il traite et fait circuler les
instructions et les données• Composé des éléments suivants
• Unité Arithmétique et Logique (UAL)•Ensemble de circuits qui exécutent les
61
•Ensemble de circuits qui exécutent les opérations arithmétiques et logiques de base
• Différents Registres (CO, Etat, Instruction…)
Le microprocesseur
• Unité de contrôle (ou de commande)
• Son rôle est d’extraire une instruction
62
Son rôle est d extraire une instruction du programme en MC, de la faire exécuter par l’UAL ou un périphérique et de chercher l’instruction suivante
• Elle décode les instructions et trouve les données pour l’UAL
Le microprocesseur
63
Un processeur est composé de transistors permettant deréaliser des fonctions sur des signaux numériques.
Ces transistors, assemblés entre eux forment dest tt t d é li d f ti t è
Le microprocesseur
composants permettant de réaliser des fonctions trèssimples.
A partir de ces composants il est possible de créer descircuits réalisant des opérations très complexes.
L'algèbre de Boole (du nom du mathématicien anglaisGeorges Boole 1815 - 1864) est un moyen d'arriver àcréer de tels circuits.
L'algèbre de Boole est une algèbre se proposant detraduire des signaux en expressions mathématiques.
• Pour cela, on définit chaque signal élémentaire pardes variables logiques et leur traitement par desfonctions logiques
Le microprocesseur
fonctions logiques.
• Des méthodes (table de vérité) permettent dedéfinir les opérations que l'on désire réaliser, et àtranscrire le résultat en une expression algébrique.
• un circuit logique un circuit qui schématisel'agencement des composants de base (au niveaulogique) sans se préoccuper de la réalisation aumoyen de transistors (niveau physique).
Le microprocesseurVariables logiques
Un ordinateur ne manipule que des données binaires, on appelle donc variable logique une donnée binaire, g q ,c'est-à-dire une donnée ayant deux états possibles: 0 ou 1.
12
Le microprocesseurFonction logique
On appelle «fonction logique» une entitéacceptant plusieurs valeurs logiques enentrée et dont la sortie (il peut y en avoir( p yplusieurs) peut avoir deux états possibles : 0ou 1.
Les fonctions logiques de bases sont appeléesportes logiques. Il s'agit de fonctions ayant uneou deux entrées et une sortie:• La fonction OU (en anglais OR) positionne sa sortie à 1
Le microprocesseurFonction logique
si l'une ou l'autre de ses entrées est à 1• La fonction ET (en anglais AND) positionne sa sortie à
1 si ses deux entrées sont à 1• La fonction OU EXCLUSIF (en anglais XOR)
positionne sa sortie à 1 si l'une ou l'autre de sesentrées est à 1 mais pas les deux simultanément
• La fonction NON (appelée aussi inverseur) positionnesa sortie à 1 si son entrée est à 0, et vice-versa
L’unité d’entrée-sortie
• contrôle et gère le transfert d’informations entre l’UC et les périphériques
69
• Exemples
• carte graphique (écran)• carte contrôleur (disque dur)• carte son (micro, haut-parleur)
Exécution d’un programmeMCMCMicroprocesseurMicroprocesseur
HorlogeHorloge
Unité de ContrôleUnité de Contrôle
22
33
44
55
70
UALUAL
E/SE/S
11
4444
44
44
Exécution d’un programmeChargement des instructions et des
données en MC
À chaque top d’horloge l’unité de
71
À chaque top d horloge, l unité de contrôle ...récupère une instruction et les
données nécessaires et les analyse
déclenche le traitement adapté en envoyant un signal à l’UAL ou à l’unité des entrées-sorties
Exemple simplifié Pour calculer 12+5, il faut une suite d'instructions
• Transférer: • le nombre 12 saisi au clavier dans la mémoire
• le nombre 5 saisi au clavier dans la mémoire
• le nombre 12 de la mémoire vers un registre du microprocesseur
• le nombre 5 de la mémoire vers un registre du microprocesseur
• demander à l'unité de calcul de faire l'addition
• Transférer:• le contenu du résultat dans la mémoire
• le résultat (17) se trouvant en mémoire vers l'écran de la console (pour l'affichage)
13
Bus On appelle bus, en informatique, est un système
de communication entre les composants d'un ordinateur
Les bus ont pour but de réduire le nombre de « voies » nécessaires à la communication des différents composants, en mutualisant les communications sur une seule voie de données.
Principaux bus le bus système (appelé aussi bus interne). Le bus
système permet au processeur de communiquer avec la mémoire centrale du système
le bus d'extension (parfois appelé bus d'entrée/sortie) le bus d extension (parfois appelé bus d entrée/sortie) permet aux divers composants de la carte-mère (USB, série, parallèle, cartes branchées sur les connecteurs PCI, disques durs, lecteur/graveur de CD-ROM…) de communiquer entre eux mais il permet surtout l'ajout de nouveaux périphériques grâce aux connecteurs d'extension (appelés slots) connectés sur le bus d'entrées-sorties.
Slots des prises qui sont présentes sur la carte
mère. Ces connecteurs sont prévus pourrecevoir des cartes supplémentaires
Ce qui différencie ces cartes c'est leurrapidité. Dans l'ordre, du plus lent au plusrapide :
• Les cartes au format ISA• Les cartes au format PCI• Les cartes au format AGP
Carte d’extension Permet d’ajouter des fonctionnalités
(souvent de communication) comme parexemple les cartes graphiques, son,p g p qmodem, usb, etc.
Dans le PC et Mac, il existe aujourd’huideux grandes catégories de carte qui sedifférencient par le bus utilisé : PCI et AGP
Carte mère Carte électronique
qui permet aux différents composants decomposants de communiquer via différents bus de communication
On enfiche ces composants sur des connecteurs
Qu’est-ce qu’un programme d’ordinateur?
Le logiciel pilote le matériel
Pour faire marcher un ordinateur il faut lui fournir un programme
O di t té i l ( )
78
Ordinateur = matériel + programme(s)
Un programme est une suite d’instructions d’ordinateur
Une instruction est un ordre compris par l’ordinateur et qui lui fait exécuté une action
14
Les catégories d’ordres les ordinateurs, quels qu’ils soient, ne sont
fondamentalement capables de comprendre quequatre catégories d'ordres (en programmation, onn'emploiera pas le terme d'ordre, mais plutôt celuid'i t ti ) C t f ill d'i t ti
79
d'instructions). Ces quatre familles d'instructionssont :• l’affectation 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
Intérêt : écrire des programmes (suite consécutived’instructions) destinés à effectuer une tache donnée
• Exemple: un programme de gestion de comptes bancaires
Contrainte: être compréhensible par la machine
Langage machine Langage binaire: l’information est exprimée et manipulée sous
forme d’une suite de bits
Un bit (binary digit) = 0 ou 1 (2 états électriques)
81
Une combinaison de 8 bits= 1 Octet possibilités qui permettent de coder tous les caractères alphabétiques, numériques, et symboles tels que ?,*,&, …
• Le code ASCII (American Standard Code for Information Interchange) donne les correspondances entre les caractères alphanumériques et leurs représentation binaire, Ex. A= 01000001, ?=00111111
Les opérations logiques et arithmétiques de base (addition, multiplication, … ) sont effectuées en binaire
25628
L'assembleur Problème: le langage machine est difficile à comprendre par l'humain
Idée: trouver un langage compréhensible par l'homme qui sera ensuite converti en langage machine
•• AssembleurAssembleur (langage de bas niveau): exprimer les instructions élémentaires de façon symbolique
82
ç y q
• + : Un langage symbolique plus proche du langage machine• - : Pas assez efficace pour développer des applications complexes
Apparition des langages évolués
ADD A, 4
LOAD B
MOV A, OUT
…
traducteur langage machine
Langages haut niveau Intérêts multiples pour le haut niveau:
• proche du langage humain «anglais» (compréhensible)
• permet une plus grande portabilité (indépendant du matériel)
• Manipulation de données et d’expressions complexes (réels, bj t *b/ )
83
objets, a*b/c, …)
Nécessité d’un traducteur (compilateur/interpréteur),
exécution plus ou moins lente selon le traducteur
Code sourceCode source
en langage évoluéen langage évolué
Compilateur ouCompilateur ouLangage machineLangage machine
interpréteurinterpréteur
Compilateur/interpréteur Compilateur: traduire le programme entier une fois pour toutes
• + plus rapide à l’exécution
exemple.cCompilateur Compilateur
fichier sourcefichier sourceexemple
fichier exécutablefichier exécutable
exécutionexécution
84
p p• + sécurité du code source• - il faut recompiler à chaque modification
Interpréteur: traduire au fur et à mesure les instructions du programme à chaque exécution
• + exécution instantanée appréciable pour les débutants• - exécution lente par rapport à la compilation
exemple.basfichier sourcefichier source
Interprétation+exécutionInterprétation+exécution
15
Langages de programmation:
Deux types de langages:• Langages procéduraux : sont à base de procédures. Une
procédure est une portion de programme écrit en langage de haut niveau qui accomplit une tâche spécifique nécessaire au programme
85
programme.
• Langages orientés objets : sont des langages non procéduraux dans lesquels les éléments du programme sont considérés comme des objets qui peuvent s'échanger des messages.
Choix d’un langage?
Principaux Langages de programmation:
PascalBlaise PASCAL, mathématicien et inventeur de la première machine à calculer 1971
Langage compilé et structuré, dérivé d'ALGOL. c'est un langage de développement standard pour les micro-ordinateurs.
CC'est une version améliorée du langage de programmation
Langage de programmation structuré et compilé, très
86
C B du Bell Laboratory, créé en 1972
largement employé car ses programmes peuvent facilement se transférer d'un type d'ordinateur à un autre.
Maple Nasa 1980 de SUN couvrir tous les domaines
D’application formel
Java Microsystems 1990 Ce langage connaît un succès qu'aucun autre langage n'avait encore connu.
Etapes de réalisation d’un programme
SpécificationSpécification
AnalyseAnalyse
Enoncé du problème Enoncé du problème
Cahier des chargesCahier des charges
AlgorithmeAlgorithme
87
Traduction en langageTraduction en langage
CompilationCompilation
Tests et modificationsTests et modifications
Programme sourceProgramme source
Programme exécutableProgramme exécutable
Version finale et résultatsVersion finale et résultats
La réalisation de programmes passe par l’écriture d’algorithmesD’où l’intérêt de l’Algorithmique
Pourquoi apprendre l’algorithmique pour apprendre à programmer ? Un algorithme est une description complète et détaillée des actions à
effectuer et de leur séquencement pour arriver à un résultat donné
• Intérêt: séparation analyse/codage (pas de préoccupation de syntaxe) l’algorithmique exprime les instructions résolvant un problème donné i dé d t d ti l ité d t l t l l
88
indépendamment des particularités de tel ou tel langage.
• Qualités: exact (fournit le résultat souhaité), efficace (temps d’exécution, mémoire occupée), clair (compréhensible), général (traite le plus grand nombre de cas possibles), …
Pour prendre une image, si un programme était une dissertation, l’algorithmique serait le plan, une fois mis de côté la rédaction et l’orthographe. Mieux faire d’abord le plan et rédiger ensuite que l’inverse…
Représentation d’un algorithmeHistoriquement, deux façons pour représenter un algorithme:
•• L’Organigramme: L’Organigramme: représentation graphique avec des symboles
(carrés, losanges, etc.)
• offre une vue d’ensemble de l’algorithme
89
offre une vue d ensemble de l algorithme
• représentation quasiment abandonnée aujourd’hui
•• Le pseudoLe pseudo--code: code: représentation textuelle avec une série de conventions ressemblant à un langage de programmation (sansles problèmes de syntaxe)
• plus pratique pour écrire un algorithme
• représentation largement utilisée
Exemple de pseudo code
problème du tri
• Entrée: une séquence de n nombres (a1, : : : ,an)
• Sortie: une permutation (a1’;
90
Sortie: une permutation (a1 ; : : : ;an’) de la séquence d’entrée: a1’<a2’<….<an’
• Exemple : (31;41;59;26;41;58) (26;31;41;41;58;59)
16
Algorithmique
91
Notions et instructions de baseNotions et instructions de base
Les catégories d’ordres
Quatre familles d'instructions sont :
• Les variables et leurs affectation• La lecture / écriture
92
La lecture / écriture• Les tests• Les boucles
Notions Fondamentales (1/2)
Karim possède 3 seaux : un seau en plastique d’une contenance de 10 litres, un seau en bois d’une contenance de 7 litres et un seau en fer d’une contenance 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 déverse la moitié de son seau en plastique à l’égout• 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 quantités des trois seaux que Asmae a reçues?
Notions Fondamentales (2/2)
Notion d’algorithme : si les huis phrases sont bien exécutée par Karim, alors l’histoire est un algorithme
Notion d’instruction : chacune de huis phrases est une instruction (un ordre)
Notion de valeur : { 0, 3, 5, 6, 8, 10 } Notion de mémoire : elle est matérialisée par les seaux qui « mémorisent »
94
Notion de mémoire : elle est matérialisée par les seaux qui « mémorisent » les quantités de liquide
Notion de variable : une variable est un emplacement mémoire, ici on a trois variables (le seau en plastique, le seau en bois et le seau en fer)
Notion d’environnement : c’est l’ensemble des objet, informations, personnes qui on une existence hors de l’histoire mais qui interviennent dans son déroulement.
Notion des valeurs d’entrée et de sortie : c’est les valeurs que le processeur reçoit de l’environnement et celles qu’il donne à l’environnement durant l’exucution. Valeurs en entrée :{6, 10} Valeurs en sortie = {0, 3, 8}
Notion de variable Dans les langages de programmation une variable variable sert à stocker
la valeur d’une donnée
Une variable désigne en fait un emplacement mémoire dont
le contenu peut changer au cours d’un programme (d’où le nom
95
le contenu peut changer au cours d un programme (d où le nom variable)
Règle : Les variables doivent être déclaréesdéclarées avant d’être utilisées, elle doivent être caractérisées par :
• un nom (IdentificateurIdentificateur)• un typetype (entier, réel, caractère, chaîne de caractères, …)
Choix des identificateurs (1)Le choix des noms de variables est soumis à quelques règles qui
varient selon le langage, mais en général:
Un nom doit commencer par une lettre alphabétique exemple valide: Aexemple valide: A11 exemple invalide: exemple invalide: 11AA
96
doit être constitué uniquement de lettres, de chiffres et du soulignement _ (Eviter les caractères de ponctuation et les espaces) valides: valides: ENCGENCG20072007, , ENCG_ENCG_20072007 invalides: invalides: ENCG ENCG 20072007, , ENCGENCG--20072007, , ENCG;ENCG;20072007
doit être différent des mots réservés du langage (par exemple en JavaJava: intint, , floatfloat, , elseelse, , switchswitch, case, default, for, main, return, case, default, for, main, return, …)
La longueur du nom doit être inférieure à la taille maximale spécifiée par le langage utilisé
17
Choix des identificateurs (2)Conseil: pour la lisibilité du code choisir des noms significatifs
qui décrivent les données manipulées
exemples: TotalVentes2006, Prix_TTC, Prix_HT
97
Remarque: en pseudo-code algorithmique, on va respecter les règles citées, même si on est libre dans la syntaxe
Types des variables Le type d’une variable détermine l’ensemble des valeurs qu’elle peut
prendre, les types offerts par la plus part des langages sont:
Type numérique (entier ou réel)Type numérique (entier ou réel)•• ByteByte (codé sur 1octet): de 0 à 255
•• Entier courtEntier court (codé sur 2 octets) : -32 768 à 32 767
98
•• Entier long Entier long (codé sur 4 ou 8 octets)
•• Réel simple précisionRéel simple précision (codé sur 4 octets)
•• Réel double précisionRéel double précision (codé sur 8 octets)
Type logique ou booléenType logique ou booléen:: deux valeurs VRAI ou FAUX
Type caractère:Type caractère: lettres majuscules, minuscules, chiffres, symboles, …
exemples: ’A’, ’a’, ’exemples: ’A’, ’a’, ’11’, ’?’, …’, ’?’, …
Type chaîne de Type chaîne de caractère: toute suite de caractères, exemples: " Nom, Prénom", "code postale: exemples: " Nom, Prénom", "code postale: 10001000", …", …
Déclaration des variables Rappel: toute variable utilisée dans un programme doit avoir
fait l’objet d’une déclaration préalable
En pseudo-code, on va adopter la forme suivante pour la déclaration de variables
Variables liste d'identificateurs : typeVariables liste d'identificateurs : type
99
Variables liste d identificateurs : typeVariables liste d identificateurs : type Exemple:
Variables i, j,k : entier
x, y : réel
OK: booléen
ch1, ch2 : chaîne de caractères
Remarque: pour le type numérique on va se limiter aux entiers et réels sans considérer les sous types
L’instruction d’affectation l’affectation consiste à attribuer une valeur à une variable
(ça consiste en fait à remplir où à modifier le contenu d'une zone mémoire)
En pseudo-code, l'affectation se note avec le signe ←
Var← e :Var← e : attribue la valeur de e à la variable Var attribue 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 même type ou de types compatibles
- l’affectation ne modifie que ce qui est à gauche de la flèche
Ex valides: i ←1 j ←i k ←i+j
x ←x ←1010..3 3 OK ←FAUX OK ←FAUX chch1 1 ←«←« ENCG"ENCG"
chch2 2 ←ch←ch1 1 x ←x ←44 x ←jx ←j
(voir la déclaration des variables dans le transparent précédent)
non valides: i ←i ←1010..3 3 OK OK ←«←« ENCG"ENCG" j ←xj ←x
Quelques remarques Beaucoup de langages de programmation (C/C++, Java, …) utilisent
le signe égal = pour l’affectation ←. Attention aux confusions:
• l'affectation n'est pas commutative : A=B est différente de B=A
• l'affectation est différente d'une équation mathématique :
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 défaut aux variables déclarées. Pour éviter tout problème il est préférable d'initialiser les variables déclarées
Exercices simples sur l'affectation (1)
Donnez les valeurs des variables A, B et C après exécution des instructions suivantes ?
Variables A, B, C: EntierDébut
102
DébutA ← 3B ← 7A ← B
B ← A+5
C ← A + BC ← B – AFin
18
Exercices simples sur l'affectation (2)Donnez les valeurs des variables A et B après exécution des
instructions suivantes ?
Variables A, B : EntierDébut
103
A ← 1B ← 2A ← BB ← AFin
Exercices simplesQuelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Variables A B en Entier
104
Variables A, B en EntierDébutA ← 1B ← A + 3A ← 3Fin
A = 1 B = ?A = 1 B = 4A = 3 B = 4
Exercices simplesQuelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?
Variables A, B, C en EntierDébut
105
DébutA ← 5B ← 3C ← A + BA ← 2C ← B – AFin
A = 5 B = ? C = ?A = 5 B = 3 C = ?A = 5 B = 3 C = 8A = 2 B = 3 C = 8A = 2 B = 3 C = 1
Exercices simplesQuelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Variables A, B en EntierDébut
106
DébutA ← 5B ← A + 4A ← A + 1B ← A – 4Fin
A = 5 B = ?A = 5 B = 9A = 6 B = 9A = 6 B = 2
Exercices simplesQuelles seront les valeurs des variables A, B et C après exécution des instructions suivantes ?
Variables A, B, C en EntierDébut
107
DébutA ← 3B ← 10C ← A + BB ← A + BA ← CFin
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 simplesQuelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Variables A, B en Entier
108
DébutA ← 5B ← 2A ← BB ← AFin
A = 5 B = ?A = 5 B = 2A = 2 B = 2A = 2 B = 2
19
Exercices simples
Ecrire un algorithme permettant d’échanger les
valeurs de deux variables A et B
Début
109
…C ← AA ← BB ← CFin
On est obligé de passer par une variable dite temporaire (la variable C).
Exercices simples
Que produit l’algorithme suivant ?
Variables A, B, C en Caractères
Début
A "423"
110
A ← 423
B ← "12"
C ← A & B
Fin"42312".
Exercices simples
Que produit l’algorithme suivant ?
Variables A, B, C en Caractères
Début
A "423"
111
A ← 423
B ← "12"
C ← A + B
Fin
Expressions et opérateurs Une expression peut être une valeur, une variable ou une
opération constituée de variables reliées par des opérateursexemples: 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 résultat de l'opération
112
résultat de l opération
Les opérateurs dépendent du type de l'opération, ils peuvent être :
• des opérateurs arithmétiques: +, -, *, /, % (modulo), ^ (puissance)
• des opérateurs logiques: NON, OU, ET
• des opérateurs relationnels: =, , <, >, <=, >=
• des opérateurs sur les chaînes: & (concaténation)
Une expression est évaluée de gauche à droite mais en tenant
compte de priorités
Priorité des opérateurs
Pour les opérateurs arithmétiques donnés ci-dessus, l'ordre de priorité est le suivant (du plus prioritaire au moins prioritaire) :
• ^ : (élévation à la puissance)
• * / (multiplication division)
113
, / (multiplication, division)
• % (modulo)
• + , - (addition, soustraction)
exemple: exemple: 2 + 3 * 7 vaut 2323
En cas de besoin (ou de doute), on utilise les parenthèses pour indiquer les opérations à effectuer en priorité
exemple: exemple: ((2 + 3) * 7 vaut 335
Les instructions d'entrées-sorties: lecture et écriture (1)
Les instructions de lecture et d'écriture permettent à la machine de communiquer avec l'utilisateur
La lecture permet d'entrer des donnés à partir du clavier
• En pseudo code on note: lire (var)lire (var)
114
• En pseudo-code, on note: lire (var)lire (var)
lla machine met la valeur entrée au clavier dans la zone mémoire nommée var
• Remarque: Le programme s'arrête lorsqu'il rencontre une instruction Lire et ne se poursuit qu'après la frappe d’une valeur au clavier et de la touche Entrée
20
Les instructions d'entrées-sorties: lecture et écriture (2)
L'écriture permet d'afficher des résultats à l'écran (ou de les écrire dans un fichier)
• En pseudo-code, on note: écrire (var)écrire (var)
115
la machine affiche le contenu de la zone mémoire var
• Conseil: Avant de lire une variable, il est fortement conseillé d’écrire des messages à l’écran, afin de prévenir l’utilisateur de ce qu’il 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
i bl A B ti
116
variables A, B : entier
Début
écrire("entrer la valeur de A ")
lire(A)
B ← 2*A
écrire("le double de ", A, "est :", B)
Fin
Exercice (lecture et écriture)
Ecrire un algorithme qui vous demande de saisir votre nom puis votre prénom et qui affiche ensuite votre nom complet
Algorithme AffichageNomComplet
variables Nom Prenom Nom Complet : chaîne de caractères
117
variables Nom, Prenom, Nom_Complet : chaîne de caractères
Début
écrire("entrez votre nom")
lire(Nom)
écrire("entrez votre prénom")
lire(Prenom)
Nom_Complet ← Nom & Prenom
écrire("Votre nom complet est : ", Nom_Complet)
Fin
Exercice (respect des règles) Chacun de ces quatre algorithmes contient une erreur. Laquelle?
Algorithme1
VariablesQuantité : entier
Prix_unit : réel
DébutLire (Quantité, Prix unit)
Algorithme2
VariablesX, Y, Z : réel
DébutLire (X, Y, Z)
Z :=X-Y
118
( , _ )
Prix_total := Quantité * Prix_unit
Écrire (Prix_total)
Fin
Écrire (Z)
Fin
Algorithme3
VariablesA1, A2: entier
A3 : réel
DébutLire (A1, A2)
A2 := A1 * A3
Écrire (A2)
Fin
Algorithme4
VariablesX : réel
DébutLire (X)
X := X-1
X :=Pi * X
Écrire (X)
Fin
Méthode de construction d’un algorithme simple (1/4)
Exemple :
É i l ith i i t l l l’ i S
119
Écrire un algorithme qui consiste a calculer l’air S d’un cercle selon la formule S = Pi * R2
Rappel : Pi = 3.14159 et R le rayon du cercle
Méthode de construction d’un algorithme simple (2/4)
Méthodologie a suivre :
constantes : Pi = 3.14159
Variables : Rayon, Surface
120
Types : Rayon, Surface : réel
Expressions et affectation : Surface := Pi * (Rayon)2
Opérations d’entrée-sortie : Lire (Rayon),
Écrire (Surface)
21
Méthode de construction d’un algorithme simple (3/4)
Algorithme
Calcul_Aire
Constantes
Pi = 3,14159
121
,
Variables
Rayon, Surface : réels
Début
lire (Rayon)
Surface := Pi * (Rayon)2
écrire (Surface)
Fin
Exercice
Ecrire un programme qui lit le prix HT d’un article, le nombred’articles et le taux de TVA, et qui fournit le prix total TTCcorrespondant.
Variables nb, pht, ttva, pttc : reelsDébut
122
DébutEcrire ("Entrez le prix hors taxes :")Lire (pht)Ecrire ("Entrez le nombre d’articles :")Lire (nb)Ecrire ("Entrez le taux de TVA :" )Lire (ttva)pttc ← nb * pht * (1 + ttva)Ecrire ("Le prix toutes taxes est : ", pttc)
Fin
Algorithmique
123
Les structures Conditionnelles et les
boucles
Les structures conditionnelles et les boucles
Les tests simples : permet de réaliser un choix parmi deux possibilités (Ex :Booléenne : vrais ou faux)
Les instructions conditionnelles : c’est un concept de tests multiples, permet de comparer un objet à une série de valeurs, et exécuter si la condition est vérifier (Ex : recherche des
124
, (nombres premier dans une ensemble)
Les itérations : consiste a exécuté un bloc d’instructions un certain nombre de fois (Ex : calcul d’une suite numérique)
Les boucles conditionnelles : consiste a exécuté un bloc d’instructions un certain nombre de fois si la condition est vérifier (Ex : On veut afficher le 100 premiers nombres :. Tant que i est plus
petit que 100, afficher la valeur de i).
Tests: instructions conditionnelles (1) Les instructions conditionnelles servent à n'exécuter une instruction
ou une séquence d'instructions que si une condition est vérifiée
On utilisera la forme suivante: Si Si condition alorsalors
instruction ou suite d'instructions1
SinonSinon
125
SinonSinon
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 exécutées
• si la condition est fausse, se sont les instructions2 qui seront exécutées
• la condition peut être une condition simple ou une condition composée de plusieurs conditions
Tests: instructions conditionnelles (2) La partie Sinon n'est pas obligatoire, quand elle n'existe pas et que
la condition est fausse, aucun traitement n'est réalisé
• On utilisera dans ce cas la forme simplifiée suivante:
SiSi diti ll
126
Si Si condition alorsalors
instruction ou suite d'instructions1
FinsiFinsi
22
Exemple (Si…Alors…Sinon)Algorithme AffichageValeurAbsolue (version1)
Variable x : réel
DébutEcrire " Entrez un réel : "
127
Lire (x)
Si x < 0 alorsEcrire ("la valeur absolue de ", x, "est:",-x)
SinonEcrire ("la valeur absolue de ", x, "est:",x)
FinsiFin
Exemple (Si…Alors)Algorithme AffichageValeurAbsolue (version2)
Variable x,y : réel
DébutEcrire " Entrez un réel : "
128
Lire (x)
y← x
Si x < 0 alorsy ← -x
FinsiEcrire ("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
Déb t
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
Conditions composées Une condition composée est une condition formée de plusieurs
conditions simples reliées par des opérateurs logiques:
ET, OU, OU exclusif (XOR) et NON
Exemples :
130
• x compris entre 2 et 6 : (x > 2) ET (x < 6)
• n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)
• deux valeurs et deux seulement sont identiques parmi a, b et c :
(a=b) XOR (a=c) XOR (b=c)
L'évaluation d'une condition composée se fait selon des règles présentées généralement dans ce qu'on appelle tables de vérité
Tables de véritéC1 C2 C1 ET C2
VRAI VRAI VRAI
VRAI FAUX FAUX
FAUX VRAI FAUX
C1 C2 C1 OU C2
VRAI VRAI VRAI
VRAI FAUX VRAI
FAUX VRAI VRAI
131
FAUX FAUX FAUX FAUX FAUX FAUX
C1 C2 C1 XOR C2
VRAI VRAI FAUX
VRAI FAUX VRAI
FAUX VRAI VRAI
FAUX FAUX FAUX
C1 NON C1
VRAI FAUX
FAUX VRAI
Tests imbriqués Les tests peuvent avoir un degré quelconque d'imbrications
Si Si condition1 alorsalors
Si Si condition2 alorsalors
instructionsA
SinonSinon
132
SinonSinon
instructionsB
FinsiFinsi
Sinon Sinon
Si Si condition3 alorsalors
instructionsC
FinsiFinsi
FinsiFinsi
23
Tests imbriqués: exemple (version 1)Variable n : entierDébut
Ecrire ("entrez un nombre : ")Lire (n)Si n < 0 alors
Ecrire ("Ce nombre est négatif")
133
Ecrire ( Ce nombre est négatif )
Sinon
Si n = 0 alorsEcrire ("Ce nombre est nul")
SinonEcrire ("Ce nombre est positif")
FinsiFinsi
Fin
Tests imbriqués: exemple (version 2)Variable n : entierDébut
Ecrire ("entrez un nombre : ")Lire (n)
Si n < 0 alors Ecrire ("Ce nombre est négatif")Finsi
134
Si n = 0 alors Ecrire ("Ce nombre est nul")
FinsiSi n > 0 alors Ecrire ("Ce nombre est positif")
Finsi
Fin
Remarque : dans la version 2 on fait trois tests systématiquement alors que dans la version 1, si le nombre est négatif on ne fait qu'un seul test
Conseil : utiliser les tests imbriqués pour limiter le nombre de tests et placer d'abord les conditions les plus probables (minimiser la complexité)
Tests imbriqués: Exercice Ecrire un algorithme qui demande deux nombres à l’utilisateur
et l’informe ensuite si leur produit est négatif ou positif (onlaisse de côté le cas où le produit est nul). Attention toutefois :on ne doit pas calculer le produit des deux nombres.
Début
135
DébutEcrire "Entrez le 1er nombre: "Lire (m)Ecrire "Entrez le 2eme nombre: " Lire (n)Si (m > 0 ET n > 0) OU (m < 0 ET n < 0) Alors
Ecrire "Leur produit est positif"Sinon
Ecrire "Leur produit est négatif"Finsi
Fin
Tests imbriqués: exerciceLe prix de photocopies dans une reprographie varie selon le nombre demandé: 0,5 DH la copie pour un nombre de copies inférieur à 10, 0,4DH pour un nombre compris entre 10 et 20 et 0,3DH au-delà.
136
Ecrivez un algorithme qui demande à l’utilisateur le nombre de photocopies effectuées, qui calcule et affiche le prix à payer
Tests imbriqués: corrigé de l'exerciceVariables copies : entier
prix : réelDébut
Ecrire ("Nombre de photocopies : ")
Lire (copies)Si copies < 10 Alors
137
Si copies < 10 Alors prix ← copies*0.5
Sinon Si copies < 20prix ← copies*0.4
Sinonprix ← copies*0.3
Finsi
FinsiEcrire (“Le prix à payer est : ”, prix)
Fin
PASCAL
138
Présentation générale et Présentation générale et syntaxe des instructions de syntaxe des instructions de
basebase
24
Pascal: Les types de variables
Entier: VAR variable1, variable2, ..., variableN : INTEGER;
Opérations sur entiers :
139
+ (addition) - (soustraction) * (multiplication) / (division) mod (reste de la division)
Titre
Réels: VAR variable1, variable2, ..., variableN : REAL;
Opérations sur réels :
140
+ (addition) - (soustraction) * (multiplication) div (division)
Titre
Booléens: VAR variable1, variable2, ..., variableN : BOOLEAN;
Opérations sur Booléens : AND
141
OR NOT XOR (ou exclusif))
Ces opérations nécessitent des arguments booléens.Opérations à valeur booléenne : > (supérieur) < (inférieur) >= (supérieur ou égal) <= (inférieur ou égal) = (égal) <> (différent)
Titre
Caractères : VAR variable1, variable2, ..., variableN : CHAR;
Opérations sur Booléens : AND
142
OR NOT XOR (ou exclusif))
Pascal: Les fonctions standard
ABS : renvoie la valeur absolue SQR : renvoie le carré SQRT : racine carrée EX : exponentielle LN : log népérien
143
LN : log népérien SIN : sinus COS : cosinus ARCTAN : arc tangente SUCC : variable énumérée suivante PRED : précédent ROUND : arrondi à l'entier le plus proche TRUNC : partie entière (permet de mettre un réel dans un entier : trunc(4.5) = 4)
Pascal: affectation
Le symbole d'affectationaffectation ← se note en Pascal avec :=:=
exemple : i:= 1; j:= i+1;
144
25
Pascal: lecture / écriture
readln(Var)
writeln(‘message1’, var1, ’message2’,var2)
145
Pascal: Les Test
Instruction IF - THEN - ELSE (si - alors - sinon)
Structure :
146
IF condition THEN instruction1 (* CAS 1 *)
{ ou }
IF condition THEN instruction1 ELSEinstruction2 (* CAS 2 *)
Exemple
PROGRAM cercle (input,output); (* entête *)VAR
perimetre, diametre,test : REAL; (* déclarations *)
147
p , , ; ( )
CONSTpi = 3.141592;begin
readln(diametre); (* instruction *)perimetre := pi * diametre; (* instruction *)writeln(diametre,perimetre); (* instruction *)end.
Exemple 2Ecrire un programme en pascal qui effectue une division entre deux nombres
148