Procedure con parametri misti

Passaggio dei parametri misto

sub3
Incrementa (decrementa?) di delta la variabile a

Procedure incDelta(Var a: Integer; delta: Integer);
Procedure decDelta(Var a: Integer; delta: Integer);

Restituisce in c il minimo tra a e b

Procedure minimo2(a, b: Integer; Var c: Integer);
Begin
   If(a <= b) Then
      c:=a
   Else
      c:=b;       
End;

Restituisce in c il massimo tra a e b

Pocedure massimo2(a, b: Integer; Var c: Integer);
...

Restituisce in d il minimo tra a, b e c

Procedure minimo3(a, b, c: Integer; Var d: Integer);
Var
   x1,x2: Integer;
Begin
   minimo2(a,b, x1);
   minimo2(x1,c, x2);
   d:=x2;
End;

o meglio…

Procedure minimo3(a, b, c: Integer; Var d: Integer);
Begin
   minimo2(a, b, a);
   minimo2(a, c, d);
End;

ESERCIZI

  1. MinimoMassimo2(a, b, min, max)
    Restituisce in min e max il minimo e il massimo tra a e b
  2. MinimoMassimo3(a, b, c, min, max)
    Restituisce in min e max il minimo e il massimo tra a, b e c
  3. QuozienteResto(a, b, quoziente, resto)
    Restituisce quoziente e resto della divisione intera tra a e b
  4. esitiDado(n, d1, d2, d3, d4, d5, d6)
    Lancia n volte un dado e restituisce il numero (frequenze assolute) delle uscite in d1, …, d6
  5. frequenzeDado(n, d1, d2, d3, d4, d5, d6)
    Lancia n volte un dado e restituisce le frequenze relative delle uscite in d1, …, d6
    Frequenza relativa = numero di uscite di un certo numero / numero lanci.