Devoir Pascal TP pour BAC

الموضوع في 'أرشيف المنتدى التعليمي' بواسطة CA for ever, بتاريخ ‏6 فيفري 2008.

  1. CA for ever

    CA for ever نجم المنتدى

    إنضم إلينا في:
    ‏11 نوفمبر 2007
    المشاركات:
    1.984
    الإعجابات المتلقاة:
    439
      06-02-2008 21:22
    Ce devoire est le devoire donné par le professeur Abed Lahfid Soltani l'un des meuilleures professeur du programation dans toutes la Tunisie et c'est l'un de trois professeurs qui ont réalisé le livre de 3ème anné de programation​
    -
    Créer un dossier pourtant votre nom et prénom dans la racine du lecteur C
    -Ecrire un programme Pascal et l'enregistrer sous le nom EXAMEN dans le dossier déjà créer permettant de:
    *Saisir un entier n appartenant à l'intervalle [5..50]
    *Remplir alétoirement un tableau T par des entieurs supérieurs à100(en untilusant une prcedure récursif)..p
    *Former à partir du tableau T un tableau T1 de la manière suivante: T1 contiendra une chaine formée par une suit croissante des chiffres de T(en utilusant la méthode de Tri par insertion
    *Afficher le tableau T1



    Exemple:
    T: 5478/125/386/5184/1654/254/157

    T1: "4578"/"125"/"368"/"1458"/"1456"/"245"/"157
    /
     
    1 person likes this.
  2. CA for ever

    CA for ever نجم المنتدى

    إنضم إلينا في:
    ‏11 نوفمبر 2007
    المشاركات:
    1.984
    الإعجابات المتلقاة:
    439
      07-02-2008 20:56
    33personnes qui ont vue ce problème et aucune réponse??? Vraiment merci
     
  3. amin2008

    amin2008 عضو نشيط

    إنضم إلينا في:
    ‏22 جانفي 2008
    المشاركات:
    121
    الإعجابات المتلقاة:
    153
      07-02-2008 21:12
    this is a solution for any one:
    program tri_des_chaines_tab;
    uses wincrt;
    type
    chaine=string[20];
    tab=array[1..5]of string;
    var
    ch:string;
    t:tab;
    n:integer;
    {--------------------------------------------------------------------------------------------------**
    function verif (ch : string):boolean;
    var n,er:integer;
    begin
    if length(ch)=0
    then
    verif:=true
    else
    if not(ch[1] in ['0'..'9'])
    then
    verif:=false
    else
    verif:=verif(copy(ch,2,length(ch)-1));
    end;
    {--------------------------------------------------------------------------------------------------**
    procedure Lecturech (var ch : string);
    begin
    write('ch=');
    readln(ch);
    if not(verif(ch))
    then
    Lecturech(ch);
    end;
    {--------------------------------------------------------------------------------------------------**
    procedure permut(Var A,B:char);
    Var
    Aux:char;
    begin
    Aux:=A;
    A:=B;
    B:=Aux;
    end;
    {--------------------------------------------------------------------------------------------------**
    procedure Triselect(Var ch:string;p:integer);
    Var
    PMax:integer;
    function PosMax(Ch:string;deb,fin:integer):integer;
    var mil:integer;
    begin
    if deb=fin
    then
    PosMax:=deb
    else
    begin
    Mil:=(deb+fin)Div 2;
    if ch[PosMax(ch,deb,mil)]>ch[PosMax(ch,mil+1,fin)]
    then
    PosMax:=PosMax(ch,deb,mil)
    else
    PosMax:=PosMax(ch,mil+1,fin);
    end;
    end;
    begin
    Pmax:=PosMax(ch,P,length(ch));
    If ch[PMax]>ch[P]
    then
    Permut(ch[PMax],ch[P]);
    if P<length(ch)
    Then
    TriSelect(ch,P+1);
    end;
    {--------------------------------------------------------------------------------------------------**
    procedure tritab(var t:tab;p,n:integer);
    begin
    if p<=N
    then
    begin
    TriSelect(T[P],1);
    tritab(t,p+1,n);
    end;
    end;
    {--------------------------------------------------------------------------------------------------**
    procedure remplir(var t:tab;p,n:integer);
    begin
    if p<=N
    then
    begin
    LectureCh(T[P]);
    Remplir(t,p+1,n);
    end;
    end;
    {--------------------------------------------------------------------------------------------------**
    procedure Affiche(t:tab;p,n:integer);
    begin
    if p<=N
    then
    begin
    write('T[',P,']= ',T[P]);
    Affiche(t,p+1,n);
    end;
    end;
    {--------------------------------------------------------------------------------------------------**
    begin
    N:=3;
    Remplir(t,1,n);
    tritab(T,1,N);
    Affiche(T,1,n);
    end.
     
  4. mohamed_info

    mohamed_info نجم المنتدى

    إنضم إلينا في:
    ‏28 جوان 2007
    المشاركات:
    1.668
    الإعجابات المتلقاة:
    1.467
      08-02-2008 15:14
    merci bien pour l'effort
    :kiss:
     

مشاركة هذه الصفحة

جاري تحميل الصفحة...