Auteur |
Message |
Médine
Newbiiiie
Messages: 4
|
Posté le:
Dim 26 Fév 2006 - 17:52 |
|
Voila bonjour à tous voila mon problème.
Je suis en première année de bts ig et j'ai beaucoup de mal en algorithme. Etant donné que je veuille prendre l'option developpeur l'année prochaine, il vaudrait mieux pour moi que sache manier l'algorithme de façon plus que correct.
J'ai donc une série d'exercices d'algo et je bloque sur un exo qui à l'air simple , sur les tableaux. je vous met l'énoncé ci dessous. Juste pour préciser ce n'est pas pour qu'on me fasse le travaille et que je rende des feuilles à mon prof pour que j'ai de bonnes notes. l'exo que je vais proposer c'est uniquement pour moi et pour comprendre la structure algorithmique sur les tableaux etc.
voila l'énoncé :
Un tableau de 20 entiers étant trié, écrire le programme de recherche optimisé.
je n'arrive pas à commencer mon algo.
Pouvez vous m'aider à comprendre la structure.
merci d'avance. |
|
|
|
|
N'oubliez pas de vous inscrire à la communauté pour participer. Si vous êtes déjà membre, connectez-vous pour faire disparaître ce bandeau publicitaire. |
Yipyip
Modérateur
Sexe:
Messages: 1163
Localisation: Ici, là, pas loin ...
|
Posté le:
Dim 26 Fév 2006 - 22:14 |
|
Médine a écrit: |
Un tableau de 20 entiers étant trié, écrire le programme de recherche optimisé.
je n'arrive pas à commencer mon algo.
Pouvez vous m'aider à comprendre la structure. |
Ton algo c'est "Tant que pas pas trouvé on cherche en incrementant un compteur" ? |
_________________
|
|
|
|
kronky
Accro à Web-IG
Sexe:
Messages: 143
Localisation: Dijon
|
Posté le:
Lun 27 Fév 2006 - 11:50 |
|
Tableau trié ? Recherche optimisée ?
Ca sent la méthode de recherche dichotomique à plein nez ça.
Mine de rien, je viens de te donner 80% de la réponse.
() bon ok, peut-être pas 80%... |
|
|
|
|
mrmabo
Accro à Web-IG
Sexe:
Messages: 226
Localisation: Amiens
|
Posté le:
Lun 27 Fév 2006 - 18:25 |
|
kronky a écrit: |
Tableau trié ? Recherche optimisée ?
Ca sent la méthode de recherche dichotomique à plein nez ça.
Mine de rien, je viens de te donner 80% de la réponse.
() bon ok, peut-être pas 80%... |
agree
http://www.labri.fr/perso/esnard/Enseignement/C++/algo.pdf
tu comprendras avec ceci j'espere
là 85% du travail de fait ^^
l'ideal pr commencer un algo c'est
ALGO nom_algo C'EST
de rien
(en cas de procedure : PROC et en cas de fonction FONCTION ma_fonction REOURN type C'EST)
le "C'EST" n'est ps utilisé par grand monde j'crois |
|
|
|
|
Genzo
Modérateur
Sexe:
Messages: 1706
Localisation: Sartrouville (78)
|
Posté le:
Lun 27 Fév 2006 - 19:24 |
|
mrmabo a écrit: |
recherche dichotomique à plein nez ça. |
Ah... comme dans le Juste Prix, où il fallait dire un prix et le présentateur disait "Plus", ou "Moins"
Allez manque plus qu'à coder maintenant |
_________________ N'oubliez pas de mettre un avis sur votre lycée/centre de formation !!! Pensez aux futurs BTSiens. Merci |
|
|
|
Médine
Newbiiiie
Messages: 4
|
Posté le:
Mar 07 Mar 2006 - 18:33 |
|
dac merci à vous tous .. je vais m'y mettre et je vous tiens au courant.
ps: dsl pour le retard. |
|
|
|
|
Médine
Newbiiiie
Messages: 4
|
Posté le:
Mar 07 Mar 2006 - 18:56 |
|
voila ma première proposition:
Prog Tableau Trié
const Max=20
Var T.Tableau [1..20] d'entier
val,cpt : entier
Début
cpt <-- 0
Répéter
cpt <-- cpt +1
jqa T[cpt] >= val ou cpt = Max
Si T[cpt] = val
Alors Afficher "Trouvé "
Sinon Afficher " Désolé, non trouvé "
Fsi
Fin
Alors où sont mes erreurs ..
merci |
|
|
|
|
dununfolette
Modérateur
Sexe:
Messages: 2497
Localisation: chambéry (73)
|
Posté le:
Mer 08 Mar 2006 - 10:12 |
|
là le souci c'est que tu parcours tout ton tableau valeur par valeur.
si tu utilises la recherche dichotomique, vu que ton tableau est trié c'est tout indiqué , tu vas bien plus vite !
la recherche dichotomique te permet de tester trois valeurs min (sur ton algo : valeur de T(1)) , milieu (valeur de T(20 div 2 = 10)) et max (valeur de T(20)) et de voir si la valeur que tu recherche est :
- soit égale à min, milieu ou max, au quel cas tu as trouvé.
- soit supérieure à milieu, au quel cas tu attribue min à milieu et tu ressitues milieu.
- soit inférieure à milieu, au quel cas tu attribue max à milieu et tu ressitue milieu.
là c'est 90% de fait ! |
_________________ Doudou BTS IG ARLE eu et LP Réseaux Sans Fil et Sécurité validée ! Boulot, boulot, boulot...
Pensez à valider votre profil !
|
|
|
|
Médine
Newbiiiie
Messages: 4
|
Posté le:
Mer 08 Mar 2006 - 17:52 |
|
Oui je suis d'accord avec toi mais sur le sujet ce n'est pas écrit rechercher par dichotomie. Normalement il ya écrit. Là j'ai utilisé la méthode optimisé d'une recherche de tableau trié.
Enfin bon voila ce que je propose avec la recherche dichotomique :
Prog Tableau Trié dicho
const Max=20
Var T.Tableau [1..Max] d'entier
val,début,fin,milieu : entier
Début
Afficher "valeur cherché"
Saisir val
fin <-- max
début <-- 1
Répéter
milieu <-- ent ((début + fin)/2)
Si val > T[milieu]
Alors début <-- milieu + 1
Sinon fin <-- milieu
Fsi
Jqa début = fin
Si T[début] = val
Alors Afficher val,"est trouvé"
Sinon Afficher " Non trouvé"
Fin |
|
|
|
|
|