Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
867 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Pouvez-vous m'expliquer moi ce code svp ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pouvez-vous m'expliquer moi ce code svp ?

n°302837
greeeg
Posté le 06-02-2003 à 01:06:37  profilanswer
 

Voilà, mon prof m'a donné le code du tri par insertion, et il y a une chose que je comprends pas :

  • Pourquoi dans la 2ème boucle for, il commence de k:=2 et non k :=1 ?

Code :
  1. PROGRAM Ins_Lin;
  2. USES CRT;
  3. TYPE ATrier = BYTE;
  4. VAR N, k, i : BYTE;
  5.     Tmp     : ATrier;
  6.     A       : ARRAY[1..100] OF ATrier;
  7. PROCEDURE Affiche;
  8. VAR i : BYTE;
  9. BEGIN
  10. FOR i:=1 TO N DO
  11.   WRITE (A[i]:4);
  12. WRITELN
  13. END;
  14. BEGIN
  15. CLRSCR;
  16. N:=99; {nb d'élément ds mon tableau}
  17. RANDOMIZE;
  18. FOR k:=1 TO N DO    {remplissage du tableau}
  19.   A[k]:=RANDOM(50);
  20. WRITELN('Avant le tri:');
  21. Affiche;
  22. FOR k:=2 TO N DO
  23.   BEGIN
  24.   Tmp:=A[k];
  25.   i:=k-1;
  26.   WHILE NOT ((A[i]<=Tmp) OR (i=1)) DO
  27.     BEGIN
  28.     A[i+1]:=A[i];
  29.     DEC(i)
  30.     END;
  31.   IF A[1]>Tmp THEN BEGIN
  32.                    A[2]:=A[1];
  33.                    i:=0
  34.                    END;
  35.   A[i+1]:=Tmp;
  36.   END;
  37. WRITELN('Apr?s le tri:');
  38. Affiche
  39. END.

 
 
Merci beaucoup


Message édité par greeeg le 06-02-2003 à 01:07:39
mood
Publicité
Posté le 06-02-2003 à 01:06:37  profilanswer
 

n°302841
os2
Posté le 06-02-2003 à 02:56:18  profilanswer
 

va voir sur mon site web, tu auras la réponse :)


---------------
Borland rulez: http://pages.infinit.net/borland
n°302902
antp
Super Administrateur
Champion des excuses bidons
Posté le 06-02-2003 à 09:12:29  profilanswer
 

voyant tout les mots-clé en majuscule j'avais cru à de l'assembleur ou du cobol :lol: je suis pas habitué à voir du pascal écrit comme ça :sweat:

n°302924
[SDF]Poire
Vive Grumly
Posté le 06-02-2003 à 10:06:17  profilanswer
 

greeeg a écrit :

Voilà, mon prof m'a donné le code du tri par insertion, et il y a une chose que je comprends pas :

  • Pourquoi dans la 2ème boucle for, il commence de k:=2 et non k :=1 ?

 
Merci beaucoup


 
Prof de quoi ? si C ds le supérieur en info change d'école...
 
il commence par k:=2 becose sont tableau commence à 1  :ouch:  et parce kil fait i := k-1 pour la comparaison (comme ça pour le test A[i] est bien un élément du tableau
 
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°302926
[SDF]Poire
Vive Grumly
Posté le 06-02-2003 à 10:06:57  profilanswer
 

os2 a écrit :

va voir sur mon site web, tu auras la réponse :)


ça C de la super réponse.... le forum est pas là pour promouvoir ton site web  :p


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
n°302939
antp
Super Administrateur
Champion des excuses bidons
Posté le 06-02-2003 à 10:15:06  profilanswer
 

os2 a écrit :

va voir sur mon site web, tu auras la réponse :)


 
à part une image et une liste de nouveautés je vois que dalle sur ton site :??:

n°302948
JPA
Posté le 06-02-2003 à 10:23:56  profilanswer
 

-> antp : il y a un menu en haut...
t'as trop modéré cette nuit, tu as les yeux qui fatiguent :lol:

n°302952
antp
Super Administrateur
Champion des excuses bidons
Posté le 06-02-2003 à 10:25:23  profilanswer
 

