Вы находитесь на странице: 1из 8

Introduction

la source dun programme


Aujourdhui, lordinateur est un objet courant qui est aussi bien capable dimprimer les factures des clients dun magasin doutillage que danalyser des molcules chimiques trs complexes. Bien videmment, ce nest pas la machine-ordinateur en tant que telle qui possde toutes ces facults, mais les applications ou encore les logiciels installs sur celle-ci. Pour mettre une facture, lutilisateur doit faire appel une application spcique de facturation. Pour tudier des molcules, les chercheurs utilisent des logiciels scientiques trs labors. Un ordinateur sans programme na aucune utilit. Seul le programme fait de lordinateur un objet intelligent , traitant linformation de faon en extraire des valeurs pertinentes selon son objectif nal. Ainsi, crer un programme, une application, cest apporter de lesprit lordinateur. Pour que cet esprit donne sa pleine mesure, il est certes ncessaire de bien connatre le langage des ordinateurs, mais surtout, il est indispensable de savoir programmer. La programmation est lart danalyser un problme an den extraire la marche suivre, lalgorithme susceptible de rsoudre ce problme. Cest pourquoi ce chapitre commence par aborder la notion dalgorithme. partir dun exemple, tir de la vie courante, nous dterminerons les tapes essentielles llaboration dun programme ( Construire un algorithme ). la section suivante, Quest-ce quun ordinateur ? , nous examinerons le rle et le fonctionnement de lordinateur dans le passage de lalgorithme au programme. Nous tudierons ensuite, travers un exemple simple, comment crire un programme en ActionScript 3 et comment lexcuter ( Un premier programme en ActionScript 3 ). Enn, dans la section Lenvironnement de programmation Flash , nous donnons un aperu dtaill de linterface de Flash CS3 et Flash CS4/CS5, base ncessaire pour crire des programmes en ActionScript 3.

user 189 at Thu Jul 29 09:57:27 +0200 2010

Apprendre programmer en ActionScript 3

Construire un algorithme
Un programme est crit avec lintention de rsoudre une problmatique telle que stocker des informations relatives un client, imprimer une facture ou encore calculer des statistiques an de prvoir le temps quil fera dans 2, 3 ou 5 jours. Un ordinateur sait calculer, compter, trier ou rechercher linformation dans la mesure o un programmeur lui a donn les ordres excuter et la marche suivre pour arriver au rsultat. Cette dmarche sappelle un algorithme . Dterminer un algorithme, cest trouver un cheminement de tches fournir lordinateur pour quil les excute. Voyons comment sy prendre pour le construire.

Ne faire quune seule chose la fois


Avant de raliser une application concrte, telle que celle propose en projet dans cet ouvrage (voir chapitre 1 Traiter les donnes , section Le projet mini site ), ncessairement complexe par la diversit des actions quelle doit raliser, simplions-nous la tche en ne cherchant rsoudre quun problme la fois. Considrons que crer une application, cest dcomposer cette dernire en plusieurs sous-applications qui, leur tour, se dcomposent en micro-applications, jusqu descendre au niveau le plus lmentaire. Cette dmarche est appele analyse descendante . Elle est le principe de base de toute construction algorithmique. Pour bien comprendre cette dmarche, penchons-nous sur un problme rel et simple rsoudre : Comment cuire un uf la coque ? .

Exemple : lalgorithme de luf la coque


Construire un algorithme, cest avant tout analyser lnonc du problme an de dnir lensemble des objets manipuler pour obtenir un rsultat.
Dnition des objets manipuls

Analysons lnonc suivant :


Comment cuire un uf la coque?

Chaque mot a son importance. Ainsi, la coque est aussi important que uf . Le terme la coque implique que lon doit pouvoir mesurer le temps avec prcision. Notons que tous les ingrdients et ustensiles ncessaires ne sont pas cits dans lnonc. En particulier, nous ne savons pas si nous disposons dune plaque de feu au gaz ou llectricit. Pour rsoudre notre problme, nous devons prendre certaines dcisions. Ces dernires vont avoir une inuence sur lallure gnrale de notre algorithme. Supposons que pour cuire notre uf nous soyons en possession des ustensiles et ingrdients suivants :
casserole plaque lectrique

user 189 at Thu Jul 29 09:57:27 +0200 2010

Introduction

eau uf coquetier minuteur lectricit table cuillre

En xant la liste des ingrdients et des ustensiles, nous dnissons un environnement, une base de travail. Nous sommes ainsi en mesure dtablir une liste de toutes les actions mener pour rsoudre le problme, et de construire la marche suivre permettant de cuire notre uf.
Liste des oprations
Verser leau dans la casserole, faire bouillir leau. Prendre la casserole, luf, de leau, le minuteur, le coquetier, la cuillre. Allumer ou teindre la plaque lectrique. Attendre que le minuteur sonne. Mettre le minuteur sur 3 minutes. Poser la casserole sur la plaque, le coquetier, le minuteur sur la table, luf dans la casserole, luf dans le coquetier.

