Slide da Algor Library su Algoritmi di input-output. Il Pdf, utile per la scuola superiore, tratta di informatica, informazione e algoritmo, con un focus sulle istruzioni fondamentali e la loro rappresentazione tramite diagrammi a blocchi. Include un esempio pratico di algoritmo.
Mostra di più15 pagine


Visualizza gratis il Pdf completo
Registrati per accedere all’intero documento e trasformarlo con l’AI.
Algoritmi di input-outputInformatica Con il termine Informatica (Informazione automatica) si intende la scienza che si occupa della Rappresentazione e della Elaborazione automatica delle Informazioni.
L'Informazione è un dato, o un insieme di dati, interpretati in un determinato contesto.
Un algoritmo è un testo che specifica un insieme di azioni/operazioni eseguendo le quali si risolve un problema assegnato.
In generale un algoritmo è caratterizzato da Dati in Ingresso e da Risultati in Uscita secondo lo schema seguente:
Dati in Ingresso ALGORITMO Risultati in Uscita
L'esecutore (cervello umano, calcolatore elettronico) è in grado di interpretare le istruzioni contenute nell'algoritmo e utilizzando i dati in ingresso fornisce i risultati in uscita.Le Proprietà degli Algoritmi Un algoritmo deve essere realizzato in modo da rispettare alcune proprietà, in particolare è necessario che sia:
Generale, cioè deve essere in grado di risolvere non un solo problema, ma una classe di problemi dello stesso tipo;
La proprietà di generalità afferma che un algoritmo deve poter funzionare su più insiemi di dati compatibili tra loro e non solo su alcuni di essi. Consideriamo ad esempio un algoritmo di ordinamento di un elenco di nominativi; se quest'algoritmo funzionasse solamente su un elenco di nominativi di una classe particolare, ma non con altri elenchi di nominativi non sarebbe un algoritmo valido.
Finito, cioè deve avere un inizio e una fine e non deve contenere istruzioni che si ripetono all'infinito;
La proprietà di finitezza ci dice che occorre assicurarsi che l'algoritmo abbia un termine, evitando che una o più istruzioni si ripetano all'infinito.
Non ambiguo, cioè deve contenere solamente istruzioni con interpretazione univoca e non contraddittoria.
La proprietà di non ambiguità afferma che un algoritmo deve avere un' interpretazione univoca, evitando malfunzionamenti dovuti ad interpretazioni errate causate dalla presenza di istruzioni contraddittorie.Per risolvere un problema si deve fare in modo che siano ben specificati almeno tre elementi: i dati conosciuti (input), i risultati che si vogliono ottenere (output) e il procedimento risolutivo (algoritmo).
Se il problema risulta molto complesso, per risolverlo può essere necessario dividerlo in sotto problemi.
Un algoritmo è una sequenza di passi che devono essere eseguiti secondo un ordine prefissato per raggiungere il risultato voluto.Quindi un algoritmo può essere visto come un insieme finito di passi elementari che permettono di risolvere tutti i problemi di una determinata classe.
Le componenti di un algoritmo sono i dati, cioè gli oggetti su cui operare, e le istruzioni, cioè i passi da eseguire.In base alla modalità di interazione con l'elaboratore i dati sono classificati come:
In base alla tipologia i dati sono classificati come:
int Dati numerici che non prevedono cifre decimali float Dati numerici che prevedono cifre decimali string Dati che contengono caratteri alfabetici, caratteri speciali e cifre NON utilizzabili per le operazioni aritmetiche bool Dati che possono valere solo vero o falso char Dati che contengono un solo carattere alfabetico, caratteri speciali e cifre NON utilizzabili per le operazioni aritmetiche
In base alla possibilità di modifica i dati sono classificati come:
= Istruzione di assegnazione: permette di assegnare un valore ad una variabile
Inizio: Prendere il telefono cellulare Comporre il numero Se il numero è libero Vero Falso Vero Attendi la risposta Fino a 3 tentativi ricomponi il numero Conduci la conversazione Falso Fine: Premi tasto di fine chiamata
Tipicamente gli algoritmi vengono descritti tramite diagrammi a blocchi. Nella descrizione tramite diagramma a blocchi o flow-chart, a ogni simbolo corrisponde un preciso tipo di operazione : ogni algoritmo deve iniziare con il simbolo: INIZIO Questi due simboli devono presentarsi una sola volta all'interno del flow-chart e deve concludersi con il simbolo: FINE1 indica un'operazione (indicata all'interno del riquadro). 1 I indica l'operazione di lettura (input) O indica l'operazione di scrittura (output)
Uno schema di flusso è una rappresentazione grafica di un algoritmo realizzata mediante l'utilizzo di simboli, la cui forma dipende dal tipo di azione/operazione che si vuole descrivere, uniti da frecce che rappresentano il flusso dell'esecuzione delle istruzioni che compongono l'algoritmo.
Istruzione Simbolo Significato Inizio Algoritmo Inizio Blocco di Inizio Algoritmo Azione azione > Blocco di Azione: eseguo l'azione descritta all'interno del rettangolo I: Blocco di Input dati: chiedo in ingresso all'utente un valore che verrà scritto in una variabile in memoria Comunicazione O: Blocco di Output dati: fornisco in uscita all'utente un valore che verrà visualizzato a video e/o stampato Fine Algoritmo Fine Blocco di Fine Algoritmo
INIZIO LATO I AREA <- LATO * LATO AREA O FINE Problema: Calcola l'area di un quadrato, prendendo in input la misura del suo lato L'algoritmo risolutivo del problema dato
Dati due numeri, calcola il prodotto Schema di flusso Lettura Schema Inizio Inizio Algoritmo I: X Input: Leggi X I: Y Input: Leggi Y ZŁX*Y Azione: moltiplico X per Y ed assegno il risultato a Z O: Z Output: Stampa Z Fine Fine Algoritmo