Programmation - août 2004 - page 1/5 PROGRAMMATION Programmer une machine, c'est lui indiquer comment exécuter des tâches de façon automatique. Ces tâches lui sont indiquées par une suite d'instructions (commandes), que l'on appelle un programme. L'ensemble des instructions disponibles sur un ordinateur, est appelé un langage de programmation ou tout simplement un langage. Sur une machine, il peut y avoir plusieurs langages disponibles différents, plusieurs façons de lui indiquer les tâches à effectuer, même si ce sont les mêmes tâches. En fait le microprocesseur (le cerveau) ne comprend que le langage qu'a créé son fabriquant, Intel ou AMD par exemple. Celui de AMD est compatible avec celui d'Intel, c'est-à-dire qu'il comprend celui d'intel. Ce langage est austère car il est composé d'instructions très élémentaires, addition, comparaison, adressage (écrire ou lire dans la mémoire), etc. Il sert à envoyer des courants électriques au microprocesseur et/ou à la mémoire. Les états du courant pu des interrupteurs, sont symbolisées par les 0 (=pas de courant interrupteur ouvert) et les 1 (=du courant - interrupteur fermé) du système binaire, mais dans le processeur, il n'y a que de l'électricité et des interrupteurs et de quoi les faire fonctionner. LE LANGAGE DU MICROPROCESSEUR, est appelé le langage machine ou le langage d'assemblage ou l'assembleur. Chaque microprocesseur a le sien, y compris bien entendu, les microprocesseurs des calculatrices Casio, mais seule la GRAPH 100 permet à l'utilisateur de s'en servir. Le langage machine de n'importe quel processeur, est assez austère mais intéressant et généralement seuls les professionnels et encore seulement un très petit nombre d'entre eux, l'utilisent. Programmation - août 2004 - page 2/5 Au début de l'informatique, c'était le seul langage disponible et on dit que l'on programmait ou que l'on codait "en dur". La programmation s'effectuait avec des câbles et des interrupteurs qui en fait étaient des lampes radio. La nécessité de disposer de langages plus efficaces et plus lisibles était présente, mais il a fallu que les machines disposent de plus de ressources. Il y avait deux types de demandes : la gestion et le calcul scientifique. L'un des premiers langages adaptés à la gestion fut ALGOL et l'un des tous premiers langages scientifiques fut le FORTRAN. Ce type de langage est appelé "langage élaboré", par opposition à l'assembleur. On peut citer BASIC, FORTRAN, LISP, PL1, ALGOL qui sont des langages anciens et PASCAL, LOGO, C, C++, PROLOG (intelligence artificielle), etc. comme exemples de langages récents. TOUTES LES CALCULATRICES UTILISENT DONC 2 LANGAGES : LE LANGAGE MACHINE (ou l'ASSEMBLEUR) de leur microprocesseur, créé par le fabriquant du microprocesseur et qui n'est généralement pas utilisable par l'usager. UN LANGAGE DE PROGRAMMATION pour l'usager, créé par le fabriquant de la calculatrice à l'aide du langage machine. Il s'agit d'un langage élaboré et il est chargé de produire du langage machine, mais sans que l'on ait à savoir le faire. Les langages élaborés sont généralement composés de mots du langage courant : INPUT, READ ou LIS, pour entrer une valeur PRINT, WRITE ou ECRIS, pour écrire un résultat STORE placer en mémoire IF si THEN alors ELSE sinon LABEL étiquette LOOP boucle DO faire UNTIL jusqu'à WHILE tant que Sur certaines calculatrices, les instructions sont raccourcies à cause des possibilités limitées de l'affichage. Mais la Casio a un langage pas trop simplifié, donc assez clair. Pour programmer une machine en fait, au départ on analyse la question, sans se préoccuper du langage que l'on va utiliser. On appelle cette technique, l'algorithmique et on peut en faire sans aucun ordinateur. On peut donc faire de l'informatique, certains aspects, sans ordinateur ni calculatrice. Programmation - août 2004 - page 3/5 EXEMPLE, calcul de points pour tracer la courbe représentative de la fonction : f 1 :ℝ ℝ x x 2 −x6 ANALYSE DE LA QUESTION Il s'agit d'un polynôme du second degré de type ax2 + bx + c, il faut donc utiliser 4 nombres que la machine ne peut pas trouver seule : Le coefficient de x2 Le coefficient de x Le terme constant La valeur de x a b c On effectue le calcul de la valeur du polynôme On affiche le résultat qui reste affiché jusqu'à ce que l'on appuie sur un touche On demande si on veut arrêter sinon on demande un nouvel x CELA A PROGRAMMATION ETE FAIT SANS SE SOUCIER DU LANGAGE On décrit ensuite plus finement, ce que la machine doit faire C'est un polynôme du type P(x) = ax 2 Demander a et le placer en mémoire Demander b et le placer en mémoire Demander c et le placer en mémoire Demander x et le placer en mémoire Calculer la valeur de ax + bx + c 2 Afficher le résultat Demander si l'on continue Si oui, demander un autre x Sinon ARRET DU PROGRAMME + bx + c avec a ≠ 0 DE Programmation - août 2004 - page 4/5 MAINTENANT ON PEUT DECRIRE CELA AVEC UN ORDINOGRAMME OU ORGANIGRAMME DE PROGRAMMATION. ON UTILISE AUSSI CES MÉTHODES EN GESTION. PROGRAMME Polynôme du second degré Entrée et stockage de a Entrée et stockage de b Entrée et stockage de c Entrée et stockage de x Calcul de la valeur de P(x) Affichage Demande si on continue FIN Il S'AGIT MAINTENANT DE TRADUIRE CELA DANS LE LANGAGE QUE L'ON A CHOISI. ON EVITERA LE LANGAGE MACHINE DE LA GRAPH 100 ET ON UTILISERA DONC LE LANGAGE CASIO Passer en mode programmation Nom du programme : DEGRE 2 "COEFF A"?→A "COEFF B"?→B "COEFF C"?→C LBL 1 "QUEL X"?→X A×X×XB×XC →Z Z Le nom pour s'y retrouver Entrée et stockage de a Entrée et stockage de b Entrée et stockage de c Placement d'un repère (étiquette) Entrée et stockage de x Calcul et stockage de P(x) Affichage de la valeur de Z = P(x) GOTO 1 Retour à l'étiquette 1 Programmation - août 2004 - page 5/5 Le " s'obtient en faisant ALPHA ? s'obtient avec SHIFT VAR et → s'obtient au dessus de AC/ON LBL (LABEL=étiquette)peut être tapé à la main ou avec SHIFT VAR JUMP (F3) GOTO de la même façon Nous n'avons donc pas encore mis de test, c'est ainsi que cela s'appelle pour décider si on calcule une nouvelle valeur de P(x) ou si on arrête. On arrêtera donc à la main pour l'instant.