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
Bonjour pour faire un algorithme il vaut mieux utiliser des mots pour des variables plutôt que des lettres, ce qui rend le programme bien plus lisible.
De plus ici il aurait été sage d'ajouter des commentaires.
Pour les variables booléennes, on peut ajouter le mot _bool derrière la variable pour dire que le nombre derrière sera soit 0 pour faux soit 1 pour vrai.
Ici il y a des erreurs sur les tests d'égalités, Algobox demande un double égal pour les comparaisons.
| Ecriture Algorithmique | Ecriture AlgoBox | |
| Affectation | := | = |
| Egalité | = | == |
Bonsoir,
Juste pour le fun, vu qu'au bout de 5 ans ça a surement perdu de son intérêt, ci joint un code qui devrait répondre à la problématique.
1 VARIABLES
2 I EST_DU_TYPE NOMBRE
3 N EST_DU_TYPE NOMBRE
4 T EST_DU_TYPE LISTE
5 X EST_DU_TYPE NOMBRE
6 TROUVE EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8 AFFICHER "Nombre de valeurs ? "
9 LIRE N
10 AFFICHER "Création du tableau"
11 POUR I ALLANT_DE 1 A N
12 DEBUT_POUR
13 AFFICHER "Valeur du tableau au rang "
14 AFFICHER I
15 LIRE X
16 T[I] PREND_LA_VALEUR X
17 FIN_POUR
18 AFFICHER "Valeur à trouver ?"
19 LIRE X
20 TROUVE PREND_LA_VALEUR 0
21 POUR I ALLANT_DE 1 A N
22 DEBUT_POUR
23 SI (T[I]==X) ALORS
24 DEBUT_SI
25 TROUVE PREND_LA_VALEUR 1
26 FIN_SI
27 FIN_POUR
28 SI (TROUVE==1) ALORS
29 DEBUT_SI
30 AFFICHER "VRAI"
31 AFFICHER X
32 AFFICHER " appartient au tableau."
33 FIN_SI
34 SINON
35 DEBUT_SINON
36 AFFICHER "FAUX"
37 AFFICHER X
38 AFFICHER " n'appartient pas au tableau."
39 FIN_SINON
40 FIN_ALGORITHME
A copier et coller tel quel mais en passant en mode édition "Mode éditeur texte".
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :