Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Documenti analoghi
L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO!

Algoritmi e Programmi

Introduzione alla programmazione

Introduzione agli Algoritmi

Come ragiona il computer. Problemi e algoritmi

Diagrammi a blocchi 1

Diagrammi a blocchi 1

Altrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)

Cosa è l Informatica?

Modulo 1 Concetti di base della Tecnologia dell Informazione

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

ALGORITMI: PROPRIETÀ FONDAMENTALI

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

Dispensa di Informatica II.1

LA METAFORA DELL UFFICIO

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie

Rappresentazione con i diagrammi di flusso (Flow - chart)

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Sistemi Web per il turismo - lezione 3 -

LA METAFORA DELL UFFICIO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

MODULO 07. La soluzione dei problemi mediante gli algoritmi

Unità di apprendimento 6. Dal problema al programma

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Introduzione alla programmazione strutturata

DISPENSE DI PROGRAMMAZIONE

1 Esercizi in pseudocodice

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

Corso di Informatica di Base

ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s

DESCRIZIONI RIGOROSE c7

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:

Algoritmi. Pagina 1 di 5

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

Formalismi per la descrizione di algoritmi

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

La rappresentazione dell algoritmo Diagrammi di flusso

ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico

Lezione 5. La macchina universale

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo

Dall algoritmo al programma

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

Laboratorio di Programmazione

UNIVERSITÀ DEGLI STUDI DI PAVIA FACOLTÀ DI INGEGNERIA. Introduzione alla programmazione

Problemi, algoritmi, calcolatore

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Il concetto di calcolatore e di algoritmo

Concetti Introduttivi. Il Computer

Programmazione. Informatica. Risoluzione dei Problemi

Unità di apprendimento 6. Dal problema al programma

Informatica. Come si risolve un problema?

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Capitolo 3 L elaborazione e la strutturazione dell informazione

PROGRAMMAZIONE STRUTTURATA

Esercitazione 3. Espressioni booleane I comandi if-else e while

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

LABORATORIO DI INFORMATICA

= < < < < < Matematica 1

Rappresentazione degli algoritmi

Transcript:

Corso di Problemi ed algoritmi Ing Pasquale Rota

Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2

Proprietà degli algoritmi Eseguibilità: ogni azione deve essere eseguibile in un tempo finito Non-ambiguità: ogni azione deve essere univocamente interpretabile Limitatezza: il numero totale di azioni da eseguire, per ogni insieme di dati in ingresso, deve essere finito Problemi ed algoritmi - Ing. Pasquale Rota 3

Algoritmo Un algoritmo è una sequenza ordinata e finita di operazioni elementari che descrive la soluzione del problema. procedura = algoritmo Problemi ed algoritmi - Ing. Pasquale Rota 4

Algoritmi e programmi Ogni elaboratore è una macchina in grado di eseguire azioni elementari su oggetti detti dati. L esecuzione delle azioni è richiesta all elaboratore tramite comandi elementari chiamati ISTRUZIONI espresse attraverso un opportuno formalismo: il linguaggio di programmazione. La formulazione testuale di un algoritmo in un linguaggio comprensibile a un elaboratore è detta programma. Problemi ed algoritmi - Ing. Pasquale Rota 5

La progettazione del programma Durante la fase di descrizione del progetto si possono utilizzare diversi metodi: Pseudo codici (affini alla lingua parlata) Diagramma di flusso Problemi ed algoritmi - Ing. Pasquale Rota 6

Pseudocodice Per pseudocodice, o pseudolinguaggio si intende un linguaggio di programmazione fittizio che permette di rappresentare l algoritmo risolutivo. Lo pseudolinguaggio può essere utilizzato alternativamente al diagramma di flusso, non è soggetto a molte limitazioni intrinseche di quest'ultimo tipo di rappresentazione. Non esiste uno pseudolinguaggio standard e convenzionalmente usato. Ogni pseudolinguaggio ha un proprio lessico, una propria sintassi e una propria semantica La progettazione di questo tipo di formalismo è volta alla comprensibilità e alla leggibilità del codice; la sintassi sarà quindi meno rigorosa rispetto ad un vero linguaggio e le parole chiave saranno evocative, in modo da rendere più intuitiva la sua interpretazione. Problemi ed algoritmi - Ing. Pasquale Rota 7

Diagramma di flusso o diagrammi a blocchi Un diagramma di flusso, o diagramma a blocchi, è una rappresentazione grafica usata per descrivere dei concetti. È uno metodi più comuni utilizzati per la rappresentazione di algoritmi, permette di descrivere il flusso di controllo mediante una descrizione schematica delle operazioni da compiere e la sequenza con le quali tali operazioni devono essere eseguite. Si presenta come un insieme di figure geometriche collegate da frecce. Problemi ed algoritmi - Ing. Pasquale Rota 8

