Questo testo fornisce una breve panoramica del programma spreadsheet‭ `‬slsc‭' ‬che è derivato dal spreadsheet‭ `‬sc‭' ‬di pubblico dominio.‭ 1 Introduzione SLSC è derivato dallo spreadsheet‭ `‬sc'‭ ‬di pubblico dominio.‭ ‬Con l'eccezione di parti interne dello spreadsheet,‭ la maggior parte di esso è stata completamente riscritta.‭ ‬In particolare,‭ ‬l'interfaccia utente è completamente differente ed ora lo spreadsheet è personalizzabile per adattarsi a compiti differenti‭ (‬Vedere‭ `‬Personalizzazione‭')‬. ‎ L'interfaccia utente è stata sviluppata per lavorare molto come un editor di testo.‭ ‬Questo significa che la maggior parte dei comandi funziona sia su singole celle che su regioni.‭ ‬Come un comune editor di testo,‭ ‬una regione è definita attraverso una cella contenete una marcatura e la cella contenente il punto corrente.‭ (‬Vedere‭ `‬Regioni‭' ‬per più informazioni‭)‬. Diversamente da un editor di testo,‭ ‬che può essere pensato di operare su di un flusso di caratteri a una dimensione,‭ ‬uno spreadsheet è una fila di celle a due dimensioni.‭ ‬Questa dimensionalità extra si ottiene nel modo quando si tenta di interagire con lo spreadsheet come un editor di testo.‭ Per preservare il più possibile l'analogia con un editor di testo,‭ ‬lo spreadsheet SLSC può essere pensato in ogni uno dei tre modi: un flusso di righe, un flusso‭ ‬di colonne, un'impostazione di blocchi‭ Per questo motivo,‭ ‬SLSC opera in uno dei tre modi:‭ ``‬Row‭''‬,‭ ``‬Column‭''‬,‭ ‬o‭ ``‬Block‭''‬.‭ ‬Il modo corrente è indicato nell'angolo destro della parte più alta dello schermo.‭ ‬I comandi che operano sulle regioni sono dipendenti dal modo corrente.‭ Questi includono:‭ range deletion‭ (‬eliminare‭)‬,‭ hiding‭ (‬nascondere‭)‬,‭ moving‭ (‬muovere‭)‬,‭ copying‭ (‬copiare‭)‬,‭ ecc...‭ (‬Vedere‭ `‬Modi‭' ‬per più informazioni‭)‬. Sebbene tutta la potenza di SLSC è disponibile dalla tastiera,‭ ‬è stata implementata una semplice interfaccia a menu,‭ ‬modellata su di uno spreadsheet assai popolare. Questa interfaccia è disponibile premendo il tasto‭ `‬/‭' (‬shift+7‭)‬. 1 Colori Per usare i colori con SLSC,‭ ‬avviare SLSC con il parametro della riga di comando‭ ‬-C,‭ ‬per esempio: ‎ slsc‎ ‏-C mio_spreadsheet.sc ‎ Vedere‭ `‬Personalizzazione‭' ‬per informazioni riguardo l'impostazione dei colori. 1 Menù Per accedere ai menu,‭ ‬premere il tasto‭ `‬/‭'.‭ ‬Nella parte più alta dello schermo,‭ ‬si vedrà una lista di elementi di menu.‭ ‬Alcuni di questi elementi‭ (‬per esempio File‭) ‬portano ad altri menu.‭ Ci sono due modi per selezionare un elemento di menu:‭ 1.‎ ‏Usare i tasti freccia per muoversi da un elemento all'altro.‭ ‬ Poi premere il tasto INVIO per selezionare l'elemento corrente. 2.‎ ‏Premere la prima lettera dell'elemento di menu. La Barra Spaziatrice può essere usata per ritornare al livello di menu precedente. ‎ 1 Modi Ci sono tre modi:‭ ‬Row‭ (‬riga‭)‬,‭ ‬Column‭ (‬colonna‭)‬,‭ ‬Block‭ (‬blocco‭)‬.‭ ‬Il modo corrente è indicato sulla linea di stato,‭ ‬nell'angolo destro nella parte più alta dello spreadsheet.‭ ‬Dal modo selezionato dipende il modo in cui una regione è definita e come il campo delle funzioni opera sulla regione.‭ ‎ Nel modo‭ `‬Row‭'‬,‭ ‬le regioni sono una serie di righe.‭ Nel modo‭ `‬Column‭'‬,‭ ‬c'è semplicemente una serie di colonne. Il modo‭ `‬Block‭' ‬è più complesso e,‭ ‬diversamente dagli altri modi,‭ ‬è a due dimensioni. ‎ Dopo che un elemento è inserito in una cella,‭ ‬entrambe la riga o la colonna saranno incrementate dipendentemente dal modo selezionato. Il modo può essere impostato usando il menu‭ `‬toggle‭'‬. 1 Regioni Una regione è definita da un‭ `‬Mark‭' (‬marcatura‭) ‬e dalla cella corrente così come dal modo corrente‭ (‬Vedere‭ `‬Modi‭')‬.‭ ‬La regione può essere copiata a un paste buffer per uso successivo o eliminata al paste buffer.‭ L'impostazione del Mark e il movimento da una cella ad un'altra attraverso i tasti del cursore,‭ ‬definisce una regione.‭ ‬La definizione di una regione può essere abortita attraverso il carattere di Abort Ctrl-G. ‎ 2 Copiare Copia la regione al paste buffer.‭ ‬Questa operazione non modifica la regione.‭ Il contenuto nel paste buffer sarà sovrascritto da questa operazione. ‎ 2 Incollare Inserisce il contenuto del paste buffer nello spreadsheet.‭ ‬Nei modi ROW e COLUMN lo spreadsheet si espanderà per permettere l'aggiunta delle nuove celle.‭ ‬Tuttavia,‭ ‬nel modo BLOCK,‭ ‬il blocco eliminato sarà sovrascritto.‭ ‬Se questo non è l'effetto desiderato,‭ ‬inserire semplicemente delle righe e delle colonne sufficienti per permettere l'inserimento del blocco. ‎ 2 Rimuovere‭ (‬eliminare‭) L'eliminazione di una regione la rimuove dallo spreadsheet e mette una copia della regione nel paste buffer,‭ ‬distruggendo i dati precedenti nel paste buffer. Nei modi ROW e COLUMN,‭ ‬la regione è eliminata e lo spreadsheet si riorganizzerà automaticamente per riempire la zona vuota.‭ ‬Tuttavia,‭ ‬nel modo BLOCK,‭ ‬la regione sarà semplicemente svuotata. ‎ 2 Nascondere‭ (‬hiding‭) Questo comando tiene nascosta una regione di righe o colonne ma presente comunque nello spreadsheet.‭ ‬Lo stato delle righe e delle colonne è salvato con lo spreadsheet così le righe e le colonne saranno ancora nascoste quando lo spreadsheet sarà caricato.‭ ‬Le righe e le colonne nascoste non sono stampate quando lo spreadsheet è salvato nel formato‭ `‬stampabile‭'‬. ‎ 2 Mostrare‭ (‬Showing‭) Inserire un campo di righe‭ (‬o colonne‭) ‬per essere mostrati.‭ ‬E‭' ‬predefinito il primo campo di righe‭ (‬o colonne‭) ‬correntemente nascosto. 1 File SLSC può salvare un file in due differenti formati:‭ nativo e stampabile. Il formato stampabile è semplicemente una esatta rappresentazione di testo di ciò che è visibile sullo schermo.‭ ‬Se si desidera ottenere una stampa dello spreadsheet,‭ ‬dovrebbe essere usato questo formato. Il formato nativo dovrebbe essere selezionato ogni volta che si desidera salvare l'intero spreadsheet per usi successivi.‭ ‬Questo è il comportamento predefinito.‭ 1 Stampare‭ (‬Printing‭) Si può stampare il proprio spreadsheet in almeno due modi: ‎ 1.‎ ‏Usare il comando‭ `‬print‭' ‬di slsc‭ (‬dal menu file‭)‬. ‎ 2. Salvare lo spreadsheet nel formato `printable' e stampare il file di testo risultante. ‎ Se si usa il primo metodo,‭ ‬sarà necessario impostare la stampante.‭ ‬Si spera che il proprio amministratore di sistema abbia già fatto questo.‭ ‬Altrimenti,‭ ‬si dovrà aggiungere una linea come: ‎ set printer‎ "|‏lpr‭" al file di sistema‭ `‬slsc.rc‭' ‬o nel proprio file personale‭ ‬$HOME/.slscrc. ‎ 1 Modificare‭ (‬Editing‭) Il tasto TAB può essere usato per iniziare a modificare la definizione della cella corrente. I valori delle celle sono definiti e modificati nella linea più alta dello schermo.‭ ‬I tasti freccia sinistro e destro possono essere usati per modificare le espressioni.‭ ‬I tasti freccia su e giù permettono di richiamare rapidamente e modificare i dati precedentemente inseriti.‭ ‬La combinazione di tasti Ctrl-G può essere usata per abortire una definizione e lasciare la cella inalterata.‭ Premendo il tasto BACKSPACE si provocherà l'eliminazione del contenuto della cella dopo aver dato la conferma. 1 Personalizzazione Se il file‭ ‬.slscrc è presente della directory‭ ‬$HOME degli utenti,‭ ‬sarà caricato con SLSC al momento dell'avvio.‭ ‬Questo file può essere utilizzato per personalizzare SLSC.‭ ‬Tipicamente,‭ ‬esso contiene linee che specificano l'associazione tasti,‭ ‬colori,‭ ‬ecc‭ ‬...‭ Vedere anche‭ `‬Stampare‭' ‬per le informazioni sull'impostazione della stampante. Il carattere‭ `‬%‭' ‬è usato come un carattere di commento.‭ 2 Tasti L'associazione a un tasto è realizzata attraverso la funzione‭ `‬setkey‭'‬.‭ ‬La sintassi è: ‎ setkey‎ `‏funzione‭' "‬nometasto‭" Per esempio,‭ ‬per associare‭ `‬Ctrl-X‭ ‬2‭' ‬alla funzione‭ `‬sc_dup‭'‬,‭ ‬usare: ‎ setkey sc_dup‎ "^‏X2‭" E‭' ‬possibile de-impostare un tasto usando la funzione‭ `‬unsetkey‭' ‬.‭ ‬Questa funzione prende un singolo argomento: ‎ unsetkey‎ "‏nome tasto‭" 3 Funzioni Le seguenti funzioni possono essere usate nelle definizioni dei tasti. ‎ suspend ‎ insert_char ‎ insert_number ‎ left_string ‎ right_string ‎ center_string ‎ up ‎ right ‎ left ‎ down ‎ exit ‎ define_cell ‎ find_file ‎ paste ‎ write_file ‎ copy_region ‎ delete_region ‎ ‎3 Nome tasto Un nome tasto deve essere rinchiuso tra due virgolette.‭ ‬Il carattere‭ `^' ‬può essere usato per rappresentare il tasto‭ `‬Ctrl‭'‬.‭ ‬Inoltre,‭ `\‬e‭' ‬può essere usato per rappresentare il tasto ESC.‭ ‬Quindi,‭ "^‬X\e‭" ‬significa Ctrl-X ESC. Vedere‭ `‬Esempi‭' ‬per più informazioni. ‎ 2 Colori‭ SLSC permette all'utente di controllare il colore di vari oggetti.‭ ‬La sintassi è:‭ set color‎ `‏oggetto‭' `‬colore-primo piano‭' `‬colore-sfondo‭' L'oggetto può essere uno dei seguenti: ‎ label‎ ‏lettera di colonna e numero di riga ‎ number valore numerico della cella (cella costante) string‎ ‏valore testuale di una cella ‎ region campo selezionato di righe o colonne ‎ expression cella che contiene una formula visibile ‎ formula cella che contiene una formula (cella calcolata) mode‎ ‏indicatore di modo‭ (‬in alto a sinistra dello schermo‭) cell‎ cella corrente ‎ menu elemento di menu correntemente selezionato ‎ normal ogni altra cosa I colori di primo piano e dello sfondo possono essere ogni uno dei seguenti: ‎ black (nero) white (bianco) blue (blu) red (rosso) yellow‎ (‏giallo‭) ‬green‭ (‬verde‭) ‬brown‭ (‬marrone‭) ‬gray‭ (‬grigio‭) magenta‎ (‏viola‭) ‬cyan‭ (‬celeste‭) ‬lightgray‭ ‬brightred ‎ brightgreen brightblue brightmagenta brightcyan Vedere anche‭ `‬Mono‭' ‬per impostare i‭ ``‬colori‭'' ‬su di un terminale monocromatico. 1 Funzioni Le funzioni sono divise in due tipi di categorie a seconda se la funzione opera su di una singola cella‭ (‬simple‭) ‬o su di un campo di celle‭ (‬range‭)‬. 2 Simple Tutte queste funzioni operano su numeri a punto flottante‭ (‬doppio‭) ‬e restituiscono un valore‭ numerico.‭ ‬La maggior parte di queste sono funzioni standard del sistema pienamente descritte in math‭(‬3‭)‬.‭ ‬Le funzioni trigonometriche operano con angoli in radianti. ‎ @sqrt(e) Restituisce la radice quadrata di e. @exp(e‎) Restituisce la funzione esponenziale di e. @ln(e) Restituisce il logaritmo naturale di e. ‎@log(e) Restituisce il logaritmo in base‭ ‬10‭ ‬di e. @floor(e) Return the largest integer not greater than e. @ceil(e) Return the smallest integer not less than e. @rnd(e) Round e to the nearest integer.‭ ‬default:‭ ‬round-to-even‭ (‬banker's round‭)‬,‭ *‬.5‭ ‬will round to the closest even number‭; '‬set rndinfinity‭' ‬will round‭ *‬.5‭ ‬up to the next integer. @round(e,n‎) Round e to n decimal places.‭ ‬n may be positive to round off the right side of the decimal,‭ ‬and negative to round off the left side.‭ ‬See‭ @‬rnd(e‭) ‬above for rounding types. @abs(e) @fabs(e‎) Restituisce il valore assoluto di e. ‎@pow(e1,e2) Return e1‭ ‬raised to the power of e2. ‎@hypot(e1,e2) Return sqrt(e1‭*‬e1+e2‭*‬e2‭)‬,‭ ‬taking precautions against unwarranted overflows. pi@pi‭ A constant quite close to pi. @dtr(e) Converte e da gradi a radianti. @rtd(e) Converte e da radianti a gradi. ‎ @sin(e) @cos(e‎) @tan(e‎) Restituisce‭ (‬valori di‭) ‬funzioni trigonometriche di argomenti in radianti.‭ ‬L'ampiezza degli argomenti non è verificata per assicurare risultati significativi. ‎ @asin(e‎) Return the arc sine of e‭ ‬in‭ ‬the‭ ‬range‭ ‬-pi/2‭ ‬to pi/2. @acos(e) Return‭ ‬the arc cosine of e in the range‭ ‬0‭ ‬to pi. ‎@atan(e) Return the arc tangent of e in the range‭ ‬-pi/2‭ ‬to pi/2. ‎ @atan2‎(‏e1,e2‭) Returns‭ ‬the arc tangent of e1/e2‭ ‬in the range‭ ‬-pi to pi. ‎ @max(e1,e2,...‎) Restituisce il valore massimo dei valori dell'espressione.‭ ‬Possono essere specificate due o più espressioni.‭ ‬Vedere anche la versione del campo di‭ @‬max sopra. ‎ @min(e1,e2,...) Restituisce il minimo dei valori dell'espressione.‭ Possono essere specificate due o più espressioni‬.‭ Vedere anche la versione del campo di @‬min sopra. ‎ @ston(se) Converte l'espressione di stringa se a un valore numerico. @eqs(se1,se2) Restituisce‭ ‬1‭ se l'espressione di stringa‬ se1‭ ‬ha lo stesso valore dell'espressione di stringa se2,‭ altrimenti restituisce ‬0. ‎ @nval(se,e) Restituisce il valore numerico di una cella selezionata dal nome.‭ ‬String expression se must evaluate to a column name‭ (``‬A‭''‬-‭``‬AE‭'') ‬and e must evaluate to a row number‭ (‬0-199‭)‬.‭ ‬If se or e is out of bounds,‭ ‬or the cell has no numeric value,‭ ‬the result is‭ ‬0.‭ ‬You can use this for simple table lookups.‭ ‬Be sure the table doesn't move unexpectedly‭! Vedere‬ anche‭ @‬sval‭() ‬below. 2 Range Queste funzioni restituiscono valori numerici. 3 ‎@sum Syntax:‭ @‬sum(r‭) Somma tutte le entrate valide ‭(‬non vuote‭) nella ‬regione i cui due angoli sono definiti da due nomi di variabile ‭(‬per esempio c5:e14‭) ‬o il nome del campo specificato. 3 ‎@prod Syntax:‭ @‬prod(r‭) Moltiplica insieme tutte le entrate valide (non vuote‭) nella regione specificata‬. ‎3 @avg Syntax:‭ @‬avg(r‭) Esegue la media di tutte le entrate valide‭ (‬non vuote‭) nella regione‬ specificata. ‎3 @count Syntax:‭ @‬count(r‭) Count all valid‭ (‬nonblank‭) ‬entries in the specified region. ‎3 @max Syntax:‭ @‬max(r‭) Return the maximum value in the specified region.‭ ‬See also the multi argument version of‭ @‬max below. 3 ‎@min Syntax:‭ @‬min(r‭) Return the minimum value in the specified region.‭ ‬See also the multi argument version of‭ @‬min below. ‎3 @stddev Syntax:‭ @‬stddev(r‭) Return the sample standard deviation of the cells in the specified region. ‎3 @lookup Syntax:‭ @‬lookup(se,r‭) Evaluates the expression then searches through the range r for a matching value.‭ ‬The range should be either a single row or a single column.‭ ‬The expression can be either a string expression or a numeric expression.‭ ‬If it is a numeric expression,‭ ‬the range is searched for the the last value less than or equal to e.‭ ‬If the expression is a string expression,‭ ‬the string portions of the cells in the range are searched for an exact string match.‭ ‬The value returned is the numeric value from the next row and the same column as the match,‭ ‬if the range was a single row,‭ ‬or the value from the next column and the same row as the match if the range was a single column. 3 ‎@hlookup Syntax:‭ @‬hlookup(se,r,n‭) Evaluates the expression then searches through the first row in the range r for a matching value.‭ ‬The expression can be either a string expression or a numeric expression.‭ ‬If it is a numeric expres- sion,‭ ‬the row is searched for the the last value less than or equal to e.‭ ‬If the expression is a string expression,‭ ‬the string portions of the cells in the row are searched for an exact string match.‭ ‬The value returned is the numeric value from the same column n rows below the match. ‎3 @vlookup Syntax:‭ @‬vlookup(se,r,n‭) Evaluates the expression then searches through the first column in the range r for a matching value.‭ ‬The expression can be either a string expression or a numeric expression.‭ ‬If it is a numeric expression,‭ ‬the column is searched for the the last value less than or equal to e.‭ ‬If the expression is a string expression,‭ ‬the string portions of the cells in the column are searched for an exact string match.‭ ‬The value returned is the numeric value from the same row n columns to the right of the match. ‎3 @index Syntax:‭ @‬index(e,r‭) Use the value of the expression e to index into the range r.‭ ‬The numeric value at that position is returned.‭ ‬The value‭ ‬1‭ ‬selects the first item in the range,‭ ‬2‭ ‬selects the second item,‭ ‬etc.‭ ‬R should be either a single row or a single column. ‎3 @stindex Syntax:‭ @‬stindex(e,r‭) Use the value of e to index into the range r.‭ ‬The string value at that position is returned.‭ ‬The value‭ ‬1‭ ‬selects the first item in the range,‭ ‬2‭ ‬ selects the second item,‭ ‬etc.‭ ‬The range should be either a single row or a single column. 1 Formule Le formule possono essere di due tipi:‭ ‬numerica e stringa.‭ ‬Un formula è inserita dentro una cella premendo il tasto eguale‭ (=)‬. ‎ 2 Espressioni Numeriche Le espressioni numeriche usate con il comando‭ `=' ‬ hanno una sintassi abbastanza convenzionale. I termini possono essere costanti, nomi variabili, espressioni tra parentesi, e termini negati.‭ I campi possono essere operare sopra ‬Ranges may be operated upon with range functions such as sum‭ (@‬sum‭()) ‬and average‭ (@‬avg‭())‬. I termini possono essere combinati usando gli operatori binari. ‎ -e Negazione. ‎ e+e Addizione. ‎ e-e Sottrazione. ‎ e*e Moltiplicazione. ‎ e/e Divisione. ‎ e1%e2 e1 mod e2. ‎ e^e Exponentiation. ‎ e=e ‎ e>e Relazionali:‭ ‬true‭ (‬1‭) ‬if and only if the indicated relation holds,‭ ‬else false‭ (‬0‭)‬.‭ Note that‭ ``<=''‬,‭ ``!=''‬,‭ ‬and‭ ``>='' ‬are converted to‭ ‬their‭ ``~()'' ‬equivalents. ‎ ~e Boolean operator NOT. ‎ e&e Boolean operator AND. ‎ e|e Boolean operator OR. ‎ @if(e,e,e) e?e:e‎ Condizionali:‭ Se la prima espressione è vera allora il valore della seconda è restituito , altrimenti è restituito il valore della terza. ‬If the first expression is true then the value of the second is returned,‭ ‬otherwise the value of the third.‭ ‬Operator precedence from highest to lowest is: ‎ -, ~ ^ *,‎ ‏/ ‎ +, - ‎ <, <=, =, !=, >=, > & | ?: 1 Variabili Normalmente,‭ ‬un nome di una variabile è solo il nome di una cella,‭ ‬come K20.‭ ‬ Il valore di una variabile è il valore numerico o il valore della stringa della cella,‭ ‬secondo il contesto. Quando una espressione di una cella (formula) è copiata in un'altra locazione, i riferimenti della variabile sono, in modo predefinito compensati, dall'ammontare della formula spostata. Questo permette alla nuova formula di lavorare sui nuovi dati. Se i riferimenti della cella non sono da cambiare, si può usare una delle seguenti variazioni sul nome della cella: K20‭ Riferimenti alla cella‬ K20‭; il riferimento cambia quando la formula è copiata. $K$20‎ Si riferisce sempre alla cella ‏K20‭; il riferimento rimane fissato quando la formula è copiata‬. $K20‎ Tiene la colonna fissata alla colonna ‏K‭; la riga è libera di variare‬. K$20‭ ‬Similare,‭ questo fissa la riga e permette alla colonna di variare‬. 1‎ ‏Copyright