• Aucun résultat trouvé

UE ALGO5 TD2 Séance 2 : Validation expérimentale de programmes

N/A
N/A
Protected

Academic year: 2022

Partager "UE ALGO5 TD2 Séance 2 : Validation expérimentale de programmes"

Copied!
1
0
0

Texte intégral

(1)

L3 Informatique Année 2021 2022

UE ALGO5 TD2 Séance 2 : Validation expérimentale de programmes

Objectifs À la n de cette séance, vous devriez être capable de :

construire et décrire un jeu de tests adapté pour valider un programme ;

décrire la spécication d'un programme sous forme d'un oracle (programme de vérication) ; réaliser l'APNÉE 2.

Exercice 1.

Pour chacune des fonctions ou procédures suivantes :

Q 1. décrire un jeu d'essai permettant de tester la fonction ;

Q 2. écrire un oracle permettant de vérier que le résultat donné par la fonction correspond à sa spécication.

1 RacineCarrée(X)

{donnée :X : un entier≥0

3 résultat :un entier, renvoie la partie entière de la racine carrée de X }

Trier(T)

2 {donnée-résultat :T : un tableau sur [1..n] d’entiers post-condition :trie le tableau T

4 }

RechercherChaine(T,P)

2 {données :T : un tableau sur [1..n] de caractères, P : un tableau sur [1..m] de caractères,mn

4 résultat :un entier : si P est une sous−chaîne de T, alors renvoie une position de cette sous−chaîne dans T, 0 sinon

6 }

Exercice 2.

Soit la fonction de recherche ci-dessous : RechercheDichotomique(T,X)

2 {donnée :T : un tableau sur [1..n] d’entiers, X : un entier

résultat :un entier ; renvoie l’indice de X dans T si T contient la valeur X, 0 sinon

4 pré-condition :T est trié par ordre croissant }

6 g,d,i : entiers

8 g<−1 d<−n

10 i<−(g + d)/2

tant que(T[i]6=X) et (g≤d)

12 siT[i]<Xalors d<−i−1

14 sinon

g<−i+1

16 i<−(g + d)/2 siT[i] = Xalors

18 renvoyer i sinon

20 renvoyer 0

Q 1. Proposer un protocole permettant d'automatiser le test de cette fonction.

Références

Documents relatifs

On souhaite maintenant associer une priorité à chaque requête : lors de l'exécution de la primitive Extraire c'est une requête (quelconque) de priorité maximale (parmi les

On peut en eet dans ce cas utiliser pour cela un tableau de le d'attente, ou, plus facile à gérer, un tableau de pile TabPile indicé par priorité (bien remarquer qu'aucun ordre

Nous aurons également besoin d'une notion de liste d'arbres : ici nous allons également représenter une liste par un arbre binaire : le premier élément de la liste se trouve à la

Nous aurons également besoin d'une notion de liste d'arbres : ici nous allons également représenter une liste par un arbre binaire : le premier élément de la liste se trouve à la

Les primitives que devra fournir ce type Dico sont : la recherche d'un Mot dans le dictionnaire l'insertion d'un nouveau mot dans le dictionnaire la suppression d'un mot présent

Les primitives que devra fournir ce type Dico sont : la recherche d'un Mot dans le dictionnaire l'insertion d'un nouveau mot dans le dictionnaire la suppression d'un mot présent

Pour cela, on utilise un tableau P de n entiers représentant une forêt, dans laquelle chaque arbre contient les éléments d'un même sous-ensemble. P(x) est déni comme étant le parent

Pour cela, on utilise un tableau P de n entiers représentant une forêt, dans laquelle chaque arbre contient les éléments d'un même sous-ensemble.. P(x) est déni comme étant le