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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

1 ESERCITAZIONI DI LABORATORIO DI CALCOLO NUMERICO Introduzione: Algoritmi e Programmazione strutturata Prof. L. Pareschi Dott. G. Dimarco

2 Risoluzione dei Problemi mediante l uso del Calcolatore Elettronico Calcolatore Elettronico: É uno strumento in grado di eseguire insiemi di azioni elementari Le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti (risultati) L esecuzione di azioni viene richiesta all elaboratore attraverso opportune direttive, dette istruzioni Programmazione É l attivitá con cui si predispone l elaboratore a eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un certo problema. 1 Prof. L. Pareschi, Dott. G. Dimarco

3 dati Calcolatore elettronico risultati I Problemi da risolvere I Problemi che siamo interessati a risolvere con l elaboratore sono di natura molto varia. Esempi I: 1. Dati due numeri trovare il maggiore 2. Dato un elenco di nomi e relativi numeri di telefono trovare il numero di telefono di una determinata persona 2 Prof. L. Pareschi, Dott. G. Dimarco

4 3. Stabilire se una parola viene alfabeticamente prima o dopo di un altra 4. Somma di due numeri interi 5. Prodotto di numeri interi 6. Calcolare il massimo di un insieme 7. Ordinare una lista Esempi II: 1. Risolvere equazioni lineari e non lineari 2. Risolvere Sistemi di equazioni lineari e non lineari 3. Effettuare integrazioni numeriche 4. Approssimare e interpolare funzioni 5. Risolvere numericamente equazioni differenziali ordinarie e alle derivate parziali 6. Problemi di ottimizzazione 3 Prof. L. Pareschi, Dott. G. Dimarco

5 La descrizione di un problema non fornisce (in genere) un metodo per calcolare il risultato Risoluzione di Problemi Affinché il problema sia risolvibile, in generale é necessario che la sua definizione sia chiara e completa. Non tutti i problemi sono risolvibili attraverso l uso del calcolatore. In particolare esistono classi di problemi per le quali la soluzione non é determinabile per questa strada: Se il problema presenta infinite soluzioni Se per il problema non stato trovato un metodo risolutivo ( Problema di Fermat: trovare tutti gli N per cui l equazione X N + Y N = Z N ) non esiste un metodo risolutivo automatizzabile Noi ci concentremo sui problemi che ammettono un metodo risolutivo. Gli obiettivi del corso sono presentare tecniche e metodologie di programmazione: Fornire gli strumenti per la realizzazione dei programmi (Matlab). 4 Prof. L. Pareschi, Dott. G. Dimarco

6 Fornire i metodi per l utilizzo corretto ed efficace delle tecnologie. Risoluzione di un Problema Con questo termine si indica il processo che: Dato un problema 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 di un calcolatore, tale processo deve essere definito come sequenza di azioni elementari. Algoritmo L algoritmo é l insieme ordinato delle azioni che risolve un dato problema. l algoritmo descrive il metodo risolutivo attraverso un insieme di azioni elementari. 5 Prof. L. Pareschi, Dott. G. Dimarco

7 l esecuzione delle azioni secondo l ordine specificato dall algoritmo, a partire dai dati di ingresso, consente di ottenere i risultati relativi alla soluzione del problema. Modello risolutivo (algoritmo) dati esecutore risultati si fa riferimento ad un esecutore intendo un oggetto astratto in grado di eseguire le azioni specificate. Proprietá fondamentali dell Algoritmo I 1. Esegubilitá: ogni istruzione deve essere eseguibile da parte della macchina 2. Non Ambiguitá: ogni azione deve essere univocamente interpretabile. 6 Prof. L. Pareschi, Dott. G. Dimarco

8 3. Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati in ingresso, é finito. Quindi l algoritmo deve: essere applicabile a qualsiasi insieme di dati di ingresso appartenenti al dominio di definizione dell algoritmo essere costituito da operazioni appartenenti a un determinato insieme di operazioni fondamentali le regole che costituiscono l algoritmo non devono essere ambigue, cioé devono essere interpretabili in modo univoco qualunque sia la persona o la macchina che le legge. Proprietá fondamentali dell Algoritmo II Esistono altre proprietá che si richiedono ad un buon algoritmo: generalitá determinismo (risultati non dipendenti dall esecuzione) efficienza 7 Prof. L. Pareschi, Dott. G. Dimarco

