2002/03 – Fase scolastica – 04

Il vettore c contiene una stringa di n caratteri, alcuni dei quali sono spazi. La seguente funzione deve calcolare e restituire il numero di parole contenute nella stringa (una parola è una sequenza di caratteri consecutivi diversi da spazio che non si possa estendere né a sinistra né a destra mantenendo questa proprietà). Si assuma … Leggi tutto

2002/03 – Fase scolastica – 03

Un numero intero positivo è detto perfetto se è uguale alla somma dei suoi divisori propri (cioè, i divisori maggiori di 0 e minori del numero stesso). Il seguente programma deve stampare i primi 5 numeri perfetti. Aggiungete le istruzioni che mancano: Program perfect(Input, Output); Var  x, c: Integer; Function isPerfect(x: Integer): Boolean; Var  y, … Leggi tutto

2002/03 – Fase scolastica – 02

Considerate il seguente programma: Program dueVett(input, output); Type  vett=Array[1..10] Of Integer; Var  x, y: vett;  i, j: Integer;  b : Boolean; Procedure readV(Var x: vett); Var  i: Integer; Begin  For i:=1 To 10 Do     Read(x[i]) End; Begin  readV(x);  readV(y);  For i:=1 To 10 Do     Begin        j:=1;     … Leggi tutto

2001/02 – Fase scolastica bis – 09

Considerate il seguente frammento di programma Pascal: Var  x, a, b: Integer; Function f(x: Integer): Integer; Begin  x:=x*x;  f:=x; End; Function g(var x: Integer): Integer; Begin  x:=x*x;  g:=x; End; Begin  x:=3;  a:=f(x);  b:=g(x);  x:=x+a+b;  Writeln(x) End. Quale valore viene stampato?

2001/02 – Fase scolastica bis – 08

Supponete di dover memorizzare N numeri interi (con N <= 100), e di poterlo fare o usando un array di 100 integer, oppure utilizzando una lista, in cui ogni nodo contiene un intero e un puntatore al prossimo nodo. Assumendo che sia un integer che un puntatore occupino ciascuno 4 byte, qual è il massimo … Leggi tutto

2001/02 – Fase scolastica bis – 07

Considerate il seguente frammento di programma Pascal: Type  s=Set Of 0..100; Var  x, y, z: s;  i : 0..100; Begin  x:=[3, 4, 5, 6];  y:=[1, 2, 3, 4];  z:=x*y;  For i:=0 To 100 Do       If(i In z) Then Writeln(i) End. Quali valori vengono stampati? sono stampati nell’ordine: 3 4 5 6 8 … Leggi tutto

2001/02 – Fase scolastica bis – 06

Considerate il seguente frammento di programma Pascal: Type  r = Record       x, y: Integer;  End; Var  x, z: r; Begin  x.x:=1;  x.y:=2;  z.x:=3;  z.y:=4;  With x Do      Begin        x:=z.y;        z.x:=y;      End;    Writeln( x.x, ‘ ‘, x.y, ‘ ‘, z.x, ‘ ‘, … Leggi tutto

2001/02 – Fase scolastica bis – 05

Considerate il seguente frammento di programma: t:=-1; For i:=1 To n Do    If f(i) Then       t:=i; If t >= 0 Then    WriteLn(t); Quale delle seguenti affermazioni è corretta? Il programma cerca e stampa il più piccolo intero x fra 1 e n tale che f(x)=true; se tale intero non esiste, … Leggi tutto

2001/02 – Fase scolastica bis – 03

Dire quale dei frammenti di programma seguenti calcola in j (che è di tipo real) la media del vettore di interi positivi v contenente n elementi, posto che j sia inizializzato a zero: For i:=1 To n Do j:=v[i]; j:=j/n; For i:=1 To n Do j:=j+v[i]; j:=j/n; For i:=1 To n Do j:=j+v[i];