Stampa
Categoria: Didattica 2.0
Visite: 12502

Buongiorno,

oggi vediamo un semplice confronto tra due “linguaggi di programmazione” l’ambiente Scratch e Python.

Adoro entrambi, non lo nascondo. Sono semplici, efficaci e nel caso di python potente, direi quasi il futuro della programmazione dei prossimi anni (date un'occhiata a python 3.5 e capirete il futuro di questo linguaggio...) perchè è orientato ad oggetti, ha potenti librerie, ha una tipizzazione dinamica, è utilizzabile come linguaggio di configurazione è estendibile in C e in C++..

Il senso dell'articolo non vuole essere quello di paragonare due ambienti completamente diversi, ma vuole solo incuriosire docenti e studenti ad avvicinarsi a Python una volta che si è iniziati con Scratch (con Python è utile programmare microcontrollori come Raspberry o il robot umanoide Nao).

Pronti?

 

L'informatica si fa sul campo, provando e riprovando, includendo l'errore nella propria dimensione di apprendimento!

Creiamo un semplice programma per generare i primi n numeri di Fibonacci.

In sostanza chiediamo di generare una sequenza di numeri dove ogni elemento è la somma dei due precedenti (i primi 2 numeri della sequenza saranno 1 e 1).

Come fare?

Creiamo una “lista” della spesa dove inseriamo in essa i numeri della nostra sequenza Fibonacci., l'elemento della successione n-simo sarà la somma dei suoi due precedenti nella lista

In primis chiediamo di impostare il numero massimo dei numeri da scrivere ed ogni qualvolta creiamo un numero della successione, lo aggiungiamo alla nostra lista della spesa.

Con Scratch è molto immediato farlo, si usa la funzione aggiungi elemento alla lista e occorre creare una variabile che è la risposta alla domanda sul numero massimo di elementi della lista .

Con Python è ancora più semplice sia creare una lista (si noti Fibonacci = […] sia aggiungere un elemento alla lista utilizzando il comando append, ma è ancor più semplice creare una variabile!!.

Uso il ciclo for per n-volte apri al numero di elementi chevoglio visualizzare (in realtà tolti i primi 2 numeri la ricorsione del ciclo è n-2).

Semplice vero?

Ecco i due programmi così creati

Con Scratch

https://scratch.mit.edu/projects/114339868/

Con Python

L'eleganza del codice scritto con Python è sorprendente!

Ma vogliamo fare qualcosa di più

Vogliamo creare un algoritmo che mi elenca i primi n (n è impostato dall'utente)numeri primi .

E' qui che Python fa la differenza.

Utilizzo come algoritmo il setaccio di Eratostene. In sostanza creo i primi n numeri naturali e divido ognuno di essi per i numeri naturali ad esso precedenti, calcolando di volta in volta il resto. Coloro che hanno resto zero non sono primi gli altri sì.

Ecco il codice con Scratch (crea solo una lista infinita)

https://scratch.mit.edu/projects/114356171/

ed eccolo con Python

cattura3

 

Lascio al lettore il compito di scrivere esattamente il codice di Python con Scratch e di impostare il numero massimo degli n numeri primi da visualizzare.

I numeri primi saranno l'oggetto di un prossimo articolo (guardate qui con Scratch il confronto tra 2 diversi algoritmi per generare i numeri primi https://scratch.mit.edu/projects/94624716/

Mi piace concludere con una frase che trovo illuminante

Una cosa accomuna Google, Star Wars e la Nasa: PYTHON (e nel proseguo dei mesi vedremo le sue potenti librerie grafiche)!!!!

 

Per altri articoli di didattica 2.0 visita la Sezione

 

Per info e suggerimenti

Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.