



























Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Algoritmi esempi pratici per liceo
Tipologia: Appunti
1 / 35
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




























1
1
Il^ linguaggio^ dei^ diagrammidiagrammi
aa^ blocchiblocchi^ è^ un^ possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o
grafica dell’algoritmo
2 Un diagramma a blocchi descrive il flusso
flusso delle operazioni da eseguire^ per^ realizzare
la^ trasformazione,^
definita nell’algoritmo, dai dati iniziali ai risultati Ogni istruzione dell’algoritmo viene rappresentata all’internodi un^ bloccoblocco elementareelementare, la cui forma grafica è determinatadal tipo di istruzione I blocchi sono collegati tra loro da
lineelinee didi flussoflusso, munite di frecce, che indicano il susseguirsi di azioni elementari
Un^ diagrammadiagramma^ aa^ blocchiblocchi
è^ un^ insieme^ di^ blocchi elementari composto da:^ a)^ un blocco iniziale^ b)^ un^ blocco^ finale
4 b)^ un^ blocco^ finale c)^ un numero finito n (n
≥^ 1) di blocchi di azione e/o diblocchi di lettura/scrittura d)^ un numero finito m (m
≥^ 0) di blocchi di controllo
L’insieme dei blocchi elementari che descrivono un algoritmo devesoddisfare le seguenti condizioni:^ ciascun blocco di azione o di lettura/scrittura ha una sola frecciaentrante ed una sola freccia uscente^ ciascun^ blocco^ di^ controllo
ha^ una^ sola^ freccia^ entrante
e^ due frecce^ uscenti
5 ciascun^ blocco^ di^ controllo^
ha^ una^ sola^ freccia^ entrante
e^ due frecce^ uscenti ciascuna freccia entra in un blocco oppure si innesta in un’altrafreccia ciascun blocco è raggiungibileraggiungibile dal blocco iniziale il blocco finale è raggiungibileraggiungibile da qualsiasi altro blocco Un blocco B è^ raggiungibileraggiungibile^ a partire da un blocco A se esiste unasequenza^ di^ blocchi^ X,X,…,X^12
,^ tali^ che^ A=X,^ B=X,^ en^1 n
∀^ X, i i =1,…,n−1, Xè connesso con una freccia a X i^
i +^1
Ovvero:^ un^ diagrammadiagramma
aa^ blocchiblocchi^ strutturatostrutturato
è^ un
diagramma a blocchi nel quale gli schemi di flusso sonostrutturatistrutturati Uno schema di flusso è strutturato quando soddisfa unadelle seguenti proprietà… 1)^ …è^ uno^ schema^ elementare
o^ uno^ schema^ di^ sequenza^7 1)^ …è^ uno^ schema^ elementare
o^ uno^ schema^ di^ sequenza begin^ S, S,…, Sschemi^12 n^ A di flusso strutturati end
2)^ …è uno schema di selezione
8 Nel primo caso, lo schema S viene eseguito solo se lacondizione^ C^ è^ vera;^ se^ C
è^ falsa,^ non^ viene^ eseguita alcuna azione Nel secondo caso, viene eseguito solo uno dei due schemiSo S, in dipendenza del valore di verità della condizionev^ f
Gli schemi di flusso sono
apertiaperti^ quando consentono una sola esecuzione di una sequenza di blocchi elementari, sono
chiusichiusi quando permettono più di un’esecuzione della sequenza diblocchi GliGli schemischemi didi sequenzasequenza ee di
di selezioneselezione sonosono aperti,aperti, lo
lo schemaschema didi^ iterazioneiterazione^ èè^ chiusochiuso
10 didi^ iterazioneiterazione^ èè^ chiusochiuso OgniOgni diagrammadiagramma aa blocchiblocchi non
non strutturatostrutturato èè trasformabiletrasformabile in
in unun diagrammadiagramma aa blocchiblocchi strutturatostrutturato equivalente
equivalente Due diagrammi a blocchi sono
equivalentiequivalenti^ se, operando sugli stessi dati, producono gli stessi risultati L’uso dell’analisi strutturata garantisce:^ facilità di comprensione e modifica dei diagrammi a blocchi^ maggiore uniformità nella descrizione degli algoritmi
Inoltre...^ È^ stato^ dimostrato
(teorema^ fondamentale
della programmazione di Bohm−Jacopini, 1966) che ogni programmapuò^ essere^ codificato^ riferendosi
esclusivamente^ ad^ un algoritmo^ strutturato^ e^ quindi
attenendosi^ alle^ tre^ strutture^11 algoritmo^ strutturato^ e^ quindi
attenendosi^ alle^ tre^ strutture fondamentali: Sequenziale^ Iterativa
Condizionale
In un diagramma strutturato non apparirà mai una istruzione disalto incondizionato I tre schemi fondamentali possono essere
concatenaticoncatenati,^ uno di seguito all’altro, o^ nidificatinidificati,
uno dentro l’altro; non possono in nessun caso essere “intrecciati” o “accavallati”
13 Corretto
Sbagliato
Diagramma a blocchi per laselezione,^ in^ un^ mazzo
di chiavi,^ di^ quella^ che^
apre un lucchetto
14
Usando solol’operazionesomma SOLUZIONE:
PROBLEMA^ Dati 3 numeri stabilire quale sia il valore^ maggioremaggiore SOLUZIONE^ Provate a trovare una soluzione alproblema descrivendola con diagrammi diflusso