Programmation Impérative
FLIN202
Vincent BOUDET
Janvier
Avant-Propos
Sommaire
1 Avant-Propos
2 Introduction
3 Langage d’algorithme impératif
Avant-Propos
Organisation
Organisation
Il y a 11 séances de cours, de td et de tp, les tps suivent toujours les tds,
les tds/tps commencent dès que les 2 premiers cours ont eu lieu :
I si vous avez td/tp le lundi ou le mardi : début le 28 ou 29 janvier,
I sinon : début les 23, 24 ou 25 janvier.
Avant-Propos
Évaluation
Évaluation
Un premier tp noté avant les vacances de février, un second tp noté la première semaine d’avril, pas de règle du max,
les tp notés comptent ensemble pour 20, l’écrit compte pour 30.
Avant-Propos
Lecture de Livres
Résumé de poche
C précis et concisAuteurs : P. PRINZ et U. KIRCH-PRINZ Editeur : O’Reilly
Résumé de cours et exercices
Le langage CAuteur : Jean-Michel Léry Editeur : Pearson Education
Le plus complet sur C (contient beaucoup plus que IN202
Méthodologie de la programmation en C 3ème édition Auteur : Jean-Pierre BraquelaireEditeur : Dunod
Introduction
Sommaire
1 Avant-Propos
2 Introduction
Pourquoi apprendre un langage pour s’adresser à un ordinateur Pourquoi ne pas écrire une solution dans un langage de programmation Algorithme et Ordinateur
3 Langage d’algorithme impératif
Introduction Pourquoi apprendre un langage pour s’adresser à un ordinateur
Absence de référence au sens
Un ordinateur sait manipuler des formes écrites,sans référence au sens qu’elles peuvent avoir.
Un référendum
1 Formulation de la question
2 Compréhension de la question
3 Choix du bulletin OUI, NON, BLANC ou NUL
4 Comptage des réponses de chaque type
5 Application de la formule qui détermine la réponse gagnante
6 Interprétation de la réponse
Les points 4 et 5 peuvent être exécutés sans comprendre le sens de la question posée : le 4 demande de distinguer deux formes, le 5 demande de savoir appliquer des règles de calculs. Ces points sontinformatisables, i.e.
exécutables par un ordinateur.
Introduction Pourquoi apprendre un langage pour s’adresser à un ordinateur
Nécéssité d’un langage non ambigu
Les langues naturelles sont ambigües :
Exemple en français
"La belle place à l’ombre la tente."
Le verbe peut êtreplaceou bientente. Cette phrase a deux interprétations possibles, toutes deux correctes. Pour trouver la bonne, il faut avoir le contexte de la phrase et voir quel est celui des sens possibles qui convient.
Si on veut que le résultat donné par l’ordinateur soit fiable, il faut qu’il n’y ait aucune ambiguïté dans le langage qui sert à expliquer à l’ordinateur ce qu’il doit faire.
Introduction Pourquoi apprendre un langage pour s’adresser à un ordinateur
Nécéssité d’un langage non ambigu
Il faut donc avoir des langages spécifiques, beaucoup plus restreints que des langues naturelles.
Autres Exemples
"Le marchand de nougat mou."
"Le marchand de nougat moustachu."
Introduction Pourquoi apprendre un langage pour s’adresser à un ordinateur
Nécéssité d’un langage non ambigu
Il faut donc avoir des langages spécifiques, beaucoup plus restreints que des langues naturelles.
Autres Exemples
"Le marchand de nougat mou."
"Le marchand de nougat moustachu."
Introduction Pourquoi apprendre un langage pour s’adresser à un ordinateur
Catégories de langages de programmation
Tous les langages de programmation sont équivalents: si une solution à un problème donné est informatisable, on théoriquement l’écrire dans n’importe quel langage de programmation.
En pratique, il existe plusieurs catégories de langages, chacune étant plus ou moins commode pour un problème donné.
Principales catégories (par ordre chronologique d’apparition)
langages impératifs (C, Pascal,...) calculs à faire exprimés par des instructions proches de ce que sait faire la machine ;
langages fonctionnels (Lisp, Scheme,...) calculs à faire exprimés par des instructions proches d’une formulation mathématique ;
langages déclaratifs (Prolog,...) calculs à faire exprimés par des instructions proches de formules logiques ;
langages objets (C++, Java, Smalltalk,...) basés sur la structuration des données, accompagnée de calculs de types impératifs (C++, Java) ou fonctionnel (Smalltalk).
Introduction Pourquoi apprendre un langage pour s’adresser à un ordinateur
Catégories de langages de programmation
Tous les langages de programmation sont équivalents: si une solution à un problème donné est informatisable, on théoriquement l’écrire dans n’importe quel langage de programmation.
En pratique, il existe plusieurs catégories de langages, chacune étant plus ou moins commode pour un problème donné.
Principales catégories (par ordre chronologique d’apparition)
langages impératifs (C, Pascal,...) calculs à faire exprimés par des instructions proches de ce que sait faire la machine ;
langages fonctionnels (Lisp, Scheme,...) calculs à faire exprimés par des instructions proches d’une formulation mathématique ;
langages déclaratifs (Prolog,...) calculs à faire exprimés par des instructions proches de formules logiques ;
langages objets (C++, Java, Smalltalk,...) basés sur la structuration des données, accompagnée de calculs de types impératifs (C++, Java) ou fonctionnel (Smalltalk).
Introduction Pourquoi apprendre un langage pour s’adresser à un ordinateur
Catégories de langages de programmation
Tous les langages de programmation sont équivalents: si une solution à un problème donné est informatisable, on théoriquement l’écrire dans n’importe quel langage de programmation.
En pratique, il existe plusieurs catégories de langages, chacune étant plus ou moins commode pour un problème donné.
Principales catégories (par ordre chronologique d’apparition)
langages impératifs (C, Pascal,...) calculs à faire exprimés par des instructions proches de ce que sait faire la machine ;
langages fonctionnels (Lisp, Scheme,...) calculs à faire exprimés par des instructions proches d’une formulation mathématique ;
langages déclaratifs (Prolog,...) calculs à faire exprimés par des instructions proches de formules logiques ;
langages objets (C++, Java, Smalltalk,...) basés sur la structuration des données, accompagnée de calculs de types impératifs (C++, Java) ou fonctionnel (Smalltalk).
Introduction Pourquoi apprendre un langage pour s’adresser à un ordinateur
Catégories de langages de programmation
Tous les langages de programmation sont équivalents: si une solution à un problème donné est informatisable, on théoriquement l’écrire dans n’importe quel langage de programmation.
En pratique, il existe plusieurs catégories de langages, chacune étant plus ou moins commode pour un problème donné.
Principales catégories (par ordre chronologique d’apparition)
langages impératifs (C, Pascal,...) calculs à faire exprimés par des instructions proches de ce que sait faire la machine ;
langages fonctionnels (Lisp, Scheme,...) calculs à faire exprimés par des instructions proches d’une formulation mathématique ;
langages déclaratifs (Prolog,...) calculs à faire exprimés par des instructions proches de formules logiques ;
langages objets (C++, Java, Smalltalk,...) basés sur la structuration des données, accompagnée de calculs de types impératifs (C++,
Introduction Pourquoi ne pas écrire une solution dans un langage de programmation
Pourquoi ne pas écrire une solution dans un langage de programmation ?
1 La solution d’un problème se compose en général de :
I un ou plusieurs schémas de calculs ("algorithmes"),
I une ou plusieurs structures d’informations,
qui ne s’expriment pas exactement de la même façon dans tous les langages (en particulier les structures d’information).
2 chaque langage demande de fournir des informations techniques, qu’il faut ajouter à la description de la solution.
Introduction Pourquoi ne pas écrire une solution dans un langage de programmation
Il est utile d’avoir un langage intermédiaire,sans les informations
techniques, et qui gomme le plus possible les différences de détail entre les langages, pour décrire une solution.
On la traduit ensuite dans le langage voulu (et s’il faut changer de langage, on revient à elle au lieu de passer péniblement d’un langage à l’autre).
Un tel langage s’appelle unlangage d’algorithme. On en distingue au moins deux :impératifetfonctionnel.
Introduction Algorithme et Ordinateur
Définitions
Définitions
action : évènement quelconque prenant untemps finiet produisant un résultatbien définietprévu;
algorithme : description d’une suitefinied’actions, où chaque action est complètement déterminéepar celles qui la précèdent.
Exemples
Multiplication de nombres à plusieurs chiffres, recettes de cuisine, modes d’emploi...
Introduction Algorithme et Ordinateur
Principe sous-jacent
En supposant connues des notions de base (connaître et savoir écrire les chiffres) et des actions (multiplication de nombres à un chiffre, addition de nombres à plusieurs chiffres) expliquer comment faire quelque chose de plus compliqué (multiplication de nombres à plusieurs chiffres).
Important
Qui est l’exécutant ? Que connaît-il, que sait-il faire ? cf les résultats obtenus par différentes personnes avec la même recette de cuisine, ou les résultats généralement obtenus par des humains avec des modes d’emplois
apparement écrits pour/par des extraterrestres.
Il faut toujours garder à l’esprit ce que sait faire un ordinateur (pas grand chose !).
Introduction Algorithme et Ordinateur
Algorithme pour ordinateur
Un langade d’algorithme pour ordinateur contient :
des notions de base connues par l’ordinateur ;des actions élémentaires qu’un ordinateur sait faire (très peu nombreuses) ;
des moyens de composer des actions entre elles pour construire des actions plus complexes ;
un moyen de donner un nom à une action qu’on a construite pour pouvoir l’identifier, et s’en resservir sans la réécrire.
On a donc un petit répertoire d’actions totalement décrites au départ, et un grand nombre d’actions potentielles par composition et nommage (c’est ce qui distingue l’ordinateur de la machine à laver, qui n’a que des actions totalement décrites).
Langage d’algorithme impératif
Sommaire
1 Avant-Propos
2 Introduction
3 Langage d’algorithme impératif Éléments de bases
Actions élémentaires Compositions d’actions Nommage d’actions Exemples d’algorithmes
Langage d’algorithme impératif Introduction
Introduction
Les langages impératifs ont été construits en s’appuyant sur les possibilités des machines : on va trouver comme notions de base et actions élémentaires des choses directement liées à la structure logique d’un ordinateur (tous les ordinateurs ont la même, quelle que soit leur structure physique).
Un ordinateur possède une mémoire pour stocker des valeurs et des circuits pour calculer. On va trouver dans les éléments de base supposés connus :
desvariablespour représenter les cases de la mémoire,
desnombres, booléens, et caractèrespour représenter les valeurs stockées,
desopérateurspour représenter les circuits.
Langage d’algorithme impératif Éléments de bases
Constantes
Constantes
constantes entières : nombre entier appartenant à un intervalle[−α,+α], où αest une valeur liée à la machine (dans la plupart des cas pratiques actuels,α≈231−1)
constantes réelles : nombre rationnel à précision limitée, appartenant à un intervalle[−β,+β], oùβest une valeur liée à la machine (dans la plupart des cas pratiques actuels,β≈1038avec 7 ou 15 chiffres significatifs)
constantes booléennes : vrai ou faux
constantes alphanumériques : caractères ou chaîne de caractères. Un caractère est habituellement représenté entre apostrophes (exemple : a) et une chaîne entre guillemets (exemple :
"machin") ; on ne les écrits jamais sans apostrophes ou guillemets car on se les distinguerait pas des identificateurs utilisés pour nommer les variables, les fonctions, etc.
Langage d’algorithme impératif Éléments de bases
Constantes
Constantes
constantes entières : nombre entier appartenant à un intervalle[−α,+α], où αest une valeur liée à la machine (dans la plupart des cas pratiques actuels,α≈231−1)
constantes réelles : nombre rationnel à précision limitée, appartenant à un intervalle[−β,+β], oùβest une valeur liée à la machine (dans la plupart des cas pratiques actuels,β≈1038avec 7 ou 15 chiffres significatifs)
constantes booléennes : vrai ou faux
constantes alphanumériques : caractères ou chaîne de caractères. Un caractère est habituellement représenté entre apostrophes (exemple : a) et une chaîne entre guillemets (exemple :
"machin") ; on ne les écrits jamais sans apostrophes ou guillemets car on se les distinguerait pas des identificateurs utilisés pour nommer les variables, les fonctions, etc.
Langage d’algorithme impératif Éléments de bases
Constantes
Constantes
constantes entières : nombre entier appartenant à un intervalle[−α,+α], où αest une valeur liée à la machine (dans la plupart des cas pratiques actuels,α≈231−1)
constantes réelles : nombre rationnel à précision limitée, appartenant à un intervalle[−β,+β], oùβest une valeur liée à la machine (dans la plupart des cas pratiques actuels,β≈1038avec 7 ou 15 chiffres significatifs)
constantes booléennes : vrai ou faux
constantes alphanumériques : caractères ou chaîne de caractères. Un caractère est habituellement représenté entre apostrophes (exemple : a) et une chaîne entre guillemets (exemple :
"machin") ; on ne les écrits jamais sans apostrophes ou guillemets car on se les distinguerait pas des identificateurs utilisés pour nommer les variables, les fonctions, etc.
Langage d’algorithme impératif Éléments de bases
Constantes
Constantes
constantes entières : nombre entier appartenant à un intervalle[−α,+α], où αest une valeur liée à la machine (dans la plupart des cas pratiques actuels,α≈231−1)
constantes réelles : nombre rationnel à précision limitée, appartenant à un intervalle[−β,+β], oùβest une valeur liée à la machine (dans la plupart des cas pratiques actuels,β≈1038avec 7 ou 15 chiffres significatifs)
constantes booléennes : vrai ou faux
constantes alphanumériques : caractères ou chaîne de caractères. Un caractère est habituellement représenté entre apostrophes (exemple : a) et une chaîne entre guillemets (exemple :
"machin") ; on ne les écrits jamais sans apostrophes ou guillemets car on se les distinguerait pas des identificateurs
Langage d’algorithme impératif Éléments de bases
Variables
Variables
Unevariableest un identificateur associé à un morceau de mémoire.
Avant d’utiliser une variable pour la première fois, on ladéclareen donnant le nomqu’on lui a choisi et letypede valeurs qu’on mettra dans le morceau de mémoire associé.
Exemples
i entier ;t tableau de 10 éléments entiers ; z réel.
Langage d’algorithme impératif Éléments de bases
Opérateurs
Opérateurs
arithmétiques : +,−,∗, /,mod comparaison : <,≤,=,6=,≥, >
logiques : ou et non
Langage d’algorithme impératif Éléments de bases
Expressions
En utilisant des constantes, des variables, des opérateurs, des appels de sous-algorithmes (voir plus loin) et des parenthèses, on peut écrire des
expressions arithmétiquespour représenter des calculs, et desexpressions booléennespour représenter des tests.
On utilise dans ces expressions les règles de priorité habituelles pour les opérateurs. Pour des opérateurs de même niveau de priorité, l’évaluation est supposée se faire de gauche à droite.
Exemples
(3×a+2)
(1−g(b))ou(b≥12)et(c>5)
Langage d’algorithme impératif Actions élémentaires
Affectation de valeur
variable
←−
expression;
Cette action évalue l’expression et range le résultat dans la zone mémoire associée à la variable.
On peut aussi utiliser la notationvariable=expression;Dans ce cas là, il faut faire attention à ne pas confondre avec l’opérateur de comparaison.
Exemples
a←−10+b; c←−a modb; machin←−cos(πc);
Langage d’algorithme impératif Actions élémentaires
Lecture
Lire variable ;
Cette action lit une valeur sur un support extérieur (clavier...) et la range dans la zone mémoire associée à la variable.
On peut remplacer "lire a ; lire b ; lire c ;" par "lire a,b,c".
Exemples
lire toto ; Attend que l’utilisateur rentre une valeur au clavier et la stocke dans la variable toto
lire a,b ; Attend que l’utilisateur rentredeuxvaleurs (séparées par un espace ou un retour à la ligne) et les stocke dans les variables a et b.
Langage d’algorithme impératif Actions élémentaires
Écriture
Ecrire expression ;
Cette action évalue l’expression et affiche sa valeur sur un support extérieur (écran, fichier...)
On peut remplacer également "écrire a ; écrire b ; écrire c ;" par "écrire a,b,c".
Exemples
écrire a+3 ; Affiche la valeur de a+3
écrire 2*a, b, a+b ; Affiche,à la suite, les valeurs de 2a,beta+b.
Langage d’algorithme impératif Compositions d’actions
Séquence
Par défaut, les actions indiquées sont exécutées en séquence, dans l’ordre où elles sont écrites. Lorsque c’est nécessaire (voir ci-dessous), on peut créer un blocpour isoler une sous séquence en écrivant cette sous-séquence entre accolades.
Langage d’algorithme impératif Compositions d’actions
Choix
Choix à deux possibilités
siconditionalorsaction ou {séquence d’actions}
sinonaction ou {séquence d’actions}
On peut ommettre la partiesinonsi elle vide.
Exemple
si(i mod 2 = 0){ écrire "i est pair" ; }
sinon{écrire "i est impair" ; }
Langage d’algorithme impératif Compositions d’actions
Choix multiples
Choix à plus de deux possibilités
casexpressionparmivaleur : action ou {séquence d’actions}
...
valeur : action ou {séquence d’actions}
autres: action ou {séquence d’actions}
On évalue l’expression et on exécute l’action ou le bloc correspondant à la valeur trouvée si elle est dans la liste, l’action ou le bloc correspondant à autressi elle n’y est pas. On peut ommettre la partieautressi elle est vide.
Langage d’algorithme impératif Compositions d’actions
Choix multiples
Choix à plus de deux possibilités
casexpressionparmivaleur : action ou {séquence d’actions}
...
valeur : action ou {séquence d’actions}
autres: action ou {séquence d’actions}
Exemple
cas(i mod 2)parmi 0 : { écrire "i est pair" ; } 1 : {écrire "i est impair" ; } autres: {écrire "Erreur ! ! !" ;}
Langage d’algorithme impératif Compositions d’actions
Itération 1
Itération avec test au début
tant queconditionfaire action ou {séquence d’actions}Exemple
liren; p←−1 ;tant que(n> 0)faire {
p←−p×n; n←−n−1 ; }
écrirep;
Langage d’algorithme impératif Compositions d’actions
Itération 2
Itération avec test au début : cas du parcours d’un intervalle
pourvariable←−borneInitialeàborneFinalepar intervalle depasfaire action ou {séquence d’actions}
Exemple
liren; S←−0 ;pour(i ←−1)ànpar intervalle de1faire {
S←−S+i; }
écrireS;
Langage d’algorithme impératif Compositions d’actions
Itération 2
Itération avec test à la fin
faireaction ou {séquence d’actions}
tant quecondition ;
Exemple
faire {
écrire "Entrer un nombre positif " ; lirea;
}
tant quea≤0 ; écrireS;
Langage d’algorithme impératif Compositions d’actions
1-er exemple
cas 1
n←−20 ;tant quen mod 2=0faire {
n←−n/2 ; }
écriren;
Cet exemple affiche5.
cas 2
n←−20 ; faire {n←−n/2 ; }
tant quen mod 2=0 ; écriren;
Cet exemple affiche5.
Langage d’algorithme impératif Compositions d’actions
2-ème exemple
cas 1
n←−19 ;tant quen mod 2=0faire {
n←−n/2 ; }
écriren;
Cet exemple affiche19.
cas 2
n←−19 ; faire {n←−n/2 ; }
tant quen mod 2=0 ; écriren;
Cet exemple affiche9.5.
Langage d’algorithme impératif Nommage d’actions
Cette section sera traitée dans le chapitre "sous-algoritmes et fonctions"
définir une nouvelle action sous-algorithmeidentificateur
paramêtres non modifiés : descriptions de paramêtres formels paramêtres modifiés : descriptions de paramêtres formels valeur retournée : description de la valeur ourien
{actions, et déclarations de variables utilisées uniquement dans ces actions}
Utiliser une action définie
I s’il n’y a pas de valeur retournée :
identificateur(liste de paramêtres effectifs non modifiés et modifiés) ;
I s’il y a une valeur retournée :
variable←−identificateur(liste de paramêtres effectifs non modifiés et modifiés) ;
Langage d’algorithme impératif Nommage d’actions
L’idée est de donner un nom à un ensemble d’actions qui forme un
sous-ensemble logique de l’algorithme entier, et d’utiliser ensuite ce nom pour demander l’exécution de l’ensemble.
Les paramêtres permettent de faire quelque chose de plus abstrait en ne donnant pas explicitement dans la définition du sous-algorithme le nom de certaines variables utilisées par ailleurs dans l’algorithme, mais en disant simplement : "une variable de tel type". À chaque utilisation, on doit préciser quels sont les vrais noms qui servent pour cette fois-là.
Langage d’algorithme impératif Exemples d’algorithmes
PGCD
Données :
aet
btels que
a≥
b≥ 0
{entiers a, b, rlire a, b ; si (b=0)
alors {écrire a ;}
sinon {
r←−a modulo b ; tant que (r6=0) faire {
a←−b ; b←−r ; r←−a modulo b ; }
écrire b ; }
}
Langage d’algorithme impératif Exemples d’algorithmes
PGCD
Données :
aet
btels que
a≥
b≥ 0
{ entiers a, b, rlire a, b ; si (b=0)
alors {écrire a ;}
sinon {
r←−a modulo b ; tant que (r6=0) faire {
a←−b ; b←−r ; r←−a modulo b ; }
écrire b ; }
Langage d’algorithme impératif Exemples d’algorithmes
PGCD
Données :
aet
btels que
a≥
b≥ 0
{ entiers a, b, rlire a, b ; si (b=0)
alors {écrire a ;}
sinon {
r←−a modulo b ; tant que (r6=0) faire {
a←−b ; b←−r ; r←−a modulo b ; }
écrire b ; }
}
Langage d’algorithme impératif Exemples d’algorithmes
PGCD
Données :
aet
btels que
a≥
b≥ 0
{ entiers a, b, rlire a, b ; si (b=0)
alors {écrire a ;}
sinon {
r←−a modulo b ; tant que (r6=0) faire {
a←−b ; b←−r ; r←−a modulo b ; }
écrire b ; }
Langage d’algorithme impératif Exemples d’algorithmes
PGCD
Données :
aet
btels que
a≥
b≥ 0
{ entiers a, b, rlire a, b ; si (b=0)
alors {écrire a ;}
sinon {
r←−a modulo b ; tant que (r6=0) faire {
a←−b ; b←−r ; r←−a modulo b ; }
écrire b ; }
}
Langage d’algorithme impératif Exemples d’algorithmes
PGCD
Données :
aet
btels que
a≥
b≥ 0
{ entiers a, b, rlire a, b ; si (b=0)
alors {écrire a ;}
sinon {
r←−a modulo b ; tant que (r6=0) faire {
a←−b ; b←−r ; r←−a modulo b ; }
écrire b ; }
Langage d’algorithme impératif Exemples d’algorithmes
PGCD
Données :
aet
btels que
a≥
b≥ 0
{ entiers a, b, rlire a, b ; si (b=0)
alors {écrire a ;}
sinon {
r←−a modulo b ; tant que (r6=0) faire {
a←−b ; b←−r ; r←−a modulo b ; }
écrire b ; }
}
Langage d’algorithme impératif Exemples d’algorithmes
PGCD
Données :
aet
btels que
a≥
b≥ 0
{ entiers a, b, rlire a, b ; si (b=0)
alors {écrire a ;}
sinon {
r←−a modulo b ; tant que (r6=0) faire {
a←−b ; b←−r ; r←−a modulo b ; }
écrire b ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de 10 nombres rangé dans un tableau
Données : 10 nombres
{entier i ; réel s ; nb tableau de 10 réels ; pouri ←−0 à 9 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 à 9 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de 10 nombres rangé dans un tableau
Données : 10 nombres
{entier i ; réel s ; nb tableau de 10 réels ; pouri←−0à9par pas de1faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 à 9 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de 10 nombres rangé dans un tableau
Données : 10 nombres
{entier i ; réel s ; nb tableau de 10 réels ; pouri ←−0 à 9 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 à 9 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de 10 nombres rangé dans un tableau
Données : 10 nombres
{entier i ; réel s ; nb tableau de 10 réels ; pouri ←−0 à 9 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 à 9 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de 10 nombres rangé dans un tableau
Données : 10 nombres
{entier i ; réel s ; nb tableau de 10 réels ; pouri ←−0 à 9 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri←−0à9par pas de1faire {
s←−s + nb[i] ; }
écrire s ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de 10 nombres rangé dans un tableau
Données : 10 nombres
{entier i ; réel s ; nb tableau de 10 réels ; pouri ←−0 à 9 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 à 9 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de 10 nombres rangé dans un tableau
Données : 10 nombres
{entier i ; réel s ; nb tableau de 10 réels ; pouri ←−0 à 9 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 à 9 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ;
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri←−0àn−1par pas de1faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ;
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ;
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri←−0àn−1par pas de1faire {
s←−s + nb[i] ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ;
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
Langage d’algorithme impératif Exemples d’algorithmes
Somme de n nombres rangé dans un tableau
Données :
nnombres
{entier i, n ; réel s ; lire n ;
nb tableau de n réels ;
pouri ←−0 àn−1 par pas de 1 faire {
lire nb[i] ; }
s←−0 ;
pouri ←−0 àn−1 par pas de 1 faire {
s←−s + nb[i] ; }
écrire s ;