Lezione 2 - LOGO - Dipartimento di Informatica

Esempi di cicli
• Disegnare un triangolo equilatero:
repeat 3 [ fd 100 rt 120 ]
• Disegnare un pentagono:
repeat 5 [ fd 100 rt 72 ]
• Disegnare un rettangolo 100x25:
repeat 2 [ fd 100 rt 90 fd 25 rt 90 ]
Informatica di Base -- R.Gaeta
1
Esercizi
• Disegnare un cerchio (sembra assurdo, ma…);
• Capire il seguente programma e cosa disegna prima
ancora di eseguirlo:
repeat 2 [ fd 100 pu rt 90 fd 25 rt 90 pd ]
rt 90
repeat 2 [ fd 25 pu lt 90 fd 100 lt 90 pd ]
lt 90
Informatica di Base -- R.Gaeta
2
Definire una procedura: il nome
• To nome_procedura
– Ad esempio: definiamo la funzione quadrato:
Informatica di Base -- R.Gaeta
3
Definire una procedura: il codice
• Scrivere il codice nella finestra che appare:
– Ad esempio: repeat 4 [ fd 100 rt 90 ]
• Quando il codice è finito, battere End e
poi cliccare su OK.
Informatica di Base -- R.Gaeta
4
Modificare una procedura: l’editor
• Edit “nome_procedura
– Ad esempio: Edit “quadrato
Informatica di Base -- R.Gaeta
5
Chiamare una procedura
Definizione
• Scrivere il nome
– Esempio: quadrato
Chiamata
Informazione di
MSWLogo sulla
definizione
Risultato della chiamata
Invocato Editor
della procedura
6
Esercizio
• Dopo aver definito la procedura quadrato, ottenere il
disegno riportato in figura:
Informatica di Base -- R.Gaeta
7
Due quadrati concentrici II
Suddivione del problema in sottoproblemi:
1. Disegnare il primo quadrato (lato di 100 pixel);
2. Posizionarsi per il secondo quadrato;
3. Cambiare colore (rosso);
4. Disegnare il secondo quadrato (lato di 50 pixel);
5. Tornare alla condizione di partenza.
Informatica di Base -- R.Gaeta
8
Due quadrati concentrici II
Suddivione in moduli (procedura principale):
1. Quadrato1
2. Posizionamento
3. Cambia_in_rosso
4. Quadrato2
5. My_home
Informatica di Base -- R.Gaeta
9
Definizione: quadrato1
to quadrato1
repeat 4 [ fd 100 rt 90 ]
end
Informatica di Base -- R.Gaeta
10
Definizione: quadrato2
to quadrato2
repeat 4 [ fd 50 rt 90 ]
end
Informatica di Base -- R.Gaeta
11
Definizione: posizionamento
to posizionamento
pu
fd 25
rt 90
fd 25
lt 90
pd
end
Informatica di Base -- R.Gaeta
12
Definizione: cambia_in_rosso
to cambia_in_rosso
setpencolor (list 255 0 0)
end
Informatica di Base -- R.Gaeta
13
Definizione: my_home
to my_home
pu
home
pd
setpencolor (list 0 0 0)
end
Informatica di Base -- R.Gaeta
14
Definizione: procedura principale
to main
quadrato1
posizionamento
cambia_in_rosso
quadrato2
my_home
end
Informatica di Base -- R.Gaeta
15
Esecuzione del programma
Battere
main
nella
Commander Window di
Logo.
Informatica di Base -- R.Gaeta
16
Salvare e Caricare un programma
• Save “nome_file.lgo
– Esempio: save “due_quadrati.lgo
• Load “nome_file.lgo
– Esempio: load “due_quadrati.lgo
• Oppure:
– File > Save as
– File > Load
Informatica di Base -- R.Gaeta
17
Esercizio
Disegnare la casa riportata
in figura.
Ricordare di:
1. Suddividere il problema
in sottoproblemi;
2. Scrivere una procedura
per ogni modulo;
3. Scrivere una procedura
principale;
Informatica di Base -- R.Gaeta
18
Osservazione
• È consigliabile scrivere delle procedure che contengano
sempre la chiamata alla procedura my_home all’inizio ed
alla fine.
• Esempio:
to quadrato
my_home
repeat 4 [ fd 100 rt 90 ]
my_home
end
Informatica di Base -- R.Gaeta
19
Esercizio 1
• Disegnare 4 quadrati concentrici come nella figura
sottostante:
Informatica di Base -- R.Gaeta
20
Esercizio 2
• Disegnare 3
sottostante:
cerchi
concentrici
come
nella
figura
Informatica di Base -- R.Gaeta
21
Esercizio 3
• Disegnare la figura sottostante:
Informatica di Base -- R.Gaeta
22
Esercizio 4
• Disegnare la figura sottostante:
Informatica di Base -- R.Gaeta
23
Esercizio 5
• Disegnare la figura sottostante:
Informatica di Base -- R.Gaeta
24
Esercizio 6
• Disegnare la figura sottostante:
Informatica di Base -- R.Gaeta
25
Esercizio 7
• Disegnare la figura sottostante:
Informatica di Base -- R.Gaeta
26
Esercizio 8
• Disegnare la figura sottostante:
Informatica di Base -- R.Gaeta
27
Esercizio 9
• Disegnare la figura sottostante:
Informatica di Base -- R.Gaeta
28
Esercizio 10
• Disegnare la figura sottostante:
Informatica di Base -- R.Gaeta
29