ha ouais je croyais que seul le site de rufo marche dans IE uniquement, on dirait que c'est le cas aussi du site d'os2 :o
ça fait très pro tout ça :o
 
dans Opera y a pas de menu du tout :o


Message édité par antp le 06-02-2003 à 10:26:10
n°303005
JPA
Posté le 06-02-2003 à 10:49:09  profilanswer
 

-> antp : exact, Opéra n'en veut pas.
Encore un site développé avec frontpage...

n°312230
Moustaaki
.: ILITCH :. ésprit sibérie
Posté le 18-02-2003 à 17:37:58  profilanswer
 

JPA a écrit :

-> antp : exact, Opéra n'en veut pas.
Encore un site développé avec frontpage...


lol

mood
Publicité
Posté le 18-02-2003 à 17:37:58  profilanswer
 

n°312234
antp
Super Administrateur
Champion des excuses bidons
Posté le 18-02-2003 à 17:39:57  profilanswer
 


 
remonter un topic juste pour ça c'est un peu abusé :o


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°312243
Moustaaki
.: ILITCH :. ésprit sibérie
Posté le 18-02-2003 à 17:45:32  profilanswer
 

bon, personne n'a répondu du coup...
 
j'avoue que j'ai un peu la flemme aussi... alors, j'vais juste de donner les outils pour mieux comprendre l'algo : suis l'algo en donnant des valeurs à tes variables... (hem. smal dit tt ça... bon, c encore plus chiant à expliquer comment comprendre :)))) lol
 
bon, j'vais essayer :
FOR k:=1 TO N DO    {remplissage du tableau}  
 A[k]:=RANDOM(50);  
 
bon, apparement, ton tableau A est indexé de 1 à N (ok ?)
donc, si on essaye A[0] => ça correspond pas à une valeure que t'as inséré (ou ça plante (ArrayOutOfBound))
 
 
 
et là, regardes bien ce morceau :
 
FOR k:=2 TO N DO  
 BEGIN  
 Tmp:=A[k];  
 i:=k-1;
 WHILE NOT ((A[i]<=Tmp) OR (i=1)) DO  
   BEGIN  
   A[i+1]:=A[i];
   DEC(i)  
   END;  
 
 
 
bon... tjs pas vu ??!
 
alors :
i := k-1;
 
si tu commences ta boucle à 1 :
tu aurrais :
i := 1-1;
  soit i = 0 ^^
 
et donc ensuite, plus loin ds le code (en gras au dessus) :
 
A[i+1]:=A[i]; donnerais : A[1] := A[0] !!!!
 
On vient pas de dire que A[0] était une valeur incorrecte ?!
bah si... bah ouala. stout...
 
maintenant si c'est une explication de l'algo que tu veux... => demandes au prof, il est là pour ça :)
 
(belle explication pas concise et pas claire :)))
dsl. :p


Message édité par Moustaaki le 18-02-2003 à 17:46:10
n°312250
Moustaaki
.: ILITCH :. ésprit sibérie
Posté le 18-02-2003 à 17:46:35  profilanswer
 

antp a écrit :


 
remonter un topic juste pour ça c'est un peu abusé :o


 
 
la réponse était un peu longue à poster :) dsl.

n°312409
antp
Super Administrateur
Champion des excuses bidons
Posté le 18-02-2003 à 18:50:54  profilanswer
 

ok t'es excusé :D


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  Pouvez-vous m'expliquer moi ce code svp ?

 

Sujets relatifs
[VB] Cherche code source pour décompression LZH / YM[newbie] inserer un code javascript dans du html
[html, js] pb de drag&drop : super code inside :) si ca peu aider...[VB] Comment accéder au code source d'une page web ?
Comment je peux cacher la source de mon code html dans une page php ?j arrive pas a compiler un code source recuperé sur le net
[java] le meilleur obfuscateur de code ?[Python/C++] Cooperation code Python avec appli C++
code postal stocké en CHAR ou INT ?code pour lancer l'execution d' un programme externe
Plus de sujets relatifs à : Pouvez-vous m'expliquer moi ce code svp ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR