La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Introduction à la programmation Introduction à larchitecture des ordinateurs. Aperçu des langages machine et des langages de programmation. Notion de programme.

Présentations similaires


Présentation au sujet: "Introduction à la programmation Introduction à larchitecture des ordinateurs. Aperçu des langages machine et des langages de programmation. Notion de programme."— Transcription de la présentation:

1 Introduction à la programmation Introduction à larchitecture des ordinateurs. Aperçu des langages machine et des langages de programmation. Notion de programme. Spécification fonctionnelle. Étapes dans la vie dun programme. Qualités dun programme. Historique et avantages du langage Python. Environnement de programmation en Python.

2 Quest-ce quun ordinateur ? Appareil capable deffectuer des calculs et de prendre des décisions logiques des millions, voire des milliards de fois plus rapidement que le cerveau humain. Ordinateur personnelCerveau humain SuperordinateurCerveau humain Les ordinateurs traitent des données au moyen dune série dinstructions ou dopérations élémentaires connues sous le nom de programme. Les programmeurs sont les personnes chargées de traduire des algorithmes en une série dinstructions. Applications diverses : ° génération de films danimation, mise en orbite dun engin spatial, ° paiement dune facture par lentremise dune succursale bancaire, etc. Les différents composants dun ordinateur sont désignés par le terme matériel et les programmes qui y sont exécutés, par le terme logiciels. 100 millions dadditions /sec.plusieurs dizaines dannées plusieurs centaines de milliardsdes centaines de milliers de personnes dadditions /sec.en une année. On peut se servir dun ordinateur sans programmer (Excel, Word, PowerPoint, …).

3 Fonction dun ordinateur Machine capable de recevoir, de conserver, de traiter et de transmettre des données. Exécute pas à pas, très rapidement, une suite dinstructions que lon nomme « programme ». Données dentrée Données de sortie PROGRAMME domainefonction image

4 Historique ENIAC, le 1 e ordinateur électronique (1946) : lampes env. reliées par un câblage.

5 Organisation dun ordinateur Quelle que soit leur apparence physique, la plupart des ordinateurs sont habituellement divisés en 6 unités logiques. 1. Unité dentrée Celle qui reçoit linformation (données et programmes) provenant des différents périphériques dentrée et qui met cette information à la disposition des autres unités afin quelle puisse être traitée. Ex. : clavier, souris, numériseur(« scanners »), joystick, … Système optique de captures de mouvement Gants de données (« datagloves »)

6 Organisation dun ordinateur 2. Unité de sortie Celle qui prend linformation traitée par lordinateur et qui la distribue aux différents périphériques de sortie pour la rendre utilisable à lextérieur de la machine. Ex. : écran, imprimante, …

7 Organisation dun ordinateur 3. Unité de mémoire (désignée aussi sous le terme de mémoire ou mémoire principale) Elle conserve linformation provenant de lunité dentrée de façon à la rendre immédiatement disponible pour tout traitement. Elle conserve également linformation traitée jusquà ce quelle puisse être distribuée éventuellement aux périphériques de sortie. Il existe deux types de mémoire : (i)La mémoire en lecture-écriture: un stockage primaire rapide mais onéreux, elle perd ses données en cas de coupure de courant (« Random Access Memory ») Permet le stockage de données ou de programmes nayant pas à être disponibles en permanence. (ii)La mémoire en lecture seule (« Read Only Memory »): renferme certains programmes qui doivent toujours être présents. On peut identifier une cellule mémoire à partir de son adresse ou de sa position.

8 Organisation dun ordinateur 4. Unité arithmétique et logique Responsable de lexécution des calculs (addition, soustraction, multiplication, division, …) et des mécanismes de décision (par ex., la comparaison de 2 données en mémoire pour déterminer si elles sont égales ou non). Serviteur de lunité centrale de traitement.

9 Organisation dun ordinateur 5. Unité centrale de traitement Coordonne la machine et supervise le fonctionnement des autres unités. Exécute les opérations :accède aux instructions, les interprète et active les unités appropriées. Indique à lunité dentrée quand lire linformation en mémoire, indique à lUAL quand utiliser linformation provenant de la mémoire pour des calculs et synchronise lunité de sortie pour diriger linformation de la mémoire aux périphériques de sortie. Microprocesseur

10 Organisation dun ordinateur 6. Unité de stockage secondaire De grande capacité, elle permet lentreposage de données à long terme. Les données ou les programmes qui ne sont pas utilisés de façon active sont nor- malement rangés dans ces unités secondaires (disques, disquette, carte USB, …). Demande plus de temps pour accéder à des données rangées en mémoire secondaire mais le coût par unité de stockage secondaire est moins élevé comparativement à la mémoire principale. Disque dur Carte USB Note : Les données et les programmes sont stockés sur disque dur et chargés en mémoire RAM au démarrage du programme.

11 Coûts de fabrication et de développement Les coûts de fabrication du matériel informatique ont énormément diminué au cours des dernières années. Les ordinateurs personnels sont devenus un produit dusage courant. Le coût de développement des logiciels na pas cessé de croître. Les entreprises sont inondées de données. Le logiciel est généralement livré en retard. Le logiciel est souvent défectueux et difficile à modifier. Constat La complexité des problèmes à traiter a augmenté considérablement. Équipes de développement importantes. Un seul individu ne peut comprendre toutes les subtilités dun modèle de conception. Conséquences Ses coûts excèdent souvent les budgets prévus. Un programme utilisé sera modifiéOn augmente sa complexité, à moins de lutter contre ce phénomène.

12 Coûts de développement

13 Évolution des systèmes dexploitation Les systèmes dexploitation sont des logiciels spécialisés qui furent développés pour faciliter lutilisation des ordinateurs et augmenter leur capacité de traitement. Les premiers systèmes permettaient aux ordinateurs de nexécuter quune seule opération ou tâche à la fois. La machine exécute un seul programme à la fois (traitement par lot mono-utilisateur). Les travaux étaient soumis à un centre de service informatique au moyen de cartes perforées (délais rencontrés : plusieurs heures voire des jours avant de recevoir le résultat du programme). Les systèmes suivants permettent de partager les ressources de lordinateur entre de nombreuses opérations pour permettre leur exécution en « simultané » (multiprogrammation). demeure vrai. Dans les années 60, on introduit des systèmes à temps partagé où des utilisateurs branchés à leur propre terminal partagent une seule machine en même temps. Dans les faits, celle-ci nexécute pas tous les travaux en même temps mais exécute plutôt une petite partie de la tâche dun utilisateur, puis passe à celle du suivant. Lordinateur étant plus rapide, cela donne limpression que les programmes sexécutent simultanément.

14 Informatique personnelle, distribuée et client/serveur Linformatique personnelle a vu le jour en 1977 (Apple); le prix plus abordable des ordinateurs a permis den faire une utilisation personnelle ou pour le travail. En 81, IBM lançait le « IBM personal Computer ». Du jour au lendemain, ce fut un bouleversement. Les ordinateurs personnels étaient reliés en réseaux à lintérieur dune organisation, soit sur des lignes téléphoniques, soit en réseaux locaux. Le traitement informatique était distribué vers les différents postes de travail à travers les réseaux au lieu dun traitement central unique. Pour faciliter la communication entre les ordinateurs dun réseau, des machines appelés serveurs de fichiers, offrent un stock de programmes et de données dont peuvent se servir les ordinateurs clients répartis sur le réseau. Linformatique parallèle permet dexécuter des tâches en parallèle. Un ordinateur parallèle possède plusieurs unités de traitement. Il existe 2 types darchitectures parallèles : - lune où les unités de traitement partagent une mémoire commune, - lautre où chaque unité de traitement possède son bloc de mémoire.

15 Langages machine, dassemblage et de haut niveau Il existe des centaines de langages de programmation permettant de traduire un algorithme en une suite dopérations élémentaires connues de lordinateur (C, C++, FORTRAN, JAVA, PASCAL, COBOL, SIMSCRIPT, GPSS, ADA, APL, …). Programme écrit dans un langage de haut niveau Programme écrit en langage dassemblage Programme écrit en langage machine Lordinateur ne peut comprendre directement que son propre langage machine. Chaque programme est une suite de nombres - une série de 1 et de 0 - fastidieux pour les humains. Assembleur (traducteur en langage machine) Compilateur (traducteur en langage dassemblage) Ex. : Ex. : LOAD PaieReguliere ADD PaieSupplementaire STORE PaieBrute Un peu plus clair pour les humains. Des instructions qui ressemblent à la langue naturelle et au langage mathématique. Ex. : PaieBrute = PaieReguliere + PaieSupplementaire Instructions très primitives. Un programme doit respecter scrupuleusement les conventions du langage. Spécifique pour chaque langage.

16 Interpréteur La compilation et lassemblage dun programme écrit en langage de haut niveau peut prendre un temps considérable. Cest pourquoi on développa des interpréteurs capables dexécuter directement des programmes en langage de haut niveau sans compilation. Les programmes interprétés sexécutent plus lentement que ceux compilés. La version compilée nest produite quune fois le programme complété, assurant ainsi un fonctionnement plus efficace.

17 Historique de Python Python est un puissant langage de programmation portable, orienté objet et dynamique, avec une bibliothèque standard très importante. Python est un langage de programmation apparu officiellement en Guido van Rossum la conçu à la fin des années 1980 à linstitut national de recherche en mathématique et informatique aux Pays-Bas. Le nom du langage étant inspiré de la série Monty Python (1), cela donne une idée de la philosophie derrière Python : la programmation doit être un plaisir. (1) Monty Python : Sacré Graal ! (Monty Python and the Holy Grail) est un film britannique écrit et réalisé par Terry Jones etfilmbritanniqueTerry Jones Terry GilliamTerry Gilliam des Monty Python. Cette comédie, sorti en 1975, a pour thème la légende d'Arthur, des Chevaliers de la TableMonty Python1975la légende d'Arthur, des Chevaliers de la Table ronde et de la quête du Graalronde et de la quête du Graal. Python a des similarités avec des langages de script comme Perl ainsi quavec dautres langages comme Java et C.

18 Caractéristiques de base de PYTHON Il offre des possibilités pour la programmation orientée objets. Une approche « jeu de construction » pour concevoir des programmes : ne pas essayer de réinventer la roue mais se servir de pièces existantes chaque fois que cest possible (réutilisation de logiciels). Python est portable sur différents environnements tels que Unix et Windows. Logiciel libre. La syntaxe du langage est simple. Python gère lui-même lespace mémoire disponible. Python est doté dun typage dynamique car il ny a pas de déclaration explicite de variables ni de spécification de types; le type dune variable est déterminé à lexécution seulement de même que lallocation de lespace mémoire. Il existe des compilateurs en Python qui produisent un code intermédiaire, appelé bytecode lequel est transmis à un interpréteur pour lexécution finale. Il possède une bibliothèque très riche (interfaces graphiques, bases de données, protocoles Internet, …). Il existe des interpréteurs en Python.

19 Avantages du langage PYTHON universel : non orienté vers un domaine dapplications particulières comme en FORTRAN ou en COBOL. compact : basé sur un noyau de fonctions et dopérateurs limité, permettant la formulation dexpressions simples mais efficaces. moderne : Python offre les opportunités rencontrées dans les autres langages de haut niveau. intégration : On peut utiliser Python sur une plate-forme JAVA et Python peut contenir du code C ou C++ par exemple. ouvert :Cest un langage Open Source. Il peut de ce fait être librement utilisé et distribué. simplicité : la syntaxe claire et lisible facilite considérablement la création de programmes et leur mise au point. Renferme peu de mots-clés. portable : on peut utiliser le même programme sur presque tous les systèmes dexploitation (Linux/UNIX, Windows, Mac, OS/2, …). extensible : le langage possède tout un ensemble de librairies doutils, notamment dans le domaine de laccès aux bases de données, les interfaces graphiques, le développement pour le WEB, etc. Permet de compléter ou dadapter leurs outils afin dêtre plus productifs.

20 Avantages du langage PYTHON langage de haut niveau : Code machine Langage dassemblage Fortran, C, Pascal C++, JAVA Perl, Python Langages de script. Python renferme des structures de données de haut niveau intégrées au langage ce qui est beaucoup plus simple à utiliser que les librairies précédentes. Langage totalement orientée objets renfermant comme extension plusieurs librairies qui permettent notamment de gérer des structures de données de haut niveau. niveau I II III IV V robuste: permet au programmeur didentifier les causes derreur et de fournir une routine de traitement lorsque ces erreurs se produisent.

21 Discipline de programmation Danger de PYTHON. PYTHON est un langage de programmation structuré mais ne nous force pas à adopter un certain style de programmation. La tentation de programmer du code « spaghetti » peut être grande. Le programmeur a beaucoup de liberté mais des responsabilités; il doit veiller lui-même à adopter un style de programmation de qualité.

22 Qualités dun programme Correct : Sil obéit à ses spécifications. Entrée :2 entiers positifs, un numérateur et un dénominateur. Sortie :la valeur de lexpression : numérateur / dénominateur. Exemple : Le programme doit accepter 2 entiers positifs en entrée seulement et fournir uniquement le résultat escompté. Précision souhaitée des données : Lors des calculs effectués, indiquer la précision souhaitée (# de décimales). Valide : Lorsque le programme est une composante dun système, il doit fonctionner sur une base individuelle mais aussi à lintérieur du système. Exemple : Calcul de la cotisation syndicale dun employé Régime demploi dun employé Fiable : Il fait ce quon sattend tout le temps. Exemple : Programme de calcul de linverse dune matrice carrée éprouvant de la difficulté lorsque le déterminant est près de 0.

23 Qualités dun programme Complet : Il doit manipuler tous les échantillons de données possibles correctement. Exemple : Calcul de la moyenne des notes à un examen sachant que les notes nont pas encore été saisies. Calcul du nombre de jours ouvrables écoulés depuis le début des travaux de construction dune maison. On doit prendre en compte, le cas échéant, les 2 semaines de vacances de la construction. Il doit protéger le système contre des données erronées. Il doit satisfaire à tous les besoins identifiés lors de la définition du problème. Robuste : Le programme peut fonctionner même lorsque le système est en état de défaillance. Exemple : Erreur survenue lors de la saisie dune donnée au clavier. Utile : à nos besoins.

24 Qualités dun programme Efficace : Sil exige comme ressources des quantités limitées. Exemple : Calcul de … = * = * = Vérifiable : Si lon peut démontrer formellement quil est correct. Maintenance facile : Mise à jour facile. Exemple : Changement de millénaire. Programme bien documenté Impression bien soigné

25 Trucs pour faciliter la bonne programmation 1. Définir le problème exactement. 2. Pensez en premier, programmer plus tard. La Loi de Murphy, aussi connue sous le nom de Loi de l'Emmerdement Maximum (LEM).Loi de Murphy Il existe de nombreuses variantes de cette loi, basés sur le fait que toute catastrophe possible a une fâcheuse tendance à se produire. La plus connue est sans doute la Loi de la tartine beurrée, selon laquelle "Toute tartine beurrée livrée à elle-même tombera du côté beurré." (Ça marche aussi avec de la confiture, et c'est encore plus efficace si vous avez un tapis en dessous). Corollaire sur la programmation : Plus tôt vous commencez à coder votre programme (au-lieu de penser), plus tard vous finirez. 3. Utiliser une technique de programmation (par ex., une approche « top-down »). 4. Utiliser autant que possible des structures linéaires (éviter les « GOTO »). 5. Utiliser immédiatement une syntaxe correcte. 6. Éviter lusage déléments qui dépendent dune installation donnée. 7. Nassumer jamais que lordinateur a assumé quelque chose (valeurs par défaut). 8. Vérifier à la main votre programme avant de le faire exécuter.

26 Étapes dans la vie dun programme 1. Définir le problème avec précision. 2. Une approche de solution est choisie pour résoudre le problème. 3. Définition dun algorithme. 4. Traduction en un langage de programmation au choix. 5. Mise au point dun programme (validation). 6. Documentation. 7. Maintenance.

27 Environnement de programmation Python Nous pouvons écrire nos programmes en mode interactif en dialoguant directement depuis le clavier. Nous pouvons aussi créer nos programmes à laide dun éditeur et les ranger dans des fichiers sur disque. Nous choisissons le mode interactif pour le moment avec comme environnement de travail IDLE sous Windows. La fenêtre ressemblera à ceci : Python (r252:60911, Feb , 13:11:45) [MSC v bit (Intel)] on win32 Type "copyright", "credits" or "license()" for more information. **************************************************************** Personal firewall software may warn about the connection IDLE makes to its subprocess using this computer's internal loopback interface. This connection is not visible on any external interface and no data is sent to or received from the Internet. **************************************************************** IDLE >>> File Edit Shell Debug Options Windows Help Prêt à exécuter une commande.

28 Téléchargement et installation de Python Les différentes versions de Python (pour Windows, Unix, etc.), son tutoriel original, son manuel de référence, la documentation des bibliothèques de fonctions, etc. sont disponibles gratuitement, à partir du site officiel: On peut alors télécharger et installer Python à partir de cet emplacement en tenant compte de la plate-forme utilisée. Par exemple, sous Windows, vous devez télécharger le fichier python-2.5.msi à partir du site officiel et lexécuter pour installer Python. Le dossier dinstallation est dans C:\Python, puis les fichiers de la bibliothèque standard dans C:\Python\Lib. Vous pouvez alors utiliser Python à partir de lenvironnement de programmation IDLE.

29 Exécution de Python Trois façons différentes de démarrer Python : Lancer linterpréteur en mode interactif, en saisissant à chaque fois une seule ligne de Python pour lexécuter directement. Sous Windows, dans le menu puis, on saisit au clavier la commande python. Démarrer on presse sur la touche Exécuter Exécuter un script écrit en Python en appelant linterpréteur avec le nom du script. On procède comme dans le cas précédent sauf que lon saisit au clavier la commande python suivie du nom du script (un fichier avec lextension.py) renfermant un programme Python. Ex.:python E:\essai.py On peut aussi cliquer deux fois sur le fichier directement afin de léditer. Lancer linterpréteur à partir dune interface graphique dans un environnement de développement qui offre des outils additionnels tels quun débogueur intégré, un éditeur de texte, etc. Avec la plate-forme Windows, lenvironnement IDLE est disponible. En pratique, on crée simplement sur le bureau un raccourci vers C:\Python25\libs\Lib\idlelib sur lequel il suffit de cliquer 2 fois.


Télécharger ppt "Introduction à la programmation Introduction à larchitecture des ordinateurs. Aperçu des langages machine et des langages de programmation. Notion de programme."

Présentations similaires


Annonces Google