I. Langage▲
Turbo Pascal |
C++ |
Explication |
uses NomUnite; |
#include <NomUnite> |
Utilise une unité |
{ Commentaire intégré } |
/* Commentaire intégré */ |
Permet d'ajouter un commentaire intégré au code |
// Commentaire jusqu'Ã la fin de la ligne |
Permet d'ajouter un commentaire en fin de ligne, ou de désactiver un ligne de code |
|
Case VAR of |
switch (VAR) { |
Tableau des différents cas pour une variable : |
for i := 1 to 9 do … |
for (i=1; i<= 9; i++) … |
Boucle de 1 jusqu'à 9 par ajout de 1 à chaque étape |
for i := 9 downto 1 do … |
for (i=9; 1 <=i; i--) … |
Boucle de 9 à 1 par soustraction de 1 à chaque étape |
i := 1;
|
for (i=1; i<= 9; i += 2) |
Boucle de 1 à 9 par ajout de 2 à chaque étape |
sizeof (a); |
sizeof (a); |
Renvoie la taille d'une variable |
if COND then begin
|
COND ? instructionA1; instructionA2; : instructionB1; instructionB2; |
Si COND est vrai alors exécute les instructions A1, A2, … ; sinon exécute les instructions B1, B2, … |
II. Types▲
Turbo Pascal |
C++ |
Explication |
var char a; |
unsigned char a; |
Déclare le caractère "a" (valeur entre 0 et 255) |
var byte a; |
unsigned char a; |
Déclare l'octet "a" (valeur entre 0 et 255) |
var shortint a; |
char a; |
Déclare l'octet signé "a" (valeur entre -127 et 128) |
var word a; |
unsigned int a; |
Déclare le mot "a" (valeur entre 0 et 65 535) |
var integer a; |
int a; |
Déclare le mot signé "a" (valeur entre -32 768 et 32 767) |
X |
unsigned long a; |
Déclare le double-mot "a" (valeur entre 0 et "4 294 967 295") |
var long a; |
long a; |
Déclare le double-mot signé "a" (valeur entre "-2 147 483 648" et "2 147 483 647") |
var single a; |
float a; |
Déclare la variable "a" de type virgule flottante sur 32 bits (valeur entre "-3,4 x10^38" et "3,4 x10^-38", précision sur 7 chiffres) |
var double a; |
double a; |
Déclare la variable "a" de type virgule flottante sur 64 bits (valeur entre "1,7 x10^308" et "3,4 x10^-308", précision sur 15 chiffres) |
var extended a; |
long double a; |
Déclare la variable "a" de type virgule flottante sur 80 bits (valeur entre "3,4 x10^4932" et "1,1 x10^-4932", précision sur 19 chiffres) |
const a = 10; |
#DEFINE a 10 |
Déclare la constante "a" stockant le nombre 10 |
const a = "abc"; |
#DEFINE a "abc" |
Déclare la constante "a" stockant la chaîne "abc" |
a = ord( b); |
a = (char) b; |
Copie la valeur ASCII du caractère "b" dans "a" |
a = word( b); |
a = (unsigned int) b; |
Copie la valeur "b" dans le format mot non signé dans "a" |
p := addr( a); |
p = & a; |
Copie l'adresse de "a" dans le pointeur "p" |
a = ptr(p); |
a = * p ; |
Copie l'adresse du pointeur "p" dans "a" |
a := $ F54B; |
a = 0x F54B; |
Stocke le nombre hexadécimal F545B h dans "a" |
III. Tests▲
Turbo Pascal |
C++ |
Explication |
if CAS1 and CAS2 then |
if (CAS1 && CAS2) |
si le CAS1 est vrai ET le CAS2 est vrai |
if CAS1 or CAS2 then |
if (CAS1 || CAS2) |
si le CAS1 est vrai OU le CAS2 est vrai |
if CAS1=FALSE then |
if (!CAS1) |
si le CAS2 est faux |
if a = b then |
if (a == b) |
si a égale b |
if a < b then |
if (a < b) |
si a est inférieur à b |
if a <= b then |
if (a <= b) |
si a est inférieur ou égal à b |
IV. Fonctions mathématiques▲
Turbo Pascal |
C++ |
Explication |
inc (a); |
a++; |
Ajoute un à la valeur "a" |
inc (a, b); |
a+= b ; |
Ajoute la valeur "b" Ã "a" |
dec (a); |
a--; |
Soustrait un à "a" |
dec (a, b); |
a-= b ; |
Soustrait la valeur "b" Ã "a" |
a := b *c; |
a = b *c; |
Multiplication |
a := a *b; |
a*=b ; |
Écrit "a" multiplié par "b" dans "a" |
a := b div c; |
a = b /c; |
Division entière |
a := a div b; |
a/=b ; |
Divise "a" par "b" |
a := b modc; |
a = b %c; |
Écrit le reste de la division de "b" par "c" dans "a" |
a := a mod b; |
a%=b ; |
Écrit le reste de la division de "a" par "b" dans "a" |
a := b and c; |
a = b &c; |
"et" |
a := a and b; |
a &= b; |
Écrit "a" AND "b" dans "a" |
a := b orc; |
a = b | c; |
"ou" |
a := a or b; |
a|=b ; |
Écrit "a" OR "b" dans "a" |
a := b xor c; |
a := b ^ c; |
"ou exclusif" |
a := a xor b; |
a^=b ; |
Écrit "a" XOR "b" dans "a" |
a := b shr n; |
a = b >> n; |
Décalage binaire vers la gauche (division par 2^ n) de "b" |
a := a shr n; |
a>>= n; |
Écrit le décalage binaire de "n" bits vers la gauche de "a" dans "a" |
a := b shl n; |
a = b << n; |
Décalage binaire vers la droite (multiplication par 2^ n) de "b" |
a := a shl n; |
a<<= n; |
Écrit le décalage binaire de "n" bits vers la droite "a" dans "a" |
a := not (b); |
a := ~ b; |
Écrit le complément de "b" dans "a" (inverse tous les bits). |
V. Mémoire▲
En C : pour afficher du texte dans une application console, il faut utiliser l'unité stdlib.h. Ajoutez la ligne "#include <stdlib.h>" au début de votre programme.
Turbo Pascal |
C++ |
Explication |
getmem (p, taille ); |
p = malloc ( taille ); |
Alloue un espace mémoire de "taille" octets et stocke le pointeur dans "p" |
dispose (p); |
free(p); |
Libère la mémoire allouée qui était pointée par "p" |
move (src,dst, taille); |
memcpy (dst, src,taille); |
Copie les "taille" octets de "src" dans "dst" |
VI. Chaînes de caractères▲
En C : pour afficher du texte dans une application console, il faut utiliser l'unité stdio.h. Ajoutez la ligne "#include <stdio.h>" au début de votre programme.
Turbo Pascal |
C++ |
Explication |
var a: string [10]; |
char a [10+1]; |
Déclare la chaîne "a" ayant une longueur maximale de 10 caractères |
a := length(txt); |
a = strlen (txt); |
Écrit la longueur du texte "txt" dans le nombre "a" |
a[1] := 'g'; |
a[0] = 'g';Â |
Écrit le caractère 'g' dans le premier octet de la chaîne 'a' |
a := ' Salut'; |
strcpy (a, "Salut");Â |
Écrit la chaîne "Salut" sans la chaîne "a" |
a := b; |
strcpy (a, b); |
Écrit la chaîne "b" dans la chaîne "a" |
Write ("Allo ?"); |
printf ("Allo ?"); |
Écrit le texte "Allo ?" |
Writeln ("Bonjour !"); |
printf ("Bonjour !\n"); |
Écrit le texte "Bonjour !", puis revient à la ligne |
Writeln ("Nombre = ", nbr); |
printf ("Nombre = %d\n", nbr); |
Écrit le texte "Nombre = nbr" incluant le nombre "nbr", puis revient à la ligne |
Writeln ("a=", A," b=", B , " et c=", C); |
printf ("a=%d b=%d c=%d\n ", A, B,C); |
Écrit le texte "a=A b=B c=C" incluant les trois nombres "A", "B" et "C", puis revient à la ligne |
Writeln ("Texte = ", txt); |
printf ("Texte = %s\n ",txt); |
Écrit le texte "Texte = txt" incluant le texte "txt", puis revient à la ligne |
Caractères spéciaux en C++ :
\a |
Émet un bip sonore |
\b |
Retour en arrière d'un caractère |
\f |
Saut de page |
\n |
Retour à la ligne |
\r |
Revient au début de la ligne |
\t |
Tabulation |
\v |
Descend d'une ligne |
\\ |
Écrit le caractère « \ » |
\" |
Écrit le caractère « " » |
\' |
Écrit le caractère « ' » |
\? |
Écrit le caractère « ? » |
/000 |
Écrit le caractère ASCII en code octal (sur base 8) |
/x000 |
Écrit le caractère ASCII en code hexadécimal (sur base 16) |
Code pour afficher des nombres avec printf en CÂ :
%c |
Un caractère |
%s |
Chaîne de caractères |
%d |
Entier |
%ld |
Entier long |
%f |
Nombre réel float |
%lf |
Nombre réel double |
%Lf |
Nombre réel long double |
%p |
Pointeur |
VII. Accès aux fichiers▲
En C++ : pour afficher du texte dans une application console, il faut utiliser l'unité stdio.h. Ajoutez la ligne "#include <stdio.h>" au début de votre programme. En bonus : "#include <errno.h>" permet d'accéder à la dernière erreur.
Turbo Pascal |
C++ |
Explication |
const nomfich = "test.txt"; |
const char *nomfich = "test.txt"; |
Ouvre le fichier "test.txt" en lecture seule avec gestion des erreurs |
Append (F); |
append (F); |
Se positionne à la fin d'un fichier ouvert pour pouvoir rajouter des octets |
a := Read (F); |
a = fgetc (F); |
Lit un caractère |
Write (F, a); |
fputc (F, a); |
Écrit le caractère "a" |
var Ligne: String; |
#define LongMax 80 |
Lit une ligne de texte |
const txt = "test"; |
const char *txt = "test"; |
Écrit une ligne de texte |
BlockRead (F, Tampon, taille);Â |
fread (Tampon, taille,1,F); |
Lit taille octets |
BlockWrite (F, Tampon, taille); |
fwrite (Tampon, taille,1,F); |
Écrit taille octets |
Seek (F, pos); |
fseek (F, pos); |
Positionne le curseur du fichier de handle "F" Ã la position "pos" |
a := FilePos(F); |
a := ftell (F); |
Lit la position du fichier de handle "F" et la stocke dans "a" |
Close (F); |
fclose (F); |
Ferme le fichier de handle "F" |
VIII. Remerciements▲
Merci à Claude LELOUP pour ses corrections.