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. 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
  2. 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
  3. Oui ou en anglais meme, si il faut... :-p

    Kalamit,
    Modard sec de son état... :o)
    0
    1. 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
    2. 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
    3. 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. Chapeau!

        je n'y est vu que du feu!!

        Les tirans se nourissent de la démission des hommes libres !
        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. 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. Le juste resultat de p3-

            Z=4.0
            Y=3
            e=4.0
            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. 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