Programma^on et Ordinateur

publicité
CQP 112 Introduc/on à la programma/on Thème 2 : Programma/on et Ordinateur Aïda Ouangraoua Département d’informa/que CQP 112 : Introduc/on à la programma/on Plan 1.  Contexte 2.  Composants matériels 3.  Environnement logiciel 4.  Développement de logiciels Contexte q  Programme : Instruc/ons des/nées à un ordinateur q  Ordinateur : ou/l inanimé aKendant ordres (programmes) q  Langage de l’ordinateur : binaire (aride) q  Langage du programmeur : Python, ou autres. q  Compilateur/Interprétateur : traducteur q  Systèmes d’exploita/on : Logiciel gérant les ressources matérielles et logicielles de l’ordinateur Exemple : Linux, Windows Contexte q  Programme : Instruc/ons des/nées à un ordinateur q  Ordinateur : ou/l inanimé aKendant ordres (programmes) q  Langage de l’ordinateur : binaire (aride) q  Langage du programmeur : Python, ou autres. q  Compilateur/Interprétateur : traducteur q  Systèmes d’exploita/on : Logiciel gérant les ressources matérielles et logicielles de l’ordinateur Exemple : Linux, Windows Contexte q  Programme : Instruc/ons des/nées à un ordinateur q  Ordinateur : ou/l inanimé aKendant ordres (programmes) q  Langage de l’ordinateur : binaire (aride) q  Langage du programmeur : Python, ou autres. q  Compilateur/Interprétateur : traducteur q  Systèmes d’exploita/on : Logiciel gérant les ressources matérielles et logicielles de l’ordinateur Exemple : Linux, Windows Contexte q  Ressources matérielles de l’ordinateur q  processeur q  mémoire centrale q  périphérique (clavier, écran, souris, mémoire secondaire) q  Ressources logicielles de l’ordinateur q  tout programme ou logiciel installé q  système d’exploita/on q  éditeur de texte, base de donnée q  compilateur, interprétateur Contexte q  Ressources matérielles de l’ordinateur q  processeur q  mémoire centrale q  périphérique (clavier, écran, souris, mémoire secondaire) q  Ressources logicielles de l’ordinateur q  tout programme ou logiciel installé q  système d’exploita/on q  éditeur de texte, base de donnée q  compilateur, interprétateur Plan 1.  Contexte 2.  Composants matériels 3.  Environnement logiciel 4.  Développement de logiciels Composants d’un ordinateur Mémoire secondaire (disposi/f de stockage) (disque dur, carte mémoire, clé USB, DVD, CD-­‐ROM, …) Disposi/f d’entrée (clavier, souris, écran, …) Ordinateur = Boîte noire Disposi/f de sor/e (écran, imprimante, …) Réseau (communica/on, disposi/f de sor/e spéciale) Composants d’un ordinateur Boîte noire Unité centrale de traitement (UCT, CPU, coeur) Matériel = Hardware (processeur, mémoire, périphérique) Mémoire centrale (principale, RAM) Périphérique Logiciel = Soaware (Programme) Composants d’un ordinateur q  Mémoire centrale q  Séquence ordonnée de cellules (0 à N-­‐1) q  N : taille de la mémoire exprimée en Kilo, Mega, Giga, Tera q  1Kilo = 210 celulles = 1024 cellules ; q  1Mega = 210Kilo = 220 celulles = 1048576 cellules ; q  1 Giga = 210Mega = 230 celulles = 1073741824 cellules ; Composants d’un ordinateur q  Mémoire centrale q  Cellule = 8 bits (0 ou 1) = 1 octet q  Sur n bits, on peut coder 2n valeurs dis/nctes q  Exemple : 3 bits, 23 = 8 valeurs q  000, 001, 010, 011, 100, 101, 110, 111 q  Octet peut coder 28 = 256 valeurs dis/nctes Composants d’un ordinateur q  Mémoire centrale q  Mot = regroupements de cellules q  Caractère (un cellule) ; En/er (2 ou 4 cellules) q  Numéro de la cellule = adresse permeKant accès q  Accès aux cellules en lecture ou écriture Composants d’un ordinateur q  Conversion entre systèmes binaire et décimal q  système binaire : chaîne de 0 et 1 ; bit de poids fort à gauche q  bnbn-­‐1bn-­‐2…b1b0 è bn*2n + bn-­‐1*2n-­‐1 + b1*21 + b0*2 q  Exemples : 1010 è 1*23+0*22+1*21+0*20 = 8+0+2+0 = 10 11001 è 1*24+1*23+0*22+0*21+1*20 = 16+8+0+0+1 = 25 q  1010 = 00001010 ; 11001 = 00011001 ; q  système décimal : chaîne de chiffres (entre 0 et 9) q  25 = 2*101+5*100 = 1*24+1*23+1*20 è 11001 Exercices q  Algorithmes 1 et 2 pour la traduc/on de nombres entre bases binaire et décimale q  Exemples en base décimale : 149, 38 q  Exemples en base binaire : 10100111, 00110100 Composants d’un ordinateur Boîte noire Unité centrale de traitement (UCT, CPU, coeur) Mémoire centrale (principale, RAM) Périphérique Composants d’un ordinateur q  Unité Centrale de Traitement q  Récupère données et instruc/ons en mémoire centrale q  Les place dans ses registres, et fait les traitements q  Retourne résultats en mémoire centrale Composants d’un ordinateur q  Unité Centrale de Traitement q  Unité de contrôle (synchronisa/on des composants) q  Unité arithmé/que et logique (UAL, ac/ons/calculs élémentaires ) q  Registres (généraux, dédiés) Composants d’un ordinateur q  Registres q  Registres généraux : stockage temporaire des données à traiter q  Compteur ordinal (PC) : registre dédié (adresse de la prochaine instruc/on) q  Registre d’instruc/on : registre dédié (stockage de la prochaine instruc/on) Ressources cri/ques à u/liser de façon op/male dans un programme Temps de calcul : Nombre d’instruc@ons élémentaires Unité centrale de traitement (UCT, CPU, coeur) Mémoire centrale (principale, RAM) Espace de mémoire : Composants d’un ordinateur Mémoire secondaire (disposi/f de stockage) (disque dur, carte mémoire, clé USB, DVD, CD-­‐ROM, …) Disposi/f d’entrée Unité centrale de traitement Mémoire centrale Disposi/f de sor/e Réseau (communica/on, disposi/f de sor/e spéciale) Composants d’un ordinateur q  Périphériques q  Entrées et Sor/es E/S : communica/on humain – ordinateur (clavier, souris, micro, écran tac/le, écran, imprimante) q  Mémoire secondaire : mémoire supplémentaire non vola/le, moins rapide, de plus grande capacité que la mémoire centrale (disqueKe, disque dur, bande magné/que, CD, DVD, clé USB) Composants d’un ordinateur q  Mémoire secondaire q  Informa/ons organisées en enregistrements è
fichiers q  Fichier possède un nom permeKant de l’iden/fier/accéder q  Fichier contenu dans Répertoire q  Organisa/on similaire à celle d’un arbre /home/local/USHERBROOKE/<CIP> Lecteur_Reseau Documents Personnel Public … … … … Composants d’un ordinateur q  Réseau q  Communica/on / Partage des ressources q  Ethernet q  Sans-­‐fil q  Modem q  Autres périphériques q  Cartes graphiques, autres périphériques spécialisés Plan 1.  Contexte 2.  Composants matériels 3.  Environnement logiciel 4.  Développement de logiciels Environnement logiciel q  Logiciels (soaware) q  Logiciel : dérivé du mot logique q  Traitements effectués automa/quement par un ordinateur (programmes, données, documenta/on) Environnement logiciel q  Environnement de développement par/culier suivant l’ordinateur et le programme q  Système d’exploita/on q  Applica/ons (terminal, ges/onnaire de fichiers, navigateur, etc.) q  Ou/ls de développement (langage, éditeur de texte, compilateur, interpréteur) Environnement logiciel Environnement logiciel q  Savoir u/liser efficacement l’environnement logiciel q  Interagir avec système d’exploita/on q  Démarrer et savoir u/liser environnements intégrés (éditeur de texte, ges/onnaire de fichier, interpréteur) Exemples : gedit, Nau/lus, Pycharm q  Bien maîtriser syntaxe et séman/que du langage de programma/on (Python) Environnement logiciel q  Langage de programma/on q  Nécessaire pour concré/ser la concep/on q  Plusieurs langages pouvant être classés suivant leur distance à la machine q  Langage machine (binaire, aride, propre à la machine) q  Langage d’assemblage (proche du langage machine, peut employer des symboles) q  Langage de haut-­‐niveau (plus proche du langage humain, n’est pas propre à la machine) Environnement logiciel Code source #!/usr/bin/python # calcul du coût cout = prix + taxes Format texte Python Interpréteur (une instruc/on à la fois) Résultats Environnement logiciel Code source Code source édité #include <stdio.h> // calcul du coût cout = prix + taxes … cout = prix + taxes Format texte Format texte Code assembleur Load prix Add taxe Store cout Format texte Code objet 1A5B8EF2 F359C813 4297EEFF Format binaire Code Code Assembleur Code Pré-­‐compilateur Compilateur Code source assem-­‐ source objet édité bleur C++ Résultats Édi/on des liens dynamiques Exécu/on Code objet bibliothèque Code objet bibliothèque Édi/on des liens sta/ques Programme exécutable Plan 1.  Contexte 2.  Composants matériels 3.  Environnement logiciel 4.  Développement de logiciels Développement de logiciels Énoncé du problème Spécifica/on Analyse Document d’analyse Concep/on Document de concep/on Implanta/on Programmes Essais Correc/on des erreurs Augmenta/on du coût de détec/on des erreurs Développement de logiciels Énoncé du problème Spécifica/on Analyse Document d’analyse Concep/on Document de concep/on Ordinateur Implanta/on Programmes Essais Correc/on des erreurs Augmenta/on du coût de détec/on des erreurs Développement de logiciels Énoncé du problème Spécifica/on Étude de la Analyse Document d’analyse Concep/on complexité en termes de temps de calcul Document de concep/on Ordinateur Implanta/on Programmes Essais Correc/on des erreurs Augmenta/on du coût de détec/on des erreurs Sources q  Introduc/on à la programma/on. M. Le Gonidec. Université du Sud, Toulon-­‐Var. q  Analyse et programma/on. Notes de cours. G. Girard. Université de Sherbrooke. q  Introduc/on à la programma/on. Notes de cours. M. For/n. Université de Sherbrooke. 
Téléchargement