ESERCITAZIONI DI LABORATORIO DI CALCOLO NUMERICO. Introduzione: Algoritmi e Programmazione strutturata
|
|
- Dante Natali
- 7 anni fa
- Visualizzazioni
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.
Esistono varie definizioni: Informatica Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione.
DettagliL 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
DettagliL 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
DettagliElaboratore 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
DettagliELEMENTI 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
DettagliL 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
DettagliProgrammazione. 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
DettagliDiagrammi 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
DettagliScienza 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
DettagliIntroduzione all informatica
Introduzione all informatica INFORMATICA Varie definizioni Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta Scienza della rappresentazione e dell
DettagliINFORMATICA (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
DettagliProgrammazione. 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
DettagliL 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
Dettaglile 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
DettagliLinguaggio 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
DettagliIntroduzione 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
DettagliINFORMATICA. 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
DettagliRisoluzione 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
DettagliLa 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
DettagliINFORMATICA. 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
DettagliCORSO 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ì
DettagliAlgoritmi. 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
DettagliAlgoritmi. 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,
DettagliIntroduzione 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
DettagliIntroduzione 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
DettagliCAPITOLO 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)
DettagliAltrimenti, 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
DettagliCorso 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
DettagliIntroduzione 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
DettagliCorso 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
DettagliProgrammazione 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
DettagliFondamenti 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
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DettagliInformatica. 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
DettagliAlgoritmi 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
DettagliCalcolo 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
DettagliLaboratorio 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
DettagliLaboratorio 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
DettagliRappresentazione 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
DettagliCorso 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
DettagliLaboratorio 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
DettagliProblemi, 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
DettagliA 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
DettagliCaratteristiche 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,
DettagliSviluppo 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
DettagliInformatica 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
Dettagliin 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
DettagliDall 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
DettagliFondamenti 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
DettagliLA 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
DettagliProblema: 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
DettagliSviluppo 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
DettagliALGORITMI. 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
DettagliAgent 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
DettagliIl 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
DettagliCdL 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
DettagliALGORITMI: 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
DettagliAlgoritmi 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
DettagliAlgoritmi 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)
DettagliAPPUNTI 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
DettagliFormalismi 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
DettagliAnalisi 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
DettagliProgrammazione 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,
DettagliDiagramma 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
DettagliDal 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
DettagliLez. 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
DettagliUniversità 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
DettagliIstruzioni, 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
DettagliSistemi 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
DettagliRappresentazione 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
DettagliALGORITMI 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
Dettagli1 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.
DettagliRAPPRESENTAZIONE 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
DettagliUniversità 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
DettagliLezione 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=
DettagliLaboratorio 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
DettagliLez. 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
DettagliIl 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
DettagliAppunti 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)
DettagliIl 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
DettagliCorso 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
DettagliLaboratorio 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
DettagliDall 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
Dettagligeneralità 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
DettagliLa 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
DettagliSommario 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
DettagliRisolvere 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
DettagliRappresentazione 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
DettagliIntroduzione 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):
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliLaboratorio 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
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliDiagrammi 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
DettagliPag. 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