VARIABILI

11
BIOINFO3 - Lezione 17 1 VARIABILI 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 a 5

description

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 - PowerPoint PPT Presentation

Transcript of VARIABILI

Page 1: 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

Page 2: VARIABILI

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.

Page 3: VARIABILI

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

Page 4: VARIABILI

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

Page 5: VARIABILI

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]

Page 6: VARIABILI

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]

Page 7: VARIABILI

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]

Page 8: VARIABILI

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)

Page 9: VARIABILI

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.

Page 10: VARIABILI

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!)

Page 11: VARIABILI

BIOINFO3 - Lezione 17 1111

RIEPILOGORIEPILOGO

•Variabili

•Strutture dati

•Array: ricerca minimo