La teoria degli algoritmi. (Dalla definizione del problema alla scrittura dell algoritmo)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "La teoria degli algoritmi. (Dalla definizione del problema alla scrittura dell algoritmo)"

Transcript

1 La teoria degli algoritmi (Dalla definizione del problema alla scrittura dell algoritmo)

2 LA RISOLUZIONE DI UN PROBLEMA Risolutore Processo risolutivo PROBLEMA SOLUZIONE Esecutore OBIETTIVO 2

3 In ambito informatico si è interessati alla risoluzione di un problema mediante l ausilio di un sistema di elaborazione automatica. Il risolutore (che nel nostro contesto è il programmatore) definisce la soluzione necessaria per risolvere il problema attraverso il processo risolutivo. Tale soluzione andrà implementata, ovvero tradotta mediante un modello formalizzato comprensibile dall esecutore, che in tal caso è il calcolatore o, più precisamente, il processore o CPU. Tale esecutore esegue la soluzione per giungere concretamente all obiettivo del problema. 3

4 METODOLOGIA DI LAVORO PER GIUNGERE ALLA RISOLUZIONE DI UN PROBLEMA 1. Analisi del problema Individuare le informazioni di partenza, o dati di input Individuare i risultati che si vogliono ottenere (dati di output) Individuare le risorse di cui si dispone 2. Stesura e verifica della soluzione Individuare la soluzione per giungere dalle informazioni iniziali al risultato Verificare la soluzione trovata (testing e debugging) 4

5 In generale, la soluzione effettiva di un problema procede sempre attraverso una serie di passi o azioni da effettuare su dei dati. AZIONE Azione elementare Azione composta (processo) Processo: insieme di azioni elementari e dati sui quali tali azioni devono essere eseguite Processo sequenziale : le azioni di cui si compone vengono eseguite ordinatamente una dopo l altra 5

6 ALGORITMO Descrizione di un processo sequenziale, cioè di un procedimento che riporta la SEQUENZA FINITA ed ORDINATA DI AZIONI da eseguire per risolvere un problema. Tali azioni si dicono istruzioni. NB: Non sempre una sequenza di istruzioni è un algoritmo! 6

7 UN ALGORITMO DEVE SEMPRE ESSERE Comprensibile (per l esecutore) Univoco (non ci deve essere ambiguità) Generale (applicabile ad una classe di problemi e non ad uno specifico) Dettagliato (costituito solo da azioni elementari) Finito (si deve giungere al punto finale) Deterministico (a parità di situazione iniziale, deve portare sempre agli stessi risultati) Completo (contempla tutti i casi possibili) Osservabile nei risultati (deve esserci un riscontro oggettivo dell output) 7

8 ESEMPIO DI ALGORITMO Nel libretto delle istruzioni di un cellulare di marca nota, viene illustrato come ricercare un nominativo presente in Rubrica e visualizzarne il numero. 1. Dalla modalità Stand by premere RUBRICA 2. Evidenziare CERCA 3. Premere SELEZ. Dati di input Dati di output 4. Scrivere le prime lettere del nome da ricercare 5. Scorrere con i tasti e fino a visualizzare il nominativo. 6. Se si trova il nominativo, premere DETTAGLI e verrà visualizzato il numero. 7. Se il nominativo non viene trovato, esso non è presente in rubrica. 8

9 PROGRAMMA Algoritmo scritto in un linguaggio di programmazione (linguaggio comprensibile per il computer) Ad un algoritmo, possono corrispondere più programmi, scritti ciascuno con linguaggi di programmazione differenti (Visual Basic, C, Java, C++, Perl, Cobol ) Ad ogni programma sono associati più processi, uno per ciascuna volta che il programma viene lanciato in esecuzione ed affidato alla CPU. 9

10 PROGRAMMA e PROCESSO (è statico) (è dinamico) ALGORITMO Programma 1 Programma 2 Programma 3 Processo1 Processo 2 Processo 3 10

11 DATI Sono le entità sulle quali vanno ad agire le istruzioni. Vengono identificati mediante nome e tipo. È l IDENTIFICATORE univoco del dato ed il suo nome è scelto in modo da richiamare il significato del dato all interno del programma. È legato al tipo di valori che il dato può assumere In base al tipo di oggetto che rappresentano, i dati vengono classificati in numerici (interi o reali) ed alfanumerici (stringhe). In base alla possibilità di cambiarne o meno il valore i dati vengono classificati in variabili o costanti. 11

12 La variabile è una sorta di contenitore o scatola identificato da un nome ed il cui valore è il contenuto di tale scatola. L uso delle variabili permette di conferire all algoritmo la sua caratteristica di genaralità. ESEMPIO Il numero è una costante che vale sempre 3,14. Nel calcolo della media aritmetica dei voti di una classe un esempio di variabile potrebbe essere n, il numero dei voti riportati, oppure tutte le variabili x i contenenti le votazioni riportate. 12

13 E utile, nella stesura di un algoritmo, compilare la TABELLA DELLE VARIABILI. Nome Tipo Var/cost I/O/L Valore Descrizione DOVE LA COLONNA I/O/L VIENE COMPILATA SOLO PER LE VARIABILI VARIABILI DI INPUT (Variabili il cui valore è fornito dall esterno) VARIABILI DI OUTPUT (Variabili il cui valore è comunicato all esterno come risultato dell esecuzione) VARIABILI DI LAVORO (Variabili il cui valore viene utilizzato ai fini dell elaborazione) 13

14 ESEMPIO Calcolare l area del quadrato, di cui si conosce il perimetro. Nome Tipo Var/cost I/O/L Valore Descrizione p Numerico reale var I - perimetro Lato Numerico reale var L - lato A Numerico reale var O - Area 14

15 ISTRUZIONI OPERATIVE DI UN ALGORITMO ASSEGNAMENTO (modifica dei valori delle variabili, non delle costanti! ) INPUT (acquisizione dei dati) OUTPUT (comunicazione dei risultati ) VALUTAZIONE DI ESPRESSIONI 15

16 ISTRUZIONE OPERATIVA DI ASSEGNAMENTO Si possono presentare tre casi: Nome variabile1 Nome variabile2 Es: n a Nome variabile Nome Costante Es: n 3 Nome variabile Espressione Es: n n*y/2 qui il vecchio valore di n è usato per calcolare il nuovo valore di n 16

17 ISTRUZIONE OPERATIVA DI INPUT È una particolare istruzione di assegnamento mediante cui si assegna ad una variabile un valore introdotto dall esterno, modificando l eventuale valore in essa contenuto precedentemente. ISTRUZIONE OPERATIVA DI OUTPUT Consente di visualizzare il valore di una variabile o di un espressione, o un messaggio testuale sul video o sulla stampante. 17

18 ESPRESSIONI E LORO VALUTAZIONE Un espressione è formata da operandi ed operatori. Ad esempio, Operatori Operandi 5 * Valutare un espressione significa stabilire l ordine di esecuzione dei vari operatori. 18

19 19

20 OPERATORI ARITMETICI + Addizione - Sottrazione * Moltiplicazione / Divisione (può esser intera o decimale) % ( mod ) Calcolo del resto della divisione fra interi Sono tutti operatori binari tranne il mod che è unario 20

21 OPERATORI DI RELAZIONE O DI CONFRONTO = = Uguale a (da non confondere con l assegnamento) > Maggiore di < Minore di >= Maggiore o uguale di <= Minore o uguale di!= Diverso da 21

22 OPERATORI LOGICI Operano fra predicati con valori di verità TRUE (1) o FALSE (0) AND Prodotto logico OR Somma logica NOT Negazione XOR OR esclusivo p AND q (è vera quando ENTRAMBE vere) p OR q (è vera quando ALMENO UNA è vera) NOT p P XOR q (è vera quando UNA SOLA è vera) (è vera quando p è falsa) operatore unario 22

23 STRUMENTI PER LA STESURA DEGLI ALGORITMI Pseudocodice Rende comprensibile la logica dell algoritmo, descrivendolo mediante codice scritto in un linguaggio che è molto vicino a quello naturale Diagrammi a blocchi (flow-chart) Rende comprensibile la logica dell algoritmo, descrivendolo mediante un linguaggio di tipo grafico 23

24 LA PSEUDOCODIFICA è la traduzione dell algoritmo in uno pseudolinguaggio o pseudocodice, che è molto vicino al linguaggio naturale, ma segue alcune regole precise. REGOLE DI PSEUDOCODIFICA Le parole chiave (o riservate) vanno scritte sempre in maiuscolo. Per aprire e chiudere il testo di un algoritmo si usano le parole chiave: INIZIO e FINE. Ogni istruzione è scritta in linguaggio corrente e può contenere un espressione di tipo aritmetico o logico. 24

25 Le istruzioni di input ed output dei dati vengono scritte nel seguente modo: LEGGI(variabile) SCRIVI(variabili/costanti /espressioni/stringhe) Le variabili e le costanti vengono indicate mediante degli identificatori, sempre scitti in minuscolo. Una parola chiave non può essere usata come identificatore. 25

26 La lista completa delle parole chiave utilizzate in pseudocodifica è: A ALLORA ALTRIMENTI CASO DA DI ESEGUI FINCHE FINE INIZIO MENTRE PASSO PER RIPETI SE 26

27 ESEMPIO DI UN ALGORITMO IN PSEUDOCODIFICA Calcolo dell area di un triangolo Descrizione del problema Per calcolare l area di un triangolo occorre conoscere le misure della base e dell altezza: l esecutore deve quindi chiedere all utente tali misure, attendere che l utente comunichi tali misure e leggere i valori assegnandoli ad altrettante variabili. Dopo aver calcolato l area mediante l opportuna formula, l esecutore deve provvedere a comunicare all utente il risultato. 27

28 Algoritmo AreaTriangolo (Tabella dei Dati) Nome Tipo Var/cost I/O/L Valore Descrizione b Numerico reale var I - base h Numerico reale var I - altezza A Numerico reale var O - Area 28

29 Algoritmo AreaTriangolo (pseudocodifica) INIZIO SCRIVI( Inserisci la misura della base ) LEGGI(b) SCRIVI( Inserisci la misura dell altezza ) LEGGI(h) A (b*h)/2 SCRIVI( L area vale,a) FINE 29

30 Algoritmo AreaTriangolo (Flow Chart) INIZIO Inserire la base: O b I Inserire l altezza: O h I A<- b*h/2 L area vale:, A O FINE 30

31 LA PROGRAMMAZIONE STRUTTURATA E I SUOI COSTRUTTI La programmazione strutturata è un metodo di programmazione, costituito da un insieme di poche regole, che rende più facile la stesura, la lettura e la manutenzione dei programmi. In pratica si fornisce una struttura al programma in modo da vederlo come un insieme di blocchi indipendenti di istruzioni, ognuno dei quali fornito di un solo ingresso e di una sola uscita. Non è possibile saltare dall interno di un blocco all interno di un altro blocco. 31

32 Esiste in Informatica un risultato importante (teorema di Jacopini) che afferma: Un qualsiasi algoritmo, per quanto complesso sia, può essere sempre trasformato in un algoritmo ad esso equivalente (1) che utilizzi soltanto tre strutture di controllo o costrutti sintattici (2) fondamentali: sequenza, selezione e iterazione. (1) due algoritmi sono equivalenti se a partire dallo stesso input producono identico output. (2) un costrutto sintattico indica il modo in cui comporre le istruzioni. Si chiama anche struttura di controllo perché consente di far seguire percorsi diversi all esecuzione, in base al verificarsi o meno di certe condizioni. 32

33 IL COSTRUTTO SEQUENZIALE E il costrutto più semplice ed è usato quando le azioni devono essere eseguite ordinatamente una dopo l altra senza possibilità di scelta. Nella programmazione strutturata, la struttura più esterna di un algoritmo, anche se complesso, è sempre di tipo sequenziale. L algoritmo è costituito da blocchi di istruzioni che si susseguono in maniera sequenziale. All interno di tali blocchi possono poi presentarsi anche gli altri costrutti. 33

