• Aucun résultat trouvé

Méthodes de programmation

N/A
N/A
Protected

Academic year: 2022

Partager "Méthodes de programmation"

Copied!
61
0
0

Texte intégral

(1)

Méthodes de programmation

Guillaume CONNAN

MPSI - Lycée Saint-Stanislas

29 septembre 2010

(MPSI - Lycée Saint-Stanislas) Option informatique 1 / 39

(2)

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 2 / 39

(3)

Algorithme, algorithmique, programmation

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 3 / 39

(4)

Algorithme, algorithmique, programmation

Algorithme d'Euclide.

Algorithme d'addition posée.

Recette de cuisine.

Rechercher un mot dans le dictionnaire.

(MPSI - Lycée Saint-Stanislas) Option informatique 4 / 39

(5)

Algorithme, algorithmique, programmation

Algorithme d'Euclide.

Algorithme d'addition posée.

Recette de cuisine.

Rechercher un mot dans le dictionnaire.

(MPSI - Lycée Saint-Stanislas) Option informatique 4 / 39

(6)

Algorithme, algorithmique, programmation

Algorithme d'Euclide.

Algorithme d'addition posée.

Recette de cuisine.

Rechercher un mot dans le dictionnaire.

(MPSI - Lycée Saint-Stanislas) Option informatique 4 / 39

(7)

Algorithme, algorithmique, programmation

Algorithme d'Euclide.

Algorithme d'addition posée.

Recette de cuisine.

Rechercher un mot dans le dictionnaire.

(MPSI - Lycée Saint-Stanislas) Option informatique 4 / 39

(8)

Algorithme, algorithmique, programmation

Machine abstraite.

Langage algorithmique.

L'algorithme est-il correct ? Peut-on le prouver ? L'algorithme est-il ecace ? Quel est son coût ? Programmer dans un certain langage : le PASCAL.

Syntaxe et sémantique : Le lapin mange le chasseur .

(MPSI - Lycée Saint-Stanislas) Option informatique 5 / 39

(9)

Algorithme, algorithmique, programmation

Machine abstraite.

Langage algorithmique.

L'algorithme est-il correct ? Peut-on le prouver ? L'algorithme est-il ecace ? Quel est son coût ? Programmer dans un certain langage : le PASCAL.

Syntaxe et sémantique : Le lapin mange le chasseur .

(MPSI - Lycée Saint-Stanislas) Option informatique 5 / 39

(10)

Algorithme, algorithmique, programmation

Machine abstraite.

Langage algorithmique.

L'algorithme est-il correct ? Peut-on le prouver ? L'algorithme est-il ecace ? Quel est son coût ? Programmer dans un certain langage : le PASCAL.

Syntaxe et sémantique : Le lapin mange le chasseur .

(MPSI - Lycée Saint-Stanislas) Option informatique 5 / 39

(11)

Algorithme, algorithmique, programmation

Machine abstraite.

Langage algorithmique.

L'algorithme est-il correct ? Peut-on le prouver ? L'algorithme est-il ecace ? Quel est son coût ? Programmer dans un certain langage : le PASCAL.

Syntaxe et sémantique : Le lapin mange le chasseur .

(MPSI - Lycée Saint-Stanislas) Option informatique 5 / 39

(12)

Algorithme, algorithmique, programmation

Machine abstraite.

Langage algorithmique.

L'algorithme est-il correct ? Peut-on le prouver ? L'algorithme est-il ecace ? Quel est son coût ? Programmer dans un certain langage : le PASCAL.

Syntaxe et sémantique : Le lapin mange le chasseur .

(MPSI - Lycée Saint-Stanislas) Option informatique 5 / 39

(13)

Algorithme, algorithmique, programmation

Machine abstraite.

Langage algorithmique.

L'algorithme est-il correct ? Peut-on le prouver ? L'algorithme est-il ecace ? Quel est son coût ? Programmer dans un certain langage : le PASCAL.

Syntaxe et sémantique : Le lapin mange le chasseur .

(MPSI - Lycée Saint-Stanislas) Option informatique 5 / 39

(14)

Spécication

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 6 / 39

(15)

Spécication

On doit porter un casque sur une moto.