9 realizzabilitá (con i mezzi a disposizione) Un algoritmo puó essere visto come il procedimento di calcolo di una funzione che mappa uno o piú valori di un dominio A (input dell algoritmo) in un valore del codominio B (output dell algoritmo). Dati (input) x algoritmo Risultati (output) f(x) 8 Prof. L. Pareschi, Dott. G. Dimarco

10 Programmazione strutturata Ogni Algoritmo é sempre una combinazione di strutture. punto di ingresso e un unico punto di uscita. Ogni struttura ha un unico IL TEOREMA DI BOEHM-JACOPINI: Un qualunque algoritmo puó essere descritto unicamente attraverso le tre strutture: Sequenza Diramazione Ciclo o Iterazione Una sequenza puó contenere: istruzioni di lettura e scrittura, istruzioni di assegnazione. La Dirmazione é una struttura che permette di: eseguire certe istruzioni al verificarsi di una certa condizione (selezione ad una via) o di eseguire certe istruzioni al verificarsi di una certa condizione ed altre istruzioni se non si verifica (selezione a due vie). Il Ciclo é una struttura che permette di ripetere una o piú operazioni in sequenza per un numero finito di volte. La ripetizione del gruppo di istruzioni soggette alla iterazione (o ciclo) é soggetta al verificarsi di una certa condizione ed il controllo su di essa puó essere in testa alla struttura oppure in coda alla stessa. 9 Prof. L. Pareschi, Dott. G. Dimarco

11 Esiste una quarta struttura chiamata procedura non indispensabile per descrivere l algoritmo ma aiuta nella realizzazione di un programma: dimostra la correttezza di ciascun blocco in maniera indipendente permette la gestione di ogni dettaglio in modo separato Permette di non influenzare troppo il progetto globale, consente passi indietro senza troppe difficoltá Algoritmi e Programmi I 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. il linguaggio di pro- Le istruzioni sono espresse attraverso un opportuno formalismo: grammazione. La formulazione testuale di un algoritmo in un linguaggio di programmazione é detta programma. 10 Prof. L. Pareschi, Dott. G. Dimarco

12 program somma integer :: A,B write(*,*) inserisci A e B read(*,*) A,B C=A+B write(*,*) C end program Algoritmi e Programmi II Dato un problema, la sua soluzione puó essere ottenuta mediante l uso del calcolatore, compiendo i seguenti passi: 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 per l elaboratore (programma) 11 Prof. L. Pareschi, Dott. G. Dimarco

13 Metodo risolutivo Linguaggio di programmazione problema algoritmo programma Il procedimento é complesso e non é univoco. Algoritmi: Alcuni Esempi IL Problema della capra, del lupo e del cavolo: Porta la capra sull altra sponda 12 Prof. L. Pareschi, Dott. G. Dimarco

14 torna indietro porta il cavolo sull altra sponda porta indietro la capra porta il lupo sull altra sponda torna indietro porta la capra sull altra sponda Soluzione dell equazione ax + b = 0: leggi i valori di a e b calcola b dividi quello che hai ottenuto per a e chiama x il risultato stampa x 13 Prof. L. Pareschi, Dott. G. Dimarco

15 Stabilire se una parola P viene alfabeticamente prima di una parola Q: Leggi P e Q ripeti quanto segue: SE prima lettera di P < prima lettera di Q allora scrivi vero altrimenti togli da P e Q la prima lettera fino a quando hai trovato le prime lettere diverse. Calcolo del massimo di un insieme scegli un elemento come massimo provvisorio max per ogni elemento i dell insieme se: i > max poni max = i il risultato é max nota: si utilizzano variabili cioé nomi simbolici usati nell algoritmo per denotare dati. 14 Prof. L. Pareschi, Dott. G. Dimarco

16 Somma degli elementi dispari di un insieme Dato INS l insieme di elementi considero un elemento X di INS alla volta senza ripetizioni. Se X é dispari sommo X a un valore S inizialmente posto uguale a 0. Se X é pari non compio nessuna azione. Somma di due numeri X e Y Incrementare il valore di Z, inizialmente posto uguale a X per Y volte. poni Z=X poni U=0 finché U é diverso da Y: incrementa Z (Z:=Z+1) incrementa U (U:=U+1) il risultato é Z Algoritmi Equivalenti 15 Prof. L. Pareschi, Dott. G. Dimarco

17 Due Algoritmi si dicono equivalenti quando: hanno lo stesso dominio di ingresso hanno lo stesso dominio di uscita in corrispondenza degli stessi valori nel dominio di ingresso producono gli stessi valori nel dominio di uscita Due algoritmi equivalenti: forniscono lo stesso risultato possono avere differente efficienza possono essere profondamente diversi Algoritmi Equivalenti: Esempio Calcolo del massimo comun divisore fra m e n Algoritmo a: 16 Prof. L. Pareschi, Dott. G. Dimarco

18 Calcola l insieme I dei divisori di m Calcola l insieme J dei divisori di n Calcola l insieme dei divisori comuni K(I J) Calcola il massimo in K: questo é il risultato. Algoritmo b: si basa sul metodo di Euclide: mcd(m,n)=m (oppure n) se m=n mcd(m-n,n) se m > n mcd(m,n-m) se m < n Algoritmo: Finché m é diverso da n esegui le seguenti azioni: se m > n sostituisci a m il valore (m-n) altrimenti sostituisci a n il valore(n-m) il massimo comun divisore é m Gli algoritmi a e b sono equivalenti 17 Prof. L. Pareschi, Dott. G. Dimarco

19 Rappresentazione di Algoritmi: Diagrammi di Flusso É un formalismo che consente di rappresentare graficamente gli algoritmi. un diagramma di flusso descrive le azioni da eseguire e il loro ordine di esecuzione. ogni azione elementare corrisponde a un simbolo grafico (blocco) diverso (sono convenzioni non universali). ogni blocco ha un ramo in ingresso e uno o piú in uscita; collegando tra loro i vari blocchi attraverso i rami, si ottiene un diagramma di flusso. un diagramma di flusso appare, quindi, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza in cui i blocchi devono essere eseguiti( flusso di controllo di esecuzione). 18 Prof. L. Pareschi, Dott. G. Dimarco

20 Diagrammi di Flusso I start A:=1 i:=1 NO i>10 SI A A:=A+i stop i:=i+1 19 Prof. L. Pareschi, Dott. G. Dimarco

21 L insieme dei dati di ingresso e dei risultati vengono rappresentati attraverso dei nomi simbolici, detti variabili. Puó essere inoltre necessario introdurre delle variabili temporanee (ad esempio, i), necessarie alla risoluzione del problema: tali variabili vengono anch esse rappresentate da nomi simbolici. I diagrammi di flusso hanno notevoli limiti per la soluzione di problemi di una certa complessitá. Valori: Numerici: interi e reali Diagrammi di Flusso II Alfanumerici (stringhe): AAAA,Pippo logici: Vero, Falso Grandezze: Costanti: Quantitá note a priori, il cui valore non cambia durante l esecuzione 20 Prof. L. Pareschi, Dott. G. Dimarco

22 Variabili: Rappresentate da un nome simbolico cui é assegnato un valore che puó cambiare durante l esecuzione dell algoritmo. Espressioni: Sequenze di variabili e cosanti combinate fra loro mediante operatori (ad esempio, operatori aritmetici:+,-,*,/). Nella valutazione di un espressione, si sostituisce a ogni variabile il suo valore attuale e si eseguono le operazioni secondo un ordine prestabilito da regole di precedenza (esempio,parentesi). A tutte le variabili che compaiono nell espressione deve essere stato associato un valore prima della valutazione dell espressione Espressioni relazionali e logiche: danno come risultato vero o falso. Istruzioni(blocchi) fondamentali Inizio e fine esecuzione (START e STOP) START é il blocco da cui deve iniziare l esecuzione (in ogni diagramma di flusso ne deve comparire uno solo) STOP fa terminare l esecuzione dell algoritmo (in ogni diagramma di flusso ne deve comparire almeno uno) 21 Prof. L. Pareschi, Dott. G. Dimarco

23 Ingresso (lettura,read,input) esecuzione dell istruzione: Si ricevono dall unitá di ingresso (per esempio, la tastiera) tanti valori quante sono le variabili specificate all interno del blocco, e si assegnano nello stesso ordine delle variabili. A,B,C sono nomi di variabili. A,B,C Leggi i tre valori dati in ingresso, e assegnali rispettivamente alle variabili A,B,C. 22 Prof. L. Pareschi, Dott. G. Dimarco

24 esecuzione: Uscita (stampa,type,print,output) Si calcolano i valori delle espressioni e si trasmettono all unitá di uscita (esempio:monitor). X,Y,Z X,Y,Z sono espressioni calcola i valori delle espressioni X,Y,Z e trasmettili in uscita. 23 Prof. L. Pareschi, Dott. G. Dimarco

25 esecuzione: Assegnamento Si calcola il valore dell espressione a destra del simbolo := e lo si assegna alla variabile indicata a sinistra del simbolo := (con eventuale perdita del valore precedente di V). V:=E V é il nome di una variabile, E é un espressione. calcola il valore dell espression E e assegnalo alla variabile V. 24 Prof. L. Pareschi, Dott. G. Dimarco

26 Esempio (sequenza): start input A,B assegnamento C:=A+B output C stop 25 Prof. L. Pareschi, Dott. G. Dimarco

27 esecuzione: Condizioni o salti condizionati Si valuta la condizione specificata all interno del blocco: se é verificata, si prosegue con la linea di flusso contrassegnata da SI, altrimenti (se non é verificata) si prosegue per il ramo etichettato con NO. E é un espressione relazionale o logica (ritorna valore vero, oppure falso). E Calcola il valore dell espressione E: se é vero, prosegui per il ramo SI, altrimenti prosegui per il ramo NO Il blocco condizione é l elemento di base per realizzare alternative e ripetizioni. 26 Prof. L. Pareschi, Dott. G. Dimarco

28 Alternativa Esprime la scelta tra due possibili azioni(o sequenze di azioni)mutuamente esclusive: start A,B C:=A NO A<B SI C:=B C stop 27 Prof. L. Pareschi, Dott. G. Dimarco

29 Iterazione o Ripetizione Esprime la ripetizione di una sequenza di istruzioni. da: Nel caso piú generale, é costituito Inizializzazione: assegnazione dei valori iniziali alle variabili caratteristiche del ciclo; Corpo: esecuzione delle istruzioni fondamentali del ciclo che devono essere eseguite in modo ripetitivo; Modifica: modifica dei valori delle variabili che controllano l esecuzione del ciclo (eseguito ad ogni iterazione); Controllo: determina, in base al valore delle variabili che controllano l esecuzione del ciclo se il ciclo deve essere ripetuto o meno. 28 Prof. L. Pareschi, Dott. G. Dimarco

30 Iterazione start N, i:=1 Inizializzazione controllo SI i>n i NO corpo modifica i:=i+1 stop 29 Prof. L. Pareschi, Dott. G. Dimarco

31 Esempio: start X,Y,Z variabili X,Y Z:=0 Lettura SI X=0 X:=X-1 NO Test (salto condizionato) Z stampa Z:=Z+Y stop 30 Prof. L. Pareschi, Dott. G. Dimarco

32 Algoritmo che calcola il prodotto come sequenza di somme (si suppone Y > 0, X 0). Pseudo-codifica: prodotto come sequenza di somme (si suppone Y > 0, X 0). 1. leggi X e Y 2. poni Z=0 3. se X=0 allora stampa Z vai al passo 7 altrimenti (vai al passo succesivo) 4. decrementa X 5. somma Y a Z 6. vai al passo 3 7. fine Poco strutturata: incoraggia uno stile di programmazione che fa uso di istruzioni di salto. 31 Prof. L. Pareschi, Dott. G. Dimarco

33 Metodologie di Programmazione Il costo del software é alto. Occorre semplificare la progettazione degli algoritmi di soluzione di problemi e produrre programmi di elevata qualitá. Programmazione in the small: programmi scritti da una sola persona. Programmazione in the large: programmi scritti da gruppi di persone ognuno dei quali é responsabile di un insieme di funzionalitá limitato. Ciclo di vita di un programma: 1. specifica dei requisiti (problema) 2. scelta del sistema di calcolo (linguaggio,hardware) 3. progetto(algoritmo) 4. test e correzione 5. manutenzione Qualitá dei programmi: Scrivere programmi che abbiano le seguenti caratteristiche: 32 Prof. L. Pareschi, Dott. G. Dimarco

34 correttezza: aderenza alle specifiche Leggibilitá: comprensibilitá da parte degli utenti Efficienza capacitá di ottenere risultati a basso costo Modificabilitá: semplicitá di trasformazione e adeguamento Ri-usabilitá: capacitá di risolvere classi di problemi Portabilitá: capacitá di utilizzo in ambienti di calcolo diversi Robustezza: capacitá di operare in maniera prevedibile anche con dati non coerenti Principio ǵarantire un elevata struttura e modularitá Metodologia top-down Si applica il principio di scomposizione, spezzando un problema in sotto-problemi la cui soluzione congiunta costituisce la soluzione per il problema generale. La scomposizione prosegue fin quando ogni singolo sotto-problema é cosí semplice da poter essere direttamente espresso per mezzo di istruzioni del linguaggio di programmazione (passi di raffinamento successivo). 33 Prof. L. Pareschi, Dott. G. Dimarco

35 Se P é un problema non elementare: si individuano P 1, P 2,.., P n sotto-problemi supponendo di aver risolto i sotto-problemi P i, si cerca di risolvere P si applica la metodologia top-down a ciascuno sotto-problema P i Metodologia favorita dall uso di procedure e funzioni. Metodologia bottom-up Costruisce l algoritmo risolutivo individuando un insieme di passi elementari e componendo succesivamente tali passi in frammenti piú grandi fino alla costruzione dell intero algoritmo. Dal dettaglio si passa all astratto. La visione complessiva del progetto si ha solo alla fine. Permette il riutilizzo di codice giá esistente. 34 Prof. L. Pareschi, Dott. G. Dimarco

36 Esempio: Problema: dato un valore VAL e un vettore di elementi di V, stampare un messaggio se VAL é un elemento di V. Metodologia top-down: Primo raffinamento: Cerca VAL nel vettore V Se VAL é un valore di V stampa un messaggio Secondo raffinamento: per tutti gli elementi di V: Confronta VAL con l i-esimo elemento di V, se sono uguali, ricordatelo Se hai trovato almeno un elemento di V uguale a VAL allora stampa il messaggio. Terzo raffinamento: for i:= 1 to N do if V(i) = VAL then RICORDA:= true if RICORDA = true then write ( Ho trovato l elemento ) 35 Prof. L. Pareschi, Dott. G. Dimarco

37 Metodologia bottom-up: Passo 1: Operazioni elementari individuate O1: VAL é uguale a V(i) 02: Ricordati che hai trovato un valore 03: Hai finito di guardare il vettore V? Manca un operazione di avanzamento nel vettore: Passo 2: Nuova operazione individuata 04: Avanza nel vettore Passo 3: Composizione delle precedenti operazioni: 012: if 01 then 02 repeat 012;04 until 03 Passo 4: Nuove operazioni da aggiungere 05: Inizia a scandire il primo elemento del vettore 06: Se hai trovato un valore uguale stampa messaggio Passo 5: Algoritmo finale( ) 36 Prof. L. Pareschi, Dott. G. Dimarco

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

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

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

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

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

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

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

Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi

Diagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi Diagrammi di flusso - Flowcharts E un formalismo che consente di rappresentare graficamente gli algoritmi Un diagramma di flusso descrive le azioni da eseguire ed il loro ordine di esecuzione Ogni azione

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. Esiistono variie defiiniiziionii: Informatica Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Defiiniiziione proposta Scienza della rappresentazione e dell elaborazione

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

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. Informatica. Risoluzione dei Problemi

Programmazione. Informatica. Risoluzione dei Problemi Cos è l INFORMATICA?? Il termine "informatica" ha un' accezione molto ampia. Risoluzione automatica di problemi: gli Algoritmi Esistono varie definizioni: l'informatica è la scienza che si occupa della

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

le operazioni base per la realizzazione di un algoritmo sono 4: visualizzazione risultati intermedi, scrittura risultati finali

le operazioni base per la realizzazione di un algoritmo sono 4: visualizzazione risultati intermedi, scrittura risultati finali Operazioni fondamentali le operazioni base per la realizzazione di un algoritmo sono 4: 1 trasferimento di informazioni: acquisizione dati, visualizzazione risultati intermedi, scrittura risultati finali

Dettagli

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»

Linguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite

Dettagli

Introduzione all Informatica e alla Programmazione. Fondamenti di Informatica T

Introduzione all Informatica e alla Programmazione. Fondamenti di Informatica T Introduzione all Informatica e alla Programmazione Cos è l INFORMATICA?? Il termine "informatica" ha un' accezione molto ampia. Esistono varie definizioni: l'informatica è la scienza che si occupa della

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

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

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

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

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

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

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

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

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

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell

Dettagli

CAPITOLO 3 - ALGORITMI E CODIFICA

CAPITOLO 3 - ALGORITMI E CODIFICA FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)

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

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

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

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

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

Programmazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo

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

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

