Chapitre 1: Introduction à l'informatique (PDF)

Document Details

TrustworthyReal9199

Uploaded by TrustworthyReal9199

Université de Moncton, Edmundston

Tags

programmation orientée objet développement de programmes architecture informatique informatique

Summary

Ce document est une introduction aux concepts de base de l'informatique. Il couvre des sujets tels que les ordinateurs, les composants matériels, les réseaux et le langage de programmation Java. Il présente également les concepts fondamentaux du développement de programmes et de la programmation orientée objet. Les connaissances en architecture informatique sont également présentées.

Full Transcript

Chapitre 1 Introduction Sommaire  Ordinateurs  Composants matériels  Réseaux  Langage de programmation Java  Développement de programmes  Programmation orientée objet 2 Objectifs  Relation entre matériel et logiciel (programmes)  Différ...

Chapitre 1 Introduction Sommaire  Ordinateurs  Composants matériels  Réseaux  Langage de programmation Java  Développement de programmes  Programmation orientée objet 2 Objectifs  Relation entre matériel et logiciel (programmes)  Différents types de logiciels et leur utilisation  Principaux composants d’un ordinateur et leur rôle  Comment les composants matériels interagissent – exécution de programmes  Connexion des ordinateurs – partage de données, etc.  Introduire Java, étapes de compilation (interprétation) et exécution des programmes, etc.  Sommaire sur la programmation orientée objet 3 Ordinateurs  Tous les types d’ordinateurs (ordinateur de bureau, laptop, tablette, console de jeux, etc.) partagent un certain nombre de caractéristiques communes.  Malgré certains détails (qui varient), les données sont traitées de la même manière.  Un système informatique (computer system) : matériels et logiciels.  Les ordinateurs possèdent des composants logiciels et des composant matériels (software et hardware).  Les composants hardwares (physique): clavier, moniteur, unité de traitement centrale (CPU), périphériques d’entrées/sorties, mémoires secondaires, etc. Non utiles sans instructions (qui leur indiquent quoi faire).  Les composants logiciels : programmes et données – Programme: une série d’instructions que le matériel exécute (l’une après l’autre). - Système d’exploitation (ensemble de programmes): contrôle les différentes activités de la machine et gère les différentes ressources (CPU et mémoires): Windows, Mac OS, Unix, Linux. 4 CPU and Main Memory Central Chip that executes Processing program Unit commands Primary storage area for programs and data that are in active use Main Memory Synonymous with RAM 5 Secondary Memory Devices Information is moved Central between main and Processing secondary memory Unit as needed Hard Disk Secondary memory Main devices provide Memory long-term storage USB Flash Drive 6 Input / Output Devices Central Monitor screen Processing Keyboard Unit Mouse Touch screen I/O devices facilitate user interaction Main Memory 7 Ordinateurs: représentation de l’information  Il existe deux techniques pour stocker et gérer l’information: analogique (signal électronique) et numérique (digitale).  L’information analogique est continue (en proportion directe par rapport à la source de l'information) – signal électronique.  L’information numérique est divisée en sections, et chaque section est représentée séparément par un nombre.  Toute information est stockée sous forme d’information numérique: nombre, texte, graphique, images audio, vidéo, instructions programme. 8 Analog Information 9 Sampling 10 Représentation d’un texte  For example, every character is stored as a number, including spaces, digits, and punctuation  Corresponding upper and lower case letters are separate characters Hi, Heather. 72 105 44 32 72 101 97 116 104 101 114 46 11 12 Ordinateurs  Les nombres binaires : l’information numérique est stockée au niveau de la mémoire en utilisant le système de nombres binaires.  Un bit correspond au chiffre 0 ou 1 – deux états. 13 Bit Permutations 1 bit 2 bits 3 bits 4 bits 0 00 000 0000 1000 1 01 001 0001 1001 10 010 0010 1010 11 011 0011 1011 100 0100 1100 101 0101 1101 110 0110 1110 111 0111 1111 Each additional bit doubles the number of possible permutations 14 Bit Permutations  Each permutation can represent a particular item  There are 2N permutations of N bits  Therefore, N bits are needed to represent 2N unique items 1 bit ? 1 2 = 2 items How many 2 bits ? 22 = 4 items items can be 3 bits ? 23 = 8 items represented by 4 bits ? 24 = 16 items 5 bits ? 25 = 32 items 15 Composants Matériels  L’architecture d’un ordinateur spécifie sa structure - décrit la relation ou les interactions entre ses différents composants matériels.  La CPU et la mémoire principale correspondent aux composants principaux – noyau. 16 Composants Matériels: Architecture 17 Composants Matériels: Organisation de la mémoire 9278 Main memory is 9279 divided into many 9280 memory locations (or 9281 cells) 9282 9283 Each memory cell has 9284 a numeric address, 9285 which uniquely 9286 identifies it 18 Composants Matériels: Stokage de l’information 9278 Each memory cell stores 9279 10011010 a set number of bits (usually 8 bits, or one 9280 byte) 9281 Large values are 9282 stored in consecutive 9283 memory locations 9284 9285 9286 19 Composants Matériels: Capacité de stockage  Chaque type de mémoire à une capacité de stockage exprimée en nombre d’octets. Unit Symbol Number of Bytes kilobyte KB 210 = 1024 megabyte MB 220 (over one million) gigabyte GB 230 (over one billion) terabyte TB 240 (over one trillion) petabyte PB 250 (a whole bunch) 20 Composants Matériels: Mémoire  L’information stockée au niveau de la mémoire principale est volatile, contrairement à la mémoire secondaire.  L’accès à l’information stockée au niveau de la mémoire principale et au niveau d’un disque se fait de manière directe.  Différents types d’accès à l’information existent: direct, aléatoire et séquentiel. 21 Composants Matériels: Mémoire  RAM ou mémoire principale: mémoire où sont stockées le programme et les données actives (devant être exécutés, accès direct)  ROM: Read Only Memory – stockage portable : CD-ROM  L’information stockée au niveau de la ROM ne peut être modifiée  Un CD-ROM est un périphérique de type ROM  UN CD-Enregistrable (CD-R) est un périphérique utilisé pour enregistrer l’information une seule fois  Un DVD est un périphérique au même titre que le CD, mais permettant de stocker plus d’information – capacité plus grande  UN DVD-R joue le même rôle que le CD-R 22 Composants Matériels: CPU  La CPU est appelée également microprocesseur.  La CPU interprète et exécute les instructions l’une après l’autre dans un cycle continue: Cherche – décode et exécute l’instruction.  La vitesse de la CPU (mesurée en GHZ) est contrôlée par le système d’horloge qui génère des pulsations électroniques à intervalles réguliers.  Les pulsations coordonnent les activités de la CPU. Retrieve an instruction from main memory fetch execute decode Carry out the Determine what the instruction instruction is 23 The Central Processing Unit Performs Arithmetic / Logic Unit calculations and makes decisions Coordinates Control Unit processing steps Small Registers storage areas 24 Composants Matériels: Moniteur  La taille d’un moniteur est mesurée diagonalement.  Un moniteur possède une résolution maximale, précisant le nombre d’éléments appelés pixels pouvant être affichés.  Un moniteur avec une haute résolution produit des images très nettes. 25 Réseaux  Plusieurs ordinateurs peuvent être connectés entre eux en réseau – partagent des ressources et des données.  Nouvelles technologies: capitalisent sur la connexion des systèmes modernes.  Un serveur de fichiers est un ordinateur destiné à stocker les programmes et les données partagés entre les ordinateurs (utilisateurs) en réseau.  Connections réseaux - La plupart des réseaux partagent une seule ligne de communication entre les différents ordinateurs. - Chaque ordinateur peut être connecté à chacun des ordinateurs du réseau – On parle de connections point-à-point. 26 A Computer Network 27 Local-Area Networks A Local-Area Network (LAN) covers a small distance and a small number of computers LAN A LAN often connects the machines in a single room or building 28 Wide-Area Networks A Wide-Area Network (WAN) connects two or more LANs, often over long distances LAN LAN 29 Réseaux  Le réseau Internet (réseau de réseaux) est un WAN s’étendant sur toute la planète.  TCP/IP est un protocole (ensemble de règles qui régissent la communication entre deux choses) de communication utilisé par les logiciels de gestion de réseaux.  IP – Internet Protocol : détermine le format de l’information telle qu’elle est transférée.  TCP – Transmission Control Protocol: indique comment les messages sont réassemblés et gère les informations perdues.  Chaque ordinateur possède:  Une adresse IP: 204.192.116.2.  Une adresse internet permettant de l’identifier de façon unique sur le réseau: hector.vt.edu – hector (un ordinateur particulier) et vt.edu (le domaine - l’organisation). 30 Réseaux  Le Word Wide Web permet d’accéder à différents types d’information via une interface commune. Le Web est basé sur les concepts : hypertextes et hypermédias.  Un browser est un programme permettant l’accès aux ressources réseaux: Safari , Firefox, Internet Explorer …  Les ressources peuvent être du texte, du graphique, de la vidéo, du son, etc.  Un document Web est un document contenant des liens vers d’autres documents créant ainsi un environnement hypermédia.  Pour retrouver une information sur le Web on utilise l’URL – Uniform Resource Locator : http://www.google.com.  L’URL spécifie le protocole (http), le domaine et parfois le document. 31 Langage de programmation Java  Le langage Java a été crée par Sun Microsystems inc.  Depuis, plusieurs versions ont été proposées, mais les aspects fondamentaux du langage ont peu changés.  Un langage de programmation spécifie les mots, les symboles et le formalisme d’écriture pour construire des programmes.  La structure d’un programme comporte un ensemble de classes qui contiennent à leur tour une ou plusieurs méthodes qui contiennent une ou plusieurs instructions. 32 //******************************************************************** // Lincoln.java Author: Lewis/Loftus // // Demonstrates the basic structure of a Java application. //******************************************************************** public class Lincoln { //----------------------------------------------------------------- // Prints a presidential quote. //----------------------------------------------------------------- public static void main(String[] args) { System.out.println("A quote by Abraham Lincoln:"); System.out.println("Whatever you are, be a good one."); } } 33 Output A quote by Abraham Lincoln: //******************************************************************** // Lincoln.java Author: Lewis/Loftus Whatever you are, be a good one. // // Demonstrates the basic structure of a Java application. //******************************************************************** public class Lincoln { //----------------------------------------------------------------- // Prints a presidential quote. //----------------------------------------------------------------- public static void main(String[] args) { System.out.println("A quote by Abraham Lincoln:"); System.out.println("Whatever you are, be a good one."); } } 34 Développement de programmes  L’écriture d’un programme comporte plusieurs tâches: 1. Écriture du programme en utilisant un langage particulier (Java) 2. Translation (programme) dans une forme compréhensible par l’ordinateur 3. Test et mise au point  Plusieurs outils existent permettant de supporter ces différentes tâches (différents types d’outil).  Les langages de programmation peuvent être classés en 4 catégories: 1. Langage machine 2. Langage d’assemblage 3. Langage de haut niveau 4. Langage de quatrième génération 35 Développement de programmes  Chaque ordinateur possède son propre langage machine.  Pour être exécuté, un programme doit être translaté en langage machine.  Le compilateur permet la translation du code dans un langage machine spécifique.  Translation d’un programme Java.  La translation est quelque peut différente – Le code Java est traduit en bytecode qui sera exécuté par une machine virtuelle (interpréteur).  Le programme Java peut être ainsi exécuté sur n’importe quelle machine à condition que celle-ci dispose d’une machine virtuelle – portabilité. 36 Java Translation 37 Développement de programmes  Environnement de développement: - Java Development Kit (JDK) - Eclipse (ou un autre IDE) -…  Syntaxe et sémantique.  Les règles de syntaxe d’un langage de programmation définissent le formalisme d’écriture d’un programme donné.  La sémantique définie le sens des différentes instructions d’un programme - logique.  Un programme syntaxiquement correct peut ne pas être sémantiquement correct.  Erreurs: différents types d’erreurs – de compilation, d’exécution,... 38 Basic Program Development Edit and save program errors? errors? Compile program Execute program and evaluate results 39 Origine de la POO  Simula, Simula67: dans les années 60.  Smalltalk, C++: 1980.  1990: le langage OAK.  1995: Java.  2001: C#. Paradigmes de programmation Source: https://speakerdeck.com/badr/programmation-orientee-objet-poo?slide=21 Paradigmes de programmation  Programmation Impérative (procédurale) : Un programme est une suite d'instructions qui modifient l‘état du système  Soucis du développeur: fonctionnalité du programme  Que dois faire mon programme ?  Programmation orientée objet : Un programme est un ensemble de briques logicielles qui interagissent entre elles  Soucis du développeur: structure du programme  De quoi mon programme se compose-t-il ? Paradigmes de programmation Programmation procédurale (impérative)  Exécution linéaire  Composants passifs Opèrent sur  Un programme est composé de plusieurs: fonctions : retourne valeur après leur invocation procédures: effectuent des traitements sur des données Actions Données  Instructions qui modifient l’état de la mémoire  Exemples: Fortran, Lisp, Pascal, C affectent Paradigmes de programmation  Programmation orientée objet  Approche voisine de la réalité  Composants actifs, en interaction  Pas de barrière entre les données et les traitement  Exemples: SmallTalk, C++, Python, Java, C# Paradigmes de programmation  Programmation orientée objet  Un programme est composé de plusieurs objets qui contiennent:  des données internes  des traitements manipulant ces données internes ou d’autres données  Les données d’un objet sont appelées attributs  Les traitements sont appelés méthodes Avantages de l’orienté objet ?  Plus intuitif  Robustesse  Modularité et réutilisation  Maintenabilité  Compatibilité avec les applications distribuées Éléments de base de la POO Objet Programmation Orientée objet Classe Référence Analogie avec la programmation procédurale Classes Objet Référence Types Variable Valeur Programmation Orientée Objet  Java est un langage de programmation orientée objet (POO).  L’objet est le principal concept de la POO.  Un objet représente une entité du monde réel: voiture , personne, table, etc.  Un objet est caractérisé par: 1. son existence 2. son état 3. son comportement La classe et l’objet sont interdépendants: une classe définie (permet de créer) un ou plusieurs objets et un objet appartient à une classe. La méthode main correspondant au point d’entrée du programme - est contenue dans une classe. 49 La classe: le moule, le modèle  Une classe est composé d’un ensemble d’attributs (des propriétés) et des comportements sur ces attributs qu’on appelle méthodes.  La classe représente un ensemble d'objets ayant les mêmes propriétés et des comportements communs.  C’est le moule qui sert à former les objets en mémoire.  Les valeurs de ces états seront contenues dans les objets issus de la classe. Contenu d’une classe Nom de la classe Rectangle long Liste d’attributs larg Surface(long, larg) Liste de méthodes Perimetre(long,larg) Exemple d’une classe L’objet  L’objet est ‘’une sorte’’ de variable.  Les objets sont construits à partir de la classe, par instanciation, donc, tout objet est une instance d’une classe. On définit un objet comme on définit une variable. C’est le nom de la classe suivi du nom de l’objet Exemple : Formes unTriangle; Insectes uneMouche La référence  Chaque instance commence à un emplacement mémoire unique.  L’adresse de cet emplacement mémoire est dite référence  Lorsqu’on a besoin d’un objet pendant un traitement, on doit:  déclarer et nommer une variable du type de la classe à utiliser;  instancier l’objet et enregistrer sa référence dans cette variable.  Une fois cette instanciation réalisée, le programme accédera aux attributs  et aux méthodes de l’objet par la variable contenant sa référence. Fondements de la POO  Encapsulation  Abstraction  Héritage  Polymorphisme Encapsulation- Regrouper  Regrouper dans une même entité: les données et les traitements qui concerne le même objet.  Une sorte de boite noire qui sépare l’implémentation de la spécification.  Ne doit être visible de l’extérieur que ce qui est nécessaire, les détails d’implémentation sont « cachés ». Abstraction- Focus  Définition d’un degrés d’abstraction à travers la notion d’objets  Il s’agit d’identifier les propriétés et les mécanismes communes à un ensemble d’éléments  Cette vision abstraite de l’objet nous permet de nous focaliser sur les l’essentiel sans nous encombrer avec les détails Abstraction, encapsulation et interface Niveau externe Niveau interne Vi Interface d’utilisation Héritage- relation et hiérarchie  Regrouper le maximum de caractéristiques communes Classes plus générales  Relation entre les objets  Éviter la duplication du code  Créer des classes plus est un, spécialisées hérite de  Créer des classes plus riches Classes plus enrichies, plus spécifiques Polymorphisme Issu du concept d’héritage Redéfinition de méthodes héritées de la super-classe Une même méthode peut avoir plusieurs signatures pour implémenter des comportements différents selon les types des paramètres passés Code générique et unifié

Use Quizgecko on...
Browser
Browser