Scrivere delle procedure che disegnino:
1) due linee parallele distanti 5 punti, che prenda come parametro la lunghezza delle linee; 2) due linee parallele, che prenda come parametri:
:d la distanza tra le due linee; :l la loro lunghezza;
:a l'angolo dell’inclinazione;
3) un quadrato, che prenda come parametro la lunghezza del lato; 4) un cerchio, che prenda come parametro il raggio.
Usare la procedura di libreria "arc", definita in questo modo: to arc :ang :rad
... ...
dove :ang è l'angolo descritto dall'arco, :rad il raggio dell'arco;
5) due quadrati concentrici, che prenda come parametro il lato del quadrato più esterno. Il quadrato interno deve avere il lato lungo la metà del lato del quadrato esterno. Usare la procedura "quadrato" scritta all'esercizio 3;
6) tre quadrati concentrici, che prenda come parametro il lato del quadrato più esterno. La distanza tra i quadrati deve essere un quinto della lunghezza del lato del maggiore. Usare la procedura "quadrato" scritta all'esercizio 3;
7) un numero n di quadrati concentrici, passato come parametro insieme al lato maggiore. La distanza tra i quadrati deve essere costante e pari alla lunghezza del lato del quadrato più piccolo.
(Consiglio: scrivere una procedura "muovi :d" per spostare diagonalmente la tartaruga!) 8) una stella a 5 punte, che prenda come parametro la lunghezza del lato;
9) una stella che prenda come parametri: :n il numero di punte;
:l il lato delle punte;
10) una stella che prenda come parametri: :n il numero di punte;
:r il raggio esterno (= distanza tra il centro e una punta);
Esercizio 1 Esercizio 2 (angolo = 30°)
Esercizio 6 Esercizio 7 (n = 7)
Esercizio 8 Esercizio 9 (n = 7)
ESERCIZI
Per ogni problema scrivere l’algoritmo in pseudo codice o diagramma di
flusso, scrivere procedure con parametri per la risoluzione organizzandole
con una procedura main. Usare i commenti ed il controllo dei parametri.
Ove possibile, generalizzare il problema parametrizzandolo.
PROBLEMA 1: Disegnare dei quadrati concentrici dove sia possibile
specificare il numero di quadrati, la lunghezza del lato del più piccolo e
l’incremento di dimensione
PROBLEMA 2: Disegnare dei quadrati ruotati dove sia possibile
specificare il numero di quadrati e la lunghezza del lato.
PROBLEMA 3: Disegnare dei quadrati in diagonale dove sia possibile
specificare il numero di quadrati, la lunghezza del lato più grande ed il
decremento delle dimensioni
PROBLEMA 4: Disegnare dei quadrati in diagonale dove sia possibile
specificare il numero di quadrati, la lunghezza del lato più grande ed il
decremento delle dimensioni
PROBLEMA 5: Disegnare dei quadrati con la stessa origine dove sia
possibile specificare il numero di quadrati, la lunghezza del lato più
piccolo e l’incremento delle dimensioni
PROBLEMA 6: Disegnare delle bandiere ruotati dove sia possibile
specificare il numero di bandiere. Provare a parametrizzare anche le
dimensioni delle bandiere.
PROBLEMA 7: riprodurre i disegni del tipo riportato in figura, in cui è
possibile decidere il numero di quadrati da tracciare, il lato del quadrato
più grande, il decremento della lunghezza del lato dei quadrati successivi,
e l’angolo di inclinazione tra un quadrato ed il successivo.
PROBLEMA 8: Disegnare dei quadrati concentrici alternati dove sia
possibile specificare il numero di quadrati, la lunghezza del lato del più
piccolo.