Algoritmi. Strutture dati. Strumenti del linguaggio di programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmi. Strutture dati. Strumenti del linguaggio di programmazione"

Transcript

1 COSA IMPAREREMO

2 ARGOMENTI CORSO Algoritmi Strutture dati Strumenti del linguaggio di programmazione

3 ARGOMENTI CORSO Algoritmi Tipi di dato semplici Tipi di dato strutturati: array struct Strutture di controllo del flusso File Puntatori Funzioni Strutture dati Strumenti del linguaggio di programmazione

4 ARGOMENTI CORSO Algoritmi Liste Pile Code Strutture dati Strumenti del linguaggio di programmazione

5 ARGOMENTI CORSO Algoritmi su vettori Algoritmi su liste Algoritmi su pile Algoritmi su code Algoritmi Strutture dati Strumenti del linguaggio di programmazione

6 ARGOMENTI CORSO COSA SUCCEDE SE? Algoritmi Strutture dati Strumenti del linguaggio di programmazione

7 ARGOMENTI CORSO Algoritmi Operare scelte CONSAPEVOLI considerando tutti i casi possibili e valutando efficacia ed efficienza per risolvere un problema Strutture dati Strumenti del linguaggio di programmazione La risoluzione di un problema è il processo che dato un problema e individuato un opportuno metodo risolutivo, trasforma i dati iniziali nei corrispondenti risultati finali.

8 PROGRAMMARE == IMPLEMENTARE? «Algoritmi e strutture dati» Demetrescu, Finocchi, Italiano, Mc Graw-Hill cap. 1

9 L ISOLA DEI CONIGLI Algoritmi Strutture dati Strumenti del linguaggio di programmazione Leonardo da Pisa si interessò di molte cose, tra cui il seguente problema di dinamica delle popolazioni: Quanto velocemente si espanderebbe una popolazione di conigli sotto appropriate condizioni? In particolare, partendo da una coppia di conigli in un isola deserta, quante coppie si avrebbero nell anno n?

10 LE REGOLE DI RIPRODUZIONE Una coppia di conigli genera due coniglietti ogni anno I conigli cominciano a riprodursi soltanto al secondo anno dopo la loro nascita I conigli sono immortali

11 L ALBERO DEI CONIGLI La riproduzione dei conigli può essere descritta in un albero come segue:

12 LA REGOLA DI ESPANSIONE Nell anno n, ci sono tutte le coppie dell anno precedente, e una nuova coppia di conigli per ogni coppia presente due anni prima. Indicando con F n il numero di coppie dell anno n, abbiamo la seguente relazione di ricorrenza: F n = F n-1 + F n-2 se n 3 1 se n=1,2

13 IL PROBLEMA Come calcoliamo F n?

14 UN APPROCCIO NUMERICO Possiamo usare una funzione matematica che calcoli direttamente i numeri di Fibonacci. Si può dimostrare che: dove:

15 ALGORITMO FIBONACCI1

16 CORRETTEZZA? Qual è l accuratezza su e per ottenere un risultato corretto? Ad esempio, con 3 cifre decimali: n fibonacci1(n) arrotondamento F n

17 ALGORITMO FIBONACCI2 Poiché fibonacci1 non è corretto, un approccio alternativo consiste nell utilizzare direttamente la definizione ricorsiva: algoritmo fibonacci2(intero n) intero if (n 2) then return 1 else return fibonacci2(n-1) + fibonacci2(n-2) Opera solo con numeri interi.

18 ALBERO DELLA RICORSIONE Utile per risolvere la relazione di ricorrenza. Nodi corrispondenti alle chiamate ricorsive. Figli di un nodo corrispondenti alle sottochiamate.

19 ALBERO DELLA RICORSIONE Dall albero della ricorsione e sfruttando alcuni teoremi sul numero di foglie e sul numero di nodi interni contenuti in un albero binario, si evince che l algoritmo fibonacci2 è MOLTO lento: il numero di linee di codice mandate in esecuzione a fronte di una generica chiamata alla funzione fibonacci2(n) cresce infatti.!!!! come i conigli di Fibonacci!!!! Ad esempio: per n=8 vengono mandate in esecuzione 61 linee di codice, per n=45 vengono mandate in esecuzione linee di codice.

