Bonjour, je suis le programme informatique !

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Superman

V
Ancien staff
Dec 2, 2009
2,489
0
596
Créons d´abord un programme qui... demande à l´utilisateur d´appuyer

Eh oui, même pour créer un programme qui ne fait rien à l'écran, il va quand même falloir écrire des choses dans le code source ! Oui, car il faut annoncer le nom du programme, dire quand il commence et quand il se finit.

Eh bien, donnons un nom à notre programme, pourquoi pas ? nom_du_programme (j'avais de l'inspiration, ce jour-là !).

Code : Pascal1program nom_du_programme(output) ;




Comme dans beaucoup d'autres langages, à la fin d'une commande, il faut mettre un point-virgule « ; ».


Ça, si je ne vous avais pas dit que c'était pour annoncer le nom du programme, vous l'auriez quand même deviné !

Pourquoi (output) ?


Pour que ça s'affiche à l'écran, et non pas sur une imprimante, etc..
Ce qui est entre parenthèses après le nom du fichier, c'est là où va aboutir le programme ; je ne parle pas d'autre chose (que l'on peut mettre entre parenthèses), car nous n'en aurons pas besoin pour l'instant.

Maintenant, commençons le programme. Pour ça, il n'y a rien de plus simple : il faut juste marquer 'commence' en anglais, ce qui se dit « begin », et pour le finir, il faudra marquer 'fin' en anglais, ce qui se dit « end », avec un point après, comme à la fin de toute chose !
Ce qui donne :

Code : Pascal1
2
3
4
5
6program nom_du_programme(output) ;

begin


end.




Ce programme pourrait fonctionner, regardez : faites RUN / RUN dans la barre de menu en haut, que voyez-vous ?
Un bref moment d'écran noir, puis je reviens à l'écran de programmation.
Que s'est-il passé ?


Rien, et c'est le cas de le dire, il ne s'est rien passé, car vous avez annoncé le nom du programme, dit quand il commence, quand il finit, et c'est tout : il n'avait donc aucune raison de s'arrêter, car vous ne le lui avez pas demandé !

Comment on fait pour qu'il s'arrête ?


En introduisant une commande entre begin et end !
La voici :

Code : Pascal1readln;




Testons ce programme !



Alors, émerveillés par votre premier programme ?
Vos impressions ?

Magnifique ! Magnifique ! On n'a jamais vu ça, jamais ! On vient de recréer Mac ? Nan, en fait, je vois un curseur à l'écran, mais j'arrive pas à quitter...


Il faut appuyer sur "Entrer" pour fermer.
Pas génial, me direz-vous, enfin, pas assez pour le vendre, quoi !
Mais pourquoi mettre « readln » ?
En fait, ça fait ce qu'on appelle une "pause", en tout cas pour l'instant on dira ça
langue.png
. On l'utilise souvent à la fin du programme, pour ne pas qu'il se ferme sans que l'on ait pu lire ce qu'il était écrit !
Et maintenant, on va marquer quelque chose à l´écran !

Moment attendu pas tous et toutes, un programme qui fait plus que d'attendre qu'on appuie sur "Entrer" ! Certes, il ne fera pas beaucoup plus, mais ce sera quand même mieux.

Et que fera ce programme ?


Il s'ouvrira et affichera « bonjour, je suis le programme informatique ! » puis attendra une entrée clavier.

Mais comment fait-on pour écrire quelque chose ?


On va devoir marquer une instruction (un ordre qu'on donne à l'ordinateur). Elle s'appelle write.

Pour faire appel à une instruction, c'est très simple : il suffit d'écrire son nom. Écrivez donc write sur une ligne, juste après begin (avant le read;).

C'est bien, mais pas assez. Il faut indiquer ce qu'on veut écrire à l'écran. Pour faire ça, il va falloir donner à la fonction write le texte à afficher. Pour ce faire, ouvrez des parenthèses après le mot write. Puis, mettez une apostrophe à l'intérieur des parenthèses. Enfin, tapez le texte à afficher et mettez une nouvelle apostrophe.
Dans notre cas, on va donc taper :

write('Bonjour, je suis le programme informatique !');

Le point-virgule, contrairement à la plupart des autres langages, ne se met pas pour finir une instruction, mais pour séparer 2 instructions.


N'oubliez pas le point-virgule ! C'est une erreur fréquente chez les débutants : c'est pour ça que je vous invite à faire des nouveaux programmes qui écrivent différentes choses sans oublier le ; à chaque fois ; c'est lassant, mais ça fait rentrer le point virgule dans la tête.


Voici donc ce que vous devriez avoir :

Code : Pascal1
2
3
4
5
6program bonjour(output) ;

begin
write('Bonjour, je suis le programme informatique !');
readln ;
end.




Ce qui donnera donc, en faisant RUN / RUN :

Code : Console
Bonjour, je suis le programme informatique !_



N'est-ce pas fantastique ?

Bon, maintenant, passons aux choses sérieuses, et supposons que l'ordinateur demande à un autre ordinateur qui il est.

Code : Console
Bonjour, je suis le programme informatique !

Et toi, qui es-tu ?_



Code : Pascal1
2
3
4
5
6
7program bonjour(output) ;

begin
write('Bonjour, je suis le programme informatique');
write('Et toi, qui es-tu ?') ;
readln ;
end.




Essayez.

Aaaah ! Ça m'écrit "Bonjour, je suis le programme informatiqueEt toi, qui es-tu ?" Comment ça se fait ?


La réponse est toute simple, il suffit de ramener le chariot, c'est-à-dire passer à ligne et revenir tout à gauche après l'instruction, en remplaçant write par writeln.

Essayons donc :

Code : Pascal1
2
3
4
5
6
7program bonjour(output) ;

begin
writeln('Bonjour, je suis le programme informatique');
write('Et toi, qui es-tu ?') ;
readln ;
end.




Miracle ! Ça marche !
Maintenant, imaginons que l'autre ordi réponde :

Code : Console
Bonjour, je suis le programme informatique !

Et toi, qui es-tu ?

Mon nom, c'est le serveur du site du zéro, mais mon surnom, c'est BART._



Code : Pascal1
2
3
4
5
6
7
8program bonjour(output) ;

begin
writeln('Bonjour, je suis le programme informatique');
writeln('Et toi, qui es-tu ?') ;
write('Mon nom, c'est le serveur du site du zéro, mais mon surnom, c'est BART.');
readln ;
end.




Aaah, il me met 'erreur 89', ça veut dire quoi ?


Ça veut dire que le compilateur attend une parenthèse : en effet, dans notre phrase, il y a des apostrophes ; le compilateur pense donc que vous voulez fermer le write, donc il attend une parenthèse. Or, ce n'est pas ce que vous vouliez (fermer le write). Pour qu'il soit content et nous affiche nos apostrophes, il faut les doubler, c'est-à-dire en mettre deux au lieu d'une seule :

Code : Pascal1
2
3
4
5
6
7
8program bonjour(output) ;

begin
writeln('Bonjour, je suis le programme informatique');
writeln('Et toi, qui es-tu ?') ;
write('Mon nom, c''est le serveur du site du zéro, mais mon surnom, c''est BART.');
readln ;
end.




Le problème du point-virgule



Pour commencer, on va faire un petit test. Testez ceci, qui, à première vue, semble ne pas pouvoir fonctionner car il manque un point-virgule :

Code : Pascal1
2
3
4
5
6program bonjour(output) ;

begin
write('Bonjour, je suis le programme informatique !');
readln
end.




Quoi ? Tu viens de nous parler pendant des heures du point-virgule et qu'il fallait que ça rentre, et cetera, pour après nous dire qu'il sert à rien
mechant.png
?


Ttt, je n'ai jamais dit que ça ne servait à rien !
Je viens juste de montrer que le point-virgule après la dernière instruction ne servait à rien.
Pourquoi ? Car le pascal utilise le point-virgule comme séparateur d'instructions, et non pas pour terminer une instruction : le point-virgule ne fait donc pas partie de l'instruction. Si on avait mis un point-virgule après la dernière instruction, cela aurait ajouté ce qu'on appelle une instruction vide (une instruction qui dit de ne rien faire, pas très utile donc) juste avant le end. On peut donc se passer de point-virgule pour une instruction placée derrière un 'end.'. Mais, si vous le rajoutez, rien ne se passera, c'était donc juste une information en passant.
Comment ? Terre ?

Vous aurez compris que mon jeu de mot veut dire « commentaires » ! Non ?
unsure.gif
Euh, tant pis, enfin bon, passons !
langue.png


Vous vous posez sûrement tous cette seule et même question :

Pourquoi des commentaires ?


Juste pour faire un code plus 'propre'.

Mettez-vous en situation : un zéro fait un code sans commentaires, dommage pour lui, ce code bugue, mais il ne sait pas pourquoi. Il va donc aller sur le forum, et poster dans la partie « Programmation / Autres langages » que son code bugue et qu'il ne sait pas pourquoi, etc.
Vous tombez par hasard sur ce message, et vous essayez de le résoudre. Seulement voilà, cette personne n'a pas mis de commentaires, et il code 'salement', vous n'y comprenez rien et donc, vous en restez là.
Imaginez maintenant que ce zéro en question ait mis des commentaires : vous auriez mieux compris son code, et vous auriez pu l'aider !

Maintenant que je vous ai expliqué pourquoi, je vais vous expliquer comment.

Les commentaires s'ouvrent avec une accolade '{' et se ferment avec ? Une accolade (vous n'auriez pas deviné !)
heureux.png
'}'.

Petit exemple :

Code : Pascal1
2
3
4
5
6
7
8
9program bonjour(output) ; { on nomme le programme }

begin { on commence ! }

writeln('Bonjour, je suis le programme informatique !'); { on affiche ce texte puis on passe à la ligne }
write('Et toi, qui es-tu ?') ; { on affiche encore du texte }
readln ; { on fait une pause }

end. { et on finit. }




C'est plus propre que si j'avais écrit :

Code : Pascal1program bonjour(output) ; begin writeln('Bonjour, je suis le programme informatique !'); write('Et toi, qui es-tu ?') ; readln ; end.




Tous les deux aboutissent quand même au même résultat !

Bon, évidemment, là, j'ai exagéré dans les 2 sens ; mais les commentaires sont quand même pratiques, même pour vous, si vous retrouvez des programmes que vous aviez écrits il y a longtemps !

Lors de la compilation, tous les commentaires seront ignorés. Ces commentaires n'apparaîtront pas dans le programme final : ils servent seulement aux programmeurs.

Note : ici, j'ai volontairement mis un espace après l'accolade ouvrante, et également avant l'accolade fermante. Ce n'est pas indispensable, mais cela "aère" le code et contribue à le laisser "propre".
 

Sm0cky

V
Apr 17, 2011
505
0
441
29
Pas très éloigné du BASIC ça :D
Merci de ton investissement au sein de notre communauté.