Documentazione Logo# Console

Manuale dei comandi e della sintassi di Logo# pensato per docenti e studenti. Esplora le sezioni per scoprire come utilizzare parole chiave, tipi dati ed equivalenti.

1. Tipi di Dati

Fondamenti
Tipo di Dato: Stringhe

Spiegazione: In Logo#, una singola parola o un valore di testo si indica anteponendo il simbolo delle doppie virgolette " al testo. Non occorre chiudere le virgolette per parole singole senza spazi.

Sintassi
"testo
Esempio Pratico
>stampa "Buongiorno Buongiorno
Per lavorare con testi composti da più parole è sufficiente anteporre il simbolo delle doppie virgolette " ad ogni parola.
Esempio Pratico
>stampa "Ciao "Mondo [Ciao Mondo]
Tipo di Dato: Numeri

Spiegazione: I valori numerici vengono scritti direttamente senza prefissi. Supportano numeri interi (positivi e negativi) e decimali espressi con il punto (.). Possono essere utilizzati, come mostrato più avanti, direttamente per operazioni aritmetiche o confronti logici. Negli esempi che seguono viene mostrata la semplice stampa a schermo di valori interi o decimali.

Sintassi
valore_numerico
Esempio Pratico
>stampa 42 42 >stampa 3.14 3.14
Tipo di Dato: Liste

Spiegazione: Una lista è una raccolta ordinata di elementi (numeri, parole o altre liste) racchiusa tra parentesi quadre [ ] e separata da spazi. Permette di memorizzare ed elaborare collezioni complesse di dati.

