• Non ci sono risultati.

Ripetizioni di segmenti di codice•Spesso è necessario ripetere più volteuno stesso segmento dell'algoritmo(e.g. I/O, elaborazioni dati)•Esistono due possibilità:

N/A
N/A
Protected

Academic year: 2021

Condividi "Ripetizioni di segmenti di codice•Spesso è necessario ripetere più volteuno stesso segmento dell'algoritmo(e.g. I/O, elaborazioni dati)•Esistono due possibilità:"

Copied!
2
0
0

Testo completo

(1)

1

Elementi di Informatica 1

Ripetizioni di segmenti di codice

• Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni dati)

• Esistono due possibilità:

– Macro – Procedure

Elementi di Informatica 2

Le macro

• Una macro è definita come un insieme di istruzioni (o blocco)

• Queste vengono sostituite all'interno del codice

• Servono per rendere più leggibile il codice e per facilitarne la modifica coerente

• #define MAX(a,b) (a>b ? a : b)

Elementi di Informatica 3

Le procedure

• Una procedura è definita come un insieme di istruzioni (o blocco)

• Il controllo del flusso passa alla

procedura ogni volta che viene invocata

• E' necessario un meccanismo per ritornare al punto chiamante

• Utilizzo dello stack (Stack Pointer)

Elementi di Informatica 4

Procedure e funzioni

• La ripetizione di un segmento di codice può avere due obiettivi:

– ripetere la stessa sequenza di operazioni – calcolare diversi valori, partendo da

parametri diversi

• La differenza principale è:

– la procedura non ritorna nessun valore – la funzione ritorna un valore (ad es void)

Elementi di Informatica 5

Passaggio dei parametri

• Ogni procedura/funzione generalmente richiede un insieme di dati

• I dati devono essere accessibili:

– in variabili globali

– oppure sotto forma di parametri

• I parametri sono dati che vengono utilizzati dalla procedura; ad ogni chiamata possono assumere valori diversi

Elementi di Informatica 6

Passaggio dei parametri

• I parametri possono essere passati in modi diversi:

– per valore

vengono effettuate delle copie dei valori;

le copie sono usate dalla procedura che può anche modificarne il valore – per riferimento

si passa il puntatore alle variabili; i valori possono essere modificati dalla procedura

(2)

2

Elementi di Informatica 7

Side effects

• Se il passaggio dei parametri avviene per valore, l'effetto della procedura è limitato al valore che ritorna

• Se i parametri sono passati per riferimento, la procedura può avere effetti collaterali (side effects)

– è un modo per far in modo che la procedura ritorni più di un valore

Elementi di Informatica 8

Le procedure

• Annidamento:

in una procedura può essere contenuta un'altra chiamata a procedura

• Limite sulla dimensione dello stack

Elementi di Informatica 9

Le procedure

• Ricorsione:

all'interno di una procedura avviene una chiamata alla procedura stessa

• Limite sulla dimensione dello stack

• Molti algoritmi sono basati sulla ricorsione

Elementi di Informatica 10

La ricorsione

• Esempi:

– somma di N dati – calcolo del fattoriale

– calcolo dei primi N numeri primi – visita di un albero

Riferimenti

Documenti correlati

Nelle liste richieste occorre elencare le sigle delle regole nell’ordine che corrisponde alla se- quenza di applicazione: la prima (a sinistra) della lista deve essere la sigla

La lista associata a un (ben preciso) procedimento si costruisce quindi per passi successivi a partire dal primo elemento che è la sigla della prima regola da applicare; ad ogni

La lista associata a un (ben preciso) procedimento si costruisce quindi per passi successivi a partire dal primo elemento che è la sigla della prima regola da applicare; ad ogni

Nelle liste richieste occorre elencare le sigle delle regole nell’ordine che corrisponde alla se- quenza di applicazione: la prima (a sinistra) della lista deve essere la sigla

La lista associata a un (ben preciso) procedimento si costruisce quindi per passi successivi a partire dal primo elemento che è la sigla della prima regola da applicare; ad ogni

Nelle liste richieste le sigle delle regole sono elencate nell’ordine che corrisponde alla sequenza di applicazione: la prima (a sinistra) della lista deve essere la sigla

Dati due segmenti : AB e CD costruire la loro somma comporta trasportare i due Dati due segmenti : AB e CD costruire la loro somma comporta trasportare i due. segmenti su una

Dal punto di vista informatico si tratta di utilizzare una variabile (nell’esempio potrebbe essere rappresentata dal totalizzatore di cassa) che viene aggiornata