hg Register Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet

Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index

hg Revision tunisie scolaire Bac Tunisie Algorithmique et programmation TIC réseaux php javascript sql access activités programmation c
hg
FAQ FAQ Search Search Memberlist Memberlist Usergroups Usergroups Profile Profile Log in to check your private messages Private Messages Log in Log in


 Forum de l'excellence et l'excellence en innovation 
Pour participer à notre Forum révision tunisie , vous devez
 inscrire sur notre forum a partir d'ici
   NB :
Les membres ''zéro messages'' seront supprimés automatiquement après un nombre de jours donné !!!!
             
   
 
  
 
forum d'aide informatique : internet, réseau, programmation informatique ...
Programmation en Pascal
 
 
Post new topic   Reply to topic    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index -> Algorithmique & programmation -> (¯`·._.·[Devoirs et séries']·._.·´¯)
hg Previous topic :: Next topic   hd
Author Message
KARIMOS
Administrateur

Offline

Joined: 02 Nov 2008
Posts: 711
Masculin
Point(s): 4,448
Moyenne de points: 0

Posted: Fri 28 Jan - 10:59 (2011)    Post subject: Programmation en Pascal Reply with quote

On considère un tableau rempli aléatoirement de N caractères, chaque élément ayant l’une des trois valeurs suivantes : ’J’, ’R’, ou ’V’. On désire trier le contenu de ce tableau de façon à y obtenir, de gauche à droite, d’abord tous les ’V’ puis tous les ’J’ puis tous les ’R’.
Par exemple, si le tableau contient à l’origine J R V V J R V J J , après avoir été trié il contient V V V J J J J R R .

Pour cela :
a) Définissez une constante N de valeur 50, et une variable globale tab de type tableau de N caractères.
b) Ecrivez la procédure remplir_tableau qui remplit le tableau de valeurs aléatoires prises dans {’J’, ’R’, ’V’} (rappel : la fonction RANDOM(x) renvoi une valeur aléatoire prise dans {0, .. , x-1}).
c) Écrivez la procédure afficher_tableau qui écrit à l’écran, sur une ligne, le contenu du tableau.
d) Écrivez la procédure permuter qui permute les éléments d’indices i et j du tableau.
e) Écrivez la procédure trier_tableau qui effectue le tri demandé.
f ) Écrivez le programme principale.


 
Revenir en haut
Publicité






Posted: Fri 28 Jan - 10:59 (2011)    Post subject: Publicité

PublicitéSupprimer les publicités ?
 
Revenir en haut
KARIMOS
Administrateur

Offline

Joined: 02 Nov 2008
Posts: 711
Masculin
Point(s): 4,448
Moyenne de points: 0

Posted: Fri 28 Jan - 10:59 (2011)    Post subject: Programmation en Pascal Reply with quote

    Code:
    [*]Program tri;
    [*]  Uses    wincrt;
    [*]  Const   n=50;
    [*]  Type   
    [*]          tableau=array [1..n]of char;
    [*]  Var     Tab:tableau;
    [*]           
    [*]  Procedure remplir_tableau (var T:tableau;b:integer);
    [*]  var      i:integer;
    [*]  Begin
    [*]  For i:=1 to n do
    [*]  Begin
    [*]  Case random(3) of
    [*]  0 :T[i]:='J';
    [*]  1 :T[i]:='R';
    [*]  2 :T[i]:='V';
    [*]  end;
    [*]  End;
    [*]  end;
    [*]  
    [*]  Procedure afficher_tableau (A:tableau;m:integer);
    [*]  var i:integer;
    [*]  begin
    [*]  For i:=1 to m do
    [*]  write(A[i],',');
    [*]  end;
    [*]  
    [*]  Procedure trier_tableau (var c:tableau;k:integer);
    [*]  var i:integer;
    [*]      trie:boolean;
    [*]  
    [*]  Procedure Permuter(var i,j:char);
    [*]  var aux:char;
    [*]  begin
    [*]  aux:=i;
    [*]  i:=j;
    [*]  j:=aux;                                                         
    [*]  end;
    [*]  
    [*]  begin
    [*]  Repeat
    [*]  trie:=false;
    [*]  For i:=1 to k-1 do
    [*]  begin
    [*]  If ((c[i]='J') and (c[i+1]='V')) or ((c[i]='R') and (c[i+1]='V')) or ((c[i]='R') and (c[i+1]='J'))
    [*]   then begin permuter(c[i],c[i+1]);
    [*]                                      trie:=true;
    [*]                                      end;
    [*]  end;
    [*]  k:=k-1;
    [*]  Until (k=1) or not(trie);
    [*]  end;
    [*]  
    [*]  Begin
    [*]   remplir_tableau(tab,n);
    [*]   trier_tableau (tab,n)  ;
    [*]   afficher_tableau(tab,n);
    [*]  end.


 
Revenir en haut
Display posts from previous:   
bg bd
Post new topic   Reply to topic    Forum révision Tunisie - Bac Tunisie Algorithmique et programmation , cours, devoir, exercice,edunet Forum Index -> Algorithmique & programmation -> (¯`·._.·[Devoirs et séries']·._.·´¯) All times are GMT + 1 Hour
 
Page 1 of 1

 
Jump to:  
Index | Make forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation