ET LO GICIEL D UN S YS T EME IN FORMATIQUE



Documents pareils
Partie 1. Professeur : Haouati Abdelali. CPGE Lycée Omar Ibn Lkhattab - Meknès haouaticpge@gmail.com

Cours Informatique 1. Monsieur SADOUNI Salheddine

Structure de base d un ordinateur

Codage d information. Codage d information : -Définition-

Leçon 1 : Les principaux composants d un ordinateur

Sur un ordinateur portable ou un All-in-One tactile, la plupart des éléments mentionnés précédemment sont regroupés. 10) 11)

Informatique Générale

La mémoire. Un ordinateur. L'octet. Le bit

Architecture des ordinateurs Introduction à l informatique

Matériel & Logiciels (Hardware & Software)

Programmation C. Apprendre à développer des programmes simples dans le langage C

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

THEME 1 : L ORDINATEUR ET SON ENVIRONNEMENT. Objectifs

Base de l'informatique. Généralité et Architecture Le système d'exploitation Les logiciels Le réseau et l'extérieur (WEB)

TIC. Tout d abord. Objectifs. L information et l ordinateur. TC IUT Montpellier

Structure et fonctionnement d'un ordinateur : hardware

Éléments d'architecture des ordinateurs

Cours 3 : L'ordinateur

Premiers pas sur l ordinateur Support d initiation

Introduction à l informatique en BCPST

Licence Sciences et Technologies Examen janvier 2010

Un ordinateur, c est quoi?

Ordinateur Logiciel Mémoire. Entrées/sorties Périphériques. Suite d'instructions permettant de réaliser une ou plusieurs tâche(s), de résoudre un

Représentation des Nombres

IV- Comment fonctionne un ordinateur?

AUJOUR'HUI, NOUS ALLONS DÉCOUVRIR

L ORDINATEUR. Les composants. La carte mère. Le processeur. Fréquence

Une version javascript sera disponible directement dans le cours prochainement.

Logiciel de Base. I. Représentation des nombres

Découverte de l ordinateur. Partie matérielle

Algorithme. Table des matières

À la découverte de l ordinateur

l'ordinateur les bases

Composition d un ordinateur :

qwertyuiopasdfghjklzxcvbnmqwerty uiopasdfghjklzxcvbnmqwertyuiopasd fghjklzxcvbnmqwertyuiopasdfghjklzx cvbnmqwertyuiopasdfghjklzxcvbnmq

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Certificat Informatique et internet Niveau 1 TD D1. Domaine 1 : Travailler dans un environnement numérique évolutif. 1. Généralités : Filière

Architecture matérielle des systèmes informatiques

Microprocesseur + Logiciel

Qu est-ce qu un Ordinateur

LECON 2 : PROPRIETES DE L'AFFICHAGE Version aout 2011

Hiérarchie matériel dans le monde informatique. Architecture d ordinateur : introduction. Hiérarchie matériel dans le monde informatique

Introduction à l architecture des ordinateurs. Adrien Lebre Décembre 2007

TP 1 : prise en main de Windows. TP 1 : prise en main de Windows

Architecture de l ordinateur

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Installer des périphériques

Comme chaque ligne de cache a 1024 bits. Le nombre de lignes de cache contenu dans chaque ensemble est:

LE MICRO ORDINATEUR. Introduction Architecture Les supports amovibles Les composants Le système d exploitation Les portables

Architecture des Ordinateurs. Partie II:

CI 1 PROBLEME : Quelles sont les fonctions et les caractéristiques d un environnement informatique?

Initiation à l ordinateur Support d initiation

L informatique en BCPST

MODULE I1. Plan. Introduction. Introduction. Historique. Historique avant R&T 1ère année. Sylvain MERCHEZ

PC Check & Tuning 2010 Optimisez et accélérez rapidement et simplement les performances de votre PC!

Démontage d'un ordinateur

Présentation du système informatique utilisé et éléments d architecture des ordinateurs

INTRODUCTION À L INFORMATIQUE

Les opérations binaires

TAI049 Utiliser la virtualisation en assistance et en dépannage informatique TABLE DES MATIERES

PARAGON Disk Wiper. Guide de l utilisateur. Paragon Technology GmbH, System Programmierung. Copyright Paragon Technology GmbH

On distingue deux grandes catégories de mémoires : mémoire centrale (appelée également mémoire interne)

I00 Éléments d architecture

1.1 L EXPLORATEUR WINDOWS

Démarrer et quitter... 13

Windows 7 - Installation du client

DE L ORDINATEUR. Ligue Libérale des Pensionnés asbl

Conversion d un entier. Méthode par soustraction

L informatique pour débutants

LOGICIEL ALARM MONITORING

et dépannage de PC Configuration Sophie Lange Guide de formation avec exercices pratiques Préparation à la certification A+

Arithmétique binaire. Chapitre. 5.1 Notions Bit Mot

Module M1 Elément 2 : Informatique 1 (I1)

Indiquer l'espace libre sur le disque dur

1/6. L icône Ordinateur

La technologie au collège

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

Retrouver de vieux programmes et jouer sur VirtualBox

Installer Windows 8 depuis une clé USB

INITIATION A L INFORMATIQUE. MODULE : Initiation à l'environnement Windows XP. Table des matières :

Initiation Internet Module 0 : Découverte de L ordinateur

Le codage informatique

Architecture des ordinateurs TD1 - Portes logiques et premiers circuits

Un ordinateur, c est quoi?

Tester Windows 8 sans l'installer avec Virtualbox

Installation et Réinstallation de Windows XP

Affectation standard Affectation modifiée (exemple)

MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C

Matériel informatique (hardware)

«Connais toi toi-même comme l as dit Socrate!»

Tsoft et Groupe Eyrolles, 2005, ISBN :

CPLN 20/08/2009 MBO Service ICT et Pédagogie

L informatique en solo

Mode d emploi pour lire des livres numériques

Permis de conduire info

Utilisez Toucan portable pour vos sauvegardes

EX-word TextLoader Fonction Bibliothèque

Matériel. Matériel de bureau

Cahier n o 6. Mon ordinateur. Fichiers et dossiers Sauvegarde et classement

Transcription:

C HAPIT RE 0 : ENVIRONNEMENT MATE RI EL ET LO GICIEL D UN S YS T EME IN FORMATIQUE Objectifs : 1. Présenter l ensemble des ressources physiques et logicielles d un système informatique. 2. Comprendre la représentation des données numériques sous forme binaire. I. TERMINOLOGIE DE BASE - Le mot Informatique désigne la science du traitement automatique de l information par ordinateur. - Nous appelons information tout ensemble de données transmettant une connaissance. On distingue généralement différents types d informations : textes, sons, images, vidéo, etc. - Un Système informatique est une combinaison interdépendante de matériel (HARDWARE) et de logiciel (SOFTWARE). II. L ORDINATEUR (ARCHITECTURE SIMPLIFIEE) Un ordinateur est un ensemble de circuits électroniques permettant de manipuler des données sous forme binaire, c'est-à-dire sous forme de bits (0 ou 1) On distingue généralement plusieurs familles d'ordinateurs selon leurs formats : Les mainframes (en français ordinateurs centraux), ordinateurs possédant une grande puissance de calcul, des capacités d'entrée-sortie gigantesques et un haut niveau de fiabilité. Ils sont utilisés dans de grandes entreprises pour effectuer des opérations lourdes de calcul ou de traitements de données volumineuses. Les main frames sont généralement utilisés dans des architectures centralisées, dont ils sont le cœur. Les ordinateurs personnels, parmi lesquels on distingue : o Les ordinateurs de bureau (en anglais desktop computers), composés d'un boîtier renfermant une carte mère et permettant de raccorder les différents périphériques tels que l écran. o Les ordinateurs portables (en anglais laptop ou notebooks), composé d'un boîtier intégrant un écran dépliable, un clavier et un grand nombre de périphériques incorporés. o Les tablettes PC (en anglais tablet PC, également appelées ardoises électroniques), composées d'un boîtier intégrant un écran tactile ainsi qu'un certain nombre de périphériques incorporés. o Les assistants personnels (appelés PDA, pour Personal digital Assistant, ou encore handheld, littéralement «tenu dans la main»), parfois encore qualifiés d'organiseur (en anglais organizer) ou d'agenda électronique, sont des ordinateurs de poche proposant des fonctionnalités liées à l'organisation personnelle. Aujourd'hui, nous parlons de PC (Personal Computer = Ordinateur personnel), le type d'ordinateur le plus répandu sur le marché. OUSTOUH 1 / 17 2014-2015

Architecture générale d un ordinateur 1. MEMOIRE CENTRALE La mémoire est un composant de base de l ordinateur, son rôle est de stocker les données avant et pendant leur traitement par le processeur. Ces données sont d apparence binaire et mémorisées sous forme d impulsions électriques (une impulsion est égale à 1, aucune impulsion est égale à 0 ou l inverse) A. MEMOIRE VIVE : La mémoire vive appelée également mémoire centrale ou RAM (Random Access Memory) permet de stocker temporairement les données et programmes en cours de traitement. Les données contenues dans la mémoire vive sont perdues lorsque le courant électrique est coupé. La mémoire vive se présente sous la forme de barrettes qu on insère dans un connecteur de la carte mère. On peut augmenter la taille mémoire en rajoutant des barrettes de RAM. Les caractéristiques de la mémoire vive sont : Le temps d accès : temps qui sépare une demande de lecture/écriture et sa réalisation Le débit : nombre de bits maximum transmis par seconde Sa volatilité : cette volatilité implique que les données sont perdues dès que l alimentation électrique est coupée. Capacité mémoire= taille d un mot mémoire * nombre de mots mémoires (exprimée en Mo ou Go) Unité de mesure de la taille mémoire : Pour mesurer la taille mémoire, on utilise l octet : 1 octet= 8 bits = 1 caractère 1 kilo-octet (Ko) = 1024 octet 1 méga-octet (Mo) = (1024) 2 octets 1 giga-octet (Go) = (1024) 3 octets 1 tera-octet (To) = (1024) 4 octets On peut aussi parler de Kbits, Mbits, Gbits. 1 Kbits=10 3 bits, 1 Mbits= 10 3 Kbits, 1 Gbits = 10 3 Mbits La mémoire est divisée en cases de taille fixe pour stocker les données et les instructions en vue de leur exploitation par l unité centrale. L adresse mémoire permet d accéder à une case mémoire. L adresse mémoire est codée sur une suite de bits. Le nombre de bits réservé au codage de l'adresse doit évidemment être suffisant pour permettre d'associer une adresse différente à chaque mot mémoire. Les bits mémoires sont regroupés en mots mémoires de taille déterminée (8 bits, 16 bits, 32 bits, 64 bits) Le mot mémoire est la plus petite quantité d information que l on peut lire ou écrire en mémoire. OUSTOUH 2 / 17 2014-2015

B. LA MEMOIRE MORTE La mémoire morte (en anglais ROM= Read Only Memory) est une mémoire en lecture seule, appelée aussi mémoire non volatile, c est-à-dire une mémoire qui ne s efface pas à l extinction de l ordinateur. Elle stocke le programme de base pour démarrer et utiliser un ordinateur qu on appelle firmware (le BIOS : Basic Input Output System) C. MEMOIRE CACHE La mémoire cache est une petite mémoire à accès rapide qui sert de tampon entre la mémoire vive et le processeur. Elle stocke les informations les plus souvent utilisées, permettant ainsi de réduire les états d attente du microprocesseur. Lorsque le microprocesseur veut traiter des données, il accède d abord à la cache interne, s il ne trouve pas les données, il accède à la cache externe, puis à la RAM. 2. PROCESSEUR (CARACTERISTIQUES, FONCTIONS) Le processeur (CPU, pour Central Processing Unit, soit Unité Centrale de Traitement) décode et exécute les instructions, réalise toutes les opérations arithmétiques, logiques, accès à la mémoire centrale et le transfert des informations vers d autres ressources par l intermédiaire des bus. L unité centrale est composée des éléments suivants : - L unité arithmétique et logique est l organe qui permet d effectuer des opérations arithmétiques ; il peut calculer la somme, la différence, le produit ou le rapport de nombres codés, il peut également effectuer des opérations logiques (disjonction, conjonction, négation) - L unité de commande permet de «séquencer» le déroulement des instructions. Elle effectue la recherche en mémoire de l instruction, son décodage, son exécution et la préparation de l instruction suivante. - Les registres sont des zones de stockage temporaires qui conservent les données ou les instructions et gèrent les adresses et les résultats des opérations. On peut citer comme registres : - L accumulateur (ACC) : contient un des deux opérandes avant l exécution de l opération et reçoit le résultat après. - Le registre d instruction : est associé à l unité de commande, et peut recevoir l instruction devant être exécutée. Il comprend deux parties : o Une première contenant le code opération qui définit l opération à exécuter (addition, multiplication, ) o Une deuxième contenant l adresse de l opérande - Le registre d état est associé à l UAL, et contient des indicateurs qui après chaque opération indiquent certains états particuliers tels qu une retenue, le signe ou la parité. - Le compteur ordinal (CO) est associé à l unité de commande et contient l adresse de la prochaine instruction à traiter. - Le pointeur de pile (SP) contient l adresse d une partie de la mémoire, appelée pile. OUSTOUH 3 / 17 2014-2015

Parmi les paramètres principaux qui contribuent à identifier un processeur : sa fréquence, sa largeur, sa date de commercialisation, son nom, MIPS. - La fréquence d'horloge (appelée également cycle, correspondant au nombre d'impulsions par seconde, s'exprime en Hertz (Hz). Ainsi, un ordinateur à 200 MHz possède une horloge envoyant 200 000 000 de battements par seconde. La fréquence d'horloge est généralement un multiple de la fréquence de la carte mère. A chaque top d'horloge le processeur exécute une action, correspondant à une instruction ou une partie d'instruction. L'indicateur appelé CPI (Cycles Par Instruction) permet de représenter le nombre moyen de cycles d'horloge nécessaire à l'exécution d'une instruction sur un microprocesseur. La puissance du processeur peut ainsi être caractérisée par le nombre d'instructions qu'il est capable de traiter par seconde (MIPS : Millions d'instructions Par Seconde) correspondant à la fréquence du processeur que divise le CPI.) Note : l horloge synchronise le microprocesseur et les autres composants, plus elle sera élevée plus la machine sera rapide. - La largeur d un processeur est la largeur de ses registres internes de manipulation de données (8, 16, 32, 64, 128 bits) et du bus d E/S de données pour désigner le nombre de bits qu'un bus peut transmettre simultanément. Note : Un bus est un canal permettant d acheminer des informations binaires entre les différents composants de l ordinateur. On distingue en particulier le bus de données, le bus d adresses et le bus de commandes : Le bus de données transporte les données à destination ou en provenance du processeur. Le bus d adresses qui véhicule les adresses mémoire Le bus de commande qui transporte les différents signaux de synchronisation nécessaires au fonctionnement du système : le signal de lecture, le signal d écriture et le signal de sélection. Exemple : processeur pentium 4 commercialisé en 2004 a une fréquence de 3,4 GHz et une largeur de données 32 bits/64 bits bus (32 bits : nombre de bits sur lequel une opération est faite, 64 bits indique le nombre de bits transférés à la fois entre le microprocesseur et la mémoire), 9000 MIPS. 3. PERIPHERIQUES A. PERIPHERIQUE D ENTREE/SORTIE Un périphérique est un composant matériel informatique assurant les communications entre l ordinateur et le monde extérieur. On distingue en particulier : les périphériques d entrée et les périphériques de sortie. Les périphériques d entrée permettent à l utilisateur d entrer des données, des commandes ou des programmes qui seront gérés par l utilisateur. OUSTOUH 4 / 17 2014-2015

Exemple : clavier, souris, manette de jeu, scanner, microphone, appareil photo numérique, caméra vidéo numérique, camera web, lecteur CD, DVD Les périphériques de sortie permettent à l utilisateur de visualiser les résultats des calculs ou des manipulations de données effectuées. Exemple : moniteur, imprimante, graveur, hauts parleur Note : les périphériques d entrée et de sortie permettent des communications bi-directionnelles entre l ordinateur et le monde extérieur. Exemple : modem, lecteur disquette, lecteur disquette ZIP. B. INTERFACE D ENTREE/SORTIE Une interface peut être un port, un circuit ou bien un processeur particulier spécialisé dans la gestion d un certain périphérique ou d une certaine fonction constituant ce que l on appelle carte d extension, comme une carte video ou une carte son. Un port d entrée/sortie peut être de type série, parallèle ou USB, VGA, PCI, IDE, AGP, PS/2, ISA. Un port série assure la transmission en série ce qui désigne un envoi de données via un fil unique (les bits sont envoyés les uns à la suite des autres) et permet la connexion d une souris, d un clavier, d un modem. Un port parallèle assure la transmission parallèle ce qui désigne l envoi simultané de données sur plusieurs fils et permet la connexion d une imprimante. Le port USB est une interface d entrée/sortie de type série, permettant de connecter une souris, un clavier, une clé USB, un disque dur, un scanner, une imprimante, Le port VGA permet de connecter le moniteur Le port PCI permet la connexion des cartes d extensions : carte son, video, modem Le port IDE permet la connexion des disques durs Le port AGP permet la connexion des cartes graphiques Le port PS/2 permet la connexion de la souris et du clavier C. MEMOIRES AUXILIERES Les mémoires auxiliaires conservent les informations de manière quasi permanente, comme les disquettes, les disques durs ou encore les bandes magnétiques. Il existe également des unités de stockage optiques comme les disques compacts (CD-ROM) ou les DVD-ROM. Actuellement des mémoires flash appelé bâtonnet de mémoire ou encore clé USB sont des supports qui s utilisent comme lecteur de disque externe, leurs capacités atteignent plusieurs Go. Un disque dur est capable de stocker une grande quantité de données, mais la lecture de celles-ci est environ mille fois plus lente que pour celle de la mémoire vive. De plus l accès à ces données est relativement complexe : comme dans le cas de la mémoire vive, les données qui y sont stockées ont toute une adresse, mais le contenu d une adresse donnée n est pas accessible par une simple instruction du processeur. On stocke en général dans un disque dur non seulement les données de l utilisateur mais aussi tous les programmes, y compris le système d exploitation de la machine. III. SYSTEME D EXPLOITATION Le système d exploitation d un ordinateur ou d une installation informatique est un ensemble de programmes qui remplissent deux grandes fonctions : - gérer les ressources matérielle et logicielle en assurant leurs partages entre un ensemble plus ou moins grand d utilisateurs - assurer un ensemble de services en présentant aux utilisateurs une interface mieux adaptée à leurs besoins que celle de la machine physique. Exemple de système d exploitation : MS-DOS, WINDOWS 3.1, 95, 98, Me, NT, 2000, XP, VISTA, 7, 8, MAC OS, UNIX, LINUX Un système d exploitation a différentes fonctions essentielles: - gérer l ensemble des échanges entre le microprocesseur, la mémoire centrale et les unités périphériques - gérer l exécution des applications en leur affectant les ressources nécessaires à leur bon fonctionnement. - Gérer les fichiers en organisant à tout moment les supports de stockage et en gérant les droits d accès aux fichiers OUSTOUH 5 / 17 2014-2015

- Gérer les erreurs susceptibles de se produire pendant l exécution d une opération. Le système doit essayer de résoudre le problème, ou bien doit le signaler soit à l utilisateur par le biais des messages d erreurs, soit au programme en cours d exécution grâce aux codes d erreurs. A. GESTION DES FICHIERS ET DES DOSSIERS SOUS WINDOWS Définitions : Un fichier est un ensemble d informations de même type rangé sur un support de stockage. Les fichiers sont de deux types : les fichiers de données et les fichiers programmes. Un fichier est caractérisé par son nom, son extension et son chemin d accès. - Le nom est une chaine de caractères comprenant des lettres, des chiffres et le trait de soulignement _. Il peut contenir jusqu à 255 caractères, y compris des espaces. Il ne peut contenir aucun des caractères suivants : / \ :? " < >. - L extension est une suite de lettres (max 4) qui sert à identifier le type de fichier ainsi que l application avec laquelle il pourrait être ouvert. - Le chemin d accès représente la suite des dossiers séparés par le caractère \, à parcourir de la racine (C : ou D : ) jusqu au dossier contenant le fichier concerné. Un dossier ou répertoire sont, eux aussi, des fichiers, constitués des noms et des références de tous les fichiers qu ils contiennent. Cette structure permet alors de construire l arborescence du système. Une «vue» du gestionnaire de fichiers d Open Look B. TABLEAU DES COMMANDES USUELLES SUR LES FICHIERS ET DOSSIERS SOUS WINDOWS 7 Sélection Un seul élément Un Clic dessus Consécutif Un clic sur le premier élément, maintenir la touche Shift enfoncée, puis un clic sur le dernier élément Non consécutif Un clic sur le premier élément, maintenir la touche Ctrl enfoncée, puis un clic sur les autres éléments Tous les éléments Ctrl + A, Organiser sélectionner tout Création Dossier Explorateur Windows nouveau dossier taper le nom du répertoire valider avec la touche entrée Copie Un fichier ou un dossier Sélectionner l élément concerné organiser OUSTOUH 6 / 17 2014-2015

copier. Modification Nom d un dossier ou un Sélectionner l élément F2 fichier taper le nouveau nom Suppression Recherche Formatage Restauration Le chemin d accès : déplacer un fichier ou dossier Supprimer un fichier ou un dossier Vider la corbeille Rechercher un fichier ou un dossier Formater une disquette, une partition étendue. Restaurer un fichier ou un dossier valider avec la touche entrée. Sélectionner l élément menu contextuel couper sélectionner le dossier destination menu contextuel coller Sélectionner l élément organiser supprimer Sélectionner la corbeille menu contextuel vider la corbeille Bouton démarrer taper le nom de l élément dans la zone «rechercher les programmes et fichiers» Sélectionner le lecteur menu contextuel formater Ouvrir la corbeille sélectionner l élément menu contextuel restaurer. C. CONTROLE D ACCES Les systèmes d exploitation, Unix comme Windows, sont multi-utilisateurs : chaque utilisateur dispose d un identifiant auprès du système. Dans un système d'exploitation multi-utilisateurs, un ensemble de programmes assure la sécurité des informations enregistrées dans les mémoires ainsi que la disponibilité de l'ordinateur, ceci afin de préserver la confidentialité et éviter que des manipulations effectuées par un utilisateur perturbent l'utilisation de l'ordinateur par les autres utilisateurs. Lors de chaque opération demandée par un logiciel applicatif, le système d'exploitation vérifie préalablement si l'utilisateur qui manipule le logiciel applicatif est autorisé à effectuer cette opération. La vérification se fait sur la base des listes de droits d'accès introduits par l'administrateur sécurité. Le système d'exploitation refusera toute opération non autorisée. D. MISE EN ŒUVRE D UN ENVIRONNEMENT DE DEVELOPPEMENT Un ordinateur est une machine universelle, sur laquelle tout utilisateur a la capacité d écrire et d exécuter un programme, dans les limites fixées par le système d exploitation. Pour écrire un programme, l utilisateur a trois possibilités : Les écrire en langage machine. C est une tâche ardue car il s agit d un langage de bas niveau dans lequel il est difficile ou au minimum fastidieux d implanter des idées un tant soit peu complexes. Utiliser un compilateur : un programme écrit dans un langage évolué est traduit par le compilateur pour donner un programme en langage machine. Faire appel à un interpréteur d un langage évolué. Un interpréteur est un programme exécutable qui va lire le texte d un programme dans un langage évolué pour l exécuter pas à pas, sans passer par la phase intermédiaire de compilation. La compilation demande un traitement préliminaire avant de pouvoir exécuter le programme que l on a écrit, mais produit en général des applications efficaces. A l inverse, on peut interpréter un programme immédiatement après l avoir écrit, mais il aura tendance à s exécuter moins rapidement. OUSTOUH 7 / 17 2014-2015

Différence entre un interpréteur et un compilateur. On appelle environnement de développement intégré (parfois abrégé IDE) un logiciel qui permet à la fois : D écrire des programmes dans un éditeur adapté au langage D exécuter les programmes que l on a écrits De corriger des erreurs( déboguer) dans ces programmes Eventuellement de consulter de la documentation Dans ce qui suit, on présente l IDLE fourni avec la distribution standard de python, il est particulièrement sobre, suffisant pour une utilisation basique de python. L application IDLE (integrated development environment) permet à la fois : D utiliser python en mode interactif : Au lancement de l application IDLE, un message d information apparait, puis le curseur se positionne juste après le prompt, représenté par >>>. A l invite du «prompt» de l application Idle, on peut commencer par entrer et évaluer des expressions : c est le mode interractif de Python, où chaque ligne tapée est immédiatement exécutée et leurs valeurs affichées. D écrire et sauvegarder des programmes (on dit aussi des scripts ou mieux des modules) puis de les exécuter (en utilisant la touche F5 ou la commande RUN du menu RUN) : L editeur de l application Idle propose en outre les fonctionnalités suivantes : - Coloration syntaxique (certains élement du langage reçoivent une couleur spécifique) - Autocomplétion (avec la touche Tab), rappels syntaxiques (à la parenthèse ouvrante d une fonction) - Indentation automatique après le caractère «:» - Debogueur intégré : pour corriger les erreurs d un programme. OUSTOUH 8 / 17 2014-2015

PROCEDURE D INSTALLATION : 1- Télécharger le programme d installation http://www.python.org/download/releases/3.3.2 ou toute autre version plus récente qui seront disponible à partir de la page http://www.python.org/download, puis exécuter le. 2- Accepter le répertoire d installation par défaut, en principe c:\python33, chaque installation produit un dossier dans lequel on trouvera une application nommée Idle (integrated development environment). IV. REPRESENTATION DES DONNEES DANS LA MEMOIRE Quelle que soit la nature de l information traitée par ordinateur (des nombres, textes, sons, vidéos), elle l est toujours sous la forme d un ensemble de nombres écrits en binaire (base 2) 1. SYSTEMES DE NUMERATION L écriture d un nombre en base b est formée à partir de b symboles, appelés chiffres. Si l écriture d un nombre en base b est : cncn 1...c1c0 (les ci sont les chiffres), sa valeur sera : v(cn) b n + v(cn 1) b n 1 +... + v(c1) b 1 + v(c0) b 0, où v(ci) est la valeur associée au chiffre (symbole) c i. Pour une base b supérieure à 10, on ajoute aux chiffres ordinaires d autres symboles, comme des lettres. La base 16 utilise par exemple les 16 chiffres suivantes : 0, 1, 2,..., 9, A,B,C,D,E, F. a. Système décimale Le système décimal utilise un alphabet de 10 chiffres (de 0 à 9), le système décimal a pour base 10. b. Système binaire Le système binaire est un système qui comprend deux chiffres : 0 et 1 nommés Bit (Binary digit), le système a pour base 2. Avec 1 bit nous pouvons coder 2 informations : 0 et 1 Nous démontrons par récurrence qu avec n bits nous pouvons coder 2 n informations possibles. c. Système hexadécimal Le système hexadécimal est le système le plus utilisé par l homme en informatique car il permet l interprétation rapide d une valeur binaire. C est un système de numération positionnel en base 16, utilise les dix premiers chiffres et les 6 premières lettres : 0,1,2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. hexadécimal 0 1 2 3 4 5 6 7 8 9 A B C D E F décimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 d. Système octal Le système octal utilise un système de numération ayant comme base 8. Il faut bien noter que dans ce système nous n aurons plus dix symboles mais huit seulement et qui sont : 0, 1, 2, 3, 4, 5, 6, 7. Ainsi un nombre exprimé en base 8 pourra se présenter de la manière suivante : 745 (8). Remarque : Lorsque l on écrit un nombre, il faudra bien préciser la base dans laquelle on l exprime pour lever les éventuelles indéterminations. OUSTOUH 9 / 17 2014-2015

2. CODAGE DES NOMBRES A. NOMBRES ENTIERS NATURELS Pour coder un nombre entier naturel en une base b quelconque : - On divise le nombre par la base b - Puis le quotient par la base b - Ainsi de suite jusqu à l obtention d un quotient nul - La suite des restes correspond aux symboles de la base visée. - On obtient en premier le chiffre de poids faible et en dernier le chiffre de poids fort. Exemple : décimale vers binaire - Soit N le nombre d étudiants d une classe représenté en base décimale par : N = 73(10) Représentation en Binaire : Pour décoder un nombre binaire vers une base b : Première solution : Convertir le nombre en base binaire vers la base décimale puis convertir ce nombre en base 10 vers la base b. Exemple : 10010(2)= 2 4 +2=18(10)=2*8 1 +2*8 0 =22(8) Deuxième solution : Binaire vers décimale : - par définition ( ) Binaire vers octale : - regroupement des bits en des sous ensembles de trois bits puis remplacer chaque groupe par le symbole correspondant dans la base 8. Binaire vers hexadécimale : - regroupement de bits en des sous ensembles de quatre bits puis remplacer chaque groupe par le symbole correspondant dans la base 16. Exemple : Soit N un nombre représenté en binaire par : N=1010011101(2) Représentation décimale : N= 1*2 9 +0*2 8 +1*2 7 +0*2 6 +0*2 5 +1*2 4 +1*2 3 +1*2 2 +0*2 1 +1*2 0 N= 512+0+128+0+0+16+8+4+0+1 N=669(10) Représentation octale : N= 001 010 011 101 N= 1235 (8) Représentation hexadécimale : N= 0010 1001 1101 N= 29D (16) OUSTOUH 10 / 17 2014-2015

B. NOMBRES ENTIERS RELATIFS Le problème ici est que d une part il faut représenter la valeur absolue et d autre part le signe. Quand on dispose d un mot mémoire de 16 bits et qu on fait l hypothèse qu il code un entier signé il faut pouvoir reconnaître le signe (+ /-), et donc il est obligatoire qu un bit sur les 16 bits disponibles sera utilisé pour coder le signe. C est le bit de gauche (dit de poids fort) qui est utilisé : S il vaut 1 alors le nombre codé est négatif S il vaut 0 alors le nombre codé est positif On code donc le signe 0/1 puis sur 15 bits la valeur absolue qui va donc de 0 à 2 15-1 (=32 767) On peut donc coder ainsi de 32 767 à + 32 767 Inconvénients de ce codage : - le 0 est codé deux fois +0 0000 0000 0000 0000-0 1000 0000 0000 0000 - exemple : 1 + (-3) s écrit si l on pose l opération d addition binaire classique: 0000 0000 0000 0001 1000 0000 0000 0011 --------------------------- Somme 1000 0000 0000 0100 Ce qui serait le codage de 4.le résultat est donc faux Le codage des entiers signés se fait actuellement en «complément à 2» : Algorithme de conversion d'un nombre en binaire complément à 2 sur un octet : On code sa valeur absolue en binaire, comme un entier naturel, puis on réalise l opération de complémentation à 2 : on inverse chaque bit (0 devient 1, 1 devient 0), puis on ajoute 1 au nombre binaire obtenu. Exemple : -24 en complément 2 sur 8 bits Nous avons 24 est codé par 00011000(2) Nous avons -24 11100111(C1) Donc -24 est codé par 11101000(C2) Plus généralement, avec des mots de n bits, on peut représenter les entiers relatifs compris entre -2 n-1 et 2 n-1-1 : on représente un entier relatif x positif ou nul comme l entier naturel x (compris entre 0 et 2 n-1-1) et un entier relatif x strictement négatif comme l entier naturel x+2 n (compris entre 2 n-1 et 2 n -1). Si l entier relatif x est positif ou nul, on le représente comme l entier naturel x. s il est strictement négatif, on le représente comme l entier naturel x+2 n. Si cet entier relatif est donné par un mot m de n bits, on commence par calculer l entier naturel p représenté par ce mot. Si p est strictement inférieur à 2 n-1, c est l entier relatif représenté, s il est supérieur ou égal à 2 n-1, l entier relatif représenté est p-2 n. C. NOMBRES REELS La représentation des nombres fractionnaires a utilisé plusieurs techniques de codification, celles les plus utilisées étant la représentation d une position de virgule fixe et celle de la définition d un format à virgule flottante. 1. VIRGULE FIXE Un nombre réel se compose de deux parties distinctes : une partie entière, située à gauche de la virgule, et une partie décimale, située après celle-ci. Pour ce qui est de la partie entière, nous savons désormais parfaitement la coder. Mais la partie décimale? Il suffit de reprendre le principe de la numération positionnelle, en considérant chaque bit situé après la virgule comme associé cette fois à des puissances négative de deux, tout comme nous le faisons pour la base 10. Exemple : 4,25(10) =? (2) format virgule fixe 4(10) = 100(2) OUSTOUH 11 / 17 2014-2015

0,25 x 2= 0,5 0 0,5 x 2 = 1,0 1 Donc 4,25(10) = 100,01(2) Le problème est le codage de la virgule. Impossible en effet de la symboliser par un bit, car comment par la suite reconnaître ce bit codant la virgule parmi tous les bits composant le nombre proprement dit? Le seul moyen de procéder est pour la machine de convenir une fois pour toute d une position immuable et tacite de la virgule. Exemple : Dans un mot mémoire de 2 octets, le plus petit réel codable correspond donc à l octet 00000001 qui code la valeur 0,00390625 (soit 1/256) et le plus grand à l octet 11111111, qui code la valeur 0,99609375 (soit 1/2 + 1/4 + 1/8 + 1/16 + 1/32 + 1/64 + 1/128 + 1/256). Notez quand même que 256 combinaisons s avèrent insuffisant afin de coder l infinité des réels compris entre ces deux valeurs. La probabilité est donc immense qu un réel ne puisse être exactement codé par huit bits. 2. VIRGULE FLOTTANTE Un nombre en virgule flottante selon la norme IEEE754 est représenté sous la forme : v = s 2 E m où : - s est le signe (+ ou -) - m = 1,M. m représente la partie significative (en binaire), d'où 1 m < 2 (la mantisse M étant la partie décimale de la partie significative, comprise entre 0 et 1) - un exposant E Les nombres représentés sous cette forme sont appelés nombre à virgule flottante, puisque la virgule de la mantisse peut être «déplacée» par le biais de l exposant. Suivant la puissance du calculateur on code le nombre réel sur : - 32 bits : (-1) s x 1,M x 2 E. Ce type de codage est appelé codage simple précision. - 64 bits : (-1) s x 1,M x 2 E. Ce type de codage est appelé codage double précision. Le nombre de bits pour le signe, la mantisse et l exposant sont : - Simple précision : 23 bits de mantisse, 8 bits d'exposant, 1 bit de signe - Double précision : 52 bits de mantisse, 11 bits d'exposant, 1 bit de signe Le signe + est représenté par 0 et le signe par 1 Quand on utilise 64 bits pour représenter un nombre à virgule, l exposant est compris entre -1022 et 1023 ; on le représente comme l entier naturel E+1023, qui est compris entre 1 et 2046. Les deux entiers naturels 0 et 2047 sont réservés pour des situations exceptionnelles ( La mantisse m est un nombre binaire à virgule comprenant 52 chiffres après la virgule. Comme cette mantisse est comprise entre 1 et 2 exclu, elle a toujours le seul chiffre 1 avant la virgule, il est donc inutile de le représenter et on utilise les 52 bits pour représenter les 52 chiffres après la virgule. Exemples du codage d un nombre réel avec la norme IEEE 754 Exemple 1 : On veut coder le nombre réel (-51,375) sur 32 bits (simple précision) 1) le signe négatif est mis dans le bit s = 1 2) on sépare le nombre en deux: la partie entière (51) et la partie fractionnaire ou décimale (0,375) 3) on convertit la partie entière en nombre binaire : 51 (10) = 110011 (2) 4) on convertit la partie décimale (ou fractionnaire) en nombre binaire de la façon suivante : on multiplie la partie décimale par 2 jusqu à obtenir 0 0,375x2 = 0,75 0,75x2 = 1,5 0,5x2 = 1,0 0,0x2 = 0,0 En effet 0,375 = 0x2-1 + 1x2-2 + 1x2-3 + 0x2-4 OUSTOUH 12 / 17 2014-2015

Le nombre réel en base 10 s écrit en base 2 : 51,375 10 = 110011,0110 2 5) on décale la virgule à gauche de 5 rangs pour l écrire sous la forme 1,M. L exposant de la puissance de 2 vaut 5: E =5 L écriture du nombre binaire est 1, 10011011000 La mantisse est M = (100110110000) 2 Par conséquent le nombre (51,375) 10 = (1, 10011011000) 2 x2 5 Retrouvons ce résultat : (1x2 0 + 1x2-1 +1x2-4 + 1x2-5 + 1x2-7 +1x2-8 )x2 5 = 32 + 16 + 2 + 1 + 0,25 + 0,125 = 51,375 Pour respecter la norme IEEE 754 on ajoute 127 à l exposant avant de le coder : E = 5 + 127 = (132) 10 = (10000100) 2 On complète la mantisse à 23 bits (en simple précision, le nombre réel étant codé en tout avec 32 bits) M = (10011011000000000000000) 2 Le nombre (-51,375) 10 s écrit avec la norme IEEE 754 en simple précision : 1 10000100 10011011000000000000000 signe exposant mantisse Exemple 2 Coder le nombre 6,875 avec la norme IEEE 754 (en simple précision) Étape 1 : le signe s = 0 car le nombre est positif Étape 2 : codage en binaire de la partie entière (6) 10 = (110) 2 Étape 3 : codage de la partie fractionnaire (après la virgule) 0,875x2 =1,75 0,75x2= 1,5 0,5x2 =1,0 0x2= 0,0 Étape 4 : décalage de la virgule pour obtenir l exposant E et la mantisse: (6,875) 10 = (110,111) 2, il faut décaler de 2 rangs vers la gauche la virgule pour obtenir un nombre de la forme 1,M L exposant E = 2. Pour répondre à la norme IEEE 754 il faut ajouter 127 à l exposant : E = 2+127 = (129) 10 = (10000001) 2 La mantisse M vaut : M = (10111000000000000000000) 2 (on rappelle que la mantisse est codée sur 23 bits) Le nombre 6,875 vaut en codage IEEE 754 : 0 10000001 10111000000000000000000 signe exposant mantisse Quelques cas particuliers : 1. il n est pas indispensable de connaitre toutes les exceptions à la règle présentée ci-avant, mais celle du zéro semble incontournable : si la mantisse est censée toujours commencer par 1, il n est en principe pas possible de représenter le zéro. Par convention, on décide qu un nombre vaut zéro si et seulement si tous les bits de son exposant et de sa mantisse valent 0. Il reste un choix sur le bit de signe, il y a donc un zéro positif et un zéro négatif dans les nombres à virgule flottante. 2. Le codage prend également en compte des valeurs exceptionnelles : ( qui signale en général une erreur de calcul, par exemple une division par zéro ou la racine carrée d un nombre négatif. Ces valeurs non numériques sont représentées respectivement par les mots de 64 bits suivants : 0 11111111111 0000000000000000000000000000000000000000000000000000 1 11111111111 0000000000000000000000000000000000000000000000000000 0 ou 1 puis 11111111111 puis tout mot de 52 bits non tous nuls. OUSTOUH 13 / 17 2014-2015

D. DEPASSEMENT DE CAPACITE(OVERFLOW) ET PROBLEME DE PRECISION 1. DEBORDEMENT (OVERFLOW) C est un bit supplémentaire interne qui indique un dépassement de capacité de calcul. la taille allouée (8, 16... bits) au codage d'un entier est trop petite pour coder ou stocker le résultat d'un calcul, il faut donc changer de représentation pour éviter de perdre la valeur du résultat. En python, ce changement de représentation est fait automatiquement, ce qui n est pas le cas dans tous les langages de programmation. La plupart du temps, si le résultat d un calcul dépasse les limites de la représentation des entiers, les bits surnuméraires sont purement et simplement perdus. Théorème : L addition UAL de deux entiers relatifs a et b fournit toujours un résultat correct : - si a et b ne sont pas de mêmes signes - si a et b sont de même signe, quand le bit de signe est égal à la retenue, On néglige systématiquement la retenue sur le bit supplémentaire pour déterminer le résultat final Règles valables pour toute addition ou soustraction utilisant des entiers signés codés en complément à 2, Le résultat est directement codé en complément à 2 Exemple : 0111! 7 + 0010! 2 1001! 7 (résultat faux) : une retenue interne «débordement». Le résultat est devenu négatif. 1000 0001 (-127) + 1100 0010 (-62) 1 0100 0011 (+67) ( résultat faux : bit de signe est différent de la retenue) 1111 1111 (-1) + 1111 1111 (-1) 1 1111 1110 (-2) (résultat est juste car la retenue du bit 6 vers le bit 7 n a pas modifié le bit de signe) 2. ERREUR DE DEBORDEMENT ARITHMETIQUE DE REEL De meme que les entiers, les nombres à virgule flottante possèdent certaines limites inévitables. Les nombres à virgule flottante étant représentés sur un nombre donné de bits, il existe forcément un nombre maximal représentable dans ce format. Plus précisément, 64 bits ne suffisent plus si la représentation du nombre demande : Un exposant supérieur à 1023, qui est le plus grand représentable sur 11 bits Ou un exposant égal à 1023 et une mantisse supérieure à la plus grande mantisse représentable sur 52 bits. Tout calcul dont le résultat dépasse cette limite produit une situation qui est également appelée dépassement arithmétique; cependant au lieu de produire une valeur par simple troncature des bits surnuméraires, on utilise les nombres spéciaux ( ) selon le signe du résultat de calcul. 3. ERREUR D ARRONDI Il est rare que le résultat d un calcul faisant intervenir deux nombres à virgule flottante donne un résultat représentable exactement sur 64 bits. Même sans effectuer de calcul, les nombres décimaux ne sont pour la plupart pas représentables exactement dans ce format. Par exemple, le nombre 0,4 admet pour développement en base 2 : Qui est un développement infini périodique. OUSTOUH 14 / 17 2014-2015

Si l on essaye de construire sa représentation sur 64 bits, on obtient : Signe Exposant Mantisse Bits non représentés 0 01111111101 10011001100110 011001 1001100110011 La représentation en virgule flottante sera donc forcément une valeur approchée de ce nombre. Par défaut la norme IEEE754 impose que les nombres à virgule soient arrondis à la valeur représentable la plus proche. Ici, la valeur des bits non représentés est supérieure à la moitié de la valeur du dernier bit de la mantisse, donc on arrondit la mantisse vers le haut. On notera que cette opération est facile à effectuer, puisqu il suffit d arrondir vers le haut si le premier bit non représenté vaut 1, vers le bas sinon. Seul cas particulier, si la valeur des bits non représentés est éxactement égale à la moitié de la valeur du dernier bit de la mantisse, alors le nombre est arrondi de telle sorte que son dernier bit vaille 0. La valeur approchée choisie pour 0,4 est donc la suivante : 0,011001100101100110010110011001011001100101100110011010 A cause de la base utilisé, il est impossible de représenter exactement la plupart des nombres décimaux, plus précisément tous ceux qui ne s écrivent pas sous la forme. Des nombres qui habituellement ne posent pas de problème dans les calculs mathématiques deviennent ainsi une source d erreurs multiples. 3. CODAGE DU TEXTE A. LES DIFFERENTS TYPES DE CODE Le texte est constitué de caractères (lettre, chiffre signe de ponctuation). Chaque caractère est représenté par un entier. Il existe de nombreux codages des caractères ; les principaux codages pour les occidentaux sont : 1) Le code ASCII (ISO 646) 2) Les codes ISO 8859-1 3) Le code Unicode 4) Les codes UTF-8 / UTF-16 / UTF-32 B. LE CODE ASCII L ASCII (American standard code for information interchange) a été créé au début des années 60. Son principe consiste à associer à chaque lettre, chiffre ou caractère d un clavier d ordinateur un entier compris entre 0 et 127, donc représentable sur 7 bits. Avec ce code on peut représenter les chiffres, les lettres latines, et les principaux symboles de ponctuation. Exemple : lorsqu on tape dans un texte sur la barre d espace (space), l ordinateur enregistre dans sa mémoire vive (RAM) le code hexadécimal (20) hex. Le codage binaire sur 7 bits correspondant est : (010 0000) 2 = (32) 10 OUSTOUH 15 / 17 2014-2015

