esercizi pascal
DESCRIPTION
Esercizi per il linguaggio PascalTRANSCRIPT
Selezioni italiane IOI 2001 - Linguaggio Pascal
Selezioni italiane IOI 2001 - Prima fase
Linguaggio Pascal
[3 punti] Cosa stampa il seguente programma?
type r = record
x,y: integer
end;
var x,z: integer;
y: r;
begin
z:=3;
with y do
begin
x:=3;
y:=5;
z:=5
end;
x:=4;
writeln(x+y.x+z)
end.
Risposta: ..............................................
[1 punto] Determinare quale la relazione che assume valore vero quando x esterno all'intervallo [A,B] e y interno allo stesso intervallo? (xB) and (y>=A) and (y=A) and (y=A) or (y=A) or (y=A) or (y=A) and (y0) then
if (b>0) then writeln('ok')
else writeln('ok');
Discutere l'effetto dell'esecuzione di tale istruzione al variare di a e b.
Risposta:...................................................................... ........................................................................................ ........................................................................................ ........................................................................................
[3 punti] Considerate il seguente frammento di codice; cosa stampa?
var a,b: set of 1..200;
i,j: integer;
begin
a:=[]; b:=[]; j:=0;
for i:=1 to 50 do
begin
if (i*i0) then if (cond(a)) then writeln('ciao'); al variare di a? Cosa succede all'istruzione if (cond(a)) then if (a>0) then writeln('ciao'); al variare di a?
Risposta: 1 ................................................................... ......................................................................................... 2 ...................................................................................... .........................................................................................
[2 punti] Sia dichiarato un array var a: array [1..10] of integer;. Cosa succede all'esecuzione del seguente codice:
i:=0;
repeat
i:=i+1;
a[i]:=2
until (i>10);
Tutto l'array viene inizializzato al valore 2; Si superano i limiti dell'array. L'errore viene segnalato in fase di compilazione; Si superano i limiti dell'array. L'errore viene segnalato all'esecuzione del codice; Si superano i limiti dell'array. All'accesso all'undicesimo elemento, il sistema operativo assegna altro spazio all'array a e l'esecuzione prosegue.
Risposta: ..............................................
[3 punti] Considerate il seguente frammento di codice:
var i: .....;
j: .....;
a: array [.....] of .....;
...
a[a[i]=j]:=a[a[j]=i];
possibile completare le dichiarazioni di variabile in modo tale che l'assegnamento non dia luogo a errori di compilazione? Se s, indicate i tipi delle variabili i, j e a.
Risposta:........................................................................ ........................................................................................ ........................................................................................ ........................................................................................
[2 punti] Dire quale dei programmi seguenti calcola in j l'indice dell'elemento massimo del vettore di interi positivi v contenente n elementi, posto che j sia inizializzato a 1: for i:=1 to n do if v[i]>j then j:= v[i];for i:=1 to n do if v[i]>v[j] then j := i;for i:=1 to n do if v[j]>i then j:= i;
Risposta: ..............................................
[2 punti] Dire quale dei programmi seguenti ordina il vettore di interi v contenente n elementi:
for i:=1 to n do
begin
m := i;
for j:=i+1 to n do
if v[j]