Informatica. Perché l'informatica. Il Calcolatore Elettronico. Cosa possiamo fare?

Informatica. Perché l'informatica. Il Calcolatore Elettronico. Cosa possiamo fare? Informatica Perché l'informatica Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, ed elaborazione

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

Calcolo numerico e programmazione Risoluzione di problemi

Calcolo numerico e programmazione Risoluzione di problemi Calcolo numerico e programmazione Risoluzione di problemi Tullio Facchinetti 16 aprile 2012 14:37 http://robot.unipv.it/toolleeo Risoluzione di problemi per problema si intende

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

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

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

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

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

A lezione sono stati presentati i seguenti passi per risolvere un problema:

A lezione sono stati presentati i seguenti passi per risolvere un problema: Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi

Dettagli

Caratteristiche di un calcolatore elettronico

Caratteristiche di un calcolatore elettronico Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili

Dettagli

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

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

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

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta 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

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Introduzione alla Programmazione Prof. Stefano Mariani Dott. Alket Cecaj Indice Il concetto di algoritmo Algoritmo vs. programma

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

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

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

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

ALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico ALGORITMI Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico Dati input Elaboratore elettronico Risultati Per risolvere un problema è necessario fornire una descrizione chiara e

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica. Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Algoritmi Michele Tomaiuolo Algoritmo Il termine algoritmo deriva

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

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

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

Algoritmi e programmazione

Algoritmi e programmazione Algoritmi e programmazione Prof. Emanuele Papotto Risoluzione di problemi Con la parola problema si intende un compito che si vuole far risolvere automaticamente a un calcolatore per risolvere un problema

Dettagli

Algoritmi e soluzione di problemi

Algoritmi e soluzione di problemi Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)

Dettagli

APPUNTI DI INFORMATICA

APPUNTI DI INFORMATICA Definizione Informatica APPUNTI DI INFORMATICA Si definisce l informatica come la scienza della rappresentazione e dell elaborazione dell informazione. Questa impostazione consente di mettere in evidenza

Dettagli

Formalismi per la descrizione di algoritmi

Formalismi per la descrizione di algoritmi Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano

Dettagli

Analisi strutturata 1

Analisi strutturata 1 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

Programmazione Strutturata

Programmazione Strutturata Programmazione Strutturata Problema: Spaghetti Code è un termine dispregiativo per quei programmi per computer che abbiano una struttura di controllo del flusso complessa e/o incomprensibile Ad esempio,

Dettagli

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto

Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra

Dettagli

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

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore

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

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 3: La Formalizzazione degli Algoritmi Dati e Variabili

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

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni Sistemi di Elaborazione delle Informazioni Algoritmi e Programmi 1 Risoluzione di un problema Il procedimento di soluzione di un problema dovrebbe essere caratterizzato da: analisi del problema e identificazione

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

Dettagli

ALGORITMI E SOLUZIONI DI PROBLEMI

ALGORITMI E SOLUZIONI DI PROBLEMI ALGORITMI E SOLUZIONI DI PROBLEMI Il computer è una macchina complessa in grado di eseguire milioni di istruzioni al secondo, dotato di una memoria capace di contenere enormi quantità di dati, siano essi

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

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO

RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento

Dettagli

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

Università degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni

Dettagli

Lezione 5. La macchina universale

Lezione 5. La macchina universale Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=

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

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

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

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso Marco Liverani (liverani@mat.uniroma3.it)

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 Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops

Corso di Programmazione Dati e Istruzioni. Comunicazione dell algoritmo all elaboratore. Programmazione. Dott. Pasquale Lops Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Dati e Istruzioni Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/28 Comunicazione dell algoritmo all

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai

Dettagli

Dall analisi alla codifica (1)

Dall analisi alla codifica (1) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema

Dettagli

generalità concetti di base

generalità concetti di base 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

Dettagli

La formalizzazione dell informazione: Dati e Diagrammi di Flusso

La formalizzazione dell informazione: Dati e Diagrammi di Flusso La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi

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

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

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un

Dettagli

Rappresentazione degli algoritmi

Rappresentazione degli algoritmi Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti

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

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso

Dettagli

Ing. Lorenzo Vismara

Ing. Lorenzo Vismara Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&&#2! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)&#7& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#

Dettagli

Diagrammi a blocchi 1

Diagrammi a blocchi 1 Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso

Dettagli

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi

Pag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione

Dettagli