Istruzioni e algoritmi
Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni di output Istruzioni di assegnazione o elaborazione, per le quali si usa il simbolo “ ” Oltre alle istruzioni si hanno le Condizioni, che pongono una domanda a cui si può rispondere vero/falso e che, a seconda della risposta, indicano due diverse azioni da compiere.
Input L’esecutore deve essere in grado di ricevere informazioni dall’esterno, cioè deve poter LEGGERE dati; tali dati possono essere introdotti mediante tastiera o possono essere contenuti in un file. Quando l’esecutore riceve in input un dato, lo deve collocare in una variabile, quindi l’istruzione di input (lettura) deve indicare il nome della variabile in cui sarà collocato il dato, inoltre il tipo di dato “letto” dovrà essere compatibile con il tipo di dati che possono essere contenuti dalla variabile.
Output L’esecutore deve essere in grado di comunicare informazioni (risultati di elaborazioni) all’esterno, cioè deve poter SCRIVERE dati; tali dati possono essere scritti sul monitor, su stampante, su di un file. L’ esecutore può mandare in output il valore contenuto in una variabile oppure un dato non contenuto in una variabile (per esempio un messaggio); nel primo caso si deve indicare il nome della variabile di cui è contenuto il valore.
Assegnazione L’istruzione che permette l’assegnazione di un valore ad una variabile si chiama assegnazione: assegnare un valore ad una variabile significa che, dopo l’assegnazione, la variabile conterrà il valore assegnato. Nelle istruzioni di assegnazione compaiono spesso espressioni, cioè formule (o regole di calcolo) che specificano sempre un valore (o risultato).
Assegnazione: precisazioni Operazione che rappresenta l’attribuzione di un valore (dato) ad una variabile. Il valore assegnato può essere: Una costante numerica (ad es. Var = 1) Il contenuto di un’altra variabile: (ad es. Var2 = Var1) Il risultato di un’espressione aritmetica o logica tra costanti e/o variabili. Esempio VarA =VarB*2 - 5 La variabile che compare nella parte sinistra di un’assegnazione può comparire anche nella parte destra (ad es. Var = Var+1). Ciò significa che, in base al valore attuale, viene calcolato un nuovo valore ed assegnato alla variabile.
Rappresentazioni Diagrammi a blocchi flow- chartTra le tecniche utilizzate per rappresentare in maniera chiara e sintetica la struttura degli algoritmi, quella del Diagramma a Blocchi, anche detto flow- chart, ha il pregio di evidenziare visivamente l’avanzamento in sequenza e le varie strutture che compongono l’algoritmo.
Diagrammi a blocchi I Diagrammi a Blocchi sono costituiti da blocchi contenenti le istruzioni e collegati mediante frecce. Ogni blocco ha un ramo di ingresso e uno o più rami di uscita ed è di forma diversa a seconda dell’istruzione che deve contenere.
I simboli dei DaB Ovale: indica l’inizio o la fine dell’algoritmo. INIZIO FINE
I simboli dei DaB I simboli dei DaB Parallelogramma: indica una operazione di input o output. NomeVariabileI NomeVariabileO I O O “messaggio da visualizzare”
I simboli dei DaB Rettangolo: indica una operazione, infatti in esso si scrive un'azione elementare IstruzionediAssegnaz
I simboli dei DaB Rombo: indica una diramazione, cioè la verifica di una condizione e la possibilità di seguire uno dei percorsi uscenti dalla condizione, in base al risultato della verifica. Condizione vf
Problematica sul controllo Le strutture di controllo permettono di definire il percorso (flusso) di ogni istruzione all'interno di un programma; La programmazione strutturata propone tre schemi: 1.Sequenza 2.Alternativa o Selezione 3.Iterazione
Risultato fondamentale TEOREMA (Böhm-Jacopini) : Dato un programma, ne esiste uno equivalente che utilizza esclusivamente le tre strutture di controllo fondamentali: sequenza, selezione e iterazione.
La sequenza La sequenza è il più semplice dei tre costrutti fondamentali e viene utilizzato quando le istruzioni devono essere eseguite ordinatamente, con lo stesso ordine con cui sono scritte, per cui l’istruzione successiva è quella in posizione successiva. E’ spesso indicata col termine blocco.
Sequenza Diagramma a blocchi La sequenza
Esempio Problema: Calcolare l’area di un rettangolo, essendo note la base e l’altezza. I dati iniziali sono: il valore della base, il valore dell’altezza. Inoltre conosciamo la relazione che permette di calcolare l’area del rettangolo. La procedura (parte esecutiva) può essere schematizzata nel modo seguente: LEGGI i valori dell’altezza e della base (l’esecutore deve acquisire i dati dall’esterno); CALCOLA L’AREA; SCRIVI il risultato (l’esecutore deve mandare il risultato in output).