generalità concetti di base

Documenti analoghi
INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

Risoluzione di problemi con l uso dell elaboratore elettronico

Cosa è l Informatica?

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari.

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

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

Rappresentazione con i diagrammi di flusso (Flow - chart)

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Introduzione alla programmazione

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

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

Algoritmi e Programmi

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

L ELABORATORE ELETTRONICO!

MODULO 07. La soluzione dei problemi mediante gli algoritmi

Algoritmo. Programmazione

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

Introduzione agli Algoritmi

L ELABORATORE ELETTRONICO

Elaboratore Elettronico

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

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

Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica

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

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

ALGORITMI: PROPRIETÀ FONDAMENTALI

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

Unità di apprendimento 6. Dal problema al programma

Problemi, algoritmi, calcolatore

Il concetto di calcolatore e di algoritmo

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. È uno strumento in grado di eseguire insiemi di azioni elementari.

Concetti di base dell ICT

Corso di Informatica di Base

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi

LA METAFORA DELL UFFICIO

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.)

Informatica. Come si risolve un problema?

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

Introduzione alla programmazione strutturata

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

Come ragiona il computer. Problemi e algoritmi

Concetti Introduttivi. Il Computer

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Annamaria Bria 1

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Formalismi per la descrizione di algoritmi

Laurea triennale - Comunicazione&DAMS - UNICAL. Dr. Marco Manna 1

INFORMATICA Algoritmi come formalizzazione della risoluzione di un problema

Unità di apprendimento 6. Dal problema al programma

Algoritmi. Pagina 1 di 5

Fondamenti di Informatica. Definizione di Algoritmo. Algoritmo Euclideo. Prof.V.L.Plantamura Informatica e Comunicazione Digitale a.a.

LA METAFORA DELL UFFICIO LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO

Fasi della programmazione. Gabriella Trucco

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

LA METAFORA DELL UFFICIO

Appunti del corso di Informatica 1 (IN110 Fondamenti) 3 Modelli di calcolo

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

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

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

ESERCITAZIONI DI LABORATORIO DI CALCOLO NUMERICO. Introduzione: Algoritmi e Programmazione strutturata

Programmazione. Informatica. Risoluzione dei Problemi

Introduzione ai Calcolatori Elettronici

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

PROBLEMI ALGORITMI E PROGRAMMAZIONE

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer

Introduzione agli algoritmi

Introduzione all Informatica e alla Programmazione. Fondamenti di Informatica T

Corso di Fondamenti di Informatica Algoritmi ed esecutori

Teoria dell Informazione

FONDAMENTI DI INFORMATICA

Programmazione di INFORMATICA e Laboratorio

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Dispensa di Informatica II.1

Contenuti Competenze Conoscenze. elementi dell insieme N proprietà dell insieme N numeri naturali (2 ore) Saper rappresentare i

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

LINGUAGGI DI PROGRAMMAZIONE E CODIFICA PROGRAMMI

LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO

Introduzione al Corso

Informatica. Informatica. Problema - soluzione. Algoritmi, dati e programmi. Introduzione ai concetti di: Distinguiamo tra: problema

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04)

Sviluppo di programmi

Problemi e algoritmi. Il che cosa ed il come. Il che cosa ed il come. Il che cosa e il come

DISPENSE DI PROGRAMMAZIONE

Sistemi Web per il turismo - lezione 3 -

Fondamenti di Informatica 1 (I Modulo) Introduzione agli algoritmi. Roberto Basili a.a

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1

Università degli Studi di Pisa

Lezione 1: Concetti introduttivi. Informatica Algoritmo Programma

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

1 credito per Operatore Giuridico d Impresa

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

MODULO 1. Punto 1.0 del Syllabus 5.0 Fondamenti. Prof.ssa Francesca Lascialfari

Informatica, Algoritmi, Linguaggi

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Corso di Fondamenti di Informatica

Che cosa si intende per INFORMATICA?

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA

Transcript:

generalità concetti di base

cosa significa informatica? scienza dell informazione e l informazione giornalistica? scienza dei computer (dall inglese computer science) per i progettisti di computer? scienza per la rappresentazione e l elaborazione dell informazione e i computer? meri esecutori (c) Fabrizio d'amore 2

informazione dati di interesse numeri, parole, simboli, testi, immagini, suoni interessanti per la consultazione la deduzione di novi dati (che siano deducibili ) informatica = scienza per la rappresentazione e l elaborazione dell informazione (c) Fabrizio d'amore 3

rappresentazione dell informazione convenzione per rappresentare tramite simboli o parametri fisici concetti astratti simboli: rappresentazione digitale parametri fisici: rappresentazione analogica seven sette 00000111 informatica = scienza per la rappresentazione e l elaborazione dell informazione (c) Fabrizio d'amore 4

elaborazione dell informazione processo automatico che a partire da dati in ingresso (input) produce dati in uscita (output) le regole che definiscono come costruire l output a partire dall input costituiscono un algoritmo volto normalmente alla risoluzione di un problema informatica = scienza per la rappresentazione e l elaborazione dell informazione (c) Fabrizio d'amore 5

concetto di problema cosa è un problema? descrizione di un contesto, di uno scenario risoluzione di un problema contesto + input output è necessario che l output sia determinabile (calcolabile) a partire dal contesto e dall input (c) Fabrizio d'amore 6

classe di problemi insieme di problemi simili, definiti nello stesso contesto che differiscono essenzialmente nell input esempio: contesto: individuare su uno stradario il percorso migliore fra due città input: partenza = Roma, destinazione = Milano output: autostrada A1 (c) Fabrizio d'amore 7

istanze di problemi classe di problemi + input = istanza di problema in genere il termine problema è usato in modo ambiguo, talvolta per indicare classe di problemi, talvolta per indicare istanza di problema esempio: risoluzione di un equazione di secondo grado classe o istanza? (c) Fabrizio d'amore 8

decisionali tipi di problemi ammettono solamente una risposta: sì oppure no di ottimizzazione in un insieme di soluzioni ammissibili si vuole individuare quale soddisfa meglio una determinata proprietà esempio: percorso Roma Milano, proprietà di interesse: distanza percorsa una soluzione ammissibile è un qualunque percorso che colleghi le due città la soluzione ottimale è quella che minimizza la distanza Roma Milano (c) Fabrizio d'amore 9

sommario problemi decisione ottimizzazione classe istanza (c) Fabrizio d'amore 10

risoluzione dei problemi (1) nella definizione di una classe di problemi si specifica cosa deve essere calcolato (una volta noto l input) in altre parole, data un istanza di problema, è perfettamente definito l output del problema (purché sia risolvibile e i dati siano sufficienti) non viene invece fornito un metodo di soluzione dato l input, come è possibile determinare l output? (c) Fabrizio d'amore 11

risoluzione di problemi (2) analisi e comprensione delle specifiche familiarità con la classe di problemi individuazione di un insieme di strategie ammissibili scelta di un metodo descrizione dettagliata del metodo (c) Fabrizio d'amore 12

risoluzione di problemi (3) come mettere in pratica il metodo? l attuazione della procedura di risoluzione può essere complessa chi mette in pratica il metodo? la descrizione dettagliata della procedura di risoluzione non può essere indipendente dall attuatore attuatore quanto è intelligente l attuatore attuatore? quale grado di autonomia ha? sa interpretare il contesto? (c) Fabrizio d'amore 13

algoritmi descrizione di una sequenza ordinata di passi elementari da Ar al-khwārazmī, che porta senza matematico ambiguità arabo alla (IX individuazione secolo) originario della soluzione del Khwārazm di un (Khiva) problema la sequenza che per primo di passi, suggerì anche un metodo se lunga, per deve essere finita sommare due numeri rappresentati nel esistono sistema problemi numerico che Hindu non ammettono algoritmi risolutivi o che, in altre parole, non ammettono alcun procedimento risolutivo che dia garanzia di terminazione di norma concepiti con riferimento a una classe di problemi (c) Fabrizio d'amore 14

problema della capra, del lupo e del cavolo 1. porta la capra sull altra sponda 2. torna indietro 3. porta il cavolo sull altra sponda 4. porta indietro la capra 5. porta il lupo sull altra sponda 6. torna indietro 7. porta la capra sull altra sponda classe o istanza? (c) Fabrizio d'amore 15

qualità degli algoritmi correttezza output corretti in corrispondenza di input ammissibili quali output negli altri casi? efficienza uso efficace delle risorse tempo spazio (c) Fabrizio d'amore 16

eseguibilità degli algoritmi nell informatica moderna gli algoritmi debbono essere eseguiti dagli elaboratori ciò comporta che i passi che compongono l algoritmo debbono essere eseguibili dall elaboratore ogni singolo passo potrebbe corrispondere a un istruzione macchina della CPU (c) Fabrizio d'amore 17

visione funzionale degli algoritmi input A1 A3 = output A1 + A2 A2 output input A2 output (c) Fabrizio d'amore 18

es: : equazione 2 o grado ax 2 + bx + c = 0 2 4 b ± b ac x = 2a (c) Fabrizio d'amore 19

es: : equazione 2 o grado/2 b b * - *4 a c * b - + / x 1 a *2 (c) Fabrizio d'amore 20

ancora sulla visione funzionale utile sia nell approccio top-down down,, sia bottom-up top-down down: decomposizione di un problema complesso in sottoproblemi più semplici bottom-up up: riuso di soluzioni già disponibili occorre un sistema per descrivere la sequenza delle operazioni previste (c) Fabrizio d'amore 21

diagrammi o grafi di flusso (flow charts) start I/O stop sottoprogramma operazione test selezione (c) Fabrizio d'amore 22

diagrammi di flusso (esempio) start calcola x2=(-b-r)/(2a) output x1 input a, b, c calcola x1=(-b + r)/(2a) output x2 calcola d = bb 4ac calcola r = d stop se d è < 0?? (c) Fabrizio d'amore 23

esempio equazione 2 2 grado start calcola x1=(-b + r)/(2a) calcola x2=(-b - r)/(2a) input a, b, c calcola r = d output x1, x2 no calcola d = bb 4ac d<0? sì output no radici reali stop (c) Fabrizio d'amore 24

descrizione di algoritmi diagramma di flusso quando l algoritmo diviene complesse sono estesi e di difficile comprensione/correzione pseudo-codice informale, ampiamente utilizzato ha sostituito il diagramma di flusso negli ultimi venti anni codice richiede la conoscenza di un linguaggio di programmazione (c) Fabrizio d'amore 25

pseudo-codice start input(a, b, c) d = bb 4ac if(d < 0) output( no radici reali ) else e = sqrt(d) x1 = (-b( b + e) / (2a) x2 = (-b( e) / (2a) output(x1, x2) stop (c) Fabrizio d'amore 26

radice quadrata metodo numerico per il calcolo rapido della radice quadrata di un reale non negativo r metodo di Newton-Raphson x = 1 r + x n+ 1 n 2 xn occorre criterio di arresto es., se xk + 1 xk < ε (c) Fabrizio d'amore 27

radice quadrata (flow( chart) start x = (r/x + x)/2 x = 1 xprec = ε = 0.000001 xprec=x sì stop input(r) x-xprec >ε? output x no (c) Fabrizio d'amore 28

radice quadrata (pseudo( pseudo-codice) start input(r) x=1 (ad esempio) xprec = ε = 0.000001 while( x ( x-xprec > ε) xprec = x x = (r/x + x)/2 output(x) stop (c) Fabrizio d'amore 29

radice quadrata /2 algoritmo perfezionato start input(r) if(r < 0) r = -r input(x) input(ε) xprec = while( x ( x-xprec > ε) xprec = x x = (r/x + x)/2 output(x) stop (c) Fabrizio d'amore 30