34 ESEMPIO di struttura di controllo sequenziale Scambiare il contenuto di due variabili a e b. Descrizione del problema Se si prende il contenuto di a e lo si mette in b, e la stessa cosa si fa per il contenuto di b, mettendolo in a, si giunge ad un risultato errato. Infatti quando si mette il contenuto di a in b, si va a perdere il contenuto precedente di b. Occorre utilizzare una terza variabile d appoggio temp. 34

35 a b temp a b temp a b temp a b temp 35

36 Tabella delle variabili Nome Tipo Var/cost I/O/L Valore Descrizione a Numerico var I/O - Primo num b Numerico var I/O - Secondo num temp Numerico var L - Variabile appoggio 36

37 Algoritmo Scambio (pseudocodifica) INIZIO SCRIVI( Inserisci il primo numero ) LEGGI(a) SCRIVI( Inserisci il secondo numero ) LEGGI(b) Temp a a b b temp SCRIVI( a vale,a, mentre b vale,b) FINE 37

38 ESERCIZI Per ciascuno dei seguenti problemi, scrivi l algoritmo risolvente in pseudocodifica, accompagnandolo con la relativa tabella delle variabili. ES 1. Calcolo della media aritmetica di tre numeri inseriti da tastiera. ES 2. Calcolo del cubo di un numero inserito da tastiera. ES 3. Calcolo dell età di una persona, di cui si inserisce da tastiera nome cognome ed anno di nascita. ES 4. Calcolo dell area del cerchio circoscritto ad un quadrato, con misura del lato inserito dall utente. 38

39 IL COSTRUTTO SELETTIVO Permette di effettuare una scelta fra due possibili alternative. Tale scelta viene effettuata valutando il verificarsi o meno di una condizione. 1. SELEZIONE BINARIA La sua sintassi in pseudolinguaggio è: SE <condizione> V Condi F ALLORA zione <Blocco1> ALTRIMENTI <Blocco2> FINE SE Blocco1 Blocco2 39

40 2. SELEZIONE UNARIA La sua sintassi in pseudolinguaggio è: SE <condizione> V Condi F ALLORA <Blocco1> FINE SE Blocco1 zione Tali costrutti possono ripetersi anche più volte uno dopo l altro, nonché in modo annidato. 40

41 3. COSTRUTTI SELETTIVI ANNIDATI SE <condizione1> ALLORA <Blocco1> ALTRIMENTI SE <condizione2> ALLORA <Blocco1> ALTRIMENTI <Blocco2> FINE SE FINE SE 41

42 Altro esempio di selezione annidata 42

43 4. COSTRUTTI SELETTIVI IN CASCATA SE <condizione1> ALLORA <Blocco1> ALTRIMENTI <Blocco2> FINE SE 1 SE <condizione2> ALLORA <Blocco3> ALTRIMENTI <Blocco4> FINE SE Blocco3 2 Blocco4 43

44 ESEMPIO di struttura di controllo selettiva Dato in input un numero N, comunicare se è negativo o positivo (maggiore o uguale a zero). Descrizione del problema Occorre acquisire il dato dall esterno e confrontarlo con lo zero. Se il numero è maggiore o uguale a zero, allora si comunica che è positivo, altrimenti si comunica che è negativo. Tabella delle variabili Nome Tipo Var/cost I/O/L Valore Descrizione N Numerico var I/O - numero 44

45 Algoritmo PosNeg (pseudocodifica) INIZIO SCRIVI( Inserisci il numero ) LEGGI(N) SE (N>=0) ALLORA SCRIVI( Il numero è positivo ) ALTRIMENTI SCRIVI( Il numero è negativo ) FINE SE FINE 45

46 ESEMPIO di struttura di selezione annidata Dato in input un numero N, comunicare se è negativo positivo o nullo. Descrizione del problema Occorre acquisire il dato dall esterno e confrontarlo con lo zero. Se il numero è maggiore di zero, allora si comunica che è positivo, altrimenti si valuta se è minore di zero e si comunica che è negativo, nel restante caso il numero sarà nullo. Tabella delle variabili Nome Tipo Var/cost I/O/L Valore Descrizione N Numerico var I/O - numero 46

47 Algoritmo PosNegNull (pseudocodifica) INIZIO SCRIVI( Inserisci il numero ) LEGGI(N) SE (N>0) ALLORA SCRIVI( Il numero è positivo ) ALTRIMENTI SE (N<0) ALLORA SCRIVI( Il numero è negativo ) ALTRIMENTI SCRIVI( Il numero è nullo ) FINE SE FINE SE FINE 47

48 ESERCIZI Per ciascuno dei seguenti problemi, scrivi l algoritmo risolvente in pseudocodifica, accompagnandolo con la relativa tabella delle variabili. ES 5. Date in input le misure dei tra lati di un triangolo, stabilire se si tratta di un triangolo scaleno, isoscele o equilatero. ES 6. Mettere in ordine cerscente due numeri inseriti da tastiera. ES 7. Dato in input un numero stabilire se è pari o è dispari. ES 8. Dati in input tre numeri, stabilire qual è il maggiore, qual è il minore e quanto vale la differenza fra il maggiore e il minore. 48

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

Dal Problema all Algoritmo. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dal Problema all Algoritmo Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Cosa Impareremo Informazioni e codici Definizione e soluzione di un problema Individuazione dei dati Definizione

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

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

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

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09

Paolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe

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

Corso di Informatica Modulo T1 C1-Sequenza e selezione

Corso di Informatica Modulo T1 C1-Sequenza e selezione Corso di Informatica Modulo T C-Sequenza e selezione Prerequisiti Analizzare un problema Scrivere un algoritmo Istruzioni semplici Espressione logica 2 Introduzione La programmazione a salti crea diverse

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

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

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

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI

PROBLEMI E ALGORITMI VESPIA CATERINA LICEO CLASSICO AGLI ANGELI PROBLEMI E ALGORITMI prof.ssa VESPIA CATERINA LICEO CLASSICO AGLI ANGELI C O N T E N U T I Problemi. Concetto di algoritmo. Caratteristiche di un algoritmo. Descrizione di algoritmi - Diagrammi di flusso.

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

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

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

Pseudo codice. Pseudo codice, Paolo Bison, FI07, p.1 / Pseudo codice, Paolo Bison, FI07, p.3

Pseudo codice. Pseudo codice, Paolo Bison, FI07, p.1 / Pseudo codice, Paolo Bison, FI07, p.3 Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2007/08 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova

Paolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Pseudo codice, Paolo Bison, FI06, 2007-01-10 p.1 Pseudo codice linguaggio testuale mix di linguaggio naturale ed elementi

Dettagli

DESCRIZIONI RIGOROSE c7

DESCRIZIONI RIGOROSE c7 DESCRIZIONI RIGOROSE c7 Es. cucinare la pasta asciutta per una famiglia La descrizione rigorosa della strategia risolutiva prevede Analisi del problema (con chiara individuazione degli obiettivi e dei

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

Linguaggi algoritmici A. Ferrari

Linguaggi algoritmici A. Ferrari Linguaggi algoritmici A. Ferrari Caratteristiche di un linguaggio algoritmico Non ambiguità Capacità di esplicitare il flusso di esecuzione delle istruzioni Deve contenere istruzioni di tipo: operativo

Dettagli

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.

Flow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi. Flow-chart Introduzione agli algoritmi e ai diagrammi a blocchi ugo.rinaldi@gmail.com 1 Sommario Fasi dello sviluppo di un programma Algoritmo Dati: Variabili e Costanti Le operazioni tipiche Diagramma

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

IL COSTRUTTO SELEZIONE

IL COSTRUTTO SELEZIONE IL COSTRUTTO SELEZIONE Il costrutto selezione Permette di effettuare una scelta tra due possibili opzioni. Tale scelta verrà effettuata valutando il valore di verità di una condizione espressa da una proposizione

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

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

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

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

Computer. Capitolo 2. 05/04/2012 continuazione 1

Computer. Capitolo 2. 05/04/2012 continuazione 1 Computer Capitolo 2 05/04/2012 continuazione 1 Le prestazioni del computer Velocità delle cpu, ossia numero d istruzioni eseguite nell unità di tempo; Dimensione delle RAM; Capacità e velocità in scrittura/

Dettagli

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

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

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

Introduzione. Informatica B. Daniele Loiacono

Introduzione. Informatica B. Daniele Loiacono Introduzione Informatica B Cos è l informatica? q È la scienza che si occupa della rappresentazione dell informazione e della sua elaborazione e gestione " Si occupa dell informazione, che fa parte di

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

Unità di apprendimento 6. Dal problema al programma

Unità di apprendimento 6. Dal problema al programma Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 2 Impariamo a fare i diagrammi a blocchi In questa lezione impareremo: come descrivere l algoritmo risolutivo utilizzando

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

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi

Basi della programmazione in Java. Anteprima. Uso delle variabili. Il concetto di variabile Uso delle variabili. Input da tastiera I tipi Esercizi Basi della programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione

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

Algoritmi. Pagina 1 di 5

Algoritmi. Pagina 1 di 5 Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni

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

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

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt);

Un esempio per iniziare. Il controllo del programma in C. Altri cenni su printf() Esercizi (printf) printf( 8!=%d, fatt); Un esempio per iniziare Il controllo del programma in C DD Cap.3 pp.91-130 /* calcolo di 8!*/ #include #define C 8 int main() int i=1; int fatt=1; while (i

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

Basi della programmazione in Java

Basi della programmazione in Java Basi della programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Il concetto di variabile Uso delle variabili Dichiarazione Assegnamento Visualizzazione

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

Sommario FONDAMENTI DI INFORMATICA. Definizione formale di algoritmo. Informatica e algoritmi. ALGORITMI E LINGUAGGIO PYTHON Introduzione

Sommario FONDAMENTI DI INFORMATICA. Definizione formale di algoritmo. Informatica e algoritmi. ALGORITMI E LINGUAGGIO PYTHON Introduzione Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 2017/2018 Sommario Algoritmi, linguaggi

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

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

MODULO 1. CONCETTI DI BASE DELL ICT

MODULO 1. CONCETTI DI BASE DELL ICT MODULO 1 CONCETTI DI BASE DELL ICT UNITA DI APPRENDIMENTO 1: IL LINGUAGGIO DI PROGRAMMAZIONE 11 LA PROGRAMMAZIONE STRUTTURATA Dopo avere visto come è possibile rappresentare un algoritmo utilizzando un

Dettagli

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo

Dettagli

Calcolo numerico e programmazione Programmazione

Calcolo numerico e programmazione Programmazione Calcolo numerico e programmazione Programmazione Tullio Facchinetti 11 maggio 2012 14:05 http://robot.unipv.it/toolleeo La programmazione la programmazione è l insieme delle

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 JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato

Corso di JavaScript. Prerequisiti. B1 Tipi di dato e operatori. Concetto di variabile, espressione e tipo di dato Corso di JavaScript B1 Tipi di dato e operatori 1 Prerequisiti Concetto di variabile, espressione e tipo di dato 2 1 Introduzione In questa Unità illustriamo alcuni strumenti operativi per la scrittura

Dettagli

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di

Dettagli

L uomo come esecutore di algoritmi

L uomo come esecutore di algoritmi L uomo come esecutore di algoritmi l L algoritmo è l insieme di azioni elementari che consentono di risolvere un problema trasformando i dati iniziali del problema stesso nel risultato. l Un algoritmo

Dettagli

Lab 04 Programmazione Strutturata"

Lab 04 Programmazione Strutturata Fondamenti di Informatica e Laboratorio T-AB Ingegneria Elettronica e Telecomunicazioni Lab 04 Programmazione Strutturata" Lab04 1 Valutazione in cortocircuito (1)" In C, le espressioni booleane sono valutate

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

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

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

Introduzione all informatica

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

Dettagli

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

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 15

Dettagli

Sistemi di numerazione

Sistemi di numerazione SOMMARIO Sistemi di numerazione...2 Sistema decimale (o a base 10)...2 Sistema binario...2 Operazioni sui numeri binari...3 Espressioni logiche...4 Definizione...4 Prodotto Logico : AND...4 Somma Logica

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

Programmazione a blocchi. Algobuild Prof. Sergio Roselli

Programmazione a blocchi. Algobuild Prof. Sergio Roselli Programmazione a blocchi Algobuild Prof. Sergio Roselli Blocchi base Inizio programma I Fine programma F Input IN A Output Esecuzione OUT A A = 5 + 1 L interprete Algobuild Algobuildpermette di trascrivere

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

PROGRAMMAZIONE: La selezione

PROGRAMMAZIONE: La selezione PROGRAMMAZIONE: La selezione Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per

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

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

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica 15 dicembre 2008 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Iterazione 1 Prerequisiti Salto condizionato Salto incondizionato Espressione logica 2 1 Introduzione In alcuni casi si presenta la necessità di eseguire un ciclo, ossia

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

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.

Pseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p. Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale

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

1 Esercizi in pseudocodice

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

Dettagli

MODULO 07. La soluzione dei problemi mediante gli algoritmi

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

Dettagli

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

Elementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing.

Elementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Elementi di Informatica Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Introduzione 2 Cos è l informatica Scienza della rappresentazione e della elaborazione (trasformazione)

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma

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

Elementi di Informatica e Programmazione

Elementi di Informatica e Programmazione Università degli Studi di Brescia Elementi di Informatica e Programmazione Concetto di Algoritmo Docente: Marco Sechi E mail: marco.sechi@unibs.it Vers. 21/08/2016.A050917* Dipartimento di Ingegneria Meccanica

Dettagli

Laboratorio di Programmazione

Laboratorio di Programmazione Laboratorio di Programmazione (Laurea triennale in matematica) Lezione 3 Analisi dettagliata di un programma /* commento */ Possono estendersi su più linee apparire in qualsiasi parte del programma. Alternativamente

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

PASCAL 1. 27/03/2004 Pascal 1 prof. Bruno Franceschini - ITI Bolzano

PASCAL 1. 27/03/2004 Pascal 1 prof. Bruno Franceschini - ITI Bolzano PASCAL 1 Vediamo gli elementi di base del linguaggio PASCAL, un linguaggio per comunicare al calcolatore una serie di istruzioni, che rappresentano un algoritmo, che sarà in grado di svolgere dopo averle

Dettagli

Informatica. Come si risolve un problema?

Informatica. Come si risolve un problema? Informatica Elaborazione automatica dell informazione Esempio di elaborazione: rubrica, elenco telefonico. Ogni problema di elaborazione dell informazione è caratterizzato da: un insieme di dati di partenza

Dettagli

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione

Lezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione

Dettagli

Lezione 4. Dati ed istruzioni di base

Lezione 4. Dati ed istruzioni di base Lezione 4 Dati ed istruzioni di base Cosa vedremo I Dati: Gli oggetti che conosce il computer Le istruzioni: Le azioni che conosce il computer Dat Oggetti con cui si lavora Il computer conosce solo alcuni

Dettagli

Laboratorio di Programmazione Laurea in Bioinformatica

Laboratorio di Programmazione Laurea in Bioinformatica Laboratorio di Programmazione Laurea in Bioinformatica 28 novembre 2007 1 Programmazione strutturata 1.1 Esercizio 1 Si scriva lo pseudocodice di un programma che calcola la media di due numeri reali.

Dettagli

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Edile/ Prof. Verdicchio/ 30/06/2016/ Foglio delle domande/ VERSIONE 1 1) In Python, se scrivo v = [ ] in un programma, vuol dire che a) v è un quadrato b) v è un insieme vuoto

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

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

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

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione

Dettagli

INFORMATICA. Strutture iterative

INFORMATICA. Strutture iterative INFORMATICA Strutture iterative Strutture iterative Si dice ciclo (loop) una sequenza di istruzioni che deve essere ripetuta più volte consecutivamente. Si consideri ad esempio il calcolo del fattoriale

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

Concetti Introduttivi. Il Computer

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

Dettagli

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

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