Your browser doesn't support the features required by impress.js, so you are presented with a simplified version of this presentation.
For the best experience please use the latest Chrome, Safari or Firefox browser.
afficher('Hello World !');
lire(nom);
afficher('Quel est votre nom ?');
lire(nom);
afficher('Bonjour ' + nom + ' !');
afficher('Quel est votre nom ?');
lire(nom);
afficher('Bonjour ' + nom + ' !');
afficher('Rappelez-moi votre nom ?');
lire(nom);
afficher('OK ! Bonjour ' + nom + ' !');
afficher('Bonjour ' + 'nom' + ' !');
nom
est distincte de Nom
ou de NOM
.
nom : chaîne;
afficher('Quel est votre nom ?');
lire(nom);
afficher('Bonjour ' + nom + ' !');
msg : chaîne;
ch : chaîne;
msg := 'Bonjour ';
afficher('Quel est votre prénom ?');
lire(ch);
msg := msg + ch + ' ';
afficher('Quel est votre nom ?');
lire(ch);
msg := msg + ch + ' !';
afficher(msg);
nombre : entier;
afficher('Nombre entre 1 et 10');
lire(nombre);
afficher('Carré : ' + nombre*nombre);
+ / *
et combinés. Les règles de priorité sur les opérateurs sont celles des mathématiques.
nbEntier, deux, cinq, dix : entier;
nbReelFini, nbReelNonFini : réel;
dix := 10;
cinq := 5;
deux := 10 / 5;=>
nbEntier := cinq / deux;=> 2
nbReelFini := cinq / deux;=> 2.0
nbReelFini := cinq / nbReelFini;=> 2.5
nbReelNonFini := 2.0 / 3;=>
type personne = structure
nom : chaîne;
prenom : chaîne;
âge : entier;
fin;
p : personne;
p.nom := 'Pierre-Julien';
p.prenom := 'Villoud';
p.âge := 32;
nombre : entier;
afficher('Pair ou impair ? Entre un nombre : ');
lire(nombre);
Si nombre est pair on exécute l'instruction suivante
afficher(nombre + ' est pair !');
Sinon, on exécute l'instruction suivante
afficher(nombre + ' est impair !');
x, y, resultat : entier;
afficher('On souhaite calculer x ^ y. Entrer x : ');
lire(x);
afficher('Entrer y');
lire(y);
resultat := 1;
Exécuter l'instruction suivante y fois
resultat := resultat * x;
afficher(x + ' ^ ' + y + ' = ' + resultat);
vrai
ou faux
. On introduit donc par la même occasion un nouveau type, le type booléen qui ne peut prendre que ses deux valeurs.
si condition alors
instructions...
finsi
si condition alors
instructions...
sinon
instructions...
finsi
si condition alors
instructions...
sinon si condition alors
instructions...
sinon
instructions...
finsi
si x = 0 alors
afficher('x est nul !');
finsi
si x < 0 alors
afficher('x est négatif !');
sinon
afficher('x est positif ou nul !');
finsi
si x < 0 alors
afficher('x est négatif !');
sinon si x > 0 alors
afficher('x est positif !');
sinon
afficher('x est nul !');
finsi
si
, alors
, sinon
et finsi
sont désormais des mots réservés. Ils ne peuvent être utilisés en tant qu'identificateur pour des variables. On peut également imbriquer d'autres si ... finsi
à l'intérieur des instructions permettant de modéliser des cas plus complexes.
A
et B
des expressions booléennes simples (comme x = 0
par exemple).
La négation permet d'inverser la condition.
non A
non x = 0
équivalent à x ≠ 0 ou x != 0
A | non A |
---|---|
vrai | faux |
faux | vrai |
Le résultat d'une intersection est vrai lorsque les deux opérandes sont vrais.
A et B
x > 0 et x ≤ 4 (ou x <= 4)
est vrai si x est compris entre 1 et 4,
faux sinon
A | B | A et B |
---|---|---|
vrai | vrai | vrai |
vrai | faux | faux |
faux | vrai | faux |
faux | faux | faux |
A
et B
des expressions booléennes simples (comme x = 0
par exemple).
L'union permet de s'assurer qu'au moins un des deux opérandes est vrai.
A ou B
autorisationParentale : booléen;
age >= 18 ou autorisationParentale
A | B | A ou B |
---|---|---|
vrai | vrai | vrai |
vrai | faux | vrai |
faux | vrai | vrai |
faux | faux | faux |
L'union exclusive permet de s'assurer qu'un et un seul des deux opérandes est vrai.
A xou B
fromage, dessert : booléen;
fromage xou dessert
A | B | A xou B |
---|---|---|
vrai | vrai | faux |
vrai | faux | vrai |
faux | vrai | vrai |
faux | faux | faux |
tantque condition faire
instructions
finfaire;
resultat, x, y, i : entier;
afficher('On souhaite calculer x ^ y. Entrer x : ');
lire(x);
afficher('Entrer y');
lire(y);
resultat := 1;
i := 1;
tantque i <= y faire
resultat := resultat * x;
afficher('Calcul... ' + x + ' ^ ' i + ' = ' + resultat);
i := i + 1;
finfaire;
afficher(x + ' ^ ' y + ' = ' + resultat);
Une procédure est simplement un regroupement d'instructions.
procédure bonjour
debproc
afficher('Quel est votre nom ?');
lire(nom);
afficher('Bonjour ' + nom + ' !');
finproc;
...
bonjour;
Une fonction est un regroupement d'instructions mais qui renvoie un résultat qui peut être stocké dans une variable ou utilisé directement dans une instruction.
fonction majeur(âge : entier) : booléen
debfonc
si âge < 18 alors
retour faux;
sinon
retour vrai;
finsi;
finfonc;
...
estmajeur := majeur(25);vrai
si majeur(12) alors...faux
afficher()
est une procédure
lire(var)
est une fonction puisqu'elle renvoie une chaîne de caractère.
fonction saisieNombre() : entier
nombre : entier;
debfonc
afficher('Entrer un nombre !');
lire(nombre);
retour nombre;
finfonc;
procédure calculPuissance(message : chaîne)
x, y : entier;
debproc
afficher(message);
x = saisieNombre();
y = saisieNombre();
afficher(x + ' ^ ' + y + ' = ' + puissance(x,y));
finproc;
fonction puissance(a : entier, b : entier) : entier
resultat, i : entier;
debfonc
resultat := 1;
i := 1;
tantque i <= b faire
resultat := resultat * a;
i := i + 1;
finfaire;
retour resultat;
finfonc;
calculPuissance('Calcul de x ^ y : ');
employe
livre
char[]
). Le type chaîne
introduit jusqu'ici peut donc être utilisé de la même manière qu'un vecteur.
|
|
... |
|
v : entier[];
a : chaine[];
t : booleen[];
v := entier[5];
v := entier[3];
v : entier[];
nb, taille : entier;
v := entier[5];
nb := v[0];
v[4] := 12;
nb := v[4];
taille := longueur(v);
nb := v[5];
longueur(v)
qui donne le nombre d'éléments d'un vecteur.
v : entier[];
...
i : entier;
i := 0;
tantque i < longueur(v) faire
faireQuelqueChoseSur(v[i]);
i := i + 1;
finfaire;
v : entier[];
...
i : entier;
pour i := 0 à longueur(v) - 1 faire
faireQuelqueChoseSur(v[i]);
finfaire;
i := longueur(v) - 1
et on décrémente i
à chaque itération jusqu'à ce qu'i
prenne la valeur 0
.
i
on a V[i+1] ≥ V[i]
i
éléments dont les éléments ont été triés, et les n - 1
éléments qui restent à trier. A chaque itération, on permute le ième élément avec le minimum du deuxième sous-vecteur.v : entier[][]; v := entier[3][3];
1 | 2 | 3 |
4 | 5 | 6 |
7 | 8 | 9 |
v[i][j]; v[2][1] => 8
.
v : entier[][];
...
i,j : entier;
i := 0;
tantque i < longueur(v) faire
j := 0;
tantque j < longueur(v[i]) faire
faireQuelqueChoseSur(v[i][j]);
j := j + 1;
finfaire;
i := i + 1;
finfaire;
v : entier[][];
...
i; j : entier;
pour i := 0 à longueur(v) - 1 faire
pour j := 0 à longueur(v[i]) - 1 faire
faireQuelqueChoseSur(v[i][j]);
finfaire
finfaire;
tantque
.