Etude procédure incrément, résultat?

Bonsoir ;

S'il vous plait des questions par ce que le prof nous a pas fait bien comprendres en drenier temp,il a un PH.D .
Et moi j'ai casser la tête en cherchant sur Internet est demander a des gens
s.v.p je souhaittrai avoir les sites web des variables local et globale
a ce genre d'exercices mais diversifier justes en niveux decritututre ,posez les parametre et les affiche(faire une etude detailler)pour bien matrisez
1-question
en jouent sur les paramètre(...),est quoi comme résultat donne
y=3
z=4.0
2-
S.V.P CONNAISSER VOUS SUR INERNET LES SITES DE CE GENERE D'Exercices procédure a ce genre, pouvez vous me les donner s.v.p ?
{x:=x+1;
z:=x+1;
en jouent sur les paramètre(...),est quoi comme résultat donne ?}

Voici le programme:
Program p2
VAR
Y :INEGER .

PROCEDURE INCREMENTER (var x :integer; z:real);

begin

x:=x+1;
z:=x+1
writeln ('z=',z); (*Remarque :j’ai pas bien compris ?,en la choisissent ici*)
begin
y:=2

incrementer (y,2.0);
writeln ('y=',y);
end.

Moi je crois que z=4.0 reste 2.0 puisque l'affichage et aux niveux de la procedures,et je crois aussi que si dont la procédure on a pas mit var: z pour quelle
Soit modifier (variable local) ,alors la valeur de z vas pas changer du début jusqu'à la fin du programme ,reste la même
quand en demande au compilteure d'afficher appele a la procedure
S.V.P CONNAISSER VOUS SUR INERNET LES SITES DE CE GENERE D'Exercices procédure a ce genre
x:=x+1;
z:=x+1;
Mois je n’ai pas trouvé

MERCI

