VARIABILI
description
Transcript of VARIABILI
BIOINFO3 - Lezione 17 11
VARIABILIVARIABILI
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
a 5
BIOINFO3 - Lezione 17 22
ASSEGNAMENTI A VARIABILIASSEGNAMENTI A VARIABILI
L’esecuzione dell’assegnamento a=a+1 comportaIn questo caso a e` una variabile scalare, cioe` contiene un solo valore
1. Il calcolo dell’espressione a+1, ovvero
- leggere il valore della variabile a
- sommare 1 a tale valore
2. Assegnamento del risultato dell’espressione alla variabile a
a 5
a 6
a+1= 5+1= 6 1.
2.
BIOINFO3 - Lezione 17 33
TIPO DELLE VARIABILITIPO 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 44
STRUTTURE DATISTRUTTURE 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 55
ARRAYARRAY
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 7a[0]a[1]a[2]a[3]a[4]
nomi Marianomi[0]
Giorgionomi[1]
Lucanomi[2]
BIOINFO3 - Lezione 17 66
RIFERIMENTI AD UN ARRAYRIFERIMENTI 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 7a[0]a[1]a[2]a[3]a[4]
nomi Marianomi[0]
Giorgionomi[1]
Lucanomi[2]
BIOINFO3 - Lezione 17 77
RIFERIMENTI AD UN ARRAYRIFERIMENTI 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 4 8 7a[0]a[1]a[2]a[3]a[4]
a 5 2 3 8 7a[0]a[1]a[2]a[3]a[4]
nomi Marianomi[0]
Giorgionomi[1]
Lucanomi[2]
nomi Martanomi[0]
Giorgionomi[1]
Lucanomi[2]
BIOINFO3 - Lezione 17 88
ESEMPIOESEMPIO
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 99
ESERCIZIOESERCIZIO
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 1010
ESERCIZIOESERCIZIO
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 1111
RIEPILOGORIEPILOGO
•Variabili
•Strutture dati
•Array: ricerca minimo