Préface
Ce texte concerne le cours "Introduction à l’informatique" destiné au second baccalauréat en Biologie et Géologie et à la première licence en Biochimie.
Notons que les travaux pratiques se déroulent actuellement sur des micro-ordinateurs fonctionnant sous le système d’exploitation Windows de Microsoft. Les logiciels installés sur ces machines permettent de se familiariser avec le traitement de texte, les tableurs et différents logiciels de traitement de données. Les étudiants apprendront à rédiger un rapport présentant, sous forme attractive, des données numériques préalablement analysées. Toutes les machines sont reliées à l’Internet. Une part importante des travaux pratiques sera orientée vers la maîtrise des nouvelles possibilités offertes aux scientifiques par ce nouveau moyen de communication. Tous les étudiants sont amenés à utiliser le courrier électronique et le WWW. Nous indiquerons aussi comment trouver rapidement des informations pertinentes sur le Web.
Depuis 1999, les notes de cours ainsi que des documents relatifs aux exposés oraux se trouvent sur un serveur WWW (). Ce serveur est local et son accès est limité par un mot de passe. Le “user name” est “info” et le “password” est “ok”.
1.- INTRODUCTION
L'informatique est l'art, la technique ou la science qui consiste à manipuler des informations à l'aide d'un outil, l'ordinateur. L'informatique a pour objet de définir des algorithmes qui permettent de modifier la vision que l'on a d'un problème, ou d'extraire d'une grande quantité d'informations mal structurées, de nouvelles connaissances plus utiles.
Les outils de l'informatique sont les ordinateurs. Actuellement, on utilise presque exclusivement des ordinateurs digitaux (dans lesquels les informations sont codées sous forme d'états discrets) et qui fonctionnent selon les principes de la machine de Von Neumann (définie dans les années quarante). Cette machine comprend deux parties, une unité logique et arithmétique banalisée et un magasin ou mémoire qui contient des programmes et des données. Un programme décrit les opérations logiques à réaliser sur les données. Les deux idées neuves sont les suivantes.
Un ordinateur doit aussi comporter des organes d'entrée et de sortie qui permettent à l'utilisateur de placer ses informations dans la mémoire et de les y relire lorsque la machine les a manipulées.
L'informatique s'oriente depuis quelques années vers la micro-informatique individuelle. L'ordinateur individuel est utilisé par une seule personne à la fois qui décide seule de l'activité de la machine. Le prix des petits ordinateurs continue à baisser, ce qui accentue la tendance qui consiste à distribuer les machines plutôt que d'utiliser un gros système travaillant en temps partagé. Les ordinateurs sont mis à la disposition de chacun et connectés en réseau. Une connaissance suffisante de ces machines et des concepts qui en sous-tendent le fonctionnement contribue à démythifier le phénomène de “l'informatisation de la société” et permet d"utiliser l"outil dans les meilleures conditions.
2.- LA PROGRAMMATION
Programmer consiste à construire un ensemble ordonné d'instructions qui, lorsqu'elles sont exécutées, produisent des effets précis et utiles sur les informations contenues dans un ordinateur. L'ensemble des instructions s'appelle un programme.
Préparer un programme destiné à un ordinateur est une tâche délicate et complexe. En effet, contrairement à l'être humain, l'ordinateur est incapable d'initiative ou de tolérance. Par conséquent, son programme doit être parfaitement explicite, doit couvrir tous les cas de figures possibles et doit entrer dans les moindres détails. Cependant, lorsque le programme s'exécute, l'ordinateur fait preuve d'une précision et d'une persévérance à toute épreuve.
Un autre truisme est de rappeler que l'ordinateur ne résout jamais un problème. Ce sont les hommes qui utilisent l'outil ordinateur pour aboutir à leurs fins. Sauf panne technique (extrêmement rare), toute "erreur" de l'ordinateur doit être comprise comme ayant une origine humaine.
Puisqu'un programme d'ordinateur doit être parfaitement précis, une grande part de la construction d'un programme consiste à analyser le problème que l'on désire résoudre, à le définir clairement, et à envisager les cas marginaux qui, bien que peu probables, peuvent perturber un schéma de solution. Il faut aussi considérer le jeu d'instructions dont on dispose afin de l'utiliser au mieux dans le contexte de la résolution du problème.
L'étape suivante consiste à coder le schéma de solution adopté dans un format que l'ordinateur peut assimiler. En général, le programme prend la forme d'un texte dont la syntaxe est extrêmement rigide pour se conformer aux directives d'un langage donné. Ce texte est tout d'abord écrit "dans" l'ordinateur grâce à un dispositif adéquat. A notre époque, on utilise généralement un clavier et un écran de moniteur (TV). Un programme préexistant, fourni par le constructeur de la machine et appelé Editeur de texte, aide le programmeur dans sa tâche. L'Editeur permet de faire "entrer" le texte du programme dans la mémoire et ensuite de le corriger très aisément.
Le texte du programme est ensuite traduit automatiquement par l'ordinateur en une suite d'instructions élémentaires qui lui sont spécifiques. Cet ensemble d'instructions peut être exécuté et il faudra vérifier que l'effet du programme sur les données correspond bien à l'attente du programmeur (phase du “debugging”, littéralement!: "de la chasse à la petite bête"). Il sera aussi utile de composer un "mode d'emploi" du programme qui explique comment s'en servir et qui décrit son fonctionnement.
L'analyse d'un problème en vue de sa résolution par la voie de l'informatique implique l'adoption d'une nouvelle façon de penser. Les méthodes humaines traditionnelles, généralement basées sur l'intuition et le raisonnement (deux qualités qui font cruellement défaut à l'ordinateur), ne sont plus du tout applicables. Il faut acquérir de nouveaux réflexes qui tiennent compte des caractéristiques saillantes de l'ordinateur!: habilité à réaliser des opérations répétitives simples avec précision et grande fiabilité dans ses facultés de mémorisation.
3.- QUE PEUT FAIRE UN ORDINATEUR ?
Un ordinateur peut traiter des informations. L'ordinateur est un outil qui nous aide à résoudre certains problèmes. Ces problèmes font généralement intervenir des symboles ou des signes qui nous sont familiers tels que les lettres de l'alphabet, les chiffres, les signes de ponctuation et quelques caractères spéciaux comme *,#,+ Nous pouvons introduire un ensemble de symboles dans l'ordinateur. Ce dernier nous rend un autre ensemble de symboles en relation avec ceux que nous avons introduits. Voici quelques exemples.
Caractères entrés |
Caractères sortis |
Nombres représentant les dimensions d'une vitre. |
Prix de la vitre. |
Liste des livres empruntés |
Liste des livres ayant dépassé |
dans une bibliothèque. |
le temps de prêt. |
Le nom d'une personne. |
Son numéro de téléphone. |
Notation standard d'un |
Dessin de l'échiquier et |
déplacement sur un échiquier. |
du déplacement effectué. |
Nombres représentant une hauteur et une accélération. |
Dessin d'un atterrissage lunaire. |
Nous n'examinerons pas en détails la façon dont l'ordinateur travaille mais nous apprendrons à lui donner les instructions requises pour qu'il exécute une tâche donnée. Il est cependant utile de connaître les différentes parties qui constituent un ordinateur.
4.- QU'EST-CE-QU'UN ORDINATEUR ?
Sous sa forme la plus schématique, un ordinateur se compose de trois parties ou unités.
Schéma d'un ordinateur
UNITE D'ENTREE UNITE CENTRALE UNITE DE SORTIE
1) Une unité d'entrée (=input device) nous permet d'introduire des instructions et des données. Le clavier en est un exemple.
2) Une unité centrale (CPU = Central Processing Unit) traite ce qui a été introduit. 3) Une unité de sortie (=output device) nous transmet les résultats. Un écran ou une imprimante sont de telles unités.
Rien de très palpitant à première vue! Mais tout l'intérêt de l'ordinateur réside dans trois de ses caractéristiques, à savoir!:
Un auxiliaire précieux : la mémoire de sauvegarde
L'ordinateur ne peut fonctionner que s'il est alimenté en courant. Dès que celui-ci est coupé, la plupart des ordinateurs perdent les informations qu'ils ont reçues. Il est donc intéressant de pouvoir sauver certaines informations utiles pour des tâches ultérieures de façon à les rendre à l'ordinateur autrement qu'en les tapant au clavier (ce qui s'avérerait vite fastidieux et risquerait d'introduire des erreurs ).
Cette mémoire de sauvegarde (=backing store) est généralement un support magnétique sur lequel on peut enregistrer des informations puis les relire grâce à un appareil enregistreur/lecteur ad hoc. Cet appareil peut servir à recevoir les résultats ve-
nant de l'ordinateur (=output) ou à y introduire des informations (=input). Pour les micro-ordinateurs, il s'agit habituellement du disques durs, de lecteurs de disquettes souples ("floppy disks") ou de mémoires flash.
5.- QU'EST QU'UN LANGAGE?
D'un point de vue matériel, un ordinateur est un appareil électronique traitant des ensembles de signaux électriques. Son fonctionnement est contrôlé par un programme qui est une suite d'instructions. Il ne nous serait pas commode d'introduire des instructions et des informations dans l'ordinateur directement sous forme de signaux électriques (bien que cette méthode fut celle utilisée par les premiers programmeurs). Aussi l'ordinateur est-il fourni avec un programme qui traduit en langage machine un langage de programmation que nous comprenons facilement.
- Explorer signaux électriques
Un langage machine, dit de bas niveau, comporte des instructions qui correspondent directement aux ensembles de signaux électriques que l'on peut produire dans l'ordinateur. Un langage de programmation, dit de haut niveau, est facilement compréhensible par un être humain non nécessairement spécialisé en électronique. Le Java ou le Csont de tels langages.
Ainsi, votre dialogue avec l'ordinateur se décompose en les étapes suivantes. - Vous avez un problème à résoudre.
- Vous analysez le problème en fonction du langage disponible.
- Vous concevez un programme.
- Vous introduisez ce programme dans l'ordinateur au moyen du clavier.
- L'ordinateur exécute votre programme dans son langage.
- L'ordinateur sort les résultats sous la forme que vous avez précisée dans le programme.
!
1.- RAPPEL HISTORIQUE
Le premier ordinateur digital, l'ENIAC (Electrical Numerical Integrator And Calculator) a été construit aux Etats-Unis pendant la seconde guerre mondiale en vue de résoudre des problèmes de balistique. Il s'agissait d'une énorme machine occupant une salle de 150 mètres carrés, consommant 137kWH et tout juste capable d'effectuer quelques opérations arithmétiques simples. Cette machine avait moins de possibilités que les calculateurs de poche programmables actuels. Le premier “computer” à usages multiples commercialisé fut l'UNIVAC I (Rank Corporation) suivi de près par les premières machines d'I.B.M. (International Bussiness Machine) qui monopolisèrent rapidement le marché, marché qui était considéré en 1954 comme ne devant pas dépasser quelques dizaines de machines.
Les ordinateurs, dits de la première génération, fonctionnaient grâce à des lampes à vide, consommaient énormément d'énergie pour le chauffage des filaments et le refroidissement de l'ensemble.
En 1959 apparut la seconde génération d'ordinateurs utilisant des circuits imprimés à transistors qui rendirent les ordinateurs plus petits et moins chers.
En 1965, le marché comptait environ trente mille machines. A cette date apparut la troisième génération d'ordinateurs (la série SPECTRA 70 de R.C.A.) utilisant des circuits intégrés. Cela réduisait encore le coût du matériel et sa taille tout en augmentant ses performances. L'informatique n'est plus l'apanage des grosses administrations ou des banques mais commence à envahir la plupart des services comptables des entreprises. L'apparition des mini-ordinateurs (DIGITAL Equipment) augmente encore ce phénomène et permet d'inclure des ordinateurs dans des processus de contrôle ou de fabrication. Les ordinateurs trouvent leur place dans les laboratoires et les usines et ne sont plus utilisés exclusivement pour faire des calculs. Ils deviennent de plus en plus performants.
Pour amortir leur coût élevé de fonctionnement, on établit les techniques de travail en temps partagé (=Time sharing), qui permettent à un grand nombre d'utilisateurs disposant de terminaux d'accéder à la même machine sans être (en principe) gênés par les activités de leurs collègues.
En 1974, la technologie de fabrication des circuits électroniques a tellement progressé qu'il est possible de loger sur une “puce” (=chips) toutes les fonctions fondamentales d'un ordinateur. Le microprocesseur est né et va révolutionner l'informatique en permettant le développement de la quatrième génération d'ordinateurs. Cependant l'inexistence de programmes spécifiques fonctionnant sur ces machines explique que, au départ, seuls les “hobbyists” reconnaissent la valeur de ces nouveaux circuits et jouent à les programmer. En 1977, plusieurs firmes, récemment créées par des électroniciens enthousiastes, distribuent des machines appelées micro-ordinateurs, dont le faible prix les rend accessibles à tout un chacun. L'informatique individuelle va rapidement offrir une alternative à l'informatique centralisée, concentrée autour de machines de plus en plus grosses, dont le contrôle est entre les mains de quelques programmeurs. Il faut attendre 1981 pour que les géants traditionnels de l'informatique reconnaissent l'utilité des micro-ordinateurs et que, poussés par le déferlement des "micros", ils s'intéressent activement à ce marché.
Pendant toutes les années quatre-vingt, le processus s’amplifie et la micro-informatique déferle sur le monde. Le marché devient très important et une firme de logiciel (Microsoft) s’impose par ses produits. Les applications de bureautique (tableur et traitement de texte) commencent à être utilisées partout.
Les années nonante vont voir un nouveau phénomène prendre corps, celui de la mise en réseau des machines individuelles. Le “Personal Computer” s’intègre dans la toile d’araignée mondiale tissée par les sociétés de télécommunication.
En 1999, le nombre d'ordinateurs dans le monde est de l'ordre de 250 à 300 millions de machines. Il s'agit principalement de PC (Personal Computers). La part de marché occupée par les "gros" ordinateurs (dit "mainframe") diminue constamment bien que quelques modèles de "super-computers" soient encore en construction (cf. certaines machines d’IBM et les Crays par exemple).
Le parc des machines se répartit environ comme suit.
En ce qui concerne les logiciels et les systèmes d'exploitation, le système Windows de Microsoft est le plus représenté (85-90%). Le reste du marché se répartit entre le système Apple (Mac-OS) et le système LINUX. Notons que ces systèmes reposent de plus en plus sur des interfaces graphiques (GUI - Graphical User Interface) qui simplifient la présentation et la gestion des machines. La plupart des logiciels adoptent des règles de fonctionnement semblables et sont d'ailleurs développés simultanément pour différents systèmes d’exploitation (cf. Excel, Word, etc…). Ceci permet aux utilisateurs de s'adapter rapidement à différents environnements et facilite la mise en oeuvre des nouveaux programmes.
2.- LES DATES IMPORTANTES
2.1.- Préhistoire
Blaise Pascal (1623-1662) fabrique à 18 ans la première machine à additionner. Charles Babbage (1792-1871) construit le premier automate comprenant une unité de calcul programmable.
2.2.- Première génération
1939 Von Neumann et ses collègues définissent les fondements mathématiques de l'ordinateur. Il s'agit d'un système composé de deux parties!: une unité logique et arithmétique capable d'effectuer un nombre restreint d'opérations fondamentales et une mémoire qui contient le programme et les données. Le programme décrit la façon dont les opérations fondamentales doivent être chaînées pour modifier d'une façon importante les données. Les deux idées neuves sont!:
- la finalité de la machine n'est pas connue lors de sa fabrication,
- le programme et les données sont placés sur un pied d'égalité en ce qui concerne leur représentation.
1944 Première machine à calculer électronique, l'ENIAC (Electronic Numerical Integrator and Calculator) développée à l'université de Pennsylvanie pour les calculs de trajectoires d'obus (gros succès en physique mathématique). Les programmeurs sont des génies du fil électrique et câblent chaque opération sur des panneaux de contrôle. Cette machine de la première génération fonctionne avec des tubes à vide et est refroidie par l'un des plus gros systèmes de réfrigération jamais construit. Il faut sans arrêt changer les tubes défectueux.
1950 L'UNIVAC 1 de Rank Corporation est le premier ordinateur commercial.
1954 IBM (International Business Machine) entre dans le marché des ordinateurs que l'on supposait ne pas devoir dépasser les 100 machines.
1956 Description du premier langage évolué, le FORTRAN, qui permet aux scientifiques de développer eux-mêmes leurs programmes.
2.3.- Deuxième génération
1959 On passe à la deuxième génération de machines!: circuits imprimés et transistors. De nouveaux langages apparaissent!: le COBOL (défini par l'administration américaine), l'ALGOL60 (premier langage structuré), le BASIC (destiné à l'initiation au FORTRAN) et le LISP destiné aux recherches dans le domaine de l'intelligence artificielle. Les cartes perforées sont reines.
1960 Les gros projets concernant la recherche spatiale reçoivent des budgets énormes et vont devenir des pôles de développement pour l'électronique et l'informatique. Les banques et les administrations passent au "cerveau électronique" pour leur gestion. On commence à faire fonctionner les ordinateurs en "batch processing" (traitement par lots). Ceci augmente le rendement de ces machines horriblement coûteuses, manipulées par des "gourous" (généralement formés par IBM) au salaire de plus en plus élevé.
1963 Les mini-ordinateurs apparaissent. Il s'agit d'ordinateurs destinés à assurer des tâches spécifiques et pouvant être incorporés dans des systèmes (avions, chaînes de montages etc ). Les firmes Digital Equipment et Hewlett-Packard occuperont ce marché, négligé par IBM.
1965 Les ordinateurs peuvent travailler en temps réel, c'est-à-dire orienter leurs programmes en fonction de stimuli extérieurs. On introduit le "time sharing" (temps partagé), c'est-à-dire que la même machine peut dialoguer en même temps avec plusieurs utilisateurs assis devant des terminaux.
2.4.- Troisième génération
1966 Les circuits intégrés sont utilisés pour construire des ordinateurs de la troisième génération, plus fiables et moins chers (série SPECTRA 70 de RCA). HewlettPackard fabrique le HP35, ancêtre de toutes les calculatrices de poche.
1968 Les langages évoluent. Niklaus Wirth définit le Pascal. Les compilateurs PL/1 et ALGOL68 sont disponibles. IBM a des problèmes de monopole. Les premières montres électroniques sont mises sur le marché. Les retombées technologiques de la recherche spatiale se font sentir.
1972 La micro-électronique permet de loger sur un seul circuit un très grand nombre de composants. On développe des circuits spécifiques destinés aux terminaux d'ordinateurs (qui reçoivent le vocable "d'intelligents") et aussi aux jeux vidéo.
1974 Intel construit (presque par hasard) un circuit sans usage bien défini (le premier microprocesseur) et ne voit pas de marché pour cet objet. Le système d'exploitation des gros ordinateurs se complique à outrance. Beaucoup d'informaticiens développent des langages ou des systèmes!: naissance du langage "C" et de UNIX.
1975 IBM rêve du "Future system", un super ordinateur ultra rapide et ultra-com-plexe qui couvrirait le monde entier (le gros chaudron de B. Lussato!). Les ordinateurs travaillent en "mémoire virtuelle". Le marché mondial se compose d'environ 250.000 machines.
2.5.- Quatrième génération
1976 Le premier micro-ordinateur individuel de la quatrième génération est mis sur le marché par la firme Altair, il s'agit d'un kit destiné aux “hobbyists”. Contre toute attente, il a un gros succès commercial, principalement dans les rangs des électroniciens dont plusieurs sont réduits à l'inactivité par la crise et l'abandon de plusieurs projets spatiaux.
1977 Les micro-ordinateurs sont produits en grand nombre par de petites firmes et par Tandy. La firme Apple fondée par S. Job et S. Wozniac à San Francisco à partir du capital obtenu en vendant une vieille camionnette VW et une calculette HP35 a un certain succès.
1978 Les ventes de micro-ordinateurs progressent. Des programmes spécifiques comme Visicalc sont utilisés sur des micro-machines par les professionnels de la gestion.
1980 Le phénomène de l'informatique individuelle est reconnu par les médias et modifie de façon importante les sentiments du grand public vis-à-vis de l'ordinateur. L'informatique entre à l'école (langage LOGO) et n'est plus l'apanage exclusif des informaticiens. IBM abandonne son projet de "Future system". De gros ordinateurs super performants ("number cruncher") sont fabriqués (CRAY-1, CDC CYBER 205).
1982 Les grands de l'informatique (IBM et Digital) entrent dans l'arène de la micro-informatique et revoient leur position vis-à-vis des systèmes intermédiaires. De nouveaux microprocesseurs très puissants sont disponibles (Intel 8086, MC68000, etc ). Apple Computer Inc. occupe la 411ème place dans les "FORTUNE 500". Le langage Ada est défini par le DOD (Département de la Défense Américain). (Ada était le prénom de Lady Lovelace, fille de Lord Byron, assistante de Babbage et premier programmeur).
1983 Les micro-ordinateurs performants de faibles prix (Commodore 64, Apple //, ZX81, etc ) sont vendus à des millions d'exemplaires. Le langage BASIC est roi. Les fabricants évoluent vers la notion de réseaux (style Ethernet) où tous les postes de travail (les micro-ordinateurs) seraient connectés entre eux et auraient accès à des serveurs (grosses machines) qui serviraient de réservoirs de données. L'influence du langage Smalltalk (conçu au PARC -Palo Alto Research Center) est importante. On parle aussi de gros progrès dans le domaine de l'intelligence artificielle.
1984 Il ne faut plus savoir programmer pour utiliser un ordinateur. L" “interface utilisateur”, c'est-à-dire la façon dont la machine interagit avec son utilisateur subit une profonde évolution. Une part importante de la puissance de traitement est utilisée pour faciliter la relation utilisateur/machine. Les programmes dialoguent ("fenêtres", "souris", etc…) et les machines se banalisent (traitement de texte, tableur, gestion de données, etc…). Apparition du premier micro-ordinateur exclusivement graphique fonctionnant avec une souris!: le Macintosh d'Apple Computer.
1985 L'évolution explosive de la micro-informatique touche à sa fin. L'ordinateur devient un outil qui s'intègre de mieux en mieux dans presque toutes les activités professionnelles. Les copies d'IBM-PC venues d#Asie inondent le marché. Les prix des périphériques (disque dur, imprimante, etc…) diminuent. La firme Microsoft devient de plus en plus incontournable. C#est la première fois qu#une société vendant exclusivement du logiciel prend une envergure mondiale.
1986 L'accent est mis sur les connexions en réseaux. Des configurations comportant plusieurs postes de travail reliés entre eux par un réseau sont de plus en plus courantes. L'ordinateur individuel parle avec ses frères… Le disque laser pour ordinateur permettra de disposer sur chaque machine d'une immense quantité d'informations.
1987 La puissance des processeurs couplés à des mémoires immenses oblige les constructeurs à repenser les problèmes. Il faut imaginer de nouveaux modes de travail pour rentabiliser harmonieusement ce potentiel… (cf. Windows de Microsoft, OS/2 d'IBM, HyperCard d'Apple, etc…).
1990 La notion d'ordinateur personnel évolue. On utilise de plus en plus des stations de travail qui sont reliées entre elles et à divers périphériques. L'utilisateur, sans vraiment s'en rendre compte, dispose de ressources disséminées et partagées qu'il peut atteindre et activer à partir de sa machine. L'accent est mis sur les applications dites Multimedia qui incorporent l'image, le son et la vidéo aux applications traditionnelles.
Les nouveaux processeurs utilisant soit la technologie RISC (reduced instruction set) soit la technologie CISC (complex instruction set) gomment les distinctions entre les grosses machines et les PC. L'interface graphique utilisant des menus, des fenêtres et une souris (cf. Windows 3 (MS-DOS), X-Window (UNIX) et Macintosh), devient la règle.