Bioinfo
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Bioinfo

Forum pour les étudiants en bioinformatique (CNAM et Paris VII) ouvert à tous
 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  Connexion  
-27%
Le deal à ne pas rater :
-27% sur la machine à café Expresso Delonghi La Specialista Arte
399.99 € 549.99 €
Voir le deal

 

 Recherche linéaire

Aller en bas 
2 participants
AuteurMessage
Mydriaze
moderateur
Mydriaze


Nombre de messages : 220
Age : 57
Localisation : 75013 Paris
Date d'inscription : 29/03/2006

Recherche linéaire Empty
MessageSujet: Recherche linéaire   Recherche linéaire EmptyVen 5 Mai - 15:05

Dans le programme ci-dessous, je ne comprends pas la troixième ligne...
"Loop" c'est le nom d'une procédure? d'un let nommé? Est-ce que c'est la même chose?
Mais pourquoi suivi de "()" ? Cela signifie qu'il n'y a pas d'affectation?
Sinon pourquoi ne pas noter : "(let (loop ())" ?
Et quand, ligne 9, on appelle loop, à quelle ligne celà renvoie-t-il? La 3 ou la 4?

1- (define (recherche-linéaire T V)
2- (let ((pos 0))
3- (let loop ()
4- (if (>= pos (vector-length T))
5- -1
6- (if (equal? v (vector-ref T pos))
7- pos
8- (begin
9- (set! pos (+ pos 1)) (loop)))))))

Même question pour le codage 2, quand, ligne 7, on appelle loop, à quelle ligne celà renvoie-t-il? La 2 ou la 3?

1- (define (recherche-linéaire T V)
2- (let loop ((pos 0))
3- (if (>= pos (vector-length T))
4- -1
5- (if (equal? v (vector-ref T pos))
6- pos
7- (loop ( + 1 pos))))))
Merci d'avance si vous pouvez m'aider...


Dernière édition par le Mer 10 Mai - 17:50, édité 2 fois
Revenir en haut Aller en bas
axl
membre



Nombre de messages : 9
Date d'inscription : 25/04/2006

Recherche linéaire Empty
MessageSujet: Re: Recherche linéaire   Recherche linéaire EmptyMar 9 Mai - 11:09

c'est un let nommé

la difference avec une procedure c'est que elle n'est valable qu'à l'interieur de ces parenthese
tu ne pourras pas l'a rappelez dans une autre procedure

pour ce qui est du () c'est juste pour signifier que ce let ne prend pas d'arguments

pour le codage 2 il renvoie fin de ligne 2

en faite ta ligne 7 correspond a la structure de ton loop a savoir loop + valeur lié
Revenir en haut Aller en bas
 
Recherche linéaire
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Bioinfo :: LES SECRETS DE LA BIOINFORMATIQUE :: AIDE-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser