    


,  ,  - . ,  ,    . 

     ;      ,     2 : 

  program procedureSample; 
  var n: integer; {       
                          
                       } 

  procedure noArgs; 
  begin 
    n := 5; 
  end; 

  procedure twoArgs(a: integer; b: string); 
  var len: integer; {     
                          
                         
                        } 
  begin 
    len := length(b); 
    n := a + len; 
  end; 

  begin 
    noArgs; {    } 
    twoArgs(n, 'Some string'); {    } 
  end. 

    ,   ,     .       MIDletPascal: 

  program functionSample; 
  var 
    result: integer; 

  {      "5" } 
  function returnFive: integer; 
  begin 
    returnFive := 5; 
  end; 

  function multiply(a, b: integer): integer; 
  begin 
    multiply := a * b; 
  end; 

  begin 
    result := multiply(2, returnFive); {   multiply 
                                              
                                            } 
  end. 

  : 

  program recursionSample; 
  var 
    factorielOfFive: integer; 

  function factoriel(n: integer): integer; 
  begin 
    if n = 1 then  
      factoriel := 1; 
    else 
      factoriel := n * factoriel(n-1); 
  end; 

  begin 
    factorielOfFive := factoriel(5); 
  end. 

   : 

       , ..           
 
     var  
 
  

MIDletPascal     (forward declarations).  : 

  procedure a (x: integer); 
  begin 
    ... 
    b(x); 
    ... 
  end; 

  procedure b(y: integer); 
  begin 
  ... 
    a(y); 
  ... 
  end; 

  begin 
    a(5); 
  end. 

 'a'   'b',   'b'   'a'.   'b'   'a',   ,    'a'    'b'.         'a',        .    ,    'b'  : 

  procedure b(y:integer); forward; {    
                                     ,   'b'  
                                      -    } 

  procedure a (x: integer); 
  begin 
    ... 
    b(x); 
    ... 
  end; 

  procedure b(y: integer); 
  begin 
    ... 
    a(y); 
    ... 
  end; 

  begin 
    a(5); 
  end. 

