Forum programmation
 
AccueilPortailFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Devoir de synthèse n°2

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
mtcs
Administrateur
Administrateur
avatar

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

MessageSujet: Devoir de synthèse n°2   Mer 7 Mar - 16:53

On veut vérifier l'existence d'un mot donné MOT dans une matrice M de n lignes et p colonnes (avec 3 ≤ n ≤ p ≤ 15)

on admet que le MOT est dans la matrice M s'il est l'un des éléments de la matrice, ou le mot MOT_TR obtenu en triant MOT est l'un des éléments de la matrice M, Sachant que MOT et les éléments de la matrice M sont des chaînes de caractère formées uniquement par des lettres en majuscule,



  • pour accomplire cette tâche on se propose d'etablire les operation suivantes:





Ecrire un sous programme permettant de saisir deux entiers n et p (avec 3≤n ≤ p ≤15)



Ecrire un sous programme qui verifier si une chaîne de caractères est formée uniquement par des lettre majuscule



Ecrire un sous programme permettant de saisir un mot formée uniquement par des lettre majuscule



Ecrire un sous programme permettant de remplire une matrice par des chaîne de caractères est formée uniquement par des lettre majuscule



En utilisant le principe de tri à bulle, écrire un sous programme permettant de trier un mot dans l'ordre croissant



Ecrire un sous programme permettant de verifier l'existence d'une chaîne dans une matrice de dimension n et p



Ecrire un programme pricipale réalisant cet exercice en utilisant les différent modules déjà traités ci dessus





Remarque: pour chacune de ces questions, l'eleve est appelé à donner la solution sous forme d'une specification et d'une algorithme accompagnés d'un TDN et TDO s'il est nécessaire





Auteur: Mme Zgolli Nouhed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 12:54

merci Mohamed ça m'aide à réviser
moi je passe mon devoir le vendredi
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 13:38

pas de quoi mon ami, nchallah t3dih belgda travaille
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
babina
utilisateur professionnel
utilisateur professionnel
avatar

Nombre de messages : 207
Age : 29
Date d'inscription : 05/12/2006

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 15:57

merci beaucoup farhoudi et bonne chance pour chaker
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://mtcs-soft.jeun.fr
mtcs
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 16:32

pas de quoi bichti
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 21:03

j'ai préparé une solution, si vous voulez je peux vous la donner
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 22:00

comme d'habitude mon ami, cheers vraiment vous etes le meuilleur cheers
vas-y chaker, j'attend votre solution
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 22:23

voiçi d'abord le module qui permet de lire N et P :
Code:
procedure lecture_n_p(var n,p:integer);
  begin
    repeat
      write(' N= ');
      readln(n);
    until (3<=N)AND(N<=15);
    repeat
      write(' P= ');
      readln(p);
    until (N<=P)AND(P<=15);
  end;
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 22:24

puis voiçi le module qui permet de verifier si une chaîne de caractères est formée uniquement par des lettres majuscules :
Code:
function verif(mot:chaine):boolean;
  var i:integer;
  begin
    i:=0;
    repeat
      inc(i);
    until not(mot[i] IN ['A'..'Z']) OR (i>=length(mot));
    verif:=mot[i] IN ['A'..'Z'];
  end;
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 22:27

voiçi les deux module qui permettent de lire un mot et de rempir la matrice :
Code:

procedure lecture_mot(var mot:chaine);
  begin
    repeat
      write(' MOT= ');
      readln(mot);
    until verif(mot);
  end;

procedure remplir(var Mat:TMat;n,p:integer);
  var l,c:integer;
  begin
    for l:=1 to n do
      for c:=1 to p do
        repeat
          write('Mat[',l,',',c,']= ');
          readln(mat[l,c]);
        until verif(mat[l,c]);
  end;
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 22:28

voiçi le module qui permet de trier un mot :
Code:
procedure trier_mot(var mot:chaine);
  var i,j:integer;
      tmp:char;
  begin
    for i:=1 to length(mot)-1 do
      for j:=i+1 to length(mot) do
        if mot[i]>mot[j] then
          begin
              tmp:=mot[i];
              mot[i]:=mot[j];
              mot[j]:=tmp;
          end;
  end;
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Jeu 8 Mar - 22:30

et enfin voiçi le programme principale :
Code:
program DS2;
uses wincrt;

type chaine=string[10];
    TMat=array[1..15,1..15]of chaine;
   

var mot,mot_tr:chaine;
    mat:TMat;
    n,p:integer;
  ...
  ...
  ...
begin
  lecture_n_p(n,p);
  remplir(mat,n,p);
  lecture_mot(mot);
  mot_tr:=mot;
  trier_mot(mot_tr);

  if existe(mat,n,p,mot) OR existe(mat,n,p,mot_tr) then
    writeln(' Le mot donné existe dans la matrice')
  else
    writeln(' Le mot donné n''existe pas dans la matrice !!!');
end.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
mtcs
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Ven 9 Mar - 15:10

exellent travail chaker
merci pourles solution
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Chaker
Administrateur
Administrateur
avatar

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

MessageSujet: Re: Devoir de synthèse n°2   Ven 9 Mar - 15:36

mtcs a écrit:
exellent travail chaker
merci pourles solution


ya pas de koi Mohamed
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: Devoir de synthèse n°2   

Revenir en haut Aller en bas
 
Devoir de synthèse n°2
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» La synthèse vocale disponible pour les ebooks de Google
» utilisation de SAPI 4 pour la synthèse vocale
» Bachelor et Master en image de synthèse en Suisse
» Durée de l'accumulateur
» Synthèse vocale Nüvi 860

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