Finora abbiamo analizzato pagine web scritte in HTML; tale codice, insieme ad altro codice, come ad esempio i fogli di stile CSS, sono utilizzati dai browser visualizzare pagine web.
La visualizzazione delle pagine web e la navigazione tra pagine web con il solo codice HTML è statica. Ciò significa che una volta realizzata la pagina in HTML e visualizzata attraverso il browser, l’utente potrà semplicemente leggere i contenuti della pagina senza poter effettuare delle “funzioni”; in realtà con l’HTML 5 esiste una sorta di interazione che permette di modificare i contenuti di una pagina, però capirai in che non è sufficiente per realizzare un applicativo web completo.
Prima di addentrarci nell’analisi di un determinato linguaggio di programmazione è necessario fare una piccola introduzione; dobbiamo parlare di cosa sia un algoritmo.
Pensa a un algoritmo come a una strada da percorrere e in base a degli eventi che accadono decidere di percorrere verso una direzione o verso qualche altra direzione o in generale fare qualche altra attività.
Facciamo un esempio:
- Parti dal punto dove è posizionata la tua automobile;
- Al primo incrocio che incontri se è vero che piove a allora gira a sinistra altrimenti gira a destra.
- Alla seconda rotonda che incontri fai tre volte il giro della rotonda, poi esci.
- Spegni l’automobile.
In questo piccolo esempio di algoritmo trovi un po’ quello che è la base per programmare.
Trasformiamolo in pseudo-codice (non è un codice eseguibile, è un mix tra linguaggio parlato e codice da far interpretare al PC).
Il nostro algoritmo lo possiamo trasformare come di seguito riportato:
- Start (chiedi al PC di eseguire il codice)
- if (piove) then { gira a sinistra } else { gira a destra }
- for (tre volte) { gira la rotonda }
- End
Il codice illustrato è una prima idea di come dobbiamo trasformare il linguaggio parlato in linguaggio macchina per fare capire al PC cosa deve fare.
Analizziamo il codice dell’esempio;
Il punto 1 è solo l’inizio dell’esecuzione del codice.
Nel punto 2 è stato convertito il linguaggio parlato in linguaggio che si avvicina a quello da passare al PC; in inglese “if” significa se, “then” significa allora, “else” significa altrimenti. Tradotto sarebbe “se piove allora gira a sinistra altrimenti gira a destra”;
Nel punto 3, “for” significa “per”, quindi tradotto sarebbe: “per tre volte gira la rotonda”.
L’ultimo punto è solo la fine dell’algoritmo.
Entriamo più nel dettaglio. Iniziamo con l’analisi della condizione “if” e del cilo “for”. La condizione “if” verifica se è vera una certa condizione, se tale condizione è vera esegue del codice altrimenti non esegue il codice.
Esempio:
if( 10>5 ) then { stampa(ciao!) } else { stampa(arrivederci!) }
Tale condizione verifica se è vero che 10 sia maggiore di 5, se è vero allora stamperà a video la scritta “ciao!” altrimenti stamperà “arrivederci!”. In questo caso la condizione sarà sempre vera poiché 10 è sempre maggiore di 5.
Se la condizione fosse stata ( 10<5 ) allora la verifica sarebbe stata falsa quindi la stampa sarebbe stata “arrivederci!”.
Abbiamo visto che la condizione “if” a seconda se vera o falsa esegue una parte di codice o un’altra parte di codice. Il ciclo “for” invece esegue più volte una parte di codice fino a quando la condizione è vera; nel momento in cui la condizione diventa falsa allora non esegue più il codice e esce.
Esempio
for( i=0; i<3 ; i+1 ) { stampa(ciao!) }
Per l’esempio abbiamo introdotto una variabile; la variabile è appunto un nome al quale è associato un valore che può cambiare. In questo caso la variabile è la lettera “i” che ha un valore iniziale pari a “0” (i=0); ogni volta che esegue il codice dentro le parentesi graffe, quindi stampa a video “ciao!”, incrementa il valore di uno (i+1); il codice nelle parentesi graffe è eseguito solo se la condizione (i<3) è vera. La condizione è vera la prima volta perché “i” pari a “0” è < di 3 quindi sarà stampato “ciao!” la prima volta; è vera anche la seconda volta perché “i” pari a “1” è minore di 3 e sarà stampato il secondo “ciao!”; sarà vera anche la terza volta perché “i” pari a 2 è minore di 3 e stampato il terzo “ciao”; non è vera la quarta volta perché “i” sarà pari a 3 quindi non è minore di 3 e non sarà stampato “ciao!”.
Il risultato del ciclo sarà la stampa di seguito riportata:
ciao!
ciao!
ciao!
Benissimo, hai compreso cosa sia la condizione “if” che il ciclo “for”, resta da analizzare un ultimo ciclo “while” e per te l’informatica non avrà più segreti.
Il ciclo while, tradotto finché, è un po’ come il for, cicla del codice fino a quando è vera una condizione, dopodiché esce; con il tempo capirai quando deve essere utilizzato. In pratica funziona così:
i=0; while(i<3) { stampa(ciao!); i = i+1; }
In questo caso, con la prima istruzione dichiariamo una variabile con il nome “i” e le assegniamo il valore “0”;
L’istruzione “while”, esegue più volte il codice all’interno delle parentesi graffe finché è vero che (i<3).
Sarà quindi vero la prima volta perché i=0, sarà vero la seconda volta perché i=1 (con l’istruzione i=i+1 è stato incrementato di 1 il valore di i), così la seconda volta perché i=2 è minore di 3; la terza volta il controllo sarà falso perché i vale 3 che non è minore di 3, a questo punto il ciclo termina e il codice non sarà eseguito.
Il risultato sarà lo stesso del ciclo “for”, cioè stamperà tre volte la stringa “ciao!”, però tale risultato è raggiunto con una diversa istruzione (“while”).
Ok, ma per fare dei test pratici? Puoi farlo attraverso un linguaggio di programmazione (Java, c, c++…) o uno linguaggio di scripting come JavaScript.
Iniziamo con JavaScript, vai subito al relativo articolo! continua…
Non esitare a lasciare un commento o chiedere informazioni per chiarire i tuoi dubbi!