CODING ★ INITIATION AU ZORTECH C ★

Initiation Zortech C

Le langage C intéresse de plus en plus les programmeurs amateurs. Zortech a donc conçu une gamme de logiciels permettant une programmation relativement aisée en C. Nous en profitons donc pour lancer cette nouvelle rubrique qui devrait intéresser ceux d'entre vous désireux de se mettre à ce langage puissant et plus « professionnel » que les classiques Basic ou Pascal. A noter, pour les connaisseurs et la petite histoire que Zortech est, en fait, le nouveau nom de Zorland.

D'une syntaxe très logique mais Imposant une programmation très structurée, le C pourra de par sa forme surprendre les habitués du Pascal ou du Basic. Disons le tout net : de bonnes connaissances en assembleur aideront beaucoup de futurs programmeurs en C. En effet, ce langage est sûrement l'un des plus proches du langage machine. Très puissant, fait d'instructions qui sont de véritables macroinstructions, il réclame par exemple de bien savoir comment sont mémorisées les variables afin de pouvoir au mieux les gérer (pour, notamment, gagner du temps et de la place en compilation). Lorsque vous aurez compris le système, que vous définirez correctement vos variables (int, float, double, char, etc.), alors vous les utiliserez parfaitement et aurez maîtrisé l'un des points les plus complexes du C. Prenons un exemple concret : pour afficher le contenu d'une variable, il vous faudra utiliser une commande PRINTF (affichage formatté) en précisant non seulement son type mais aussi, le cas échéant, ses caractéristiques comme le nombre de chiffres avant ou après la virgule... Si l'on s'habitue très vite à la syntaxe un peu particulière du C, à l'obligation de structurer de façon assez rigide ses algorithmes de programmation, le maniement de variables est un cap dans l'apprentissage de ce langage.

Autre point « crucial » du langage C : les manipulations avant la compilation de programmes sources. Il faut généralement éditer le code source à l'aide d'un éditeur puis,
après sauvegarde, lancer la compilation. Rares seront les fois où vous compilerez un programme source exempt d'erreurs (de votre fait...) ce qui entraînera des manipulations assez fastidieuses : arrêt de la compilation, sortie de compilateur, retour dans l'éditeur, correction du code erroné, et itération complète de la procédure avec sortie de l'éditeur, retour dans le compilateur et relancement de la compilation. Fort heureusement, et c'est ici le cas du Zortech C, beaucoup de concepteurs de langages compilés sont conscients du problème que peuvent poser les « manips » nécessaires à la mise au point d'un programme compilé exempt d'erreurs : on trouve donc sur la même disquette compilateur et éditeur de sources.

Premiers pas en programmation

Entrons tout de suite dans le vif du sujet en étudiant les commandes principales d'affichage et de lecture du clavier, le tout en utilisant tous les types de variables disponibles. C'est ainsi que pour les commandes d'affichage PUTS et PRINTF:

PUTS permet l'affichage de texte, mais pas celui du contenu des variables. PRINTF est une commande d'affichage formattée, c'est-à-dire que l'on peut définir le format d'affichage du contenu des variables désirées. C'est un peu l'équivalent du PRINT USING bien connu des amateurs du Basic. De plus, PRINTF ne fait pas directement le retour à la ligne, alors que PUTS le fait. Un petit exemple : PRINTF ("%2.2f", n) ; permettra d'afficher le contenu de la variable n avec deux chiffres avant la virgule et deux décimales. Bien sûr, ce formattage n'est pas obligatoire, on peut également faire PRINTF ("%f", n) ; où le contenu de la variable n sera affiché dans son intégralité. Vous avez certainement remarqué l'utilisation du symbole % suivi de la lettre f. Ce symbole signale que les caractères suivant représenteront les caractéristiques de la variable utilisée. La lettre f signifie FLOAT qui , est un type de variable que nous verrons plus loin. En résumé, tout ce qui est encadré par % et le code de la variable (f dans notre cas) caractérise la variable. Avec la même commande PRINTF, il est possible d'afficher simultanément du texte et plusieurs variables.

Exemple : PRINTF ("Valeur de x : %f1/x=%f n",x,1/x); où le premier %f sera remplacé à l'affichage par le contenu de la varia-. ble x, et le second par 1/x. Vous remarquerez également n q ui est le code du retour chariot. De même, il est très important de noter
le ";" terminant la commande. Ce symbole, que l'on retrouve d'ailleurs dans le Pascal, est un séparateur d'instruction au même titre que le ":" du Basic.
Pour se faire la main

Voici un petit programme d'exemple qui nous permettra de voir les différents types de variables existant, ainsi que la struturation de base d'un programme C :

# include "stdio.h"
main () ; /* NOMBRES */
{ int k1; "
float x ;
short int k1 ;
long int k2 ;
double xx ;
k = 12345;
x = 123.456;
k1 = -25 ;
k2 = 12345671 ;
xx = 1234567890.123456;
printf ("entier %6d\n",k);
printf ("réel %8.3f\n",x);
printf ("entier court %3d\n",k1);
printf ("entier long %81d\n",k2) ;
printf ("réel double précision %20.15e\n",xx);
}

