Forum programmation
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Des exercices de révision pour le devoir de synthése

Voir le sujet précédent Voir le sujet suivant Aller en bas 
Aller à la page : 1, 2  Suivant
AuteurMessage
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Des exercices de révision pour le devoir de synthése   Mer 28 Fév - 23:31

Exercices N°1:


A l'approche de la naissance de son enfant , un
superstieux contacte une voyante pour qu'elle lettres peuvent etre
présentes dans le prénom de son futur enfant.

Pour ceci la voyante effectue n tirage de cartes, chaque carte comporte
une lettre alphabetique majuscule ( n est une donnée comprise entre
12 et 36). les lettres "porte bonheur" sont celles les plus tirées .

Ecrire une spécification, les algorithmes des sous programmes et
l'algorithme du programme principal qui permet d'aider la voyante à faire son
travail.

Indications:

  • pour tirer une lettre majuscule au hasard ,utilisez l'instruction : lettres← chr (65+hasard(26)).
  • vu que le nombre de lettres est au moin 12 on peut afficher les 3 lettres les plus tirés (vous devez le faire donc)


Source: Salisali
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Mer 28 Fév - 23:33

Exercices n°2:

Ecrires les spécifications, les algorithmes des sous programmes et
l'algorithme du programme principal permettant de lire une chaine de
caractéres ch (formée uniquement par des lettres minuscules), la
compresser et l'afficher.
La chaine est compressée comme suit: Chaque fois qu'on trouve une suite
de lettres semblables, on ne retient que la premiére lettre et le nombre
de répétitions. S'il n'y a pas de répitition, on ne fait rien.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Mer 28 Fév - 23:34

Exercice n°3:

On se propose de :

  • Remplir un tableau T par N éléments entiers quelconques (n est compris entre 3 et 40)
  • Ranger les éléments pairs de T au début du tableau suivit des éléments impairs tout en respectant leur ordre d'apparition
  • Afficher le tabeau T suite à l'opération de rangement
Travail à faire :
Ecrire la spécification, le tableau de déclaration des objets et l'algorithme permettant de remplir T, et l'afficher

Indications : L'éxecution de l'opération de rangemment aura lieu sur le meme tableau
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Mer 28 Fév - 23:34

Exercice N°4:

Soit un tableau de N élements (2<= n <=200) de type
caractéres. On désire écrire un programme permettant de verifier
l'existance dans le tableau T d'un certain nombre de mots saisis dans
un tableau Tm de p élements (2<= p <=20). Les caractéres de la chaîne
recherchée doivent être adjacents dans le tableau T et non dipersés

Découpez le programme en sous programmes

Ecrivez les spécifications et les algorithmes des sous programmes

Ecrivez l'algorithme du programme principal
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Mer 28 Fév - 23:36

Exercice N°5:

On désire écrire un programme pascal permettant de :

  • Remplir un tableau T de N chaînes de caractéres non vides composées chacune au muximum de cinq caractéres et N est constante de valeur 10
  • Garder la premiére occurence pour les élements redondants (qui apparaissent plus qu'un fois) et remplacer toutes les autres occurences par des chaines vides
  • Afficher les chaines non vides restantes du tableau T
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Mer 28 Fév - 23:37

Exercice N°6:

On désire écrire un programme pascal permettant de coder un message
ch (formée uniquement par des lettres majuscules et des espaces)
La technique qu'on adoptera dans ce programme consiste à :

  • Inverser le message ch
  • Chaque lettre de l'alphabet sera remplacée par son symetrique et l'espace par *. Ainsi par exemple 'A' sera remlacé par 'Z'
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Mer 28 Fév - 23:47

Merci Mohamed Very Happy
ces exercices arrivent pile à l'heure
comme tu le sais la semaine des devoirs commence lundi prochain, donc faire ces exercices me fera du bien


Dernière édition par le Jeu 1 Mar - 0:09, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Mer 28 Fév - 23:47

Tu auras les solutions bientot Wink
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Jeu 1 Mar - 15:25

ok mon ami, j'atted Surprised
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Jeu 1 Mar - 23:20

voilà comme tu as exprimé la volanté de corrigé l'exercice N° 1 je vais donc passé à l'exercice N°2

Exericie N°2:

Code:
program ex2;
uses wincrt;

var ch,s:string;
    occ,i:integer;
begin
  repeat
    write(' CH= ');
    readln(ch);
    i:=0;
    repeat
      inc(i);
    until not (ch[i] IN ['a'..'z']) OR (i>length(ch));
  until i>length(ch);

  i:=0;
  repeat
    inc(i);
    occ:=1;
    while (ch[i]=ch[i+1])AND(i<length(ch)) do
      begin
          delete(ch,i+1,1);
          inc(occ);
      end;
    if occ>1 then
      begin
        str(occ,s);
        insert(s,ch,i+1);
      end;
  until (i>length(ch));

  writeln;
  writeln(' Aprés compression la chaîne devient : ',ch);
end.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Jeu 1 Mar - 23:47

Exercice N°3:
Code:
program ex3;
uses wincrt;

type TTab=array[1..40]of integer;

var T:TTab;
    n:integer;

procedure genereTab(var T:TTab;n:integer);
  var i:integer;
  begin
    randomize;
    for i:=1 to n do
      t[i]:=random(100)+1;
  end;

procedure lecture(var n:integer);
  begin
    repeat
      write(' N= ');
      readln(n);
    until (3<=n)AND(n<=40);
  end;

procedure affiche(T:TTab;n:integer);
  var i:integer;
  begin
    write('T-->');
    for i:=1 to n do
      write(t[i]:4);

    writeln;
    writeln;
  end;

procedure rangement(var T:TTab;n:integer);
  var paires,impaires,i,j,k,tmp:integer;
  begin
    paires:=0;
    for i:=1 to n do
      if (t[i] mod 2) = 0 then
        inc(paires);

    for i:=1 to paires do
      begin
        j:=i;
        while(T[j]mod 2<>0) do inc(j);
        if j<>i then
            begin
              tmp:=T[j];
              for k:=j downto i+1 do
                t[k]:=t[k-1];
              t[i]:=tmp;
            end;
      end;
  end;


begin
  lecture(n);
  genereTab(t,n);
  affiche(t,n);
  rangement(t,n);
  affiche(t,n);
end.


je suis sûr que celui là vous ne l'avez pas fait tout seule
si vous avez besoin d'aide je suis à votre service
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Ven 2 Mar - 17:50

merci bcp ya m3allam
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Ven 2 Mar - 17:56

mtcs a écrit:
merci bcp ya m3allam

de rien Mohamed Very Happy
et j'attend encore la solution de l'exercice N°1 !!
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Ven 2 Mar - 18:15

DSL POUR LA RETARD CHAKER.


Code:

program EX1;
uses wincrt;
var
    n: byte;
    ch: string[36];


procedure saisie (var n:byte);
  begin
  repeat
    writeln ('saisir la nombre des lettres ');
    readln (n);
  until (n in [12..36]);
  end;

procedure tirage (var n:byte; var ch:string);
  var i:byte;
    begin
      ch := '';
      randomize;
      for i := 1 to n do
          ch := chr (65+ random (26));
    end;




begin
saisie (n);
tirage (n,ch);
end.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Ven 2 Mar - 18:42

merci pour l'effort Mohamed mais ta solution est incompléte
voilà je te propose la mienne et donne moi ton avi :
Code:
program ex1;
uses wincrt;
type TChar=array[1..36]of char;

var T:TChar;
    n:integer;
procedure lecture(var n:integer);
  begin
    repeat
      write('N= ');
      readln(n);
    until (12<=n)AND(n<=36);
    writeln;
  end;

procedure tirage(var T:TChar;n:integer);
  var i:integer;
  begin
    randomize;
    for i:=1 to n do
        T[i]:=chr(random(26)+65);
  end;

procedure plus_tires(T:TChar;n:integer);
  var i,max1,max2,max3,occ:integer;
      c,c1,c2,c3:char;
  begin
    max1:=0;
    max2:=0;
    max3:=0;
    c1:='A';
    c2:='A';
    c3:='A';
    for c:='A' to 'Z' do
      begin
        occ:=0;
        for i:=1 to n do
          if t[i]=c then
            inc(occ);

        if occ>max1 then
            begin
              max1:=occ;
              c1:=c;
            end
          else if occ>max2 then
            begin
              max2:=occ;
              c2:=c;
            end
          else if occ>max3 then
            begin
              max3:=occ;
              c3:=c;
            end;

      end;

    writeln('La lettre la plus tirée est ',c1,' de fréquence ',max1);
    writeln('La seconde lettre plus tirée est ',c2,' de fréquence ',max2);
    writeln('La troisiéme lettre plus tirée est ',c3,' de fréquence ',max3);
  end;

procedure affiche_T(T:TChar;n:integer);
  var i:integer;
  begin
    write('T-->');
    for i:=1 to n do
      write(t[i]:4);

    writeln;
    writeln;
  end;


begin
  lecture(n);
  tirage(t,n);
  affiche_T(t,n);
  plus_tires(t,n);
end.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Ven 2 Mar - 19:24

merci bcp chaker
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Ven 2 Mar - 20:31

Exercice N°4:
Code:
program ex4;
uses wincrt;

type TTab=array[1..200]of char;
    TTab1=array[1..20]of String[100];
var T:TTab;
    Tm:TTab1;
    p,n:integer;

procedure lecture(var n,p:integer);
  begin
    repeat
      write(' N= ');
      readln(n);
    until (2<n)AND(n<200);

    repeat
      write(' P= ');
      readln(p);
    until (2<p)AND(p<20);
  end;

procedure remplissage(var T:TTab;var Tm:TTab1;n,p:integer);
  var i:integer;
  begin
    writeln(' Veuillez saisir les éléments de T (des caractéres) :');
    for i:=1 to n do
      begin
        write('T[',i,']= ');
        readln(t[i]);
      end;

    writeln(' Veuillez saisir les éléments de Tm (des chaîes de caractéres) :');
    for i:=1 to p do
      begin
        write('Tm[',i,']= ');
        readln(tm[i]);
      end;
    writeln;
  end;

function verif(T:TTab1;n:integer;ch:string):boolean;
  var i:integer;
  begin
    i:=0;
    repeat
      inc(i);
    until (t[i]=ch)OR(i>=n);
    if n=0 then verif:=false else verif:=t[i]=ch;
  end;
       

procedure recherche(T:TTab;Tm:TTab1;n,p:integer);
  var i,j,k:integer;
      existe:boolean;
  begin
    writeln(' Les mots suivants ont été trouvés dans le tableau T :');
    i:=0;
    j:=0;
    repeat
      inc(i);
      j:=0;
      repeat
        inc(j);
       
        if ((j+length(Tm[i])-1)<=n) then
          begin
              existe:=true;
              for k:=j to (j+length(Tm[i])-1) do
                if Tm[i][k-j+1]<>T[k] then
                  existe:=false;

                if existe  AND not verif(Tm,i-1,Tm[i]) then
                    begin
                      writeln('    *) Tm[',i,']= ',tm[i]);
                      j:=n;
                    end;
         
              end;
      until(j>=n);
    until(i>=p);
  end;

begin
  lecture(n,p);
  remplissage(t,tm,n,p);
  recherche(t,tm,n,p);
end.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Ven 2 Mar - 21:45

Exercice N°5:
Code:
program ex5;
uses wincrt;

const n=10;
type TTab=array[1..n]of string[6];
var T:TTab;

procedure remplir(var T:TTab;n:integer);
  var i:integer;
      ch:string;
  begin
    for i:=1 to n do
      begin
        t[i]:='******';
        repeat
          write('T[',i,']= ');
          readln(ch);
          if (length(ch) > 5)OR(ch='') then
            begin
                gotoXY(0,whereY-1);
                clreol;
            end
          else
            t[i]:=ch;
        until length(t[i])<=5;
      end;
  end;

function verif(T:TTab;n:integer;ch:string):boolean;
  var i:integer;
  begin
    i:=0;
    repeat
      inc(i);
    until(T[i]=ch)OR(i>=n);
    if n<>0 then verif:=T[i]=ch else verif:=false;
  end;

procedure compresse(var T:TTab;n:integer);
  var i:integer;
  begin
    for i:=1 to n do
      if verif(T,i-1,T[i]) then T[i]:='';
  end;

procedure affiche(T:TTab;n:integer);
  var i:integer;
  begin
    writeln(' Les chaînes non vides qui restent sont :');
    for i:=1 to n do
      if t[i]<>'' then writeln(' *) ',t[i]);
  end;

begin
  remplir(T,n);
  compresse(T,n);
  affiche(T,n);
end.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Ven 2 Mar - 22:21

mtcs a écrit:
merci bcp chaker

de rien Mohamed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Sam 3 Mar - 21:49

Exercice N°6:
Code:
program ex6;
uses wincrt;

var ch:string;

procedure lecture(var ch:string);
  var c:char;
  begin
    ch:='';
    write(' CH= ');
    repeat
      c:=readkey;
      c:=upcase(c);
      if c IN ['A'..'Z',' '] then begin ch:=ch+c;write(c);end
        else if (c = chr(8))AND(length(ch)>0) then begin delete(ch,length(ch),1);write(c);end;
    until c=chr(13);
    writeln;
  end;

procedure codage(var ch:string);
  var i:integer;
      tmp:char;
  begin
    for i:=1 to length(ch) do
      if ch[i]=' ' then ch[i]:='*'
        else if ch[i]IN['A'..'Z'] then ch[i]:=chr(155-ord(ch[i]));

    for i:=1 to (length(ch) DIV 2) do
      begin
        tmp:=ch[i];
        ch[i]:=ch[length(ch)-i+1];
        ch[length(ch)-i+1]:=tmp;
      end;

    writeln(' Après codage la chaîne devient : ',ch);
  end;

begin
  lecture(ch);
  codage(ch);
end.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Sam 3 Mar - 21:59

Vu qu'on sais maintenant coder des message, il serait trés utile de pouvoire les décoder
j'ai donc fait une pocédure qui permet de faire cette tâche
Code:
procedure decodage(var ch:string);
  var i:integer;
      tmp:char;
  begin
    for i:=1 to length(ch) do
      if ch[i]='*' then ch[i]:=' '
        else if ch[i]IN['A'..'Z'] then ch[i]:=chr(155-ord(ch[i]));

    for i:=1 to (length(ch) DIV 2) do
      begin
        tmp:=ch[i];
        ch[i]:=ch[length(ch)-i+1];
        ch[length(ch)-i+1]:=tmp;
      end;

    writeln(' Après décodage la chaîne devient : ',ch);
  end;

vous remarquerez que c'est presque la même prcédure que celle du codage mais une ptite différence : au lieu de remplacer les espaces par '*', on remplace les '*' par des espaces
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Sam 3 Mar - 22:21

aucune réponses !!!
je suis déçu !!!


J'attend encore
Vos questions
Vos critiques
Vos propositions

ou au moin un petit mot de remerciment


Dernière édition par le Sam 3 Mar - 22:49, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Sam 3 Mar - 22:48

mefci bcp chaker king , merci infiniment, cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur


Nombre de messages : 731
Age : 27
Date d'inscription : 17/01/2007

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Sam 3 Mar - 22:51

mtcs a écrit:
mefci bcp chaker king , merci infiniment, cheers

de rien Mohamed
mais à par toi et moi personne n'a l'aire d'être intéressé Sad
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur


Nombre de messages : 1605
Date d'inscription : 21/11/2006

MessageSujet: Re: Des exercices de révision pour le devoir de synthése   Sam 3 Mar - 22:57

mata9la9ch ya sa7bi, ana kont wa7di taw walina 2 w nchallah 5odwa nwalliw 3 7ata nwalliw barcha cheers
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Des exercices de révision pour le devoir de synthése   

Revenir en haut Aller en bas
 
Des exercices de révision pour le devoir de synthése
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant
 Sujets similaires
-
» Smileys interdits de vision pour un membre, dans une partie privée
» Décalage Audition/Vision pour les FR ?
» Où est le tutoriel pour devoir se présenter afin d'avoir accès aux autres sections ?
» se preparer à l'examen 2013 exercices 5°ap
» Créer une carte de sauvegarde de BlueChart g2 Vision... et la lire!

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum programmation :: Programmation :: Delphi & Pascal :: Pascal :: Exercices-
Sauter vers: