1) Le formule devono essere scritte nelle celle con tonalità
grigie o
azzurra. Le
grigie vanno intese come celle di supporto
ai calcoli mentre quelle azzurre
come celle di output.
3) Le celle gialle rappresentano le
uniche celle di input e devono essere le sole modificabili. In altre
parole se cerco di scrivere su una qualsiasi altra cella (non gialla) si deve visualizzare questo
messaggio di errore.
3) L'aspetto grafico deve essere identico alle immagini (quindi anche la griglia
non deve essere visibile)
4) Il file uploadato deve presentare più fogli come indicato nella figura
sottostante.
Ogni studente deve pubblicare la propria soluzione e questo anche nel caso sia stata sviluppata in collaborazione con altri compagni. Il nome del file deve essere: ESER_CO.ZIP.
ESERCIZIO 1 |
Costruire un traduttore su un foglio con etichetta "Decimale.Binario"
che trasforma un numero intero positivo in un numero binario puro a 8 bit.
Utilizzare le
funzioni
DECIMALE.BINARIO,
TESTO e
STRINGA.ESTRAI.
NB: l'esercizio è stato limitato a 8 bit poiché la funzione
DECIMALE.BINARIO funziona per numeri <= 29-1
ESERCIZIO 2 |
Costruire un traduttore su un foglio con etichetta "Decimale.BinarioSenzaFormule" che trasforma un numero intero positivo in un numero binario puro a 16 bit. E' ammesso l'uso della sola funzione di Excel/OpenCalc RESTO.
ESERCIZIO 3 |
Costruire un traduttore su un foglio con etichetta "Decimale.ComplementoA2SenzaFormule"
che trasforma un numero intero con segno (quindi sia positivo che negativo) in un numero
binario in complemento a due. E' ammesso l'uso della sola funzione
di Excel/OpenCalc
RESTO.
Suggerimento: si ricordi che dato un numero
X rappresentato
con N cifre in base B si definisce il suo complemento alla base
la quantità
BN-X.
ESERCIZIO 4 |
Costruire un traduttore su un foglio con etichetta "Decimale.EccessoK_ModuloSegno" che fornisce di un numero intero con segno la sua rappresentazione binaria in eccesso-K (K=215) oppure in modulo e segno a seconda di cosa indicato nella cella A5. (si vedano le due immagini d'esempio)
Nel caso in A5 non sia scritto "Eccesso-K" o "Modulo & Segno" il foglio dovrà visualizzare una sequenza di punti di domanda (vedi immagine sottostante). Inoltre il controllo non deve essere case sensitive ovvero deve essere indifferente scrivere "Eccesso-K" o "ECCESSO-K".
Suggerimento: usare le funzioni: RESTO, SE, ASS, MAIUSC
ESERCIZIO 5 |
Costruire un traduttore su un foglio con etichetta "BaseN.BaseM"
che trasformi un numero intero positivo (B3) da una base N (D4) ad
una Base M (K4).Non è richiesto alcun controllo sui digit che si
suppongono sempre conformi alla condizione 0 <= Ci < B. Le basi
N e M ammesse vanno da 2 a 10
Suggerimento: moltiplicare l'i-esimo
simbolo del numero in
B3 (STRINGA.ESTRAI)
per la potenza della base
D4 corrispondente [base^(LUNGHEZZA(numero)-i)].
Sommare le potenze cosi ottenute per ottenere il numero in base 10
F3 corrispondente. Partendo dal numero in base 10 calcolare in
successione i resti Rk delle divisioni rispetto
alla base finale. Ad ogni calcolo
del resto impostare come prossimo dividendo Dk+1 il risultato della
divisione intera di (Dk-Rk)/base
finale
ESERCIZIO 6 |
Si componga su un foglio "Half_Adder" un semi sommatore. Le celle C4 ed D12 rappresentano i due addendi mentre E2 e B8 rispettivamente la somma ed il riporto. La tabella di verità dell'Half Adder deve essere riportata sotto al semi sommatore.
ESERCIZIO 7 |
Si scriva un foglio Full_Adder dove le celle C4 ed D12 rappresentano i due addendi mentre E9 il riporto della somma dei digit precedenti. La tabella di verità del Full-Adder deve essere riportata in basso al sommatore.
ESERCIZIO 8 |
Si scriva un foglio Addizionatore dove le celle
R19 ed R21 rappresentano i due addendi A e B (interi positivi)
da digitare mentre in AF19 deve apparire la loro somma. La somma deve
essere ottenuta sfruttando la tabella di verità di ogni singolo full-adder.
Suggerimento: utilizzare le funzioni
BINARIO.DECIMALE,
DECIMALE.BINARIO,
STRINGA.ESTRAI,
VALORE,
TESTO,
RESTO,
CONCATENA,
SE,
RESTO,
CONCATENA
ESERCIZIO 9 |
Costruire nel foglio "ParityCheck" il simulatore di
trasmissione cosi descritto.
- Nelle area B3:H3 si scrive un testo di 7 caratteri ASCII non estesi
(quindi a 7 bit). Nell'area B6:H12
devono essere scritte le sequenze di bit (scritte in verticale) relative ai 7 caratteri digitati (si utilizzino
a tale scopo le funzioni:
TESTO,
DECIMALE.BINARIO,
CODICE,
STRINGA.ESTRAI e
VALORE). Si imposti poi il controllo di parità
sulle aree J6:J12 (far
apparire 1 se il numero di uni sulla riga corrispondente è dispari altrimenti
0), B14:H14 (far apparire 1 se il
numero di 1 sulla colonna corrispondente è dispari altrimenti 0) e sulla cella
J14 si inserisca il parity check relativo alle aree J6:J12 e
B14:H14 (far apparire 1 se il numero di uni nelle due aree è dispari
altrimenti 0).
- Simulare la trasmissione impostando una frequenza di errore sul singolo bit
nella cella N9. Nell'area
Q6:Y14 simulare i bit ricevuti (per
riprodurre l'errore utilizzare le funzioni
CASUALE.TRA,
RESTO,
SE)
Nelle aree
AB6:AB12,
Q16:W16 e
AB16 replicare gli stessi controlli di parità visti relativamente
all'area Q6:W12.
- Basandosi sul confronto tra i parity bit ricevuti e i parity
check determinare i
possibili errori di trasmissione evidenziandoli nelle zone Q17:W17 e
AC6:AC12. Immaginare quindi un algoritmo di correzione
(esempio invertire il bit in corrispondenza delle righe e colonne che presentano
un possibile errore) e proporre nell'area
Q3:W3 la stringa corretta
Effettuare delle prove sulla bontà dell'algoritmo di correzione simulando
diverse trasmissioni premendo la combinazione del ricalcolo CTRL+SHIFT+F9.
ESERCIZIO 10 |
Si scriva un foglio "File_Analizer" che accetta
nelle celle C4:F4 4 byte in formato esadecimale e restituisca l'interpretazione dei 4
byte come se fossero relativi ad:
- un file di testo di 4 byte
- un file composto da 2 numeri interi short
- un file composto da un numero intero long/int
- un file composto da un numero float (con la virgola in notazione IEEE 754)
Utilizzare le funzioni indicate nella figura.
ESERCIZIO 13 - PRONTUARIO ... |
Redigere/aggiornare, usando WORD/WRITER, un proprio prontuario delle funzioni elencate nelle esercitazioni (quelle in BLU per intenderci). Utilizzare l'help di Excel/OpenCalc come supporto personale e caricarlo mediante il registro web con il nome Manuale.zip. Esempio sul come svolgere il lavoro:
SE(argomento1;argomento2;argomento3) |
|
argomento1 | è un valore o un'espressione qualsiasi che può dare come risultato VERO o FALSO |
argomento2 | Valore restituito se argomento1 risulta vero |
argomento3 | Valore restituito se argomento1 risulta falso |
Valore restituito | argomento1 o argomento2 a seconda |
esempio =SE(A10>0;"Positivo";"Non positivo") |
E(arg1;arg2;...;arg30) |
|
arg1 | è un valore o un'espressione qualsiasi che può dare come risultato VERO o FALSO |
... | |
arg30 | è un valore o un'espressione qualsiasi che può dare come risultato VERO o FALSO |
Valore restituito | VERO se tutte le condizioni arg1 ... arg30 sono vere |
esempio =E(A10>0;VERO;A1=A8) |
O(arg1;arg2;...;arg30) |
|
arg1 | è un valore o un'espressione qualsiasi che può dare come risultato VERO o FALSO |
... | |
arg30 | è un valore o un'espressione qualsiasi che può dare come risultato VERO o FALSO |
Valore restituito | VERO se almeno una delle condizioni arg1 ... arg30 risulta vera |
esempio =O(A10>0;VERO;A1=A8) |
Buon Lavoro