20 ALGORITMO FIBONACCI3 Perché l algoritmo fibonacci2 è lento? Perché continua a ricalcolare ripetutamente la soluzione dello stesso sottoproblema. : memorizzare allora in un array le soluzioni dei sottoproblemi algoritmo fibonacci3(intero n) intero sia Fib un array di n interi Fib[1] Fib[2] 1 for i = 3 to n do Fib[i] Fib[i-1] + Fib[i-2] return Fib[n]

21 CALCOLO DEL TEMPO DI ESECUZIONE L algoritmo fibonacci3 impiega un tempo proporzionale a n invece che esponenziale in n come fibonacci2. Ad esempio: per n=45 vengono mandate in esecuzione 90 linee di codice, risultando così 38 milioni di volte più veloce di fibonacci2!!!! per n=58 fibonacci3 è circa 15 miliardi di volte più veloce di fibonacci2!!! Tempo effettivo richiesto da implementazioni in C dei due algoritmi su piattaforme diverse:

22 OCCUPAZIONE DI MEMORIA Il tempo di esecuzione non è la sola risorsa di calcolo che ci interessa. Anche la quantità di memoria necessaria può essere cruciale. Se abbiamo un algoritmo lento (non troppo), dovremo solo attendere più a lungo per ottenere il risultato. Ma se un algoritmo richiede più spazio di quello a disposizione, non otterremo mai la soluzione, indipendentemente dal tempo di attesa.

23 ALGORITMO FIBONACCI4 fibonacci3 usa un array di dimensione n. In realtà non ci serve mantenere tutti i valori di Fn precedenti, ma solo gli ultimi due, riducendo lo spazio a poche variabili in tutto: algoritmo fibonacci4(intero n) intero a b 1 for i = 3 to n do a rappresenta Fib[i-2] c a+b b rappresenta Fib[i-1] a b b c c rappresenta Fib[i] return b

24 POTENZE RICORSIVE fibonacci4 non è il miglior algoritmo possibile. E possibile dimostrare per induzione la seguente proprietà di matrici: n-1 = F n F n-1 F n-1 F n-2 Useremo questa proprietà per progettare un algoritmo più efficiente.

25 ALGORITMO FIBONACCI5 PSEUDOCODICE! Il tempo di esecuzione è ancora O(n). Cosa abbiamo guadagnato?

26 CALCOLO DI POTENZE Possiamo calcolare la n-esima potenza elevando al quadrato la (n/2)-esima potenza. Se n è dispari eseguiamo una ulteriore moltiplicazione Esempio: 3 2 =9 3 4 =(3 2 ) 2 =(9) 2 = =(3 4 ) 2 =(81) 2 =6561

27 ALGORITMO FIBONACCI6 Tutto il tempo richiesto da fibonacci6 è speso nella funzione potenzadimatrice che calcola ricorsivamente la potenza della matrice elevando al quadrato la sua potenza (n/2)-esima.

28 RIEPILOGO fibonacci2 fibonacci3 fibonacci4 fibonacci5 fibonacci6 Tempo di esecuzione O(2 n ) O(n) O(n) O(n) O(log n) Occupazione di memoria O(n) O(n) O(1) O(1) O(log n)

29 MORALE Progettare algoritmi efficienti può avere un effetto drammatico sull incremento delle prestazioni. (Ricordiamoci, ad esempio, che se n vale un miliardo log 2 n sarà pari a 30!!!) Come misurare l efficienza di un algoritmo? q.tà tempo di calcolo (tempo di CPU) indipendente dalle tecnologie e dalle piattaforme q.tà spazio Non vogliamo valutare i dettagli della particolare istanza del problema, ma riferirci alla dimensione dell istanza di ingresso. Una stima dell ordine di grandezza può darci le informazioni necessarie (notazione asintotica).

30 ALGORITMI

31 RISOLUZIONE DI PROBLEMI La risoluzione di un problema è il processo che dato un problema e individuato un opportuno metodo risolutivo, trasforma i dati iniziali nei corrispondenti risultati finali. Affinché la risoluzione di un problema possa essere realizzata attraverso l uso del calcolatore, tale processo deve poter essere definito come sequenza di azioni elementari.

32 ALGORITMO Un algoritmo (matematico arabo Al Khuwarizmi, vissuto nel IX secolo d.c.) è una sequenza finita di mosse che risolve in un tempo finito una classe di problemi L esecuzione delle azioni nell ordine specificato dall algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono il problema. METODO RISOLUTIVO (ALGORITMO) DATI Esecutore RISULTATI ESECUTORE: una macchina astratta capace di eseguire le azioni specificate dell algoritmo

33 ALGORITMI: PROPRIETA Eseguibilità: ogni azione deve essere eseguibile dall esecutore in un tempo finito Non-ambiguità: ogni azione deve essere univocamente interpretabile dall esecutore Finitezza: il numero totale di azioni da eseguire per ogni insieme di dati di ingresso deve essere finito

34 ALGORITMI: PROPRIETA Quindi, un algoritmo deve: Essere applicabile a qualsiasi insieme di dati in ingresso appartenenti al dominio di definizione dell algoritmo Essere costituito di operazioni appartenenti ad un determinato insieme di operazioni fondamentali Essere costituito di regole non ambigue, cioè interpretabili in modo univoco qualunque sia l esecutore (persona o «macchina») che le legge

35 ALGORITMI: PROPRIETA Un algoritmo deve poter essere eseguito da chiunque, senza che l'esecutore sia stato necessariamente coinvolto nella formulazione del problema o nella descrizione dell algoritmo Gli algoritmi devono essere formalizzati per mezzo di appositi linguaggi, dotati di strutture linguistiche che garantiscano precisione e sintesi I linguaggi naturali non soddisfano questi requisiti, infatti... sono ambigui: la stessa parola può assumere significati diversi in contesti differenti (pesca è un frutto o un attività sportiva) sono ridondanti: lo stesso concetto può essere espresso in molti modi diversi, ad esempio somma 2 a 3, calcola 2+3, esegui l addizione tra 2 e 3

36 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

37 PROGRAMMA Un PROGRAMMA è un testo scritto in accordo alla sintassi e alla semantica di un linguaggio di programmazione Un programma è la formulazione testuale, in un certo linguaggio di programmazione, di un algoritmo che risolve un dato problema Problema ANALISI Algoritmo Relazioni tra problema, analisi, algoritmo, programmazione, programma, dati ed elaborazione PROGRAMMAZIONE Programma ELABORAZIONE Dati Risultati

38 ALGORITMO E PROGRAMMA Per risolvere un problema: Individuazione di un procedimento risolutivo Scomposizione del procedimento in un insieme ordinato di azioni ALGORITMO Rappresentazione dei dati e dell algoritmo attraverso un formalismo comprensibile dal calcolatore LINGUAGGIO DI PROGRAMMAZIONE Problema Algortimo Programma Metodo risolutivo Linguaggio di programmazione

39 ESEMPIO Come piegare un foglio quadrato per ottenere una figura:

40 PRIMITIVE

41 ESEMPIO: ORDINAMENTO DI UN MAZZO DI CARTE Problema: Sia dato un mazzo da 40 carte da ordinare in modo che quelle di cuori precedano quelle quadri, che a loro volta precedono quelle di fiori e quelle di picche; le carte di uno stesso seme sono ordinate dall asso al re. Algoritmo: Si suddivida il mazzo in 4 mazzetti, ciascuno costituito da tutte le carte dello stesso seme Si ordinino le carte di ciascun mazzetto dall asso al re Si prendano nell ordine i mazzetti di cuori, quadri, fiori e picche

