07 – Linguaggi di programmazione, introduzione.

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:

  1. Parti dal punto dove è posizionata la tua automobile;
  2. Al primo incrocio che incontri se è vero che piove a allora gira a sinistra altrimenti gira a destra.
  3. Alla seconda rotonda che incontri fai tre volte il giro della rotonda, poi esci.
  4. 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:

  1. Start (chiedi al PC di eseguire il codice)
  2. if (piove) then { gira a sinistra } else { gira a destra }
  3. for (tre volte) { gira la rotonda }
  4. 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!