Inizio/fine inizio Tutti i diagrammi di flusso cominciano con un ovale che contiene la parola inizio. fine Ogni diagramma di flusso si conclude con un ovale che contiene la parola fine. Problemi ed algoritmi - Ing. Pasquale Rota 9

Dati di input/output Dati in Ingresso/uscita I dati in uscita sono quelli che si vuole conoscere e costituiscono il risultato dell elaborazione. I dati in ingresso sono i dati noti del problema, quelli che devono essere elaborati per arrivare alla soluzione Problemi ed algoritmi - Ing. Pasquale Rota 10

Blocco Operazioni Operazioni x 2 z 5x+1 Le operazioni da svolgere sui dati sono racchiuse in rettangoli Problemi ed algoritmi - Ing. Pasquale Rota 11

Condizione Vero o falso? Quando si deve fare una scelta tra due possibilità si usa il simbolo del rombo. Blocco condizionale o di controllo Problemi ed algoritmi - Ing. Pasquale Rota 12

Diagramma a blocchi Strutturati Una diagramma descrive un algoritmo se: viene usato un numero finito di blocchi. lo schema inizia con un blocco iniziale e termina con un blocco finale ogni blocco soddisfa le condizioni di validità. - Blocco azione e blocco lettura/scrittura: ogni blocco di questi due tipi ha una sola freccia entrante e una sola freccia uscente. - Blocco di controllo: ogni blocco di questo genere ha una sola freccia entrante e due frecce uscenti. - Dal blocco iniziale deve essere possibile raggiungere ogni blocco, e da ciascun blocco e possibile raggiungere il blocco finale. Problemi ed algoritmi - Ing. Pasquale Rota 13

Algoritmo: esempio 1 Stabilire se un numero P è maggiore di Q leggi P,Q se P > Q allora scrivi P altrimenti se P < Q allora scrivi Q altrimenti scrivi Uguali Problemi ed algoritmi - Ing. Pasquale Rota 14

Diagramma di flusso Inizio Leggi P,Q falso P>Q vero falso P<Q vero Stampa P St. Uguali Stampa Q Fine Problemi ed algoritmi - Ing. Pasquale Rota 15

Cicli/iterazioni Un ciclo è una sequenza di istruzioni ripetute finché non viene a verificarsi una determinata condizione o il processo si ritiene completato. Ogni ripetizione del ciclo viene chiamata iterazione. PRECONDIZIONE POSTCONDIZIONE falso condizione vero Ciclo istruzioni falso condizione vero Ciclo istruzioni Fine Fine Problemi ed algoritmi - Ing. Pasquale Rota 16

Algoritmi: esempio 2 Stabilire se una parola P viene alfabeticamente prima di una parola Q leggi P,Q ripeti quanto segue: se prima lettera di P < prima lettera di Q allora scrivi P altrimenti se prima lettera P > Q allora scrivi Q altrimenti (le lettere sono uguali) togli da P e Q la prima lettera fino a quando non trovi le prime lettere diverse o sono terminate. Problemi ed algoritmi - Ing. Pasquale Rota 17

Diagramma di flusso Inizio Leggi P,Q X=Q Y=P falso X=Q Y=P P1:=1 a lettera Y Q1:=1 a lettera X P1<Q1 vero falso P1>Q1 vero Stampa P Togli 1 a lettera X Togli 1 a lettera Y Stampa Q Fine Fine Problemi ed algoritmi - Ing. Pasquale Rota 18

Le funzioni Un programma che esegue una procedura matematica si dice che svolge una funzione. Le funzioni possono essere scritte una sola volta e richiamate in più punti del programma senza doverle ripetere. Problemi ed algoritmi - Ing. Pasquale Rota 19

Sottoprogrammi I sottoprogrammi raggruppano in una unica procedura gruppi di istruzioni ripetute più volte all interno dello stesso programma. Sono identificati da un nome, dai dati di ingresso (variabili/parametri input) e da quelli di uscita (variabili di output). Problemi ed algoritmi - Ing. Pasquale Rota 20

Procedimento Top-down Problemi complessi Scomposizione del problema Soluzione per approssimazioni successive Il procedimento prevede l esecuzioni di più fasi. Per ciascuna fase si prenderanno in esame soluzioni che riguardano parti sempre più limitate del problema iniziale. In tal modo la risoluzione di un problema complesso è stata ricondotta alla risoluzione di più problemi semplici (tanti quante sono le funzioni previste dalla elaborazione originaria). Problemi ed algoritmi - Ing. Pasquale Rota 21