CODING ★ Programmation , approche en douceur ★

Programmation Approche en Douceur|Cahiers Amstrad)

Cet article n 'est pas un cours de programmation. Il n'est pas dans notre intention, pendant cette période de vacances, de vous "gaver" de formules mathématiques ou de tableaux de cheminement de l'information. Pour cela, il existe une excellente littérature. Mais la programmation d'un ordinateur demande que l'on respecte quelques règles élémentaires. Il n'est pas néces-saire de connaître la totalité des instructions Basic d'un Amstrad pour réaliser de bons programmes. Il est plus important d'avoir fait une analyse complète de sa future réalisation, avant de donner è sa machine des ordres dont on ne maîtrise pas forcément les effets. Cette analyse est liée è une logique qu'il faut observer. Celle-ci peut être abordée dans un langage clair, ne demandant aucune connaissance particulière. Nous allons donc utiliser notre langage quotidien pour analyser un problème posé.

L'information

La programmation a pour but de donner à un ordinateur les moyens de traiter de l'information. Cette dernière peut être sous forme numérique (1. 2, 3...), alphanumérique (1. A, 2, B...) ou alphabétique (A, B. C...). La machine pourra la recevoir en vrac, comme par exemple lorsqu'elle est entrée à partir du clavier par l'utilisateur, ou sous une forme plus complète el plus structurée, comme dans un fichier. A partir de ces données de bases, l'information circulera dans l'ordinateur afin de subir les traitements désirés (programmés). Lorsque vous multipliez un nombre par 2, il faut connaître au départ la valeur du nombre, ainsi que celle du multiplicateur, ainsi que le signe correspondant à la multiplication. Ensuite, on trace une b'gne sous laquelle on inscrira le résultat. Ce traitement d'information, ici une multiplication, a demande la connaissance de données à traiter et leur exécution, afin d'obtenir le résultat souhaité. Cette information a circulé entre votre cerveau, que l'on peut comparer à l'unité centrale de l'ordinateur, et la feuille de papier, l'écran de visualisation. Quelle question vous posez-vous en réalisant une telle opération ? Très certainement aucune. Vous avez pourtant agit logiquement. Vous n'avez pas intervertit l'ordre des opérations permettant d'arriver au résultat. C'est parce que tout simplement, comme un ordinateur vous avez été programmé pour réaliser ce type de traitement. Rappelez-vous votre professeur lorsqu'il essayait de vous apprendre la multiplication et ses tables ! Votre cerveau a stocké le programme, et le rappelle dès qu'il en a besoin. L'ordinateur fait la même chose.

Le "savoir-faire"

Avant de commencer tout programme, il faut en définir l'objectif. Les questions principales à se poser : que doit faire ce pro-: gramme (traitement), où prendra-t-il ses données (information brute, entrée clavier ou fichier), sous quelle forme seront donnés les résultats et par qui (information traitée,, écran ou listing), les informations et le prc-.l gramme seront-ils conservés (fichiers cassettes ou disquettes) ? Comme nous l'avons vu dans l'exemple de la multiplication, il faut, un "savoir-faire" pour traiter une donnée. Il est nécessaire d'en connaître le déroulement "pas à pas" (séquences) ou, dans certains cas, de pouvoir utiliser une base documentaire.

Cette partie du travail du programmeur s'appelle une analyse. Il va en effet, analyser séquence par séquence l'exécution du travail. Lorsqu'il aura, ou plus exactement pensera posséder la bonne solution, il passera à la partie "programmation" de son travail. Dans le domaine de l'informatique professionnelle "gros et moyens systèmes", cette analyse est faite suivant une méthode rigoureuse, bien souvent truffé de mathématiques, maîtrisée après seulement de longs mois ou années de pratique. Ces méthodes sont importantes en raison des impératifs de la programmation professionnelle. S'il n'est pas important pour un amateur de connaître ce type de méthode, il est toutefois indispensable de travailler logiquement. Ne pas en tenir compte découragera très rapidement bon nombre d'Amstradistes qui réaliseront des programmes inutilisables (s'ils arrivent à les faire tourner un jour) ou complètement "boiteux". Si l'illogisme d'une programmation peut quelquefois se corriger, il est parfois plus simple de tout recommencer. Malheureusement, il n'est pas si rare de rencontrer chez les "professionnels" développant pour la micro-informatique "personnelle/familiale" des programmes de ce type.

