Imparare a programmare da zero - 3/3

Tags : imparare a programmare

Questa è la terza e ultima parte di un trio di post volto a spiegare le basi-basi della programmazione.
Se parlo di torte e non capite perchè, leggete le parti precedenti :)

Primi passi - Strutture comuni

Come le diverse lingue dei diversi paesi, i linguaggi di programmazione hanno regole e sintassi diverse, ma sono tutte accomunate dallo stesso scopo: comunicare con una macchina.
E tutti contengono delle strutture "base" comuni che vengono utilizzate poi come mattoncini lego per creare algoritmi complessi.

Vediamo quali sono:

if - else

La struttra if-else direi che è la più comune in assoluto.
Si può ricondurre facilmente a "SE - ALTRIMENTI" e serve a verificare una condizione.

if (condizione)
    fai questo
else
    fai quest'altro

come si può vedere, se la (condizione) è vera fa "questo", altrimenti fa "quell'altro"

esempio con la famosa torta:

SE (la torta è cotta)
    tirala fuori dal forno
ALTRIMENTI
    girala dalla parte meno cotta

Cicli

I cicli sono l'altra struttura comune a tutti i linguaggi, servono ad eseguire ripetutamente un gruppo di istruzioni finchè non si verifica una certa condizione.
Possono essere di due tipi, i cicli "for" e i cicli "while".

I cicli for partono dal presupposto che all'inizio dell'esecuzione si sappia già quante saranno le ripetizioni e si possono interpretare come un "Per n volte fai questo".

Esempio: è il mio compleanno e sulla torta ci sono 24 candeline.
Il ciclo for allora potrebbe essere

for 24 volte
    spegni una candelina

I cicli while invece basano il loro numero di esecuzioni sul verificarsi o meno di una condizione e sono riconducibili a un "Finchè"

Il ciclo while della torta sarebbe:

while ci sono ancora candeline accese
    spegni una candelina

La differenza dal ciclo for si ha perchè io eseguo l'azione di spegnere una candelina tante volte finchè non ce ne sono più accese, a prescindere dal numero.

Il ciclo while presenta anche una variante "do-while" che invece verifica la condizione DOPO aver effettuato l'azione, del tipo:

spegni una candelina
fallo ancora finchè ci sono ancora candeline accese

In questo modo l'azione viene eseguita SEMPRE almeno una volta.

Questa situazione ad esempio produrrebbe un errore nel caso che all'inizio del ciclo do-while non ci siano candeline accese.
Una persona reale semplicemente non soffierebbe, ma i computer sono macchine e non pensano e sicuramente alzerebbero tutto lo zucchero a velo con una bella soffiata PRIMA di vedere se c'erano candeline accese da spegnere.

La domanda che qui sorge spontanea quindi è: perchè usare i cicli do-while che possono generare errori?
Giusto, ma ci sono situazioni in cui tornano utili.

Sporcarsi le mani

Bene, arrivati fin qui magari vi è venuta voglia di provare da soli, eh?
Quello che posso consigliare è aspettare ancora un attimo a buttarsi su un linguaggio in particolare e soffermarsi ancora un momento sulle basi logiche utilizzando il portale http://code.org/learn.

Code.org è un progetto molto interessante portato avanti con il contributo dei "big" dell'informatica attuale con lo scopo di diffondere una conoscenza che diventerà preziosissima nell'immediato futuro.

I tutorial sono guidati, suddivisi per argomento e ordinati per difficoltà crescente e, anche se a prima vista possono apparire un po' infantili forniscono basi importantissime (e sono anche divertenti da fare).

Una volta conclusi quelli, potete cimentarvi con un linguaggio "vero", e quello che consiglierei è partire con uno di alto livello, tipo Python, nel quale ritroverete facilmente tutti i "comportamenti" che avete osservato nei tutorial di Code.org.

Come link stavolta consiglio http://learnpythonthehardway.org/ o http://www.codecademy.com/tracks/python.
Il metodo di studio proposto da quei siti funziona benone :)

Se durante l'approfondimento del mondo della programmazione voleste mettere alla prova le conoscenze che avete acquisito, potete cimentarvi nelle sfide di Project Euler o CodeAbbey.

Buon divertimento!

Comments !