• Non ci sono risultati.

Programmazione strutturata

N/A
N/A
Protected

Academic year: 2021

Condividi "Programmazione strutturata"

Copied!
2
0
0

Testo completo

(1)

Azzolini Riccardo 2018-09-25

Programmazione strutturata

1 Semantica

• L’assembler ha una semantica (significato delle istruzioni) descritta in termini delle operazioni eseguibili dal processore (semantica operazionale).

• I linguaggi di alto livello aggiungono un livello di astrazione: la loro semanti- ca viene specificata rispetto alle operazioni eseguibili dalla macchina astratta. Il programmatore può quindi ragionare ad alto livello.

2 Organizzazione delle istruzioni

• La macchina fisica consente di organizzare le istruzioni solo tramite sequenza e salto.

• Le macchine astratte consentono organizzazioni diverse, come la programmazio- ne strutturata.

3 Programmazione strutturata

Basata su tre strutture di controllo fondamentali:

• sequenza

• selezione

• iterazione

3.1 Vantaggi

Si ha una migliore leggibilità dei programmi, dato che:

• ogni struttura ha un solo punto d’ingresso e un solo punto di uscita (ciò consente di combinarle in modo arbitrario)

• il flusso di esecuzione è (in teoria) evidente dalla struttura del codice

1

(2)

Idealmente, si vorrebbe poter stabilire cosa fa un programma senza eseguirlo. In generale, però, ciò è matematicamente impossibile.

3.2 Completezza

Tutti i programmi esprimibili con salti (goto) possono essere riscritti con le tre strutture di controllo fondamentali.

4 Sequenza

Le istruzioni vengono eseguite nell’ordine in cui compaiono nel programma.

5 Selezione

Vengono eseguiti blocchi di istruzioni diversi a seconda di una condizione.

5.1 Sintassi ed esecuzione SE condizione

ALLORA blocco1 ALTRIMENTI

blocco2 FINESE

1. viene valutata la condizione

• se è vera, vengono eseguite le istruzioni contenute nel blocco1

• se è falsa, vengono eseguite le istruzioni contenute nel blocco2

2. l’esecuzione procede dall’istruzione successiva a FINESE (unico punto di uscita) È possibile omettere la sezione ALTRIMENTI:

SE condizione ALLORA

blocco1 FINESE

in questo caso, se la condizione è falsa l’esecuzione procede immediatamente dall’istru- zione successiva a FINESE.

2

Riferimenti

Documenti correlati

Le variazioni di un grado dimensionale dell'oggetto e di un grado di realizzazione dell'evento, avvengono in maniera distinta e indipendente anche a seconda della scelta di oggetto

Dato il seguente programma funzionale, si assegnami alle variabili un opportuno tipo in modo tale che il programma sia ben tipato.. Con questo assegnamen- to, si calcoli quindi

Usando come nozioni primitive l’insieme dei numeri naturali e l’operazione di confronto (che non necessitano quindi di definizione), definire un opportuna grammatica per le liste

La semantica operazionale di un linguaggio ad alto livello potrebbe essere descritta as- sociando a ciascun’istruzione del linguaggio una sequenza di istruzioni assembler della

“[…] una stessa frase […] ammette di determinarsi in tipi di sensi profondamente diversi a seconda della situazione enunciativa, costituita dal contesto situazionale, cioè

 Gestione dell’eterogeneità delle sorgenti Gestione dell’eterogeneità delle sorgenti

Vi sono 3 paradigmi di programmazione principali: Imperativo, Logico e Funzionale (Logico e funzionale sono anche visti come molto simili tra loro, e vengono anche

L'istruzione break provoca l'uscita immediata dal ciclo (o da un'istruzione switch) in cui è