Cette numration est une description de toutes les actions ncessaires la cuisson dun uf. Chaque action est un fragment du problme donn et ne peut plus tre dcoupe. Chaque action est lmentaire par rapport lenvironnement que nous nous sommes donn. En dnissant lensemble des actions possibles, nous crons un langage minimal qui nous permet de cuire luf. Ce langage est compos de verbes (Prendre, Poser, Verser, Faire, Attendre) et dobjets (uf, Eau, Casserole, Coquetier). La taille du langage, cest--dire le nombre de mots quil renferme, est dtermine par lenvironnement. Pour cet exemple, nous avons, en prcisant les hypothses, volontairement choisi un environnement restreint. Nous aurions pu dcrire des tches comme prendre un contrat daccs lnergie lectrique ou lever une poule pondeuse , mais elles ne sont pas utiles notre objectif pdagogique.
Question Quelle serait la liste des oprations si lon dcidait de faire un uf poch ? Rponse Les oprations seraient :

Prendre du sel, du vinaigre, une assiette. Verser le sel, le vinaigre dans leau. Casser luf et le verser dans leau. Retirer luf avec la cuillre.
Il est inutile de prendre un coquetier.

user 189 at Thu Jul 29 09:57:27 +0200 2010

Apprendre programmer en ActionScript 3

Ordonner la liste des oprations

Telle que nous lavons dcrite, la liste des oprations ne nous permet pas encore de faire cuire notre uf. En suivant cette liste, tout y est, mais dans le dsordre. Pour raliser cette fameuse recette, nous devons ordonner la liste.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Prendre une casserole. Verser leau du robinet dans la casserole. Poser la casserole sur la plaque lectrique. Allumer la plaque lectrique. Faire bouillir leau. Prendre luf. Placer luf dans la casserole. Prendre le minuteur. Mettre le minuteur sur 3 minutes. Prendre un coquetier. Poser le coquetier sur la table. Attendre que le minuteur sonne. teindre la plaque lectrique. Prendre une cuillre. Retirer luf de la casserole laide de la cuillre. Poser luf dans le coquetier.

Lexcution de lensemble ordonn de ces tches nous permet maintenant dobtenir un uf la coque.
Remarque Lordre dexcution de cette marche suivre est important. En effet, si lutilisateur ralise lopration 12 (Attendre que le minuteur sonne) avant lopration 9 (Mettre le minuteur sur 3 minutes), le rsultat est sensiblement diffrent. La marche suivre ainsi dsordonne risque dempcher la bonne cuisson de notre uf.

Cet exemple tir de la vie courante montre que pour rsoudre un problme, il est essentiel de dnir les objets utiliss, puis de trouver la suite logique de tous les ordres ncessaires la rsolution dudit problme.
Question O placer les oprations supplmentaires, dans la liste ordonne, pour faire un uf poch ? Rponse Les oprations sinsrent dans la liste prcdente de la faon suivante : Entre les lignes 3 et 4,

Prendre le sel et le verser dans leau. Prendre le vinaigre et le verser dans leau.

user 189 at Thu Jul 29 09:57:27 +0200 2010

Introduction

remplacer la ligne 7 par :

Casser luf et le verser dans leau.


remplacer les lignes 10 et 11 par :

Prendre une assiette. Poser lassiette sur la table.


remplacer la ligne 16 par :

Poser luf dans lassiette.

Vers une mthode


La tche consistant dcrire comment rsoudre un problme nest pas simple. Elle dpend en partie du niveau de difcult du problme et rclame un savoir-faire : la faon de procder pour dcouper un problme en actions lmentaires. Pour aborder dans les meilleures conditions possibles la tche difcile dlaboration dun algorithme, nous devons tout dabord : dterminer les objets utiles la rsolution du problme ; construire et ordonner la liste de toutes les actions ncessaires cette rsolution. Pour cela, il est ncessaire : danalyser en dtail la tche rsoudre ; de fractionner le problme en actions distinctes et lmentaires. Ce fractionnement est ralis en tenant compte du choix des hypothses de travail. Ces hypothses imposent un ensemble de contraintes qui permettent de savoir si laction dcrite est lmentaire et peut ne plus tre dcoupe. Cela fait, nous avons construit un algorithme.

Et du point de vue de lobjet


La programmation et par consquent llaboration des algorithmes sous-jacents, seffectuent aujourdhui en mode objet. Il sagit toujours de construire des algorithmes et dlaborer des marches suivre, mais avec pour principe fondamental dassocier les actions (dcrites dans la liste des oprations) aux objets (dnis dans la liste des objets manipuls) de faon beaucoup plus stricte quen simple programmation. Ainsi, une action est dnie pour un type dobjet.

user 189 at Thu Jul 29 09:57:27 +0200 2010

Apprendre programmer en ActionScript 3

Reprenons par exemple le minuteur dans la liste des objets utiliss pour cuire notre uf la coque. En programmation objet, la liste des oprations concernant le minuteur peut scrire :
Minuteur_prendre Minuteur_initialiser Minuteur_sonner