42 ESEMPIO: CALCOLO DELLE RADICI DI EQ. DI 2 GRADO Problema: Calcolo delle radici reali dell equazione ax 2 +bx+c=0 Algoritmo: Acquisire i coefficienti a,b,c Calcolare = b 2 4ac Se <0 non esistono radici reali, eseguire l'istruzione 7) Se =0, x 1 =x 2 = b/2a, poi eseguire l'istruzione 6) Se >0, x 1 =( b+ )/2a, x 2 =( b )/2a Comunicare i valori x 1, x 2 Fine Si utilizzano VARIABILI, ossia nomi simbolici usati nell algoritmo per denotare dati

43 ESEMPIO: CALCOLO DEL M.C.D. Problema: Calcolare il M.C.D. di due interi a,b, con a>b Algoritmo: Formalizzato da Euclide nel 300 a.c., si basa sul fatto che ogni divisore comune ad a e b è anche divisore del resto r della divisione intera di a per b, quando a>b e r 0; se r=0, b è il M.C.D. MCD(a,b) = MCD(b,r), se r 0 MCD(a,b)=b, se r=0 L algoritmo garantisce la determinazione del M.C.D. senza il calcolo di tutti i divisori di a e b

44 ESEMPIO: CALCOLO DEL M.C.D. Acquisire i valori di a e b Se b>a, scambiare i valori di a e b Calcolare il resto r della divisione intera di a per b Se r=0, MCD(a,b)=b; comunicare il risultato all esterno; eseguire l istruzione 6) Se r 0, sostituire il valore di a con il valore di b ed il valore di b con il valore di r; tornare al passo 3) Fine

45 ALGORITMI EQUIVALENTI Due algoritmi si dicono equivalenti quando: Hanno lo stesso dominio di ingresso Hanno lo stesso dominio di uscita In corrispondenza degli stessi valori del dominio di ingresso producono gli stessi valori nel dominio di uscita

46 ALGORITMI EQUIVALENTI Due algoritmi equivalenti: Forniscono lo stesso risultato Ma possono avere diversa efficienza e possono essere profondamente diversi

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione informale di algoritmo Insieme di istruzioni, definite

Dettagli

Tempo e spazio di calcolo (continua)

Tempo e spazio di calcolo (continua) Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza

Dettagli

Tempo e spazio di calcolo (continua)

Tempo e spazio di calcolo (continua) Tempo e spazio di calcolo (continua) I numeri di Fibonacci come case study (applichiamo ad un esempio completo le tecniche illustrate nei lucidi precedenti) Abbiamo introdotto tecniche per la correttezza

Dettagli

Algoritmi e Strutture Dati. Capitolo 1 Un introduzione informale agli algoritmi

Algoritmi e Strutture Dati. Capitolo 1 Un introduzione informale agli algoritmi Algoritmi e Strutture Dati Capitolo Un introduzione informale agli algoritmi Ancora un esempio di problema e soluzioni algoritmiche: i numeri di Fibonacci verso un modello di calcolo più simile a un computer

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Informazioni sul corso + Un introduzione informale agli algoritmi Domenico Fabio Savo 1 Domenico Fabio Savo Email: savo@dis.uniroma1.it Web: http://www.dis.uniroma1.it/~savo

Dettagli

Algoritmi e strutture dati

Algoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 1 Un introduzione informale agli algoritmi Definizione informale di algoritmo Insieme di istruzioni, definite passo per passo, in modo da poter essere eseguite meccanicamente

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso

Dettagli

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento lunedì, prima o dopo lezione? Aula? 1 Analisi e programmazione Tramite un elaboratore si possono risolvere

Dettagli

L ELABORATORE ELETTRONICO!

L ELABORATORE ELETTRONICO! L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

Introduzione all informatica

Introduzione all informatica Introduzione all informatica INFORMATICA Varie definizioni Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta Scienza della rappresentazione e dell

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino A.A. 2006/07 I conigli di Fibonacci Ricerca Binaria L isola dei conigli

Dettagli

Risoluzione di problemi

Risoluzione di problemi ALGORITMI Risoluzione di problemi Algoritmi Strutture dati Strumenti del linguaggio di programmazione La risoluzione di un problema è il processo che dato un problema e individuato un opportuno metodo

Dettagli

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Algoritmi e programmazione Prof. Andrea Borghesan

SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Algoritmi e programmazione Prof. Andrea Borghesan SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI Algoritmi e programmazione Prof. Andrea Borghesan venus.unive.it/borg borg@unive.it Ricevimento mercoledì, 14.00-15.30. Studio 34, dip. statistica Modalità esame:

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Ricorsivi e Ricorrenze Maria Rita Di Berardini 2, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino 2 Polo di Scienze Università di Camerino ad Ascoli Piceno

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su dati in ingresso (input) per produrre uno

Dettagli

Elaboratore Elettronico

Elaboratore Elettronico L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 33 INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, bisogna conoscere

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi Ricorsivi e Maria Rita Di Berardini, Emanuela Merelli 1 1 Dipartimento di Matematica e Informatica Università di Camerino I conigli di Fibonacci Ricerca Binaria L isola dei conigli Leonardo da

Dettagli

La Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema

La Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema La Programmazione È l'attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su una particolare tipologia di dati, allo scopo di risolvere un problema. 1 La Programmazione

Dettagli

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Dall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3

Dall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3 Dall algoritmo al calcolatore: concetti introduttivi Fondamenti di Programmazione Algoritmo Problema o compito Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo sequenza precisa

Dettagli

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

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell

Dettagli

ALGORITMI: PROPRIETÀ FONDAMENTALI

ALGORITMI: PROPRIETÀ FONDAMENTALI ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse

Dettagli

