Un programme est une suite d'actions à exécuter dans un ordre bien défini que l'on envisage de réaliser. Il n'est pas nécessaire de parler d'informatique quand on envisage l'idée de "programme".
Mon programme pour la matinée.
Un ordinateur est une machine dotée d'un microprocesseur capable d'exécuter très rapidement des instructions très simples.
Exemple (très simplifié) de programme d'ordinateur:
En fait, un programme d'ordinateur ne peut pas être écrit en français. Il doit être écrit dans le langage très simple que "comprend" l'ordinateur. Dans ce langage, chaque instruction est codée sous la forme d'un nombre.
Pour que le programme d'un ordinateur puisse être exécuté par le processeur, il doit être chargé dans la mémoire centrale.
L'animation ci-dessous présente un schéma de fonctionnement de l'ordinateur.
Généralement, les programmes de l'ordinateur sont souvent élaborés par des informaticiens. Leur travail consiste donc à exprimer dans le langage d'ordinateur la suite des ordres nécessaires pour réaliser une certaine action.
Dans l'illustration ci-dessus, un exemple de programme rédigé en langage LOGO. C'est un langage très simple, souvent utilisé pour apprendre à programmer, en cours de technologie, par exemple.
Le langage LOGO ressemble encore très fort à une langue humaine. C'est un langage informatique très simple. D'autres langages informatiques sont moins simples (Python, C++, Perl,...)
Les programmes de l'ordinateur peuvent ensuite être enregistrés sur des CD-ROMs ou DVD. Ils sont alors distribués aux personnes qui les utiliseront.
A chaque fois que tu exécutes un nouveau programme, ce programme, les données qu'il utilise et les résultats qu'il produit doivent se disposer dans la mémoire centrale.
Dans l'illustration ci-dessous, on a représenté en bleu la zone de la mémoire centrale contenant les programmes, et en vert la zone qui contient les données et les résultats des programmes.
Quand tu commences à travailler avec le PC, le système d'exploitation (Windows, Linux,...) -nommé OS (Operating System) sur les schémas ci-dessous- est chargé automatiquement dans la mémoire.
Une autre partie de la mémoire sert à déposer certaines informations (Ex: mot de passe, nom d'utilisateur, ...).
|
Pour le cours d'informatique, tu dois utiliser un navigateur web. Le système d'exploitation reste en mémoire. Le navigateur s'ajoute. Un peu de mémoire supplémentaire est utilisée pour déposer les pages sur lesquelles tu travailles.
|
Le cours d'informatique se termine, tu passe à la dactylo. Tu n'as plus besoin d'un navigateur web. Tu le fermes. La mémoire qu'il occupait redevient libre.
|
Pour la dactylo, tu utilises un logiciel pour apprendre la frappe au clavier. Tu charges le programme en mémoire.
|
Pour un exercice particulier, tu dois utiliser un logiciel de traitement de textes, en plus.
|
Droits d'auteur : Yves Mairesse. Ce cours est sous contrat Creative Commons
Des données et des résultats peuvent être copiés dans la mémoire centrale pour y être retenus et utilisés plus tard
La mémoire centrale d'un ordinateur contient des informations de deux sortes:
La mémoire centrale de l'ordinateur fonctionne avec de l'électricité! Quand le courant est éteint, la mémoire se vide entièrement des programmes et des données qu'elle pouvait contenir.
Et comment l'ordinateur peut-il même savoir comment démarrer, s'il est complètement amnésique à chaque réveil ?
La solution est simple. Dans l'ordinateur, on a implanté un composant contenant de la mémoire qui ne peut pas s'effacer. Donc, à son réveil, l'ordinateur dispose de cette mémoire-là.
En fait, il existe, dans l'ordinateur, une puce qui est capable de retenir des informations, même si le courant est coupé: c'est le BIOS (acronyme signifiant "Basic Input Output System").
Sur l'illustration ci-dessous, on voit un BIOS (avec une étiquette dorée) fabriqué par la société AMI parmi d'autres composants électroniques de l'ordinateur.
Le BIOS contient quelques petits programmes très simples qui permettent à l'ordinateur de "retenir" comment faire pour lire l'état des boutons de la souris, comment faire pour écrire à l'écran, comment faire pour accepter des frappes au clavier, pour communiquer avec les disques,... La mémoire vive est aussi appelée "mémoire RAM", de l'anglais "random access memory" (mémoire à accès aléatoire, dans laquelle on peut accéder à n'importe quel élément choisi au hasard). |
Le BIOS contient des informations qui sont définies une fois pour toutes; elles ne peuvent jamais changer. On parle de mémoire morte. La mémoire morte est aussi appelée "mémoire ROM", de l'anglais "read only memory" (mémoire en lecture seule, dans laquelle il est impossible d'écrire). La mémoire centrale contient des informations qui peuvent changer continuellement. On parle de mémoire vive. |
Lorsque l'ordinateur démarre, le BIOS contient tous les programmes nécessaires pour lui faire réaliser les principales actions de base : lire les disques, le clavier, la souris, ... écrire à l'écran, sur les disques, ... |
Une deuxième série de programmes intervient alors: c'est le système d'exploitation. Celui-ci permet à l'ordinateur d'organiser son travail. La façon dont on organise les informations enregistrées sur les disques, la façon dont on organise les informations dans la mémoire, ...
Vérifie quel système d'exploitation est utilisé sur l'ordinateur avec lequel tu travailles.
Il existe d'autres systèmes d'exploitation :
|
|
|
|
|
|
Il faut remarquer que, bien souvent, les systèmes d'exploitation ne sont pas compatibles entre eux.
Un logiciel écrit pour fonctionner sous Windows ne peut pas fonctionner directement sous Linux. Un logiciel écrit pour fonctionner sur un Mac ne pourra pas fonctionner sous Windows.
Même pas vrai! Mon petit cousin, il utilise Linux et le traitement de textes LibreOffice comme moi avec mon PC sous Windows.
Et même, mon grand frère, il a un Mac et utilise Word, comme sur un PC.
Vous avez partiellement raison. Le logiciel est bien le même, mais le code doit être totalement réadapté, d'un système d'exploitation à l'autre. Si vous téléchargez la version pour Linux, elle ne fonctionnera pas sur un Mac. Si vous achetez une version Windows de Microsoft Office, elle ne fonctionnera pas sur un Mac.
Un "bug" est une erreur dans le fonctionnement d'un logiciel. Quelle est l'origine de ce terme ?
En 1945, l'ENIAC était le précurseur des ordinateurs modernes. Il occupait une salle entière pour une puissance bien inférieure à un PC actuel. En août 1945, alors qu'ils travaillaient sur cet ordinateur, les opérateurs constatèrent des pannes dans l'un des circuits électriques de la machine. Lorsque l'endroit de la panne a été localisé, on en a détecté la cause : un insecte entré par inadvertance dans la machine y causait des court-circuits. A l'aide d'une pince, l'un des opérateurs put retirer l'insecte qui fut collé sur une feuille de papier et exposé. |
La cause de la panne était un vulgaire insecte, une vermine (en anglais, "a bug"). Depuis, l'expression est restée: une cause de panne dans un ordinateur ou dans un programme est un bug.
On emploie encore parfois le mot bug francisé : on parle alors d'un bogue.
Un ordinateur ne peut pas comprendre autre chose que le code binaire formé de "0" et de "1".
Un humain peut difficilement lire ou rédiger un programme d'ordinateur écrit sous forme de "0" et de "1".
Comment un humain peut-il, malgré tout, se faire comprendre des ordinateurs?
La solution au problème est expliquée dans l'animation ci-dessous. Étudie-la attentivement, étape par étape.
Les trois idées à retenir sont:
Détaillons cela ci-dessous.
Le binaire: l'objectif
Un programme d'ordinateur se présente comme sur l'illustration ci-dessous :
00110110 11010101 10100011 00111001 10011000 10101100
00100101 01011010 01110110 11011010 10110111 10101101
Il est beaucoup trop difficile de programmer en "0" et en "1". Aujourd'hui, tous les programmeurs travaillent dans des langages beaucoup plus proches d'une langue humaine mais déjà assez proche du langage d'une machine.
Le texte écrit dans un de ces langages est appelé "Code Source". Il ne peut pas encore être compris directement par un ordinateur.
Mais, on a appris aux ordinateurs à traduire ces langages en code binaire.
Le code source et sa traduction.
Le code binaire peut ensuite être transmis à d'autres ordinateurs qui pourront l'exécuter. La compilation ne doit être faite qu'une seule fois, tant que le code source n'est pas modifié. Si des améliorations au programme sont nécessaires, on modifie le code source et on recommence la compilation. |
On obtient alors une nouvelle version en code binaire.
* Pour simplifier, on ne parlera pas ici de l'interprétation qui est une autre façon de traduire.