At My Fingertips

Documentation

Iniziamo!

Dopo aver preso confidenza con Python e la libreria PyTamaro è finalmente giunto il momento di trasformare lo pseudocodice grafico in codice Python che il computer possa eseguire. Potremo così far creare al nostro computer le grafiche delle bandiere: in particolare creeremo il codice per la bandiera dell'Italia:

bandiera_italia.png

Lo scopo dell'attività è quindi quello di tradurre lo pseudocodice, tenendo a portata di mano lo pseudocodice grafico che hai creato in precedenza, in codice Python.

Con questa attività apprenderai:

  • a utilizzare l'istruzione accanto della libreria PyTamaro;
  • a individuare le parti simili nelle grafiche e nel codice;
  • a migliorare il tuo codice rendendolo più leggibile e più comprensibile;
  • a definire colori utilizzando la rappresentazione RGB.

Scomponi

Partiamo dalla bandiera dell'Italia qui sopra: prova ad osservarla attentamente.

Per costruire questa bandiera ci serviranno tre strisce (o rettangoli) di dimensioni identiche, ma colore diverso. Iniziamo a creare la prima striscia di colore verde.

Prova a completare il codice qui sotto in modo che venga creata e visualizzata la striscia verde: dovrai inserire il tuo codice al posto del tre puntini ...!

Nota: nel codice qui sotto sono utilizzati anche dei simboli come * oppure //. A questi potremmo aggiungere anche + e -. Hai capito a cosa possono servire? Si tratta semplicemente degli operatori aritmetici per la moltiplicazione, per la divisione, per la somma e per la sottrazione. Ad esempio nel codice qui sotto ALTEZZA_BANDIERA viene calcolata moltiplicando LARGHEZZA_BANDIERA per 2 e dividendo il risultato per 3. In pratica Python svolge anche il lavoro della nostra calcolatrice!

Loading...

Copia e modifica

Prendendo spunto da quanto avevi creato in precedenza, dovrebbe esserti chiaro che serviranno altre due strisce: una bianca ed una rossa, diverse solo per il colore.

Copia il codice che hai aggiunto per la striscia verde dal riquadro sopra in questo riquadro qui sotto e completa il codice in modo che vengano create anche le strisce bianca e rossa. Suggerimento: le strisce si differenziano solo per il colore, quindi anche il codice necessario a crearle differirà solo in questo parametro.

Nota: in Python i nomi non possono contenere degli spazi! Possiamo però utilizzare il trattino basso, _, come in LARGHEZZA_BANDIERA oppure visualizza_grafica.

Loading...

Unire le strisce

A questo punto abbiamo a disposizione le tre strisce necessarie a creare la bandiera dell'Italia: non ci resta che unirle con l'operazione accanto, in modo analogo a quanto fatto in precedenza.

Nota: muovi il cursore sul nome dell'operazione accanto per ripassare il funzionamento di questa istruzione.

Completa ora il codice qui sotto! Di nuovo puoi copiare le modifiche dal riquadro precedente nel riquadro qui sotto prima di unire le strisce. Tieni presente che l'istruzione accanto accetta solo due argomenti e che dovrai quindi utilizzarla due volte se vuoi affiancare tre strisce.

Loading...

Associatività

A questo punto dovresti essere riuscito ad affiancare le tre strisce colorate per formare la bandiera. Come detto sopra avrai dovuto utilizzare due volte l'istruzione accanto. Quali strisce hai però unito per prime? Cosa cambia se unisci prima la striscia verde e quella bianca oppure prima quella bianca e quella rossa?

Per rispondere dobbiamo richiamare la proprietà associativa.

In effetti le due espressione producono lo stesso risultato: il valore 6. Questa proprietà dell'operatore di addizione è chiamata associatività e si dice quindi che l'operatore addizione è associativo.

Possiamo verificare se la tua risposta è corretta modificando il codice per la bandiera dell'Italia che hai scritto sopra! Se avevi scritto qualcosa del tipo:

striscia_verde_bianca = accanto(striscia_verde, striscia_bianca)

bandiera_italia = accanto(striscia_verde_bianca, striscia_rossa)

prova ora ad affiancare prima la striscia bianca a quella rossa, creando la striscia_bianca_rossa e ad aggiungere dopo quella verde:

striscia_bianca_rossa = accanto(striscia_bianca, striscia_rossa)

bandiera_italia = accanto(striscia_verde, striscia_verde_bianca)

Dovresti ottenere la stessa grafica, perché l'operazione accanto utilizzata per la grafica è associativa, proprio come è associativa l'operazione di addizione per i numeri.

Migliora il codice

Nella programmazione è possibile migliorare il codice sotto diversi aspetti: possiamo renderlo più veloce, più breve, più semplice, più efficiente, ecc. Per il momento ci occuperemo di rendere il codice più leggibile e più comprensibile.

Confronta ora questi due programmi, che creano la medesima grafica:

Loading...
Loading...

Nonostante i due programmi svolgano lo stesso compito e si differenzino solo per gli spazi vuoti dopo la virgola e alcune righe vuote, noi esseri umani avremo maggiore difficoltà a leggere il primo esempio. Gli spazi e le righe vuote ci aiutano infatti a distinguere le parti del codice, un po' come in italiano. Immaginatediscriveretuttoinquestomodo: riusciamo comunque a capire il significato, ma la lettura ci richiede più tempo ed è molto più difficile trovare eventuali errori senza gli spazi tra le parole.

Vedremo che spesso saremo chiamati ad adottare uno stile nello scrivere il codice che non ha lo scopo di aiutare il computer ma di aiutare i colleghi programmatori umani e in fin dei conti anche noi stessi.

I colori

All'inizio di questa attività ti era stata presentata la bandiera dell'Italia (a sinistra) che però non è del tutto uguale alla bandiera che abbiamo creato oggi (a destra).

bandiera_italia_small.png

bandiera_italia2_small.png

Per creare la bandiera abbiamo utilizzato i colori verde, bianco e rosso della libreria PyTamaro che non sono però i colori corretti per la bandiera dell'Italia. Prendiamo ad esempio il colore verde: ne esistono moltissime varianti e per poterle descrivere in maniera univoca è stato inventato il sistema RGB. Anche in informatica si utilizza questa rappresentazione, insieme ad altre, per fare in modo che il computer possa riprodurre i diversi colori.

RGB è un acronimo le cui lettere stanno per Red, Green e Blue ovvero rosso, verde e blu. È infatti possibile ottenere tutti i colori miscelando solo questi tre in quantità diverse. Nota: i colori notevoli "già pronti" della libreria PyTamaro sono già pronti da utilizzare, ma anche questi sono rappresentati con RGB.

In PyTamaro possiamo utilizzare la rappresentazione RGB, per creare i colori che ci servono, grazie all'istruzione colore_rgb, che richiede come tre parametri proprio le quantità dei tre colori rosso, verde e blu espresse con un numero intero da 0 a 255.

Qui trovi altri informazioni sulla rappresentazione RGB.

Ecco un esempio di utilizzo che crea una delle strisce della bandiera con il verde corretto:

Loading...

Come puoi notare abbiamo dovuto importare anche la nuova istruzione colore_rgb dalla libreria PyTamaro prima di poterla utilizzare. Il nuovo verde che abbiamo creato è poi stato chiamato verde_corretto.

Ricopia ora il programma per creare la bandiera dell'Italia che hai scritto sopra nel riquadro qui sotto ed effettua le modifiche necessarie per ottenere i colori corretti.

I colori in RGB per la bandiera dell'Italia sono i seguenti:

  • (0, 140, 69) per il verde
  • (244, 245, 240) per il bianco
  • (205, 33, 42) per il rosso

Nota: puoi trovare i colori con una semplice ricerca online, anche per altre bandiere!

Loading...

Cosa hai imparato

In questa attività hai imparato a utilizzare la funzione accanto importandola dalla libreria, per costruire la bandiera dell'Italia. Osservando la grafica della bandiera hai individuato le parti simili, il cui codice è diverso solo in una piccola parte.

Hai iniziato inoltre a migliorare il codice che scrivi, tenendo presente alcune regole di stile basilari.

Infine ti sei confrontato con la rappresentazione RGB dei colori, utilizzandola per ottenere una bandiera più fedele all'originale. A questo scopo hai importato e utilizzato la funzione colore_rgb della libreria e definito i nuovi colori assegnando loro un nome.


This activity has been created by Sulmoni and is licensed under CC BY-SA 4.0.

It is derived from this activity and this activity.

Bandiere in Python - Italia

Logo of PyTamaro

PyTamaro is a project created by the Lugano Computing Education Research Lab at the Software Institute of USI

Privacy PolicyPlatform Version c08406b (Wed, 20 Nov 2024 12:30:00 GMT)