Ce programme est tiré à l'ouvrage Programmer en C de C.Nowakowski aux éditions PSI. Nous vous le recommandons pour obtenir de nombreux exemples d'applications sur les points essentiels du langage C.

# include "stdio.h" (on peut aussi écrire # include <stdio.h>) demande l'inclusion du fichier stdio.h qui contient les primitives des commandes d'entrées/sorties telles que PRINTF, PUTS... La commande main () marque le début du bloc principal du programme. Vous remarquerez les parenthèses qui sont obligatoires.

En effet, mis à part les définitions de type de variables, chaque commande doit être accompagnée de ces parenthèses. C'est d'ailleurs entre celles-ci que se trouveront d'éventuels paramètres.

Les symboles {et} marquent respectivement les débuts et fins de blocs. Ces caractères ne figurant pas sur tous les claviers, vous pouvez les obtenir en maintenant enfoncée la touche Alt et en pressant 123 ou 125 sur le pavé numérique (123 pour {et 125 pour}).

Passons aux types de variables utilisées ici :

int : pour les nombres entiers de -32768 à 32767.
short int (ou short) : pour les nombres entiers courts (identique à int). long int : pour les entiers dits longs
(-2147483648 à 2147483647).

float: pour les réels (± 1037 à 1038 avec 6 ou 7 chiffres significatifs).
double : pour les réels de grande précision (± 1037 à lO^avec 15 à 16 chiffres significatifs.
D'autres types de variables existent :
- char pour les variables codées sur 1 octet.
- struct pour les structures.
— union pour différents types associés à une même variable.

En ce qui concerne l'affichage du contenu des variables, nous avons vu %f et ses variantes. Existent aussi %d, %ld, %e, %lf qui représentent respectivement : entiers (de type int ou short), entiers longs (long int), flottants en notation scientifique (pour les types float et double) et réels double précision (type double). On trouve également %c pour l'affichage des caractères (type char).
Vous connaissez maintenant le B-A-BA de l'affichage en langage C.

Utilisations des variables

C'est un des points les plus importants de ce langage. L'affichage était un petit hors-d'œuvre, nous allons maintenant voir certaines particularités comme l'incrémentation, la décrémentation, les tests... Bien sûr, nous ne rentrerons pas immédiatement dans les détails, cela se fera plus tard dans la suite de cette rubrique d'initiation.

Supposons que l'on désire incrémenter la variable n. Plusieurs possibilités existent. La plus connue est n = n + 1. Mais, il y a plus rapide ; en effet n + + ou + + n aura exactement le même effet. De même, pour la décrémentation, n- -ou- -n remplacera n = n - 1.

Etudions maintenant les opérateurs de bases pour les tests. Tout d'abord, la commande principale des tests est le IF que l'on retrouve dans de nombreux langages comme le Basic, le Pascal, le Forth ou encore le Prolog. Ici, la syntaxe est encore particulière, par exemple :

IF (i = = 5) break ; else j = 3 ;

On remarque le double signe = qui représente le test d'égalité. De même, = signifie différent, < et > respectivement inférieur et supérieur, < = et > = pour inférieur ou égal et supérieur ou égal. Bien sûr, les opérateurs de tests logiques sont présents : && pour AND, ! ! pour OR, ! pour NOT. A titre de renseignement, le break utilisé dans notre exemple permet de sortir d'un bloc d'instructions. Nous le verrons dans quelques temps.

A suivre...

Ce n'est pas la peine de se surcharger inutilement pour ces premiers pas. Entraînez-vous d'abord avec le maniement des variables et des commandes d'affichage.

Dans l'attente fiévreuse de notre initiation le mois prochain, essayez de vous procurer au moins un ouvrage traitant du langage C (ce qui vous aidera pour une meilleure compréhension de cette initiation). Tous les ouvrages de ce type disponibles dans le commerce sont extrêmement nombreux. Maintenant, à vos claviers et au mois prochain.

Eric Mistelet, AMpro n°1 , Fev 88 , p72

★ ANNÉES: 1988
★ AUTEUR: ERIC MISTELET

★ AMSTRAD CPC ★ A voir aussi sur CPCrulez , les sujets suivants pourront vous intéresser...

Lien(s):
» Coding » Sdcc - 19 - 3D - Optimisation
» Coding » SDCC2pasmo (NORECESS)
» Coding » Sdcc - 06 - Lire un Fichier
» Coding » Music - Wyztracker
» Coding » Sdcc - 12 - Put Pixel Tres Rapide
» Coding » Sdcc - 18 - 3D - Fil de Fer
Je participe au site:

» Vous avez remarqué une erreur dans ce texte ?
» Aidez-nous à améliorer cette page : en nous contactant via le forum ou par email.

CPCrulez[Content Management System] v8.7-desktop/c
Page créée en 069 millisecondes et consultée 1922 fois

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