[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico] [volume] [parte]
SC, (1) ovvero Spreadsheet Calculator, è un applicativo per l'elaborazione di fogli elettronici di vecchia concezione che è tuttora valido. La sua origine è molto lontana, a partire da un lavoro apparso su Usenet, modificato successivamente da più autori. Oggi esistono diverse varianti di questo applicativo, ognuna con un nome particolare; è disponibile anche una versione per Dos.
A prima vista, l'uso di questo foglio elettronico è piuttosto complicato. In effetti, si tratta di uno di quei programmi che richiede studio e anche un po' di memoria per i comandi che non sono così intuitivi. Nonostante tutti questi problemi, rimane un applicativo fondamentale nell'informatica del software libero.
In condizioni normali, una volta avviato SC, si vede una schermata simile a quanto riportato in figura 330.1.
|
Sullo schermo si distinguono quattro parti. La prima riga in alto, serve per visualizzare il contenuto delle celle e per l'inserimento dei comandi da parte dell'utilizzatore. La seconda riga viene usata dal programma per mostrare dei messaggi, che si solito servono per conoscere l'esito di un comando appena impartito. La terza riga e le prime quattro colonne mostrano le coordinate delle celle, dove le righe sono identificate attraverso un numero e le colonne attraverso una lettera. Infine, la parte restante dello schermo è riservata alle celle del foglio elettronico.
Le coordinate delle celle sono indicate usando prima la lettera e poi il numero, per esempio A0. È possibile usare lettere maiuscole o minuscole indifferentemente. |
Sono disponibili due cursori: uno per navigare tra le celle; l'altro per scrivere i comandi. Osservando la figura 330.1 si può notare che il cursore del foglio si trova sulla cella A0, alla cui destra appare il simbolo <. In condizioni normali, la cella è anche evidenziata con un colore adatto.
È interessante interpretare ciò che appare nella prima parte della prima riga dello schermo. Nel caso della figura, si vede:
A0 (10 2 0) []
Significa che il cursore si trova sulla cella A0, che il formato della cella è espresso in qualche modo dalle cifre «10 2 0» e che si il suo contenuto è nullo (è vuota). Il formato si interpreta nel modo schematizzato nella figura 330.2.
|
Il formato numerico espresso in questo modo, può essere definito solo su una colonna intera e non si può circoscrivere a un gruppo più limitato di celle. In un gruppo di celle è possibile intervenire successivamente per modificare la rappresentazione dei valori numerici, senza alterare la larghezza della colonna. |
Prima di descrivere i comandi di SC è bene sapere subito che un comando non completato può essere annullato premendo il tasto [Esc], anche più volte se necessario. |
In tutti gli applicativi per l'elaborazione di fogli elettronici, la zona è un rettangolo di celle che va da un minimo di una sola cella fino al massimo della dimensione del foglio. Per delineare questo rettangolo si indicano le coordinate di due celle che si trovano negli angoli opposti di questo rettangolo. Con SC si usano i due punti (verticali) per unire queste due coordinate.
Per esempio, A0:A0 è la zona che si riduce alla sola cella A0; A0:B1 è una zona di quattro celle totali, composta in pratica da A0, B0, A1 e B1. Di solito, salvo situazioni particolari, l'inversione nell'ordine delle coordinate e l'utilizzo degli altri due estremi non cambia il significato, per cui A0:B1 è uguale a B1:A0, così come è uguale a A1:B0 e a B0:A1.
In certe situazioni, quando si vuole sottolineare il fatto che si sta facendo riferimento a un intervallo di colonne, si usa una forma simile, in cui non appaiono le coordinate numeriche delle righe. per esempio, A:C rappresenta le colonne A, B e C. Nello stesso modo è possibile indicare un intervallo di righe; per esempio, 1:3 indica le righe 1, 2 e 3.
La navigazione all'interno del foglio potrebbe non essere così intuitiva come ci si aspetterebbe. Teoricamente, si possono usare i tasti freccia; in pratica, questo potrebbe non essere vero. Quando ci sono difficoltà bisogna affidarsi alla tradizione, ovvero al metodo di VI, con l'aggiunta di qualche altra possibilità. La tabella 330.1 riepiloga i comandi per lo spostamento del cursore nel foglio.
Bisogna considerare che per ottenere l'inserimento di un'informazione in una cella, occorre usare prima il comando apposito che permette di entrare nella fase di inserimento. Pertanto, la pressione «casuale» di un tasto si traduce quasi sempre in un comando. |
Tabella 330.1. Comandi principali per la navigazione tra le celle del foglio.
Comando | Alternativa | Spostamento |
h | Ctrl+b | A sinistra di una cella. |
j | Ctrl+n | In basso di una cella. |
k | Ctrl+p | In alto di una cella. |
l | Ctrl+f | A destra di una cella. |
Esistono anche una serie di comandi utili per raggiungere posizioni particolari in modo rapido. In particolare, può essere utile raggiungere solo celle che contengono già qualcosa (nella documentazione originale si parla di «celle valide»). La tabella 330.2 riepiloga altri comandi per lo spostamento nel foglio.
Tabella 330.2. Comandi speciali per la navigazione nel foglio.
Comando | Spostamento |
^ | Sulla prima riga della colonna attuale. |
# | Sull'ultima riga che contiene qualcosa, della colonna attuale. |
0 | Sulla prima colonna della riga attuale. |
$ | Sull'ultima colonna che contiene qualcosa, della riga attuale. |
b | Sulla cella precedente che contiene qualcosa. |
w | Sulla cella successiva che contiene qualcosa. |
gcoordinata | Sulla cella indicata dalla coordinata. |
L'aspetto più complicato per un principiante alle prese con questo applicativo è probabilmente la modifica del testo nella riga di comando. Ci sono varie situazioni in cui occorre inserire un'informazione; di solito si tratta di introdurre il valore di una cella, oppure si deve completare un comando specificando una zona, o altro. In queste situazioni, si accede alla parte superiore dello schermo, in quella che qui viene chiamata la riga di comando.
Quando il contesto porta a inserire qualcosa, tutto avviene come ci si potrebbe aspettare, inserendo normalmente il testo, dove il tasto [backspace] funziona regolarmente per cancellare. Tuttavia, la cosa non è così semplice come appare, perché si tratta di una riga che riconosce i comandi di VI: è sufficiente premere [Esc] per passare alla modalità di comando. La tabella 330.3 riepiloga le funzionalità più importanti della modalità di comando, quando si sta lavorando sulla prima riga dello schermo.
Tabella 330.3. Comandi disponibili quando si modifica qualcosa sulla prima riga dello schermo.
Comando | Descrizione |
i | Termina la modalità di comando e inizia l'inserimento. |
a | Termina la modalità di comando e inizia l'inserimento dopo il cursore. |
h | Va a sinistra di un carattere. |
l | Va a destra di un carattere. |
x | Cancella il carattere corrispondente al cursore. |
[Invio] | Conferma e conclude. |
L'avvio di questo programma è molto semplice. Sono disponibili alcune opzioni che hanno dei comandi corrispondenti in fase di funzionamento del programma.
sc [opzioni] [file]
La tabella 330.4 riepiloga le opzioni più importanti. Successivamente vengono mostrate altre tabelle contenenti la descrizione di comandi interattivi.
Tabella 330.4. Opzioni principali da dare all'avvio dell'eseguibile.
Opzione | Descrizione |
-r | Ricalcola per righe (predefinito). |
-c | Ricalcola per colonna. |
-m | Disabilita il ricalcolo automatico. |
-n | Inserimento numerico rapido. |
Durante il funzionamento sono disponibili due gruppi di comandi per modificare l'impostazione del programma. Si tratta di comandi che scambiano alcune modalità, attivandole o disattivandole, in funzione dello stato precedente, oppure di comandi che impostano in modo preciso. I comandi che scambiano le modalità iniziano con la combinazione [Ctrl+t] e seguono con un'altra lettera; i comandi di impostazione iniziano con la lettera S (maiuscola), che richiede poi l'inserimento di un comando scritto per esteso. Per esempio, la sequenza [Ctrl+t][a] attiva o disattiva la modalità di ricalcolo automatico; nello stesso modo, il comando [S] seguito da iterations=7 stabilisce che le iterazioni da eseguire per ricalcolare i valori delle espressioni devono essere sette. La tabella 330.5 riepiloga i comandi più importanti da impartire in questo modo.
Tabella 330.5. Alcuni comandi che modificano la modalità di funzionamento, distinguendo tra quelli di scambio, che iniziano con [Ctrl+t] e quelli di impostazione, che iniziano con [S].
È opportuno sottolineare che le impostazioni di esportazioni si riferiscono al comando T, con il quale si esporta il contenuto della tabella in un altro formato.
Questo tipo di elaboratore di fogli elettronici, distingue tra diversi contesti di funzionamento. Inizialmente ci si trova in una modalità di comando, dove molti dei tasti (lettere o numeri) possono rappresentare l'inizio di un comando. In base a questa logica, l'inserimento dei dati nelle celle deve essere preceduto da un comando apposito: " inizia l'inserimento di una cella che rappresenta un valore stringa; = inizia l'inserimento di una cella che rappresenta un valore numerico.
Tale premessa permette di comprendere che questo tipo di foglio elettronico è in grado di gestire soltanto due tipi di dati: stringhe e numeri (reali). Questi valori possono essere inseriti in forma costante, oppure si possono indicare delle espressioni che generano un risultato del tipo previsto.
L'uso del comando = o " porta il programma in un contesto di funzionamento particolare, in cui si digita l'espressione (costante o meno) sulla prima riga dello schermo, che mostra l'invito i> (insert).
i>
Tale digitazione è sottoposta al controllo che è già stato descritto in precedenza: è come se fosse stato iniziato un comando di inserimento con il programma VI, dal quale, se si preme il tasto [Esc] si passa alla modalità di comando relativa, che viene fatta notare attraverso l'invito e> (edit).
e>
Questo è riassunto nella tabella 330.3 che è già stata mostrata in precedenza. L'informazione viene memorizzata nella cella solo se si conclude l'inserimento con la pressione di [Invio]; pertanto, se si passa alla modalità di comando (attraverso il tasto [Esc]) e poi si preme nuovamente [Esc], si annulla l'inserimento.
L'inserimento di qualcosa in una cella, viene filtrato attraverso un comando di un linguaggio interno al foglio elettronico. Se si assegna una stringa, il comando è
label cella = {stringa_delimitata|espressione_stringa}
mentre se si assegna un valore numerico, il comando è
let cella = {costante_numerica|espressione_numerica}
Quando si inserisce un valore, bisogna fare attenzione a non modificare la parte iniziale del comando, a meno che si tratti di un'azione voluta.
Per modificare il contenuto di una cella, in generale è possibile cancellarlo prima, per poi inserire quello nuovo, dove la cancellazione si ottiene con il comando x. La modifica del contenuto richiede invece di passare a un contesto di funzionamento analogo a quello di inserimento, in cui però ci si trova inizialmente in modalità di modifica. In pratica, ci si trova subito di fronte all'invito e> e ci si deve comportare di conseguenza.
Per passare alla modifica del contenuto di una cella, si usano due comandi differenti, a seconda che si intenda modificare un valore stringa, E, o un valore numerico, e. Questo serve a cambiare il comando interno del foglio elettronico, che nel primo caso è label, mentre nel secondo è let. Tutto questo ha un significato che diventerà più chiaro in seguito, quando verrà descritto il formato in cui vengono salvati i dati.
Tabella 330.6. Comandi di inserimento e modifica dei valori delle celle. I comandi particolari che sono disponibili durante il contesto di modifica, sono già stati descritti in un'altra tabella.
Comando | Descrizione |
= | Inizia l'inserimento di un valore numerico. |
" | Inizia l'inserimento di un valore stringa (centrato). |
< | Inizia l'inserimento di un valore stringa a sinistra. |
> | Inizia l'inserimento di un valore stringa a destra. |
e | Inizia la modifica di un valore numerico. |
E | Inizia la modifica di un valore stringa. |
L'inserimento di una stringa, inizia con il comando ", che porta ad attivare la riga di comando sulla prima riga dello schermo. Supponendo di intervenire sulla cella A7, si ottiene questo:
i> label A7 = "_
Il cursore per la digitazione della stringa si trova subito dopo gli apici doppi che si vedono nell'esempio. Quello che si sta inserendo è un'istruzione del foglio elettronico, con la quale si assegna la stringa (label) alla cella A7. Si intuisce che gli apici doppi iniziali servono a delimitare una stringa costante. Supponendo di voler inserire la parola «ciao», si può procedere come di seguito:
i> label A7 = "ciao_
Alla fine, si può concludere la stringa con un altro apice doppio, oppure si può anche farne a meno. In ogni caso, al termine si conclude con un [Invio].
La stringa può essere collocata al centro della cella, a sinistra o a destra. Il comando " inizia l'inserimento di una stringa centrata; per l'allineamento a sinistra si usa il comando <; per l'allineamento a destra si usa il comando >. A questi comandi corrispondono altrettante istruzioni interne del foglio elettronico, che vengono generate automaticamente:
label cella = espressione
stringa centrata;
leftstring cella = espressione
stringa allineata a sinistra;
rightstring cella = espressione
stringa allineata a destra.
Fino a questo punto è stato mostrato l'inserimento di stringhe costanti. Per quanto riguarda le espressioni che generano un risultato stringa, bisogna considerare che l'apice doppio iniziale, inserito automaticamente, deve essere eliminato. Per esempio, se la cella A0 contiene una stringa, volendo fare riferimento al suo contenuto nella cella B3, si deve usare il riferimento alla cella A0, senza delimitazioni. In pratica, all'inizio si ha questa situazione:
i>
label B3 = "
Quindi, si cancella l'apice doppio e si inserisce l'espressione desiderata:
i>
label B3 = A0
[Invio]
Probabilmente, in una stringa costante è impossibile indicare un apice doppio; inoltre, si può usare una barra obliqua iniziale per ottenere la ripetizione della parte successiva, per tutta la larghezza della colonna. In pratica,
i>
label A10 = "\-=
[Invio]
si traduce in pratica nella cella nel modo seguente:
-=-=-=-=-=
L'inserimento di valori numerici non presenta situazioni particolari. Infatti, un valore numerico costante non richiede alcuna delimitazione, così come le espressioni che generano un risultato numerico. A questo proposito, si può valutare la possibilità di abilitare l'inserimento numerico rapido, con il comando [Ctrl+t][n], oppure attraverso l'opzione -n.
In generale, per coerenza, non è il caso di intervenire in questo modo; tuttavia, di fronte alla necessità di inserire un gran numero di costanti numeriche, può essere conveniente questo approccio.
La gestione del formato delle celle è piuttosto strana, per cui è necessario trattare l'argomento in modo particolare.
Per prima cosa occorre considerare la larghezza della colonna che viene determinata attraverso il comando f. Questo attende l'inserimento di tre valori numerici: la larghezza in caratteri, la quantità di cifre decimali e il tipo. Questa cosa è già stata anticipata nella figura 330.2, in cui è descritto dettagliatamente il significato dell'ultimo valore.
Per fare un esempio molto semplice, il formato 10 2 0, che è quello predefinito, rappresenta una colonna di 10 caratteri di larghezza, in cui i valori vengono rappresentati con due decimali, attraverso una notazione normale a virgola fissa. In pratica, in queste condizioni, si possono rappresentare numeri da -999999.99 a 9999999.99.
Anche la notazione scientifica e quella ingegnieristica, definite rispettivamente dal tipo uno e due, utilizzano l'informazione sulla quantità di decimali. Al contrario, il formato delle date (il numero tre), non dipende dalla quantità dei decimali.
In pratica, il comando f definisce il formato numerico generale di una colonna, cosa che si traduce anche nella definizione della larghezza della colonna stessa. Evidentemente, per quanto riguarda le stringhe, queste risentono solo della larghezza della cella e non delle altre informazioni. |
Nell'ambito di una sola cella, è possibile cambiare il formato generale della colonna attraverso il comando F, mentre per un gruppo di celle si usa il comando analogo /F. Questo richiede l'inserimento di una stringa speciale, composta da caratteri che servono a rappresentare un formato numerico. Il significato di questi simboli appare descritto nella tabella 330.7.
Tabella 330.7. Comandi per il controllo del formato delle colonne e della visualizzazione dei valori numerici.
Comando | Descrizione |
f larghezza decimali tipo | Formato generale della colonna. |
tipo: | |
0 | Virgola fissa. |
1 | Notazione scientifica. |
2 | Notazione ingegnieristica. |
3 | Data. |
F stringa_formato | Formato particolare della cella. |
# | Cifra numerica eventuale. |
0 | Cifra numerica fissa. |
. | Separatore decimale. |
, | Separatore delle migliaia. |
% | Inserisce il simbolo e mostra in forma di percentuale. |
\x | Tratta x in modo letterale. |
E+|e+ | Notazione scientifica. |
E-|e- | Notazione scientifica mostrando il segno solo quando negativo. |
; | Divide due formati per i valori positivi e i valori negativi. |
/F zona stringa_formato | Formato particolare di una zona di celle. |
Si possono osservare i comandi interni del foglio elettronico nel momento in cui si definisce il formato della colonna, oppure il formato specifico di un gruppo di celle. Nel primo caso si tratta dell'istruzione format:
format colonna larghezza decimali tipo
Nel secondo caso, l'istruzione si abbrevia:
fmt zona stringa_di_formato_delimitata
Nel seguito vengono mostrati alcuni esempi, cercando di riprodurre nel modo migliore possibile la situazione che si vede sullo schermo. Si deve tenere presente che l'istruzione interna del foglio elettronico viene generata automaticamente; quello che serve, semmai, è di fare attenzione a non cancellarla.
L'informazione che appare tra parentesi quadre nell'istruzione del foglio elettronico ([for column] e [format]), non fa parte dell'istruzione stessa. Viene collocata per facilitare all'utilizzatore la comprensione dell'azione che si sta compiendo. |
I comandi F e /F sono identici dal punto di vista del foglio elettronico, perché generano la stessa istruzione interna. Nel primo caso, la zona viene indicata automaticamente, riferendola alla cella corrente. |
[f]
i>
format [for column] A 15 3 0
[Invio]
Modifica il formato della colonna A, in modo da avere 15 caratteri di larghezza, riservando tre cifre per i decimali, mostrando valori a virgola fissa.
[f]
i>
format [for column] A 15 3 1
[Invio]
Come nell'esempio precedente, utilizzando però una notazione scientifica.
[F]
i>
fmt [format] A1 "########.000
[Invio]
Modifica il formato particolare della cella A1, in modo da rappresentare valori che vanno da un minimo di -9 999 999,999 a un massimo di 99 999 999,999.
[F]
i>
fmt [format] A2 "###%
[Invio]
Modifica il formato particolare della cella A1, in modo da rappresentare valori percentuali interi.
[F]
i>
fmt [format] A3 "########.000;\(########.000\)
[Invio]
Modifica il formato particolare della cella A3, in modo da rappresentare valori che vanno da un minimo di -99 999 999,999 a un massimo di 99 999 999,999. In particolare, i valori negativi sono rappresentati tra parentesi.
Per caricare o salvare il foglio, si interviene con comandi composti da una lettera, seguita dal nome del file e forse da altre indicazioni. Vengono descritti brevemente questi comandi.
G file_da_caricare
Il comando G sta per Get e permette di caricare un foglio elettronico che in precedenza era stato salvato su un file. Appena si preme la lettera G, si passa sulla parte superiore dello schermo a scrivere il nome di tale file, che deve essere conosciuto preventivamente, perché non viene dato alcun ausilio di ricerca:
i>
get ["source"] "prova
[Invio]
L'esempio mostra in pratica il completamento del comando per caricare il file prova
che si trova nella directory corrente.
M file_da_caricare
Il comando M sta per Merge e permette di caricare un altro foglio elettronico che vada a sommarsi a quanto appare già sullo schermo. In pratica, le celle che dovessero già contenere qualcosa, vengono sovrascritte, perdendo l'informazione precedente.
P [[file_da_salvare] zona]
Il comando P sta per Put e permette di salvare il foglio elettronico in un file. Appena si preme la lettera P, si passa sulla parte superiore dello schermo a scrivere il nome di tale file, che però non è necessario se in precedenza il foglio era già stato salvato.
i>
put ["dest" range] "prova
[Invio]
L'esempio mostra in pratica il completamento del comando per salvare il foglio nel file prova
. Se il nome era già stato stabilito in precedenza, è sufficiente premere [Invio] per confermare l'operazione con il nome precedente.
Volendo, è possibile salvare solo una parte del foglio elettronico, definendo le coordinate della zona a cui si è interessati.
i>
put ["dest" range] "prova-1" A0:F10
[Invio]
In questo caso, si vuole salvare la zona delimitata dalle coordinate A0:F10 nel file prova-1
. Si noti che in questo caso è stato necessario concludere la delimitazione del nome del file attraverso gli apici doppi finali.
W [[file_di_testo] zona]
Il comando W sta per Write e si comporta in modo analogo a P, con la differenza che genera un file di testo contenente la rappresentazione finale del foglio. In pratica, si tratta di una forma di esportazione che potrebbe essere diretta anche alla stampa.
i>
write ["dest" range] "| lpr" A0:F10
[Invio]
Con questo comando si vuole stampare la zona A0:F10, attraverso l'invio della stessa al comando lpr.
T [[file_da_esportare] zona]
Il comando T sta per Table e serve a esportare una zona, o tutto il foglio, in un formato differente, definito attraverso il comando S tblstyle, già descritto nella tabella 330.5. Il funzionamento è analogo ai comandi P e W.
Tabella 330.8. Comandi per la gestione dei file.
Comando | Descrizione |
G file | Carica il file. |
M file | Sovrappone il file al foglio attuale. |
P [file [zona]] | Salva il foglio o solo una zona particolare. |
W [file [zona]] | Salva (esporta) in formato testo. |
T [file [zona]] | Esporta in un altro formato. |
In generale, tutti i comandi che servono a salvare o a esportare dati, permettono l'indicazione di un file su disco, oppure di un comando del sistema operativo da alimentare attraverso una pipeline. In pratica, se il nome del file inizia con il simbolo |, si intende che si tratti di una pipeline.
Per qualche ragione, i comandi che intervengono su una zona rettangolare del foglio, iniziano tutti con la barra obliqua normale (/) e continuano con una lettera, dopo la quale, di solito, si è invitati a inserire la zona a cui si fa riferimento.
Da questo si intende che le coordinate delle zone vanno scritte sempre dopo aver iniziato il comando, nel modo che è già stato mostrato:
coordinata_iniziale:coordinata_finale
In alternativa, si può indicare il nome della zona, che eventualmente gli fosse stato assegnato in precedenza con il comando /d.
Il programma offre anche qualche accorgimento per facilitare l'inserimento delle zone, ma in generale non si tratta di soluzioni convenienti, per cui di solito è meglio usare la digitazione normale. La tabella 330.9 riepiloga brevemente i comandi principali di questo tipo, mentre nel seguito sono mostrati alcuni esempi, in cui si vede anche l'istruzione interna del foglio elettronico, che comunque viene generata automaticamente.
Tabella 330.9. Comandi per la gestione delle zone del foglio.
Comando | Descrizione |
/x zona | Cancella il contenuto delle celle nella zona indicata. |
/c zona_destinazione zona_origine | Copia una zona. |
/c zona_destinazione cella_origine | Copia una cella riempiendo una zona. |
/f zona_destinazione n_iniziale incremento | Riempie una zona di valori. |
/d stringa_nome zona | Assegna un nome a una zona di celle. |
/u zona | Cancella il nome assegnato alla zona in precedenza. |
/s | Mostra l'elenco delle zone che hanno un nome. |
/l zona | Impedisce la modifica della zona. |
/U zona | Libera la zona indicata che così può essere modificata. |
/F zona stringa_formato | Assegna un formato a una zona di celle. |
[/][x]
i>
erase A0:F20
[Invio]
Elimina il contenuto delle celle che si trovano nella zona delimitata da A0:F20.
[/][c]
i>
copy A0:A7 D0:D7
[Invio]
Copia la zona D0:D7 in A0:A7.
[/][c]
i>
copy A0:A7 D0
[Invio]
Copia la cella D0 in tutta la zona A0:A7.
[/][f]
i>
fill B0:B7 10 2
[Invio]
Riempie le celle della zona B0:B7 a partire dal numero 10, per continuare con numeri che si incrementano di due unità ogni volta.
[/][d]
i>
define "elenco" B0:B7
[Invio]
Assegna alla zona B0:B7 il nome elenco.
[/][s]
Mostra l'elenco delle zone che hanno un nome, inviando l'elenco sotto il controllo di Less o di un altro programma analogo secondo quanto indicato nella variabile di ambiente PAGER. Per uscire dalla visualizzazione, occorre usare i comandi di quel programma. Con Less basta premere la lettera q.
[/][F]
i>
fmt B0:B7 "####.0000"
[Invio]
Assegna alla zona B0:B7 il formato ####.0000.
Una volta entrati nell'idea di funzionamento di questo tipo di foglio elettronico, le cose non sono più tanto difficili e può essere utile sfruttare qualche accorgimento che facilita l'inserimento di coordinate riferite a celle o zone. Nel momento in cui ci si trova nella fase di inserimento, nella prima riga dello schermo, sono disponibili alcuni comandi. In particolare i comandi [Ctrl+b], [Ctrl+n], [Ctrl+p] e [Ctrl+f] sono ancora disponibili, per evidenziare una zona nel foglio sottostante.
Usando questi comandi, la zona evidenziata diventa la zona «predefinita», che si può inserire automaticamente con il tasto [Tab]. Bisogna provare un po' e poi si comprende il senso di questo.
Tabella 330.10. Comandi speciali disponibili durante la digitazione nella prima riga dello schermo.
Comando | Effetto |
Ctrl+b | Back, estende a sinistra la zona predefinita. |
Ctrl+n | Next, estende in basso la zona predefinita. |
Ctrl+p | Previous, estende in alto la zona predefinita. |
Ctrl+f | Forward, estende a destra la zona predefinita. |
Tab | Inserisce la zona predefinita nella riga. |
Ctrl+v | Inserisce la cella corrente nella riga. |
Le espressioni del foglio elettronico vengono descritte in seguito. Tuttavia, in questa fase è importante rendersi conto della rappresentazione delle celle e delle zone di celle, che in pratica sono le variabili di un foglio elettronico.
Quando un'espressione contiene un riferimento a una cella o a una zona, se questa cella viene copiata in un'altra posizione, questi riferimenti vengono modificati in modo relativo. Per esempio, se la cella A0 contiene un riferimento alla cella B1, copiando la cella A0 in C2, il riferimento interno alla cella C2 sarà alla cella D3. Per indicare un riferimento assoluto, si aggiunge nelle coordinate il simbolo $, davanti alla componente che si vuole «bloccare». Si osservino gli esempio seguenti:
X4 riferimento relativo alla cella X4;
$X$4 riferimento assoluto alla cella X4;
$X4 riferimento alla cella X4, dove la colonna è un'informazione assoluta, mentre la riga rimane un'indicazione relativa;
X$4 riferimento alla cella X4, dove la riga è un'informazione assoluta, mentre la colonna rimane un'indicazione relativa;
Nelle sezioni precedenti sono stati esclusi alcuni comandi. In particolare non è ancora stato spiegato come si termina il lavoro con questo programma: ciò si ottiene con [Q], [q], oppure [Ctrl+c]; se il foglio attuale non è stato salvato viene chiesto se si vogliono salvare i dati, oppure se si intende rinunciare. La tabella 330.11 riepiloga questi comandi.
Tabella 330.11. Comandi vari.
Comando | Descrizione |
Q | Conclude il funzionamento del programma. |
q | " |
Ctrl+c | " |
Esc | Annulla il comando in corso. |
Ctrl+g | " |
Ctrl+l | Ridisegna lo schermo. |
Ctrl+r | Evidenzia le celle che contengono costanti numeriche. |
Ctrl+x | Evidenzia le celle che contengono espressioni. |
@ | Ricalcola le espressioni. |
m | Copia il contenuto della cella in un'area transitoria. |
c | Incolla il contenuto dell'area transitoria nella cella corrente. |
+ | In condizioni normali, incrementa il valore numerico della cella. |
- | In condizioni normali, decrementa il valore numerico della cella. |
[Invio] | Passa all'inserimento di un'istruzione libera. |
? | Mostra la guida interna. |
Le celle del foglio sono fatte per contenere delle espressioni. Queste possono essere semplicemente dei valori costanti, numerici o stringa, oppure può trattarsi di qualcosa di più complesso. Le espressioni si ottengono attraverso l'uso di operatori e anche attraverso funzioni che hanno la caratteristica di iniziare con il simbolo @. Nel seguito vengono mostrate alcune tabelle che riassumono gli operatori e le funzioni di uso più comune. Resta sempre la documentazione originale per conoscere le altre possibilità a disposizione.
Si può osservare che è possibile rappresentare un risultato booleano. In pratica, Vero corrisponde al valore numerico uno; Falso corrisponde al valore numerico zero. |
Le espressioni possono essere raggruppate attraverso l'uso di parentesi tonde, più o meno annidate.
Tabella 330.12. Elenco degli operatori utilizzabili in presenza di valori numerici e logici.
Espressioni | Descrizione |
-op | Inverte il segno dell'operando. |
op1+op2 | Somma i due operandi. |
op1-op2 | Sottrae dal primo il secondo operando. |
op1*op2 | Moltiplica i due operandi. |
op1/op2 | Divide il primo operando per il secondo. |
op1%op2 | Modulo: il resto della divisione tra il primo e il secondo operando. |
op1^op2 | Eleva il primo operando alla potenza del secondo. |
op1<op2 | Vero se il primo operando è minore del secondo. |
op1>op2 | Vero se il primo operando è maggiore del secondo. |
op1<=op2 | Vero se il primo operando è minore o uguale al secondo. |
op1>=op2 | Vero se il primo operando è maggiore o uguale al secondo. |
op1=op2 | Vero se gli operandi si equivalgono. |
op1!=op2 | Vero se gli operandi sono differenti. |
~op | NOT, inversione logica. |
op1&op2 | AND logico. |
op1|op2 | OR logico. |
op1?op2:op3 | Restituisce il secondo operando se il primo è Vero, altrimenti il terzo. |
Tabella 330.13. Elenco di alcuni operatori e di alcune funzioni che hanno a che fare con le stringhe.
Espressioni | Descrizione |
str1 # str2 | Concatena le due stringhe. |
@substr(str1,n,m) | La sottostringa dalla posizione n per m caratteri. |
@fmt(stringa_printf,n) | Converte un numero in stringa, in base al formato indicato. |
@upper(str1) | Converte in maiuscolo. |
@capital(str1) | La prima lettera di ogni parola in maiuscolo. |
@eqs(str1,str2) | Vero se le due stringhe sono uguali. |
Tabella 330.14. Elenco di alcune funzioni che intervengono su zone.
Espressioni | Descrizione |
@sum(zona) | Sommatoria dei valori della zona. |
@prod(zona) | Prodotto dei valori delle celle. |
@avr(zona) | Media aritmetica di tutti i valori validi. |
@count(zona) | Quantità di celle contenenti valori validi. |
@max(zona) | Valore massimo. |
@min(zona) | Valore minimo. |
Tabella 330.15. Elenco di alcune funzioni matematiche comuni.
Tabella 330.16. Elenco di alcune funzioni relative a date e orari.
Espressioni | Descrizione |
@now | Tempo attuale in secondi (dal riferimento del 31 dicembre 1969). |
@dts(mese,giorno,anno) | Tempo in secondi corrispondente alla data fornita. |
@tts(ore,minuti,secondi) | Orario in secondi a partire dalla mezzanotte. |
@date(tempo_in_secondi) | Restituisce la data corrispondente in forma di stringa. |
@year(tempo_in_secondi) | Restituisce l'anno. |
@month(tempo_in_secondi) | Restituisce il mese. |
@day(tempo_in_secondi) | Restituisce il giorno. |
@hour(orario_in_secondi) | Restituisce l'ora. |
@minute(orario_in_secondi) | Restituisce i minuti. |
@second(orario_in_secondi) | Restituisce i secondi. |
I file gestiti da SC sono file di testo contenenti direttive del linguaggio interno al foglio elettronico. Per fare un esempio iniziale, basti pensare a un foglio in cui siano state assegnate solo le celle A0 e B1, come si vede nell'esempio:
A B C D E F G 0 123.00 1 ciao <
In pratica, la cella A0 contiene il numero 123, mentre la cella B1 contiene la stringa ciao. Tutto il resto si considera inutilizzato. Salvando questo lavoro in un file, si ottiene ciò che segue:
# This data file was generated by the Spreadsheet Calculator. # You almost certainly shouldn't edit it. let A0 = 123 label B1 = "ciao" goto B1
Si intuisce che le righe che iniziano con il simbolo #, assieme a quelle che sono bianche o semplicemente vuote, vengono ignorate. Tutto il resto viene definito in forma di direttiva, corrispondente a istruzioni del foglio elettronico. In particolare, è stata anche memorizzata la posizione del cursore, che si presume si trovasse sulla cella B1.
Nell'ambito delle direttive, ciò che appare racchiuso tra parentesi quadre viene considerato un commento; di conseguenza viene ignorato. Per esempio, se si modifica il file a mano, nel modo seguente,
# This data file was generated by the Spreadsheet Calculator. # You almost certainly shouldn't edit it. let [ciao ciao] A0 = 123 label B1 = "ciao" [ciao ciao] goto B1
tutto funziona regolarmente, senza che queste cose influiscano.
Negli esempi che sono già stati mostrati nel capitolo, al riguardo di queste istruzioni interne del foglio elettronico, sono già apparse indicazioni tra parentesi quadre, usate per suggerire all'utente le informazioni da inserire. Evidentemente, tali indicazioni non fanno parte delle istruzioni.
La tabella 330.17 riepiloga le istruzioni principali del foglio elettronico, con le quali si può realizzare direttamente un file per SC. Altre istruzioni possono essere individuate semplicemente osservando il comportamento di questo programma.
Tabella 330.17. Alcune istruzioni interne del foglio elettronico, utili per la realizzazione diretta dei suoi file.
Espressioni | Descrizione |
let cella = espr_num | Assegna alla cella un'espressione numerica. |
label cella = espr_str | Assegna alla cella un'espressione stringa. |
format colonna = larghezza decimali tipo | Modifica il formato di una colonna. |
fmt zona str_formato | Modifica il formato di una zona. |
set byrows | Ricalcola per righe. |
set bycols | Ricalcola per colonne. |
set iterations = n_iterazioni | Iterazioni per il ricalcolo. |
set tblstyle = stile | Definisce lo stile di esportazione delle tabelle. |
set autocalc | Ricalcola automaticamente. |
set !autocalc | Non ricalcola automaticamente. |
set numeric | Inserimento numerico rapido. |
set !numeric | Inserimento numerico normale. |
set cellcur | Evidenzia la cella corrente. |
set !cellcur | Non evidenzia la cella corrente. |
set toprow | Mostra le informazioni sulla prima riga. |
set !toprow | Non mostra le informazioni sulla prima riga. |
goto cella | Porta il cursore sulla cella indicata. |
daniele @ swlibero.org
Dovrebbe essere possibile fare riferimento a questa pagina anche con il nome spreadsheet_calculator.html
[successivo] [precedente] [inizio] [fine] [indice generale] [violazione GPL] [translators] [docinfo] [indice analitico]