Introductions générales à l’informatique avec exercices

Introductions générales à l’informatique avec exercices, tutoriel & guide de travaux pratiques en pdf.

Qu’est-ce que l’informatique ?

Introduction

Le statut de l’informatique en tant que discipline est ambigu et mal compris : est-il `a chercher du cˆot´e de la science ou du coté de la technique ? Quel est l’objet d’´etude propre aux informaticiens ? Quelles sont leurs vraies competences ? Avant de nous engager sur ces points, commen¸cons par ´eliminer les mauvaises r´eponses :
– l’informatique n’est pas la «science des ordinateurs» (ce que, pourtant, laisse croire sa traduction anglaise, «computer science») : non, les informaticiens ne savent pas n´ecessairement r´eparer un ordinateur en panne, diagnostiquer un probl`eme ´electronique ou effectuer des branchements compliqu´es, ils ne sont pas toujours les meilleurs guides quand il s’agit d’acheter un nouveau mod`ele de scanner ou de modem ; oui l’informatique peut s’´etudier avec un papier et un crayon, mˆeme en absence d’ordinateur…
– l’informatique n’est pas la «science des logiciels» : non, les informaticiens ne connaissent pas n´ecessairement toutes les nouvelles versions des programmes du commerce, ils ne savent pas toujours utiliser toutes leurs fonctions, ils ne passent pas (toujours) leurs journ´ees `a tester des jeux ou a` chercher des bugs…
La comp´etence r´eelle des informaticiens n’est ni mat´erielle, ni fonctionnelle. Alors, qu’est ce que l’informatique ? C’est quelque chose entre les deux, quelque chose de plus abstrait et de plus fondamental sans quoi ni les ordinateurs ni les lo-giciels ne pourraient fonctionner… Pour arriver `a une d´efinition satisfaisante, notre d´emarche sera de partir de ces deux niveaux de description habituels : mat´eriel et logiciel, et de faire ´emerger leurs principes sous-jacents.
Commen¸cons donc par l’aspect logiciel. La connaissance commune de l’informa-tique se fonde en effet g´en´eralement sur la pratique de quelques logiciels d’usage courant : traitements de texte, tableurs, navigation sur l’Internet… L’image de l’or-dinateur comme «grosse machine `a calculer», fonctionnant pendant des heures pour r´ealiser ses calculs, reste ´egalement pr´esente, mais de fa¸con plus mythique et loin-taine, vue au cin´ema. Y a-t-il une base commune `a tous ces usages, apparemment si disparates ? Quelles sont les caract´eristiques partag´ees par tous ces logiciels ?
Pour aborder ces questions, on peut commencer par remarquer que tout pro-gramme peut ˆetre d´ecrit par deux aspects fondamentaux : les donn´ees qu’il manipule et les traitements qu’il permet de r´ealiser sur ces donn´ees. Le tableau de la figure
2.1 permet de r´esumer ces caract´eristiques pour les logiciels les plus couramment utilis´es.
Toutes les donn´ees cit´ees dans ce tableau (et toutes celles, en g´en´eral, mani-pul´ees par les ordinateurs) ont un point commun : ce sont des donn´ees discr`etes, c’est-`a-dire distinctes les unes des autres et qu’on peut enum´erer une par une. Tous les traitements evoqu´es ici (et tous les autres traitements possibles en informatique) ont ´egalement en commun d’ˆetre des traitements effectifs, exprimables par des al-gorithmes. Les fondements de l’informatique sont `a chercher dans ces deux notions, que nous allons donc maintenant d´etailler.

Données discrètes et codage

Tout le monde a entendu dire que les ordinateurs «ne fonctionnent qu’avec des 0 et des 1». Qu’est-ce que cela signifie exactement et o`u, dans l’ordinateur, sont donc cach´es ces 0 et ces 1 ? Pour le comprendre, il faut cette fois partir des composants mat´eriels qui constituent un ordinateur et aborder quelques notions el´ementaires de la th´eorie de l’information.

La notion de bit
L’unit´e de base de la th´eorie de l’information est le bit, contraction de binary digit, qui signifie en anglais nombre binaire. Un bit, par d´efinition, est un composant quelconque ne pouvant se trouver que dans deux ´etats possibles, exclusifs l’un de l’autre. On peut imaginer bien des dispositifs physiques pouvant r´epondre a` cette d´efinition, et nombre d’entre eux ont et´ exploit´es au moins une fois dans l’histoire de l’informatique. Ainsi, par exemple :
– une lampe ´electrique qui est soit allum´ee soit ´eteinte : les tout premiers ordi-nateurs, dans les ann´ees 40, utilisaient ainsi des milliers de lampes ou «tubes a` vide» : un tel dispositif ´etait h´elas en panne d`es qu’une lampe grillait ;
– un fil ´electrique dans lequel le courant circule ou pas (ou sa version miniatu-ris´ee, le «circuit int´egr´») : c’est ´evidemment le composant de base des ordina-teurs, avec les transistors qui peuvent, eux, ˆetre vus comme des interrupteurs miniatures. Les fibres optiques r´ealisent la mˆeme fonction que les fils, mais avec la lumi`ere au lieu de l’´electricit´.
– un aimant pouvant ˆetre polaris´e «Sud» ou «Nord» : les m´emoires des ordi-nateurs actuels, leur «disque dur», ainsi que les anciennes disquettes, sont compos´es de milliards de petits aimants ;
– une surface ayant soit un creux soit une bosse : les CD-audio, les CD-Rom, les DVD, ne sont rien d’autre que des morceaux de plastique grav´es de creux et de bosses tellement minuscules que seul un faisceau laser peut les distinguer ;
– un r´ecipient pouvant ˆetre plein ou vide : il y a, `a la Cit´e des Sciences de la Villette, un «calculateur a` eau» fonctionnant avec des seaux et des tuyaux remplis d’eau.
Par convention, pour s’abstraire de ces contingences mat´erielles, on appelle l’un des deux ´etats possibles d’un tel composant 0, et l’autre 1. Ces deux symboles sont arbitraires et n’ont pas de signification num´erique. On aurait tout aussi bien pu choisir les symboles a et b a` la place, ou tout autre couple de deux signes distincts, puisque c’est uniquement cette distinction qui est importante.
A partir de maintenant, un bit sera donc pour nous un espace dans lequel on pourra soit ´ecrire 0, soit ´ecrire 1. Que faire avec de tels composants aussi el´ementaires ? Avec un seul, pas grand chose, mais avec plusieurs, beaucoup de choses !
Si, en effet, on dispose de deux bits, alors le nombre total d’´etats possibles que peuvent prendre ces deux bits est de quatre : 00, 01, 10 ou 11.
Si on en prend trois, alors huit combinaisons sont possibles : 000, 001, 010, 011, 100, 101, 110, 111. On peut repr´esenter ces huit combinaisons comme tous les diff´erents parcours possibles dans un arbre o`u chaque branche est un choix entre 0 ou 1, comme dans la figure 2.2.
En fait, ajouter un bit multiplie par deux le nombre de combinaisons possibles, puisque le bit ajout´e a lui-mˆeme deux ´etats possibles. Dans la repr´esentation arborescente, cela revient `a d´edoubler chaque «feuille» de l’arbre (chaque dernier el´ement), et donc `a multiplier par deux le nombre total de chemins possibles (´egal au nombre de feuilles). Ce raisonnement permet de montrer que, avec n bits, on a 2n combinai-sons possibles.
Le bit est l’unit´e de comptage de la m´emoire des ordinateurs. Les multiples utilis´es se comptent ´egalement en puissance de deux.
1 octet (byte en anglais) = 8 bits (8 = 23) et permet 28 = 256 combinaisons diff´erentes possibles
1 Kilo-octet = 210 octets = 1024 octets, et co¨ıncide presque avec la d´efinition usuelle du kilo qui vaut 103
1 Mega-octet = 1024 Kilo-octets, soit environ 106 octets
1 Giga-octet = 1024 Mega-octets, soit environ 109 octets
1 Tera-octet = 1024 Giga-octets, soit environ 1012 octets
Pour avoir un ordre de grandeur de ces valeurs : une disquette a une capa-cit´e d’environ 1 Mega-octet, une cl´e USB entre 64 Mega-octet et 1 Giga octet, un CD contient environ 600 Mega-octet, un DVD jusqu’`a environ 17 Giga-octets. La m´emoire des disques durs actuels se compte aussi en Giga-octets. On peut en d´eduire par exemple le nombre d’aimants contenus sur une disquette… Voyons maintenant comment coder les donn´ees cit´ees dans le tableau de la figure 2.1 `a l’aide de bits.

Les caractères alphanumériques

Les caract`eres alphanum´eriques sont tous les caract`eres disponibles sur un cla-vier d’ordinateur, ainsi que ceux qui r´esultent des combinaisons de touches. Com-bien existe-t-il de caract`eres alphanum´eriques ? L’alphabet latin utilise 26 symboles diff´erents, dont chacun existe en version minuscule et majuscule, ce qui fait 52 sym-boles. A ces lettres, s’ajoutent les 10 symboles de chiffres : 0, 1, 2,…9 et une vingtaine de notations math´ematiques courantes : op´erateurs (+, −, ∗, /), comparateurs (<, >), signe d’´egalit´ (=), symboles logiques… De nombreux autres caract`eres sont uti-lis´ees dans les graphies usuelles : ponctuations (“.”, “ ;”, “ ?”, “ !”, “ :”), apostrophe, guillemets, tirets, parenth`eses, crochets, accolades, soit encore au moins quinze des-sins nouveaux. De plus, des caract`eres sp´eciaux sont pass´es `a l’usage courant : sym-boles de monnaies ($, £) ou abr´eviations comme : &, §, @… Comptons-en donc une dizaine. Enfin, un ´editeur de textes consid`ere comme symbole certains signes invi-sibles comme les espaces blancs, les passages `a la ligne ou les fins de fichier (comptons en 5). Notre tr`es grossier calcul nous am`ene donc `a environ : 52+10+20+15+10+5=112
Pour associer a` chacun de ces caract`eres une suite distincte de 0/1 qui le code, nous avons donc au minimum besoin, d’apr`es notre calcul pr´ec´edent, de 7 bits, puisque 27 = 128. C’est pr´ecis´ement ce que r´ealisait la premi`ere version du code ASCII (pour American Standard for Communication and International Interchange).

1 Introduction 
2 Qu’est-ce que l’informatique ? 
1 Introduction
2 Donn´ees discrètes et codage
2.1 La notion de bit
2.2 Les caract`eres alphanumériques
2.3 Les nombres entiers
2.4 Grands nombres et nombres d´ecimaux
2.5 Les tableaux
2.6 Codage des sons
2.7 Codage des images
2.8 Codage num´erique et codage analogique
2.9 Codages/d´ecodages et changements de codes
2.10 En guise de conclusion : le monde est-il discret ou continu ?
3 Traitements effectifs
3.1 Pr´ehistoire des algorithmes
3.2 Les probl`emes de Hilbert
3.3 La machine de Turing
3.4 Un exemple simple
3.5 La th`ese de Church-Turing
3.6 La notion de machine universelle
3.7 Ind´ecidabilit´e
3.8 L’h´eritage scientifique de Turing
3.9 L’h´eritage philosophique de Turing
4 Conclusion
3 Les ordinateurs 
1 Le mat´eriel
1.1 Les composants externes
1.2 L’architecture de Von Neumann
1.3 La m´emoire centrale (RAM)
1.4 L’unit´e de commande
1.5 L’horloge
1.6 L’unit´e de traitement
1.7 Les bus
1.8 Le cycle d’ex´ecution d’une instruction
1.9 L’architecture de Von Neumann et les autres
1.10 Les unit´es d’´echange
2 Le logiciel
2.1 langages d’assemblage et langages ´evolu´es
2.2 La d´emarche de conception d’un programme
2.3 Le syst`eme d’exploitation
2.4 La hi´erarchie des r´epertoires (ou dossiers) et des fichiers
2.5 Les autres couches logicielles
3 Les r´eseaux
3.1 La notion de protocole
3.2 topologie des petits r´eseaux
3.3 Exemples de protocoles pour les petits r´eseaux
3.4 Les r´eseaux maill´es
3.5 Deux protocoles possibles dans les r´eseaux maill´es
3.6 L’Internet
3.7 Le Web et son avenir
4 L’histoire de l’informatique 
1 Pr´ehistoire
2 Ancˆetres et pr´ecurseurs
3 Histoire contemporaine
3.1 Premi`ere g´en´eration : les monstres
3.2 Deuxi`eme g´en´eration : int´egration du transistor
3.3 Troisi`eme g´en´eration : les circuits int´egr´es
3.4 Quatri`eme g´en´eration : les micro-ordinateurs
3.5 Cinqui`eme g´en´eration : l’interface graphique et les r´eseaux
5 Bibliographie 
1 Introductions générales à l’informatique
2 Internet et les réseaux
3 Autour de Turing
4 Sur l’Intelligence Artificielle
5 Références ludiques et sérieuses
6 Sites Web
6 Exercices corrigés 
1 Enoncés
1.1 Exercice 1
1.2 Exercice 2
1.3 Exercice 3
2 Corrections
2.1 Exercice 1
2.2 Exercice 2
2.3 Exercice 3

Cours gratuitTélécharger le cours complet

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *