![]() |
Pages (7): [1] 2 3 4 5 » ... Last » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Architettura degli elaboratori e delle reti (http://www.dsy.it/forum/forumdisplay.php?forumid=210)
-- Preparazione al Laboratorio F49 (http://www.dsy.it/forum/showthread.php?threadid=42442)
Preparazione al Laboratorio F49
Ciao ragazzi, mi devo preparare per sostenere a gennaio la parte di laboratorio dell esame per informatica f49.
Qualcuno saprebbe indicarmi dove trovare il materiale giusto per la preparazione? e magari un esempio delle procedure ricorsive che sono richieste nelle nuova modalità di esame?
Grazie 1000
Mi accodo
idem..qualcuno sta seguendo le lezioni per caso??
Per l'esame con D'Antona indico questo link : http://homes.dico.unimi.it/~dantona...age=laboratorio
Dove si possono trovate i testi delle esercitazioni e le sue soluzioni.
@vivian.souza: hai gia sostenuto la parte di laboratorio??
nessuno sà darci un esempio di esame di laboratorio?
Io ho fatto laboratorio per F1X quindi non so aiutarvi, se sul sito non c'è nulla secondo me la cosa migliore è provare a mandare una mail al dottor Codara.
io ho guardato il sito e ci sono gli esempi del laboratorio..ma è un sacco di codice io spero non sia da fare così tanto..
Io questo esame l'ho dato tanto tempo fa... era molto semplice perché le richieste non erano poi fuori dal mondo:
- variabili assembly
- chiamate a funzione (i vari jump)
- gestione di chiamata a funzione ricorsiva (gestione dello stack)
- somme, sottrazioni, moltiplicazioni, divisioni (matematica di base)
- mascheramento di variabili (operatori binari AND, OR, XOR, SHIFT)
... e qualcos'altro
Svolgendo gli esercizi di laboratorio nel ambiente SPIM (simulatore MIPS) vi andrà via tutta questa ansia da prestazione.
MA DOVETE SCRIVERE VOI LA SOLUZIONE!!! NON CERCATE DI SCOPIAZZARE ALTRIMENTI SARA' TUTTO TEMPO PERSO! IMPEGNATEVI E ANDRÀ TUTTO LISCIO.
In bocca al lupo!
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
@pintu sì l'ho sostenuto a luglio. L'esame consiste nella stesura di una procedura ricorsiva in linguaggio assembly MIPS - senza main, soltanto la procedura. Per esempio, la risoluzione dell'esame di giugno:
alfa = gamma(n) - beta(alfa(n-1))
alfa:
addi $sp, $sp, -12 #alloco spazio per salvare l'indirizzo di ritorno e altre variabile
sw $ra, 8($sp) #salvo l'indirizzo di ritorno
sw $a0, 4($sp) #salvo il valore originale di n
beq $a0, $zero, fine #se a0(n) = 0, salto a fine (caso base)
jal gamma #altrimenti chiamo la procedura gamma
sw $v0, 0($sp) #salvo il risultato di gamma
lw $a0, 4($sp) #carico in a0 il valore originale di n
addi $a0, $a0, -1 #decrementa a0 di 1 (n - 1)
jal alfa #chiamo la procedura alfa
move $a0, $v0 #a0 <- v0 (risultato della procedura alfa)
jal beta #chiamo la procedura beta
lw $t0, 0 ($sp) #carico in t0 il risultato della procedura gamma
sub $v0, $t0, $v0 #v0 = risultato di gamma - risultato di beta
lw $ra, 8($sp) #carico in ra l'indirizzo di ritorno salvato sullo stack
addi $sp, $sp, 12 #realloco lo stack nella sua posizione originale
jr $ra #ritorno al chiamante
fine:
addi $sp, $sp, 12 #realloco lo stack
li $v0, 0 #caso base, ritorno 0
jr $ra
la richiesta era solo alfa = gamma(n) - beta(alfa(n-1)) ?
non avendo ancora studiato mi risulta difficile capire cosa si richide..
scusami... vediamo Alfa è la funzione che tu deve risolvere creando una procedura. Alfa richiama se stessa e una seconda procedura chiamata beta che sappiamo a priore che esiste ma non ci importa che cosa veramente faccia, la dobbiamo soltanto chiamare e prendere il suo risultato per risolvere alfa.
Per un esempio di enunciato simile a questo suggerisco prendere le tracce dei progetti che sono ancora disponibili nel sito, sono tutti simili. Più tarderà proverò a trovare l'enunciato completo di questo problema perché adesso sono in uni...
nessuno sà altro riguardo questo esame?!
stò provando a capire qualcosa, ma gli esercizi di esempio non mi sono chiari come faccio ad arrivare al risultato. ad esempio questo:
Si consideri la coppia di sequenze denite da
(1) F(n) = n - M(F(n - 1)) ;
(2) M(n) = n - F(M(n - 1)) ;
con valori iniziali
(3) F(0) = 1 ;
(4) M(0) = 0 :
Scrivere un programma per il calcolo dei valori di F(n) e M(n). Il programma
dovra contenere due procedure: una per il calcolo di F(n) e una per il calcolo di
M(n). Il programma principale si occupera della lettura di un numero n >= 0 da
tastiera, del calcolo di F(n) e M(n) e della visualizzazione del risultato.
Allora:
code:
#include <stdio.h> int F( int a ); int M( int b ); int main( void ) { int n = 0; printf("Inserire un numero intero n >= 0: "); scanf("%d", &n); printf("\nIl risultato della funzione F è: %d\n", F(n)); printf("Il risultato della funzione M è: %d\n", M(n)); return 0; } int F( int a ) { int n = a; if (n == 0) return 1; else return n - M(F(n-1)); } int M ( int b ) { int n = b; if (n == 0) return 0; else return n - F(M(n-1)); }
__________________
.. ±·ø·±-`` MuSiC iS My LanGuAGe ´´-±·ø·± ..
All times are GMT. The time now is 04:17. | Pages (7): [1] 2 3 4 5 » ... Last » Show all 100 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.