
Olimpiadi Italiane di Informatica – 20-11-2019 – Numero 18
La grafica della tartaruga prevede che si possano impartire degli ordini di movimento a una tartaruga, che li eseguirà lasciando sul terreno una traccia dei suoi movimenti, come se avesse una penna attaccata sotto la pancia.
Gli ordini possono essere impartiti tramite un semplice linguaggio, stando attenti che:
- le istruzioni
destra
esinistra
sono relative all’orientamento attuale della tartaruga, e il numero che segue è un angolo di rotazione (rispettivamente orario e antiorario) espresso in gradi; - le istruzioni
pennasu
epennagiu
sollevano e abbassano rispettivamente la penna sotto la pancia della tartaruga: quando la penna è sollevata ovviamente non lascia tracce sul terreno; - l’istruzione
ripeti
fa ripetere il blocco che segue, delimitato da parentesi graffe, per un numero di volte indicato a fianco dell’istruzione.
Quest’anno la tartaruga vuole realizzare un autoritratto.
Prima ha disegnato la sua sagoma a matita (in figura la linea tratteggiata) e poi ha iniziato a ricalcarla con la penna.
In questo momento la tartaruga si trova nel vertice in alto a sinistra dell’esagono più alto ed è nella condizione pennagiu, sapendo che gli esagoni del carapace sono regolari e hanno lato l, scegliere tra le seguenti quattro alternative quella che non fa il disegno corretto.
Alternativa A
ripeti 4 {
destra 60
avanti l
sinistra 60
avanti l
}
ripeti 4 {
sinistra 60
avanti l
}
ripeti 3 {
pennasu
destra 180
avanti l
pennagiu
ripeti 3 {
sinistra 60
avanti l
}
}
Alternativa B
ripeti 4 {
destra 60
avanti l
sinistra 60
avanti l
}
ripeti 4 {
sinistra 60
avanti l
}
ripeti 3 {
pennasu
sinistra 180
avanti l
pennagiu
ripeti 3 {
sinistra 60
avanti l
}
}
Alternativa C
ripeti 4 {
avanti l
destra 60
sinistra 60
avanti l
}
ripeti 4 {
sinistra 60
avanti l
}
ripeti 3 {
pennasu
destra 180
avanti l
pennagiu
ripeti 3 {
sinistra 60
avanti l
}
}
Alternativa D
ripeti 4 {
destra 60
avanti l
sinistra 60
avanti l
}
ripeti 4 {
sinistra 60
avanti l
}
ripeti 3 {
destra 180
pennasu
avanti l
pennagiu
ripeti 3 {
sinistra 60
avanti l
}
}
Disegna la stessa figura utilizzando Python e il modulo Turtle
- La direzione iniziale della tartaruga? Si rende necessaria una rotazione di 60° verso destra.
- Le versioni A, B, D disegnano la stessa figura (4 esagoni in verticale)
Alternativa A
from turtle import *
lato = 100
right(60)
for i in range(4):
right(60)
forward(lato)
left(60)
forward(lato)
for i in range(4):
left(60)
forward(lato)
for i in range(3):
penup()
right(180)
forward(lato)
pendown()
for j in range(3):
left(60)
forward(lato)
Alternativa B
from turtle import *
lato = 100
right(60)
for i in range(4):
right(60)
forward(lato)
left(60)
forward(lato)
for i in range(4):
left(60)
forward(lato)
for i in range(3):
penup()
left(180)
forward(lato)
pendown()
for j in range(3):
left(60)
forward(lato)
Alternativa C
from turtle import *
lato = 100
right(60)
for i in range(4):
forward(lato)
right(60)
left(60)
forward(lato)
for i in range(4):
left(60)
forward(lato)
for i in range(3):
penup()
right(180)
forward(lato)
pendown()
for j in range(3):
left(60)
forward(lato)
Alternativa D
from turtle import *
lato = 100
right(60)
for i in range(4):
right(60)
forward(lato)
left(60)
forward(lato)
for i in range(4):
left(60)
forward(lato)
for i in range(3):
right(180)
penup()
forward(lato)
pendown()
for j in range(3):
left(60)
forward(lato)