L'immanquable début!
Préface : Vous pourrez ici trouver des exemples, dont certaines
choses ne vous paraîtrons pas très claires... Comme vous pourrez par exemple
le constater, la majeure partie des fonctions se terminent par le symbole
";". Cela permet au compilateur de reconnaître la fin d'une commande.
Si vous oubliez ce symbole, vous obtiendrez une erreur de type "Parse Error",
qui sera généralement suivie de nombreuses autres erreurs. Dans la majeure
partie des cas, ces erreurs ne seront présentes que parce que le compilateur
aura ignoré la ligne où le ";" était manquant, et parce que cette
ligne contenait des instructions importantes pour la suite du programme. Donc,
avant de vous lancer dans une grosse galère, que vous pourriez regretter,
relisez votre code. Cela peut éviter des inutiles pertes de patience à
répétition, qui aurons, à la longue, raison de votre volonté à programmer.
Dites-vous bien une chose : apprendre un langage de
programmation, quel qu'il soit, n'est pas chose facile, et cela demande du
courage et ÉNORMÉMENT de motivation. Si vous sentez que vous n'en aurez pas
suffisamment, eh bien, réfléchissez, demandez-vous pourquoi vous voulez
programmer. Si c'est uniquement pour frimer, il y a des risques que ça ne
marche pas avant longtemps (avant que vous ne sortiez un nouveau super jeux, par
exemple, c'est-à-dire avant pas mal de temps !). Si c'est pour votre plaisir
personnel, eh bien, vous avez sûrement raison. (Je suis sûr que ces deux
paragraphes n'ont pas été très clair. C'est normal : je ne suis pas fort en
français. Je préfère la programmation !). Partez du principe que, avant de
réussir à faire un programme intéressant qui vous apportera la gloire dont
vous rêvez peut-être, il vous faudra passer des semaines et des semaines,
voire même des mois à apprendre, notamment avec des petits programmes
d'exemple !
I:\ Général :
Une remarque générale avant de commencer : Comme vous pourrez le voir d'ici très peu de temps, le texte des programmes en C regroupe des lettres en majuscules, et d'autres en minuscules. Ceci n'est pas une erreur de frappe ! En effet, il existe des différences entre les fonctions écrites en majuscules, et celles écrites en minuscules : en C, il convient de respecter la casse. (Nous verrons un exemple précis au Chapitre V de ce tutorial.)
1: Tout programme en C écrit avec TIGCC commence par la définition des librairies dont les fonctions seront utilisées, pour que le compilateur sache qu'il doit les utiliser.
Si vous utilisez peu de fonctions, vous pouvez ne donner que les noms des librairies utilisées. Cependant, il est généralement plus pratique de toutes les inclure, car il est difficile de savoir à quelles librairies correspondent toutes les fonctions utilisées dans un programme !
Dans ce cas, il faut placer l'instruction :
#include
<tigcclib.h>
2: Ensuite, il faut dire au compilateur pour quelle calculatrice il faudra créer un fichier exécutable :
short
_ti92plus; //
=> fichier .9xz (pour TI-92plus)
short
_ti89;
// => fichier .89z (pour TI-89)
short _ti92plus,_ti89; // => les deux ! (pour TI-92plus et TI-89)
Attention
: Si vous utilisez une version de TIGCC antérieure à la 0.9, il ne
vous faudra pas écrire short
_ti92plus ou short
_ti89, mais int
_ti92plus ou int
_ti89. Cela est du au fait que la version 0.9 introduit des types mieux
différenciés de variables, ainsi que de nouvelles normes de notation... Dans
la suite de ce tutorial, nous utiliserons au maximum les normes fixées par la
version 0.91 de TIGCC (voire celles fixées par la version 0.91SP1 de TIGCC, qui
est, à la date à laquelle ce tutorial est écrit, la dernière sortie.)
Comme vous pouvez le remarquer, certains "mots" ne
sont pas écrit de la même façon que les autres. Ceci est fait automatiquement
par TIGCC, ce qui permet parfois de repérer plus facilement certaines boucles.
(Par exemple, if,
goto, return,...).
Ce qui est ici écrit en Violet
et qui est précédé de //
correspond aux commentaire. Tout ce qui est écrit
après ce symbole, et sur la même ligne, ne sera pas pris en compte lors de la
compilation.
Attention : Dans l'IDE (Integrated Developement Environment)
de TIGCC, les commentaires sont écrits en vert
brillant. Ici, j'ai préféré utiliser du violet,
qu'il est plus aisé de lire.
3: Enfin, il faut, dans le plus simple des cas, définir la fonction principale, nommée _main.
Pour cela, il faut mettre :
void _main(void)
{
// Le programme par
lui-même
}
Ainsi, vous obtenez un programme qui ne fait rien, ne sert pas à grand chose, si ce n'est vous montrer comment en faire de plus complexes. En effet, il est impossible de faire un programme évolué si on ne sait pas comment déclarer un programme, n'est-ce pas ? :-)
II:\ Premier programme :
Nous allons faire notre premier programme. Vous l'aurez peut-être deviné, il va s'agir du célèbre "Hello World", qui est considéré par presque tous les programmeurs en C comme LE premier programme à faire. C'est d'ailleurs le premier qui est employé dans le K&R !!! Nous allons réaliser ce programme en mode "nostub". (Voir Chapitre III pour les explications.)
Voici le code :
#define SAVE_SCREEN
#include <tigcclib.h>
short _ti92plus,_ti89;
void
_main(void)
{
clrscr();
printf("Hello World !");
ngetchx();
}
Mais qu'est-ce que ça veut donc dire ???
* clrscr(); : Cette fonction permet d'effacer l'écran, et de réinitialiser la position d'écriture, pour la suite du programme.
* printf("Hello World !"); : Cette fonction écrit la chaîne de caractères "Hello World !" à l'écran, à la position actuelle d'écriture. Étant donné que nous l'avons remise à zéro avec la fonction précédente, ce sera fait dans le coin Haut/Gauche de l'écran.
* ngetchx(); : Cette fonction attend que l'on presse une touche au clavier, et renvoie la valeur de cette touche, ce qui ne nous intéresse pas ici. C'est, en gros, l'équivalent de "getkey" en TI-BASIC, mais certaines valeurs sont différentes.
* Pour la signification plus générale des instructions short et #define, je vous encourage à passer au Chapitre suivant.
Copyright Squale92 & Verstand. Logo et sigle TCI® réservés. Développé pour MS Internet Explorer 5.0 en 1024x768 pixels. Page modifiée le