



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
sintesi della lezione su algoritmi
Tipologia: Sintesi del corso
1 / 6
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




L’informatica è la scienza della rappresentazione e dell’alaborazione rigorosa, quindi potenzialmente automatica, dell’informazione. Non solo scienza e tecnologia dei calcolatori, quindi, ma anche e soprattutto il modo in cui l’informazione viene strutturata ed elaborata automaticamente. Altra definizione: ACM Informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazione e applicazione. INPUT ELABORATORE OUTPUT DATI AMMISSIBILI, TRASFORMAZIONE SEGUENDO ALGORITMO PASSO PASSO MEDIANTE UN LINGUAGGIO DI PROGRAMMAZIONE, DATI DESIDERATI. UMANO – DEFINISCE L’ARGORITMO PROGRAMMA ESEGUE L’ARGORITMO. COS’E’ UN ALGORITMO? TELEFONATA INPUT: numero di telefono/cellulare; OUTPUT: telefonata, se il numero è stato digitato correttamente e la persona ha risposto PROCEDIMENTO=ALGORTMO. ES. EFFETTUARE UNA TELEFONATA. 1)Sollevo il ricevitore; 2)Attendo il segnale di linea; 3)Comporre il numero ripeti finchè componi una cifra con numeri (ITERAZIONE) composti SOTTOALGORITMO 4)Attendere risposta Se la linea è libera allora Se l’interlocutore risponde allora SELEZIONE 5)Condurre la conversazione; 6)Deporre il ricevitore. Altrimenti: 5)Deporre il ricevitore Altrimenti (se la linea è occupata): 5)Deporre il ricevitore. -LE QUATTRO PROPRIETA’ FONDAMENTALI DI UN ALGORITMO: 1)La sequenza di istruzioni deve essere finita. 2)Essa deve portare ad un risultato corretto 3)Le istruzioni devono essere eseguibili materialmente 4)Le istruzioni non devono essere ambigue.
Permettono di descrivere algoritmi in una forma interpretabile dal calcolatore; linguaggio macchina: 0100001111 linguaggio assembler: LOAD PAGA linguaggio C: TOT=PAGA+STRAORD; -EVOLUZIONE DELLA TECNOLOGIA SOFTWARE: °Linguaggi di programmazione (HLL): Fortran, Cobol °Linguaggi Strutturati “general purpose” (’60-’70): ^Algol, Pascal, Modula 2 ^C (’80): vasta gamma di applicazioni ^C++ (programmazione ad oggetti) ^Java L’evoluzione dei linguaggi ha avuto come obiettivo quello di allontanarsi sempre di più dal modo in cui la macchina interpreta un algoritmo in modo da avvicinarsi al modo di ragionare degli esseri umani ( Dal linguaggio macchina ai linguaggi ad oggetti). -CONCETTO DI ALGORITMO, DEFINIZIONE E CARATTERISTICHE: °Prima definizione di algoritmo: Sequenza precisa di operazioni comprensibili e perciò eseguibili da uno strumento automatico. °Caratteristiche di un algoritmo: In un algoritmo i singoli passi devono essere chiaramente comprensibili per l’esecutore; la comprensibilità dipende dall’esecutore; in un algoritmo i singoli passi devono essere indicati con precisione; la sequenza non deve dare adito a fraindentimenti; un algoritmo è corretto se perviene alla soluzione del compito cui è preposto senza difettare di alcun passo fondamentale; un algoritmo è efficiente se perviene alla soluzione del problema nel minor tempo possibile e/o usando la minima quantità di risorse fisiche; il concetto di algoritmo è inscindibile da quello di dato ; da un punto di vista computazionale, un algoritmo è una procedura che prende dati in input e, dopo averli elaborati, restituisce dei dati in output i dati devono essere organizzati e strutturati in modo tale che la procedura che li elabora sia “efficiente”. °Un algoritmo è l’essenza computazionale di un programma, nel senso che fornisce il procedimento per giungere alla soluzione di un dato problema di calcolo;
Se maggiore, aggiorna il massimo corrente FINE. -RAPPRESENTAZIONE DI UN ALGORITMO: DIAGRAMMI DI FLUSSO. Sono grafici che permettono di esprimere un algoritmo in modo schematico e intuitivo. Per rappresentare un algoritmo occorre rappresentare: passi necessari, la loro corretta sequenza. I diagrammi di flusso sono una descrizione più efficace e meno ambigua di una descrizione a parole. °Simboli standard: inzio o fine elaborazione decisione -DIAGRAMMI DI FLUSSO: Si costruiscono a partire da un certo numero di blocchi base che rappresentano le operazioni elementari ed i costrutti di controllo I blocchi base venfono collegati tramite “frecce” che collegano un’azione alla successiva all’interno dell’argoritmo. ES. DI ESECUZIONE: SEQUENZIALE CONDIZIONALE ITERATIVA ISTRUZIONI ISTRUZIONI
ISTRUZIONI NO ISTRUZIONI e SI’ ISTRUZIONI