• Aucun résultat trouvé

Ne pas dégrafer les feuilles. Durée : 2 heures. Aucun document autorisé.

N/A
N/A
Protected

Academic year: 2022

Partager "Ne pas dégrafer les feuilles. Durée : 2 heures. Aucun document autorisé."

Copied!
7
0
0

Texte intégral

(1)

Ne pas dégrafer les feuilles.

Durée : 2 heures. Aucun document autorisé.

Modalités : Répondre uniquement dans les cadres prévus à cet effet. La qualité de la rédaction sera prise en compte dans la notation. Un barême est indiqué à droite de chaque question. La note finale sur 20 est proportionnellement déduite de ce barème.

Exercice 1.(22 points)

/22

1. Écrire le corps de la procédure suivante qui permute (échange) les valeurs deaetb:

fonction swap(a : in out entier, b : in out entier)

/1

2. Écrire un algorithme qui utiliseswappour permuter puis afficher deux valeurs entrées au clavier.

/1

1

(2)

On souhaite inverser l’ordre des valeurs d’un tableau donné (taille et valeurs connues) : le tableau [a0, a1, ..., an−1]sera renversé en[an−1, ..., a1, a0].

3. Donner le principe d’un algorithme qui réalise cette inversion en utilisant la procédure swap. Bien différencier les cas selon la parité de la longueur n du tableau pour identifier le parcours à effectuer.

/2

4. Écrire un algorithme qui réalise cette inversion. Le tableau sera par exemple de taille n=10 et initialisé à

votre goût.

/3

(3)

5. Écrire l’en-tête d’un sous-programme (fonction ou procédure)renversequi effectue le traitement pré-

cédent sur un tableau passé en paramètre.

/1

6. Écrire un algorithme qui utiliserenversepour inverser l’ordre des valeurs d’un tableau entrées au clavier. Le tableau inversé sera affiché.

/2

7. Écrire le corps du sous-programmerenverse.

/1

8. Proposer un paramètre de complexité pourrenverseainsi que l’expression de sa fonction de com-

plexité.

/2

3

(4)

9. Caractériser la complexité asymptotique derenverse. Donner un exemple d’algorithme de complexité

asymptotique similaire.

/2

10. En supposant queswapest correcte, justifier qu’un invariant de boucle permet de prouver la correction

derenverse.

/1

11. Proposer un invariant de boucle qui permet de prouver la correction derenverse.

/3

12. Prouver cet invariant.

/3

(5)

Exercice 2.(10 points)

/10

Les coefficients binomiaux np

,0≤p≤n, utiles au calcul de(a+b)nsont définis comme suit :

n

p

= n!

p!(n−p)!.

Ils sont aussi calculables avec la relation de Pascal :

n

0

=

n

n

= 1et

n

p

= n−1

p−1

+ n−1

p

pour0< p < n.

1. Ecrire la fonction récursivefqui calcule la fonction factorielle. Bien préciser en-tête et corps.

/2

5

(6)

2. Écrire (l’en-tête et le corps) d’une fonctionbinomqui calcule np

pour deux valeurs entièresnetp. La

valeur non significative -1 sera retournée le cas échéant.

/2

3. Écrire un algorithme qui calcule et affiche np

pour deux valeursnetpentrées au clavier.

/1

4. Expliciter la suite d’appels nécessaires au calcul de 43

. Comptabiliser le nombre total d’appels à f. Comptabiliser et expliciter les appels éventuellement répétés. Qu’en penser ?

/3

(7)

5. Expliciter et commenter deux principes du calcul de nk

grâce à la relation de Pascal.

/2

7

Références

Documents relatifs

Le but est de concevoir un programme de simulation en JAVA de l’optimisation en temps-réel des plans de routes suivis par des véhicules (en temps-réel) pour servir des demandes

Considérons le modèle Producteur/Consommateur avec plusieurs producteurs et plusieurs consommateurs, vu en cours. Nous voulons en donner une version implémentée par synchronisation

private Singleton() {} // supprime le constr. Considérons maintenant le schéma de conception Adapter définit suivant le modèle de classe suivant :.. 1) Quel est l’intérêt de

- touche clavier &#34;ctrl&#34; maintenue enfoncée avec choix à la souris d'un premier sommet puis d'un second sommet : les deux sommets sont fusionnés, les arcs précédents reliés

Le mouvement d'une patte se décompose en deux phases : en rétraction, le pied de la patte est posé sur le sol et le mécanique de la patte effectue un mouvement de l'avant

Exercice 4. Un télécopieur permettant d’envoyer et recevoir des fax comporte un clavier numérique, avec une touche de prise de ligne, un scanner pour lire les

La classe FileDeMessage fonctionne en FIFO (First In First Out) c.-à-d. qu'elle doit assurer que les messages sont lus par les lecteurs dans l'ordre de leur dépôt et qu'il n'y a

public class CanvasProxy ... Dites ce qui est affiché à l'écran lors de l'exécution du programme suivant, commentez les méthodes echange et echangeBis.. Considérons