2003/04 – Fase scolastica – 01

Si consideri il seguente frammento di programma:

Type
   vettore  = Array [1..10] Of Integer;
   vettore2 = Array [1..20] Of Integer;

Procedure quack(Var a: vettore; Var b: vettore; Var c: vettore2; l: Integer);
Var
   i, j, k: Integer;
Begin
   i:=1;
   j:=1;
   k:=1;
   While k <= 2*l Do
      Begin
         If((a[i] < b[j]) and (i <= l)) or (j = l+1) Then
            Begin
               c[k] := a[i];
               i := i+1;
            End
         Else
            Begin
               c[k]:=b[j];
               j:=j+1;
            End;
         k:=k+1;
      End
End;

Che problema risolve la procedura quack()?

Risposte:

  1. riempie c con gli elementi di a e b ordinati in modo crescente indipendentemente dall'ordine degli elementi in a e b
  2. riempie c con gli elementi di a e b ordinati in modo crescente se gli elementi in a e b sono ordinati in modo crescente
  3. riempie c in modo da riportare tutti i valori negativi di a all'inizio di c e quelli positivi di b alla fine di c
  4. nessuna delle precedenti.