Sintassi
[ elemento1 elemento2 ... ]
Esempio Pratico
>stampa ["rosso "verde "blu] [rosso verde blu] >stampa [1 2 3 4 5] [1 2 3 4 5]

2. Stampa

Input / Output
Comando: stampa

Spiegazione: Mostra il valore specificato o il risultato di un'espressione all'interno della console di output. Può stampare parole (precedute da "), numeri (anche se in questo caso è più adatto il comando calcola presentato più avanti) o liste (racchiuse in parentesi quadre).

Sintassi Generale
>stampa valore_o_espressione
Esempio Pratico
>stampa "Benvenuti Benvenuti >stampa 25 25 >stampa [2 3 5 7] [2 3 5 7]
Termini Equivalenti & Sinonimi
calcola
Tutti questi comandi producono lo stesso identico risultato.
Comando: calcola

Spiegazione: Comando del tutto equivalente a stampa, lo si preferisce a quest'ultimo nel caso in cui si voglia stampare sullo schermo un risultato numerico. Attenzione: negli esempi pratici che seguono vengono utilizzati comandi relativi ad operazioni matematiche che sono spiegati nella relativa sezione (fino a questo momento non ancora introdotti).

Sintassi Generale
>calcola espressione
Esempio Pratico
>calcola somma 3 7 10 >calcola differenza 3 7 -4
Termini Equivalenti & Sinonimi
stampa
Tutti questi comandi producono lo stesso identico risultato.

3. Variabili

Memoria
Comando: sia

Spiegazione: Crea una nuova variabile o ne aggiorna il valore esistente. Il nome della variabile deve essere indicato preceduto dal simbolo delle virgolette (") in fase di assegnazione, mentre per recuperare il suo valore si utilizza il simbolo dei due punti (:).

Sintassi Generale
>sia "nome_variabile valore
Esempio Pratico
>sia "punteggio 100 >stampa :punteggio 100
Termini Equivalenti & Sinonimi
dato data dati date aggiorna quindi
Tutti questi comandi producono lo stesso identico risultato.

4. Cicli

Iterazione
Comando: ripeti

Spiegazione: Ripete un blocco di istruzioni racchiuse tra parentesi quadre [ ] per un numero determinato di volte.

Sintassi Generale
>ripeti numero_volte [ istruzioni_da_ripetere ]
Esempio Pratico
>ripeti 3 [ stampa "Ciao ] Ciao Ciao Ciao
Comando: finche

Spiegazione: Ripete un blocco di istruzioni racchiuse tra parentesi quadre [ ] fino a quando è vera una determinata condizione.

Sintassi Generale
>finche condizione [ istruzioni_da_ripetere ]
Esempio Pratico
>sia "n 1 >finche :n < 4 [ stampa "Ciao aggiorna "n somma :n 1 ] Ciao Ciao Ciao

5. Costrutti Condizionali

Controllo Flusso
Comando: se ... altrimenti

Spiegazione: Valuta una condizione logica. Se la condizione risulta vera, esegue il primo blocco di codice. Se fornito, un secondo blocco facoltativo (con la parola chiave altrimenti) viene eseguito solo se la condizione è falsa.

Sintassi Generale
>se condizione [ istruzioni_se_vero ] altrimenti [ istruzioni_se_falso ]
Esempio Pratico
>sia "voto 8 >se :voto >= 6 [ stampa "Promosso ] altrimenti [ stampa "Bocciato ] Promosso

6. Operazioni Aritmetiche

Matematica
Comando: somma

Spiegazione: Effettua l'addizione aritmetica tra due o più valori numerici o espressioni e ne restituisce il totale.

Sintassi Generale
>somma espressione1 espressione2
Esempio Pratico
>calcola somma 14 26 40 >calcola somma 14 somma 2 3 19
Termini Equivalenti & Sinonimi
addizione
Tutti questi comandi producono lo stesso identico risultato.
Comando: differenza

Spiegazione: Effettua la sottrazione tra due valori numerici o espressioni, sottraendo il secondo valore dal primo e restituendo il risultato.

Sintassi Generale
>differenza espressione1 espressione2
Esempio Pratico
>calcola differenza 10 4 6 >calcola differenza 3 7 -4
Termini Equivalenti & Sinonimi
difference sottrazione
Tutti questi comandi producono lo stesso identico risultato.
Comando: prodotto

Spiegazione: Effettua la moltiplicazione tra due valori numerici o espressioni e ne restituisce il risultato.

Sintassi Generale
>prodotto espressione1 espressione2
Esempio Pratico
>calcola prodotto 6 7 42 >calcola prodotto 2.5 4 10
Termini Equivalenti & Sinonimi
product moltiplicazione
Tutti questi comandi producono lo stesso identico risultato.
Comando: quoziente

Spiegazione: Effettua la divisione tra due valori numerici o espressioni, dividendo il primo valore per il secondo e restituendo il quoziente.

Sintassi Generale
>quoziente espressione1 espressione2
Esempio Pratico
>calcola quoziente 20 4 5 >calcola quoziente 7 2 3.5
Termini Equivalenti & Sinonimi
quotient divisione
Tutti questi comandi producono lo stesso identico risultato.
Comando: resto

Spiegazione: Calcola e restituisce il resto della divisione intera (operazione di modulo) tra il primo e il secondo numero.

Sintassi Generale
>resto espressione1 espressione2
Esempio Pratico
>calcola resto 10 3 1 >calcola resto 14 5 4
Termini Equivalenti & Sinonimi
remainder modulo
Tutti questi comandi producono lo stesso identico risultato.
Comando: meno

Spiegazione: Esegue la negazione algebrica di un singolo valore numerico o espressione, restituendone l'opposto (inverte il segno del numero).

Sintassi Generale
>meno espressione
Esempio Pratico
>calcola meno 15 -15 >calcola meno -8 8
Termini Equivalenti & Sinonimi
minus negazione
Tutti questi comandi producono lo stesso identico risultato.
Comando: fattoriale

Spiegazione: Calcola e restituisce il fattoriale di un numero intero non negativo (indicato con n!), ovvero il prodotto di tutti gli interi positivi minori o uguali a quel numero.

Sintassi Generale
>fattoriale espressione
Esempio Pratico
>calcola fattoriale 5 120 >calcola fattoriale 0 1
Termini Equivalenti & Sinonimi
factorial
Tutti questi comandi producono lo stesso identico risultato.
Comando: potenza

Spiegazione: Eleva il primo valore (base) alla potenza del secondo valore (esponente) e restituisce il risultato.

Sintassi Generale
>potenza base esponente
Esempio Pratico
>calcola potenza 2 3 8 >calcola potenza 5 2 25
Termini Equivalenti & Sinonimi
power pow
Tutti questi comandi producono lo stesso identico risultato.
Comando: radice

Spiegazione: Calcola la radice quadrata di un numero o di un'espressione e ne restituisce il risultato.

Sintassi Generale
>radice espressione
Esempio Pratico
>calcola radice 16 4 >calcola radice 2 1.41421356
Termini Equivalenti & Sinonimi
sqrt
Tutti questi comandi producono lo stesso identico risultato.
Comando: radicen

Spiegazione: Calcola la radice n-esima di un numero o espressione, dato l'indice della radice e il radicando.

Sintassi Generale
>radicen indice radicando
Esempio Pratico
>calcola radicen 3 27 3 >calcola radicen 4 16 2
Termini Equivalenti & Sinonimi
sqrtn
Tutti questi comandi producono lo stesso identico risultato.
Comando: log

Spiegazione: Calcola il logaritmo di un numero specificando la base desiderata e l'argomento.

Sintassi Generale
>log base argomento
Esempio Pratico
>calcola log 10 100 2 >calcola log 2 8 3
Termini Equivalenti & Sinonimi
logaritmo
Tutti questi comandi producono lo stesso identico risultato.
Comando: logn

Spiegazione: Calcola il logaritmo naturale (in base e) dell'argomento specificato.

Sintassi Generale
>logn argomento
Esempio Pratico
>calcola logn 2.718281828 1 >calcola logn 10 2.30258509
Comando: meta

Spiegazione: Calcola la metà di un numero o di un'espressione (equivale a dividere il valore per 2).

Sintassi Generale
>meta espressione
Esempio Pratico
>calcola meta 50 25 >calcola meta 7 3.5
Termini Equivalenti & Sinonimi
half
Tutti questi comandi producono lo stesso identico risultato.
Comando: doppio

Spiegazione: Calcola il doppio di un numero o di un'espressione (equivale a moltiplicare il valore per 2).

Sintassi Generale
>doppio espressione
Esempio Pratico
>calcola doppio 25 50 >calcola doppio 3.5 7
Termini Equivalenti & Sinonimi
twice
Tutti questi comandi producono lo stesso identico risultato.
Comando: quadrato

Spiegazione: Eleva al quadrato un numero o un'espressione (equivale a moltiplicare il valore per se stesso o elevarlo alla potenza di 2).

Sintassi Generale
>quadrato espressione
Esempio Pratico
>calcola quadrato 6 36 >calcola quadrato -5 25
Termini Equivalenti & Sinonimi
square
Tutti questi comandi producono lo stesso identico risultato.
Comando: cubo

Spiegazione: Eleva al cubo un numero o un'espressione (equivale a elevare il valore alla potenza di 3).

Sintassi Generale
>cubo espressione
Esempio Pratico
>calcola cubo 3 27 >calcola cubo -2 -8
Termini Equivalenti & Sinonimi
cube
Tutti questi comandi producono lo stesso identico risultato.
Comando: random

Spiegazione: Genera e restituisce un numero intero casuale compreso tra 0 e il valore intero n specificato in input (inclusi gli estremi).

Sintassi Generale
>random n
Esempio Pratico
>calcola random 10 7 >calcola random 100 42
Termini Equivalenti & Sinonimi
casuale
Tutti questi comandi producono lo stesso identico risultato.
Comando: vassoluto

Spiegazione: Calcola e restituisce il valore assoluto (modulo) di un numero o di un'espressione, trasformando i valori negativi in positivi e lasciando invariati quelli positivi o pari a zero.

Sintassi Generale
>vassoluto espressione
Esempio Pratico
>calcola vassoluto -15 15 >calcola vassoluto 8.5 8.5
Termini Equivalenti & Sinonimi
abs
Tutti questi comandi producono lo stesso identico risultato.
Comando: arrotonda

Spiegazione: Arrotonda un numero decimale o un'espressione all'intero più vicino: per difetto se la parte decimale è inferiore a 0.49, per eccesso a partire da 0.50 in poi.

Sintassi Generale
>arrotonda espressione
Esempio Pratico
>calcola arrotonda 4.49 4 >calcola arrotonda 4.50 5
Termini Equivalenti & Sinonimi
round
Tutti questi comandi producono lo stesso identico risultato.
Comando: intero

Spiegazione: Tronca un numero o un'espressione decimale restituendo esclusivamente la sua parte intera, ignorando completamente le cifre decimali.

Sintassi Generale
>intero espressione
Esempio Pratico
>calcola intero 8.99 8 >calcola intero -3.75 -3
Termini Equivalenti & Sinonimi
int
Tutti questi comandi producono lo stesso identico risultato.
Comando: superiore

Spiegazione: Arrotonda un numero decimale o un'espressione per eccesso al numero intero immediatamente superiore, a prescindere dal valore della parte decimale.

Sintassi Generale
>superiore espressione
Esempio Pratico
>calcola superiore 4.01 5 >calcola superiore 7.8 8
Termini Equivalenti & Sinonimi
ceiling
Tutti questi comandi producono lo stesso identico risultato.
Comando: seno

Spiegazione: Calcola e restituisce il seno trigometrico dell'angolo fornito in input, espresso in gradi.

Sintassi Generale
>seno angolo_gradi
Esempio Pratico
>calcola seno 90 1 >calcola seno 0 0
Termini Equivalenti & Sinonimi
sin
Tutti questi comandi producono lo stesso identico risultato.
Comando: coseno

Spiegazione: Calcola e restituisce il coseno trigonometrico dell'angolo fornito in input, espresso in gradi sessagesimali.

Sintassi Generale
>coseno angolo_gradi
Esempio Pratico
>calcola coseno 60 0.5 >calcola coseno 0 1
Termini Equivalenti & Sinonimi
cos coseno
Tutti questi comandi producono lo stesso identico risultato.
Comando: tangente

Spiegazione: Calcola e restituisce la tangente trigonometrica dell'angolo fornito in input, espresso in gradi sessagesimali.

Sintassi Generale
>tangente angolo_gradi
Esempio Pratico
>calcola tangente 45 1 >calcola tangente 0 0
Termini Equivalenti & Sinonimi
tan tangente
Tutti questi comandi producono lo stesso identico risultato.
Comando: arcseno

Spiegazione: Calcola l'arcoseno di un valore numerico (compreso tra -1 e 1) e ne restituisce l'angolo corrispondente in gradi sessagesimali.

Sintassi Generale
>arcseno valore
Esempio Pratico
>calcola arcseno 1 90 >calcola arcseno 0.5 30
Termini Equivalenti & Sinonimi
asin arcseno
Tutti questi comandi producono lo stesso identico risultato.
Comando: arccoseno

Spiegazione: Calcola l'arcocoseno di un valore numerico (compreso tra -1 e 1) e ne restituisce l'angolo corrispondente in gradi sessagesimali.

Sintassi Generale
>arccoseno valore
Esempio Pratico
>calcola arccoseno 0.5 60 >calcola arccoseno 1 0
Termini Equivalenti & Sinonimi
acos arccoseno
Tutti questi comandi producono lo stesso identico risultato.
Comando: arctangente

Spiegazione: Calcola l'arcotangente di un valore numerico e ne restituisce l'angolo corrispondente in gradi sessagesimali.

Sintassi Generale
>arctangente valore
Esempio Pratico
>calcola arctangente 1 45 >calcola arctangente 0 0
Termini Equivalenti & Sinonimi
atan arctangente
Tutti questi comandi producono lo stesso identico risultato.
Comando: minimo

Spiegazione: Confronta due valori o espressioni e restituisce il numero con il valore minore.

Sintassi Generale
>minimo valore1 valore2
Esempio Pratico
>calcola minimo 15 42 15 >calcola minimo -5 3 -5
Termini Equivalenti & Sinonimi
min minimo
Tutti questi comandi producono lo stesso identico risultato.
Comando: massimo

Spiegazione: Confronta due valori o espressioni e restituisce il numero con il valore maggiore.

Sintassi Generale
>massimo valore1 valore2
Esempio Pratico
>calcola massimo 15 42 42 >calcola massimo -5 3 3
Termini Equivalenti & Sinonimi
max massimo
Tutti questi comandi producono lo stesso identico risultato.
Comando: esponenziale

Spiegazione: Calcola la funzione esponenziale, ovvero eleva il numero di Nepero (e ≈ 2.71828) alla potenza specificata dall'esponente in input.

Sintassi Generale
>esponenziale esponente
Esempio Pratico
>calcola esponenziale 1 2.718281828 >calcola esponenziale 0 1
Termini Equivalenti & Sinonimi
exp esponenziale
Tutti questi comandi producono lo stesso identico risultato.

7. Gestione Liste

Strutture Dati
Comando: primo

Spiegazione: Estrae e restituisce il primo elemento di una lista oppure il primo carattere di una parola specificata.

Sintassi Generale
>primo lista
Esempio Pratico
>stampa primo [ 10 20 30 40 ] 10
Termini Equivalenti & Sinonimi
first testa
Tutti questi comandi producono lo stesso identico risultato.
Comando: ultimo

Spiegazione: Estrae e restituisce l'ultimo elemento di una lista oppure l'ultimo carattere di una parola specificata.

Sintassi Generale
>ultimo lista
Esempio Pratico
>stampa ultimo [ 10 20 30 40 ] 40
Termini Equivalenti & Sinonimi
last coda
Tutti questi comandi producono lo stesso identico risultato.
Comando: senzaprimo

Spiegazione: Restituisce una nuova lista (o parola) contenente tutti gli elementi dell'input tranne il primo.

Sintassi Generale
>senzaprimo lista
Esempio Pratico
>stampa senzaprimo [ 10 20 30 40 ] [ 20 30 40 ]
Termini Equivalenti & Sinonimi
butfirst tail
Tutti questi comandi producono lo stesso identico risultato.
Comando: senzaultimo

Spiegazione: Restituisce una nuova lista (o parola) contenente tutti gli elementi dell'input tranne l'ultimo.

Sintassi Generale
>senzaultimo lista
Esempio Pratico
>stampa senzaultimo [ 10 20 30 40 ] [ 10 20 30 ]
Termini Equivalenti & Sinonimi
butlast
Tutti questi comandi producono lo stesso identico risultato.
Comando: lunghezza

Spiegazione: Restituisce il numero totale di elementi contenuti in una lista oppure il numero di caratteri in una parola.

Sintassi Generale
>lunghezza lista
Esempio Pratico
>stampa lunghezza [ 10 20 30 40 ] 4
Termini Equivalenti & Sinonimi
count conta
Tutti questi comandi producono lo stesso identico risultato.
Comando: elemento

Spiegazione: Restituisce l'elemento posizionato all'indice specificato n (partendo da 1) all'interno della lista fornita.

Sintassi Generale
>elemento n lista
Esempio Pratico
>stampa elemento 2 [ 11 22 33 44 ] 22
Termini Equivalenti & Sinonimi
item
Tutti questi comandi producono lo stesso identico risultato.
Comando: lista

Spiegazione: Crea una nuova lista unendo gli elementi o le liste passati come argomenti.

Sintassi Generale
>lista elem1 elem2
Esempio Pratico
>stampa lista 10 20 [ 10 20 ]
Termini Equivalenti & Sinonimi
list
Tutti questi comandi producono lo stesso identico risultato.
Comando: concatena

Spiegazione: Combina due o più liste (o elementi) unendo i loro contenuti in un'unica lista appiattita.

Sintassi Generale
>concatena lista1 lista2
Esempio Pratico
>stampa concatena [ 1 2 ] [ 3 4 ] [ 1 2 3 4 ]
Termini Equivalenti & Sinonimi
sentence
Tutti questi comandi producono lo stesso identico risultato.
Comando: vuota

Spiegazione: Predicato che verifica se una lista o una parola è priva di elementi, restituendo 1 se vuota, altrimenti 0.

Sintassi Generale
>vuota lista
Esempio Pratico
>stampa vuota [ ] 1 >stampa vuota [ 10 ] 0
Termini Equivalenti & Sinonimi
empty
Tutti questi comandi producono lo stesso identico risultato.
Comando: taglia

Spiegazione: Estrae una sotto-lista tagliando la lista originale dall'indice di inizio.

Sintassi Generale
>taglia inizio lista
Esempio Pratico
>stampa taglia 3 [ 99 100 101 102 103 ] [ 101 102 103 ]
Termini Equivalenti & Sinonimi
cut
Tutti questi comandi producono lo stesso identico risultato.
Comando: appartiene

Spiegazione: Verifica se un determinato elemento o valore fa parte della lista specificata, restituendo un valore booleano.

Sintassi Generale
>appartiene elemento lista
Esempio Pratico
>stampa appartiene 20 [ 10 20 30 ] 1 >stampa appartiene 50 [ 10 20 30 ] 0
Termini Equivalenti & Sinonimi
member
Tutti questi comandi producono lo stesso identico risultato.
Comando: rimuovi

Spiegazione: Rimuove tutte le occorrenze di un determinato elemento dalla lista e restituisce la lista risultante.

Sintassi Generale
>rimuovi elemento lista
Esempio Pratico
>stampa rimuovi 20 [ 10 20 30 20 ] [ 10 30 ]
Termini Equivalenti & Sinonimi
remove
Tutti questi comandi producono lo stesso identico risultato.
Comando: aggiungitesta

Spiegazione: Inserisce un nuovo elemento all'inizio di una lista e restituisce la lista aggiornata.

Sintassi Generale
>aggiungitesta elemento lista
Esempio Pratico
>stampa aggiungitesta 5 [ 10 20 ] [ 5 10 20 ]
Termini Equivalenti & Sinonimi
fput
Tutti questi comandi producono lo stesso identico risultato.
Comando: aggiungicoda

Spiegazione: Inserisce un nuovo elemento alla fine di una lista e restituisce la lista aggiornata.

Sintassi Generale
>aggiungicoda elemento lista
Esempio Pratico
>stampa aggiungicoda 30 [ 10 20 ] [ 10 20 30 ]
Termini Equivalenti & Sinonimi
lput
Tutti questi comandi producono lo stesso identico risultato.
Comando: scegli

Spiegazione: Seleziona ed estrae in modo del tutto casuale un elemento dalla lista specificata.

Sintassi Generale
>scegli lista
Esempio Pratico
>stampa scegli [ 1 2 3 4 5 6 7 ] 6 >stampa scegli [ 1 2 3 4 5 6 7 ] 2
Termini Equivalenti & Sinonimi
pick
Tutti questi comandi producono lo stesso identico risultato.
Comando: ordina

Spiegazione: Ordina gli elementi di una lista in modo crescente (numerico o alfabetico) e restituisce la lista ordinata.

Sintassi Generale
>ordina lista
Esempio Pratico
>stampa ordina [ 40 10 30 20 ] [ 10 20 30 40 ]
Termini Equivalenti & Sinonimi
order
Tutti questi comandi producono lo stesso identico risultato.
Comando: inverti

Spiegazione: Inverte l'ordine degli elementi all'interno della lista e ne restituisce la versione capovolta.

Sintassi Generale
>inverti lista
Esempio Pratico
>stampa inverti [ 1 2 3 4 ] [ 4 3 2 1 ]
Termini Equivalenti & Sinonimi
reverse
Tutti questi comandi producono lo stesso identico risultato.
Comando: salta

Spiegazione: Rimuove i primi n elementi dalla lista e restituisce la parte rimanente.

Sintassi Generale
>salta n lista
Esempio Pratico
>stampa salta 2 [ 10 20 30 40 50 ] [ 30 40 50 ]
Termini Equivalenti & Sinonimi
skip
Tutti questi comandi producono lo stesso identico risultato.
Comando: prendi

Spiegazione: Estrae e restituisce una sotto-lista composta soltanto dai primi n elementi della lista fornita.

Sintassi Generale
>prendi n lista
Esempio Pratico
>stampa prendi 3 [ 10 20 30 40 50 ] [ 10 20 30 ]
Termini Equivalenti & Sinonimi
take
Tutti questi comandi producono lo stesso identico risultato.

8. Procedure e Funzioni

Modularità
Comando: def ... fine

Spiegazione: Definisce una nuova procedura personalizzata in Logo#. La procedura può accettare parametri in ingresso (preceduti da :) e restituire eventualmente un valore mediante la parola chiave restituisci (o output).

Sintassi Generale
>def nome_procedura :parametro_1 ... :parametro_k corpo_della_procedura fine
Esempio Pratico
>def raddoppia :numero restituisci prodotto :numero 2 fine >calcola raddoppia 15 30