Introduzione al pensiero computazionale
Pensavate davvero di cominciare subito a programmare?
Ah, poveri stolti.
Prima di fare bisogna pensare.
Perciò, cominciamo a pensare ponendoci questa domanda: cos'è il pensiero computazionale?
Il pensiero computazionale è quel particolare modo di ragionare e risolvere un problema attraverso:
1) una rappresentazione del problema
2) un algoritmo
sfruttando un sistema di calcolo.
Questo è quanto.
Il pensiero computazionale si compie con informazioni, e l'informatica è la scienza che si occupa del trattamento dell'informazione attraverso procedure automatizzabili.
E da questo si arriva al computer, che è una macchina in grado di ricevere, trasmettere, immagazzinare ed elaborare informazioni, risolvendo i più svariati problemi in modo rapido e affidabile.
Il computer, come tutti sanno, è diviso in hardware, la parte tangibile e visibile, e software, la parte intangibile, costituita da programmi e applicazioni che permettono di tradurre le informazioni da noi fornite in input al computer in linguaggio binario (la "lingua" dei computer).
Perciò, quando andiamo a risolvere un problema con un computer, operiamo nel seguente modo:
dato un problema, elaboriamo una serie di procedure tramite la programmazione, una sequenza di istruzioni, e quindi di informazioni, che viene tradotta in codice binario in modo che il computer possa eseguirla.
Il computer perciò è l'esecutore delle informazioni che riceve, e le esegue esattamente come sono state consegnate.
Questo perché il computer non è intelligente (spero che nessuno fin'ora lo abbia pensato...).
Il computer non è intelligente perché non riesce a risolvere il problema da solo, ha bisogno della nostra programmazione, delle nostre istruzioni, come se ogni volta dovessimo spiegare al computer come si fa una determinata cosa.
Un esempio di pensiero computazionale, ovvero di eseguire delle istruzioni esattamente come sono date, può essere cucinare seguendo una ricetta da un libro di cucina o fare un esperimento seguendo una relazione.
Infatti, consiglio particolarmente l'approccio del pensiero computazionale quando si tratta di lavorare su relazioni di fisica/chimica/biologia: azzerate il vostro istinto, parlate all'interlocutore come se fosse un idiota, perché può darsi che una cosa che a voi sembra ovvia non lo è affatto per l'interlocutore.
Un concetto molto simile è applicato nel teatro mimato: lo spettatore, se non si eseguono movimenti ampi, chiari e ben visibili, non è detto sia in grado di percepire la scena per come la intendete voi.
Molto spesso, sia a teatro che nel compiere queste altre attività, è bene "uscire fuori" dal ruolo dell'esecutore e mettersi nei panni del ricevitore, dell'utente.
Nel caso dell'informatica, invece, è meglio mettersi nei panni dell'esecutore, poiché invece di ricevere ed elaborare informazioni, stiamo dando informazioni che dovranno essere interpretate da un esecutore esterno.
Ma che tipo di informazioni diamo noi al computer?
Si tratta di algoritmi (dan dan daaaaaaaaaaan).
L'algoritmo è per l'appunto la successione di passi necessaria per la soluzione di una classe di problemi (per esempio cucinare una torta seguendo la ricetta o provare a eseguire un esperimento seguendo le istruzioni di una relazione, come detto prima)
L'algoritmo deve poter essere eseguito da chiunque, perciò non può essere né ambiguo né ridondante.
Per programmare, quindi, abbiamo bisogno di un computer e di una serie di algoritmi, ovvero di una serie di istruzioni precise e di un esecutore preciso ed affidabile (sì, insomma, quasi sempre...) - un concetto che stiamo ripetendo da più di mezz'ora e che credo sia l'unica cosa di tutta 'sta roba noiosa che siete riusciti a ricordare...
L'unico problema di questa coppia perfetta è che noi non parliamo il linguaggio binario, ovvero il linguaggio elaborato dai computer.
Di conseguenza, algoritmi e computers sono incompatibili, dato che la CPU (central processing unit, dal nome si dovrebbe capire cosa sia) ragiona in binario, mentre gli algoritmi sono le nostra istruzioni, perciò per ora sono frasi in una determinata lingua umana (italiano, inglese, francese etc)
E qui entra in gioco il linguaggio di programmazione, ovvero quella determinata cosa che voi tutti state aspettando io vi spieghi ma per la quale dovrete ancora aspettare! (mi rincresce molto)
Il linguaggio di programmazione è un traduttore: riceve il nostro input, lo traduce in codice binario e lo trasmette alla CPU, che risponde con un determinato output.
Esistono centinaia di linguaggi di programmazione e sono più o meno tutti uguali.
Noi andremo ad utilizzare Python (sìììììììììììììììì).
I motivi sono semplici:
- è potente
- è gratuito
- è semplice ed intuitivo
-la NASA, Google, YouTube e Yahoo! hanno utilizzato questo codice, prova finale della sua efficienza.
- il suo nome viene dallo show americano comico più demenziale che abbia mai visto, Monty Python. Se vi capita, date un'occhiata a qualche episodio. Di sicuro finirete come me a chiedervi quanto sappia essere demenziale questo mondo.
E siccome vi ho abbastanza rotto, passiamo alla pratica (ALLELUJA)
Per prima cosa, è necessario accedere all'IDLE di Python (basta cercare "idle" nello Start), quella determinata shell che io definisco "foglio di brutta".
Adesso, basterà dare un comando al nostro computer.
Cominciamo con qualcosa di semplice: facciamo printare qualcosa al computer.
Printare, o più semplicemente stampare, è l'istruzione che permette di rendere visibile all'utente una determinata... ehm... cosa (posso chiamarla così?).
L'output di questa funzione, di conseguenza, è la visualizzazione di ciò che sta sotto il comando della funzione stampa, ovvero il complemento oggetto del nostro comando (ovvero "computer stampa 'oggetto funzione print'").
Quasi tutte queste funzioni di base funzionando nel seguente modo:
'carattere speciale (che assume spesso un colore non appena viene digitato) della funzione'("-oggetto su cui eseguire la funzione-")
Proviamo adesso a far printare al nostro computer la frase "hello world", "ciao mondo", che se non ricordo male è la tradizionale prima frase di ogni programmatore Apple (tutti gli anti-Apple sono pregati di printare comunque questa cosa. Poi potrete printare tutti gli "Apple schifo" che volete)
Considerando che la funzione per printare è per l'appunto il carattere speciale print, procediamo nel seguente modo:
print("hello world")
Che si può tradurre in:
[computer] stampa: "hello world"
Fatto?
Allora avrete notato che la scritta all'interno delle due virgolette si è colorata di verde.
Questo perchè la funzione print stampa dati di tipo str, ovvero "stringhe", dati non matematici, letterali, con cui il computer non può quindi compiere calcoli (come invece potrebbe fare con dei float o degli int) e che senza virgolette per il computer non avrebbero senso. Perciò, le virgolette servono a spiegare al computer che quel determinato "coso" (termine molto poetico) è una stringa, ovvero una parte fatta presumibilmente di lettere e con la quale non si possono compiere calcoli.
Introdurrò più avanti i tipi di variabili, altrimenti dovrei cominciare a parlare di float, int e bool, e da lì passare alle variabili e a i loro types, "tipologie", e a come poter printare le loro tipologie, e non finirei più.
Perciò, per adesso, anzi, per oggi BASTA.
Ah, e comunque, congratulazioni. Printando quel "hello world" avete scritto il vostro primo algoritmo. Avete fatto la vostra prima programmazione (applauso orgoglioso).
Più avanti, introdurrò altri concetti, magari integrando qualche esercizio che verrà poi spiegato nel capitolo successivo.
Se ci fossero domande o curiosità non esitate a chiedere.
Se avete correzioni vi proibisco di stare zitti.
Spero che troverete questa cosa utile ma soprattutto simpatica.
Ancora grazie al prof Neri e alle sue slide che ammetto di aver palesemente copiato in certi punti (forgive me please).
Potrei anche aggiungere capitoli sulla mia personale esperienza da programmatrice (sì, come se fossi esperta, nei miei sogni!) e su come lavoriamo noi in classe (ovvero il casino moderato che sono in grado di creare otto sudenti mentre digitano su delle tastiere che improvvisamente cambiano lingua da sole), insomma, ci butterò dentro un po' di tutto.
Se dovessi darvi dei consigli su come cominciare, posso solo dirvi abbiate pazienza e accettate l'aiuto altrui, perché nessuno nasce imparato.
Adios amigos (e io neanche faccio spagnolo. Allora perché parlo spagnolo?)
Bạn đang đọc truyện trên: Truyen247.Pro