Vous êtes sur la page 1sur 504

Prod.

logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithmique
F. Barr . Favier V. Lozano
nise

Anne universitaire 2008-2009

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles Types structurs

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles Types structurs Routines

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles Types structurs Routines

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Production de logiciels Introduction Programme excutable Programme source Langages compils Langages interprts Interprts ou compils ?

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Produire un logiciel
Comment fait-on ?

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Produire un logiciel
Comment fait-on ? on doit crire un programme source dans un langage de programmation

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Produire un logiciel
Comment fait-on ? on doit crire un programme source dans un langage de programmation ce programme doit tre traduit pour tre excut sur la machine

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Produire un logiciel
Comment fait-on ? on doit crire un programme source dans un langage de programmation ce programme doit tre traduit pour tre excut sur la machine Traduction et excution Deux solutions :

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Produire un logiciel
Comment fait-on ? on doit crire un programme source dans un langage de programmation ce programme doit tre traduit pour tre excut sur la machine Traduction et excution Deux solutions : 1 traduire le source en un chier excutable cest lopration de compilation

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Produire un logiciel
Comment fait-on ? on doit crire un programme source dans un langage de programmation ce programme doit tre traduit pour tre excut sur la machine Traduction et excution Deux solutions : 1 traduire le source en un chier excutable cest lopration de compilation 2 demander un programme de le faire la vole cest lopration dinterprtation

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Compilation
Source Excutable

Traduction

Principe gnral on traduit un chier source en chier excutable

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Compilation
Source Excutable

Traduction

Principe gnral on traduit un chier source en chier excutable chaque instruction en langage volu est traduite en langage machine

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Compilation
Source Excutable

Traduction

Principe gnral on traduit un chier source en chier excutable chaque instruction en langage volu est traduite en langage machine

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Compilation
Source Excutable

Traduction

Principe gnral on traduit un chier source en chier excutable chaque instruction en langage volu est traduite en langage machine

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Compilation
Source Excutable

Traduction

Principe gnral on traduit un chier source en chier excutable chaque instruction en langage volu est traduite en langage machine

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Compilation
Source Excutable

Traduction

Principe gnral on traduit un chier source en chier excutable chaque instruction en langage volu est traduite en langage machine

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Compilation
Source Excutable

Excution

Traduction

Principe gnral on traduit un chier source en chier excutable chaque instruction en langage volu est traduite en langage machine lexcutable peut ensuite tre lanc par lOS

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Interprtation
Source

Traduction

Principe gnral chaque instruction est traduite et excute la vole

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Interprtation
Source

Traduction

Principe gnral chaque instruction est traduite et excute la vole chaque instruction en langage volu

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Interprtation
Source Excution

Traduction

Principe gnral chaque instruction est traduite et excute la vole chaque instruction en langage volu
est traduite en langage machine puis excute

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Interprtation
Source Excution Excution

Traduction

Principe gnral chaque instruction est traduite et excute la vole chaque instruction en langage volu
est traduite en langage machine puis excute

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Interprtation
Source Excution Excution Excution

Traduction

Principe gnral chaque instruction est traduite et excute la vole chaque instruction en langage volu
est traduite en langage machine puis excute

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Interprtation
Source Excution Excution Excution Excution Traduction

Principe gnral chaque instruction est traduite et excute la vole chaque instruction en langage volu
est traduite en langage machine puis excute

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Production de logiciels Introduction Programme excutable Programme source Langages compils Langages interprts Interprts ou compils ?

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Programme excutable

Dnition Cest un chier dans un format propre chaque machine virtuelle Il contient :

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Programme excutable

Dnition Cest un chier dans un format propre chaque machine virtuelle Il contient : 1 des instructions en langage machine pour la machine cible

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Programme excutable

Dnition Cest un chier dans un format propre chaque machine virtuelle Il contient : 1 des instructions en langage machine pour la machine cible 2 des informations destines au systme, pour :

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Programme excutable

Dnition Cest un chier dans un format propre chaque machine virtuelle Il contient : 1 des instructions en langage machine pour la machine cible 2 des informations destines au systme, pour :
le chargement en mmoire virtuelle

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Programme excutable

Dnition Cest un chier dans un format propre chaque machine virtuelle Il contient : 1 des instructions en langage machine pour la machine cible 2 des informations destines au systme, pour :
le chargement en mmoire virtuelle la cration du processus

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Fichier excutable

Machine virtuelle

GF

Noyau

~ tmp oneko

bin

GP GM Machine

Excution

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Fichier excutable

Machine virtuelle

GF

Noyau

~ tmp oneko

bin

GP GM Machine

Excution localisation du chier excutable

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Fichier excutable
Processus oneko Machine virtuelle

GF

Noyau

~ tmp oneko

bin

GP GM Machine

Excution localisation du chier excutable chargement en mmoire cration dun processus

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Fichier excutable
Processus oneko Machine virtuelle

GF

Noyau

~ tmp oneko

bin

GP GM Machine

Excution localisation du chier excutable chargement en mmoire cration dun processus

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Fichier excutable
Processus oneko Machine virtuelle

GF

Noyau

~ tmp oneko

bin

GP GM Machine

Excution localisation du chier excutable chargement en mmoire cration dun processus une fois lanc il ny a plus daccs lexcutable

Prod. logiciels Intro. algo. Programme excutable

Langage algo.

Structures de contrles

Types structurs

Routines

Fichier excutable

Machine virtuelle

GF

Noyau

~ tmp oneko

bin

GP GM Machine

Excution localisation du chier excutable chargement en mmoire cration dun processus une fois lanc il ny a plus daccs lexcutable

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Production de logiciels Introduction Programme excutable Programme source Langages compils Langages interprts Interprts ou compils ?

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

Programme source
Programme source

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

Programme source
Programme source constitu dun ou plusieurs chiers texte

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

Programme source
Programme source constitu dun ou plusieurs chiers texte chacun contenant des instructions en langage volu

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

Programme source
Programme source constitu dun ou plusieurs chiers texte chacun contenant des instructions en langage volu Fichier texte

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

Programme source
Programme source constitu dun ou plusieurs chiers texte chacun contenant des instructions en langage volu Fichier texte contient uniquement les codes des caractres qui le composent (cf. cours de 2e anne)

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

Programme source
Programme source constitu dun ou plusieurs chiers texte chacun contenant des instructions en langage volu Fichier texte contient uniquement les codes des caractres qui le composent (cf. cours de 2e anne) cr par un diteur de texte

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

Programme source
Programme source constitu dun ou plusieurs chiers texte chacun contenant des instructions en langage volu Fichier texte contient uniquement les codes des caractres qui le composent (cf. cours de 2e anne) cr par un diteur de texte Exemple un chier contenant : ab cd sera compos des octets : 97 98 32 99 100

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte

Processus diteur

Excution dun diteur Cration dun processus

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur

Processus diteur

donnes de lditeur

Excution dun diteur Cration dun processus et de sa mmoire virtuelle

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur

Charger
Processus diteur

donnes de lditeur

Charger Contenu du chier Mmoire

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur

Charger
Processus diteur

... donnes de lditeur ... bidule.dat

donnes disque 97 98 32 99 100

Charger Contenu du chier Mmoire

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur

Charger
Processus diteur

... donnes de lditeur 97 98 32 99 100 ... bidule.dat

donnes disque 97 98 32 99 100

Charger

Charger Contenu du chier Mmoire

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur

Sauver Charger
Processus diteur

... donnes de lditeur 97 98 32 99 100 ... bidule.dat

donnes disque 97 98 32 99 100

Charger

Sauver Mmoire Contenu du chier

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur

Sauver Charger
Processus diteur

... donnes de lditeur 97 98 32 99 100 ... Sauver Charger bidule.dat

donnes disque 97 98 32 99 100

Sauver Mmoire Contenu du chier

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur Afficher Sauver Charger
Processus diteur

... donnes de lditeur 97 98 32 99 100 ... Sauver Charger bidule.dat

donnes disque 97 98 32 99 100

Acher Code caractre en mmoire caractre lcran

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur Afficher Sauver Charger
Processus diteur

ab cd

Afficher

... donnes de lditeur 97 98 32 99 100 ... Sauver Charger bidule.dat

donnes disque 97 98 32 99 100

Acher Code caractre en mmoire caractre lcran

Prod. logiciels Intro. algo. Programme source

Langage algo.

Structures de contrles

Types structurs

Routines

diteur de texte
Mmoire virtuelle code de lditeur Afficher Modifier Sauver Charger
Processus diteur

ab cd

Afficher Modifier

... donnes de lditeur 97 98 32 99 100 ... Sauver Charger bidule.dat

donnes disque 97 98 32 99 100

Modier Clavier code caractre en mmoire

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Production de logiciels Introduction Programme excutable Programme source Langages compils Langages interprts Interprts ou compils ?

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Langages compils

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Langages compils
Programme Source

on crit le programme source

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Langages compils
Programme Source

diteur de texte

on crit le programme source avec un diteur de texte

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Langages compils
Programme Source Programme Excutable

diteur de texte

1 2

on crit le programme source avec un diteur de texte on produit lexcutable

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Langages compils
Programme Source Compilateur : Traduction Programme Excutable

diteur de texte

1 2

on crit le programme source avec un diteur de texte on produit lexcutable avec un compilateur

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Langages compils
Programme Source Compilateur : Traduction Programme Excutable

diteur de texte

Excution

1 2 3

on crit le programme source avec un diteur de texte on produit lexcutable avec un compilateur cest le systme qui excute le programme

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Langages compils
Programme Source Compilateur : Traduction Programme Excutable

diteur de texte

Excution

1 2 3

on crit le programme source avec un diteur de texte on produit lexcutable avec un compilateur cest le systme qui excute le programme

Exemple les langages C & C++ le langage Pascal

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Mise au point

Cycle de production
dition Source

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Mise au point

Cycle de production
dition Source Compilation

Erreurs de syntaxe ?

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Mise au point

Cycle de production
dition Source Compilation

oui

Erreurs de syntaxe ?

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Mise au point

Cycle de production
dition Source Compilation

oui

Erreurs de syntaxe ?

non Excutable

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Mise au point

Cycle de production
dition Source Compilation

oui

Erreurs de syntaxe ?

non Excutable

Excution

Rsultats errons ?

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Mise au point

Cycle de production
dition Source Compilation

oui

Erreurs de syntaxe ?

non Excutable

Excution

oui

Rsultats errons ?

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langages compils
Mise au point

Cycle de production
dition Source Compilation

oui

Erreurs de syntaxe ?

non Excutable

Excution

oui

Rsultats errons ?

non

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langage compils
Vu du systme dexploitation

Machine virtuelle

GF

Noyau

~ tmp oneko

bin

GP GM

truc.c

Machine

Le compilateur cest un excutable (ici gcc) cest lui qui va traduire le source (ici truc.c)

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langage compils
Vu du systme dexploitation

Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc

GP GM

truc.c

Machine

Le compilateur cest un excutable (ici gcc) cest lui qui va traduire le source (ici truc.c)

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langage compils
Vu du systme dexploitation

Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc

GP GM

truc.c

Machine

Le compilateur cest un excutable (ici gcc) cest lui qui va traduire le source (ici truc.c)

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langage compils
Vu du systme dexploitation
Processus gcc Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc

GP GM

truc.c

Machine

Le compilateur cest un excutable (ici gcc) cest lui qui va traduire le source (ici truc.c)

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langage compils
Vu du systme dexploitation
Processus gcc Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc

GP GM

truc.c

Machine

Le compilateur il lit et vrie les instructions du source

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langage compils
Vu du systme dexploitation
Processus gcc Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc

GP GM

truc.c

truc

Machine

Le compilateur il lit et vrie les instructions du source et cre un excutable (ici truc)

Prod. logiciels Intro. algo. Langages compils

Langage algo.

Structures de contrles

Types structurs

Routines

Langage compils
Vu du systme dexploitation

Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc

GP GM

truc.c

truc

Machine

Le compilateur il lit et vrie les instructions du source et cre un excutable (ici truc)

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Production de logiciels Introduction Programme excutable Programme source Langages compils Langages interprts Interprts ou compils ?

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Langages interprts

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Langages interprts
Programme Source

on crit le programme source

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Langages interprts
diteur de texte Programme Source

on crit le programme source avec un diteur de texte

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Langages interprts
diteur de texte Programme Source Interprteur : Traduction & excution

1 2

on crit le programme source avec un diteur de texte linterprteur traduit et excute le source

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Langages interprts
diteur de texte Programme Source Interprteur : Traduction & excution

1 2

on crit le programme source avec un diteur de texte linterprteur traduit et excute le source

Exemple Pike, Perl, Python... les langages de commandes

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Mise au point

Cycle de production
dition Source

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Mise au point

Cycle de production
dition Source Interprtation

Erreurs de syntaxe ?

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Mise au point

Cycle de production
dition Source Interprtation

oui

Erreurs de syntaxe ?

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Mise au point

Cycle de production
dition Source Interprtation

oui

Erreurs de syntaxe ? non Rsultats errons ?

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Mise au point

Cycle de production
dition Source Interprtation

oui

Erreurs de syntaxe ? non

oui

Rsultats errons ?

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Mise au point

Cycle de production
dition Source Interprtation

oui

Erreurs de syntaxe ? non

oui

Rsultats errons ?

non

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Vu du systme dexploitation

Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc

GP GM
bidule.pike

Machine

Linterprteur cest un excutable (ici pike)

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Vu du systme dexploitation

Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc pike

GP GM
bidule.pike

Machine

Linterprteur cest un excutable (ici pike)

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Vu du systme dexploitation

Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc pike

GP GM
bidule.pike

Machine

Linterprteur cest un excutable (ici pike)

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Vu du systme dexploitation
Processus pike Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc pike

GP GM
bidule.pike

Machine

Linterprteur cest un excutable (ici pike) il va traduire et excuter le source (ici bidule.pike)

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Vu du systme dexploitation
Processus pike Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc pike

GP GM
bidule.pike

Machine

Linterprteur il lit, vrie et excute chaque instruction du source

Prod. logiciels Intro. algo. Langages interprts

Langage algo.

Structures de contrles

Types structurs

Routines

Langages interprts
Vu du systme dexploitation

Machine virtuelle

GF

Noyau

~ tmp oneko

bin gcc pike

GP GM
bidule.pike

Machine

Linterprteur il lit, vrie et excute chaque instruction du source il ne cre pas dexcutable

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Production de logiciels Introduction Programme excutable Programme source Langages compils Langages interprts Interprts ou compils ?

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interprts ou compils
Caractristiques

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interprts ou compils
Caractristiques les programmes compils sont plus rapides excuter

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interprts ou compils
Caractristiques les programmes compils sont plus rapides excuter la mise au point des programmes interprts est plus rapide

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interprts ou compils
Caractristiques les programmes compils sont plus rapides excuter la mise au point des programmes interprts est plus rapide La portabilit Cest rpondre la question : Un programme crit dans un langage L peut-il facilement tre utilis sur une autre machine virtuelle

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils

Machine Virtuelle A/X SE A


windows

Arch X
intel

Ordinateur 1

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils
Source

Compilateur A/X Excutable A/X Machine Virtuelle A/X SE A


windows

Arch X
intel

Ordinateur 1

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils
Source

Compilateur A/X Excutable A/X Machine Virtuelle A/X SE A


windows

Machine Virtuelle A/X SE A


windows

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Portabilit de lexcutable

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils

Excutable A/X Machine Virtuelle A/X SE A


windows

Machine Virtuelle A/X SE A


windows

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Portabilit de lexcutable il est autonome (pas besoin du source pour tre excut)

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils

Excutable A/X Machine Virtuelle A/X SE A


windows

Machine Virtuelle A/X SE A


windows

Machine Virtuelle B/X SE B linux Arch X


intel

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portabilit de lexcutable il est autonome (pas besoin du source pour tre excut) il est destin une machine virtuelle

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils
Source

Compilateur A/X Excutable A/X Machine Virtuelle A/X SE A


windows

Machine Virtuelle A/X SE A


windows

Machine Virtuelle B/X SE B linux Arch X


intel

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source avec certaines restrictions, on peut compiler un source sur nimporte quelle machine virtuelle il faut disposer du compilateur pour cette machine

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils
Source

Compilateur A/X Excutable A/X Machine Virtuelle A/X SE A


windows

Excutable B/X Machine Virtuelle B/X SE B linux Arch X


intel

Machine Virtuelle A/X SE A


windows

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source avec certaines restrictions, on peut compiler un source sur nimporte quelle machine virtuelle il faut disposer du compilateur pour cette machine

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils
Source

Compilateur A/X Excutable A/X Machine Virtuelle A/X SE A


windows

Compilateur B/X Excutable B/X Machine Virtuelle B/X SE B linux Arch X


intel

Machine Virtuelle A/X SE A


windows

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source avec certaines restrictions, on peut compiler un source sur nimporte quelle machine virtuelle il faut disposer du compilateur pour cette machine

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils
Source

Compilateur A/X Excutable A/X Machine Virtuelle A/X SE A


windows

Compilateur B/X Excutable B/X Machine Virtuelle B/X SE B linux Arch X


intel

Machine Virtuelle A/X SE A


windows

Machine Virtuelle B/Y SE B linux Arch Y sparc Ordinateur 4

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source avec certaines restrictions, on peut compiler un source sur nimporte quelle machine virtuelle il faut disposer du compilateur pour cette machine

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils
Source

Compilateur A/X Excutable A/X Machine Virtuelle A/X SE A


windows

Compilateur B/X Excutable B/X Machine Virtuelle B/X SE B linux Arch X


intel

Excutable B/Y Machine Virtuelle B/Y SE B linux Arch Y sparc Ordinateur 4

Machine Virtuelle A/X SE A


windows

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source avec certaines restrictions, on peut compiler un source sur nimporte quelle machine virtuelle il faut disposer du compilateur pour cette machine

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes compils
Source

Compilateur A/X Excutable A/X Machine Virtuelle A/X SE A


windows

Compilateur B/X Excutable B/X Machine Virtuelle B/X SE B linux Arch X


intel

Compilateur B/Y Excutable B/Y Machine Virtuelle B/Y SE B linux Arch Y sparc Ordinateur 4

Machine Virtuelle A/X SE A


windows

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source avec certaines restrictions, on peut compiler un source sur nimporte quelle machine virtuelle il faut disposer du compilateur pour cette machine

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes interprts
Source

Interprteur A/X Machine Virtuelle A/X SE A


windows

Arch X
intel

Ordinateur 1

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes interprts
Source

Interprteur A/X Machine Virtuelle A/X SE A


windows

Machine Virtuelle A/X SE A


windows

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes interprts
Source

Interprteur A/X Machine Virtuelle A/X SE A


windows

Interprteur A/X Machine Virtuelle A/X SE A


windows

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Portablit du source il faut disposer de linterprteur pour chaque machine virtuelle

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes interprts
Source

Interprteur A/X Machine Virtuelle A/X SE A


windows

Interprteur A/X Machine Virtuelle A/X SE A


windows

Machine Virtuelle B/X SE B linux Arch X


intel

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source il faut disposer de linterprteur pour chaque machine virtuelle

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes interprts
Source

Interprteur A/X Machine Virtuelle A/X SE A


windows

Interprteur A/X Machine Virtuelle A/X SE A


windows

Interprteur B/X Machine Virtuelle B/X SE B linux Arch X


intel

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source il faut disposer de linterprteur pour chaque machine virtuelle

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes interprts
Source

Interprteur A/X Machine Virtuelle A/X SE A


windows

Interprteur A/X Machine Virtuelle A/X SE A


windows

Interprteur B/X Machine Virtuelle B/X SE B linux Arch X


intel

Machine Virtuelle B/Y SE B linux Arch Y sparc Ordinateur 4

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source il faut disposer de linterprteur pour chaque machine virtuelle

Prod. logiciels Intro. algo. Interprts ou compils ?

Langage algo.

Structures de contrles

Types structurs

Routines

Interpts ou compils
Portabilit des programmes interprts
Source

Interprteur A/X Machine Virtuelle A/X SE A


windows

Interprteur A/X Machine Virtuelle A/X SE A


windows

Interprteur B/X Machine Virtuelle B/X SE B linux Arch X


intel

Interprteur B/Y Machine Virtuelle B/Y SE B linux Arch Y sparc Ordinateur 4

Arch X
intel

Arch X
intel

Ordinateur 1

Ordinateur 2

Ordinateur 3

Portablit du source il faut disposer de linterprteur pour chaque machine virtuelle

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles Types structurs Routines

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Introduction lalgorithmique Gnralits Algorithmique et programmation

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC) Al Khuwarizmi, mathmaticien perse (VIIe sicle)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC) Al Khuwarizmi, mathmaticien perse (VIIe sicle) Averros, savant arabe (XIIe sicle)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC) Al Khuwarizmi, mathmaticien perse (VIIe sicle) Averros, savant arabe (XIIe sicle) Adelard de Bath, moine anglais introduit le terme algorismus

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC) Al Khuwarizmi, mathmaticien perse (VIIe sicle) Averros, savant arabe (XIIe sicle) Adelard de Bath, moine anglais introduit le terme algorismus Ren Descartes, philosophe franais (XVIIe sicle)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC) Al Khuwarizmi, mathmaticien perse (VIIe sicle) Averros, savant arabe (XIIe sicle) Adelard de Bath, moine anglais introduit le terme algorismus Ren Descartes, philosophe franais (XVIIe sicle) Gottfried Wilhelm von Leibniz (16461716)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC) Al Khuwarizmi, mathmaticien perse (VIIe sicle) Averros, savant arabe (XIIe sicle) Adelard de Bath, moine anglais introduit le terme algorismus Ren Descartes, philosophe franais (XVIIe sicle) Gottfried Wilhelm von Leibniz (16461716) Ada Lovelace (18151852)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC) Al Khuwarizmi, mathmaticien perse (VIIe sicle) Averros, savant arabe (XIIe sicle) Adelard de Bath, moine anglais introduit le terme algorismus Ren Descartes, philosophe franais (XVIIe sicle) Gottfried Wilhelm von Leibniz (16461716) Ada Lovelace (18151852) Georges Boole (18151864)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Histoire
Do vient lalgorithmique des traces chez les Babyloniens ( 2000 ans avant JC) Euclide ( 200 avant JC) Al Khuwarizmi, mathmaticien perse (VIIe sicle) Averros, savant arabe (XIIe sicle) Adelard de Bath, moine anglais introduit le terme algorismus Ren Descartes, philosophe franais (XVIIe sicle) Gottfried Wilhelm von Leibniz (16461716) Ada Lovelace (18151852) Georges Boole (18151864) Alan Tring, mathmaticien anglais (19121954)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Dnition du terme algorithme

De nombreuses dnitions possibles succession doprations qui, si elles sont dlement excutes, produiront le rsultat souhait

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Dnition du terme algorithme

De nombreuses dnitions possibles succession doprations qui, si elles sont dlement excutes, produiront le rsultat souhait succession dinstructions qui, si elles sont dlement excutes par le processeur permettront de rsoudre le problme donn

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Dnition du terme algorithme

De nombreuses dnitions possibles succession doprations qui, si elles sont dlement excutes, produiront le rsultat souhait succession dinstructions qui, si elles sont dlement excutes par le processeur permettront de rsoudre le problme donn ...

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithmique : notion indpendante de linformatique

Remarque Lordinateur nest quun processeur particulier, qui prsente de nombreuses qualits (vitesse, abilit, mmoire, faible cot) Des exemples dalgorithmes
Problme Faire un gteau Faire un vtement Usiner une pice Jouer une sonate de Beethoven Algorithme recette patron gamme dusinage partition Instruction battre les blancs en neige surler les manches changer doutil (note)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithme & programme

Deux choses direntes... Problme : faire une tarte aux fraises

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithme & programme

Deux choses direntes... Problme : faire une tarte aux fraises Algorithme : recette (universelle)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithme & programme

Deux choses direntes... Problme : faire une tarte aux fraises Algorithme : recette (universelle) Programme : recette en anglais, recette en franais

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithme & programme

Deux choses direntes... Problme : faire une tarte aux fraises Algorithme : recette (universelle) Programme : recette en anglais, recette en franais Processeur : anglophone ou francophone

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithme & programme

Dnitions en informatique Algorithme : description relativement indpendante du langage de programmation du traitement mettre en uvre pour rsoudre un problme donn

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithme & programme

Dnitions en informatique Algorithme : description relativement indpendante du langage de programmation du traitement mettre en uvre pour rsoudre un problme donn Programme : algorithme traduit dans un langage de programmation particulier, pour tre ensuite excut par un ordinateur

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithme & programme

Dnitions en informatique Algorithme : description relativement indpendante du langage de programmation du traitement mettre en uvre pour rsoudre un problme donn Programme : algorithme traduit dans un langage de programmation particulier, pour tre ensuite excut par un ordinateur Implmentation : traduction dun algorithme en programme

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithmique
Dnitions complmentaires

Dirents domaines dtudes Conception des algorithmes

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithmique
Dnitions complmentaires

Dirents domaines dtudes Conception des algorithmes Calculabilit des problmes

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithmique
Dnitions complmentaires

Dirents domaines dtudes Conception des algorithmes Calculabilit des problmes Complexit des algorithmes

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Algorithmique
Dnitions complmentaires

Dirents domaines dtudes Conception des algorithmes Calculabilit des problmes Complexit des algorithmes Exactitude des algorithmes

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Sommaire

Introduction lalgorithmique Gnralits Algorithmique et programmation

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme

Phases de la production 1 conception de lalgorithme rsolvant le problme de dpart

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme

Phases de la production 1 conception de lalgorithme rsolvant le problme de dpart 2 traduction de lalgorithme en langage de programmation

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme

Phases de la production 1 conception de lalgorithme rsolvant le problme de dpart 2 traduction de lalgorithme en langage de programmation 3 mise au point du programme excutable

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Algorithme

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Algorithme

Codage ou implmentation

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Algorithme

Codage ou implmentation

Programme

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Algorithme

Codage ou implmentation

Programme

Traduction et excution

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Algorithme

Codage ou implmentation

Programme erreurs de syntaxe

Traduction et excution

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Algorithme

Codage ou implmentation

Programme erreurs de syntaxe

Traduction et excution

Rsultats

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Algorithme

Codage ou implmentation

Programme erreurs de syntaxe

Traduction et excution

Rsultats Evaluation

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme

Algorithme

Codage ou implmentation

Programme erreurs de syntaxe

Traduction et excution

Rsultats Evaluation rsultats inattendus

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Production dun programme


Problme Conception de lalgorithme erreurs algorithmiques

Algorithme

Codage ou implmentation

Programme erreurs de syntaxe

Traduction et excution

Rsultats Evaluation rsultats inattendus

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Utilit des algorithmes


Pourquoi crire des algorithmes ? Ils permettent de sparer, lors de la programmation : 1 les aspects conceptuels 2 des aspects pratiques

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Utilit des algorithmes


Pourquoi crire des algorithmes ? Ils permettent de sparer, lors de la programmation : 1 les aspects conceptuels 2 des aspects pratiques

Aspects conceptuel quelles sont les informations manipules ?

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Utilit des algorithmes


Pourquoi crire des algorithmes ? Ils permettent de sparer, lors de la programmation : 1 les aspects conceptuels 2 des aspects pratiques

Aspects conceptuel quelles sont les informations manipules ? quels sont les traitements et leur ordre ?

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Utilit des algorithmes


Pourquoi crire des algorithmes ? Ils permettent de sparer, lors de la programmation : 1 les aspects conceptuels 2 des aspects pratiques

Aspects conceptuel quelles sont les informations manipules ? quels sont les traitements et leur ordre ? quelle est la manire la plus ecace de ... ?

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Utilit des algorithmes


Pourquoi crire des algorithmes ? Ils permettent de sparer, lors de la programmation : 1 les aspects conceptuels 2 des aspects pratiques

Aspects pratiques problmes syntaxiques lis au langage de programmation

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Utilit des algorithmes


Pourquoi crire des algorithmes ? Ils permettent de sparer, lors de la programmation : 1 les aspects conceptuels 2 des aspects pratiques

Aspects pratiques problmes syntaxiques lis au langage de programmation contrainte technique lis au systme informatique

Prod. logiciels Intro. algo. Langage algo. Algorithmique et programmation

Structures de contrles

Types structurs

Routines

Utilit des algorithmes


Pourquoi crire des algorithmes ? Ils permettent de sparer, lors de la programmation : 1 les aspects conceptuels 2 des aspects pratiques

Aspects pratiques problmes syntaxiques lis au langage de programmation contrainte technique lis au systme informatique interface homme/machine

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles Types structurs Routines

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Langage algorithmique Introduction Types, constantes et variables Aectation Oprateurs et expressions Entres/Sorties
Saisie dune valeur au clavier Achage de valeurs lcran

Fonctions arithmtiques

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Introduction

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Introduction

Rappel : dnition dun algorithme Un algorithme est une succession doprations, destine tre excute par un processeur, pour rsoudre un problme donn.

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Introduction

Rappel : dnition dun algorithme Un algorithme est une succession doprations, destine tre excute par un processeur, pour rsoudre un problme donn. Si le processeur est un ordinateur :

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Introduction

Rappel : dnition dun algorithme Un algorithme est une succession doprations, destine tre excute par un processeur, pour rsoudre un problme donn. Si le processeur est un ordinateur : lalgorithme est une succession dinstructions

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Introduction

Rappel : dnition dun algorithme Un algorithme est une succession doprations, destine tre excute par un processeur, pour rsoudre un problme donn. Si le processeur est un ordinateur : lalgorithme est une succession dinstructions chaque instruction modie ltat de la machine considre (processeur, mmoire, disques...)

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Reprsentation des algorithmes

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Reprsentation des algorithmes

Deux manires On peut prsenter un algorithme sous la forme :

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Reprsentation des algorithmes

Deux manires On peut prsenter un algorithme sous la forme : dun organigramme, ou bien

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Reprsentation des algorithmes

Deux manires On peut prsenter un algorithme sous la forme : dun organigramme, ou bien en utilisant un langage algorithmique

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Reprsentation des algorithmes

Deux manires On peut prsenter un algorithme sous la forme : dun organigramme, ou bien en utilisant un langage algorithmique Parmi les objectifs de ce chapitre Apprendre crire des algorithmes en langage algorithmique

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Reprsentation des algorithmes


Langage algorithmique
Dbut

Instruction1 ...
Rpter

InstructionM+1 ... InstructionN Jusque condition


Fin

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Reprsentation des algorithmes


Langage algorithmique
Dbut

Organigramme
Dbut Instruction 1

Instruction1 ...
Rpter

Instruction M+1

InstructionM+1 ... InstructionN Jusque condition


Fin

Instruction N

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Un langage algorithmique

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Un langage algorithmique

Pourquoi un langage algorithmique ?

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Un langage algorithmique

Pourquoi un langage algorithmique ? pour se faire comprendre des autres

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Un langage algorithmique

Pourquoi un langage algorithmique ? pour se faire comprendre des autres pour saranchir des contraintes dun langage de programmation

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Un langage algorithmique

Pourquoi un langage algorithmique ? pour se faire comprendre des autres pour saranchir des contraintes dun langage de programmation Comment ?

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Un langage algorithmique

Pourquoi un langage algorithmique ? pour se faire comprendre des autres pour saranchir des contraintes dun langage de programmation Comment ? un langage maison mais universel...

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Un langage algorithmique

Pourquoi un langage algorithmique ? pour se faire comprendre des autres pour saranchir des contraintes dun langage de programmation Comment ? un langage maison mais universel... un langage souple

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Un langage algorithmique

Pourquoi un langage algorithmique ? pour se faire comprendre des autres pour saranchir des contraintes dun langage de programmation Comment ? un langage maison mais universel... un langage souple un langage destin uniquement au papier

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Langage algorithmique Introduction Types, constantes et variables Aectation Oprateurs et expressions Entres/Sorties
Saisie dune valeur au clavier Achage de valeurs lcran

Fonctions arithmtiques

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Types

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Types
Un type cest :

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Types
Un type cest : un domaine (cest--dire un ensemble de valeurs)

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Types
Un type cest : un domaine (cest--dire un ensemble de valeurs) un ensemble doprateurs associs

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Types
Un type cest : un domaine (cest--dire un ensemble de valeurs) un ensemble doprateurs associs Les types prdnis Type entier ottant caractre chane boolen Valeurs nombres entiers nombres virgule ottante caractres chane de caractres VRAI et FAUX Oprateurs arithmtiques arithmtiques concatnation boolens

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Constantes

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Constantes

Exemples de constantes Type entier ottant caractre chane boolen Exemples de constantes -2 210 21.7 0.307 2.4e5 a A | 2 "Il fait beau aujourdhui" VRAI FAUX

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de constantes

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de constantes

Comment dclarer des constantes ...


Constante

id_const1 :type=valeur1 { rle constante1 } id_const2 :type=valeur2 { rle constante2 } ... id_constN :type=valeurN { rle constanteN }

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de constantes

Exemples de dclaration
Constante

NB_ELTS_MAX = 100 { nombre dlments du tableau } NB_ELEVES:entier =47 { nombre dlves de la promotion } NOM = "Tartempion" { nom de login de lutilisateur }

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Variables

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Variables

Dnition dune variable

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Variables

Dnition dune variable cest linstanciation dun type

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Variables

Dnition dune variable cest linstanciation dun type elle rfrence une zone mmoire

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Variables

Dnition dune variable cest linstanciation dun type elle rfrence une zone mmoire elle stocke une information dun certain type

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Variables

Dnition dune variable cest linstanciation dun type elle rfrence une zone mmoire elle stocke une information dun certain type on la manipule par le biais dun identicateur

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de variables

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de variables

Syntaxe
Variable

nom variable1 :nom type1 nom variable2 :nom type2 ... nom variablen :nom typen

{ rle variable } { rle variable } { rle variable }

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de variables

Mmoire

Exemple
Variable

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de variables

Mmoire

Exemple
Variable

i:entier

{ Compteur de boucle }
i

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de variables

Mmoire

Exemple
Variable

i:entier { Compteur de boucle } mess:chane { Message derreur }

mess i

Prod. logiciels Intro. algo. Types, constantes et variables

Langage algo.

Structures de contrles

Types structurs

Routines

Dclaration de variables

Mmoire

Exemple
Variable

x mess i

i:entier { Compteur de boucle } mess:chane { Message derreur } x:ottant { Rsultat du calcul... }

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Langage algorithmique Introduction Types, constantes et variables Aectation Oprateurs et expressions Entres/Sorties
Saisie dune valeur au clavier Achage de valeurs lcran

Fonctions arithmtiques

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Laectation (ou assignation)


Dnition Laectation est une instruction qui permet de stocker une valeur dans la zone mmoire associe une variable.

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Laectation (ou assignation)


Dnition Laectation est une instruction qui permet de stocker une valeur dans la zone mmoire associe une variable. Syntaxe et terminologie Loprateur est symbolis par :

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Laectation (ou assignation)


Dnition Laectation est une instruction qui permet de stocker une valeur dans la zone mmoire associe une variable. Syntaxe et terminologie Loprateur est symbolis par :

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Laectation (ou assignation)


Dnition Laectation est une instruction qui permet de stocker une valeur dans la zone mmoire associe une variable. Syntaxe et terminologie Loprateur est symbolis par : nomVar expression

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Laectation (ou assignation)


Dnition Laectation est une instruction qui permet de stocker une valeur dans la zone mmoire associe une variable. Syntaxe et terminologie Loprateur est symbolis par : nomVar expression On dit que : la valeur de expression est aecte la variable nomVar

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Laectation (ou assignation)


Dnition Laectation est une instruction qui permet de stocker une valeur dans la zone mmoire associe une variable. Syntaxe et terminologie Loprateur est symbolis par : nomVar expression On dit que : la valeur de expression est aecte la variable nomVar la variable nomVar reoit la valeur de expression

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Excution de linstruction daectation

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Excution de linstruction daectation

nomVar expression Principe

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Excution de linstruction daectation

nomVar expression Principe 1 on value lexpression

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Excution de linstruction daectation

nomVar expression Principe 1 on value lexpression 2 on obtient une valeur V dun certain type

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Excution de linstruction daectation

nomVar expression Principe 1 on value lexpression 2 on obtient une valeur V dun certain type 3 si ce type est compatible avec le type de la variable

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Excution de linstruction daectation

nomVar expression Principe 1 on value lexpression 2 on obtient une valeur V dun certain type 3 si ce type est compatible avec le type de la variable
on stocke la valeur V dans la variable nomVar

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Excution de linstruction daectation

nomVar expression Principe 1 on value lexpression 2 on obtient une valeur V dun certain type 3 si ce type est compatible avec le type de la variable
on stocke la valeur V dans la variable nomVar c--d. dans la zone mmoire rfrence par nomVar

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

x mess i

Fin

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

x mess i

i 0

Fin

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

x mess 0 i

i 0

Fin

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

x mess 0 i

i 0 mess "Erreur !"

Fin

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

x Erreu r ! 0 mess i

i 0 mess "Erreur !"

Fin

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

x Erreu r ! 0 mess i

i 0 mess "Erreur !" x 3.14


Fin

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

3.14 Erreu r ! 0

x mess i

i 0 mess "Erreur !" x 3.14


Fin

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

3.14 Erreu r !

x mess i

i mess x x
Fin

0 "Erreur !" 3.14 x + 2.6

Prod. logiciels Aectation

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples daectations
Exemple
Variable

Mmoire

i:entier mess:chane x:ottant


Dbut

5.74 Erreu r !

x mess i

i mess x x
Fin

0 "Erreur !" 3.14 x + 2.6

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Langage algorithmique Introduction Types, constantes et variables Aectation Oprateurs et expressions Entres/Sorties
Saisie dune valeur au clavier Achage de valeurs lcran

Fonctions arithmtiques

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs et expressions
Dnition Une expression est :

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs et expressions
Dnition Une expression est : une suite doprandes

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs et expressions
Dnition Une expression est : une suite doprandes combins un ensemble doprateurs

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs et expressions
Dnition Une expression est : une suite doprandes combins un ensemble doprateurs avec ventuellement un jeux de parenthses ouvrantes et fermantes

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs et expressions
Dnition Une expression est : une suite doprandes combins un ensemble doprateurs avec ventuellement un jeux de parenthses ouvrantes et fermantes Remarque Dans une expression peuvent galement apparatre des appels de fonctions

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs arithmtiques
Oprateurs arithmtiques Oprateur + * / div ou mod ou % Opration Exemple addition 7 + 2 vaut 9 soustraction 7 - 2 vaut 5 multiplication 7 * 2 vaut 14 division 7 / 2 vaut 3.5 division entire 7 div 2 vaut 3 reste de la division entire 7 mod 2 vaut 1

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs arithmtiques
Oprateurs arithmtiques Oprateur + * / div ou mod ou % Opration Exemple addition 7 + 2 vaut 9 soustraction 7 - 2 vaut 5 multiplication 7 * 2 vaut 14 division 7 / 2 vaut 3.5 division entire 7 div 2 vaut 3 reste de la division entire 7 mod 2 vaut 1

Types des oprandes et du rsultat Oprateur * + / div mod % oprandes entier ou ottant entier ou ottant entier rsultat entier ou ottant ottant entier

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs boolens et de comparaison

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateurs boolens et de comparaison


Oprateurs boolens Oprateur NON ET OU Opration ngation conjonction disjonction Oprandes boolen boolen boolen Rsultat boolen boolen boolen

Oprateurs de comparaison
Oprateur = = >< Opration galit dirence ingalit stricte ingalit large Oprandes tout type tout type tout type tout type Rsultat boolen boolen boolen boolen

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateur de concatnation de chanes

Concatnation
Oprateur + Opration concatnation Oprandes chane Rsultat chane

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateur de concatnation de chanes

Concatnation
Oprateur + Opration concatnation Oprandes chane Rsultat chane

Par exemple ... "Il fait beau " + "aujourdhui" vaut

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Oprateur de concatnation de chanes

Concatnation
Oprateur + Opration concatnation Oprandes chane Rsultat chane

Par exemple ... "Il fait beau " + "aujourdhui" vaut "Il fait beau aujourdhui"

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

valuation des expressions


Ordre de priorit des oprateurs non * / div mod + ==<> et ou

Priorit croissante

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

valuation des expressions


Ordre de priorit des oprateurs non * / div mod + ==<> et ou

Priorit croissante

Parenthsages Lutilisation de parenthses dans les expressions permet de modier lordre dvaluation.

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Compatibilit des types


Types compatibles on ludera la question en algorithmique sauf cas vident :
Variable

c:chane i:entier
Dbut

Fin

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Compatibilit des types


Types compatibles on ludera la question en algorithmique sauf cas vident :
Variable

c:chane i:entier
Dbut

i c
Fin

{ incohrent }

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Compatibilit des types


Types compatibles on ludera la question en algorithmique sauf cas vident :
Variable

c:chane i:entier
Dbut

i c { incohrent } i entier(c) { ok }
Fin

Prod. logiciels Intro. algo. Oprateurs et expressions

Langage algo.

Structures de contrles

Types structurs

Routines

Compatibilit des types


Types compatibles on ludera la question en algorithmique sauf cas vident :
Variable

c:chane i:entier
Dbut

i c { incohrent } i entier(c) { ok }
Fin

on se posera srieusement la question en programmation

Prod. logiciels Intro. algo. Entres/Sorties

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Langage algorithmique Introduction Types, constantes et variables Aectation Oprateurs et expressions Entres/Sorties
Saisie dune valeur au clavier Achage de valeurs lcran

Fonctions arithmtiques

Prod. logiciels Intro. algo. Entres/Sorties

Langage algo.

Structures de contrles

Types structurs

Routines

Saisie dune valeur

La saisie Saisir ( nom variable ) Le fonctionnement est le suivant : 1 On attend que lutilisateur ait saisi une valeur (dun certain type) au clavier ;

Prod. logiciels Intro. algo. Entres/Sorties

Langage algo.

Structures de contrles

Types structurs

Routines

Saisie dune valeur

La saisie Saisir ( nom variable ) Le fonctionnement est le suivant : 1 On attend que lutilisateur ait saisi une valeur (dun certain type) au clavier ; 2 Si le type de cette valeur est compatible avec le type de la variable, alors on stocke la valeur dans lemplacement mmoire rfrenc par la variable.

Prod. logiciels Intro. algo. Entres/Sorties

Langage algo.

Structures de contrles

Types structurs

Routines

Achage
Achage Afficher ( expression ) ou Afficher ( expr.1 , expr.2 , ... , expr.N )

Prod. logiciels Intro. algo. Entres/Sorties

Langage algo.

Structures de contrles

Types structurs

Routines

Achage
Achage Afficher ( expression ) ou Afficher ( expr.1 , expr.2 , ... , expr.N ) Le principe
Pour chaque expression Faire

FinPour

Prod. logiciels Intro. algo. Entres/Sorties

Langage algo.

Structures de contrles

Types structurs

Routines

Achage
Achage Afficher ( expression ) ou Afficher ( expr.1 , expr.2 , ... , expr.N ) Le principe
Pour chaque expression Faire

valuer lexpression

FinPour

Prod. logiciels Intro. algo. Entres/Sorties

Langage algo.

Structures de contrles

Types structurs

Routines

Achage
Achage Afficher ( expression ) ou Afficher ( expr.1 , expr.2 , ... , expr.N ) Le principe
Pour chaque expression Faire

valuer lexpression on obtient une valeur dun certain type


FinPour

Prod. logiciels Intro. algo. Entres/Sorties

Langage algo.

Structures de contrles

Types structurs

Routines

Achage
Achage Afficher ( expression ) ou Afficher ( expr.1 , expr.2 , ... , expr.N ) Le principe
Pour chaque expression Faire

valuer lexpression on obtient une valeur dun certain type Afficher cette valeur lcran
FinPour

Prod. logiciels Intro. algo. Fonctions arithmtiques

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Langage algorithmique Introduction Types, constantes et variables Aectation Oprateurs et expressions Entres/Sorties
Saisie dune valeur au clavier Achage de valeurs lcran

Fonctions arithmtiques

Prod. logiciels Intro. algo. Fonctions arithmtiques

Langage algo.

Structures de contrles

Types structurs

Routines

Les fonctions prdnies

Prod. logiciels Intro. algo. Fonctions arithmtiques

Langage algo.

Structures de contrles

Types structurs

Routines

Les fonctions prdnies


Les fonctions prdnies PartieEntire ( expression ) renvoie la partie entire de la valeur de expression Arrondi ( expression ) renvoie la valeur de expression arrondie lentier le plus proche Racine ( expression ) renvoie la racine carre de la valeur de expression Carr ( expression ) renvoie la valeur de expression leve au carre ... ce quon veut ...

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles Types structurs Routines

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
4

Structures de contrles Introduction Structure de contrle conditionnelle


Si ... Alors Si ... Alors ... Sinon SelonQue ... vaut Choix

Structures de contrle itratives


Introduction TantQue ... Faire Rpter ... TantQue Rpter ... Jusque Pour ... Faire

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Les conditions boolennes


Conditions boolennes Dans tout ce qui suit : condition expression logique

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Les conditions boolennes


Conditions boolennes Dans tout ce qui suit : condition expression logique Oprateurs boolens Une condition contient des oprateurs boolens (connecteurs logiques) :

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Les conditions boolennes


Conditions boolennes Dans tout ce qui suit : condition expression logique Oprateurs boolens Une condition contient des oprateurs boolens (connecteurs logiques) : Non

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Les conditions boolennes


Conditions boolennes Dans tout ce qui suit : condition expression logique Oprateurs boolens Une condition contient des oprateurs boolens (connecteurs logiques) : Non Et

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Les conditions boolennes


Conditions boolennes Dans tout ce qui suit : condition expression logique Oprateurs boolens Une condition contient des oprateurs boolens (connecteurs logiques) : Non Et Ou

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Les conditions boolennes


Conditions boolennes Dans tout ce qui suit : condition expression logique Oprateurs boolens Une condition contient des oprateurs boolens (connecteurs logiques) : Non Et Ou Ou exclusif

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Traitements

Traitements Dans tout ce qui suit, un traitement correspond : soit une instruction lmentaire (aectation, E/S...)

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Traitements

Traitements Dans tout ce qui suit, un traitement correspond : soit une instruction lmentaire (aectation, E/S...) soit une squence dinstructions

Prod. logiciels Introduction

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Traitements

Traitements Dans tout ce qui suit, un traitement correspond : soit une instruction lmentaire (aectation, E/S...) soit une squence dinstructions soit une structure de contrle

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Sommaire
4

Structures de contrles Introduction Structure de contrle conditionnelle


Si ... Alors Si ... Alors ... Sinon SelonQue ... vaut Choix

Structures de contrle itratives


Introduction TantQue ... Faire Rpter ... TantQue Rpter ... Jusque Pour ... Faire

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Structures de contrle conditionnelles

Dnition appeles aussi alternative instruction compose de choix lexcution dpend de lvaluation dexpressions boolennes

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie Algorithme
Si condition Alors

traitement
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie Algorithme
Si condition Alors

traitement
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie Algorithme
Si condition Alors
condition

traitement
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie Algorithme
Si condition Alors
condition
vrai

traitement
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie Algorithme
Si condition Alors
condition
vrai

traitement
FinSi

traitement

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie Algorithme
Si condition Alors
condition
vrai

traitement
FinSi

traitement

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie Algorithme
Si condition Alors
condition
faux vrai

traitement
FinSi

traitement

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition une branche


Dnition Cette structure permet de nexcuter un traitement que si une condition est vrie Algorithme
Si condition Alors
condition
faux vrai

traitement
FinSi

traitement

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

condition

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

vrai

condition

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

vrai

condition

traitement A

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

vrai

condition

traitement A

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

vrai

condition

faux

traitement A

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

vrai

condition

faux

traitement A

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

vrai

condition

faux

traitement A

traitement S

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition deux branches


Dnition On peut galement ajouter une clause Sinon Algorithme
Si condition Alors

traitement A
Sinon

vrai

condition

faux

traitement A

traitement S

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition n branches (ou alternative multiple)


Algorithme
SelonQue expression vaut Cas valeur1 :

traitement 1
FinCas Cas valeur2 :

traitement 2
FinCas

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Condition n branches (ou alternative multiple)


Algorithme
SelonQue expression vaut Cas valeur1 :

...la suite ...


Cas valeurN :

traitement N
FinCas Sinon

traitement 1
FinCas Cas valeur2 :

traitement S
FinCas FinSelonQue

traitement 2
FinCas

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

expression

= valeur1

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

expression

= valeur1

vrai

traitement 1

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

expression

faux

= valeur1

vrai

expression

traitement 1

= valeur2

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

expression

faux

= valeur1

vrai

expression

traitement 1

= valeur2

vrai

traitement 2

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

expression

faux

= valeur1

vrai

expression

faux

traitement 1

= valeur2

vrai

traitement 2

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

expression

faux

= valeur1

vrai

expression

faux

traitement 1

= valeur2

vrai

traitement 2

expression

= valeurN

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

expression

faux

= valeur1

vrai

expression

faux

traitement 1

= valeur2

vrai

traitement 2

expression

= valeurN

vrai

traitement N

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Organigramme de lalternative multiple

expression

faux

= valeur1

vrai

expression

faux

traitement 1

= valeur2

vrai

traitement 2

expression

faux

= valeurN

vrai

traitement N

traitement S

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Choix logique

Choix logique lalternative dpend dune collection de conditions

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Choix logique

Choix logique lalternative dpend dune collection de conditions En programmation disponibles en Lisp, Prolog, Python... dfaut, construire avec des Si alors SinonSi

En langage algorithmique :
Choix Cas condition1 :

traitement 1
FinCas

...
Cas conditionN :

traitement N
FinCas Sinon

traitement S
FinCas FinChoix

Prod. logiciels Intro. algo. Langage algo. Structure de contrle conditionnelle

Structures de contrles

Types structurs

Routines

Autre faon de parler :


Si condition1 Alors

traitement 1 SinonSi condition2 Alors traitement 2 ... SinonSi conditionN Alors traitement N
Sinon

traitement S
FinSi

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Sommaire
4

Structures de contrles Introduction Structure de contrle conditionnelle


Si ... Alors Si ... Alors ... Sinon SelonQue ... vaut Choix

Structures de contrle itratives


Introduction TantQue ... Faire Rpter ... TantQue Rpter ... Jusque Pour ... Faire

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Introduction

Dnition Les structures de contrle itrative permettent de rpter des instructions

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Introduction

Dnition Les structures de contrle itrative permettent de rpter des instructions on les appelle aussi des boucles

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Introduction

Dnition Les structures de contrle itrative permettent de rpter des instructions on les appelle aussi des boucles elles contiennent gnralement des conditions darrt

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

TantQue ... faire


Dnition boucle pr-teste le traitement peut ne jamais tre xcut Attention : la condition doit devenir Fausse... Algorithme
TantQue condition Faire

traitement
FinTantQue

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

TantQue ... faire


Dnition boucle pr-teste le traitement peut ne jamais tre xcut Attention : la condition doit devenir Fausse... Algorithme
TantQue condition Faire

traitement
FinTantQue

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

TantQue ... faire


Dnition boucle pr-teste le traitement peut ne jamais tre xcut Attention : la condition doit devenir Fausse... Algorithme
TantQue condition Faire

condition

traitement
FinTantQue

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

TantQue ... faire


Dnition boucle pr-teste le traitement peut ne jamais tre xcut Attention : la condition doit devenir Fausse... Algorithme
TantQue condition Faire
vrai

condition

traitement
FinTantQue

Traitement

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

TantQue ... faire


Dnition boucle pr-teste le traitement peut ne jamais tre xcut Attention : la condition doit devenir Fausse... Algorithme
TantQue condition Faire
vrai

condition

traitement
FinTantQue

Traitement

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

TantQue ... faire


Dnition boucle pr-teste le traitement peut ne jamais tre xcut Attention : la condition doit devenir Fausse... Algorithme
TantQue condition Faire
vrai

condition
faux

traitement
FinTantQue

Traitement

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... TantQue


Dnition boucle post-teste le traitement est excut au moins une fois Attention : la condition doit devenir Fausse Algorithme
Rpter

traitement TantQue condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... TantQue


Dnition boucle post-teste le traitement est excut au moins une fois Attention : la condition doit devenir Fausse Algorithme
Traitement

Rpter

traitement TantQue condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... TantQue


Dnition boucle post-teste le traitement est excut au moins une fois Attention : la condition doit devenir Fausse Algorithme
Traitement

Rpter

traitement TantQue condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... TantQue


Dnition boucle post-teste le traitement est excut au moins une fois Attention : la condition doit devenir Fausse Algorithme
Traitement

Rpter

traitement TantQue condition

condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... TantQue


Dnition boucle post-teste le traitement est excut au moins une fois Attention : la condition doit devenir Fausse Algorithme
Traitement

Rpter

traitement TantQue condition

condition
faux

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... TantQue


Dnition boucle post-teste le traitement est excut au moins une fois Attention : la condition doit devenir Fausse Algorithme
Traitement

Rpter

traitement TantQue condition

vrai

condition
faux

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... TantQue


Dnition boucle post-teste le traitement est excut au moins une fois Attention : la condition doit devenir Fausse Algorithme
Traitement

Rpter

traitement TantQue condition

vrai

condition
faux

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Rpter

traitement Jusque condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Rpter

traitement Jusque condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Rpter

traitement Jusque condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Traitement

Rpter

traitement Jusque condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Traitement

Rpter

traitement Jusque condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Traitement

Rpter

traitement Jusque condition

condition

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Traitement

Rpter

traitement Jusque condition

condition
Vrai

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Traitement

Rpter

traitement Jusque condition

faux

condition
Vrai

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Rpter ... Jusque


Dnition variante de la structure prcdente Attention : la condition doit devenir Vraie Algorithme
Traitement

Rpter

traitement Jusque condition

faux

condition
Vrai

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Pour ... Faire


Dnition Structure de contrle itrative gre par un compteur incrment de manire implicite

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Pour ... Faire


Dnition Structure de contrle itrative gre par un compteur incrment de manire implicite En langage algorithmique
Pour compteur variantDe valeuri valeurf Faire

traitement
FinPour

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Pour ... Faire

La boucle Pour est un Tant Que simpli compteur valeuri TantQue compteur <= valeurf Faire traitement compteur compteur + Inc
FinTantQue

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Pour ... Faire

La boucle Pour est un Tant Que simpli compteur valeuri TantQue compteur => valeurf Faire traitement compteur compteur - Inc
FinTantQue

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur valeuri

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur valeuri

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur valeuri

compteur <= valeurf

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf

valeuri

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf vrai

valeuri

Traitement

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf vrai

valeuri

Traitement

compteur

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf vrai

valeuri

Traitement

compteur

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf vrai

valeuri

Traitement

compteur

compteur

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf vrai

valeuri

Traitement

compteur

compteur + Inc

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf vrai

valeuri

Traitement

compteur

compteur + Inc

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf vrai

valeuri

Traitement

compteur

compteur + Inc

Prod. logiciels Intro. algo. Langage algo. Structures de contrle itratives

Structures de contrles

Types structurs

Routines

Organigramme
compteur
faux compteur <= valeurf => vrai

valeuri

Traitement

compteur

compteur Inc

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles Types structurs Routines

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Introduction

Objectifs Dcouvrir les outils permettant de stocker les donnes par lintermdiaire dun langage de haut niveau

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Introduction

Objectifs Dcouvrir les outils permettant de stocker les donnes par lintermdiaire dun langage de haut niveau Types de donnes On utilisera : 1 les types de donnes de bases 2 nos propres types de donnes

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

Sommaire
5

Types structurs Dclaration des types de donnes


Dclaration Type numr Type Intervalle

Tableaux
Dnition Exemples Accs aux lments Proprits

Enregistrements
Dnitions Exemples Accs aux champs Proprits

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

Dclaration

Dclaration dun type de donne On utilisera une clause Type

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

Dclaration

Dclaration dun type de donne On utilisera une clause Type Principe On sappuiera sur :

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

Dclaration

Dclaration dun type de donne On utilisera une clause Type Principe On sappuiera sur : tableau et enregistrement

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

Dclaration

Dclaration dun type de donne On utilisera une clause Type Principe On sappuiera sur : tableau et enregistrement numration et intervalle

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

numration
Dnition Les direntes valeurs prises sont numres une une

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

numration
Dnition Les direntes valeurs prises sont numres une une Exemple
Type

Tsaison = (hiver,printemps,t,automne)
Variable

Periode:Tsaison saison_1,saison_2:Tsaison

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

Intervalle
Dnition Les direntes valeurs prises sont comprises dans un intervalle

Prod. logiciels Intro. algo. Langage algo. Dclaration des types de donnes

Structures de contrles

Types structurs

Routines

Intervalle
Dnition Les direntes valeurs prises sont comprises dans un intervalle Exemple
Type

Tlettre = (a,...,z)
Variable

Consonne,Voyelle:Tlettre malettre:Tlettre

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
5

Types structurs Dclaration des types de donnes


Dclaration Type numr Type Intervalle

Tableaux
Dnition Exemples Accs aux lments Proprits

Enregistrements
Dnitions Exemples Accs aux champs Proprits

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux

Dnition Un tableau est une structure de donnes homogne et indxe

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux

Dnition Un tableau est une structure de donnes homogne et indxe Proprits

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux

Dnition Un tableau est une structure de donnes homogne et indxe Proprits Homogne : collection de variables de mme type

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux

Dnition Un tableau est une structure de donnes homogne et indxe Proprits Homogne : collection de variables de mme type Indxe : chaque lment est repr par un indice (no )

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Dclaration En langage algorithmique, on utilisera une clause Type :
Type

nom du type = Tableau type [] { 1 dim. } nom du type = Tableau type [][] { 2 dim. } nom du type = Tableau type [][][] { 3 dim. } o : nom du type est le nom donn au type tableau type est le type des lments du tableau

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
Par exemple :
Type

TtabFlottants = Tableau Flottant [] TtabChaines = Tableau Chaine [] Tmatrice = Tableau entier [][]
Constante

FLEUVES:TtabChaines=("Garonne","Loire")
Variable

notesPromo:TtabFlottants M:Tmatrice

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Accs aux lments nom tableau[indice] { pour un tab. 1D } nom tableau[indice 1 ][indice 2 ] { pour un tab. 2D }

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Accs aux lments nom tableau[indice] { pour un tab. 1D } nom tableau[indice 1 ][indice 2 ] { pour un tab. 2D } Exemple

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Accs aux lments nom tableau[indice] { pour un tab. 1D } nom tableau[indice 1 ][indice 2 ] { pour un tab. 2D } Exemple Afficher(FLEUVES[1])

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Accs aux lments nom tableau[indice] { pour un tab. 1D } nom tableau[indice 1 ][indice 2 ] { pour un tab. 2D } Exemple Afficher(FLEUVES[1]) notesPromo[4] 12,5

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Accs aux lments nom tableau[indice] { pour un tab. 1D } nom tableau[indice 1 ][indice 2 ] { pour un tab. 2D } Exemple Afficher(FLEUVES[1]) notesPromo[4] 12,5 M[1][4] 5

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Reprsentation
Type

TtabEntiers = Tableau entier []


Variable

tab:TtabEntiers

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Reprsentation
Type

TtabEntiers = Tableau entier []


Variable

tab:TtabEntiers
0 1 ? 2 ? ? ?

tab

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Reprsentation
Type

TtabEntiers = Tableau entier []


Variable

tab:TtabEntiers
0 1 ? 2 ? 3 4 4 ? ? ?

tab

tabEntiers[3] -4

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Reprsentation
Type

Tmatrice = Tableau ottant [][]


Variable

A:Tmatrice
0 0 1 ? ? ? 1 ? ? ? 2 ? ? ?

A
2

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Reprsentation
Type

Tmatrice = Tableau ottant [][]


Variable

A:Tmatrice
0 0 1 ? ? ? 1 ? ? ? 7.8 2 ? 2.5 ? ?

A
2

A[0][2] 2.5 A[2][1] 7.8

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Reprsentation
Type

Tmatrice = Tableau ottant [][]


Variable

A:Tmatrice
0 0 1 ? ? ? 2.5 1 ? ? ? 2 ? ? 7.8 ?

A
2

A[0][2] 2.5 A[2][1] 7.8

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Proprits Accs en temps constant mme temps quelle que soit la case

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Proprits Accs en temps constant mme temps quelle que soit la case Aectation si t1 et t2 sont deux tableaux de mme type : t1 t2

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Proprits Accs en temps constant mme temps quelle que soit la case Aectation si t1 et t2 sont deux tableaux de mme type : t1 t2 Achage on ne pourra pas crire : Afficher(t1) { impossible ! }

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Proprits Accs en temps constant mme temps quelle que soit la case Aectation si t1 et t2 sont deux tableaux de mme type : t1 t2 Achage on ne pourra pas crire : Afficher(t1) { impossible ! }

Accs on utilisera la syntaxe : variable de type tableau[no de case]

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Tableaux
Nombre dlments
Variable

t: Tableau entier []
Dbut

t[2] 25 t[0] 15 t[7] 18 Afficher("Il y a ", NbElts(t), " lments.")


Fin

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Parcours dun tableau

La boucle PourChaque
PourChaque indice lment De tableau Faire

{ Traitement de lment en utilisant indice }


FinPourChaque

Cette structure permet de parcourir lensemble des lments du tableau tableau, quil soit contigu ou non,

Prod. logiciels Tableaux

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Parcours dun tableau


La boucle PourChaque
Variable

monTableau: Tableau ottant [] i:entier nombre:ottant


Dbut

{ ... Remplissage du tableau ... } PourChaque i nombre De monTableau Faire Afficher("Case n ", i, " : ", nombre)
FinPourChaque Fin

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
5

Types structurs Dclaration des types de donnes


Dclaration Type numr Type Intervalle

Tableaux
Dnition Exemples Accs aux lments Proprits

Enregistrements
Dnitions Exemples Accs aux champs Proprits

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Dnition Alors quun tableau permet de stocker des lments : de mme type auxquels on accde par un indice

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Dnition Alors quun tableau permet de stocker des lments : de mme type auxquels on accde par un indice Un enregistrement permet de mmoriser des lments : de types pouvant tre dirents auxquels on accde par un identicateur

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Dnition Alors quun tableau permet de stocker des lments : de mme type auxquels on accde par un indice Un enregistrement permet de mmoriser des lments : de types pouvant tre dirents auxquels on accde par un identicateur Chaque lment composant lenregistrement est appel un champ (en anglais : eld)

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Dclaration
Type

nom du type = nom champ1 nom champ2 ... nom champn

Enregistrement

: type champ1 : type champ2 : type champn

FinEnregistrement

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
type Ttudiant
Type

Ttudiant = Enregistrement nom, prnom:chane ge:ottant taille:entier


FinEnregistrement

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
type Ttudiant
Type
E1 nom prnom age taille

Ttudiant = Enregistrement nom, prnom:chane ge:ottant taille:entier


FinEnregistrement Variable

E1 ,E2 :Ttudiant

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
type Ttudiant
Type
E1 nom prnom age taille E2 nom prnom age taille

Ttudiant = Enregistrement nom, prnom:chane ge:ottant taille:entier


FinEnregistrement Variable

E1 ,E2 :Ttudiant

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
type Ttudiant
Type
E1 nom prnom age taille E2 age nom prnom age taille taille nom prnom etu

Ttudiant = Enregistrement nom, prnom:chane ge:ottant taille:entier


FinEnregistrement Variable

E1 ,E2 :Ttudiant etu:Ttudiant

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
type TPoint
Type

Tpoint = Enregistrement x,y:ottant


FinEnregistrement

Variable

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
type TPoint
Type
O x y 0 0

Tpoint = Enregistrement x,y:ottant


FinEnregistrement Constante

O:Tpoint=(x 0, y 0)
Variable

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
type TPoint
Type
O x y M x y 0 0

Tpoint = Enregistrement x,y:ottant


FinEnregistrement Constante

O:Tpoint=(x 0, y 0)
Variable

M:Tpoint

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Exemples
type TPoint
Type
O x y M B x x y y 0 x 0 y

Tpoint = Enregistrement x,y:ottant


FinEnregistrement Constante

O:Tpoint=(x 0, y 0)
Variable

M:Tpoint A,B:Tpoint

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Accs aux champs


Accs aux champs
Type

TPoint = Enregistrement x,y:ottant


FinEnregistrement Variable

O x y M 0 x 0 y

A,B:Tpoint
Dbut

x x y y

Fin

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Accs aux champs


Accs aux champs
Type

TPoint = Enregistrement x,y:ottant


FinEnregistrement Variable

O x y M 0 x 0 y

A 2.1

A,B:Tpoint
Dbut

x x y y

A.x 2.1
Fin

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Accs aux champs


Accs aux champs
Type

TPoint = Enregistrement x,y:ottant


FinEnregistrement Variable

O x y M 0 x 0 y

A 2.1

A,B:Tpoint
Dbut

x x y y 4.5

A.x 2.1 B.y 4.5


Fin

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Accs aux champs


type Ttudiant
Type

Ttudiant = Enregistrement ...:...


FinEnregistrement Variable

E1 nom prnom age taille E2 age nom prnom age taille taille nom prnom etu

E1 ,E2 ,etu:Ttudiant
Dbut

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Accs aux champs


type Ttudiant
Type

Ttudiant = Enregistrement ...:...


FinEnregistrement Variable

E1 nom prnom age taille E2 nom prnom age taille taille nom prnom age etu Bloarps

E1 ,E2 ,etu:Ttudiant
Dbut

etu.nom "Blorps"

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Accs aux champs


type Ttudiant
Type

Ttudiant = Enregistrement ...:...


FinEnregistrement Variable

E1 nom prnom age taille E2 nom prnom age taille taille 22.4 nom prnom age etu Bloarps

E1 ,E2 ,etu:Ttudiant
Dbut

etu.nom "Blorps" E1 .age 22.4

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Accs aux champs


type Ttudiant
Type

Ttudiant = Enregistrement ...:...


FinEnregistrement Variable

E1 nom prnom age taille 22.4 175 E2 nom prnom age taille taille nom prnom age etu Bloarps

E1 ,E2 ,etu:Ttudiant
Dbut

etu.nom "Blorps" E1 .age 22.4 E1 .taille 175

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Proprits Accs en temps constant mme temps quel que soit le champ

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Proprits Accs en temps constant mme temps quel que soit le champ Aectation si e1 et e2 sont deux enregistrements de mme type : e1 e2

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Proprits Accs en temps constant mme temps quel que soit le champ Aectation si e1 et e2 sont deux enregistrements de mme type : e1 e2 Achage on ne pourra pas crire : Afficher(e1) { impossible ! }

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Proprits Accs en temps constant mme temps quel que soit le champ Aectation si e1 et e2 sont deux enregistrements de mme type : e1 e2 Achage on ne pourra pas crire : Afficher(e1) { impossible ! }

Accs on utilise la syntaxe : variable de type enregt .champ

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Erreurs frquemment commises
Type

TPoint = Enregistrement x,y:ottant


FinEnregistrement Variable

A:Tpoint
Dbut

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Erreurs frquemment commises
Type

TPoint = Enregistrement x,y:ottant


FinEnregistrement Variable

A:Tpoint
Dbut

x 2.1

{ labscisse de quoi ? }

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Erreurs frquemment commises
Type

TPoint = Enregistrement x,y:ottant


FinEnregistrement Variable

A:Tpoint
Dbut

x 2.1 { labscisse de quoi ? } Tpoint.x 4.5 { confusion entre type et variable }

Prod. logiciels Intro. algo. Enregistrements

Langage algo.

Structures de contrles

Types structurs

Routines

Enregistrements
Erreurs frquemment commises
Type

TPoint = Enregistrement x,y:ottant


FinEnregistrement Variable

A:Tpoint
Dbut

x 2.1 { labscisse de quoi ? } Tpoint.x 4.5 { confusion entre type et variable } A.x 4.5 { ok }

Prod. logiciels

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire
1

Production de logiciels Introduction lalgorithmique Langage algorithmique Structures de contrles Types structurs Routines

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Routines Gnralits criture des routines en langage algorithmique Valeur renvoye par une routine Utilisation darguments

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Avant-propos Nous avons dj utilis des routines :

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Avant-propos Nous avons dj utilis des routines : Saisir et Afficher ;

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Avant-propos Nous avons dj utilis des routines : Saisir et Afficher ; PartieEntire, Arrondi, Racine, ...

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Avant-propos Nous avons dj utilis des routines : Saisir et Afficher ; PartieEntire, Arrondi, Racine, ... Il sagit de routines prdnies

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Avant-propos Nous avons dj utilis des routines : Saisir et Afficher ; PartieEntire, Arrondi, Racine, ... Il sagit de routines prdnies But du chapitre

Comment concevoir de tels objets pour nos algorithmes ?

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Dnition Une routine est un outil rsolvant un sous-problme bien spci

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Dnition Une routine est un outil rsolvant un sous-problme bien spci Dnition Une routine est une squence dinstructions associe un identicateur et excute chaque fois que la routine est appele dans un bloc dinstructions (appel bloc appelant ou BA).

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Principe

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Inst M

Principe

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Inst M Appel Routine

Principe lexcution des instructions du BA est momentanment interrompue

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Inst M Appel Routine

Principe lexcution des instructions du BA est momentanment interrompue pour passer le contrle la routine

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Inst M Appel Routine

InstR 1

Principe lexcution des instructions du BA est momentanment interrompue pour passer le contrle la routine les instructions de la routine sont excutes (InstR 1 N)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Inst M Appel Routine

InstR 1 InstR 2

Principe lexcution des instructions du BA est momentanment interrompue pour passer le contrle la routine les instructions de la routine sont excutes (InstR 1 N)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Inst M Appel Routine

InstR 1 InstR 2

InstR N

Principe lexcution des instructions du BA est momentanment interrompue pour passer le contrle la routine les instructions de la routine sont excutes (InstR 1 N)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Inst M Appel Routine

InstR 1 InstR 2

InstR N

Principe lexcution des instructions du BA est momentanment interrompue pour passer le contrle la routine les instructions de la routine sont excutes (InstR 1 N) la routine rend le contrle au bloc appelant

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Mcanisme dappel
Bloc appelant Routine

Inst M Appel Routine

InstR 1 InstR 2

Inst M+1

InstR N

Principe lexcution des instructions du BA est momentanment interrompue pour passer le contrle la routine les instructions de la routine sont excutes (InstR 1 N) la routine rend le contrle au bloc appelant qui poursuit alors son excution (Inst M+1)

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

change dinformation avec le bloc appelant


Exemple lorsquon crit : Afficher("bonjour") "bonjour" : BA routine Afficher

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

change dinformation avec le bloc appelant


Exemple lorsquon crit : Afficher("bonjour") "bonjour" : BA routine Afficher lors de lappel suivant : Saisir(mavaleur) mavaleur : routine Saisir BA

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

change dinformation avec le bloc appelant


Exemple lorsquon crit : Afficher("bonjour") "bonjour" : BA routine Afficher lors de lappel suivant : Saisir(mavaleur) mavaleur : routine Saisir BA et lorsquon crit : a Racine(b+4)
b+4 : BA routine Racine Racine(b+4) bloc appelant

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Attention Il ne faut pas confondre : 1 la communication entre lhomme et la machine (Afficher et Saisir) 2 et la communication entre une routine et le bloc appelant

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Pourquoi concevoir des routines ? Simplication : viter dcrire plusieurs fois une squence dinstructions destine tre excute plusieurs fois

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Pourquoi concevoir des routines ? Simplication : viter dcrire plusieurs fois une squence dinstructions destine tre excute plusieurs fois Rutilisabilit : trois principes

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Pourquoi concevoir des routines ? Simplication : viter dcrire plusieurs fois une squence dinstructions destine tre excute plusieurs fois Rutilisabilit : trois principes
1

concevoir des routines dont les traitements sont lmentaires

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Pourquoi concevoir des routines ? Simplication : viter dcrire plusieurs fois une squence dinstructions destine tre excute plusieurs fois Rutilisabilit : trois principes
1

concevoir des routines dont les traitements sont lmentaires concevoir des routines pouvant communiquer entre elles

Prod. logiciels Gnralits

Intro. algo.

Langage algo.

Structures de contrles

Types structurs

Routines

Routines
Gnralits

Pourquoi concevoir des routines ? Simplication : viter dcrire plusieurs fois une squence dinstructions destine tre excute plusieurs fois Rutilisabilit : trois principes
1

2 3

concevoir des routines dont les traitements sont lmentaires concevoir des routines pouvant communiquer entre elles sparer la gestion de linterface homme/machine des traitements eectus sur les donnes

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

Sommaire

Routines Gnralits criture des routines en langage algorithmique Valeur renvoye par une routine Utilisation darguments

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Pour dnir nos propres routines

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Pour dnir nos propres routines En-tte : protocole de communication avec le BA

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Pour dnir nos propres routines En-tte : protocole de communication avec le BA Dnition :

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Pour dnir nos propres routines En-tte : protocole de communication avec le BA Dnition : dclaration de lenvironnement la routine

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Pour dnir nos propres routines En-tte : protocole de communication avec le BA Dnition : dclaration de lenvironnement la routine algorithme dcrivant le traitement ralis

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Pour dnir nos propres routines En-tte : protocole de communication avec le BA Dnition : dclaration de lenvironnement la routine algorithme dcrivant le traitement ralis Entte
Routine nom fonction( arguments ):type renvoy

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Pour dnir nos propres routines En-tte : protocole de communication avec le BA Dnition : dclaration de lenvironnement la routine algorithme dcrivant le traitement ralis Entte
Routine nom fonction( arguments ):type renvoy

type renvoy peut tre vide...

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Exemple
Routine lignetoiles( ) Variable

{ en-tte }

i:entier
Dbut

{ compteur }

{ dbut du corps de la routine } Pour i variantDe 1 20 Faire Afficher ("*")


FinPour

{ n du corps }
Fin

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Appel de routines nom de la routine ( liste arguments eectifs )

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Appel de routines nom de la routine ( liste arguments eectifs ) On part dans les toiles
Dbut

Afficher("Dbut") lignetoiles() Afficher("Milieu") lignetoiles() Afficher("Fin")


Fin

Prod. logiciels Intro. algo. Langage algo. criture des routines en langage algorithmique

Structures de contrles

Types structurs

Routines

criture des routines en langage algorithmique


Appel de routines nom de la routine ( liste arguments eectifs ) On part dans les toiles
Dbut

Afficher("Dbut") lignetoiles() Afficher("Milieu") lignetoiles() Afficher("Fin")


Fin

...ache... Dbut ******************** Milieu ******************** Fin

Prod. logiciels Intro. algo. Langage algo. Valeur renvoye par une routine

Structures de contrles

Types structurs

Routines

Sommaire

Routines Gnralits criture des routines en langage algorithmique Valeur renvoye par une routine Utilisation darguments

Prod. logiciels Intro. algo. Langage algo. Valeur renvoye par une routine

Structures de contrles

Types structurs

Routines

Appel dans une expression

Avec valeur renvoye Un appel de la forme : nom routine(...) peut donc gurer dans une expression ou sous la forme : Var ... nom routine(...) ... pourvu que la valeur renvoye soit bien compatible avec lexpression et la variable

Prod. logiciels Intro. algo. Langage algo. Valeur renvoye par une routine

Structures de contrles

Types structurs

Routines

Valeur renvoye par une routine


Exemple (1)
Routine pi( ):ottant Variable

estimpi:ottant
Dbut

estimpi ... { calcul pour estimer } Retourner estimpi


Fin

Prod. logiciels Intro. algo. Langage algo. Valeur renvoye par une routine

Structures de contrles

Types structurs

Routines

Exemple (1)
Routine pi( ):ottant

...
Retourner estimpi

Exemple de bloc appelant


Variable

angle:ottant
Dbut

angle pi() / 2 Afficher("Une estimation de : ",pi())


Fin

Prod. logiciels Intro. algo. Langage algo. Valeur renvoye par une routine

Structures de contrles

Types structurs

Routines

Valeur renvoye par une routine


Exemple (2)
Routine temprature( ):ottant Variable

temp:ottant
Dbut

temp ambiante lue sur un capteur Retourner temp


Fin

Prod. logiciels Intro. algo. Langage algo. Valeur renvoye par une routine

Structures de contrles

Types structurs

Routines

Exemple (2)
Routine temprature( ):ottant

...
Retourner temp Fin

Exemple de bloc appelant


Dbut Si temprature()<15 Alors

Afficher("il fait moins de 15 C") allumer_le_chauffage()


FinSi Fin

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Sommaire

Routines Gnralits criture des routines en langage algorithmique Valeur renvoye par une routine Utilisation darguments

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Proprits

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Proprits Un argument correspond une zone mmoire :

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Proprits Un argument correspond une zone mmoire : dot dun identicateur et dun type

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Proprits Un argument correspond une zone mmoire : dot dun identicateur et dun type ils sont toujours entours de parenthses

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Proprits Un argument correspond une zone mmoire : dot dun identicateur et dun type ils sont toujours entours de parenthses on les spare par des virgule

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Proprits Un argument correspond une zone mmoire : dot dun identicateur et dun type ils sont toujours entours de parenthses on les spare par des virgule Exemple Afficher("au revoir") b Racine(x) Afficher("B vaut : ",b)

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Comment ?

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Comment ? avec un argument de nature donne bloc appelant routine

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Comment ? avec un argument de nature donne bloc appelant routine avec un argument de nature rsultat bloc appelant routine

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


quoi a sert ? tablir une communication entre une routine et un BA Comment ? avec un argument de nature donne bloc appelant routine avec un argument de nature rsultat bloc appelant routine avec un argument de nature transforme bloc appelant routine

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Argument de nature donne

Exemple (1)
Routine lignetoiles( D nombre:entier ) Variable

i:entier
Dbut Pour i variantDe 1 nombre Faire

Afficher ("*")
FinPour Fin

Exemple (1)
Routine lignetoiles( D nombre:entier ) Dbut

...
Fin

Exemple de block appelant


Variable

bidule:entier
Dbut

lignetoiles(30)

Fin

Exemple (1)
Routine lignetoiles( D nombre:entier ) Dbut

...
Fin

Exemple de block appelant


Variable

bidule:entier
Dbut

lignetoiles(30) bidule 20
Fin

Exemple (1)
Routine lignetoiles( D nombre:entier ) Dbut

...
Fin

Exemple de block appelant


Variable

bidule:entier
Dbut

lignetoiles(30) bidule 20 lignetoiles(bidule)


Fin

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Argument de nature donne

Exemple (2)
Routine max( D A:entier ; D B:entier ):entier Dbut Si A > B Alors Retourner A Sinon Retourner B FinSi Fin

Exemple (2)
Routine max( D A:entier ; D B:entier ):entier Dbut Retourner A ou B Fin

Exemple de bloc appelant


Variable

val,plusgrand:entier
Dbut

val entier(argument[1])

Fin

Exemple (2)
Routine max( D A:entier ; D B:entier ):entier Dbut Retourner A ou B Fin

Exemple de bloc appelant


Variable

val,plusgrand:entier
Dbut

val entier(argument[1]) plusgrand max(val,20)


Fin

Exemple (2)
Routine max( D A:entier ; D B:entier ):entier Dbut Retourner A ou B Fin

Exemple de bloc appelant


Variable

val,plusgrand:entier
Dbut

val entier(argument[1]) plusgrand max(val,20) ligne_toiles(max(val,10))


Fin

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Argument formel et argument eectifs

Denitions Argument formel nom dclar dans len-tte de la routine utilis dans le corps de la routine permet de manipuler des informations de manire formelle ou symbolique Argument eectif information eectivement change avec la routine

Exemple
Routine vlunch( D A,B:entier ) Dbut

... A ... B ...


Fin

Bloc Appelant
Variable

i:entier
Dbut

vlunch(10,i) vlunch(47,23) Arguments formels Argument eectifs

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Argument de nature rsultat

Exemple (1)
Routine max( D A,B:entier ; R M:entier ) Dbut Si A > B Alors

M A
Sinon

M B
FinSi Fin

Exemple
Routine max( D A,B:entier ; R M:entier ) Dbut

M A ou B
Fin

Bloc Appelant
Variable

maximum,e1,e2:entier
Dbut

Saisir(e1) Saisir(e2)

Exemple
Routine max( D A,B:entier ; R M:entier ) Dbut

M A ou B
Fin

Bloc Appelant
Variable

maximum,e1,e2:entier
Dbut

Saisir(e1) Saisir(e2) max(e1,e2,maximum)

Exemple
Routine max( D A,B:entier ; R M:entier ) Dbut

M A ou B
Fin

Bloc Appelant
Variable

maximum,e1,e2:entier
Dbut

Saisir(e1) Saisir(e2) max(e1,e2,maximum) Afficher("Valeur maximum : ", maximum)

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Argument de nature rsultat

Exemple (1)
Routine somDiff( D x,y:ottant ; R s,d:ottant ) Dbut

s x + y d x - y
Fin

Exemple
Routine somDiff( D x,y:ottant ; R s,d:ottant ) Dbut

s ... et d ...
Fin

Bloc Appelant
Variable

difference,somme:ottant
Dbut

Saisir(e1) Saisir(e2)

Exemple
Routine somDiff( D x,y:ottant ; R s,d:ottant ) Dbut

s ... et d ...
Fin

Bloc Appelant
Variable

difference,somme:ottant
Dbut

Saisir(e1) Saisir(e2) sommDiff(e1,e2,somme,difference)

Exemple
Routine somDiff( D x,y:ottant ; R s,d:ottant ) Dbut

s ... et d ...
Fin

Bloc Appelant
Variable

difference,somme:ottant
Dbut

Saisir(e1) Saisir(e2) sommDiff(e1,e2,somme,difference) Afficher("Diffrence : ", difference)

Exemple
Routine somDiff( D x,y:ottant ; R s,d:ottant ) Dbut

s ... et d ...
Fin

Bloc Appelant
Variable

difference,somme:ottant
Dbut

Saisir(e1) Saisir(e2) sommDiff(e1,e2,somme,difference) Afficher("Diffrence : ", difference) Afficher("Somme : ", somme)

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Argument de nature transforme

Exemple
Routine incrmenter( T x:entier ; D pas:entier ) Dbut

x x + pas
Fin

Exemple
Routine incrmenter( T x:entier ; D pas:entier ) Dbut

x x + pas
Fin

Bloc Appelant
Variable

i:entier
Dbut

i 0 incrmenter(i,2) Affichier("valeur de i : ",i)

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Pour en nir avec les arguments avec un argument de nature donne
bloc appelant routine

Exemple : ligne_toiles(20)

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Pour en nir avec les arguments avec un argument de nature donne
bloc appelant routine

Exemple : ligne_toiles(20) avec un argument de nature rsultat


bloc appelant routine

Exemple : max(20,30,res)

Prod. logiciels Intro. algo. Utilisation darguments

Langage algo.

Structures de contrles

Types structurs

Routines

Utilisation des arguments


Pour en nir avec les arguments avec un argument de nature donne
bloc appelant routine

Exemple : ligne_toiles(20) avec un argument de nature rsultat


bloc appelant routine

Exemple : max(20,30,res) avec un argument de nature transforme


bloc appelant routine

Exemple : incrmenter(val,30)

Vous aimerez peut-être aussi