salut à tous , s'il vous plais j'ai cette question:
Donner l'organigrame et le programme PASCAL qui permet de trier un vecteur à 10 éléments par ordre croissant
-----
salut à tous , s'il vous plais j'ai cette question:
Donner l'organigrame et le programme PASCAL qui permet de trier un vecteur à 10 éléments par ordre croissant
As tu travaillé sur le sujet? http://forums.futura-sciences.com/ph...ces-forum.html
Là où l'ignorance est un bienfait, c'est de la folie d'être sage (Thomas Gray).
oui, !!!!!!!!!!!!!
Et ça donne quoi?
Car là, on a nettement l'impression que tu attends la réponse,
alors que c'est toi qui doit chercher, réfléchir, penser, te tromper parfois, mais ça c'est normal quand on apprend.
Je te propose une méthode:
écris en langage 'de tous les jours' comment tu tries un jeu de carte (juste les cartes 1 à 10 d'une couleur), sachant qu'elles ont été posée en ligne dans le désordre.
distribue les cartes, vérifie en appliquant ton mode d'emploi que ça marche.
traduit ton oeuvre en un organigramme puis dans le langage demandé.
par la suite essaye de penser directement en organigramme (c'est plus court surtout pour de gros 'machins')
A toi de nous montrer...
Jusqu'ici tout va bien...
slt,est ce que ça est juste pour le programme du pascal qui permet de trier un vecteur de 10 éléments par ordre croissant
procedure tri(var t: vecteur; n : integer);
var
i,z,e: integer;
begin
repeat
e:= 0;
n:= 10;
for i := 0 to n-1 do
if t[i]>t[i+1] then
begin
z:=t[i];
t[i]:=t[i+1];
t[i+1]:=t[i];
e:= 1;
end;
until e = 0;
end;
merci
Pour du code, la balise code est recommandée: c'est quand même plus lisible avec l'indentation.
J'ai pas bien compris l'utilité de la variable e. Surtout comment sortir du repeat ... until e=0 si tu mets e à 1 et qu'a aucun moment e peut revenir à 0.
De plus, même si le langage Pascal le permet, il n'est pas recommandé de passer un tableau en paramètre. Il vaut mieux passer une référence, c'est à dire par variable si mes souvenirs du langage sont bons.
A+
Dernière modification par Jack ; 17/11/2009 à 23h59.
Bonjour,
Elle est remise à 0 à chaque début de boucle.
C'est bien ce qui est fait, le mot clé var est là pour ça.Code:procedure tri(var t: vecteur; n : integer);
Pour med22serghine89 : je n'ai pas testé ton code, à toi de le faire (quel meilleur moyen de savoir si ça marche ?).
Ensuite, pour l'organigramme, tu as dû avoir des cours t'expliquant de quoi il s'agit ...
... et puisque tu as piqué le programme sur le net (désolé, il est absolument identique à ce qui est référencé sur nombres de sites, y compris les noms des variables ), débrouille-toi.
un simple google("procedure tri(var t: vecteur; n : integer);") le prouve...
mais il semble qu'ils aient des problème avec le début et la fin (0 ou 1, n ou n-1, ....)
Exercice suivant: commenter le code, juste pour voir s'il est compris...
A quoi sert le repeat (pas pour moi, pour med22serghine89)?
A quoi sert le for (idem)?
Au fait, un exo, c'est fait pour apprendre à chercher, chercher, pas copier.
Pour copier, il y a ctrlC / ctrlV ou la photocopieuse, mais c'est pas très bien payé, une photocopieuse...
Jusqu'ici tout va bien...
Bonjour,
Je n'ai bien sûr pas dit que le code était bon, ni qu'il est mauvais.
Comme toujours sur le net, on trouve de tout, et beaucoup plus souvent n'importe quoi que des choses correctes (d'un autre côté, tant mieux si on trouve plus facilement des erreurs, les tricheurs en prennent plein la gu***e ).
Hé bé oui. A 23h53, j'aurais dû être au litElle est remise à 0 à chaque début de boucle.
Même cause, même effetC'est bien ce qui est fait, le mot clé var est là pour ça
En tout cas, le moins que l'on puisse dire, c'est que cet algo n'est pas très efficace
A+
merci et pour l'organigramme svp
commence, on te dira ce qui va et ce qui ne va pas.
donc pour pascal je suis juste?
non, il y a un problème dans ta permutation des éléments t[i] et t[i+1]
Je te conseille de prendre une feuille, un stylo, un crayon de papier et une gomme. Tu dessines ensuite au stylo le tableau , une case pour la valeur de i, une autre pour e et tu déroules le fonctionnement de l'algo instruction par instruction et faisant évoluer les données au crayon de papier
C'est très formateur et tu vas repérer ton bug.
A+