Lezione 18
Testo completo
(2) Passaggio di valori alle procedure Definizione di (parametro):. una. procedura. con. un. argomento. To nome_procedura :nome_argomento. … end. Informatica di Base -- R.Gaeta 2.
(3) Passaggio di valori alle procedure Esempio: To quadrato :l_lato. Repeat 4 [ forward :l_lato rt 90 ] end. Informatica di Base -- R.Gaeta 3.
(4) Due quadrati concentrici III La procedura main può essere riscritta così:. Quadrato 100 Posizionamento Cambia_in_rosso Quadrato 50 My_home. Informatica di Base -- R.Gaeta 4.
(5) Passaggio di più valori Esempio: to rettangolo :base :altezza. 100. 50. repeat 2 [ fd :base rt 90 fd :altezza rt 90 ] end. rettangolo 100 50 Informatica di Base -- R.Gaeta 5.
(6) Passaggio di più valori Esempio: to rettangolo :base :altezza. 100. 50. repeat 2 [ fd :base rt 90 fd :altezza rt 90 ] end. 100. rettangolo 100 50 Informatica di Base -- R.Gaeta 6.
(7) Passaggio di più valori Esempio: to rettangolo :base :altezza. 100. 50. repeat 2 [ fd :base rt 90 fd :altezza rt 90 ] end. 100. 50. rettangolo 100 50 Informatica di Base -- R.Gaeta 7.
(8) SetPos • Sintassi: SetPos (list :X :Y). • Semantica: Posiziona la tartaruga nel punto di coordinate (X, Y).. • Utile per riferirsi a delle coordinate assolute • Bisogna sollevare la penna e ricordarsi di riposizionarla. Informatica di Base -- R.Gaeta 8.
(9) Procedure • Si può definire una procedura che usa altre procedure: .
(10) . • Operazioni di inizializzazione, e.g., cs home. • Commenti al codice e nomi significativi!!!!!!!!! • sintassi ; commento .
(11)
(12)
(13) . Informatica di Base -- R.Gaeta 9.
(14) Esercizi • Riscrivere la procedura quadrato utilizzando soltanto la procedura rettangolo vista prima; • Riscrivere la procedura casa con la possibilità di specificare le seguenti quantità: – Altezza e base della casa – Altezza e base della porta – Dimensione della finestra (un quadrato) – Altezza e base del tetto. Informatica di Base -- R.Gaeta 10.
(15) Valori Alfanumerici • Finora abbiamo utilizzato solo valori numerici; • Se vogliamo usare valori alfanumerici (caratteri e numeri), usiamo le stringhe; • In Logo le stringhe si delimitano con le parentesi quadre; • Es.: [Ciao Mondo!]. Informatica di Base -- R.Gaeta 11.
(16) Scrittura testi sullo schermo • Label stringa – Esempio: Label [Ciao mondo!] – Nota: La scritta segue la direzione attuale della tartaruga. • Label numero – Esempio: Label 5. Informatica di Base -- R.Gaeta 12.
(17) Esempio. Rt 45 Label [Ciao Mondo!]. Informatica di Base -- R.Gaeta 13.
(18) Variabili • Le variabili permettono di memorizzare valori; • Sono identificate da un nome; • Sono la struttura di dati più elementare; • Useremo valori dei seguenti tipi: – Numeri; – Stringhe;. Informatica di Base -- R.Gaeta 14.
(19) Operazioni con le variabili • Scrittura (assegnazione) – si assegna alla variabile un valore; – Sintassi: make “nome_variabile valore. • Lettura (accesso) – si utilizza il valore memorizzato dalla variabile; – :nome_variabile. • Vi ricorda qualcosa?. Informatica di Base -- R.Gaeta 15.
(20) Semplice esempio. to scrivi_numero make “x 10 label :x. end. Informatica di Base -- R.Gaeta 16.
(21) Semplice esempio (cont.). rt 90 scrivi_numero. Informatica di Base -- R.Gaeta 17.
(22) Assegnazione di un valore ad una variabile • Due modi: – Make “nome_variabile valore – Make “nome_variabile espressione. • Un’espressione può essere composta da: – Una variabile; – Un’espressione aritmetica tra variabili e numeri; – Una funzione.. Informatica di Base -- R.Gaeta 18.
(23) Esempi ; assegna ad X il valore 10x5, ovvero 50. Make “X 10*5 ; assegna ad Y il valore contenuto in X più 4, ; ovvero 54 Make “Y :X + 4 ; assegna ad Y il valore già contenuto in Y ; più 1, ovvero 55 Make “Y :Y + 1 Informatica di Base -- R.Gaeta 19.
(24) Type e Print. • Sintassi: – Type Variabile (o Espressione) – Print Variabile (o Espressione). • Semantica: – Il contenuto della variabile (o il risultato dell’espressione) vengono mostrati in output sulla Commander Window. • Differenza: – Type non manda a capo – Print manda a capo. Informatica di Base -- R.Gaeta 20.
(25) Programma di Input/Output (input tramite parametri). To somma :X :Y :Z make “Risultato :X + :Y + :Z Rt 90 label :Risultato ; usare print se si vuole visualizzare il risultato ; sulla commander window. end. Informatica di Base -- R.Gaeta 21.
(26) Input utente È possibile usare una GUI (graphical user interface) per chiedere l’immissione di dati da parte dell’utente: questionbox [UserInput][testo etichetta]. Vedere questa funzionalità dall’help di MSWLogo. Informatica di Base -- R.Gaeta 22.
(27) Esercizio1. Quadrati concentrici: Scrivere un programma che faccia disegnare alla tartaruga un numero di quadrati concentrici scelto dall’utente (che fornirà input alla procedura principale tramite parametri).. Informatica di Base -- R.Gaeta 23.
(28) Esempio con 50 quadrati. Esempio:50 quadrati Informatica di Base -- R.Gaeta 24.
(29) Istruzioni condizionali: if • Due tipi di flusso d’esecuzione di un programma: – Sequenziale; – Ciclica (repeat);. • Esiste anche il flusso alternativo al verificarsi di una certa condizione: – istruzioni if… then… else. Informatica di Base -- R.Gaeta 25.
(30) If. Sintassi: If condizione [ istruzioni ] Semantica: Se la condizione è vera, allora esegui le istruzioni nella lista.. Informatica di Base -- R.Gaeta 26.
(31) Esempio To maggiorenne :anni Type [Hai ] Type :anni Print [ anni] If :anni >= 18 [ print [Sei maggiorenne]]. End. Informatica di Base -- R.Gaeta 27.
(32) Ifelse. Sintassi: Ifelse condizione [ istruzioni1 ] [ istruzioni2 ] Semantica: Se la condizione è vera, allora esegui le istruzioni nella prima lista, altrimenti esegui le istruzioni nella seconda lista.. Informatica di Base -- R.Gaeta 28.
(33) Esempio … Ifelse :anni >= 18 [ print [Sei maggiorenne] ][ print [Sei minorenne] ]. Informatica di Base -- R.Gaeta 29.
(34) Esercizio. • Dati due numeri (inseriti dall’utente), trovare il massimo tra i due e mostrarlo in output; • Dati tre massimo.. numeri (inseriti dall’utente), trovare. il. • Dati un numero indefinito di numeri, restituire il massimo.. Informatica di Base -- R.Gaeta 30.
(35)
Documenti correlati
La Commissione esaminatrice, all’esito della valutazione dei curricula professionali e formativi, ha fissato il seguente calendario dei colloqui individuali, limitatamente ai
La graduatoria si intenderà perfezionata e, quindi, definitiva con l’approvazione da parte del Direttore Regionale dell’INAIL della Direzione Regionale per la Toscana, ai
Criterio di aggiudicazione: criterio del minor prezzo di cui all’art. 50/2016 mediante formulazione di un ribasso unico percentuale sul listino prezzi allegato alla documentazione
Se pertanto la retribuzione non riesce più effettivamente ad operare come limite del potere punitivo (si legga ancora nei manuali: “Il Principe non mi può punire oltre il limite
Laddove sia adottata una direttiva penale, è infatti all’Unione, quale entità ormai autonoma rispetto agli Stati (come d’altronde attestato dalla tendenziale ge- neralizzazione
A) Il recupero al principio di colpevolezza della totale incapacità di inten- dere e di volere, procuratasi dal soggetto, è conseguibile attraverso: 1) l’elimina- zione di ogni
Determinare le funzioni booleane semplificate delle uscite come funzione delle variabili di.. ingresso (utilizzando le mappe
• Scegliere un nome, a piacere, per la procedura FTP (es. Pagine Personali Mario Rossi); i dati saranno memorizzati e richiamati automaticamente nel corso delle successive