Systèmes Temps Réel de Contrôle-commande by Francis Cottet / Emmanuel Grolleau
Auteur:Francis Cottet / Emmanuel Grolleau [Grolleau, Francis Cottet / Emmanuel]
La langue: fra
Format: epub
Tags: Informatique
ISBN: 9782100528509
Google: 9WA_5LPUNZkC
Éditeur: Dunod
Publié: 2005-04-05T13:31:49+00:00
6 • Programmation
6.1 Programmation
des systèmes multitâches
C, Ada et LabVIEW
Noter l’emploi obligatoire du mot clé struct lors de l’utilisation du type. Pour éviter cette lourdeur syntaxique, on peut utiliser le mot clé typedef qui permet de nommer un type. Dans l’exemple ci-après, le même type enregistrement est déclaré de façon anonyme, mais défini par le nom Complexe :
typedef struct {
float reel;
float imaginaire;
} Complexe;
Complexe C; /* Déclaration d’une variable de type Complexe */
Complexe C2={1,3.5}; /* C2 vaut 1+3.5i */
Un type énuméré, rarement utilisé en langage C, se définit avec le mot clé enum : enum couleurs {rouge, vert, bleu};
/* En fait, rouge vaut 0, vert vaut 1 et bleu vaut 2 */
enum couleurs couleur=vert; /* définition de la variable couleur, valant vert */
Afin d’éviter la lourdeur de répétition du mot clé enum, on utilise souvent le nom-mage de type, comme pour les types enregistrement :
typedef enum {rouge, vert, bleu} couleurs;
/* Ici, enum {rouge, vert, bleu} est nommé couleurs */
couleurs couleur=vert; /* définition de la variable couleur, valant vert */
Le constructeur de type union permet de définir une superposition (union) de plusieurs types.
typedef union {
char c;
short s;
} mon_union; /* les champs c et s sont superposés */
/* la taille de l’union est max(sizeof(char),sizeof(short))=2 octets
*/
mon_union m;
m.s = 0x8054; /* m.s vaut 0x8054, du même coup, m.c vaut 0x54 */
m.c = 0; /* m.c vaut 0, du même coup m.s vaut 0x8000 */
Rappelons que C a un typage faible. Ainsi, l’exemple suivant passe parfaitement sur la plupart des compilateurs.
m.c = ’a’+3+vert; /* en introduction sur C, nous parlons de typage faible : on affecte à un caractère la somme d’un caractère, d’un entier et d’une couleur, soit le code ASCII de ’e’ */
M
Langage Ada
Le tableau 6.2 présente les types de base du langage Ada.
À l’instar du langage C, la norme Ada n’impose pas de taille pour les types numé-
riques. Généralement, c’est la taille d’un registre de calcul.
La norme prévoit, mais n’impose pas, la présence de types numériques courts, longs, ou très longs : ainsi, Long_Integer correspond à un entier long, Short_Natural correspond à un entier non signé court, Long_Long_Float correspond à un flottant très long, etc.
© Dunod – La photocopie non autorisée est un délit.
249
Télécharger
Ce site ne stocke aucun fichier sur son serveur. Nous ne faisons qu'indexer et lier au contenu fourni par d'autres sites. Veuillez contacter les fournisseurs de contenu pour supprimer le contenu des droits d'auteur, le cas échéant, et nous envoyer un courrier électronique. Nous supprimerons immédiatement les liens ou contenus pertinents.
083 Casse-tête pour Coplan (1964) by Paul Kenny(872)
Humain - Une enquête philosophique sur ces révolutions qui changent nos vies by Monique Atlan Roger-Pol Droit(857)
Arduino pour les Nuls poche, 2e édition by John NUSSEY(854)
L'Electronique Poche Pour les Nuls (French Edition) by Gordon McCOMB(852)
Les Tweets sont des chats by Bernard Pivot(834)
L'Electronique Pour les Nuls by Gordon McComb(795)
Commander sa maison à distance avec un Raspberry Pi (French Edition) by Michel Martin(775)
Les tactiques de Chronos by Étienne Klein(741)
Luis Ansa, la Voie du sentir by Robert Eymeri(720)
La Voie du sentir : Transcription de l'enseignement oral de Luis Ansa by Eymeri(707)
Enjeu tragique by Paul Kenny(670)
Quand le cheval guide l'homme by Del Monte Laila(665)
À la découverte du Raspberry Pi by Matt Richardson & Shawn Wallace(649)
Physique quantique et représentation du monde by Erwin Schrödinger(630)
046 Enjeu tragique (1958) by Paul Kenny(614)
45 Consigne impitoyable by Paul Kenny(597)
Raspberry Pi by Christian Tavernier(561)
Et si le temps n'existait pas? Un peu de science subversive by Rovelli(528)
Systèmes Temps Réel de Contrôle-commande by Francis Cottet / Emmanuel Grolleau(355)