Précédent   Forum du club des développeurs et IT Pro > Autres langages > Pascal > Free Pascal
Free Pascal Le compilateur Pascal multiplateforme
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 22/03/2012, 19h15   #1
imalika
Invité de passage
 
Femme MALIKA IKHELEF
Étudiant
Inscription : mars 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Femme MALIKA IKHELEF
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : mars 2012
Messages : 6
Points : 2
Points : 2
Par défaut Comment faire un tri de tableau, les étapes doivent etre interprétées graphiquement sur l'écran

Salut tout le monde,
je n'ai pas l'habitude de demander aux autres de faire mes exercices, mais j'ai un devoir à faire en travaux pratiques et on n'est tres en retard en cours
voilà l'exercice :
il s'agit d'implémenter un algorithme de tri d'un tableau de taille n<= 15 ,les étapes de tri doivent etre interprétées graphiquement sur l'écran merci beaucoup d'avance .
imalika est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2012, 21h51   #2
droggo
Expert Confirmé
 
Inscription : août 2006
Messages : 3 414
Détails du profil
Informations forums :
Inscription : août 2006
Messages : 3 414
Points : 3 769
Points : 3 769
Fie,

Il n'est pas dans les habitudes du forum de faire le travail des autres.

Excuse-nous, nous sommes en retard.
__________________
Il court en ce moment une espèce de grippe, mais elle ne court pas très vite, car on peut l'attraper sans courir.
droggo est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/03/2012, 23h18   #3
darrylsite
Rédacteur
 
Avatar de darrylsite
 
Inscription : juillet 2007
Messages : 1 296
Détails du profil
Informations forums :
Inscription : juillet 2007
Messages : 1 296
Points : 1 922
Points : 1 922
Citation:
Envoyé par imalika Voir le message
Salut tout le monde,
je n'ai pas l'habitude de demander aux autres de faire mes exercices, mais j'ai un devoir à faire en travaux pratiques et on n'est tres en retard en cours
voilà l'exercice :
il s'agit d'implémenter un algorithme de tri d'un tableau de taille n<= 15 ,les étapes de tri doivent etre interprétées graphiquement sur l'écran merci beaucoup d'avance .
Il faut déjà savoir qu'il y a plusieurs algorithmes de tri - tri à bulles, quick sort,...- Il y a plusieurs ressources disponibles sur le sujet sur developpez.com et aussi sur Google.
Vous ne devriez avoir aucun mal à implémenter un algorithme de tri si c'est vous qui le choisissez. Le plus simple se code en moins d'une minute, et tellement simple -mais pas facile- que presque tous les programmeurs le connaissent par cœur.
darrylsite est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 23/03/2012, 09h53   #4
batyann811
Membre éprouvé
 
Homme
Inscription : janvier 2010
Messages : 223
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 40
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : janvier 2010
Messages : 223
Points : 451
Points : 451
Tu peux t'inspirer de ce programme. Il utilise une technique de tri mise au point il y a peu de temps par la NASA. Mon programme marche mais n'est pas encore très rapide si le tableau est trop grand. Je cherche comment améliorer ça mais pour un exercice ça devrait suffire.

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
{ Ce programme est une démonstration de tri d'un tableau par la méthode
  de Monte-Carlo pour le compilateur FreePascal. }
program TriMonteCarlo;
{$mode objfpc} {$h+}
 
const
  TailleTableau = 5;
 
type
  TableauATrier = array [1..TailleTableau] of Integer;
 
procedure AfficherTableau(const T: TableauATrier);
var
  I : Integer;
begin
  Write('[');
  for I := Low(T) to High(T) - 1 do
    Write(T[I], ', ');
 
  Write(T[High(T)], ']');
end;
 
procedure InitialiserTableau(out T: TableauATrier);
var
  I : Integer;
begin
  for I := Low(T) to High(T) do
    T[I] := Random(20) + 1;
end;
 
procedure TrierTableau(var T: TableauATrier);
 
  procedure Echange(I, J : Integer);
  var
    Temp : Integer;
  begin
    Temp := T[I];
    T[I] := T[J];
    T[J] := Temp;
  end;
 
var
  Fini : Boolean;
  Etape, I : Integer;
begin
  Etape := 0;
  Fini := false;
 
  while not Fini do
  begin
    Echange(Random(High(T)) + 1, Random(High(T)) + 1);
    Inc(Etape);
 
    Write('Etape ', Etape, ' : ');
    AfficherTableau(T);
    WriteLn;
 
    Fini := true;
    for I := Low(T) + 1 to High(T) do
      if T[I] < T[I - 1] then
      begin
        Fini := false;
        Break;
      end;
  end;
end;
 
var
  Tableau : TableauATrier;
begin
  Randomize;
 
  InitialiserTableau(Tableau);
 
  Write('Valeurs à trier : ');
  AfficherTableau(Tableau);
  WriteLn;
 
  TrierTableau(Tableau);
 
  Write('Valeurs triées : ');
  AfficherTableau(Tableau);
  WriteLn;
end.
batyann811 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 23/03/2012, 17h58   #5
imalika
Invité de passage
 
Femme MALIKA IKHELEF
Étudiant
Inscription : mars 2012
Messages : 6
Détails du profil
Informations personnelles :
Nom : Femme MALIKA IKHELEF
Localisation : Algérie

Informations professionnelles :
Activité : Étudiant
Secteur : High Tech - Matériel informatique

Informations forums :
Inscription : mars 2012
Messages : 6
Points : 2
Points : 2
Merci pour ces réponse... c'est gentil.
imalika est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 00h53.


 
 
 
 
Partenaires

Hébergement Web