On doit porter les animaux sur les escaliers mécaniques.

Langage naturel / langage formel.

Spécication / implantation Énoncé / démonstration.

Spécier, ce n'est pas dire comment sont eectués les calculs mais ce qu'ils calculent.

(MPSI - Lycée Saint-Stanislas) Option informatique 7 / 39

(16)

Spécication

On doit porter un casque sur une moto.

On doit porter les animaux sur les escaliers mécaniques.

Langage naturel / langage formel.

Spécication / implantation Énoncé / démonstration.

Spécier, ce n'est pas dire comment sont eectués les calculs mais ce qu'ils calculent.

(MPSI - Lycée Saint-Stanislas) Option informatique 7 / 39

(17)

Spécication

On doit porter un casque sur une moto.

On doit porter les animaux sur les escaliers mécaniques.

Langage naturel / langage formel.

Spécication / implantation Énoncé / démonstration.

Spécier, ce n'est pas dire comment sont eectués les calculs mais ce qu'ils calculent.

(MPSI - Lycée Saint-Stanislas) Option informatique 7 / 39

(18)

Spécication

On doit porter un casque sur une moto.

On doit porter les animaux sur les escaliers mécaniques.

Langage naturel / langage formel.

Spécication / implantation Énoncé / démonstration.

Spécier, ce n'est pas dire comment sont eectués les calculs mais ce qu'ils calculent.

(MPSI - Lycée Saint-Stanislas) Option informatique 7 / 39

(19)

Spécication

On doit porter un casque sur une moto.

On doit porter les animaux sur les escaliers mécaniques.

Langage naturel / langage formel.

Spécication / implantation Énoncé / démonstration.

Spécier, ce n'est pas dire comment sont eectués les calculs mais ce qu'ils calculent.

(MPSI - Lycée Saint-Stanislas) Option informatique 7 / 39

(20)

Spécication

On doit porter un casque sur une moto.

On doit porter les animaux sur les escaliers mécaniques.

Langage naturel / langage formel.

Spécication / implantation Énoncé / démonstration.

Spécier, ce n'est pas dire comment sont eectués les calculs mais ce qu'ils calculent.

(MPSI - Lycée Saint-Stanislas) Option informatique 7 / 39

(21)

Spécication

Un exemple : spécions une fonction qui a pour données un nombre en base dix et qui a pour résultat son écriture en base deux.

Précisons un peu.

La donnée est un nombre entier positif écrit en base dix.

Le résultat est une liste d'entiers appartenant à f0; 1g dans l'ordre décroissant des puissances de deux associées. On convient de

commencer par la plus grande puissance dont le coecient est non nul.

Par exemple, si on entre 11 on obtiendra... [1; 0; 1; 1].

En eet, 11 = 1 2

3

+ 0 2

2

+ 1 2

1

+ 1 2

0

.

(MPSI - Lycée Saint-Stanislas) Option informatique 8 / 39

(22)

Spécication

Un exemple : spécions une fonction qui a pour données un nombre en base dix et qui a pour résultat son écriture en base deux.

Précisons un peu.

La donnée est un nombre entier positif écrit en base dix.

Le résultat est une liste d'entiers appartenant à f0; 1g dans l'ordre décroissant des puissances de deux associées. On convient de

commencer par la plus grande puissance dont le coecient est non nul.

Par exemple, si on entre 11 on obtiendra... [1; 0; 1; 1].

En eet, 11 = 1 2

3

+ 0 2

2

+ 1 2

1

+ 1 2

0

.

(MPSI - Lycée Saint-Stanislas) Option informatique 8 / 39

(23)

Spécication

Un exemple : spécions une fonction qui a pour données un nombre en base dix et qui a pour résultat son écriture en base deux.

Précisons un peu.

La donnée est un nombre entier positif écrit en base dix.

Le résultat est une liste d'entiers appartenant à f0; 1g dans l'ordre décroissant des puissances de deux associées. On convient de

commencer par la plus grande puissance dont le coecient est non nul.

Par exemple, si on entre 11 on obtiendra... [1; 0; 1; 1].

En eet, 11 = 1 2

3

+ 0 2

2

+ 1 2

1

+ 1 2

0

.

(MPSI - Lycée Saint-Stanislas) Option informatique 8 / 39

(24)

Spécication

Un exemple : spécions une fonction qui a pour données un nombre en base dix et qui a pour résultat son écriture en base deux.

Précisons un peu.

La donnée est un nombre entier positif écrit en base dix.

Le résultat est une liste d'entiers appartenant à f0; 1g dans l'ordre décroissant des puissances de deux associées. On convient de

commencer par la plus grande puissance dont le coecient est non nul.

Par exemple, si on entre 11 on obtiendra... [1; 0; 1; 1].

En eet, 11 = 1 2

3

+ 0 2

2

+ 1 2

1

+ 1 2

0

.

(MPSI - Lycée Saint-Stanislas) Option informatique 8 / 39

(25)

Spécication

Un exemple : spécions une fonction qui a pour données un nombre en base dix et qui a pour résultat son écriture en base deux.

Précisons un peu.

La donnée est un nombre entier positif écrit en base dix.

Le résultat est une liste d'entiers appartenant à f0; 1g dans l'ordre décroissant des puissances de deux associées. On convient de

commencer par la plus grande puissance dont le coecient est non nul.

Par exemple, si on entre 11 on obtiendra... [1; 0; 1; 1].

En eet, 11 = 1 2

3

+ 0 2

2

+ 1 2

1

+ 1 2

0

.

(MPSI - Lycée Saint-Stanislas) Option informatique 8 / 39

(26)

Spécication

Un exemple : spécions une fonction qui a pour données un nombre en base dix et qui a pour résultat son écriture en base deux.

Précisons un peu.

La donnée est un nombre entier positif écrit en base dix.

Le résultat est une liste d'entiers appartenant à f0; 1g dans l'ordre décroissant des puissances de deux associées. On convient de

commencer par la plus grande puissance dont le coecient est non nul.

Par exemple, si on entre 11 on obtiendra... [1; 0; 1; 1].

En eet, 11 = 1 2

3

+ 0 2

2

+ 1 2

1

+ 1 2

0

.

(MPSI - Lycée Saint-Stanislas) Option informatique 8 / 39

(27)

Spécication

On ne sait pas encore comment calculer le résultat mais on sait déjà ce que calcule cette fonction et on peut donc l'intégrer dans des calculs plus complexes.

(MPSI - Lycée Saint-Stanislas) Option informatique 9 / 39

(28)

Est-ce le résultat qui compte ?

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 10 / 39

(29)

Est-ce le résultat qui compte ? Spécions le problème

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 11 / 39

(30)

Est-ce le résultat qui compte ? Spécions le problème

Prenons un exemple simple : étant donné un entier relatif a et un entier naturel n, on voudrait obtenir a

n

qui sera un entier relatif.

(MPSI - Lycée Saint-Stanislas) Option informatique 12 / 39

(31)

Est-ce le résultat qui compte ? Spécions le problème

Spécions notre problème de manière plus formelle :

puissance(a:entier;n:entier positif):entier puissance(a,n) renvoie a à la puissance n

(MPSI - Lycée Saint-Stanislas) Option informatique 13 / 39

(32)

Est-ce le résultat qui compte ? Spécions le problème

Spécions notre problème de manière plus formelle :

puissance(a:entier;n:entier positif):entier puissance(a,n) renvoie a à la puissance n

(MPSI - Lycée Saint-Stanislas) Option informatique 13 / 39

(33)

Est-ce le résultat qui compte ? Premier algorithme : fonction récursive

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 14 / 39

(34)

Est-ce le résultat qui compte ? Premier algorithme : fonction récursive

Fonction puissance( a,n : entier ) : entier Début

Si n=0 Alors 1

Sinon

a*puissance(a,n-1) FinSi

Fin

Que fait cet algorithme ? Peut-on le prouver ?

Comment caractériser son ecacité ?

(MPSI - Lycée Saint-Stanislas) Option informatique 15 / 39

(35)

Est-ce le résultat qui compte ? Premier algorithme : fonction récursive

Il s'agit d'un algorithme récursif car la fonction est dénie en fonction d'elle-même.

(MPSI - Lycée Saint-Stanislas) Option informatique 16 / 39

(36)

Est-ce le résultat qui compte ? Premier algorithme : fonction récursive

Traduction possible en Pascal :

FUNCTION

Puissance(a:

INTEGER

;n:

INTEGER

):

INTEGER

;

BEGIN

IF

n=0

THEN

Puissance:=1

ELSE

Puissance:=a*Puissance(a,n-1);

END

;

Mais Pascal ne fonctionne pas en mode interactif. Il faut donc inclure cette fonction dans un programme.

(MPSI - Lycée Saint-Stanislas) Option informatique 17 / 39

(37)

Est-ce le résultat qui compte ? Premier algorithme : fonction récursive

Traduction possible en Pascal :

FUNCTION

Puissance(a:

INTEGER

;n:

INTEGER

):

INTEGER

;

BEGIN

IF

n=0

THEN

Puissance:=1

ELSE

Puissance:=a*Puissance(a,n-1);

END

;

Mais Pascal ne fonctionne pas en mode interactif. Il faut donc inclure cette fonction dans un programme.

(MPSI - Lycée Saint-Stanislas) Option informatique 17 / 39

(38)

Est-ce le résultat qui compte ? Premier algorithme : fonction récursive

Programme Puissance_rec utilisant la fonction Puissance PROGRAM

Puissance_rec;

VAR

a:

INTEGER

; n:

INTEGER

;

FUNCTION

Puissance(a:

INTEGER

;n:

INTEGER

):

INTEGER

;

BEGIN

IF

n=0

THEN

Puissance:=1

ELSE

Puissance:=a*Puissance(a,n-1);

END

;

BEGIN

{programme p r i n c i p a l }

WRITE

(’Entrer a : ’);

READLN

(a);

WRITE

(’Entrer n : ’);

READLN

(n);

WRITELN

;

WRITE

(a,’^’,n,’ = ’,Puissance(a,n));

READLN

;

END

.

Listing 1 puissance(a,n) : version récursive 1 en Pascal

(MPSI - Lycée Saint-Stanislas) Option informatique 18 / 39

(39)

Est-ce le résultat qui compte ? Premier algorithme : fonction récursive

et cela donne :

Réponse du logiciel

Entrer a : 2 Entrer n : 5

2^5 = 32

(MPSI - Lycée Saint-Stanislas) Option informatique 19 / 39

(40)

Est-ce le résultat qui compte ? Premier algorithme : fonction récursive

Dans un autre langage comme Caml, l'idée est la même mais la manière de l'implanter et de l'utiliser dièrent :

# let rec puissance(a,n)=

if n==0 then 1

else a*puissance(a,n-1);;

val puissance : int * int -> int = < fun >

# puissance(2,5);;

- : int = 32

(MPSI - Lycée Saint-Stanislas) Option informatique 20 / 39

(41)

Est-ce le résultat qui compte ? Deuxième algorithme : boucle pour

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 21 / 39

(42)

Est-ce le résultat qui compte ? Deuxième algorithme : boucle pour

Fonction puissance( a,n : entier ) : entier Variable

res,k : entier Début

res 1

Pour k variantDe 1 à n Faire res res*a

FinPour Retourner res Fin

Que fait cet algorithme ? Peut-on le prouver ?

Comment caractériser son ecacité ?

(MPSI - Lycée Saint-Stanislas) Option informatique 22 / 39

(43)

Est-ce le résultat qui compte ? Deuxième algorithme : boucle pour

En Pascal :

FUNCTION

Puiss(a:

INTEGER

;n:

INTEGER

):

INTEGER

;

VAR

res:

INTEGER

; k:

INTEGER

;

BEGIN

res:=1;

FOR

k:=1

TO

n

DO

res:=res*a;

Puiss:=res;

END

;

(MPSI - Lycée Saint-Stanislas) Option informatique 23 / 39

(44)

Est-ce le résultat qui compte ? Deuxième algorithme : boucle pour

Et si on l'introduit dans un programme : PROGRAM

Puissance_it;

VAR

a:

INTEGER

; n:

INTEGER

;

FUNCTION

Puissance(a:

INTEGER

;n:

INTEGER

):

INTEGER

;

VAR

res:

INTEGER

; k:

INTEGER

;

BEGIN

res:=1;

FOR

k:=1

TO

n

DO

res:=res*a;

Puiss:=res;

END

;

BEGIN

{programme p r i n c i p a l }

WRITE

(’Entrer a : ’);

READLN

(a);

WRITE

(’Entrer n : ’);

READLN

(n);

WRITELN

;

WRITE

(a,’^’,n,’ = ’,Puissance(a,n));

READLN

;

END

.

(MPSI - Lycée Saint-Stanislas) Option informatique 24 / 39

(45)

Est-ce le résultat qui compte ? Deuxième algorithme : boucle pour

Que la fonction de calcul de la puissance soit récursive ou itérative, la manière de l'utiliser dans le programme principal est la même.

(MPSI - Lycée Saint-Stanislas) Option informatique 25 / 39

(46)

Est-ce le résultat qui compte ? Troisième algorithme : boucle tant que

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 26 / 39

(47)

Est-ce le résultat qui compte ? Troisième algorithme : boucle tant que

Fonction puissance( a,n : entier ) : entier Variable

res,k : entier Début

res 1

k n

TantQue k>0 Faire

k k-1

res a*res FinTantQue Retourner res Fin

(MPSI - Lycée Saint-Stanislas) Option informatique 27 / 39

(48)

Est-ce le résultat qui compte ? Troisième algorithme : boucle tant que

PROGRAM

Puissance_tq;

VAR

a:

INTEGER

; n:

INTEGER

;

FUNCTION

Puissance(a:

INTEGER

;n:

INTEGER

):

INTEGER

;

VAR

res:

INTEGER

; k:

INTEGER

;

BEGIN

res:=1;

k:=n;

WHILE

k>0

DO BEGIN

k:=k-1;

res:=res*a;

END

; Puiss:=res;

END

;

BEGIN

{programme p r i n c i p a l h a b i t u e l }

END

.

(MPSI - Lycée Saint-Stanislas) Option informatique 28 / 39

(49)

Est-ce le résultat qui compte ? Exponentiation logarithmique

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 29 / 39

(50)

Est-ce le résultat qui compte ? Exponentiation logarithmique

Le principe est simple : 8 >

> <

> >

:

a

0

= 1 a

n

= a

2

n

2

; si n est pair et n > 0 a

n

= a a

2

n 1

2

; si n est impair

Écrivez un algorithme utilisant ces relations de récurrence. Qu'y gagne-t-on ?

(MPSI - Lycée Saint-Stanislas) Option informatique 30 / 39

(51)

Est-ce le résultat qui compte ? Exponentiation logarithmique

Fonction puissance_log( a,n : entier ) : entier Début

Si n=0 Alors 1

Sinon

Si reste(n,2)=0 Alors puissance_log(a*a,n/2) Sinon

a*puissance(a*a,(n-1)/2) FinSi

FinSi Fin

(MPSI - Lycée Saint-Stanislas) Option informatique 31 / 39

(52)

Est-ce le résultat qui compte ? Exponentiation logarithmique

Avec Pascal

PROGRAM

puissance_log;

VAR

a:

INTEGER

; n:

INTEGER

;

FUNCTION

Puiss_log(a:

INTEGER

;n:

INTEGER

):

INTEGER

;

BEGIN

IF

n=0

THEN

Puiss_log:=1

ELSE IF

n

MOD

2 = 0

THEN

Puiss_log:=Puiss_log(a*a,n

DIV

2)

ELSE

Puiss_log:=a*Puiss_log(a*a,(n-1)

DIV

2);

END

;

BEGIN

{programme p r i n c i p a l }

WRITE

(’Entrer a : ’);

READLN

(a);

WRITE

(’Entrer n : ’);

READLN

(n);

WRITELN

;

WRITE

(a,’^’,n,’ = ’,Puiss_log(a,n));

READLN

;

END

.

(MPSI - Lycée Saint-Stanislas) Option informatique 32 / 39

(53)

Est-ce le résultat qui compte ? Exponentiation logarithmique

Avec CAML

# let rec puissance_log(a,n)=

if n==0 then 1

else if n mod 2 == 0 then puissance_log(a*a,n/2)

else a*puissance_log(a*a,(n-1)/2);;

Non, on ne rigole pas...

(MPSI - Lycée Saint-Stanislas) Option informatique 33 / 39

(54)

Est-ce le résultat qui compte ? Exponentiation logarithmique

Avec CAML

# let rec puissance_log(a,n)=

if n==0 then 1

else if n mod 2 == 0 then puissance_log(a*a,n/2)

else a*puissance_log(a*a,(n-1)/2);;

Non, on ne rigole pas...

(MPSI - Lycée Saint-Stanislas) Option informatique 33 / 39

(55)

L'aectation

Sommaire

1 Algorithme, algorithmique, programmation 2 Spécication

3 Est-ce le résultat qui compte ? Spécions le problème

Premier algorithme : fonction récursive

Deuxième algorithme : boucle pour Troisième algorithme : boucle tant que Exponentiation logarithmique 4 L'aectation

(MPSI - Lycée Saint-Stanislas) Option informatique 34 / 39

(56)

L'aectation

L'instruction représentée par :

a 2

qui se lit a reçoit 2 réserve (aecte) une zone de la mémoire de l'ordinateur qui portera l'étiquette a et qui contiendra 2.

(MPSI - Lycée Saint-Stanislas) Option informatique 35 / 39

(57)

L'aectation

Donnez le contenu de a et b après la suite d'aectations suivante :

a 1

b 2

a a+b

b a-b

a a-b

(MPSI - Lycée Saint-Stanislas) Option informatique 36 / 39

(58)

L'aectation

Que contiennent x et y à la n de cet enchaînement d'aectations :

x -5

x carre(x) y -x-3

z carre(-x-y) x -carre(x-y)+z y puissance(z,x)*y y -(z+y)

y x+y-z

y x+z

x carre(y-z)

y x-y

x (x+y)/(x/10) y ((x*z)/y)*9

(MPSI - Lycée Saint-Stanislas) Option informatique 37 / 39

(59)

L'aectation

Écrire un algorithme qui calcule très rapidement x

16

.

Fonction

puissance_16( x :

entier

) :

entier Variable

res :

entier Début

res x

res res*res res res*res res res*res res res*res

Retourner

res

Fin

(MPSI - Lycée Saint-Stanislas) Option informatique 38 / 39

(60)

L'aectation

Écrire un algorithme qui calcule très rapidement x

16

.

Fonction puissance_16( x : entier ) : entier Variable

res : entier Début

res x

res res*res res res*res res res*res res res*res Retourner res Fin

(MPSI - Lycée Saint-Stanislas) Option informatique 38 / 39

(61)

L'aectation

Déterminez un algorithme qui reçoit un nombre entier de secondes et qui renvoie quatre entiers correspondant à sa conversion en jours, heures, minutes et secondes. On pourra utiliser une fonction quo qui renvoie le quotient entier de la division de deux entiers.

(MPSI - Lycée Saint-Stanislas) Option informatique 39 / 39

Références

Documents relatifs

Vous trouverez l''''intégralité des informations et des données dans la documentation pour l''utilisateur

Ayant aussi voyagé en Égypte, en Syrie, en Sicile, en Provence pour le compte de son père, et rencontré divers mathématiciens, Fibonacci en rapporta à Pise des

(g) 2570 en base cinquante-cinq (les chiffres de la base cinq plus grands que 9 seront not´ es en base dix : par exemple, (35) 10 repr´ esente le chiffre de valeur 35, donc

Partiel d’Architecture &amp; Syst` eme (ann´ ee 2009-2010) Les notes de cours, de travaux dirig´ es et pratiques sont autoris´ ees.. L’usage des calculatrices l’est ´ egalement,

Les fonctions puissances peuvent être redéfinie grâce

Une base de données est un ensemble structuré de données enregistrées avec le minimum de redondance pour satisfaire simultanément plusieurs utilisateurs de façon sélective en un

‚ Par exemple : le nom d’un livre et de ses auteurs ñ Inutile de faire plusieurs requêtes. ñ Sélection sur

‚ Par exemple : le nom d’un livre et de ses auteurs ñ Inutile de faire plusieurs requêtes. ñ Sélection sur