120 likes | 291 Views
VARIABILI. Nella precedente lezione abbiamo usato delle variabili all’interno dei flowchart. Possiamo pensare ad una variabile come ad un “contenitore” di valori identificato da un nome Supponiamo di avere una variabile chiamata a
E N D
VARIABILI • Nella precedente lezione abbiamo usato delle variabili all’interno dei flowchart. Possiamo pensare ad una variabile come ad un “contenitore” di valori identificato da un nome • Supponiamo di avere una variabile chiamata a • L’esecuzione dell’assegnamento a=5 provoca l’inserimento del valore numerico 5 all’interno del “contenitore” a 5 a BIOINFO3 - Lezione 17
ASSEGNAMENTI A VARIABILI • L’esecuzione dell’assegnamento a=a+1 comporta • In questo caso a e` una variabile scalare, cioe` contiene un solo valore • Il calcolo dell’espressione a+1, ovvero • - leggere il valore della variabile a • - sommare 1 a tale valore • Assegnamento del risultato dell’espressione alla variabile a a 5 a+1= 5+1= 6 1. a 6 2. BIOINFO3 - Lezione 17
TIPO DELLE VARIABILI • Le variabili possono contenere qualsiasi tipo di dato ad esempio numeri interi, reali, valori logici (booleani: VERO o FALSO), stringhe alfanumeriche, date, puntatori ad altre variabili, ecc… ed in alcuni linguaggi anche delle strutture dati molto complesse. • In alcuni linguaggi è necessario “dichiarare” le variabili prima del loro uso, specificando il nome ed il tipo, che non è più modificabile. Il loro valore, fino al primo assegnamento, è INDEFINITO. Altri linguaggi (es. Perl) invece sono definiti typeless e permettono di assegnare ad una variabile anche tipi diversi di dati (es. prima un numero, poi una stringa) ed il valore di una variabile non ancora utilizzata è 0 o “” (stringa vuota) nome Mario data 2003-03-17 BIOINFO3 - Lezione 17
STRUTTURE DATI • È frequente che in un algoritmo (programma) si debbano elaborare degli insiemi di dati in qualche modo correlati tra di loro. • Per questa ragione sono state inventate alcune strutture dati, che raggruppano questi insiemi di dati sotto un unico nome, permettendo di trattarli nel loro complesso o singolarmente. • Vedremo: • ARRAY • ARRAY ASSOCIATIVI • LISTE BIOINFO3 - Lezione 17
ARRAY • Possiamo pensare ad un array come ad un insieme di variabili aventi lo stesso nome ma identificate singolarmente da un indice numerico • In alcuni linguaggi è necessario dichiarare gli array prima dell’uso, specificandone nome, numero di elementi e loro tipo (es. un array chiamato “nomi” di 3 elementi di tipo stringa). In altri linguaggi (Perl ad es.) ciò non è necessario ed è possibile in ogni momento aggiungere nuovi elementi (anche di tipo diverso!) a 5 2 3 8 7 a[0] a[1] a[2] a[3] a[4] nomi Maria Giorgio Luca nomi[0] nomi[1] nomi[2] BIOINFO3 - Lezione 17
RIFERIMENTI AD UN ARRAY • Alcuni linguaggi permettono di riferirsi all’intero array (per assegnare dei valori simultaneamente a tutte le celle o per ricavare il valore di tutte le celle semplicemente usandone il nome • a=(5,2,3,8,7) • nomi=(‘Maria’,’Giorgio’,’Luca’) • Potete notare ancora una volta che normalmente i valori alfanumerici sono racchiusi tra apici (‘ ’ o “ ” a seconda dei linguaggi e talvolta con effetti diversi) a 5 2 3 8 7 a[0] a[1] a[2] a[3] a[4] nomi Maria Giorgio Luca nomi[0] nomi[1] nomi[2] BIOINFO3 - Lezione 17
RIFERIMENTI AD UN ARRAY • È possibile riferirsi alla singola cella di un array (ovviamente per assegnarvi un valore o per ricavarlo) indicandone il nome e l’indice. • a[2]=4 • nomi[0]=‘Marta’ a 5 2 3 8 7 5 2 4 8 7 a a[0] a[1] a[2] a[3] a[4] a[0] a[1] a[2] a[3] a[4] nomi Maria Giorgio Luca nomi[0] nomi[1] nomi[2] nomi Marta Giorgio Luca nomi[0] nomi[1] nomi[2] BIOINFO3 - Lezione 17
ESEMPIO • Provate ad eseguire su carta l‘algoritmo per ricavare il valore contenuto nell‘array al termine dell‘esecuzione • a=(6,3,5,8,9) BIOINFO3 - Lezione 17
ESERCIZIO • Inserire all’interno di un flow-chart, in cui siano già stati inizializzati 2 array a e b di n elementi, le operazioni necessarie per assegnare agli elementi di un array s la somma dei corrispondenti elementi di a e b. BIOINFO3 - Lezione 17
ESERCIZIO • Trovare il valore minimo all’interno di un array a di n elementi ed assegnarlo alla variabile min, assegnando anche ad una variabile index il suo indice nell’array. Supponiamo che tutti i valori di a siano diversi (un solo minimo!) BIOINFO3 - Lezione 17
RIEPILOGO • Variabili • Strutture dati • Array: ricerca minimo BIOINFO3 - Lezione 17