Title: Informatique
1Informatique
- De l'ordinateur au langage Java
2Informatique industrielle
- Contexte de lordinateur
- Un modèle de processeur
- D'où la nécessité d'un langage
- TD du jour
3Contexte de linformatique
- Aucune technique ne surgit du néant
- Nécessité de la transmission dinformation
- Nécessité du stockage et de traitement de
l'information - Nécessité de calculs plus rapides et plus exacts
4Vers l'informatique
- La transmission de l'information
5Télégraphe de Chappe
556 stations
Paris-Strasbourg en 2 heures en 1790
6Télégraphe de Chappe
- Codage complexe
- On utilise un répertoire de 92 pages.
- On émet des signaux par groupes de deux, le
premier pour la page, le second pour la ligne - Par exemple le premier signe dit page 53, le
deuxième dit ligne 21. Le Directeur peut lire
"Je réponds à votre dernière dépêche". - Cette méthode permet davoir un message
compréhensible uniquement par les possesseurs des
répertoires
7Télégraphe Morse
- 1820 Oersted découvre la déviation dune aiguille
aimantée par un courant - Brevet du télégraphe posé en 1840
- Première ligne en 1844 en France
- Transmission lente 25 mots par minute
- durée d' 1 trait 3 points
- intervalle entre 2 signes 1 point - entre 2
lettres 3 points - intervalle entre 2 mots 5 points
-
8Code Morse
Cest le point fort de cette technique, on peut
tout coder
9Statistiques télégrammes belges
Annuaire statistique et historique belge 1864
Explosion de la demande ! La technique Morse ne
suit plus
10Statistiques télégrammes belges
Cette baisse doit être couplée au taux
d'inflation sur la même période
11Les courbes de croissances
Aucun marché ne monte jusqu'au ciel !
2009 800 000 minitels 100 M de chiffre
d'affaire fin du 3611 en 2011
12Un domaine prêt pour l'innovation
- Télégraphe Baudot
- Ingénieur français, il dépose un brevet
concernant un télégraphe, multiple, rapide et
imprimeur, installé en France en 1874. Il
rationalise le code Morse en le transformant en
code à 5 moments, cest-à-dire 5 bits. Lors dune
transmission le nombre de bit transmis par
seconde sappelle baud en hommage au père de la
transmission de données moderne.
13Code Baudot (Norme CCITT n 2)
Première utilisation sur la ligne télégraphique
Paris Bordeaux en 1877
14Automatisation de la réception
- La rationalisation du code permet un décodage
automatique et limpression directe du texte en
clair.
15Multiplexation des transmissions
- Multiplexeur Baudot
- Baudot remarque que pendant la saisie dun code
par lopérateur, la ligne télégraphique est
libre, il en profite pour transmettre la lettre
saisie par un autre opérateur, il multiplexe
ainsi la saisie de 5 opérateurs sur une seule
ligne physique.
16Saisie simplifiée
Le clavier à 5 touches permet la saisie des
simultanée des 5 "moments" .
17La télégraphie mère de linformatique
- Plus que de la téléphonie linformatique est
fille de la télégraphie pour tous les concepts - de code,
- denregistrement sur ruban papier,
- les téléimprimeurs
- les claviers de saisie
18En conclusion des communications
- CODE
- Système de symboles permettant de représenter une
information dans un domaine technique - Le code le plus connu est le code ASCII
- Un code transmis suivant une interface (série,
parallèle, USB) et un protocole permet la
transmission d'information
Annexe F p 151 du polycopié officiel
19Vers l'informatique
20Stockage et traitement des donnéesNaissance de
la mécanographie
- Obligation de Recensement des Etats-Unis1890 (loi
électorale) - Herman Hollerith remporte le marché de
mécanisation de la saisie et fonde
lInternational Business Machine
21Laboratoire des StatistiquesUniversité de
Columbia 1928
221938 mécanisation des comptabilités
- Saunier-Duval (La génie Civil, juin 1938)
23Saisie de données (La Redoute)
24Classement des cartes (La Redoute)
25Une offre cohérente
Saisie
Traitement
Tri
26Paramétrage par tableau de sélection
On peut sélectionner les opérations à effectuer
sur les données.
27Raffinement des algorithmes
- Comment Avec une trieuse 12 cases ordonner avec
le moins de passage possible un fichier ?
28Problème interclassement
- Problème intéressant
- Comment remettre un jeu de cartes à jouer dans
l'ordre avec le moins de passage en trieuse
possible ?
29En conclusion de la mécanographie
- Système d'information
- Les systèmes d'information c'est-à-dire
lensemble des composants utilisés pour gérer les
informations de lentreprise financières,
clients, production ont existé et été traité
avant l'ordinateur.
30En conclusion de la mécanographie
- Algorithme
- Ensemble des règles opératoires intervenant dans
toute espèce de calcul. - Ensemble des instructions à suivre pour obtenir
l'exécution d'une tâche donnée, dans un temps
fini.
31Vers l'informatique
- L'axiomatisation des mathématiques
32Un long parcours théorique
- Euclide (-325, -265)
- Dans son livre Eléments fonde la géométrie sur 5
postulats - Toute la géométrie se démontre par des
raisonnements rigoureux à partir de ces postulats
33Un long parcours théorique
- René Descartes (1596-1650)
- Numérise la géométrie, il relie la géométrie à
l'algèbre. - Avec Pierre Fermat (1601-1665), met au point la
méthode des coordonnées - Par le choix d'une unité de longueur, il
identifie la demi-droite avec l'ensemble des
nombres réels positifs.
34Un long parcours théorique
- George Boole (1815-1864)
- parvient à marier de manière éclatante les
mathématiques à la logique, discipline qu'il
arrache ainsi aux philosophes.
35Un long parcours théorique
- Friedrich Frege (1828-1925)
- formalisation de la pensée fondatrice de la
logique moderne (calcul des prédicats) - analyse des phrases complexes
- analyse des quantificateurs
- théorie de la démonstration et de la définition
- analyse des nombres
36Un long parcours théorique
- David Hilbert (1862-1943)
- Propose lors du congrès de Paris en 1900 de
travailler sur l'axiomatisation des mathématiques
(métamathématique) - Toutes les mathématiques découlent d'un ensemble
fini d'axiomes correctement choisis. - Il peut être démontré que cet ensemble est
cohérent
37Un long parcours théorique
- Alan Turing (1912-1954)
- Répond à un problème d'Hilbert sur la décision
dans les théories axiomatiques - Existe-t-il une méthode calculable qui affirme
si, oui ou non, une proposition est démontrable ?
- Turing le fait en introduisant les machines de
Turing.
38La machine de Turing
- À l'origine, le concept de machine de Turing,
inventé avant l'ordinateur, était censé
représenter une personne virtuelle exécutant une
procédure bien définie, en changeant le contenu
des cases d'un tableau infini . - C'est un modèle utilisé en informatique
théorique, pour résoudre les problèmes de
complexité algorithmique et de calculabilité,
39Un long parcours théorique
- Kurt Gödel (1906-1978)
- Répond par la négative à Hilbert
- Théorème d'incomplétude
- N'importe quel système logique suffisamment
puissant pour décrire l'arithmétique des entiers
admet des propositions sur les nombres entiers ne
pouvant être ni infirmées ni confirmées à partir
des axiomes de la théorie.
40Un long parcours théorique
- John Von Neumann (1903-1957)
- Travaille dans de multiples domaines
- Mécanique quantique
- Economie (théorie des jeux)
- Projet Manhattan
- Ordinateur (architecture de Von Neuman)
- Automates cellulaires
41Définition dun ordinateur(Modèle de Von Neumann)
- Unité de contrôle qui est chargée du séquençage
des opérations - Unité arithmétique et logique (UAL) ou unité de
traitement, qui effectue les opérations de base
et les tests (branchement conditionnel) - Mémoire qui contient à la fois les données et le
programme qui indique à lunité de contrôle quels
calculs faire sur ces données. - Entrée-sortie qui permettent de communiquer avec
le monde extérieur.
42Se méfier de l'histoire linéaire !
- Deux prédécesseurs connus dans cette histoire
- La machine de Babbage
- L'ordinateur de Konrad Zuse
43Le calcul mécanique
- Calcul des marées (concours de la Société Royale
dAstronomie de Londres en 1812) - Babbage
- Lady Ada
44Machine de Babbage
- un organe de commande gérant le transfert des
nombres et leur mise en ordre pour le traitement
- un moulin chargé d'exécuter les opérations sur
les nombres - un magasin permettant de stocker les résultats
intermédiaires ou finaux - un dispositif d'entrée et de sortie avec un
dispositif d'impression.
Fonctionna en 1991
Le programme n'est pas enregistré dans la mémoire.
45La machine de Zuse
- Z3 1941
- Utilisé pour les calculs aéronautiques
(Henschell ) - Machine à relais.
- Une unité de contrôle
- Une unité arithmétique et logique à 2 registres.
Des instructions arrêtent la machine pour
permettre dentrer une donnée ou de lire un
résultat. Mais pas de branchement conditionnel
(test) - Une mémoire de 64 mots ( ladressage est à 6
bits) - Des unités dentrée-sortie Lecteur de ruban
papier qui stocke le programme, clavier pour
entrée des données, affichage numérique pour les
résultats. - La fréquence est denviron 5 hz
- labsence de branchement conditionnel
46Vers l'informatique
47Modèle dun processeur
48Modèle dun processeur
- A la mise sous tension
- L'UC décode le contenu de la mémoire 1
- L'UAL exécute linstruction
Cette instruction signifie Mettre la valeur
mémoire qui suit dans le Registre 1
49Modèle dun processeur
- L'UC calcule ladresse de linstruction suivante
- Elle décode le contenu de la mémoire 3
- L'UAL exécute linstruction
Cette instruction signifie Mettre la valeur
mémoire qui suit dans le Registre 2
0000 0123
0000 0001
50Modèle dun processeur
- L'UC calcule ladresse de linstruction suivante
- Elle décode le contenu de la mémoire 5
- L'UAL exécute linstruction
Cette instruction signifie Ajouter le Registre
1 au Registre 2
0000 0123
0000 0124
0000 0001
51Modèle dun processeur
- L'UC calcule ladresse de linstruction suivante
- Elle décode le contenu de la mémoire 6
- L'UAL exécute linstruction
Cette instruction signifie Mettre le contenu du
Registre 1 dans la case mémoire dont l'adresse se
trouve dans la mémoire suivante
0000 0123
0000 0124
Vers ladresse 100
0000 124
52Modèle dun processeur
- L'UC calcule ladresse de linstruction suivante
- Elle décode le contenu de la mémoire 8
- L'UAL exécute linstruction
Cette instruction signifie Envoyer le code
suivant vers l'unité 10. Un A (en ascii codé 42)
est envoyé vers le port 10
0000 0123
0000 0124
53Modèle dun processeur
- L'UC calcule ladresse de linstruction suivante
- Elle décode le contenu de la mémoire 8
- L'UAL exécute linstruction
0065
Cette instruction signifie Si le registre 1
n'est pas nul la prochaine adresse d'instruction
est 65. UAL modifie l'adresse de la prochaine
instruction dans l'UC et met l'adresse 65.
0000 0123
0000 0124
54Idée fondatrice la mémoire polysémique
- Un nombre en mémoire peut représenter
- Une instruction
- Un nombre
- Une adresse
- Un code (ici "A")
55Nécessité des langages informatiques
- Pas question d'écrire directement du langage
machine exécutable. - Il existe une infinité de langage informatique
qui vont être traduit en langage exécutable
grâce à un compilateur.
56Vers l'informatique
57Un compilateur
- Un compilateur est un programme qui transforme
un langage compréhensible par l'homme en un
langage exécutable par la machine
58Exemple de code
59Exemple de code
On retrouve notre texte en code ASCII
60Résumé des épisodes précédents.
- Nous allons utilisé un langage JAVA
- Qui permet de traduire pour une machine une
démarche de type logique ou mathématique. - Nous devrons avancer sur quatre axes
- La démarche de résolution
- La représentation des données
- L'interaction avec l'utilisateur
- La syntaxe du langage
61Exemple
- Je veux faire un programme de jeu d'échec.
62Exemple la démarche
- Quelle démarche mathématique/logique pour arriver
à la victoire ? - Comment évaluer l'intérêt d'un coup ?
- Comment définir une stratégie ?
63Exemple la représentation
- Comment représenter l'échiquier ?
- Comment représenter les pièces ?
- Comment coder une stratégie ?
64Exemple l'interface
- Ce sera cela
- Comment dessiner ?
- Comment interagir ?
65Exemple la syntaxe
- Il faudra faire cela en Java !!!
66Vers l'informatique
- L'insertion dans un contexte
67Où tout se complique..
BIOS Interface la carte mère
DRIVERS Interface les périphériques
Noyau système Unix, XP, Vista, Mac
Gestionnaire Réseau
Gestionnaire des fenêtres
Notre Programme
Notre programme va devoir s'insérer dans un
système complexe
68Compilation Java
Le développeur écrit son application en java et
la compile mais le code résultant n'est pas
exécutable directement sur une machine, il s'agit
d'un code intermédiaire (appelé bytecode) qui
aura besoin pour s'exécuter d'une sorte de
traducteur, d'adaptateur qui va le rendre
exécutable sur une plate-forme donnée. C'est ce
logiciel qui s'appelle une machine virtuelle java.
69Pour travailler
- Nous allons utiliser un outil de développement.
- (environnement de développement intégré)
- (Integrated Development Environment ou IDE)
- Netbeams
- Et bien évidemment une JVM (Java Virtual Machine)
70Vers l'informatique
71Pour débuter avec Java
Container définissant votre programme
Entre les 2 parenthèses
Votre code sera là
Chapitre 2, p 5-21 du polycopié officiel
72Règles de base
- Toute instruction termine par un
- Tout bloc d'instruction est encadré par
73Les variables
- Toutes les variables doivent être typées.
- Les types simples courants
- short entier sur 16 bits (-32 768 à 32767)
- int entier sur 32 bits
- long entier sur 64 bits
- float réel sur 32 bits
- double réel sur 64 bits
- char caractère Unicode sur 16 bits
Chapitre 2, p 5-21 du polycopié officiel
74Les variables
- Déclaration et initialisation d'une variable.
- Par convention une variable commence par une
minuscule, mais peut contenir des majuscules pour
faciliter la compréhension - int i 3
- char c 'A'
- double pi 3.14159
- float val -435.3f
- Int borneSuperieure 45
Chapitre 2, p 5-21 du polycopié officiel
75L'affectation
0000 0006
0000 0035
76Les opérateurs
77L'instructions de sortie
- Pour l'instant on se contente de l'instruction de
survie - Pour imprimer une chaîne de caractères
- System.out.println("Bonjour monde")
- Ou avec des variables
- int a3
- System.out.println(a)
- Ou les 2
- int a3
- System.out.println("La variable a vaut "a)
Le signifie la concaténation de chaînes de
caractères
78Les instructions de contrôles
79Si
- Si condition
- alors instruction(s)
- sinon instruction(s)
- Finsi
- .
- .
- .
- if (compte lt 0)
- System.out.println("Compte débiteur")
-
- .
- .
- .
80Si
- Si condition
- alors instruction(s)
- sinon instruction(s)
- Finsi
- .
- .
- .
- if (comptegt0)
- comptecompte debit
-
- else
- System.out.println("Compte débiteur")
-
- .
- .
- .
81Si - remarque
- Afin de ne pas confondre avec l'affectation, le
test d'égalité dans une condition s'effectue avec
deux signes - .
- if (compte 0)
- System.out.println("Compte nul")
-
- .
- Différent se note !
- if (compte ! 0)
- System.out.println("Compte nul")
-
82Pour
- Pour tout i appartenant à un ensemble
- instruction(s)
- Finpour
- .
- .
- //faire une table de multiplication par 2
- for(int i 1 i lt 10 i)
- System.out.println( i " X 2 " i2 )
-
- .
- .
83Tant que
- Tant que condition
- instruction(s)
- Fintantque
- .
- int a 1
- while (a 7 ! 0)
- a (int) (Math.random() 51)
-
- .
Génère un nombre réel aléatoire entre 0 et 1
Génère un nombre aléatoire entre 0 et 50 multiple
de 7
Demande laconversion du réel en entier
84Conclusion
- En TD !
- . Encore une remarque !
85Je ne voyage sans livre, ni en paix ni en
guerreC'est la meilleure munition que j'ai
trouvée à cet humain voyage...
- Pour les Geeks, ce livre est obligatoire, sur
internet - Thinking in Java
- http//www.mindview.net/Books/TIJ/
- (en anglais)
- http//penserenjava.free.fr/
- (en français)
- C'est un livre qui décrit toute la philosophie
et la technique nécessaire pour utiliser Java - Merci Christian Gillot
86Je ne voyage sans livre, ni en paix ni en
guerreC'est la meilleure munition que j'ai
trouvée à cet humain voyage...
- Biographie
- Alan Turing , l'homme qui a croqué la pomme.
Laurent Lemire (2004) (14 sur Abebooks) - Les démons de Gödel Cassou-Nogues Pierre (2007)
(11 sur Abebooks) -
87Je ne voyage sans livre, ni en paix ni en
guerreC'est la meilleure munition que j'ai
trouvée à cet humain voyage...
- Réflexion
- Gödel, Escher, Bach. Les Brins d'une Guirlande
Eternelle Hofstadter Douglas (2000) - (35 sur Abebooks)
- Quel rapport y a-t-il entre la musique de
Jean-Sébastien Bach, les dessins du graveur
néerlandais Maurits Escher, et le célèbre
théorème du logicien autrichien Kurt Gödel ?
88Je ne voyage sans livre, ni en paix ni en
guerreC'est la meilleure munition que j'ai
trouvée à cet humain voyage...
- Réflexion
- Le codex d'Archimède William Noel et Reviel Netz
(2007) - (21 sur Abebooks)
- Récit du décodage du palimpseste le plus ancien
du codex d'Archimède de Syracuse, acheté 2
Millions de chez Christie's. Ce n'est
qu'aujourd'hui grâce a des techniques d'imagerie
que l'on a pu décoder l'ensemble du volume.
89Je ne voyage sans livre, ni en paix ni en
guerreC'est la meilleure munition que j'ai
trouvée à cet humain voyage...
- Historique
- IBM et l'holocauste (2001) (8 sur Abebooks)
- L'emploi des machines pour les recensements de
la population en 1933 et 1935 permis de retrouver
bien plus facilement les populations ciblées par
les nazis. Des comparaisons avec la France
montrèrent que la pratique du fichage généralisée
en Allemagne eu un impact important sur
l'efficacité des rafles. Finit par être pesant à
force de vouloir impliquer tout le monde dans un
complot mondial.