Home

Disponible au téléchargement en version intégrale.

image

Contents

1. Nantes en novembre 2002 Quelques r f rences de Charles Duch teau dans l article suivant 3 ARSACI Premi res le ons de programmation Cedic Nathan Paris 1980 6 ARSACI Les bases de la programmation Dunod Paris 1983 7 ARSACJ Les machines penser Des ordinateurs et des hommes Editions du Seuil Paris 1987 15 BIONDI J CLAVEL G Introduction la programmation 1 Algorithmique et langage Masson Paris 1984 P DUCHATEAU C Images pour programmer Apprendre les concepts de base Vol 1 CeFIS FUNDP Namur 2002 http www det fundp ac be cefis publications charles images1 5 79 pdf DUCHATEAU C Images pour programmer Tableaux et approche descendante Vol 2 CeFIS R f 5 78 FUNDP Namur 2002 http www det fundp ac be cefis publications charles images2 5 78 pdf pa JAMES M Elegant Programming Computing Today Ao t 1982 pp 24 37 51 LEDGARD HF Proverbes de programmation Dunod Paris 1975 B 1 4 A N 67 Mars 2004 5 Images pour programmer programmer Charles Duch teau Si j cris le mot informatique nul doute que vous pensiez d abord ordinateur Si j avais crit m t orologie les images associ es auraient probablement t temps anticyclone d pression pluie et pour certains thermom tre Le mot astronomie aurait lui appel toiles plan tes lune et peut tre t lescope Mais personne n est pr t dire que la
2. AAFFRR nous h siterons le classer avant ANTOINE m me si Ja forme nous y oblige et cela parce que le pr nom AAFFRR nous para t insens mais si nous excluons ces consid rations de sens notre classement ne s appuiera de fait que sur la forme des pr noms propos s 3 L ordinateur m me multim dia tait est et restera un calculateur lectronique il manipule des repr sentations physiques de nombres Ch Duch teau 22 ao t 2002 CeFIS FUNDP 2002 Le troisi me ensemble de t ches nous est nettement moins familier Il s agit ici de manipulations formelles de texte Et la plupart du temps lorsque nous nous int ressons du texte ce n est pas la forme qui nous importe mais le sens que nous lui attachons Ainsi nous ne lisons g n ralement pas Germinal ou Notre Dame de Paris pour le plaisir de pouvoir d clarer que l un comporte 1 248 368 mots et l autre 1 168 413 Nous n appr cions pas la port e d un essai ou la beaut d un po me sur base du nombre de fois que le mot et s y trouve pr sent Lorsqu il s agira de texte l ordinateur manipulateur formel ne pourra se livrer qu des op rations portant sur les caract res qui le constituent sans r f rence la signification v hicul e Nous parlerons d ailleurs toujours de cha nes ou successions de caract res et non de mots On voit que dans les t ches num r es ci dessus j ai soigneusement vit des travaux comme
3. Ainsi la marche suivre explicitant telle t che sera la m me que je finisse par m adresser l ordinateur en Pascal ou en Basic par exemple 4 Les qualit s dont il faudra faire preuve cette tape sont bien diff rentes de celles n cessaires aux tapes pr c dentes Ici c est le r gne des conventions de la grammaire et de l orthographe sp cifiques au langage de programmation choisi qualit s de rigueur et de docilit d s lors et surtout pas d invention de cr ativit ou d imagination Ce qui est indispensable c est de savoir quand la virgule ou le point sont requis comment il faut orthographier les quelques mots du langage choisi quelles sont les tournures permises 5 A l issue de cette tape au cours de laquelle je le souligne l ordinateur n est toujours pas indispensable je dispose donc d un programme Un programme c est donc seulement une marche suivre crite dans un langage particulier L avantage de cette forme d expression de nos marches suivre c est qu elle est compr hensible par l ordinateur son d savantage c est d tre nettement moins lisible pour nous La description sch matique s enrichit donc d une tape suppl mentaire T che p Fairefaire D Ordinateur Description floue Quoi faire Description pr cise A M Comment faire Comment dire V Strat gies y gt Comment faire faire Ch Duch teau 22
4. I n y a pas grand chose de commun entre la t che consistant g rer le stock d un magasin de chaussures et celle de la gestion des emprunts dans une biblioth que ou de l organisation d un cabinet de dentiste Et celui qui sait ce que recouvre pr cis ment chacune de ces t ches c est le client qui ne sait pas qu il sait il est g n ralement incapable d expliciter comment il s y prend actuellement et encore moins de d crire ce qu il souhaite il fait mais ne sait pas comment il fait Et en face de lui il y a linformaticien qui lui conna t les possibilit s de l ordinateur mais ne sait pas ce qu il doit en faire dans ce cas pr cis En r sum il y a dans une t te celle du client les r ponses mais il ne sait pas qu elles y sont et dans une autre t te celle de l informaticien il y a des questions mais il ne sait pas bien celles qu il est pertinent de poser Le bon informaticien n est pas celui qui commence par apporter des r ponses mais celui qui pose d abord les bonnes questions 4 Ce n est pas un hasard si la formation des informaticiens comporte une grosse partie consacr e l acquisition de m thodologies d exploration du Quoi faire pour de grandes cat gories de t ches gestion conception de bases de donn es Il s agit l de la premi re tape souvent la plus ardue du travail de l informaticien sur le chemin qui conduit de la t che son traitement par l ordinateur 5 Les questions po
5. S il s agissait l d une d finition il resterait d finir machine information traitement Il faudrait encore ajouter que cette machine est lectrique qu elle est constitu e de circuits lectroniques ce qui n clairerait en rien mon propos Cf 6 Le lecteur int ress pourra consulter les chapitres 2 et 3 de Initiation l informatique l adresse http www det fundp ac be ce is publications charles ini 5 51 pdf CeFIS FUNDP 2002 22 ao t 2002 Ch Duch teau 12 Traitement formel d informations Cette machine va donc s atteler des t ches de traitement d informations Pour pr ciser cette assertion voici quelques exemples de t ches que nous connaissons bien pour y tre parfois confront s et qui mettent en oeuvre un traitement formel d informations additionner deux nombres calculer une moyenne chercher le plus grand d une s rie de nombres trier un paquet de cartes num rot es et qui se pr sentent dans le d sordre transcrire en toutes lettres un nombre crit en chiffres compter et annoncer les points au tennis chercher le num ro de t l phone d un abonn Conjuguer un verbe r gulier du premier groupe tous les temps de l indicatif lire un texte et fournir la fr quence des divers mots le composant centrer un titre lors de la dactylographie d un document Le premier ensemble de t ches concerne des traitements de nombr
6. 29 T l copie 0 4 91 95 75 57 IMPRIMEUR Universit de Provence Service Reprographie 3 place Victor Hugo F 13331 Marseille Cedex 3 T l phone 0 4 91 10 60 48 COMPUTATION INFORMATION N 67 MARS 2004 1 EDITORIAL Informatique et politique par Edmond Bianco 3 De Jacques Arsac Charles Duch teau Images pour programmer par Jean Michel Knippel 5 Images pour programmer programmer par Charles Duch teau 27 VOUZZAVEDIBISAR Les Gaullicoquins et les Grapurinades par Edmond Bianco http scamup univ mrs fr biaa Publication trimestrielle gratuite de l Universit de Provence Impression juin 2005 ISSN 0291 5413 1 EDITORIAL Informatique et politique Edmond Bianco Le m tier d picier est un m tier noble comme tous les m tiers utiles et la mise disposition de tout le monde de mani re directement accessible de produits aussi importants que ceux qui composent la nourriture de base est une fonction de service public fondamentale Mais h las le principe de Peters vient galement faire des ravages dans ce domaine Depuis quelques d cennies le petit picier a pris de l ambition il s est lev jusqu aux r nes de l Etat Perdus dans la masse des piciers honn tes on trouve toujours quelques m diocres qui compensent leur m diocrit par une ambition d mesur e Et on peut en admirer d sormais quelque beau sp cimen bossu force de calculer sur des bouts de
7. ao t 2002 CeFIS FUNDP 2002 21 Jusqu ici le travail d analyse et de programmation ne n cessitait pas la pr sence effective de l ordinateur Disposant maintenant du programme con u gr ce aux tapes pr c dentes je vais enfin me retrouver face l ordinateur pour lui fournir le r sultat de mes cogitations et lui demander d ex cuter la t che envisag e 3 5 Et face la machine Nous voici done au terme du parcours aux prises avec la derni re tape celle du travail effectif l ordinateur T che WW ___ __ Fairefaire WH _ Ordinateur A V v A A y Description pr cise A V A V Ce travail comportera en g n ral plusieurs phases s gt Comment faire faire 1 Je vais d abord fournir l ordinateur le texte de mon programme exprim dans le langage de programmation retenu L ordinateur se contente d entasser ce texte dans sa m moire tout en m aidant le confectionner Il est alors gouvern par un programme sp cifique qu on appelle un diteur de texte Ce programme le transforme en quelque sorte en une super machine crire ceci pr s que le texte s inscrit l cran et non sur une feuille de papier et qu il prend simultan ment place dans la m moire centrale 2 A l issue de cette tape d dition le texte r sidant en m moire est g n ralement sauv sur un support m moire externe cassette disquette ou disque dur Il y acquiert un
8. dramatiquement regrettable pour l enrichissement du pays et surtout de ceux qui contr laient cet enrichissement d une main de fer dans un gant de velours Il tait visible que le gant de velours devenait de plus en plus g nant et superflu La Gaullicoquie allait mal c est s r de plus en plus mal Et quand quelque chose va mal il faut trouver des causes et la cause l crevait les yeux les trente cing heures Les h pitaux marchaient mal les trente cinq heures les urgences taient bloqu es les trente cinq heures Quinze mille morts pendant la canicule les trente cinq heures Personne n avait eu le temps d avertir le Sinistre de la Sant lui m me bien trop occup pendant ses petites trente cinq heures Les caisses de l tat sont vides les trente cinq heures la dette publique grimpe de mani re d vastatrice les trente cinq heures etc etc B LA A N 67 Mars 2004 28 Mais le comble fut v ritablement atteint lorsque le meilleur Gaullicoquin d entre nous toujours droit dans ses bottes se fit pingler par la justice pris la main dans le sac Jamais homme ne ramassa tant grande cueillette d hommages Il est vrai que toute la grande Satrapie au pouvoir lui devait fi re chandelle Non pas bouts de chandelles comme on aurait pu en attendre d un gestionnaire conome mais carr ment grandes ripailles la mesure de l clat d au lustre au panache la splendeur de cette gr
9. et s y trouve jette un d jusqu ce que le 6 apparaisse pour la troisi me fois et annonce alors combien de fois tu as d jeter le d pour cela cris en chiffres romains les nombres que je te fournirai Exactement comme il suffit de pr ciser confectionne une blanquette de veau pour obtenir le r sultat souhait lorsqu on s adresse un cuisinier confirm Si par contre on est au prise avec un d butant ou une d butante cette petite phrase ne suffit plus il est alors indispensable de fournir la recette correspondante Et le d tail des explications qui doivent tre donn es d pend de mani re cruciale des possibilit s du cuisinier d butant L ordinateur s il est bien un traiteur d informations peut malheureusement quand on le regarde du point de vue de la programmation tre assimil un d butant Ses possibilit s on va le voir au chapitre 3 sont extraordinairement limit es Et il est absolument hors de question qu il comprenne des phrases comme Trie les nombres qu on va te fournir ou Conjugue au pr sent de l indicatif un verbe qui sera pr cis m me si on les lui dit en anglais S il fallait d s pr sent qualifier l ex cutant ordinateur les mots qui me viendraient tout naturellement en t te seraient plut t born b te ne comprenant jamais rien demi mot Je ne suis videmment pas dupe de ces anthropomorphismes propos de l ordinateur Si nous le d couvrons b
10. f brilit soumettre l ordinateur le r sultat de cette absence de r flexion pr alable Se passait alors ce qui doit immanquablement se passer en pareil cas apr s les allers et retours de la perforatrice l ordinateur pour la correction des erreurs de syntaxe le programme finissait par tre compil traduit et prenant le contr le de l ordinateur par lui faire faire tout autre chose que ce qui tait attendu cette autre chose tant le plus souvent rien du tout D autres ont d peint bien mieux que moi les r sultats aberrants et les ravages de cette absence de m thode o programmation rimait avec connaissance de la syntaxe d un langage et o t nacit et endurance tenaient lieu de r flexion et d intelligence Cf 3 15 51 ll ne faut pas confondre dissertation francaise et accord du participe Dans beaucoup de formations la programmation tout se passe souvent comme si l on annon ait l organisation de cours sur la dissertation fran aise le public int ress s inscrit en esp rant qu on explique comment on peut cerner un sujet comment dresser un plan conducteur comment argumenter organiser sa pens e Et il est tout surpris de trouver un cours sur l accord du participe ou sur le pluriel des noms quand ce n est pas simplement une initiation la dactylographie En programmation il ne faut pas non plus se tromper de cible programmer c est tout autre chose que ma triser les co
11. n cessaires au traitement envisag entr es leur forme leur nombre les r sultats souhait s sorties forme pr sentation oj i le traitement en quoi les r sultats sont li s aux donn es Mais on le verra cette tape de pr cision de ce qui est attendu sera toujours la premi re et nous n en ferons jamais l conomie 2 Lorsque quelque chose ne tourne pas rond dans l utilisation de l ordinateur par exemple dans la gestion d une entreprise ce n est presque jamais cause de l ordinateur lui m me rien n est moins capricieux qu un ordinateur C est parfois parce que les programmes sont incorrects ils ne font pas faire par l ordinateur ce qu on souhaite ou tentent de lui faire faire des choses impossibles Mais le plus souvent c est parce qu on n a pas consacr le temps n cessaire pr ciser ce qui tait attendu On se retrouve en bout de course avec un produit qui ne donne pas satisfaction essentiellement parce que tout b tement on n a pas dit TOUT ce que l on voulait 3 Dans la programmation telle qu elle est v cue par les amateurs ou les apprenants la t che abord e et la connaissance des possibilit s offertes par l ex cutant pour la traiter sont dans la m me t te Les questions sont pos es par celui qui conna t aussi les r ponses Dans la r alit professionnelle l informaticien analyste d barque g n ralement dans un milieu qu il ne conna t pas et qu il doit informatiser
12. r sumer un texte traduire un texte appr cier la po sie se d gageant d un texte Ce ne sont plus 1a ce que j appelle des traitements formels ne s attachant qu la forme du texte et pas ce que nous nommons son sens Il ne viendrait l id e de personne pour r sumer un texte de se contenter de le r crire en passant un mot sur deux ce qui constituerait un traitement purement formel pour r sumer un texte nous devons avoir saisi son sens avoir identifi les id es importantes les th ses avanc es Et tous ces concepts renvoient autre chose qu l aspect formel du texte De m me pour traduire il ne suffit pas de consulter un lexique o chaque mot fran ais aurait son quivalent anglais Une telle attitude formaliste qui consiste remplacer b tement un mot par son correspondant conduit des absurdit s comme He the door pour Il la porte Une derni re anecdote fera mieux comprendre ce caract re formaliste des traitements effectu s par l ordinateur Il existe aujourd hui associ s certains logiciels de traitement de texte des correcteurs orthographiques qui pour chaque mot du texte v rifient que ce mot est bien pr sent dans une norme liste de mots reprenant la plus grosse partie des mots acceptables Dans le cas o le mot f te est rep r dans le texte l ordinateur d tecte bien une erreur mais propose comme liste de mots possibles forte fonte ou fo
13. alement le dernier mettre en cause lorsque le traitement d une t che ne s effectue pas comme pr vu Ce qu il faut revoir presque toujours c est la marche suivre qui lui est fournie et que NOUS avons congue en y laissant subsister des erreurs et des incoh rences Le drame c est souvent que nous croyons lui dire autre chose que ce que nous Jui disons vraiment C est peut tre tonnant mais il a fallu fort longtemps l informatique ou plut t aux informaticiens pour se rendre compte qu essayer un programme pouvait avec de la chance montrer qu il tait incorrect jamais prouver qu il tait correct 5 Exercices Il est videmment fort malais de proposer ce stade des exercices techniques puisque ce chapitre introductif a surtout pour objet de baliser notre parcours futur au pays de la programmation 1 Eclairez quelques facettes importantes des termes suivants Ordinateur Programmer 2 Quelle est la t che principale de l analyste programmeur Donnez quelques exemples de traitements formels d informations puis des exemples de traitements non formels 4 Pensez vous que les probl mes li s la commande num rique de certaines machines outils tours par exemple soient li s au monde du faire faire tel qu il est pr sent dans ce chapitre 5 Donnez quelques arguments qui prouvent que l tape du Quoi faire est essentielle queiq qui p q p CeFIS FUNDP 2002 22 ao t 2002 ws Ch Duch tea
14. alement propos e Il nous arrive parfois d ex cuter des marches suivre lorsque par exemple nous suivons les indications d une recette de cuisine ou d un guide de tricot C est aussi le cas de l ex cutant musicien face une partition marche suivre Chacun mesure cependant dans ce cas toute la distance entre ce statut d ex cutant et celui du compositeur programmeur dont le r le est de concevoir et d crire les partitions marches suivre Ceci pour insister sur le fait que cette activit r diger une marche suivre est totalement nouvelle et inconnue pour la plupart d entre nous sauf pour les auteurs de guides de tricot ou de livres de recettes 1 Troisi me difficult l ex cutant est un robot Tous les exemples mentionn s ci dessus sont en partie trompeurs c est qu il s agit chaque fois de fournir les instructions n cessaires un tre humain qu il soit apprenti cuisinier musicien d butant ou tricoteur tricoteuse novice M me si la marche suivre concevoir doit tre compl te en envisageant toutes les situations possibles et non ambigu en ne laissant aucune initiative l ex cutant notr interlocuteur est un tre humain comme vous et moi D s lors nous pourrons dans certaines limites nous exprimer demi mots garder certains implicites partag s par tous les humains adopter une repr sentation imag e ou dessin e Tout ceci sera videmment exclu lorsque l ex cutant de
15. ande quipe Les juges impitoyables manqu rent de peu le pilori Des journalistes imprudents qui annonc rent pr matur ment le retrait de la politique de ce digne ancien premier Sinistre furent durement punis Ah mais Et depuis la Gaullicoquie d en bas chante Il est tomb par terre c est la faute Voltaire Le nez dans le ruisseau c est la faute Rousseau Bouscul par un Beur la faute aux trente cing heures B LA A N 67 Mars 2004
16. at gies sont probablement celles que nous effectuons le plus automatiquement ou le plus inconsciemment nous avons ce point int gr les comportements sous jacents que la question comment fais tu nous prend au d pourvu et nous para t en tout cas bien incongrue 2 Ilest des t ches un peu plus compliqu es comme crire un nombre en toutes lettres ou d cider si un nombre est premier qui nous poseront probablement d j de petits probl mes m me s il s agit seulement de les effectuer nous m mes sans tre tenus d expliquer en d tail comment nous nous y prenons Dans ce cas cependant les livres que nous consulterons ne sont absolument pas les trait s d informatique C est dans une grammaire que nous trouverons les r gles permettant d crire sans erreur un nombre en toutes lettres et dans un livre d arithm tique que nous apprendrons ou r apprendrons ce qu est un nombre premier et comment on peut v rifier cette caract ristique Ainsi face une t che qui nous pose un Ch Duch teau 22 ao t 2002 CeFIS FUNDP 2002 3 3 17 probl me les strat gies sont chercher dans le champ domaine de cette t che pas dans les trait s d informatique L attitude cl ici c est d tre capable de passer de l implicite l explicite C est un fait que trop souvent nous avons appris effectuer des t ches ou r soudre des probl mes m caniquement sans avoir mis au jour explicitement comment nous no
17. base De Boeck Wesmael Editions Universitaires Tout naturellement je le recommandais mes tudiants et tudiantes et je prenais contact avec mon coll gue de l Institut d Informatique de Namur des facult s universitaires Notre Dame de la Paix en Belgique Je lui proposais de diffuser quelques parties de ses supports d enseignement d introduction l algorithmique Ceci se fait dans la collection 2004 de notre p riodique Le lecteur ou la lectrice qui voudraient aller plus loin pourront consulter les supports de Charles Duch teau au format papier ou en ligne Les objectifs de l enseignement sont les suivants faire d couvrir les concepts et principes de base de l algorithmique et de la programmation imp rative faire comprendre comment ces concepts s incarnent dans le langage Pascal ma triser suffisamment la syntaxe de pascal rendre capable de mettre en oeuvre ces concepts travers une d marche descendante pour analyser des t ches simples et crire les programmes correspondants en Pascal Jacques Arsac Je ne l ai pas oubli Professeur m rite de l Universit Pierre et Marie Curie et membre de l Acad mie des Sciences il a pr fac le livre insistant sur les images offertes l apprenti programmeur images qu il devra d passer B I A A N 67 Mars 2004 4 Nous retrouvons l informatique et les rapports forme et sens Jacques Arsac a d velopp ces th mes dans un s minaire de l IRIN
18. c est qu avec les explications fournies il est parfaitement possible de faire conjuguer plombier ou m me valises Sans sourciller et conform ment notre marche suivre l ordinateur fournira je plombie ou je valise tu plombies tu valises il plombie 3 On r torquera qu il faut tre de mauvaise foi pour demander la conjugaison de verbes comme ceux l et c est tout fait vrai m me si l ordinateur ne sort pas grandi de telles fac ties Encore une fois l ordinateur ne sait pas ce qu est un verbe Il ne peut s attacher qu la forme de ce qu il manipule en suivant consciencieusement nos indications Nous aurions pu nous pr munir contre un certain nombre de b tises en demandant par exemple l ex cutant ordinateur de v rifier que le verbe foumi se termine bien par er et sinon de le refuser ce qui aurait vit la conjugaison de valises mais aurait laiss passer plombier ou cerisier Mieux nous aurions pu lui fournir une liste exhaustive de tous les verbes admis en lui demandant de n accepter que les mots pr sents dans cette liste Remarquons cependant qu chaque fois c est nous programmeurs qu il revient de pr voir les op rations suppl mentaires qui vont permettre d affiner le comportement de l ex cutant Revenant un comportement plus habituel nous aurons le plaisir de voir l ordinateur conjuguer correctement les verbes porter parler tirer et nous d cr terons don
19. c notre programme correct pour autant qu on se limite r ellement des verbes r guliers du premier groupe Et cela jusqu au jour o quelqu un demandera la conjugaison du verbe aimer ce que l ex cutant ordinateur guid par notre marche suivre fournira aussit t sous la forme je aime tu aimes il aime ce qui montrera qu un programme consid r comme valide ne l est absolument pas q q progr Bien entendu il ne s agit l que d un tout petit exemple sans importance il a cependant le m rite de mettre en vidence quelques v rit s premi res Ch Duch teau 22 ao t 2002 CeFIS FUNDP 2002 25 1 Il est vraiment difficile d tre exhaustif et de mettre en vidence TOUTES les r gles qui r gissent notre comportement face la r alisation d une t che m me tr s l mentaire Quand je parlais plus haut de d plier compl tement une t che sans rien laisser dans l ombre et en faisant une chasse s v re aux implicites c est de cela que je parlais C est cette complexit qui fait de la programmation quelle que soit la m thode employ e une activit compliqu e concevoir une marche suivre pour faire effectuer une t che par l ex cutant ordinateur ne sera jamais simple et ne se r duit en tout cas pas la connaissance des r gles syntaxiques gouvernant le langage de programmation employ 2 L ordinateur est un ex cutant rapide mais affreusement docile et ob issant Il est g n r
20. chandelles avec un crayon qu il glisse au repos sur l oreille droite tandis que sur l oreille gauche palpite une cigarette en attente Mais notre candidat la gloire posthume et au sacrifice ostensible ostentatoire se doit devant les crans de t l vision d exprimer l image de la force invincible on le voit le front bas on imagine tr s bien la corne vibrante l ensemble voque le taureau pr t foncer contre les ennemis de la France d en bas Le puissant crochet du droit souligne l image du battant Toutefois ce genre de personnage sait bien choisir son petit personnel c est atavique Pour att nuer la force brutale du personnage un peu de charme et du charme exotique est indispensable pour s duire les forces c r brales de la nation La pauvre Claudie toute droite tomb e des cieux dans ses bottes de cosmonaute se doit d affrioler d aguicher les grincheux du savoir qui voudraient creuser toujours plus profond ment dans des domaines du savoir dont ils devraient bien comprendre que d abord leur qu te est al atoire et que de toute mani re leurs produits ne s exposent pas sur une tag re d picerie L ancien picier chef dit le Mammouth avait d j aiguill la formation plut t g n rale la fran aise vers une autre beaucoup plus rentable pour les industriels qui voisinent une cole et n ont que faire de gens parlant latin ou grec alors que savoir coudre ou coller du plas
21. e existence permanente contrairement la version pr sente en m moire vive qui peut dispara tre par exemple lors d une coupure de courant r duisant alors n ant un travail de dactylographie repr sentant quelques minutes ou quelques heures Le texte ainsi recopi sur support externe pourra bien entendu tre ramen on dit charg dans la m moire pour tre r utilis 3 Nous savons que le texte du programme est tel quel incompr hensible donc inex cutable par l ordinateur il doit d abord tre traduit dans le langage de ce dernier ce qu on appelle le CeFIS FUNDP 2002 22 ao t 2002 Ch Duch teau 22 langage machine Pour effectuer cette traduction l ordinateur se laisse gouverner par un programme de traduction qu on appelle programme compilateur C est au cours de cette tape de traduction ou de compilation que les erreurs de syntaxe pr sentes dans le texte sont d tect es Cette d tection des erreurs est d ailleurs approximative l ordinateur se plante pendant Ja compilation il ne comprend plus un texte o l on n a pas scrupuleusement respect les r gles de syntaxe du langage compromis et il signale l endroit du texte o il a commenc ne plus pouvoir traduire Souvent il assortit ceci d une tentative de rep rage du type d erreur possible sous forme d un message plus ou moins sibyilin Il reste alors l apprenti programmeur r examiner le texte de son programme par e
22. e plus souvent des t ches souvent assez b tes et fastidieuses On ne r sout pas une t che on l effectue Il y a 40 ans que l informatique existe et au risque de para tre provocateur je dirais volontiers que L informatique n a presque jamais r solu un seul probl me Je pratique l informatique et la programmation depuis suffisamment longtemps pour mesurer tout de m me ce que ces propos peuvent avoir d outrancier et d exag r Je peux videmment apporter des exemples de t ches tellement longues et fastidieuses qu il serait bien difficile de trouver un tre humain acceptant de s y atteler t ches de calcul de tri de grosses quantit s d informations Cf ci dessus Mais l ordinateur ne r sout pas ces t ches Il les effectue vite et bien c est tout i Par ailleurs il est vident que lorsque la t che consiste gagner aux checs ou m me simplement gagner au tic tac toe nous sommes pr ts alors parler de probl me la plupart d entre nous sont d ailleurs incapables de r soudre ces probl mes de gagner a coup s r Que dire videmment dans ce cas du probl me de faire gagner l ordinateur aux checs I Si j insiste tellement ici sur cette distinction entre t che et probl me c est que j ai encore en m moire les yeux tonn s et le regard incr dule de mes premiers l ves et de mes coll gues non informaticiens qui je parlais du probl me sic de conjuguer l i
23. er en millim tres carr s le voile des jeunes pucelles musulmanes a peu de chances d acc der l intellect des ma tres de l picerie France Tant pis En attendant des jours meilleurs nous parlerons donc d autre chose B L A A N 67 Mars 2004 3 De Jacques Arsac Charles Duch teau Images pour programmer Jean Michel Knippel knippel up univ mrs fr Dans les ann es 1970 je commen ais mon chemin universitaire et je me souviens avoir crois les graphes de Nassi Shneiderman au cours d un expos de stage de la fili re Automatique Informatique Marseille Personne ne m avait parl de cela au cours de mes tudes informatiques Lyon J en arrive une trentaine d ann es plus tard la conclusion que ceci est une affaire de culture non pas informatique mais de culture g ographique Lors des ann es 1980 l universit me confia un cours d algorithmique je profitais de cette occasion pour int grer les graphes de Nassi Shneiderman dans mon enseignement Nous en reparlerons plus en d tail dans le num ro suivant du bulletin Je reviens sur cet aspect culturel je ne trouvais alors que fort peu de livres en fran ais int grant ces graphes en Belgique au Luxembourg et en Suisse Que se passe t il donc en France Dans les ann es 1990 je lisais l ouvrage puis et r dit sous forme de syllabus Charles Duch teau pr fac par Jacques Arsac Images pour programmer Apprendre les concepts de
24. es Le mot probl me charrie avec lui une aura de difficult d invention de recherche que ne m ritent absolument pas les t ches voqu es ci dessus On ne r sout pas le probl me de lancer un d Jusqu au moment o l on obtiendra trois 6 de suite on n analyse pas longuement le probl me consistant rep rer si un nom est oui ou non yse p g p P pr sent dans une liste tri e alphab tiquement On m objectera sans doute que s il s agissait de 20000 cartes trier ou du d compte des mots constituant les oeuvres compl tes d Emile Zola on se trouverait en face de vrais probl mes Qu il soit malais de trouver quelqu un pr t s atteler des t ches d aussi longue haleine et tellement fastidieuses c est vrai Mais ce n est pas la complexit des t ches voqu es qui est en cause Compter par exemple est une activit d bile compter beaucoup reste tout aussi idiot mais s av re en plus lassant reintant et accablant mais cela ne devient pas pour autant un probl me Si ces travaux taient bien pay s nul doute que les candidats s en d clarant capables ne manqueraient pas Combien en resterait il s il s agissait de fournir la solution de petits probl mes d arithm tique CeFIS FUNDP 2002 22 ao t 2002 un Ch Duch teau 10 I est faux de dire qu en programmation on r sout des probl mes ou m me que pour programmer il faut d abord bien analyser le probl me pos On s int resse l
25. es et les manipulations de donn es num riques sont par essence formelles Le processus d addition de deux nombres n a que faire du sens qui serait attach aux quantit s additionner 13 12 cela fait toujours 25 quelle que soit la signification associ e ces nombres qu il s agisse de poids de sommes d argent ou d ges L ordinateur manipulateur formel d informations va donc exceller lorsqu il s agira de traiter des donn es num riques Les op rations qu il effectuera ou plut t qu on lui fera effectuer seront d ailleurs similaires celles que nous r alisons propos des nombres les additionner les soustraire les comparer Je ne dis pas qu avant et apr s le traitement formel de nombres nous n attachons pas un sens aux donn es trait es mais la manipulation elle m me est ind pendante de cette signification II est exclu d avoir des tats d me lorsqu on additionne des nombres Le deuxi me ensemble de t ches correspond lui aussi m me si les informations trait es ne sont plus num riques des traitements formels trier chercher un num ro de t l phone classer sont des actions qui ne font appel qu la forme des donn es manipul es ANTOINE pr c dera toujours BENOIT dans un classement alphab tique et c est l apparence externe de ces pr noms qui permet d en d cider et non le fait que BENOIT est notre ami et ANTOINE un parfait inconnu videmment si dans cette liste de pr noms nous trouvons
26. es marches suivre qui vont le gouverner C est videmment toujours en fran ais qu ce stade les marches suivre seront con ues et exprim es Bien entendu on le verra elles n utiliseront pas toute la richesse d expression permise par notre langue nous y mettrons en vidence certains mots et en viterons CeFIS FUNDP 2002 22 ao t 2002 2 Ch Duch teau 18 d autres nous nous aiderons de graphismes bien choisis pour en montrer la structure Mais toujours nous veillerons d boucher sur une expression aussi compr hensible et claire que possible pour l tre humain qui serait amen en prendre connaissance Ainsi donc nous serons attentifs non seulement nous soumettre aux capacit s de l ex cutant commander mais aussi tenir compte de ceux qui voudront relire et comprendre la marche suivre r dig e 3 C est au cours de cette tape que nous nous aiderons d une m thode particuli re l approche descendante et structur e Il est trop t t pour d tailler le contenu de cette mani re de proc der j ajouterai simplement que l informatique a red couvert l une m thode aussi vieille que l humanit elle m me face un probl me on d coupe celui ci en sous probl mes plus ais s traiter puis ces derniers sont leur tour morcel s et ainsi de suite Cette attitude qui partira de la t che dans son int gralit et sa complexit pour descendre pas pas par affinements succes
27. etus et face saurtir sugg re sautoir ou saurait Par contre rien dans la phrase il faut pou voir se rencontrer n veille une r action de sa part puisque le mot pou est dans la liste des mots acceptables comme aussi le verbe voir Retenons donc que L ordinateur n est capable que de traitements formels d informations 4 Nous pourrons d l guer l ordinateur l ex cution de ces t ches de traitement formel d informations condition qu il dispose de la marche suivre qui le rende capable d effectuer ces t ches Et c est l une facette essentielle l ordinateur sans programme marche suivre explicative pour le gouverner n est capable de rien c est un principe fondamental TOUT ce que fait un ordinateur il le fait gouvern par une marche suivre un programme I3 Les deux points de vue possibles Sch matiquement on peut repr senter les choses de la mani re suivante 4 Les lecteurs int ress s par les d bats philosophiques sur forme et sens sur information et connaissance sur syntaxe et s mantique consulteront avec profit l excellent livre de Jacques ARSAC Les machines penser Cf 7 CeFIS FUNDP 2002 22 ao t 2002 i Ch Duch teau Utilisateur R sultats Sorties Donn es Entr es TRAITEMENT A Programmeur L utilisateur voit dans l ordinateur quip des programmes convenables qui le feront agir un
28. he d une voiture ou crire l algorithme pour la pr paration du caf ou r soudre le probl me consistant traverser une rue sans se faire craser par les voitures On y d signe comme des probl mes des activit s bien famili res On me r torquera qu il s agit de d crire la mani re dont on s y prend pour effectuer ces divers travaux Jusqu o alors pousser les explications et le d corticage En r alit ce qui est souhait c est qu on d crive les algorithmes ou marches suivre qui sous tendent chacune de ces t ches Mais dans ce cas les nonc s propos s sont notoirement incomplets puisqu on n a pas pr cis chaque fois les capacit s de l ex cutant qui on s adressera Que comprend et que peut faire l apprenti conducteur ou l ex cutant pi ton Sans pr cision suppl mentaire il est impossible de savoir jusqu o ces diverses t ches doivent tre diss qu es On devine d j qu avant d aborder l analyse du moindre probl me de programmation il faudra avoir dit quelles sont les caract ristiques de l ex cutant ordinateur sinon La d marche toute enti re est vici e il est impossible de faire faire quelque chose par un autre sans savoir ce dont il est capable 3 Les tapes du faire faire Nous savons pr sent que l ssentiel de ces notes a pour but de nous apprendre comment faire faire une t che de traitement formel d informations par un autre La t che faire r aliser est g
29. ient la traduction du programme et a fortiori son ex cution Mais ces erreurs de forme sont le plus souvent ais ment corrig es et ne remettent en tout cas pas en cause le contenu de la marche suivre elle m me on peut avoir exprim incorrectement des choses correctes Un tr s court exemple fera sans doute mieux saisir ces incoh rences Supposons un instant que la t che faire traiter par l ordinateur consiste conjuguer un verbe r gulier de la premi re conjugaison l indicatif pr sent Sans pr juger des capacit s de l ordinateur et sans entrer dans une formalisation de la marche suivre on pourrait penser des indications du genre de ce qui suit CeFIS FUNDP 2002 22 ao t 2002 Ch Duch teau 24 demande quel est le verbe conjuguer retire les deux derniers caract res de ce qu on t a fourni pour garder le radical cris je puis passe un blanc puis cris le radical auquel tu colles e en dessous cris tu un blanc puis le radical en y collant es puis il un blanc le radical et e etc Remarquons qu il s agit de traitements purement formels et que m me si je n ai encore rien dit de ce dont l ex cutant ordinateur est capable il s agit l du type de manipulation dont il est friand Ce n est qu une question de d tails que de savoir comment lui exprimer ce qui pr c de travers l un ou l autre langage compromis Une premi re surprise
30. le voit m me pour une t che simple il est indispensable de pr ciser ce qui est attendu ce quoi on s engage H est compl tement illusoire de croire qu on va pouvoir faire faire quelque chose par un autre si l on ne sait pas pr cis ment ce qu il faut faire faire 1H Cette tape du Quoi faire est en quelque sorte celle du cahier des charges celle de la recherche des sp cifications pour parler comme les informaticiens C est celle qui nous fera passer de la description floue de la t che sa description pr cise T che _____ y Faire faire ________ Ordinateur Description floue y Quoi faire V Description pr cise 1 On passe tr s souvent sous silence cette premi re tape dans les initiations la programmation C est fort dommage et cela donne en tout cas une id e compl tement tronqu e de ce que recouvre la d marche informatique d analyse et de programmation Les Ch Duch teau 22 ao t 2002 CeFIS FUNDP 2002 15 t ches qui seront abord es ici resteront videmment de petite taille et d une complexit fort raisonnable Je ne fournirai pas de grands principes m thodologiques permettant de guider la d marche sous jacente cette tape un jeu de questions et r ponses nous tiendra lieu de m thode Comme il s agira chaque fois de t ches consistant traiter des informations nous orienterons les questions dans trois directions les donn es
31. m t orologie est la science des thermom tres ou l astronomie celle des t lescopes Et bien l informatique n est pas plus la science des ordinateurs que l astronomie n est la science des t lescopes ou la m t orologie celle des thermom tres L ordinateur est un outil essentiel de l informatique comme le t lescope est un outil pour l astronome mais faire de l informatique c est bien plus et bien plus passionnant que conna tre et manipuler un ordinateur Cet ouvrage montrera je l esp re que les probl mes sont ailleurs que dans la connaissance et la ma trise d un ordinateur j aborderai fort peu les aspects techniques et dirai bien peu de choses de l int rieur de l ordinateur Pourtant m me s il sera rejet la p riph rie de nos pr occupations il me faut dire un mot de ce qu il est ne serait ce que pour pr ciser parmi les multiples facettes qui pourraient tre retenues celle sur laquelle je placerai un clairage particulier 1 Un ordinateur c est quoi 2 LI Une d finition Je ne tomberai pas dans le pi ge consistant proposer une d finition pr cise ou exhaustive de ce qu est un ordinateur parmi la multitude des choses qu on pourrait en dire je me contente de souligner celles que pour mon propos je souhaite placer en avant Un ordinateur c est une machine traiter des informations de mani re formelle pour autant qu on lui ait indiqu dans le d tail comment mener bien ce traitement
32. mmandes d un ordinateur fut il micro ou m me qu tre un sp cialiste de la syntaxe d un langage de programmation Et la programmation est bien plus cousine de l organisation des id es sous jacente l art de la dissertation qu la connaissance des r gles d accord du participe Il ne faudrait pas non plus me faire dire ce que je ne dis pas la connaissance des r gles syntaxiques et orthographiques d un langage de programmation est indispensable sinon jamais on ne pourra exprimer les marches suivre con ues dans une version assimilable par l ordinateur et faute de la ma trise de cette tape du Comment dire c est tout le processus qui est hypoth qu Mais ces connaissances grammaticales indispensables sont notoirement insuffisantes pour programmer correctement 4 2 Elles erreurs Dans l approche propos e ici qui privil gie les concepts plut t que les aspects techniques la programmation peut para tre premi re vue comme une activit relativement simple La r alit montre chaque jour qu il n en est rien et que fort souvent toute cette d marche d analyse d bouche sur des programmes incorrects l ex cutant ordinateur ne traite pas la t che de mani re satisfaisante En v rit nous ne la lui faisons pas traiter correctement Je ne parle pas ici des erreurs de syntaxe qui peuvent subsister dans le texte du programme exprim dans le langage de programmation J ai dit ci dessus que ces erreurs emp cha
33. n ralement anodine Le probl me vient de ce que celui qui nous souhaitons faire ex cuter ce travail n en est pas directement capable Il nous faut d cortiquer morceler la besogne en une succession d actions plus l mentaires correspondant aux capacit s de l ex cutant Ce d corticage ces explications s incarnent dans une marche suivre qui guidera son activit lorsque nous exigerons qu il effectue cette t che Sch matiquement le c ur du processus se d crit comme CeFIS FUNDP 2002 22 ao t 2002 LE Ch Duch teau 14 T che D Faire faire D Ordinateur Sur le chemin qui conduira de la t che son ex cution par l ordinateur plusieurs tapes sont indispensables Et d abord il faudra r pondre la question suivante 3 1 Quoi faire En effet la t che se pr sentera g n ralement d abord de mani re tr s floue Il sera donc primordial dans un premier temps d affiner sa description Ainsi face la besogne consistant crire un nombre en toutes lettres une s rie de questions viendront pr ciser ce qui doit tre fait De quelle taille seront les nombres crire Plus petits que cent Inf rieurs un million A un milliard Les nombres comporteront ils une partie d cimale Dans ce cas comment exprimer cette derni re Faut il les crire la belge septante huit ou a la francaise soixante dix huit Faut il les crire en majuscules En minuscules On
34. ndicatif pr sent un verbe r gulier du premier groupe ou du probl me plus compliqu resic de compter tous les mots comportant une lettre redoubl e dans un texte 2 2 Programmer c est faire faire Et pourtant chacune des t ches voqu es ci dessus va tout de m me donner lieu un r el probl me lorsque la programmation va s en m ler En effet il s agira chaque fois pour le programmeur non d ex cuter ces t ches lui m me ce qui le plus souvent n aurait aucun int r t et serait affreusement fastidieux mais de les faire ex cuter C est cela programmer II s agit non d tre capable de mener bien soi m me une t che donn e mais d expliquer un autre comment il doit s y prendre pour ex cuter cette t che notre place En quelque sorte PROGRAMMER c est FAIRE FAIRE Chacune des t ches d crites pose un v ritable probl me d s qu il s agit de la faire faire par un autre videmment la difficult d pend de mani re cruciale des possibilit s et des caract ristiques de cet autre Premi re difficult l ex cutant a des capacit s limit es S il s agissait d un tre humain lui faire ex cuter les diverses t ches voqu es exigerait seulement qu on lui dise rep re dans la s rie de nombres qu on va te fournir quel est le plus petit et le plus grand Ch Duch teau 22 ao t 2002 CeFIS FUNDP 2002 11 lis le texte et signale ensuite combien de fois le mot
35. nn as BULLETIN D INFORMATIQUE APPROFONDIE ET APPLICATIONS COMPUTATION INFORMATION COMITE SCIENTIFIQUE N 67 MARS 2004 Patrick Abellard Francoise Adreit Jalal Almhana France Chappaz M hamed Charifi Roger Cusin Bernard Goossens Patrick Isoardi Robert Jacquier Jean Philippe Lehmann Nadia Mesli 1 EDITORIAL Informatique et politique Patrick Sanchez par Edmond Bianco Rolland Stutzmann Andr Tricot 3 De Jacques Arsac Charles Duch teau Images pour programmer CORRESPONDANTS par Jean Michel Knippel Afrique Mohamed Tayeb Laskri 5 Images pour programmer Am riques programmer Sylvie Monjal par Charles Duch teau Asie Moussa HadjAli 27 VOUZZAVEDIBISAR Europe Les Gaullicoquins et les Grapurinades Jos Rouillard par Edmond Bianco Oc anie Kalina Yacef http scamup univ mrs fr biaa Publication trimestrielle gratuite de l Universit de Provence D p t l gal janvier 2004 ISSN 0291 5413 BULLETIN D INFORMATIQUE APPROFONDIE ET APPLICATIONS DIRECTEUR Jean Michel Knippel REDACTEUR EN CHEF Edmond Bianco REDACTEUR ADJOINT Sami Hilala SECRETARIAT Kalassoumi Adjilani Universit de Provence Equipe Herm s Case 33 3 place Victor Hugo F 13331 Marseille Cedex 3 T l phone 0 4 91 10 62 30 T l copie 0 4 91 50 91 10 DEPOSITAIRE Universit de Provence Biblioth que Vniversitaire 1 place Victor Hugo F 13331 Marseille Cedex 3 T l phone 0 4 91 10 85
36. nque des langages de programmation cit s ci dessus c est pour cela qu une traduction est indispensable J ajouterai simplement que comme toujours si l ordinateur para t capable de traduire un texte qui lui est fourni dans l un ou l autre langage de programmation c est qu il est alors gouvern par un programme qui lui explique comment effectuer cette traduction Ainsi d s que je dispose pour un ordinateur donn du programme qui va lui faire faire la traduction de tel langage vers le sien je peux m exprimer dans ce langage L impression que donne parfois l ordinateur d tre polyglotte puisque la m me machine va accepter des programmes r dig s en Basic en Pascal en Fortran cache en r alit l existence pour chacun de ces langages du programme de traduction correspondant Ces programmes particuliers capables de faire effectuer par l ordinateur ces traductions s appellent des compilateurs ou des interpr teurs 3 Pourquoi ne pas avoir directement exprim la marche suivre dans ce langage compromis Les deux tapes du Comment faire faire et du Comment dire se trouveraient alors confondues L avantage para t vident nous nous exprimons d embl e sous une forme qui peut tre comprise par l ex cutant ordinateur Trois arguments essentiels s opposent cette vision simpliste La r daction d une marche suivre dans l un ou l autre langage de programmation si elle convient parfaitement l ordina
37. ois conduira de la t che son ex cution par l ordinateur Ce n est ni simple ni rapide mais c est cela programmer 4 Quelques commentaires 4 1 Eviter la confusion des genres Je suis de cette g n ration de ceux qui font de l informatique sans tre informaticien sans avoir re u une formation d informaticien Mon seul contact avec le monde de l informatique au cours de mes tudes de math matique a t une visite du centre de calcul de l universit j en ai seulement retenu le bruit et la rapidit des normes imprimantes Plus tard quand j ai eu besoin d utiliser l ordinateur essentiellement pour calculer on m a dit mais c est bien simple il suffit de trois jours de FORTRAN ce que j ai cru Et pendant 10 ans j ai pens que programmer c tait crire des choses en FORTRAN et simultan ment j ai constat que si j crivais de tels programmes c tait essentiellement pour les corriger puis pour corriger les version corrig es etc et non comme on pourrait le croire pour faire faire des choses par un ordinateur J ai donc v cu de l int rieur cette poque o face une t che d crite de mani re tr s floue le r flexe tait de sortir les feuilles sp ciales destin es recevoir les textes des programmes Ch Duch teau 22 ao t 2002 CeFIS FUNDP 2002 23 FORTRAN puis 4 courir aux perforatrices pour confectionner le paquet de cartes perfor es correspondant et plein de
38. outil outil pour composer modifier et pr senter du texte outil pour calculer des trajectoires balistiques outil pour g rer les op rations d emprunt de livres dans une biblioth que outil pour dessiner L objectif c est alors d apprendre se servir au mieux de l outil adapt une t che donn e la demande exprim e par l utilisateur potentiel c est apprenez moi le mode d emploi de tel outil Ce qui l int resse c est essentiellement quelles donn es dois je fournir et quels r sultats suis je alors en droit d attendre apr s le traitement qui y sera appliqu Pour le reste l ordinateur quip du programme logiciel qui le gouverne pendant l utilisation c est une bo te noire ll est important de noter que ce que j appelle outil c est le tandem ordinateur programme Un ordinateur nu n est capable de rien Cf le principe nonc ci dessus L outil c est l ordinateur gouvern par le logiciel de traitement de texte ou l ordinateur conduit par le logiciel de gestion de biblioth que l ordinateur quip du programme de calcul etc En r sum ordinateur pour l utilisateur outil programme Le programmeur ou plut t l analyste programmeur s int resse d abord au traitement proprement dit Pour lui l ordinateur est d abord un ex cutant qui il va devoir fournir la marche suivre programme expliquant le traitement effectuer L accent est alors tr s nettement plac sur la t che de t
39. r Deuxi me difficult on fait faire en diff r Programmer c est faire faire Ce faire faire n est cependant pas un faire faire en direct On ne nous permettra malheureusement pas d tre aux c t s du cuisinier d butant pendant sa prestation pour lui fournir les indications n cessaires Nous pourrions dans ce cas r agir ses actions ajuster nos explications rectifier le d roulement de l ex cution CeFIS FUNDP 2002 22 ao t 2002 ae Ch Duch teau 12 Ce qui sera permis c est seulement de fournir la recette l apprenti cuisinier nous serons ensuite forc s de le laisser seul aux prises avec la confection de la blanquette de veau sans aucune possibilit de modifier des instructions inad quates ou insuffisantes sans pouvoir intervenir dans l ex cution TOUT doit tre pr vu dans la recette congue rien ne doit tre laiss l appr ciation de l ex cutant Il n est capable d aucune initiative tout au plus dans le cas d une recette incorrecte son activit s interrompra ou d bouchera sur un plat immangeable et qui n aura plus que de lointains rapports avec la blanquette de veau qu on souhaitait initialement faire confectionner Lorsqu il s agit d indiquer quelqu un comment il peut parvenir en voiture jusque chez moi cela ne pose aucun probl me lorsque je suis assis c t du conducteur pour lui donner en direct toutes les instructions n cessaires Mais s il s agit de lui expliq
40. raitement d informations qu on souhaite faire faire par l ordinateur La programmation c est essentiellement la cr ation et la conception des outils logiciels qui seront utilis s par d autres L ordinateur cesse ici d tre une bo te noire Ce qui ne signifie nullement qu on se passionne pour la quincaillerie hardware lectronique qui le constitue on y voit non un ensemble de circuits int gr s ou de portes logiques mais travers le langage de programmation qui va le transfigurer Cf plus loin un ex cutant capable d un certain nombre de traitements l mentaires et formels d informations Ces deux perspectives d bouchent videmment sur des clairages fort diff rents de l ordinateur outil lorsqu il est quip du programme ad quat pour l utilisateur ex cutant pour qui il faut d cortiquer une t che afin de lui indiquer le traitement effectuer pour le programmeur Ch Duch teau 22 ao t 2002 CeFIS FUNDP 2002 Autrement dit on peut soit s int resser ce dont l ordinateur para t capable quand il est quip du logiciel ad hoc soit au probl me de le rendre capable de ces activit s en concevant pour lui les programmes lui expliquant le traitement ex cuter De ces deux approches possibles du monde des ordinateurs c est la seconde qui sera retenue et d velopp e dans ces pages qu est ce que programmer quelles sont les r gles qui gouvernent la conception des marches sui
41. re au jour les strat gies employ es comment face la t che pr cis e su er nous y prenons nous Il y a malheureusement un monde entre tre capable de et pouvoir expliquer comment on s y prend pour Solving a problem gives you the solution Knowing how you solved the problem gives you 2 program M JAMES dans 43 Cette petite phrase illustre bien toute la distance existant entre la capacit d effectuer une t che et la conscience qu on a des strat gies mises en oeuvre pour y parvenir Si je vous demande d expliquer comment vous vous y prenez pour trier un petit paquet de cartes dans le d sordre il est inutile que vous recommenciez nouveau l op ration sous pr texte que j ai mal vu Je sais fort bien que vous pouvez trier ce paquet de cartes et il ne sert rien de le faire et le refaire ce que j attends c est que vous expliquiez compl tement et dans le d tail comment vous proc dez que vous mettiez au jour les strat gies employ es C est ici qu il faut tre capable de faire le petit pas en arri re qui permet de se regarder faire c est ici qu il faut en quelque sorte quitter son r le d acteur pour adopter celui de metteur en sc ne 1 M me pour des t ches anodines Comme proc der l addition crite de deux nombres ou compter les points au tennis il n est pas simple d indiquer les strat gies employ es Et les t ches pour lesquelles nous avons le plus de mal mettre au jour ces str
42. rs lesquelles les humains communiquent entre eux Le vocabulaire de ces langages est tr s pauvre les r gles de grammaire qui les gouvernent sont arbitraires et heureusement peu nombreuses Mais il nous faudra imp rativement les respecter si nous souhaitons tre compris par l ex cutant ordinateur 2 Inutile de souligner que ces divers langages ne sont pas les n tres Aucun n est d ailleurs non plus vraiment celui de l ordinateur On peut donc parler de langage compromis puisque ayant choisi un langage de programmation je ferai l effort d y exprimer mes marches suivre et que par ailleurs l ordinateur acceptera que je m adresse lui dans ce langage qui n est pas vraiment le sien C est dire qu en tout cas du point de vue de l ordinateur une traduction restera indispensable Mais heureusement c est lui qui s en chargera Ainsi chacun y met du sien j accepte d exprimer mes marches suivre dans un langage qui n est pas le mien et l ordinateur dont ce n est pas non plus le langage naturel accepte de se charger de la traduction pour d boucher sur une version qui enfin sera la sienne et qu il pourra ex cuter Mon objectif n est videmment pas ici d entrer dans des d tails techniques propos de ces probl mes Il faut cependant savoir que le seul langage compr hensible par l ordinateur ou plus pr cis ment par le processeur qui en est le c ur ou le cerveau est le langage machine et non l un quelco
43. s es viendront de deux horizons Certaines seront motiv es par la t che elle m me dont il faut affiner la description ind pendamment du fait qu il faille ou non la faire traiter par un ordinateur Ce sont les questions que nous poserions de toute mani re si l on nous demandait d effectuer la t che nous m mes CeFIS FUNDP 2002 22 ao t 2002 Lo Ch Duch teau 16 D autres pr cisions sont exig es parce qu il s agira de faire faire les choses par l ordinateur Ainsi dans l exemple de l criture des nombres en toutes lettres il est imp ratif de savoir dans le cas o les nombres crire comportent une partie d cimale si cette derni re sera annonc e par une virgule comme en fran ais ou par un point comme les anglo saxons Ce qui n est qu un d tail futile auquel nous ne penserions m me pas s il s agissait d crire les nombres nous m mes devient important parce qu il va s agir de les faire crire l ex cutant ordinateur pr f rant souvent alors le point la virgule Cette deuxi me cat gorie de questions est bien entendu la plus difficile d couvrir pour le d butant puisqu elle postule qu on connaisse bien les caract ristiques de l ex cutant ordinateur qui va les motiver A l issue de cette premi re tape le cahier des charges est tabli nous savons alors avec pr cision ce qu il faut faire faire L tape suivante est videmment celle du 3 2 Comment faire Il s agit ici de mett
44. s marches suivre concevoir sera un robot Dans ce cas les exigences de pr cision de chasse aux implicites d exhaustivit seront pratiquement inhumaines Ch Duch teau 22 ao t 2002 CeFIS FUNDP 2002 13 lf est un point cependant o le caract re born de l ex cutant robot est int ressant et m me indispensable On comprend ais ment que pour qu un probl me de programmation soit correctement pos il faut disposer non seulement de la description pr cise de la t che faire effectuer mais aussi de celle de l ex cutant qui on la destine C est dire qu il faut conna tre compl tement et pr cis ment tout ce dont ce dernier est capable c est possible pour un robot aux actions limit es mais non pour un tre humain Ainsi concevoir une marche suivre destin e un humain est un exercice p rilleux puisque ne disposant pas d un portrait complet de ses possibilit s nous ne saurons jamais avec certitude a priori si nos consignes sont insuffisantes ou in tilement d taill es Je voudrais revenir et insister sur le fait que pour qu un probl me soit bien pos en programmation il faut non seulement que la t che qu il va falloir faire faire soit compl tement pr cis e mais encore que l ex cutant qui je devrai fournir les consignes explicatives soit parfaitement d fini On propose pourtant fr quemment aux d butants des nonc s du type analyser le probl me de la mise en marc
45. sifs vers les actions l mentaires que nous pouvons exiger de l ex cutant s incarnera et se formalisera ici tout au long de l apprentissage propos Le sch ma se compl te donc comme suit T che _________ Fairefaire ____ Ordinateur Description floue Quoi faire Description pr cise V Comment faire Strat gies Comment faire faire s gt Marche suivre 3 4 Comment dire Nous disposons pr sent sous l une ou l autre forme Cf Chapitre 2 de la marche suivre suffisante pour que s y conformant l ex cutant ordinateur effectue la t che d crite Malheureusement l attention que nous aurons port e rendre cette marche suivre ais ment lisible par d autres aura g n ralement conduit l crire ou m me la dessiner sous une forme qui ne convient pas l ordinateur Il va pr sent falloir l exprimer dans un langage particulier compr hensible par l ordinateur dans un langage de programmation 5 On pourra consulter le chapitre 2 Diviser pour r gner du second tome de Images pour programmer Ch Duchateau 22 ao t 2002 CeFIS FUNDP 2002 19 1 Ces langages de programmation sont nombreux vous connaissez sans doute Basic ou Pascal Logo Fortran Cobol Il en existe des dizaines sinon des centaines Dans chaque cas il s agit bien d un langage construit de toutes pi ces et non d une langue comme celles trave
46. te ou born quand nous nous int ressens lui travers la programmation nous serions par ailleurs tent de le qualifier d efficace et parfois m me d intelligent quand nous posons sur lui un regard d utilisateur C est que dans ce dernier cas il est videmment transfigur par les indications le programme qui lui pr cisent comment traiter aussi intelligemment les t ches consid r es L une et l autre de ces attitudes sont sans fondement r el il n y a gu re plus de sens de parler d un ordinateur born qu pr tendre que ma tondeuse gazon est d courag e et il est aussi inad quat de le qualifier d intelligent que de parler d une lessiveuse capricieuse ou d une b che courageuse Le probl me en programmation ce sera donc face d une part une t che m me nous apparaissant comme simple et face d autre part un ex cutant aux capacit s limit es l ordinateur d expliquer ce dernier comment effectuer cette t che notre place Le probl me ne r side pas en g n ral dans Ja tache qui sert de point de d part mais dans le fait que nous devrons la faire effectuer par un ex cutant qui initialement n en est pas capable La difficult est donc de lui fournir les indications n cessaires pour que s y conformant il paraisse capable de mener cette t che bien Programmer est donc un verbe rapprocher plut t d expliquer de d cortiquer de d plier d plier ex plique
47. teur est assez loign e de notre mani re de nous exprimer N oublions pas que ces marches suivre si elles sont bien destin es commander un ordinateur devront aussi pouvoir tre relues par un tre humain y compris par celui qui les a con ues Il est donc pr f rable que la forme adopt e permette une lecture et une compr hension les plus ais es possible Ce sera le cas pour la pr sentation adopt e l issue de l tape du Comment faire faire ce le sera 6 Rappelez vous la b che courageuse CeFIS FUNDP 2002 22 ao t 2002 i Ch Duch teau 20 beaucoup moins lorsque la marche A suivre aura pris la forme d un programme oblig de respecter toutes les r gles syntaxiques et orthographiques impos es par le langage de programmation Il est pr f rable de m ler le moins possible les difficult s de conception de la marche suivre qui sont on le verra consid rables avec celles inh rentes au respect de la syntaxe du langage de programmation Il est comme toujours pr f rable de morceler les difficult s que de les aborder ensemble Surtout le mode d expression retenu pour les marches suivre tr s largement ind pendant du langage de programmation choisi pourra donc tre adapt plusieurs de ces langages En effet le portrait que je tracerai de l ex cutant ordinateur restera pratiquement identique quel que soit le langage dans lequel je finirai par devoir m adresser lui
48. tique est plus performant et plus rapide d acquisition pour le montage des chaussures de sport ou toute autre fabrication de haut niveau qui se vend sur les march s des foires Ne faut il pas lutter contre la d localisation Autant le faire avec les m mes armes N oublions pas que ce qui co te cher c est la main d uvre Aussi pr parons nous fabriquer de la bonne main d uvre bon march qui on aura au pr alable t toute vell it d acc s une improbable culture par ailleurs tout fait inutile pour concurrencer les petits enfants hindous ou les va nu pieds du quint monde B I A A N 67 Mars 2004 La soci t volue il est normal qu une soci t d anciens petits boutiquiers soit dirig e par un grand satrape La fine troitesse de la profession un sous c est un sou n est ce pas se doit d tre compens e par l ouverture de petits fastes entre amis de m me classe La poussi re surann e de l arri re boutique oblige quelque peu se d tendre de temps en temps en des lupanars au luxe de clinquant Peep show priv s et eyes wide shut usage de ch teaux r serv s Encore doutes je que le grand Satrape invite souvent sa table le petit bossu de la rue Quinquempoix Autant qu il existe une France d en Haut et une France d en Bas commence merger une autre subdivision de cette malheureuse nation la France des piciers et la France des into
49. u 27 VOUZZAVEDIBISAR Les Gaullicoquins et les Grapurinades Edmond Bianco Les chevaliers de l Intelligence de la Gaullicoquie d En bas mont rent une jacquerie qui menacait de s tendre tout ce qui se comptait comme membre de ladite Intelligence Alors le Premier Sinistre Grapurin arm de sa plus belle voix grelottante de courroux fit une belle Grapurinade devant les tranges lucarnes On le vit tel l Esprit d Aladin bondissant hors de sa lampe magique pr t crever l cran la main droite contract e en grappin comme pour soulever des montagnes et la main gauche virevoltant gracieusement autour de son minois verrouill tandis que son verbe roul comme par un vieil acteur du Frangais ructait avec force L Intelligence de la main a existe aussi et en plus elle passe par le ceeur Cela voulut il dire que les Intelligents d en bas n obtiendraient pas un sou de plus Myst re Pendant ce temps l une immense catastrophe continuait peser sur la Gaullicoquie C est pour le moins ce qu en d clarait le Baron de la Cadi re chaque fois qu un journaliste lui demandait son avis ou bien qu il rencontrait son ami Grapurin c est dir souvent En fait les causes en taient doubles d abord les trente cinq heures et aussi le trop de s curit des travailleurs qui semblables des fonctionnaires prenaient leurs responsabilit s trop l aise Tout cela tant
50. uchables cette derni re tant par essence taillable et corv able 4 merci Il me paraissait important travaillant dans cette branche l informatique au d veloppement si rapide et l importance d sormais tellement fondamentale de r fl chir l impact de ses applications sur la soci t et d en discuter les cons quences On pouvait dire par exemple que les choix politiques son propos n avaient pas t les meilleurs Les politiciens au pouvoir n avaient pas compris grand chose aux immenses possibilit s de ce prolongement appliqu des math matiques conseill s qu ils avaient t par des rat s de la profession On pouvait dire que d finie au d part comme une big science par certains et comme un ornement publicitaire par d autres on a laiss la richesse naturelle de d veloppement tomber rapidement entre les mains des marchands de tapis et de soupe en gros Ii y a peu encore on pouvait exprimer des avis amorces ventuelles de discussions susceptibles d int resser des gens plus li s l int r t g n ral qu l engraissement des holdings d outre Atlantique qui verrouillent le d veloppement de l informatique On pouvait encore regretter ceci ou pousser au d veloppement de cela D sormais ce qui d passe un peu l importance du prix du papier de toilette o l innovation en terme de contr le de la vitesse sur les routes voire le calcul du maximum de surface que doit comport
51. uer l avance comment se rendre seul chez moi ceci n cessite alors beaucoup plus de soin et de rigueur fournir la marche suivre qui lui permettra d arriver coup s r est bien compliqu surtout s il est born au point de ne pas savoir lire une carte et m oblige ainsi transcrire par crit toutes les indications indispensables Programmer c est donc r diger ne marche suivre pour faire faire une t che par un ex cutant aux capacit s limit es Je pr f re le terme marche suivre celui plus classique d algorithme D abord la coloration de ce dernier est fort math matique la plupart des gens pensent a tort que le mot algorithme entretient d troits rapports avec logarithme Ensuite il laisse davantage dans l ombre me semble t il la n cessit d avoir pr cis l ex cutant On pourrait aussi parler d ensemble de consignes de s rie d indications ou d instructions De toute mani re ce concept de marche suivre sera bient t affin et plus compl tement abord puisque le chapitre 2 tout entier y est consacr Le probl me c est donc d tre capable de morceler une t che complexe si on la compare aux possibilit s de l ex cutant ordinateur en une succession de t ches plus l mentaires dont l ex cutant est capable Il faudra organiser la succession de ces derni res pour que les effectuant dans l ordre indiqu l ex cutant ait finalement accompli la t che complexe initi
52. us y prenons sans les avoir compl tement d pli s d pli ex pliqu La programmation oblige cette prise de distance o l on se voit dux prises avec la t che et o l on prend conscience de sa strat gie Pour faire faire il faut d abord mettre plat son savoir faire C est un apprentissage extr mement exigeant et difficile que celui de cette chasse sans piti aux implicites aux flous aux peu pr s Le chemin qui conduit de la t che son ex cution par l ordinateur s enrichit donc d une tape suppl mentaire T che gt Faire faire p Ordinateur Description floue Quoi faire Description pr cise y Comment faire Strat gies Comment faire faire Voici l tape cruciale et absolument neuve c est celle o sur base de la description pr cise de la t che et s appuyant sur les strat gies de traitement mises au jour nous allons r diger la marche suivre destin e l ex cutant ordinateur 1 C est bien entendu ici que la connaissance des capacit s de cet ex cutant devient indispensable c est seulement en sachant ce qu il peut comprendre et faire que la r daction d une marche suivre prend un sens On verra que si le chapitre 2 pr cise les r gles de conception et d criture de toute marche suivre le chapitre 3 r pond la question Qui est l ex cutant ordinateur C est seulement apr s avoir trac son portrait que nous pourrons r diger les premi r
53. vre qui nourriront l ordinateur comment d cortiquer une t che pour la faire ex cuter 2 Programmer 2 1 T che ou probl me Aux exemples de traitements formels d informations signal s plus haut on pourrait en ajouter bien d autres comme tre capable de rep rer dans une s rie de nombres quel est le plus petit et le plus grand lire un texte et signaler ensuite combien de fois le mot et s y trouve jeter un d jusqu ce que le 6 apparaisse pour la troisi me fois et annoncer alors combien de fois il a fallu jeter le d pour cela crire un nombre en chiffres romains d composer une somme d argent en coupures en minimisant le nombre de celles ci Je pourrais et de beaucoup allonger cette liste Mais chaque fois les activit s voqu es constituent des taches souvent fastidieuses mais en tout cas d une simplicit remarquable Je n ai jamais rencontr personne qui face au travail consistant a trier 20 cartes fournies dans le d sordre ait demand un long d lai de r flexion ou s en soit d clar incapable Que dire alors de l activit consistant additionner deux nombres par calcul crit ou compter les mots d un texte Tous ces exemples d crivent des t ches souvent l mentaires parfois franchement risibles tant elles paraissent d nu es de cr ativit et de la moindre r flexion En tout cas personne n est pr t qualifier de probl mes ces travaux rudimentair
54. xemple en recommen ant une phase d dition de ce texte pour le modifier en y corrigeant la ou les erreurs ayant provoqu la fin pr matur e de la traduction Ce cycle compilation dition se poursuit tout le temps que des erreurs subsistent Il peut tre fort long si le programmeur est peu soigneux distrait ou irrespectueux des r gles d criture prescrites par le langage de programmation adopt A l issue de ces p rip ties on finit en g n ral par terminer victorieusement l tape de traduction et on se trouve alors avec en m moire la version traduite du texte on appelle parfois version objet ou version code le r sultat de la compilation r ussie pour la distinguer de la version texte ou version sujet celle exprim e dans le langage de programmation Il reste videmment si on le souhaite sauver sur support m moire externe cette version directement ex cutable de la marche suivre 4 Disposant maintenant de cette version l tape suivante consiste videmment demander enfin l ex cution de la marche suivre l ordinateur se laisse alors gouverner par la version traduite de cette derni re et effectue les traitements souhait s du moins quand tout se passe bien C est en effet au cours de cette tape qu on d couvre les erreurs de conception les incoh rences bref ce qu on d signe souvent sous le vocable d erreurs de logique Cf plus loin Cette derni re tape ach ve la longue marche qui chaque f

Download Pdf Manuals

image

Related Search

Related Contents

R:\Documentacio\Catalegs\Fulls  Bimestriel du TENNIS CLUB Hastière Tenhas n° 17 de janvier 2008  第3 水稲施肥基準(PDF:1290KB)  CA ARCserve Backup für UNIX Agent für Oracle Benutzerhandbuch    Red Hat Version4.1 User's Manual  

Copyright © All rights reserved.
Failed to retrieve file