Les termes prendre, initialiser et sonner reprsentent des blocs dinstructions qui dcrivent comment raliser laction demande. Ces actions sont accomplies uniquement si elles sont appliques lobjet minuteur. Ainsi, par exemple, linstruction uf_sonner ne peut tre une instruction valide, car laction sonner nest pas dnie pour lobjet uf. Grce ce principe, associer des actions des objets, la programmation objet garantit lexactitude du rsultat fourni, en ralisant des traitements adapts aux objets.

Passer de lalgorithme au programme


Pour construire un algorithme, nous avons dni des hypothses de travail, cest--dire suppos une base de connaissances minimales ncessaires la rsolution du problme. Ainsi, le fait de prendre lhypothse davoir une plaque lectrique nous autorise ne pas dcrire lensemble des tches consistant allumer le gaz avec une allumette. Cest donc la connaissance de lenvironnement de travail qui dtermine en grande partie la construction de lalgorithme. Pour passer de lalgorithme au programme, le choix de lenvironnement de travail nest plus de notre ressort. Jusqu prsent, nous avons suppos que lexcutant tait humain. Maintenant, notre excutant est lordinateur. Pour crire un programme, nous devons savoir ce dont est capable un ordinateur et connatre son fonctionnement de faon tablir les connaissances et capacits de cet excutant.

Quest-ce quun ordinateur ?


Notre intention nest pas de dcrire en dtail le fonctionnement de lordinateur et de ses composants, mais den donner une image simplie. Pour tenter de comprendre comment travaille lordinateur et, surtout, comment il se programme, nous allons schmatiser lextrme ses mcanismes de fonctionnement. Un ordinateur est compos de deux parties distinctes : la mmoire centrale et lunit centrale. La mmoire centrale permet de mmoriser toutes les informations ncessaires lexcution dun programme. Ces informations correspondent des donnes ou des ordres excuter ( instructions ). Les ordres placs en mmoire sont effectus par lunit centrale, la partie active de lordinateur. Lorsquun ordinateur excute un programme, son travail consiste en grande partie grer la mmoire, soit pour y lire une instruction, soit pour y stocker une information.

user 189 at Thu Jul 29 09:57:27 +0200 2010

Introduction

En ce sens, nous pouvons voir lordinateur comme un robot qui sait agir en fonction des ordres qui lui sont fournis. Ces actions, en nombre limit, sont dcrites ci-dessous.
Dposer ou lire une information dans une case mmoire

La mmoire est forme dlments, ou cases, qui possdent chacune un numro (une adresse). Chaque case mmoire est en quelque sorte une bote aux lettres pouvant contenir une information (une lettre). Pour y dposer cette information, lordinateur (le facteur) doit connatre ladresse de la bote. Lorsque le robot place une information dans une case mmoire, il mmorise ladresse o celle-ci se situe an de retrouver linformation le moment venu.

Figure I-1

La mmoire de lordinateur est compose de cases possdant une adresse et pouvant contenir tout moment une valeur.

Le robot sait dposer une information dans une case, mais il ne sait pas la retirer (au sens de prendre un courrier dpos dans une bote aux lettres). Lorsque le robot prend linformation dpose dans une case mmoire, il ne fait que la lire. En aucun cas il ne la retire ni ne lefface. Linformation lue reste toujours dans la case mmoire.
Remarque Pour effacer une information dune case mmoire, il est ncessaire de placer une nouvelle information dans cette mme case. Ainsi, la nouvelle donne remplace lancienne et linformation prcdente est dtruite.

user 189 at Thu Jul 29 09:57:27 +0200 2010

Apprendre programmer en ActionScript 3

Excuter des oprations simples telles que laddition ou la soustraction

Le robot lit et excute les oprations dans lordre o elles lui sont fournies. Pour faire une addition, il va chercher les valeurs additionner dans les cases mmoire appropries (stockes, par exemple, aux adresses a et b) et ralise ensuite lopration demande. Il enregistre alors le rsultat de cette opration dans une case dadresse c. De telles oprations sont dcrites laide dordres, appels aussi instructions .

Figure I-2

Le programme excute les instructions dans lordre de leur apparition.

Comparer des valeurs

Le robot est capable de comparer deux valeurs entre elles pour dterminer si lune est plus grande, plus petite, gale ou diffrente de lautre valeur. Grce la comparaison, le robot est capable de tester une condition et dexcuter un ordre plutt quun autre, en fonction du rsultat du test. La ralisation dune comparaison ou dun test fait que le robot ne peut plus excuter les instructions dans leur ordre dapparition. En effet, suivant le rsultat du test, il doit rompre lordre de la marche suivre, en sautant une ou plusieurs instructions. Cest pourquoi il existe des instructions particulires dites de branchement . Grce ce type dinstructions, le robot est mme non seulement de sauter des ordres, mais aussi de revenir un ensemble doprations an de les rpter.

Figure I-3

Suivant le rsultat du test, lordinateur excute lune ou lautre des instructions en sautant celle quil ne doit pas excuter.

user 189 at Thu Jul 29 09:57:27 +0200 2010

Вам также может понравиться