EDBA : Exercices Data Base for Algorithmics.

     

Liste des exercices disponibles dans EDBA

Exercice : plusun

  • difficulté : 1
  • domaine : xp_edba_calcul_symbolique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=plusun
  • énoncé : Spécifier et réaliser un prédicat 'plus un' qui établie la relation entre un nom d'entier et son successeur (seulement pour les noms des entiers de 0 a 9 : zero, un, deux, trois, ..., neuf) Ex. trois plus un vaut quatre.
  • spécification : plusun(X,Y) est vrai si et seulement X plus un vaut Y.

Exercice : plusununaire

Exercice : couleur

  • difficulté : 2
  • domaine : xp_edba_calcul_symbolique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=couleur
  • énoncé : Spécifier et réaliser un prédicat 'couleur' qui vérifie qu'un terme connu est une couleur (parmi blanc, gris et noir) ou énumère les couleurs lors de l'appel avec une variable libre. Ex. gris est une couleur. C est une couleur pour C=blanc, C=gris, C=noir.
  • spécification : couleur(C) est vrai si et seulement C est une couleur.

Exercice : premier

Exercice : plusdeux

Exercice : moinsun

Exercice : fin

Exercice : second

Exercice : troisieme

Exercice : moinsymb

Exercice : foisdeux

Exercice : liste

  • difficulté : 4
  • domaine : xp_edba_list
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=liste
  • énoncé : Spécifier et réaliser un prédicat 'liste' qui vérifie qu'un terme connu est une liste ou énumère les listes de longueurs qclq lors de l'appel avec une variable libre. Ex. [4,3] est une liste. L est une liste pour L=[], [E], [E,F], ...
  • spécification : liste(L) est vrai si et seulement L est une liste.

Exercice : plusymb

Exercice : nombredefeuille

Exercice : hauteur

Exercice : croissante

Exercice : listecouleurs

  • difficulté : 5
  • domaine : xp_edba_calcul_symbolique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=listecouleurs
  • énoncé : Spécifier et réaliser un prédicat 'liste de couleurs' qui vérifie qu'un terme connu est une liste de couleurs (parmi blanc, gris et noir) ou énumère les listes de couleurs lors de l'appel avec une variable libre. Ex. [gris,noir,gris] est une liste de couleurs. LC est une liste de couleurs pour LC=[], LC=[blanc], LC=[gris], LC=[noir], LC=[blanc,blanc], LC=[blanc,gris], ...
  • spécification : listecouleurs(C) est vrai si et seulement C est une liste de couleurs.

Exercice : dernier

Exercice : factorielle

  • difficulté : 5
  • domaine : xp_edba_suite_numerique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=factorielle
  • énoncé : Proposer un prédicat factorielle qui calcule la factorielle d'un entier donné (rappel : les factorielles de 0 et de 1 valent 1, et pour un entier N (>1), la factorielle de N est le produit de N par la factorielle de N-1) Ex : la factorielle de 10 vaut 3 628 800.
  • spécification : factorielle (N,F) est vrai si et seulement si F est la valeur de la factorielle de N.

Exercice : nombredenoeud

Exercice : longueur

Exercice : somme

Exercice : listePositive

Exercice : feuilleLaPlusAGauche

Exercice : compteLesZeros

Exercice : longueurPaire

Exercice : longueurImpaire

Exercice : appartientListeTriee

Exercice : symetrique

Exercice : present

Exercice : insere

Exercice : extraitmin

  • difficulté : 6
  • domaine : xp_edba_tri
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=extraitmin
  • énoncé : Spécifier et réaliser un prédicat 'extrait le mininmum' qui fait la relation entre une liste, son élément le plus petit et la liste sans cet élément. Ex. la liste [12,35,4,44,63] a pour élément min 4 et sans cet élément il reste la liste [12,35,44,63].
  • spécification : extraitmin(L,E,M) est vrai si et seulement la liste L a E comme élément minimum et M est cette liste sans E.

Exercice : coupepairimpair

  • difficulté : 6
  • domaine : xp_edba_tri
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=coupepairimpair
  • énoncé : Spécifier et réaliser un prédicat 'coupe selon les indices pairs/impairs' qui établie la relation entre une liste et la liste (non vide) de ses éléments d'indice pair associée à la liste(non vide) de ses éléments d'indice impairs. En cas de liste vide ou à un élément à découper, coupepairimpair échoue. Ex. coupepairimpair [12,35,42,44,63] donne [12,42,63] associé à [35,44].
  • spécification : coupepairimpair(L,P,I) est vrai si et seulement L est une liste avec au moins 2 éléments dont les éléments indices pairs forment P et ceux indices impairs forment I.

Exercice : sousliste

Exercice : debut

Exercice : avantDernier

Exercice : fibonacci

  • difficulté : 6
  • domaine : xp_edba_suite_numerique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=fibonacci
  • énoncé : Proposer un prédicat fibonacci qui calcule le Nieme terme de la suite de Fibonacci définie par récurrence : F0=0; F1=1; F(n+1)=F(n)+F(n-1). Ex : le 10 ième terme de la suite de fibonacci vaut 55.
  • spécification : fibonacci(N,F) est vrai si et seulement si F est le Nieme terme de la suite de Fibonacci définie par récurrence : F0=0; F1=1; F(n+1)=F(n)+F(n-1).

Exercice : enleve0

Exercice : derive

Exercice : listeOuPeigne

  • difficulté : 6
  • domaine : xp_edba_arbre
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=listeOuPeigne
  • énoncé : Proposer un prédicat 'liste ou peigne' qui fait la correspondance entre une liste (de 0 et de 1) et un arbre (noeuds binaires : n ; feuilles 0, 1 ; en forme de peigne à droite) dont le mot des feuilles est la liste de 0 et de 1. Exemple la liste 1, 0, 1, 1 correspond à l'arbre en forme de peigne à droite n(1,n(0,n(1,1))) et vice-versa.
  • spécification : listeOuPeigne(L,A) est vrai si et seulement si l'arbre A en forme de peigne à droite donne le mot des feuilles L.

Exercice : accepteChaBaDa

Exercice : enleveFeuilleAGauche

  • difficulté : 6
  • domaine : xp_edba_arbre
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=enleveFeuilleAGauche
  • énoncé : Proposer une prédicat qui enleve la feuille la plus à gauche d'un arbre (noeuds binaires : n, feuilles : 0, 1). Exemple : apres enlevement de la feuille la plus à gauche de l'arbre n(n(n(1,0),0),n(0,0)) on obtient l'arbre n(n(0,0),n(0,0)).
  • spécification : enleveFeuilleAGauche(A,R) est vrai ssi apres enlevement de la feuille la plus à gauche de l'arbre A on obtient l'arbre R.

Exercice : accepteDupDelConc

  • difficulté : 6
  • domaine : xp_edba_grammaire
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=accepteDupDelConc
  • énoncé : Proposer un prédicat qui accepte les listes de dup, del, conc, 0, 1, (, ) definies par la grammaire :S->P, S->C, P->del ( S ), P->conc ( C S ), P->dup ( S ), C->0, C->1 (les parentheses sont des terminaux de la grammaire, S est l'axiome. Ex : dup(del(conc(0 conc(0 1)))) est accepte.
  • spécification : accepteDupDelConc(L) est vrai si et seulement si L est une listes de dup, del, conc, 0, 1, (, ) definies par la grammaire donnee.

Exercice : supprimePremiereOccurrence

Exercice : nombreDOccurrences

Exercice : compteLesDix

Exercice : compteLesDeux

Exercice : appartient

Exercice : partie

Exercice : avantAvantDernier

Exercice : plusunaire

Exercice : concatene

  • difficulté : 7
  • domaine : xp_edba_list
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=concatene
  • énoncé : Spécifier et réaliser un prédicat 'concatene' qui établie la relation entre 2 listes et la liste obtenue par concaténation de ces deux listes. Ex. la concaténation de [1,2] et [8,10] est [1,2,8,10].
  • spécification : concatene(D,F,L) est vrai si et seulement la concaténation des listes D et F donne la liste L.

Exercice : coupepivot

  • difficulté : 7
  • domaine : xp_edba_tri
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=coupepivot
  • énoncé : Spécifier et réaliser un prédicat 'coupe avec pivot' qui sépare une liste en deux, d'un coté les éléments supérieurs à un pivot, de l'autre, les éléments inférieurs. Ex. coupe selon le pivot 43 la liste [12,35,42,44,63] donne [12,35,42] et [44,63].
  • spécification : coupepivot(P,L,I,S) est vrai si et seulement la liste I est composé des éléments de L inférieur à P et la liste I est composé des éléments de L strictement supérieur à P.

Exercice : acceptelistezeroun

Exercice : egalSans0

  • difficulté : 7
  • domaine : xp_edba_algo_sur_les_textes
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=egalSans0
  • énoncé : Proposer un prédicat de test qui vérifie que deux listes d'entiers sont égales si l'on ignore les zéros. Ex : les listes 0, 1, 2, 3, 0 et 1, 0, 2, 0, 3 sont égales, aux zéros près.
  • spécification : egalSans0(L,F) est vrai si et seulement si L et F sont deux listes de nombres entiers égales si on ignore les zéros..

Exercice : renverse

Exercice : palindrome

Exercice : evalueExpBool

Exercice : motDesFeuilles

Exercice : lireChaBaDa

  • difficulté : 7
  • domaine : xp_edba_grammaire
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=lireChaBaDa
  • énoncé : Proposer un prédicat qui lit les listes de cha bada bada décrites par le grammaire suivante : S->chaA, S->chaAS, A->badaA, A->bada (axiome S) et donne l'arbre de dérivation de la liste lue. Exemple cha bada bada bada cha bada est accepte et donne l'arbre dérivationS2(cha, derivationA1(bada, dérivationA1(bada, derivationA2(bada))), derivationS1(cha, derivationA2(bada))).
  • spécification : lireChaBaDa(L,T) est vrai si et seulement si L est une liste de cha bada respectant la grammaire et T l'arbre de dérivation correspondant.

Exercice : supprimeToutesLesOccurrences

Exercice : remplaceUneFeuille

Exercice : remplaceToutesLesFeuilles

Exercice : compteLesVingts

Exercice : nAppartientPas

Exercice : syracuse

  • difficulté : 7
  • domaine : xp_edba_suite_numerique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=syracuse
  • énoncé : Proposer une prédicat qui donne le Nieme terme de la suite de Syracuse partant d'un entier donné. Ex : à partir de 3, le 4ieme terme de la suite de Syracuse vaut 8. Rappel : un élément X de la suite de Syracuse est donné en fonction de l'élément précédent Y de la suite, par la fonction F, X=F(Y), décrite par : quand Y est pair, X correspond à la moitié de Y, quand Y est impair, X vaut le successeur du triple de Y.
  • spécification : syracuse(E,N,R) est vrai ssi R est le Nieme terme de la suite de Syracuse partant de E.

Exercice : foisymb

Exercice : plusgrandunaire

  • difficulté : 8
  • domaine : xp_edba_calcul_symbolique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=plusgrandunaire
  • énoncé : Spécifier et réaliser un prédicat 'plus grand unaire' qui est réalisé quand le premier argument du prédicat est strictement plus grand que le second (nombres représentés par zero, s(zero), s(s(zero)), ...) Ex. s(zero) est plus grand que zero.
  • spécification : plusgrandunaire(X,Y) est vrai si et seulement X est strictement plus grand que Y.

Exercice : trier

Exercice : lirelistezeroun

  • difficulté : 8
  • domaine : xp_edba_grammaire
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=lirelistezeroun
  • énoncé : Spécifier et réaliser un prédicat 'lire liste zero un' qui lit les textes corespondants à des listes ProLog de zéros et de uns et en retrouve la valeur (la liste sous forme de liste). Ex. ["[","0",",","1","]"] est lu, reconnu comme la liste [0,1].
  • spécification : lirelistezeroun(T,L) est vrai si et seulement T est un texte corespondant à la liste ProLog L de zéros et de un .

Exercice : entier

Exercice : lireDupDelConc

  • difficulté : 8
  • domaine : xp_edba_grammaire
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=lireDupDelConc
  • énoncé : Proposer un prédicat qui lit les listes de dup, del, conc, 0, 1, (, ) definies par la grammaire :S->P, S->C, P->del ( S ), P->conc ( C S ), P->dup ( S ), C->0, C->1 (les parentheses sont des terminaux de la grammaire, S est l'axiome) et produit un arbre de derivation proche de l'expression initiale. Ex : dup ( del ( conc ( 0 conc ( 0 1 ) ) ) ) est lu et donne dup(del(conc(0,conc(0,1)))).
  • spécification : lireDupDelConc(L,A) est vrai si et seulement si L est une listes de dup, del, conc, 0, 1, (, ) definies par la grammaire donnee et A un arbre corespondant.

Exercice : supprimeDoublon

Exercice : compteLesOnzes

Exercice : interclassement

  • difficulté : 9
  • domaine : xp_edba_tri
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=interclassement
  • énoncé : Spécifier et réaliser un prédicat 'interclassement' qui produit une liste triée par interclassement de deux (sous-)listes trièes. Ex. interclassement [12,42,44] et [35,43,63] donne [12,35,42,43,44,63].
  • spécification : interclassement(A,B,T) est vrai si et seulement A, B T sont triès et T est la liste des éléments de A et B.

Exercice : conway

Exercice : compteLesTrenteTrois

Exercice : unionListeTriee

Exercice : intersectionListeTriee

Exercice : listeSyracuse

  • difficulté : 9
  • domaine : xp_edba_suite_numerique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=listeSyracuse
  • énoncé : Proposer une prédicat qui donne la suite de Syracuse partant d'un entier donné. Ex : à partir de 3, la suite de Syracuse vaut 10, 5, 16, 8, 4, 2, 1 .... Rappel : un élément X de la suite de Syracuse est donné en fonction de l'élément précédent Y de la su
  • spécification : listeSyracuse(N,L) est vrai ssi L est la suite de Syracuse commençant à N. (N exclu, on s'arrête à 1).

Exercice : pgcdunaire

  • difficulté : 10
  • domaine : xp_edba_calcul_symbolique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=pgcdunaire
  • énoncé : Spécifier et réaliser un prédicat 'pgcd unaire' qui établit la relation entre deux nombres et leur pgcd (nombres représentés par zero, s(zero), s(s(zero)), ...) Ex. le pgcd de s(s(zero)) et s(s(s(zero))) est s(zero).
  • spécification : pgcdunaire(X,Y,Z) est vrai si et seulement le pgcd de X et Y vaut Z.

Exercice : aLaPosition

  • difficulté : 10
  • domaine : xp_edba_list
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=aLaPosition
  • énoncé : Donner un prédicat "à la position" qui établie la relation entre une liste, un élément de cette liste et sa position dans la liste (le premier élément de la liste est dit à la position 0) Ex. 1 est à la position 3 de la liste 2 3 0 1.
  • spécification : aLaPosition(E,N,L) est vrai si et seulement E est la position N de la liste L.

Exercice : evalueDupDelConc

  • difficulté : 10
  • domaine : xp_edba_grammaire
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=evalueDupDelConc
  • énoncé : Proposer un prédicat qui evalue les listes de dup, del, conc, 0, 1, (, ) definies par la grammaire :S->P, S->C, P->del ( S ), P->conc ( C S ), P->dup ( S ), C->0, C->1 (les parentheses sont des terminaux de la grammaire, S est l'axiome) pour produire une liste ProLog de 0 et de 1 obtenu a partir des 0 et des 1 par concatenation (operateur conc), duplication (operateur dup) et suppression du premier element (operateur del) Ex : dup ( del ( conc ( 0 conc ( 0 1 ) ) ) ) est lu et donne [0,1,0,1].
  • spécification : evalueDupDelConc(L,R) est vrai si et seulement si L est une listes de dup, del, conc, 0, 1, (, ) definies par la grammaire donnee et R une liste ProLog resultat de l'evaluation de cette liste.

Exercice : niemeConway

Exercice : supprimeDoublonConsecutif

Exercice : union

  • difficulté : 11
  • domaine : xp_edba_theorie_des_ensembles
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=union
  • énoncé : Proposer une prédicat qui fasse l'union de deux ensembles. Ex : 1, 2, 3, 4 est l'union de l'ensemble 1, 2, 3 et de l'ensemble 2, 3, 4.
  • spécification : union(A,B,R) est vrai ssi R est l'union de A et de B. A, B sont des listes d'entiers quelconques, R est une liste conservant les éléments de A dans leur ordre, puis ceux de B non commun, dans leur ordre également.

Exercice : intersection

  • difficulté : 11
  • domaine : xp_edba_theorie_des_ensembles
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=intersection
  • énoncé : Proposer une prédicat qui donne l'instersection entre deux ensembles. Ex: 2, 3, 5 est l'intersection entre 0, 1, 2, 3, 4, 5, 6 et 2, 3, 5, 7.
  • spécification : intersection(A,B,R) est vrai ssi R est l'intersection de A et de B, A, B sont des listes d'entiers quelconques, R est une liste conservant les éléments commun à A et à B dans ordre de ces mêmes éléments dans A.

Exercice : difference

  • difficulté : 11
  • domaine : xp_edba_theorie_des_ensembles
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=difference
  • énoncé : Proposer une prédicat qui calcule la différence A-B, ou A et B sont des ensembles (A-B est l'ensemble des éléments appartenant à A mais pas à B). Ex: 2, 4, 6 est la difference entre 1, 2, 3, 4, 5, 6 et 1, 3 , 5.
  • spécification : difference(A,B,R) est vrai ssi R est la différence A-B. A, b sont des listes d'entiers quelconques, R est une liste d'entiers dont l'ordre est conforme à celui dans A.

Exercice : differenceSymetrique

  • difficulté : 11
  • domaine : xp_edba_theorie_des_ensembles
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=differenceSymetrique
  • énoncé : Proposer une prédicat qui donne la différence symétrique entre deux ensembles. (les éléments qui appartiennent à l'un des deux ensembles mais pas à l'autre). Ex : 2, 4 est la différence symétrique entre 1, 2, 3, 5 et 1, 3, 4, 5.
  • spécification : differenceSymetrique(A,B,R) est vrai ssi R est la différence symétrique de A et B. A, B sont des listes d'entiers quelconques, R est une liste d'élements de A puis de B, dans l'ordre où on les trouve dans A et dans B.

Exercice : permutation

Exercice : rangPremierUn

  • difficulté : 12
  • domaine : xp_edba_algo_sur_les_textes
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=rangPremierUn
  • énoncé : Trouver une prédicat qui donne le rang du premier 1 dans une liste de 0 et de 1. Exemple le rang du premier 1 dans la liste 0, 0, 1, 1, 0, 0 est 2 (décompte à partir du premier élément avec le rang 0.
  • spécification : rangPremierUn(L,R) est vrai ssi L une liste de 0 et de 1, R est un entier et est le rang du premier 1 de L.

Exercice : motDesFeuillesAHauteur

  • difficulté : 12
  • domaine : xp_edba_arbre
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=motDesFeuillesAHauteur
  • énoncé : Proposer une prédicat qui donne le mot des feuilles de hauteur N donnée pour un arbre donné (feuilles 0, 1, noeud n), en lisant de gauche à droite (la hauteur commençant à la racine avec 0. Exemple : pour l'arbre n(n(0,1),n(1,1)), à hauteur 0 (et 1), le mot des feuilles est vide, à hauteur 2 il vaut 0, 1, 1 et 1.
  • spécification : motDesFeuillesAHauteur(A,N,L) est vrai ssi L est le mot des feuilles de hauteur N de l'arbre A (la hauteur commence avec 0 à la racine).

Exercice : sousListesCroissantes

Exercice : compteLesMotifs

Exercice : regroupeDoublonConsecutif

Exercice : encodeRepetition

Exercice : listeParties

Exercice : decodeRepetition

Exercice : listeFibonacci

  • difficulté : 14
  • domaine : xp_edba_suite_numerique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=listeFibonacci
  • énoncé : Proposer une prédicat qui calcule les N premiers termes de la suite de Fibonnacci définis : F0=0; F1=1; F(n+1)=F(n)+F(n-1). Exemple, pour N = 5 le prédicat doit donner 1, 1, 2, 3 et 5.
  • spécification : listeFibonacci(N,L) est vrai ssi L est la liste des N premiers termes de la suite de Fibonnacci définie par F0=0; F1=1; F(n+1)=F(n)+F(n-1)

Exercice : rangDernierUn

  • difficulté : 15
  • domaine : xp_edba_algo_sur_les_textes
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=rangDernierUn
  • énoncé : Trouver une prédicat qui donne le rang du dernier 1 dans une liste de 0 et de 1. Exemple le rang du dernier 1 dans la liste 0, 0, 1, 1, 0, 0 est 3 (décompte à partir du premier élément avec le rang 0.)
  • spécification : rangDernierUn(L,R) est vrai ssi L est une liste de 0 et de 1, R est un entier et est le rang du dernier 1 de L.

Exercice : listePermutations

Exercice : eratosthene

  • difficulté : 17
  • domaine : xp_edba_suite_numerique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=eratosthene
  • énoncé : Proposer une prédicat qui donne la liste de nombres premiers jusqu'à un entier donné (par exemple en utilisant la méthode du crible d'Eratosthène). Ex: pour N = 10, le prédicat doit donner la liste 2, 3, 5 et 7.
  • spécification : eratosthene(N,L) est vrai ssi L est la liste des nombres premiers jusqu'à N.

Exercice : aplatirListe

Exercice : niemePliage

  • difficulté : 19
  • domaine : xp_edba_suite_numerique
  • url : http://www.noe-kaleidoscope.org/public/people/DenisB/EDBA/index_EDBA_Full.html?exo=niemePliage
  • énoncé : Prenez une feuille, pliez la en 2 (en rabattant la partie droite sur la partie gauche), et encore, et encore (N fois). Déplier le résultat, et notez 1 pour les plis en creux, 0 pour les plis en relief, de la gauche vers la droite. Donner un prédicat qui détermine la suite de 0 et de 1 obtenus après n pliages. Ex : pour 1 pliage, la suite vaut juste 1, pour 3 pliages, la suite vaut 1 puis 1, 0, 1, 1, 0 et enfin 0.
  • spécification : niemePliage(N,L) est vrai ssi l est la liste des 0/1 obtenus après n pliages.

Exercice : sommePartielleMax