Le langage

La programmation demande l'utilisation d'un langage qui sera reconnu par l'ordinateur tel que : Assembleur. Basic. Pascal, Logo etc. Ces langages, excepte l'Assembleur qui travaille avec des abréviations (code mnémonique), utilisent des "mots-clés", codifiés en anglais le plus souvent. Il n'est donc pas très difficile de les apprendre. Par contre leur utilisation et leur paramétrage peuvent poser quelques problèmes. Remarquez que nous avons déjà l'avantage de disposer de langages dits "évolués", car il n'y a pas si longtemps les informaticiens travaillaient directement en "binaire", suite de 1 ou 0. C'est toujours de celle manière que le processeur de la machine reçoit un nom de code (PR1NT, par exemple). Il est possible sur certaines machines professionnelles de rentrer du langage "courant", en respectant malgré tout une syntaxe adaptée. Dans ce cas particulier, une personne n'ayant même pas acquis les bases de la programmation peut réaliser des traitements automatiques. Cependant, les performances de ces systèmes semblent très moyennes. D'autres systèmes plus puissants existent mais il paraît aujourd'hui difficile de les adapter aux micro-ordinateur*. La plupart des sociétés de développement en informatique travaillent dans ce sens. Nous pourrons certainement en trouver dans les prochaines années. Pour le moment, on assiste à la commercialisation de logiciels redéfinissables ou programmables. Ils permettent de créer des fichiers de données, de réaliser des calculs, de traiter du texte ainsi que toutes leurs applications périphériques : mailings, analyses financières, représentations graphiques, recherches sur critères particuliers etc. Dans ces conditions, les connaissances de l'utilisateur en matière d'informatique peuvent être plus réduites. Pour l'amateur, la programmation reste l'un des principaux attrait de la micro-informatique. On peut utiliser quotidiennement Dbase II tout en étant un spécialiste d'Alien 8 ou de Sorcery. et réaliser des programmes.

Le choix d'un langage de programmation peut être dicté par ses possibilités générales. On débute le plus souvent en Basic parce qu'il est livré avec le micro puis, si l'on devient un fan de programmation, on choisira l'Assembleur ou le Pascal, peut-être le C ou le Fort h. Bien des fois il s'agit en réalité plus d'une affaire de goût que de difficulté. Ainsi l'Assembleur ou le Pascal sont considérés comme des langages d'approche difficile, alors qu'avec l'aide d'un bon livre et en prenant son temps on s'aperçoit rapidement qu'ils ne sont pas plus complexes que le Basic. Mais il est vrai que lorsqu'on a maîtrisé un langage, on considère que tous les autres sont moins performants et difficilement utilisables.

La puissance de la machine

Il est totalement inutile de se lancer dans la réalisation d'un programme complexe, si l'ordinateur dont on dispose n'est pas capable de supporter l'application. Il est donc impératif de vérifier tout d'abord les moyens utilisables avant de franchir le pas. Développer un programme qui demandera l'utilisation constante de données stockées sur différents fichiers, alors que l'on ne possède qu'un CPC'464 de base, est possible, mais il faut un sacré courage pour se lancer dans une telle entreprise. Avec une configuration aussi réduite, on doit tenir compte de la lenteur du système à cassettes, de l'impossibilité d'accéder à des enregistrements sans avoir lu les précédents (imaginez que l'on recherche le*dernier), qu'il n'est pas possible de revenir en arrière (sinon, obligation de rembobiner la cassette) etc. Il sera nécessaire dans ce cas de limiter son application par rapport à la place disponible en mémoire vive, en chargeant programme et fichier en même temps dans celle-ci. De même, il est complètement ridicule d'adjoindre à la machine un lecteur de disquettes et une imprimante, si le traitement de texte envisagé ne sera utilisé qu'au moment des fêtes du Nouvel An. pour expédier ses bons voeux à une trentaine d'amis...

Définir le traitement

Avant de partir en vacances, vous avez repéré le lieu, choisi le moyen et le chemin pour y accéder, vérifié si des commerçants étaient proches, si un médecin réside dans les environs, si le climat convient au petit dernier, évalué le coût total etc. Vous avez donc analysé le problème et choisi une solution. Cette dernière a été communiquée à votre famille. L'information brute de base a été traitée de façon à obtenir un résultat : le lieu de vos prochaines vacances. Maintenant, imaginons que vous n'ayez pas effectué celte analyse, vous puniriez alors à l'aventure. Dans ce cas, vous ne savez pas quelle route emprunter, ou trouver de l'essence sur le parcours, vous ne connaissez pas la distance qui vous sépare du point de départ à celui d'arrivée, vous ne savez pas s'il fera chaud ou froid... Au lieu de faire cinq heures de route, de passer d'agréables vacances dans un coin charmant mais pas trop isolé, vous serez constamment énervé parce que : vous avez couvert la distance en vingt heures, il n'y a qu'une épicerie à cinquante kilomètres à la ronde, l'endroit est infesté de moustiques et que le petit joue dans une décharge publique. Sympathique perspective !

Si vous définissez correctement le traitement que vous souhaitez effectuer avec votre ordinateur, vous ne rencontrerez pas de problème majeur.

Pour effectuer ce travail vous devez vous procurer quelques accessoires fort coûteux : du papier, un crayon et une gomme ! Inscrivez ce que vous souhaitez obtenir comme résultat, les informations dont vous disposez et celles qui vous manquent. Ensuite, posez-vous toutes les questions possibles et notez vos réponses : "comment représenter le résultat s'il s'agit d'une valeur, chiffres seuls ou avec graphiques {plus visuel) ; le nom du client sera t-il écrit en haut à gauche et son code à droite ; aurai-je besoin de visualiser l'adresse et le numéro de téléphone ; une ligne de commentaires est-elle utile"? Etc. Si votre projet est un gestionnaire de fichier, dessinez la forme des enregistrements. Ils seront utiles pour vérifier qu'aucune omission n'a été faite. Dans le cas contraire, si vous constatez une erreur pendant l'analyse (vous avez oublié d'indiquer la date de naissance), il sera plus facile d'effectuer des modifications. Faites de même pour le traitement : regardez les tâches qui devront être réalisées par le programme et essayez de structurer votre programmation. Si par exemple, vous devez effectuer plusieurs fois une addition, écrivez dans un pavé le déroulement de l'opération et donnez lui le nom "Plus". A chaque fois que vous devrez utiliser cette addition (ce module), indiquez dans voire analyse "ALLER A Plus". Lors de la programma-lion, "Plus" sera un sous-programme où vous enverrez et récupérerez les données. A chaque fois qu'un traitement répétitif est rencontré, faites-en un module indépendant. Ensuite, lors de l'écriture du programme, vous n'aurez à faire appel à ses services qu'au moment voulu. En évitant ce genre de répétitions, votre programme sera plus court, plus performant, plus facilement dépannable. Dans la mesure du possible.
complétez votre analyse avec un "organigramme".

Le "Pseudo Langage"

Avant de commencer l'écriture du programme dans un langage de programmation, il est préférable de le faire en "pseudo langage" (ou pseudo-code). Ne cherchez pas ce dernier dans le commerce, puisque c'est vous-même que le créerez. Cette "pré-programmation ' ' offre plusieurs avantages : il vous sera facile de déceler les erreurs de logique en faisant "tourner" le programme à la main, le contrôle du programme peut être réalisé avec l'aide d'un autre programmeur qui n'est pas un spécialiste du langage que vous employez, la maintenance du programme est facilitée car elle ne demande pas de se replonger plusieurs mois après dans une .suite d'instructions incompréhensibles. L'échange de programmes est possible entre un utilisateur du langage Basic et un autre, ne programmant que le Pascal. La définition du langage est des plus simple. Comme on ne tient pas compte du langage qui servira ensuite pour la programmation réelle de l'application, on peut utiliser par exemple : PRENDS valeur registre A. MULTIPLIE par 10, RANGE résultat dans registre C. Voici d'autres exemples de programmation écrit en "pseudo-langage" : AFFICHE nom produit haut écran gauche. AFFICHE code produit haut écran droite. AFFICHE prix produit bas écran gauche, AFFICHE stock produit bas écran droite. IMPRIME nom produit, code produit, quantité commandée, prix HT, prix TTC, ECRIT total TTC, AVANCE page suivante.

