Bonjour,
Actuellement en formation de web developpeur, nous étudions l'algorithme mais avec le logiciel ALGOBOX. Probleme, les cours papiers ne sont pas fait au langage algobox.. Etant Novice en algorithme, ce nouveau langage me perturbe surtout avec algobox qui ne simplifie pas tout ...
Algobox nous restreint sur les chaines de caractères mais aussi sur les booléens.
[b]Enoncé de l'exercice : Recherche de la valeur x dans un tableau T de N éléments[/b]
Voici mon algorithme
FONCTIONS_UTILISEES
FONCTION TAB ( )
VARIABLES_FONCTION
I EST_DU_TYPE NOMBRE
DEBUT_FONCTION
AFFICHER "Entrez le nombre de valeurs : "
LIRE N
POUR I ALLANT_DE 1 A N
DEBUT_POUR
AFFICHER "Entrez le nombre n° "
AFFICHERCALCUL I
LIRE T[I]
FIN_POUR
FIN_FONCTION
VARIABLES
TROUVE EST_DU_TYPE NOMBRE
T EST_DU_TYPE LISTE
N EST_DU_TYPE NOMBRE
x EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
APPELER_FONCTION TAB()
LIRE x
I PREND_LA_VALEUR 0
POUR I ALLANT_DE 1 A N
DEBUT_POUR
TANT_QUE (I<N ET TROUVE==0) FAIRE
DEBUT_TANT_QUE
SI (T[I]=x) ALORS
DEBUT_SI
TROUVE PREND_LA_VALEUR 1
FIN_SI
SINON
DEBUT_SINON
I PREND_LA_VALEUR I+1
FIN_SINON
FIN_TANT_QUE
FIN_POUR
SI (T[I]=x) ALORS
DEBUT_SI
AFFICHER* " VRAI ! "
AFFICHER* " x appartient au tableau "
FIN_SI
SINON
DEBUT_SINON
AFFICHER* " FAUX ! "
AFFICHER* " x n'appartient pas au tableau"
FIN_SINON
FIN_ALGORITHME
Voici mon problème , la chaine suivante me rapporte toujours "VRAI" quelque soit le nombre X saisi
J'ai besoin de cet algorithme que je mettrais en fonction par la suite pour un autre exercice
Merci à vous
L'exercice en question sera le suivant (qui est à l'origine un exercice à faire sur PYTHON)
Recherche des K plus petits éléments
On considère T un tableau non trié de N entiers.
1. Écrivez un algorithme qui calcule les K plus petits éléments en procédant par recherches successives.
2. Écrivez un algorithme qui calcule les K plus petits éléments en triant le tableau au préalable (la fonction de tri par ordre croissant est donnée TRI(T); son coût est : nlog(N))
3. Comparez le temps mis par chacun des algorithmes pour K= 1..N.
Je ne connais pas vraiment algobox, mais l'erreur viens sans doute du fait que la variable TROUVE n'est pas initialisée.
En arrivant à la ligne TROUVE==0, il va comparer <non initialisé> == 0, ce qui est faux (sauf si ALGOBOX initialise par défaut à 0, je ne connais pas)
Il faut donc mettre TROUVE PREND_LA_VALEUR 0 juste avant le TANT_QUE
ALGOBOX ait un débugger complet mais pour trouver des erreurs, tu peux :
- Afficher des messages. Par exemple, tu peux mettre le message AFFICHER* "J'entre dans le TANT QUE" juste après le tant que. Ca te permettra de voir si ça coince au début du TANT QUE, ou si l'erreur est après...
- Utiliser le mode pas à pas, et voir exactement ce que fait l'algorithme.
Merci pour votre réponse.
Oui au début j'avais également initialisé TROUVE prend_la_valeur 0 mais le problème est toujours là
C est ce que je fais de temps en temps pour vraiment analyser d où vient le problème , j affiche des messages mais comme algobox et les tant que ne sont pas très compatibles, il me notifie que la boucle est sans fin ...
salut
si je comprend bien cet exercice ,celaconsiste à trouver une valeur saisie dans un tableau de n elements , le meilleur langage pour ca est excel vba ca la minpulation des chaines de caractères est plus aisée
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :