.


:




:

































 

 

 

 


Verifica le tue conoscenze




Algoritmi

 

Un algoritmo è una sequenza di passi che devono essere eseguiti secondo un ordine prefissato per raggiungere il risultato voluto.

 

Per descrivere in modo corretto un algoritmo è importante avere chiaro qual è lobiettivo da raggiungere, cioè quali sono i risultati da ottenere.

Solo quando è chiaro lobiettivo da raggiungere (dati di output) e quando sono a disposizione tutte le informazioni di partenza (dati di input) è possibile definire un algoritmo.

La strategia risolutiva cambia in funzione dei dati che abbiamo a disposizione. Per esempio le istruzioni per determinare larea di un quadrato cambiano se abbiamo a disposizione il lato o il perimetro.

 

Un algoritmo per essere definito tale deve avere le seguenti caratteristiche:

  1. finito

deve essere composto da un numero finito di passi ripetuti un numero finito di volte

  1. deterministico

a fronte degli stessi dati di input deve dare gli stessi risultati

  1. non ambiguo

ogni istruzione deve essere interpretata univocamente dallesecutore

  1. generale

deve fornire soluzioni a tutti i problemi appartenenti alla stessa classe.

Possiamo ora dare una definizione più formale di algoritmo:

 

Un algoritmo è un insieme finito e ordinato di passi elementari che permettono di risolvere tutti i problemi di una determinata classe.

 

Componenti di un algoritmo

 

Le componenti di un algoritmo sono i dati, cioè gli oggetti su cui operare, e le istruzioni, cioè i passi elementari da eseguire.

 

Dati

Ad ogni dato è associato un nome che lo identifica in modo univoco; è sempre buona norma dare ai dati nomi significativi.

 

In base alla modalità di interazione con lelaboratore possiamo classificare i dati di:

 

input dati necessari allelaborazione forniti dallesterno

output risultati dellelaborazione forniti allesterno

interni (o di lavoro o intermedi) dati ottenuti durante lelaborazione ma non interessanti per lutente.

 

In base agli oggetti che rappresentano possiamo classificare i dati in:

 

numerici dati con cui è possibile effettuare calcoli (possiamo distinguere tra numerici interi e numerici con cifre decimali)

alfanumerici detti anche stringhe, sono dati che possono contenere qualunque tipo di carattere

 

logici o booleani possono valere solo Vero o Falso (true e false) e quindi sono utilizzati quando si vuole indicare la possibilità di scelta tra due opzioni.

 

In base alla possibilità di cambiare o meno il valore del dato durante lelaborazione possiamo classificare i dati in:

 

costanti il valore rimane immutato nel tempo

variabili il valore può cambiare nel tempo.

 

Il concetto di variabile è molto importante nella definizione degli algoritmi. Per comprendere meglio il suo significato si può pensare a una variabile come a un contenitore in cui si possono introdurre dei valori. Ogni variabile è caratterizzata dal nome e dal tipo di dato che dovrà contenere. Fisicamente le variabili risiedono in memoria centrale.

 

Istruzioni

 

I passi elementari che compongono lalgoritmo sono le istruzioni che permettono di dare comandi allesecutore (cioè il computer).

Le istruzioni si classificano come:

istruzione di lettura permette di assegnare ad una variabile un dato di input

istruzione di scrittura permette di visualizzare il valore di una variabile risultato dellelaborazione

istruzione di assegnazione permette di assegnare un valore ad una variabile in vari modi (possiamo assegnare un valore costante, il valore di unaltra variabile o il risultato di unespressione).

Le variabili che si trovano a destra di unoperazione di assegnazione devono essere state inizializzate con unoperazione di lettura o con unaltra operazione di assegnazione altrimenti potrebbero non avere un valore definito.

 

E importante osservare che loperazione di assegnazione non altera il valore delle variabili a destra del simbolo =, mentre viene perso il valore contenuto nella variabile a sinistra del simbolo =.

 

 

VERIFICA LE TUE CONOSCENZE

Cosa significa programmare?

Che differenza cè tra linguaggi naturali e linguaggi artificiali?

Cosè il linguaggio macchina?

A cosa servono compilatori e interpreti?

Cosa significa dire che un computer è programmabile?

Cosè un algoritmo?

Quali sono le caratteristiche di un algoritmo?

Quali sono le componenti di un algoritmo?

Cosè un dato di input? E di output?

Quando un dato è definito numerico? E alfanumerico?

Che differenza cè tra variabile e costante?

Cosè un dato booleano?

Quali tipi di istruzioni compaiono negli algoritmi?

A cosa servono le istruzioni di lettura e di scrittura?

A cosa serve listruzione di assegnazione?

 





:


: 2016-03-28; !; : 787 |


:

:

, .
==> ...

1975 - | 1790 -


© 2015-2024 lektsii.org - -

: 0.01 .