Essendo uno studente, mi sono iscritto alle selezioni scolastiche delle olimpiadi di informatica. Ebbene, i quesiti su cui sto esercitandomi sono un pò difficili x me (anche se programmo da 4 anni) xkè sono analisi di funzioni che non ho capito come si fanno...
Esempio di esercizio:
--------------------------
La risposta vale 6 punti
Si consideri il seguente frammento di programma.
Dire che cosa restituisce la funzione "calcola" assumendo che venga invocata passando un vettore di lunghezza n con n>2.codice:type sequenza = array[1..100] of integer; function calcola(vett:sequenza; n:integer): integer; var i,y,x:integer; begin y:=0; x:=vett[1]; for i:=1 to n-1 do begin if (x < vett[i+1]) then begin y:=vett[i+1]-x+y; x:=vett[i+1] end; if (x-y > vett[i+1]) then y:=x-vett[i+1]; end; calcola:=y; end;
Risposta aperta.
----------------------------
La domanda è: come li devo risolvere? Qual'è il metodo? Non posso mica seguire riga x riga come se fossi un pc!