Besoin d'aide pour exercice algorithme

mob40 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -  
jeanch_tlse Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

je sais pas si c'est trop l'endroit mais j'aimerai avoir une aide pour les connaisseurs.
j'ai un exercice de débutant à faire sur le logiciel "TestAlgo 3.1"

l'énoncé : décrivez un algorithme qui déclare deux variables de type entier. Donnez leur n'importe quelle valeur et affichez le contenu de la variable qui est le plus élevé ( en supposant qu'on ne connait pas les valeurs).

j'ai mis :

algo jose
principal
var
entier a:=2, b:=3;
debut
si a>b alors afficher(a);
sinon afficher (b);
finsi


et apparemment y aurait une erreur d'écriture... mais je sais pas laquelle si vous aviez une idée...

A voir également:

9 réponses

yuri648 Messages postés 677 Date d'inscription   Statut Membre Dernière intervention   7
 
ton idée est juste
0
cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   131
 
Bonjour,

Je ne vois pas, moi non plus, d'erreur. Peut-être peux-tu ajouter: Fin (du programme) ?
0
mob40 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
ok ca doit etre une erreur d'écriture par rapport au logiciel alors... j'aurai besoin d'aide pour un autre exercice je le posterai demain ici. merci .
0
yuri648 Messages postés 677 Date d'inscription   Statut Membre Dernière intervention   7
 
quel language utilise tu?

ecrit le programme en language que tu utilise pour voir mieux l'erreur
0
mob40 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
le logiciel est celui la http://www.lirmm.fr/~jung/enseignements.html
0
mob40 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
exercice suivant : même questions qu'avant sauf qu'il y a 3 entiers cette fois.
avez vous une idée de la réponse moi je pensais a ca mais je sais pas si c'est possible...
algo jose
principal
var
entier a:=2, a:=5, c:=10;
debut
si a>b,c alors afficher(a);
si b>a,c alors afficher (b);
si c>a,c alors afficher (c);
finsi

je suis pas convaincu mais j'ai trouvé que ca avec les moyens que j'ai LOL merci de votre aide
0
yuri648 Messages postés 677 Date d'inscription   Statut Membre Dernière intervention   7
 
c juste tant que le nombre d'entier est limité
0
mob40 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
ok et auriez vous un idée pour celui la :
écrivez un algorithme qui tri par ordre décroissant trois réels a, b, c en échangeant leurs valeurs. Les valeurs sont attribuées au hasard (bien sûr, on supposera qu'elles ne sont pas connues)
0
yuri648 Messages postés 677 Date d'inscription   Statut Membre Dernière intervention   7
 
je ne sais pas si vous avez etudiez les tableau?
0
mob40 Messages postés 13 Date d'inscription   Statut Membre Dernière intervention  
 
ben je sais pas trop je crois pas... enfin... si tu as un exemple. enfaite c'est un cours d'informatique et on a eu droit a 3 exercices papiers simples, et après des exercices sur machine. mais bon j'y connais rien et vu qu'il n'a pas corrigé je sais pas la réponse des exos que j'ai pas fait en cours. alors je cherche^^
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yuri648 Messages postés 677 Date d'inscription   Statut Membre Dernière intervention   7
 
si oui tu les met dans un tableau et tu fait trier le tableau et tu l'affiche
c'est universsele

notre tableau est T[i] qui contient les chiffres a trier
on prend le max la premiere case du tableau et on le parcourant et on comparant avec max si on trouve un num>max on ecrase l'encienne

voila l'algo

max=T[0]

i=1
thant que (i<taille_du_tableau)
debut
si (t[i]>max ) max=t[i]
sinon i=i+1
Fin

//affichage

thant que (i<taille_du_tableau)
debut
affiche( T[i])
i=i+1

fin

bon courage
0
yuri648 Messages postés 677 Date d'inscription   Statut Membre Dernière intervention   7
 
ah j'ai oulié d'initialiser i a 0 pour l'affichage
0
jeanch_tlse Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   3
 
1/peut etre fallait il lire les variables au clavier, au lieu de leur affecter une valeur dans le programme.

2/ algos avec que des if :

avec 3 variables ton algo est valable aussi (il n'y a pas 1 seule solution, apres questions d'optimisation et eviter faire trop de tests inutiles):

/* elimine la cas de a
/* ensuite il nous reste a comparer b et c
si a> b et a > c
afficher a
sinon
si b > c
afficher b
sinon
afficher c
fin si
fin si


3/
principe du tri a bulle (qui decoule sur des fonctions reccursives par la suite):
a verifier et bien comprendre pour pouvoir progresser par la suite
/* si a superieur à b on echange
/* pour se retrouver avec a et b tries
/* si a=3,b =2,c =1 on obtient a=2,b=3,c=1)
si a > b
X <- a
a <- b
b <- X
fin si

/* si b superieur à c
/* on echange b et c
/* suite du cas precedent a=2,b=3,c=1 ==> a=2,b=1,c=3)
si b > c
X <- c
c <- b
b <- X
/* comme on a echange b et c
/* il faut verifier a et b
/* suite du cas precedent a=2,b=1,c=3 ==> a=1,b=2,c=3)
si a > b
X <- a
a <- b
b <- X
fin si
fin si

afficher a
afficher b
afficher c
0
yuri648 Messages postés 677 Date d'inscription   Statut Membre Dernière intervention   7
 
jeanch_tlse ton algo 2 est faux essaye cet exemple

a=3 , b=5 c=6 il va afficher que c
0
jeanch_tlse Messages postés 13 Date d'inscription   Statut Membre Dernière intervention   3
 
Justement il ne veut que la valeur la plus elevée et "c" est la valeur la plus elevée. (si a=3 , b=5 c=6)
il concerne l'exercice où il y a 3 variables, et où l'on veut afficher la valeur la plus elevée.

Pour le tri c'est l'algo 3/
0