C. LE CODAGE ISO 8859-1 Le codage ASCII suffit pour coder un texte anglais mais ne suffit pas pour les autres langues. Par exemple, les lettres accentuées ne figurent pas dans le code ASCII. Le code ISO 8859-1 a été créé dans les années 80, il est appelé également latin-1. Il permet de représenter les caractères accentués. A chaque caractère alphanumérique (lettre, chiffre, ponctuation etc..) est associé un nombre compris entre 0 et 255. On a donc besoin de 8 bits pour représenter l ensemble des caractères. Le tableau suivant montre l ISO-8859-1, avec les abréviations représentant les caractères de contrôle et les espaces. ISO-8859-1 x0 x1 x2 x3 x4 x5 x6 x7 x8 x9 xa xb xc xd xe xf 0x NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI 1x DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US 2x SP! " # $ % & ' ( ) * +, -. / 3x 0 1 2 3 4 5 6 7 8 9 : ; < = >? 4x @ A B C D E F G H I J K L M N O 5x P Q R S T U V W X Y Z [ \ ] ^ _ 6x ` a b c d e f g h i j k l m n o 7x p q r s t u v w x y z { } ~ DEL 8x PAD HOP BPH NBH IND NEL SSA ESA HTS HTJ VTS PLD PLU RI SS2 SS3 9x DCS PU1 PU2 STS CCH MW SPA EPA SOS SGCI SCI CSI ST OSC PM APC Ax NBSP ª «- Bx ± ² ³ µ ¹ º» ¼ ½ ¾ OUSTOUH 16 / 17 2014-2015

Cx À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï Dx Ð Ñ Ò Ó Ô Õ Ö Ø Ù Ú Û Ü Ý Þ ß Ex à á â ã ä å æ ç è é ê ë ì í î ï Fx ð ñ ò ó ô õ ö ø ù ú û ü ý þ ÿ Dans cette table : La position 0x20 en hexadécimal (32 en décimal) est assignée au caractère de l «espace» (elle est souvent représentée par SP, de space en anglais). La position 0xA0 en hexadécimal (160 en décimal) est assignée au caractère de l'espace insécable (elle est souvent représentée par NBSP, de no-break space en anglais). La position 0xAD en hexadécimal (173 en décimal) est assignée au caractère de formatage indiquant la position d une possible coupure de mot : il reste normalement invisible lorsqu il est inséré au milieu d un mot mais il n apparaît comme un tiret de coupure de mot que si un saut de ligne est réalisé à cette position ; le tiret est alors accolé après le début du mot coupé et sur la même ligne (il est souvent représenté par SHY, de soft hyphen en anglais). Les positions 0x00 à 0x1F en hexadécimal (0 à 31 en décimal) et 0x7F à 0x9F en hexadécimal (127 à 159 en décimal) sont des caractères de contrôle. D. L UNICODE D autres codages ont été définis pour les autres langues : le chinois, l arabe etc.. Ces codes sont compatibles avec l ASCII mais ne le sont pas entre eux. Comment écrire un texte multilingue? On a créé un unique codage universel l Unicode. Toutes les langues connues y sont représentées. E. UTF-8, UTF-16, UTF-32 Généralement en Unicode, un caractère prend jusqu à 4 octets. Autrement dit, le moindre texte prend quatre fois plus de place qu'en ASCII. En effet, si on prend un texte en français, la grande majorité des caractères utilisent seulement le code ASCII. Seuls quelques rares caractères nécessitent l'unicode. Pour palier à ce gaspillage on a donc trouvé une astuce: l'utf-8, l'utf-16 et l'utf-32. Le chiffre après UTF représente le nombre de bits sur lequel le caractère est codé. L'UTF-8 est le plus commun pour les applications Internet. Son codage de taille variable lui permet d'être en moyenne moins coûteux en occupation mémoire. L'UTF-16 est un bon compromis lorsque la place mémoire n'est pas trop restreinte, car la très grande majorité des caractères Unicode assignés pour l'instant, qui sont les caractères les plus fréquemment utilisés, peut être représentée sur 16 bits. Il a l'avantage que tous les caractères prennent la même place (2 octets). L'UTF-32 est utilisé lorsque la place mémoire n'est pas un problème et que l'on a besoin d'avoir accès à des caractères de manière directe et sans changement de taille. OUSTOUH 17 / 17 2014-2015