12 réponses

  1. Ma revision :
    Program recherche ;
    const n:=10;
    var
    A :array [1..n]of integer ;
    X,I:integer ;
    Begin
    Write ('donner la valueur de x');
    readln (x);
    For i:=1 to n do
    Begin
    if A[i]=x then
    Begin
    Write('l'element estbtrouvé :',x,'sa position:');
    Halt; Exit;
    Write ('element introuvable ');
    end.
    program tiage_a_bulle;
    const N=10;
    var
    C,i,J:integer;
    d:boolean;
    t:array [1..n] of integer;
    Begin
    If d:=true then repeat
    For i:= 1 to n do
    For j:=j+1 to n do
    Begin
    if t[i]<t[j] then
    c:=t[i];
    t[i]:=t[j];
    t[j]:=c;
    end;
    d=false;
    utile d:=false;
    writeln ('Le tableau est trié ');
    writeln ('les element du tableau sont :');
    for i:=1 to n do
    writeln ('t[',i,']:',t [i]);
    end.dera
    or (301) 984-2206

    Program recherche ;
    const n:=10;
    var
    A :array [1..n]of integer ;
    X,I:integer ;
    Begin
    Write ('donner la valueur de x');
    readln (x);
    For i:=1 to n do
    Begin
    if A[i]=x then
    Begin
    Write('l'element estbtrouvé :',x,'sa position:');
    Halt; Exit;
    Write ('element introuvable ');
    end.
    program tiage_a_bulle;
    const N=10;
    var
    C,i,J:integer;
    d:boolean;
    t:array [1..n] of integer;
    Begin
    If d:=true then repeat
    For i:= 1 to n do
    For j:=j+1 to n do
    Begin
    if t[i]<t[j] then
    c:=t[i];
    t[i]:=t[j];
    t[j]:=c;
    end;
    d=false;
    utile d:=false;
    writeln ('Le tableau est trié ');
    writeln ('les element du tableau sont :');
    for i:=1 to n do
    writeln ('t[',i,']:',t [i]);
    end.

    SurnomAndré
    0
    1. REMARQUE :
      le probléme de la procedure resoulut il y'a 2 ans de ça,miantenant je suis devenus un pro. ,dans tous
      le email adel_3n1@yahoo.fr ,c'est mon ancien email piraté
      Program Matrice;
      var E,T : array [1..4,1..5] of integer;
      N,I,j:integer;
      Begin
      For i:=1 to 4 do
      For J:=1 to 5 do
      read ([I,J]);
      N:=0 ;
      For i:=1 to 4 do begin
      for j:=1 to 5 do begin
      if t[i,j]=0 then
      n:=n+1;
      end;end;
      write ('le nombre nul est :', n);
      max:=t[1,1] ;
      for i:=1 to 4 do begin
      for j:=1 to 5 do begin
      if t[i,j]=0 then
      n:=n+1;
      end;end;
      write (n);
      max:=t[1,1];
      for i:=1 to 4 do begin
      for i:= 1 to 5 do begin
      if max<t[i,i] then
      max:=t[I,I] then
      max:=t[I,I] end; end;
      write (max);
      k:=1;
      for i:=1 to 4 do
      for j:=1 to 5 do begin
      E [i,j]:=k;
      k:=k+1;
      end;
      s:=0;
      for i:=1 to 4 do begin
      for i:=1 to 5 do begin
      T[I,J]:=T[I,J]+E[I,J];
      write (t[i,j]);
      end; writeln;
      end; end.

      program ville;
      var
      t1:array[1..2,1..4] of char;
      n:integer; ville:char;
      begin
      n:=0;
      for i:=1 to 2 do begin
      for j:=1 to 4 do begin
      read (t1[i,j]);
      if (t1[i,j]);
      if t1 [i,j]='A' then
      n:=n+1;
      end;
      end;
      write (n);
      ville:=' ';
      for j:=1 to 4 do
      ville:=ville+t1[2,j];
      writeln ('la chaine construite est : ',ville );
      end.
      program inversetableaux;
      var
      a:array [1..20] of integer;
      c,i:integer;
      begin
      for i:=1 to 10 do
      begin
      Read A([i]);
      end;
      for i:=1 to 10 do
      begin
      C:=A[i];
      A[i]:=A[20-i+1];
      A[20-i+1]:=C;
      end;
      for i:=1 to 20 do
      write (A[I]);
      end;
      end.
      program max;
      var
      s,v,i,n:integer;
      begin
      write ('determinant de l'élément ');
      readln (n);
      if n=0 then begin
      write ('fin du prog. ');
      halt;exit;
      readln;
      end;
      readln (v);
      max:=v;
      for i:=1 to n do
      begin
      readln (v);
      if max<v then
      max:=v;
      end;
      write (max);
      end.

      Program Val;
      var
      nbpos,nbnul,nbneg :integer;
      begin
      Nbpos:=0;Nbneg:=0;Nbnul:=0;
      readln (n);
      if n=0 then begin
      write ('fin du program');
      halt;exit;
      and;
      for i:=1 to n do
      begin
      readln(v);
      if v> o then
      nbpos:=n+1;
      else if v=0 then
      Nbnule:=Nbunule+1;
      else
      v< 0 then Nbneg:=Nbneg+1;
      end;
      writeln ('le nombre positif:',nbpos);
      writeln ('le nombre negatif',Nbneg);
      Writeln ('le nombre nul:',nul );
      end.
      program max;
      var
      T: array[1..12] of integer;
      max,s,i :integer;
      begin
      for i:=1 to 12 do
      read (T[i]);
      s:=0;
      for i:=1 to 12 do
      begin
      s:=s+T[i];
      write (s);
      writeln ('m[',i,']');
      for i:=1 to 12 do
      if max:=t[i] then
      max:= t[i];
      write (max);
      and.

      Program Deuxdimension;
      var
      M:array [1..4,1..4] of real ;
      s:real;
      s1,I,j, :integer;
      begin
      for i:= 1 to 4 do
      for j:=1 to 4 do
      read (M[i,j]);
      s:=0.0;
      for i:=1 to 4 do
      for j:1 to 4 do
      s1:=s1+M[I,J];
      writeln ('la somme de ce tableau est :',s1);
      min:=[1,1];
      for i:=1 to 4 do
      for j:=1 to 4 do
      if min>m[i,j] then
      min:=m[i,j];
      write (min);
      end.
      François
      0
      1. Salut chère frère,
        si vous êtes devenus un pro vous me voyez hereux etr je vous souhaites une vie plaine de bonheur.
        VOTRE frère.
        Merci
        0
    2. Le juste resultat de p3-

      Z=4.0
      Y=3
      e=4.0
      0
      1. Merci Monsieur Boudjeroua.Mohamed ; Correction d’une faute d’inattention : alors c’est x dans la deuxième Instruction du programme principale et n’ont pas z, pour p3 et p3-
        Parce que quand j’ai copier ,coller,j’ai copier prog p5 ,l’encien,c’était le 1er,c’était z ,je ne l’es pas changer dans le message a envoyer,je m’excuse.
        Le programme serait le suivant :
        Program p3 ;
        Var
        Y :integer ;
        Procedure incrementer (var x:integer ;z :real);
        Begin
        x:=x+1;
        z:=x+1;
        writeln(‘z=’,z) ;
        end;
        begin

        y:=2;
        incrementer (y,3.0);
        writeln (‘y=’,y);
        end.

        Le résultat sur écran le voici :

        Z=4.0 {en 1er lieu}
        Y=3 {en 2emme lieu}

        Program p3- ;
        Var
        Y :integer ;e:real ;
        Procedure incrementer (var x:integer ;var z :real);
        Begin
        x:=x+1;
        z:=x+1;
        writeln(‘z=’,z) ;
        end;
        Begin

        Y:=2; e :=5.0 ;
        incrementer (y,e);
        writeln (‘y=’,y,’e=’,e);
        end.

        Le résultat sur écran est le suivant :
        Z=4.0
        Y=3
        Y=4.0
        0
        1. Merci,mais il y’a une var globale e que j’ai oublier de la déclarer dans prog p3-
          Ont met après var y :integer ; e :real ; {e c’est une var globale ajouter} commença en la placent Le programme sera complet
          0
          1. Salut Adel,
            Je suis vraiment content que voue aillez compris, si vous avez besoin d’aide n’hésitez pas.
            Votre amis et frère,
            Boudjeroua.mohamed@caramail.com
            Bon courage et tous mes voeux de réussite.
            Merci.
            0
        2. Chapeau!

          je n'y est vu que du feu!!

          Les tirans se nourissent de la démission des hommes libres !
          0
          1. Merci,c’est bon enfin j’ai percer se mystère, notre prof nous a encore expliquer, en prenant notre temp , a assimiler ça compréhension en posant aussi des question,afin de faire au même temp. la révision a l’examen voici ce q’on a Appris ou fait,(le juste) :
            Program p3 ;
            Var
            Y :integer ;
            Procedure incrementer (var x:integer ;z :real);
            Begin
            x:=x+1;
            z:=z+1;
            writeln(‘z=’,z) ;
            end;
            begin

            y:=2;
            incrementer (y,3.0);
            writeln (‘y=’,y);
            end.

            Le résultat sur écran le voici :

            Z=4 {en 1er lieu}
            Y=3 {en 2eMme lieu}

            Program p3- ;
            Var
            Y :integer ;
            Procedure incrementer (var x:integer ;var :real);
            Begin
            x:=x+1;
            z:=z+1;
            writeln(‘z=’,z) ;
            end;
            Begin

            Y:=2; e :=5.0 ;
            incrementer (y,e);
            writeln (‘y=’,y,’e=’,e);
            end.

            Le résultat sur écran est le suivant :
            Z=4.0
            Y=3
            Y=4.0

            Est on a appris encore que dont le prog p3 si ont met writleln (‘z=’, y), dans le programme
            Principale (quand ont fait appelle a la procédure), alors c’est faut, et si ont met var z toujours p3, en paramètre est en laisse writeln(‘z=’,z),c’est juste
            Pour p3-, si ont met writeln(‘z=’,z) dans le programme principale c’est faux malgré,qu’il y’a var dans le paramètre,par ce que elle fait parties de la var local,voila l’essentielle que de ce j’ai apprie

            Merci et Bonne journée.
            0
            1. boudjeroua.mohamed@caramail.com
              Salut,
              votre réponse est juste 20/20 et je ne sais pas porquoi tu veus de l'aide.
              transmission par valeur(Z) : une var local est usée ds la procedur ou fction comme paramètre on ne la précède pas par var ,ou déclarée à l'intérieure de la proc/fction , elle prend une copie de la val de la var appellante toute modification de (Z) n'affecte pas la var apellante,sa durée de vie débute avec l'appelle et meure à la fin de la proc ou fction .
              la tranmission par adresse(X) une var est usée ds la procedur ou fction comme paramètre , on la précède par var, sa durée de vie débute avec l'appelle et meure à la fin de la proc ou fction ,elle prend l'adresse de la var appellante toute modification sur (X) implique une modification de (Y)
              une var global est usée ds la déclaration du prog ou algo
              bon courage.
              merci.
              0
              1. Bonsoir a vous;

                Oui,Mr Bboudjeroua.Mohamed, votre règle et de façon générale,qui s’applique après
                Appel a la procédure, mais moi ce que je cherche c’est avant appelle a la procédure
                ,c'est-à-dire aux niveaux de la procédure(local),la valeur en la retourne si en peut dire ça,
                (pratiquement) en Fait l’affichage,a la fin juste de la procédure ,en déjouent cette règle regarde
                est s.v.p répond moi :

                Program p5 ;
                Var
                Y :integer ;
                Procedure incrementer (var x:integer ;z :real);
                Begin
                x:=x+1;
                z:=z+1;
                writeln(‘z=’,z) ; { vous voyez ici ?}
                end;
                begin

                y:=2;
                incrementer (y,2.0);
                writeln (‘y=’,y);
                end.

                Résultat sur écran :

                Y=3
                Z=4.0 {je ne s’ais même pas quelle résultat est le 1er ou le 2emme, y ou z,(et si ce programme est juste ?)}
                0
              2. @adel_3n1salut adel,
                d'après le résultat que tu dis avoir eu j'aimerai vous dire que le prog de ce résultat n'est pas valide car d'après le résultat le pg qui convient est le suivant :
                Program p5 ;
                Var
                Y :integer ;
                Procedure incrementer (var x:integer ;z :real);
                Begin
                z:=z+1;
                x:=z+1; {pour que le résultat soit =4}
                writeln(‘y=’,z) ; { pour qu'il affiche Y en 1èr lieu}
                end;
                begin

                y:=2;
                incrementer (y,2.0);
                writeln (‘z=’,y);
                end.
                et comme ça vous obtienderez le Résultat sur écran :
                Y=3
                Z=4.0
                en tous les cas vérifier bien le pg que vous avez écrit et réecrit moi.
                Bon courage.
                Votre frère et amis,
                merci.
                0
            2. josch 83, j'aime bien ta signature...
              Pourquoi 10 ??? ;-)

              Concernant la question, j'ai rien compris non plus... incrémentation oui mais encore???

              Fat_Cartman,
              Parce que je le vaux bien... 
              0
              1. ça veux dire que tu fais partie de ceux qui ne le comprenne pas. :) lol
                Comment on écrit 2 en binaire ?

                ça répond à ta question ?

                Bonne journée.

                josch83
                0
            3. Oui ou en anglais meme, si il faut... :-p

              Kalamit,
              Modard sec de son état... :o)
              0
              1. Tu peux reposer ta question, mais cette fois en français ? STP :)

                josch83

                "There are only 10 types of people in the world: Those who understand binary, and those who don't"
                0
                1. Contributeur sécurité
                  josch83... mon post à jisisv est aussi valable pour toi !

                  Si tu n'as que çà à dire à Adel_3n1... tais toi parce que tu ne lui arrive peut-être pas à la cheville et tes propos ne te grandissent pas !

                  @12C4 ... In medio stat virtus ...
                  Ipl
                  0
              2. Modérateur
                Aille,
                Moi y en a pas tré bien césir la kestion...

                Johan

                The software said "Requires Windows98, Win2000, or better,
                So I installed Unix.
                0
                1. Contributeur sécurité
                  jisisv... ne te sens-tu pas gêné ? ce n'est pas parce qu'on ne parle pas facilement ton langage (d'ailleurs, existera-t'il encore dans un siècle ?) qu'on est un moins que rien !
                  Tes propos sont arrogants et méprisants !
                  Tu as été éduqué en France... tu as eu de la chance, c'est tout ! n'en oublie pas d'être gentil et généreux !!!

                  @12C4 ... In medio stat virtus ...
                  Ipl
                  0