PRENDS valeur A. VAS à "Plus", EXECUTE traitement 10 fois, IMPRIME résultat. RANGE résultai dans registre E. REVIENT à "Suite". SI A plus petit que B ALORS aller en C SINON aller en D.
TANT QUE R est rouge ALLER en F SINON aller en L.

SI V plus petit que G MAIS E plus grand que H ALORS aller Z SINON aller T. Les instructions de sauvegarde, de chargement, d'ouverture et de fermeture de fichiers seront désignées aussi simplement que par : SAUVE, CHARGE. OUVRE, FERME. OUVRE fichier "clients". SAUVE programme.

A partir de ces quelques exemples vous pouvez inventer le langage codé que vous souhaitez, aussi bien en serbo-croate qu'en espagnol. Mais attention toutefois si vous travaillez en groupe, il faudra que vos camarades puissent comprendre ce que vous désirez réaliser avec ce programme. Ensuite, faites-le tourner "à la main", c'est-à-dire reprenez ligne par ligne le déroulement du programme et notez sur une feuille de papier ce qu'U se passe. Par exemple : fichier ouvert, I enregistrement lu, code valable, prix ht modifié, 2 enregistrements lus, code valable, prix ht modifié, 3 enregistrements lus, code invalide, arrêter le traitement, fermer fichier, fin du travail.

Vous devriez découvrir toutes les erreurs de logique ou de programmation sans problème. Il faut bien entendu vérifier toutes les éventualités possibles, comme par exemple que le code lu est bien présent sur l'enregistrement, qu'il existe une "sortie de secours" en cas d'erreur (sinon vous pourriez peut-être perdre vos données) etc. Ne négligez aucun détail, c'est peut-être lui qui "plantera" votre programme. Si cette "programmation" initiale en pseudo-langage vous paraît trop lourde, libre à vous de réaliser une programmation directement en Basic ou dans votre langage préféré. Elle vous apportera pourtant une aide précieuse, surtout si vous êtes débutant, en vous permettant de réaliser des programmes importants dés la base minimum acquise. Lorsque vous aurez écrit votre programme en Basic, utilisez la fonction "TRON". Celle-ci permet de vérifier ligne par ligne le déroulement du programme. Chaque ligne exécutée aura son numéro affiché sur l'écran. Il est alors très facile de déceler les erreurs. Utilisez cette instruction lors de ta recopie des listings publiés dans Amstrad Magazine, vous arriverez généralement à découvrir l'erreur de saisie. Pour désactiver "TRON", il faut entre l'instruction "TROFF".

Entraînez-vous !

Vous pouvez profiter de vos situations quotidiennes pour acquérir une démarche logique, qui vous aidera beaucoup dans la programmation. Faites des analyses régulières en essayant de décortiquer au maximum vos actions. Par exemple : quelles sont les étapes successives avant de pouvoir rouler avec votre voiture (localiser le véhicule, se demander si l'on possède la clé. mettre le moteur en marche, etc.). Toutes les situations peuvent fournir d'excellents exercices. En redevenant attentif dans ta vie quotidienne, vous le serez aussi en programmant. Vous pourrez ainsi réaliser des logiciels sans faute de logique, même si vous ne savez utiliser qu'une douzaine d'instructions d'un langage. Cela vous aidera aussi dans la lecture de programmes réalisés par d'autres. En regardant comment ils utilisent les instructions et la manière dont sont construits les programmes, vous pourrez faire rapidement d'énormes progrès.

Cahiers Amstrad_n°4 ( Juillet/Aout 1986) , http://cpcrulez.fr

★ ANNÉE: 1986
★ AUTEUR: Philippe Lamigeon

CPCrulez[Content Management System] v8.7-desktop/cache
Page créée en 117 millisecondes et consultée 1286 fois

L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent  du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko.