Principe de fonctionnement
•le processeur exécute (automatiquement et très vite) les instructions
constituant un programme enregistré dans la mémoire
•les instructions représentent des opérations sur des données
•certaines données sont enregistrées dans le programme,
d’autres sont obtenues durant l’exécution
soit comme résultats des opérations précédentes
soit acquises depuis l’extérieur (clavier, appareil de mesure, etc.)
•toutes les instructions et données sont des nombres
•tous les nombres sont représentés dans le système binaire
Cours_1_4 © L. Tichit, 03/09/16 page 5 / 23
01001111001001110010101010111100101000110101010001010
un octet un octet un octetun octetun octetun octetun octet
Langage évolué, compilation, interprétation
•un langage évolué permet de représenter
les nombres par leur notation usuelle
les instructions par des opérateurs et des mots-clés expressifs et faciles à lire
•avant exécution, instructions et données doivent être converties en binaire
•interprétation (« code source » est le programme que vous avez écrit) :
•compilation :
Cours_1_4 © L. Tichit, 03/09/16 page 6 / 23
Analyse−programmation
•le travail de l’analyste-programmeur devant un problème donné :
trouver l’algorithme de résolution
l’écrire dans un langage de programmation
•des ressources à gérer et/ou optimiser ; les plus courantes :
l’espace mémoire occupé par les données manipulées
le temps que mettra l’ordinateur à obtenir la solution
•parfois les programmes sont erronés…
erreurs de syntaxe et sémantiques : les langages de programmation sont très stricts
erreurs de logique : la syntaxe est correcte
mais le programme ne résout pas le problème donné
erreurs à l’exécution (ou exceptions) : des circonstances de l’exécution
font que le programme ne peut aboutir (ex : données absurdes)
•processus de développement :
Cours_1_4 © L. Tichit, 03/09/16 page 7 / 23
souvent couplés
(inversement)
Découverte d’erreurs
ou d’améliorations
fin
TestCodageAnalyse
Un programme de qualité est un programme…
•correct
qualité indispensable (et pourtant…) : quand les données sont valides
le programme doit donner un résultat « correct »
difficile à établir : problème de l’exhaustivité des tests
•robuste
même quand les données sont invalides le programme fournit quelque chose
requiert beaucoup de soin de la part du programmeur
•documenté
documentation externe (le manuel) et interne (commentaires dans le programme)
important pour le « client » et pour le programmeur
•efficace
les qualités précédentes étant acquises, le meilleur programme est
celui qui optimise les ressources (temps, mémoire, etc.), surtout le temps
Cours_1_4 © L. Tichit, 03/09/16 page 8 / 23