INFORMATICA (Computer Engineering o

INFORMATICA (Computer Engineering o INFORMATICA (Computer Engineering o Computer Science?) COMPRENDE: Metodi per la rappresentazione delle informazioni Metodi per la rappresentazione delle soluzioni Linguaggi di programmazione Architettura

Dettagli

Programmazione dinamica Primi esempi

Programmazione dinamica Primi esempi Programmazione dinamica Primi esempi (20 ottobre 2009 e 9 novembre 2010) Programmazione dinamica e Divide et Impera Entrambe le tecniche dividono il problema in sottoproblemi: dalle soluzioni dei sottoproblemi

Dettagli

L informatica comprende: INFORMATICA. Varie definizioni: Definizione proposta: ELABORATORE ELETTRONICO ( COMPUTER ) L ELABORATORE

L informatica comprende: INFORMATICA. Varie definizioni: Definizione proposta: ELABORATORE ELETTRONICO ( COMPUTER ) L ELABORATORE INFORMATICA L informatica comprende: Varie definizioni: Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione

Dettagli

CdL in Medicina Veterinaria - STPA AA

CdL in Medicina Veterinaria - STPA AA CdL in Medicina Veterinaria - STPA AA 2007-08 Programmi e algoritmi I Calcolatori: cos hanno di speciale? 1 Elaborazione dell Informazione Dati, informazione e istruzioni Un esempio: Dr Rossi 328275456

Dettagli

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

Algoritmi. Andrea Passerini Informatica. Algoritmi

Algoritmi. Andrea Passerini Informatica. Algoritmi Andrea Passerini passerini@disi.unitn.it Informatica Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale

Dettagli

Esempio : i numeri di Fibonacci

Esempio : i numeri di Fibonacci Esempio : i numeri di Fibonacci La successione di Fibonacci F 1, F 2,... F n,... è definita come: F 1 =1 F 2 =1 F n =F n 1 F n 2,n 2 Leonardo Fibonacci (Pisa, 1170 Pisa, 1250) http://it.wikipedia.org/wiki/leonardo_fibonacci

Dettagli

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione elaborazione

Dettagli

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile

Algoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Algoritmi Andrea Passerini passerini@dsi.unifi.it Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Elaboratore Un elaboratore o computer è una macchina digitale, elettronica,

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi

Dettagli

Algoritmi e Programmi

Algoritmi e Programmi Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi

Dettagli

Introduzione agli Algoritmi

Introduzione agli Algoritmi Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione

Dettagli

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

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.) Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive

Dettagli

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano

Dettagli

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

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari. Esistono varie definizioni: Informatica Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione.

Dettagli

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA

liceo B. Russell PROGRAMMAZIONE INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE BIENNIO: SECONDA DISCIPLINA: INFORMATICA INDIRIZZO: SCIENTIFICO SCIENZE APPLICATE PROGRAMMAZIONE BIENNIO: SECONDA DISCIPLINA: INFORMATICA PIANO DI LAVORO DEL DOCENTE / RELAZIONE FINALE Anno scolastico 2014/2015 DOCENTE Prof. PAOLO ARMANI CLASSE:

Dettagli

Introduzione alla programmazione strutturata

Introduzione alla programmazione strutturata FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio

Dettagli

Analisi e programmazione Gli algoritmi

Analisi e programmazione Gli algoritmi Introduzione Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

Fondamenti di Informatica 4. Gli algoritmi

Fondamenti di Informatica 4. Gli algoritmi Sommario Fondamenti di Informatica 4. Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati I linguaggi per la

Dettagli

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

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica FODAMETI DI IFORMATICA Prof. PIER LUCA MOTESSORO Prof. ELIO TOPPAO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio Toppano

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione

Dettagli

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

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

Dettagli

CORSO DI INFORMATICA Maria Grazia Celentano

CORSO DI INFORMATICA Maria Grazia Celentano CORSO DI INFORMATICA Maria Grazia Celentano INFORMATICA E PROGRAMMAZIONE L Informatica è definita come la Scienza della Rappresentazione e dell Elaborazione dell informazione o, in altri termini, lo studio

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Introduzione. Informatica Generale. Lezioni: lunedì h. 11:10-13:00 lab. Zironi martedì h. 11:10-13:00 lab. Zironi mercoledì h. 9:10-11:00 lab.

Introduzione. Informatica Generale. Lezioni: lunedì h. 11:10-13:00 lab. Zironi martedì h. 11:10-13:00 lab. Zironi mercoledì h. 9:10-11:00 lab. Introduzione Informatica Generale Lezioni: lunedì h. 11:10-13:00 lab. Zironi martedì h. 11:10-13:00 lab. Zironi mercoledì h. 9:10-11:00 lab. Zironi Docenti: Dott.ssa Federica Mandreoli Ricevimento: lunedì

Dettagli

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione Sommario Problemi e soluzioni Definizione informale di algoritmo e esempi Proprietà degli algoritmi Input/Output, Variabili Algoritmi senza input o output 1 2 Problema Definizione (dal De Mauro Paravia):

Dettagli

Università degli Studi dell Aquila Anno Accademico 2015/2016

Università degli Studi dell Aquila Anno Accademico 2015/2016 Università degli Studi dell Aquila Anno Accademico 2015/2016 Corso Integrato di Algoritmi e Strutture Dati con Laboratorio (12 CFU): Modulo da 6 CFU di Algoritmi e Strutture Dati (Prof. Guido Proietti)

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

Analisi e Programmazione

Analisi e Programmazione Algoritmi 1 Analisi e Programmazione I Calcolatori Elettronici si differenziano da altri tipi di macchine per il fatto che possono essere predisposti alla risoluzione di problemi di diversa natura. A tale

Dettagli

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

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

Nozioni di base (II Parte)

Nozioni di base (II Parte) Nozioni di base (II Parte) 1 Ricorsione [GTG14, Par. 5.1-5.4 and 13.1] Algoritmo Ricorsivo: algoritmo che invoca se stesso (su istanze sempre più piccole) sfruttando la nozione di induzione. La soluzione

Dettagli

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

Scaletta. Cenni di computabilità. Cosa fa un programma? Definizioni (1/2) Definizioni (2/2) Problemi e domande. Stefano Mizzaro 1 Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 23 27 novembre 2013

Dettagli

! Problemi, domande, risposte. ! Algoritmi che calcolano funzioni. ! Funzioni computabili e non. ! Problema = insieme di domande omogenee. !

! Problemi, domande, risposte. ! Algoritmi che calcolano funzioni. ! Funzioni computabili e non. ! Problema = insieme di domande omogenee. ! Scaletta Cenni di computabilità Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@uniud.it Programmazione, lezione 24 26 maggio 2015!

Dettagli

1 Esercizi in pseudocodice

1 Esercizi in pseudocodice Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.

Dettagli

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi

Lezione 4. Problemi trattabili e soluzioni sempre più efficienti. Gianluca Rossi Lezione 4 Problemi trattabili e soluzioni sempre più efficienti Gianluca Rossi Trattabile o intrattabile? Consideriamo ora il problema, ben noto a tutti gli studenti a partire dalla scuola media, di calcolare

Dettagli

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

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli

Analisi e programmazione

Analisi e programmazione Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Introduzione agli Algoritmi 4

Introduzione agli Algoritmi 4 Introduzione agli Algoritmi Sommario Problemi e soluzioni Definizione informale di algoritmo e esempi Proprietà degli algoritmi Input/Output, Variabili Algoritmi senza input o output Introduzione agli

Dettagli

Concetti Introduttivi. Il Computer

Concetti Introduttivi. Il Computer Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta

Dettagli

Tecniche Algoritmiche: divide et impera

Tecniche Algoritmiche: divide et impera Tecniche Algoritmiche: divide et impera Una breve presentazione F. Damiani - Alg. & Lab. 04/05 Divide et impera (o Divide and conquer) Per regnare occorre tenere divisi i nemici e trarne vantaggio F. Damiani

Dettagli

Che cosa si intende per INFORMATICA?

Che cosa si intende per INFORMATICA? Che cosa si intende per INFORMATICA? Scienza della rappresentazione e dell elaborazione dell informazione L informazione è il concetto principale dell Informatica. L elaborazione dell informazione avviene

Dettagli

Esercizi per il corso di Algoritmi, anno accademico 2011/12

Esercizi per il corso di Algoritmi, anno accademico 2011/12 Esercizi per il corso di Algoritmi, anno accademico 2011/12 Esercizi sulla Tecnica Divide et Impera N.B. Tutti gli algoritmi vanno scritti in pseudocodice (non in Java, nè in C++, etc. ). Di tutti gli

Dettagli

Che cos è l Informatica?

Che cos è l Informatica? Che cos è l Informatica? Che cos è l Informatica? Non è facile da definire! Alcune affermazioni vere: L informatica è parente stretta della matematica Ha a che fare con il modo in cui risolviamo i problemi

Dettagli

Università degli Studi dell Aquila Anno Accademico 2016/2017

Università degli Studi dell Aquila Anno Accademico 2016/2017 Università degli Studi dell Aquila Anno Accademico 2016/2017 Corso Integrato di Algoritmi e Strutture Dati con Laboratorio (12 CFU): Modulo da 6 CFU di Algoritmi e Strutture Dati (Prof. Guido Proietti)

Dettagli

NUMERI PRIMI E CRITTOGRAFIA

NUMERI PRIMI E CRITTOGRAFIA NUMERI PRIMI E CRITTOGRAFIA Parte I. Crittografia a chiave simmetrica dall antichità all era del computer Parte II. Note della Teoria dei Numeri concetti ed algoritmi a supporto della Crittografia Parte

Dettagli

MODULO 07. La soluzione dei problemi mediante gli algoritmi

MODULO 07. La soluzione dei problemi mediante gli algoritmi MODULO 07 La soluzione dei problemi mediante gli algoritmi MODULO 07 Unità didattica 02 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Modelli di calcolo e metodologie di analisi Domenico Fabio Savo 1 Notazione asintotica f(n) = tempo di esecuzione / occupazione di memoria di un algoritmo su input di dimensione

Dettagli

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota 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

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

Fabrizio Messina, Marzio Pennisi

Fabrizio Messina, Marzio Pennisi Fabrizio Messina, Marzio Pennisi {messina,mpennisi}@dmi.unict.it Argomenti trattati Algoritmo: definizione Analisi e programmazione: attività preliminari atte a risolvere problemi utilizzando un elaboratore,

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Esercizio Analizzare la complessità nel caso medio del primo algoritmo di pesatura (Alg1) presentato nella prima

Dettagli

DISCIPLINA: MATEMATICA

DISCIPLINA: MATEMATICA Opera in modo faticoso e inappropriato nel calcolo e utilizza linguaggi e metodi della disciplina in modo scorretto. Opera in modo faticoso e incerto nel calcolo e utilizza linguaggi e metodi della disciplina

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Scuola di Scienze e Tecnologie - Sezione di Informatica Università di Camerino Parte I Il concetto di Algoritmo Il

Dettagli

Unità di apprendimento 6. Dal problema al programma

Unità di apprendimento 6. Dal problema al programma Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere

Dettagli

Informatica, Algoritmi, Linguaggi

Informatica, Algoritmi, Linguaggi Elementi di Informatica e Applicazioni Numeriche T Informatica, Algoritmi, Linguaggi Cos'è l'informatica? Che cos'è l'informatica? Cos'è l'informatica? Che cos'è l'informatica? Dell'informatica possiamo

Dettagli

Analisi e programmazione 1

Analisi e programmazione 1 Informatica Secondo l ACM l informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria, analisi progetto efficienza realizzazione ed applicazione 1

Dettagli

Algoritmi. Un tema centrale dell informatica è lo studio degli algoritmi.

Algoritmi. Un tema centrale dell informatica è lo studio degli algoritmi. Algoritmi Un tema centrale dell informatica è lo studio degli algoritmi. Ora nostro obiettivo sarà quello di esplorare a sufficienza questa materia fondamentale per poter capire e apprezzare appieno l

Dettagli

Algoritmi e Strutture Dati. Luciano Gualà

Algoritmi e Strutture Dati. Luciano Gualà Algoritmi e Strutture Dati Luciano Gualà guala@mat.uniroma2.it www.mat.uniroma2.it/~guala Esercizio Analizzare la complessità nel caso medio del primo algoritmo di pesatura (Alg1) presentato nella prima

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Introduzione al Corso Maria Rita Di Berardini (Camerino), Emanuela Merelli (Ascoli) 1 1 Dipartimento di Matematica e Informatica Università di Camerino Parte I Il concetto di algoritmo Informalmente, un

Dettagli

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

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione

Dettagli

Algoritmi e loro proprietà. Proprietà formali degli Algoritmi Efficienza rispetto al tempo Efficienza rispetto allo spazio

Algoritmi e loro proprietà. Proprietà formali degli Algoritmi Efficienza rispetto al tempo Efficienza rispetto allo spazio Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo Efficienza rispetto allo spazio Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione

Dettagli

Problem solving elementare su dati scalari

Problem solving elementare su dati scalari Problem solving elementare su dati scalari Problemi numerici Problemi di codifica/decodifica Problemi testuali Problemi di verifica e filtro di dati Problemi di ordinamento Sommario 2 2006 Politecnico

Dettagli

Risoluzione di problemi con l uso dell elaboratore elettronico

Risoluzione di problemi con l uso dell elaboratore elettronico Lab. Tecnologie Informatiche Risoluzione di problemi con l uso dell elaboratore elettronico L'INFORMATICA L'informatica è la scienza applicata che studia le modalità di raccolta, di conservazione, di trattamento

Dettagli

Istruzioni, algoritmi, linguaggi

Istruzioni, algoritmi, linguaggi Istruzioni, algoritmi, linguaggi 1 Algoritmo per il calcolo delle radici reali di un equazione di 2 o grado Data l equazione ax 2 +bx+c=0, quali sono i valori di x per cui l equazione è soddisfatta? 2

Dettagli

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

Algoritmi e loro proprietà. Che cos è un algoritmo? Un esempio di algoritmo 1 Cos è l informatica? L informatica è la scienza della rappresentazione e dell elaborazione dell informazione Algoritmi e loro proprietà Proprietà formali degli Algoritmi Efficienza rispetto al tempo

Dettagli

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

Problemi e algoritmi. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 (da U. de' Liguoro - Alg. & Spe. 03/04) Problemi e algoritmi Il che cosa e il come Il che cosa ed il come Problema: descrive che cosa si deve calcolare Specifica (di un algoritmo): descrive che cosa calcola un algoritmo Algoritmo: descrive come

Dettagli

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

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli