2006/07 – Fase scolastica – 06

Cosa stampa il seguente programma? Program cosa(Input, Output); Function calcola(n: Integer): Integer; Begin  If n = 1 Then     calcola:=1  Else If n = 2 Then     calcola:= 3  Else If n = 3 Then     calcola:=n+calcola(n-1)  Else     calcola:=n+calcola(n-1)+calcola(n-2) End; Begin  Writeln(calcola(6)); End. Risposte: 41 45 49 nessuna delle precedenti.

2006/07 – Fase scolastica – 05

Cosa stampa il seguente programma, con input 5? Program cosa(Input, Output); Var    x : Integer;    y, z: Real; Begin    x:=0;    y:=0;    Read(z);    Repeat       x:=x+1;       y:=y+1/x;    Until y > z;    Write(x) End. Risposte: 5 12 25 nessuna delle precedenti.

2006/07 – Fase scolastica – 04

Si consideri la seguente funzione: Function f(n: Integer): Integer; Begin    If(n = 0) Then       f:=0    Else If(n Mod 2 = 0) Then       f:=2*f(n Div 2)    Else       f:=2*f(n dDiv 2)+2; End; Indicare qual è il valore restituito dall’invocazione f(f(2)) Risposte: 2 4 6 nessuna … Leggi tutto

2006/07 – Fase scolastica – 03

Considerate le seguenti sei funzioni, con argomento N (un intero non negativo). Ciascuna di esse calcola un qualche valore scelto tra: N, 2N , N2, N3, 2N, N!. Dovete stabilire qual è il valore calcolato da ogni funzione. Function A(N: Integer): Integer; Begin    If N > 0 Then       A:= 2*A(N-1)   … Leggi tutto

2006/07 – Fase scolastica – 02

Si consideri la seguente funzione: Const  N = 5; Var  vett1: Array[1..N] Of Integer;  vett2: Array[1..N] Of Integer; Procedure calcola(); Var  i, temp: Integer; Begin  For i:=1 To N Do     vett1[i] := N+1-i;  For i:=1 To N Do      Begin        temp:=vett1[i];        vett2[temp]:=i-1;     End End; … Leggi tutto

2005/06 – Fase scolastica – 08

Si consideri la seguente funzione A() Function B(n: Integer): Integer; Forward; Function A(n: Integer): Integer; Begin  If(n > 1) Then     A:=n*B(n+1)  Else     A:=1 End; Function B(n: Integer): Integer; Begin  If(n > 1) Then     B:=(n-1)*A(n-2)  Else     B:=1 End; Indicare quali sono i valori restituiti dalle invocazioni A(1), A(2), … Leggi tutto

2005/06 – Fase scolastica – 07

Sia data la seguente funzione ricorsiva: Function mistero(m: Integer; n: Integer): Integer; Begin    If(m = 0) Then       mistero:=n    Else If(n = 0) Then       mistero:=mistero(m-1, 1)    Else       mistero:=mistero(mistero(m-1, n-1), n-1) End; Calcolare quale tra le seguenti risposte corrisponde ai valori restituiti invocando: Writeln(mistero(0, 3), … Leggi tutto

2005/06 – Fase scolastica – 06

Data la seguente funzione che inizializza i valori di un array bidimensionale matrice: Const N=5; Procedure inizializza(); Var  matrice : Array [1..N, 1..N] Of Integer;  riga, colonna: Integer; Begin  For riga:=1 To N Do     For colonna:=1 To N Do        Begin           If(riga = colonna) Then   … Leggi tutto

2005/06 – Fase scolastica – 05

Cosa stampa il seguente programma? Program Test(Input, Output); Type    vett = Array[0..9] Of Integer; Var    i, f, a, b: Integer;    arr : vett; Function funzione1(arr: vett): Integer; Var   i: Integer; Begin   i:=1;   While(arr[i] -1) Do      i:=i*2;   funzione1:=i; End; Function funzione2(arr: vett; f: Integer; k: Integer): Integer; … Leggi tutto