Algoritmi. Maurizio Palesi. Maurizio Palesi 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Algoritmi. Maurizio Palesi. Maurizio Palesi 1"

Transcript

1 Algoritmi Maurizio Palesi Maurizio Palesi 1 Cos è Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Un algoritmo è un metodo per la soluzione di un problema adatto ad essere implementato sotto forma di programma Maurizio Palesi 2 1

2 Altre Definizioni di Algoritmo Un algoritmo si puo` definire come un procedimento che consente di ottenere un risultato atteso eseguendo, in un determinato ordine, un insieme di passi semplici corrispondenti ad azioni scelte solitamente da un insieme finito Maurizio Palesi 3 Derivazione del Termine Il termine deriva dal nome del matematico persiano Muhammad ibn Musa Al-Khwarizmi Uno dei primi autori ad aver fatto riferimento esplicitamente a questo concetto Tuttavia gli algoritmi erano presenti anche nelle antiche tradizioni matematiche Es., la matematica babilonese, quella cinese o del Kerala trasmettevano le conoscenze in forma algoritmica Maurizio Palesi 4 2

3 Semplicita vs. Ambiguita Affermando che i passi costituenti di un algoritmo debbano essere semplici, si intende soprattutto che essi siano specificati in modo non ambiguo, Immediatamente evidenti a chi sarà chiamato ad applicare l'algoritmo, cioè il suo esecutore Maurizio Palesi 5 Semplicita vs. Ambiguita Rompete le uova può essere un passo legittimo di un algoritmo di cucina, e potrebbe esserlo anche Aggiungete sale quanto basta se possiamo assumere che l'esecutore sia in grado di risolvere da solo l'ambiguità di questa frase Preparate un pentolino di crema pasticciera non può probabilmente considerarsi semplice Potrebbe però essere associato a un opportuno rimando a un'altra sezione del ricettario, che fornisca un algoritmo apposito per questa specifica operazione Infine, una ricetta che preveda la cottura a microonde non può essere preparata da chi è sprovvisto dell'apposito elettrodomestico! Maurizio Palesi 6 3

4 Esempi di Algoritmi Ricetta per cucinare gli spaghetti Metti l acqua nella pentola Fai bollire l acqua Metti la pasta nell acqua Aggiungi un pò di sale Attendi 6 minuti Scola la pasta Maurizio Palesi 7 Esempi di Algoritmi Verifica se un numero è pari o dispari Prendi il numero Calcola il resto della divisione intera del numero per 2 Se il resto è zero Allora il numero è pari Altrimenti il numero è dispari Maurizio Palesi 8 4

5 Esempi di Algoritmi Ricerca utente in un elenco telefonico Dati Un insieme ordinato di coppie <nome, numero> Un nome X da ricercare 1) Leggi la prima coppia <nome, numero> 2) Se non hai oltrepassato l'ultima coppia Allora: Se nome = X allora il numero di telefono di X è quello letto; Altrimenti leggi la prossima coppia e vai al passo 2) Altrimenti Il nome X cercato non è nell'elenco Maurizio Palesi 9 Esempi di Algoritmi Ricerca di un utente X in un elenco telefonico (alternativa) 1) Leggi la prima coppia <nome, numero> 2) Se non hai oltrepassato l'ultima coppia E nome precede X (secondo l'ordine alfabetico) Allora osserva la prossima coppia e ripeti il passo 2) 3) Se hai oltrepassato l'ultima coppia OPPURE nome segue X Allora X non è presente nell'elenco 4) Altrimenti il numero telefonico di X è l'ultimo letto Maurizio Palesi 10 5

6 Proprietà degli Algoritmi L'algoritmo è caratterizzato da Finitezza: Composto da un numero finito di passi elementari. Le operazioni sono eseguite un numero finito di volte Non ambiguità: I risultati non variano in funzione della macchina/persona che esegue l'algoritmo (deterministico) Realizzabilità: Deve essere eseguibile con le risorse a disposizione Maurizio Palesi 11 Proprietà degli Algoritmi ma gli esempi precedenti possiedono queste proprietà? Problemi presenti Ambiguità Ipotesi implicite sulle capacità dell esecutore Uso del linguaggio naturale Maurizio Palesi 12 6

7 Definire un Algoritmo Per definire un algoritmo è necessario Condurre un'attenta analisi del problema Individuare i possibili ingressi Precisare le uscite Definire completamente e dettagliatamente la sequenza dei passi che portano alla soluzione E conveniente suddividere il problema in piccoli sottoproblemi Maurizio Palesi 13 Rappresentare un Algoritmo E necessario far riferimento a dei formalismi che Non introducano ambiguità Siano universalmente riconosciuti ed interpretati allo stesso modo da un generico esecutore Permettano di rappresentare in modo efficace un algoritmo Costituiscano un utile strumento per poi poter passare alla fase di codifica in un linguaggio di programmazione Maurizio Palesi 14 7

8 Rappresentare un Algoritmo Rappresentazione grafica Diagramma di flusso (noto anche come diagramma a blocchi o flow-chart) Rappresentazione testuale Notazione Lineare Strutturata (o pseudocode) Maurizio Palesi 15 Operazioni di Base Le operazioni primarie sono Trasferimento di informazioni (istruzioni di I/O) Lettura dati, scrittura risultati, visualizzazione dati intermedi Esecuzione di calcoli (valutazione espressioni) Istruzioni di assegnamento Strutture di controllo (che modificano il flusso sequenziale di esecuzione delle operazioni) Maurizio Palesi 16 8

9 Simboli Convenzionali ingresso/uscita inizializzazione documento Elaborazione inizio/fine input manuale elab. predefinita connessioni disco decisione mem. sequenziale Maurizio Palesi 17 Istruzioni di I/O Lettura di dati in ingresso (input) Scrittura dei risultati in uscita (output) Diagramma a blocchi Pseudocodice leggi A leggi A scrivi B scrivi B Maurizio Palesi 18 9

10 Istruzione di Assegnamento Concetto di variabile Identificata da un etichetta/identificatore simbolico Può essere comodo pensare alla variabile come ad un contenitore in cui possiamo memorizzare o reperire dei dati utilizzati durante il calcolo L istruzione di assegnamento permette di assegnare un valore ad una variabile A = 5 Alla variabile A viene assegnato il valore 5 Maurizio Palesi 19 Istruzione di Assegnamento Inizializzazione All inizio di un algoritmo una variabile non ha alcun valore Non ha quindi senso utilizzarla in una espressione (è un errore!) Essa deve essere inizializzata O esplicitamente mediante un assegnamento Oppure mediante una operazione di lettura START START START B = 0 leggi B A = B + 3 ERRORE B non è inizializzata A = B + 3 A = B + 3 CORRETTO CORRETTO Maurizio Palesi 20 10

11 Istruzione di Assegnamento E stato usato il simbolo = per indicare l istruzione di assegnamento Alcuni testi/autori indicano invece il simbolo (per evitare confusione con l operatore di uguaglianza) Dato il seguente frammento di codice A = 5 A = A + 1 Cosa fa quell istruzione? L esecutore esegue i seguenti passi Prima valuta l espressione a destra, cioè calcola il valore di A+1 che vale 6 Dopo assegna tale valore alla variabile a sinistra, cioè ad A Alla fine dell esecuzione di quella istruzione quindi, A vale 6 Maurizio Palesi 21 Valutazione delle Espressioni L esecutore è in grado di valutare espressioni aritmetiche Diagramma a blocchi Pseudo-codice B = 5*(82-35)/7 B = 5*(82-35)/7 A = (B+34)/B*2 A = (B+34)/B*2 Maurizio Palesi 22 11

12 Rappresentazione degli Algoritmi I diagrammi di flusso possono presentarsi Ad un livello generale Ad un livello particolare A seconda del livello di dettaglio con cui specificano le operazioni da compiere E opportuno procedere per fasi successive Un diagramma globale (di massima) per focalizzare le operazioni essenziali da compiere Un diagramma di flusso più particolareggiato, che tenga conto di operazioni più semplici e più elementari Maurizio Palesi 23 Tecniche di Programmazione Programmazione top-down Scomposizione iterativa del problema in sottoproblemi I sottoproblemi devono essere indipendenti ed avere interfacce ben definite Visibilità dei dettagli di ogni sottoproblema Programmazione bottom-up Maurizio Palesi 24 12

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

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

Sistemi Web! per il turismo! - lezione 3 -

Sistemi Web! per il turismo! - lezione 3 - Sistemi Web per il turismo - lezione 3 - I computer sono in grado di eseguire molte operazioni, e di risolvere un gran numero di problemi. E arrivato il momento di delineare esplicitamente il campo di

Dettagli

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

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

Dettagli

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011

Informatica. appunti dalle lezioni del 20/09/2011 e del 27/09/2011 Informatica appunti dalle lezioni del 20/09/2011 e del 27/09/2011 Definizioni Informatica: scienza per lʼelaborazione automatica dellʼinformazione Informatica = Informazione + Automatica Informazione:

Dettagli

Problemi, Algoritmi e Programmi

Problemi, Algoritmi e Programmi MASTER Information Technology Excellence Road (I.T.E.R.) Problemi, Algoritmi e Programmi Maurizio Palesi Salvatore Serrano Master ITER Informatica di Base Maurizio Palesi, Salvatore Serrano 1 Introduzione

Dettagli

Un algoritmo è una sequenza di comandi (detti istruzioni) che istruiscono sull'esecuzione di un determinato compito.

Un algoritmo è una sequenza di comandi (detti istruzioni) che istruiscono sull'esecuzione di un determinato compito. Definizione di algoritmo Un algoritmo è una sequenza di comandi (detti istruzioni) che istruiscono sull'esecuzione di un determinato compito. Esempi di algoritmi possono essere: una ricetta di cucina,

Dettagli

Appunti di Sistemi Elettronici

Appunti di Sistemi Elettronici Prof.ssa Maria Rosa Malizia 1 LA PROGRAMMAZIONE La programmazione costituisce una parte fondamentale dell informatica. Infatti solo attraverso di essa si apprende la logica che ci permette di comunicare

Dettagli

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira Appunti del corso 1 Introduzione all informatica: algoritmi, linguaggi e programmi Indice 1. Introduzione 2. Risoluzione automatica di problemi - Algoritmi

Dettagli

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Informatica Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, ed elaborazione dell informazione.

Dettagli

La programmazione. Sviluppo del software

La programmazione. Sviluppo del software La programmazione problema Sviluppo del software idea (soluzione informale) algoritmo (soluzione formale) programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico)

Dettagli

Il calcolatore. Struttura fondamentale dell elaboratore ed elementi di programmazione. L informazione digitale. Hardware e Software

Il calcolatore. Struttura fondamentale dell elaboratore ed elementi di programmazione. L informazione digitale. Hardware e Software Struttura fondamentale dell elaboratore ed elementi di programmazione Corso: Laboratorio Matematico-Informatico I Titolare del Corso: Nicoletta Del Buono Il calcolatore I calcolatori elettronici sono stati

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 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione

Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Università Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN1 Fondamenti) 2 Introduzione alla programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 15/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Introduzione all Informatica - corso E Docente: Ing. Irina Trubitsyna Obiettivi del corso Concetti di base sull informatica e sulla gestione delle informazioni Struttura e funzionamento

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

mario.gentili@mariogentili.it 1

mario.gentili@mariogentili.it 1 Algoritmi, programmi e sistemi operativi 1 Definizioni Gli algoritmi nascono dalla necessità di: 1) Ottenere un risultato logico uguale in condizioni ambientali simili (riuso), 2) Ottenere lo stesso risultato

Dettagli

Insegnamento di Abilità Informatiche A.A. 2007/8. Lezione2

Insegnamento di Abilità Informatiche A.A. 2007/8. Lezione2 Insegnamento di Abilità Informatiche A.A. 2007/8 Lezione2 Prof.ssa Raffaella Folgieri folgieri@dico.unimi.it folgieri@mtcube.com Link addestrativo interattivo: http://www.caspur.it/formazione/mais/ BASI

Dettagli

Corso di Esercitazioni di Programmazione

Corso di Esercitazioni di Programmazione Corso di Esercitazioni di Programmazione Introduzione Dott.ssa Sabina Rossi Informazioni Pagina web del corso: News Orari Mailing list Lezioni Esercitazioni Date esami Risultati esami.. http://www.dsi.unive.it/~prog1

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA DAL PROBLEMA AL PROGRAMMA Scopo del modulo Conoscere alcuni concetti fondamentali dell informatica:algoritmo, l automa, linguaggio formale Essere in grado di cogliere l intreccio tra alcuni risultati della

Dettagli

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo INPUT: dati iniziali INPUT: x,y,z AZIONI esempio: Somma x ed y

Dettagli

INFORMATICA E COMPUTER : INTRODUZIONE

INFORMATICA E COMPUTER : INTRODUZIONE INFORMATICA E COMPUTER : INTRODUZIONE! Informatica: dal francese, informatique informat(ion) (automat)ique [termine coniato dall'ingegnere francese Philippe Dreyfus nel 1962] è la scienza che studia i

Dettagli

www.wlascuola.4000.it

www.wlascuola.4000.it 1 Cenni di programmazione Risolvere un problema significa trovare un procedimento che consenta di produrre i risultati, a partire dai dati iniziali, attraverso un processo di elaborazione. La metodologia

Dettagli

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1

CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 1.1 Che cos è un algoritmo CAPITOLO PRIMO IL CONCETTO DI ALGORITMO 1 Gli algoritmi sono metodi per la soluzione di problemi. Possiamo caratterizzare un problema mediante i dati di cui si dispone all inizio

Dettagli

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata Esempi di Problema: Prendere un Caffè al Distributore Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica, e Programmi D. Gubiani

Dettagli

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo stituto Tecnico Statale Commerciale Dante Alighieri Cerignola (FG) Dispense di nformatica Anno Scolastico 2008/2009 Classe 3APS Dal Problema all'algoritmo Pr.: 001 Ver.:1.0 Autore: prof. Michele Salvemini

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

la "macchina" universale di Turing

la macchina universale di Turing la "macchina" universale di Turing Nel 1854, il matematico britannico George Boole (1815-1864), elaborò una matematica algebrica che da lui prese il nome. Nell'algebra booleana le procedure di calcolo

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

Elementi di Informatica

Elementi di Informatica Università degli Studi di Udine Facoltà di Ingegneria CORSO DI LAUREA IN SCIENZE dell ARCHITETTURA Elementi di Informatica Algoritmi, e Programmi D. Gubiani 29 marzo 2010 D. Gubiani Algoritmi, e Programmi

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

Computer per risolvere problemi

Computer per risolvere problemi Computer per risolvere problemi L attenzione alla formalizzazione è essenziale quando risolutore ed esecutore sono diversi e questo comporta che siano di fondamentale importanza, nel risolvere un problema:

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI

PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA DI UN ELEMENTO IN UN ARRAY E ALGORITMI RISOLUTIVI PROBLEMA DELLA RICERCA in termini generali: Dati in input un insieme S di elementi (numeri, caratteri, stringhe, ) e un elemento

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Introduzione al corso

Introduzione al corso Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) Ing. Agnese Pinto 1 di 21 Informazioni utili Ing. Agnese Pinto: Contatti: Laboratorio di Sistemi Informativi (SisInfLab)

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Parte I Sui testi di approfondimento: leggere dal Cap. del testo C (Console, Ribaudo):.,. fino a pg.6 La codifica delle informazioni Un calcolatore memorizza ed elabora informazioni

Dettagli

Il software. Il software. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it

Il software. Il software. Dott. Cazzaniga Paolo. Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it Il software Dip. di Scienze Umane e Sociali paolo.cazzaniga@unibg.it Outline 1 Il software Outline Il software 1 Il software Algoritmo Sequenza di istruzioni la cui esecuzione consente di risolvere uno

Dettagli

DAL PROBLEMA AL PROGRAMMA

DAL PROBLEMA AL PROGRAMMA 1. I PROBLEMI E LA LORO SOLUZIONE DAL PROBLEMA AL PROGRAMMA L'uomo, per affrontare gli innumerevoli problemi postigli dallo sviluppo della civiltà, si è avvalso della scienza e della tecnica, i cui destini

Dettagli

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN ALGORITMI E MACCHINA DI VON NEUMANN 1 COMPUTER= ELABORATORE NON CERVELLO ELETTRONICO CERVELLO: Capacità decisionali ELABORATORE: Incapacità di effettuare scelte autonome di fronte a situazioni impreviste

Dettagli

diagramma funzionale sequenziale Sequential functional chart (SFC)

diagramma funzionale sequenziale Sequential functional chart (SFC) Introduzione Sequential functional chart (SFC) Linguaggio innovativo adatto per la scrittura di algoritmi per il controllo logico/sequenziale Nasce come risultato di una apposita commissione istituita

Dettagli

Esercizio. Pseudocodice

Esercizio. Pseudocodice Esercizio Trovare quoziente e resto di una divisione intera per differenze successive (supponendo cioè di non disporre dell operatore di divisione) Dati di Input: D, D1 (supponiamo D1>0) Dati di Output:

Dettagli

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice

+ / operatori di confronto (espressioni logiche/predicati) / + 5 3 9 = > < Pseudo codice. Pseudo codice Pseudo codice Pseudo codice Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova linguaggio testuale mix di linguaggio naturale ed elementi linguistici con sintassi ben definita e semantica

Dettagli

L informatica comprende:

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

Dettagli

Cenni di logica & algebra booleana

Cenni di logica & algebra booleana Cenni di algebra booleana e dei sistemi di numerazione Dr. Carlo Sansotta - 25 2 Parte Cenni di logica & algebra booleana 3 introduzione L elaboratore elettronico funziona secondo una logica a 2 stati:

Dettagli

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali Introduzione Sistemi Informativi Linguaggi per la modellazione dei processi aziendali Paolo Maggi Per progettare un sistema informativo è necessario identificare tutti i suoi elementi

Dettagli

Esempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione

Esempio. Esempio. Linguaggio di Programmazione. Linguaggi di programmazione. Linguaggio di computazione. Linguaggi di programmazione Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Problema e metodologie di progetto Linguaggio C: Introduzione Monica Mordonini Problema e Algoritmo

Dettagli

Cos è un Calcolatore?

Cos è un Calcolatore? Cos è un Calcolatore? Definizione A computer is a machine that manipulates data according to a (well-ordered) collection of instructions. 24/105 Riassumendo... Un problema è una qualsiasi situazione per

Dettagli

Informatica Generale Anno Accademico 2000-2001

Informatica Generale Anno Accademico 2000-2001 Informatica Generale Anno Accademico 2000-2001 Corso di Laurea in Economia e Commercio Informazioni Generali Ricevimento: Mercoledì 15.00-17.00 Libri di "riferimento": C. Gallo, Informatica Generale ed

Dettagli

La Progettazione del Software

La Progettazione del Software del Software Definizioni IEEE Metodologie di progettazione Principi di progettazione Tecniche di progettazione (top down e bottom up) Moduli e criteri di modularizzazione: coesione ed accoppiamento, indipendenza

Dettagli

Gli algoritmi. Gli algoritmi. Analisi e programmazione

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

Dettagli

Appunti di Informatica 1. Gianluca Rossi

Appunti di Informatica 1. Gianluca Rossi Appunti di Informatica 1 Gianluca Rossi Versione maggio 2011 Indice 1 Algoritmi, macchine e linguaggi di programmazione 3 1.1 La macchina di Von Neumann........................ 5 1.2 Dal linguaggio macchina

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

1. INTRODUZIONE ALL INFORMATICA. LA RAPPRESENTAZIONE DELLE INFORMAZIONI

1. INTRODUZIONE ALL INFORMATICA. LA RAPPRESENTAZIONE DELLE INFORMAZIONI LICEO SCIENTIFICO STATALE F. LUSSANA BERGAMO PROGRAMMA SVOLTO Disciplina: INFORMATICA Docente: LUCARELLI STEFANIA Classe: PRIMA Sezione: O Anno Scolastico 2013/2014 1. INTRODUZIONE ALL INFORMATICA. LA

Dettagli

ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1

ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1 ANALISI FUNZIONALE E DIAGRAMMI DI FLUSSO DEI DATI DFD 1 Nelle lezioni precedenti Abbiamo definito il modello Entità- Associazione che serve a descrivere la struttura dei dati Abbiamo usato il modello per

Dettagli

5. Tabella della legge oraria del moto rettilineo uniforme (S = V*t)

5. Tabella della legge oraria del moto rettilineo uniforme (S = V*t) Esercizi in C da temi d esame Prima prova in itinere 24-11-00 SVILUPPO GUIDATO DI PROGRAMMI IN C 5. Tabella della legge oraria del moto rettilineo uniforme (S = V*t) 5.1. Dichiarare le seguenti variabili:

Dettagli

Neural Network Toolbox

Neural Network Toolbox Neural Network Toolbox In questa sede verrà presentata una trattazione esauriente delle caretteristiche fondamentali del Neuron Network Toolbox presente come pacchetto supplementare al software Matlab

Dettagli

TEORIA E LABORATORIO MODULO 2 - (IS) LA STRUTTURA E I SERVIZI DI INTERNET MODULO 3 - (AL) PROBLEMI E ALGORITMI. LE STRUTTURE DI CONTROLLO.

TEORIA E LABORATORIO MODULO 2 - (IS) LA STRUTTURA E I SERVIZI DI INTERNET MODULO 3 - (AL) PROBLEMI E ALGORITMI. LE STRUTTURE DI CONTROLLO. PROGRAMMA DI INFORMATICA SVOLTO NELL A.S. 2014/2015 CLASSE II A LICEO SCIENTIFICO SCIENZE APPLICATE PROF. DE BENEDETTI MARIANNA LIBRI DI TESTO: Marisa Addomine, Daniele Pons Informatica multimediale -

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C

Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Università di Roma Tre Facoltà di Scienze M.F.N. Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 6 Introduzione al linguaggio C Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Requisiti normativi, standard, template

Requisiti normativi, standard, template Schemi di rappresentazione delle procedure Costituiscono al tempo stesso modalità di analisi (o descrizione) e di progettazione. Sono schemi di rappresentazione utilizzati anche per descrivere i workflow.

Dettagli

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = , dove: Finite State Machine (2)

Idee guida. Finite State Machine (1) Un automa a stati finiti è definito da una 5- pla: FSM = <Q,,, q0, F>, dove: Finite State Machine (2) Idee guida ASM = FSM con stati generalizzati Le ASM rappresentano la forma matematica di Macchine Astratte che estendono la nozione di Finite State Machine Ground Model (descrizioni formali) Raffinamenti

Dettagli

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI

L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI L INNOVAZIONE SCIENTIFICO-TECNOLOGICA NEI PROCESSI PRODUTTIVI Scienza ed industria hanno oggi costituito legami molto forti di collaborazione che hanno portato innovazione tecnologica sia a livello organizzativo-amministrativo

Dettagli

Introduzione. è uguale a 0, spostamento di dati da una parte della memoria del calcolatore ad un altra.

Introduzione. è uguale a 0, spostamento di dati da una parte della memoria del calcolatore ad un altra. Appunti di Calcolatori Elettronici Modello di macchina multilivello Introduzione... 1 Linguaggi, livelli e macchine virtuali... 3 La struttura a livelli delle macchine odierne... 4 Evoluzione delle macchine

Dettagli

PROGRAMMAZIONE DISCIPLINARE D ISTITUTO a.s. 2015/2016 PRIMO BIENNIO LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE

PROGRAMMAZIONE DISCIPLINARE D ISTITUTO a.s. 2015/2016 PRIMO BIENNIO LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE ISIS"Giulio Natta" Bergamo pag. 1 di 6 PRIMO BIENNIO LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE Disciplina INFORMATICA monte ore annuale previsto (n. ore settimanali per 33 settimane) 2X33 = 66 competenze

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Novembre 2011 1 Contenuti q Somma di una sequenza di numeri interi

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia

Dettagli

Syllabus di Elementi di Informatica la scuola dell obbligo anno 2010

Syllabus di Elementi di Informatica la scuola dell obbligo anno 2010 Ministero dell Istruzione, dell Università e della Ricerca Dipartimento per l Istruzione Direzione Generale per gli Ordinamenti del Sistema Nazionale di Istruzione e per l Autonomia Scolastica Syllabus

Dettagli

Esercizi per il recupero del debito formativo:

Esercizi per il recupero del debito formativo: ANNO SCOLASTICO 2005/2006 CLASSE 3 ISC Esercizi per il recupero del debito formativo: Disegnare il diagramma e scrivere la matrice delle transizioni di stato degli automi a stati finiti che rappresentano

Dettagli

LICEO SCIENTIFICO "F. LUSSANA" OPZ. SCIENZE APPLICATE

LICEO SCIENTIFICO F. LUSSANA OPZ. SCIENZE APPLICATE ORE SETTIMANALI: 2 LICEO SCIENTIFICO "F. LUSSANA" OPZ. SCIENZE APPLICATE INFORMATICA PRIMO BIENNIO MONTE ORE ANNUALE PREVISTO: 66 (2x33 settimane) 1. OBIETTIVI E CONTENUTI DISCIPLINARI PRIORITARI Lo studio

Dettagli

ISTITUTO TECNICO INDUSTRIALE STATALE "G. MARCONI" Via Milano n. 51-56025 PONTEDERA (PI) DIPARTIMENTO: Discipline Informatiche

ISTITUTO TECNICO INDUSTRIALE STATALE G. MARCONI Via Milano n. 51-56025 PONTEDERA (PI) DIPARTIMENTO: Discipline Informatiche PROGRAMMAZIONE COORDINATA TEMPORALMENTE Monte ore annuo 99 Libro di Testo Barbero, Vaschetto - Corso di Informatica - terzo anno Ed. Pearson SETTEMBRE OTTOBRE Modulo 0 : CODIFICA INFORMAZIONI Rappresentazione

Dettagli

PROGETTO - Ingegneria del Software. Università degli Studi di Milano Polo di Crema. Corso di laurea in Scienze Matematiche, Fisiche e Naturali

PROGETTO - Ingegneria del Software. Università degli Studi di Milano Polo di Crema. Corso di laurea in Scienze Matematiche, Fisiche e Naturali Università degli Studi di Milano Polo di Crema Corso di laurea in Scienze Matematiche, Fisiche e Naturali INFORMATICA Corso di Ingegneria del Software progetto IL SISTEMA CALENDAR Presentato al dott. Paolo

Dettagli

Per passerella liceo tradizionale 3a itis elettronica PROGRAMMAZIONE anno scolastico 2014/15 ITIS G.Galilei Albenga

Per passerella liceo tradizionale 3a itis elettronica PROGRAMMAZIONE anno scolastico 2014/15 ITIS G.Galilei Albenga Per passerella liceo tradizionale 3a itis elettronica PROGRAMMAZIONE anno scolastico 2014/15 ITIS G.Galilei Albenga DOCENTI: Cirio Giovanni, Panozzo Pierpaolo DISCIPLINA: Tecnologie informatiche CLASSE

Dettagli

Informatica. Terzo anno Prof. A. Longheu

Informatica. Terzo anno Prof. A. Longheu Informatica Terzo anno Prof. A. Longheu Come studiare??? Anzitutto, qualche consiglio su come studiare Primo passo: capire quali fattori influenzano la propria capacità di imparare (ANALISI) 2 Come studiare???

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Università degli Studi di Messina Ingegneria delle Tecnologie Industriali Docente: Ing. Mirko Guarnera 1 Approccio al corso Approccio IN OUT Visione Globale solo insieme alla programmazione 2 1 Contenuti

Dettagli

Le Macchine di Turing

Le Macchine di Turing Le Macchine di Turing Come è fatta una MdT? Una MdT è definita da: un nastro una testina uno stato interno un programma uno stato iniziale Il nastro Il nastro è infinito suddiviso in celle In una cella

Dettagli

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy

Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Tecniche avanzate di sintesi di algoritmi: Programmazione dinamica Algoritmi greedy Dr Maria Federico Programmazione dinamica Solitamente usata per risolvere problemi di ottimizzazione il problema ammette

Dettagli

I Sistemi di numerazione e la rappresentazione dei dati

I Sistemi di numerazione e la rappresentazione dei dati I Sistemi di numerazione e la rappresentazione dei dati LA RAPPRESENTAZIONE DELLE INFORMAZIONI (1) Per utilizzare un computer è necessario rappresentare in qualche modo le informazioni da elaborare e il

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

Perché usare le macchine M5 U1-1. Concetti legati all'informatica. Domande. Informatica. Differenza. Elementi di base

Perché usare le macchine M5 U1-1. Concetti legati all'informatica. Domande. Informatica. Differenza. Elementi di base Perché usare le macchine M5 U1-1 Elementi di base perché la macchina riesce a eseguire la procedura in modo molto più rapido di quanto non possa fare l'uomo; perché l'uomo può commettere errori durante

Dettagli

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR

ALGEBRA BOOLEANA FONDAMENTI DI INFORMATICA 1. Algebra di Boole. Definizione NOT, AND, OR Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica, Chimica, Elettrica e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011 Docente: Gian

Dettagli

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Minicorso tematico: Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Dott. Francesco Ricca Dipartimento Di Matematica Università della Calabria ricca@mat.unical.it Presentiamoci

Dettagli

Tipologie di macchine di Turing

Tipologie di macchine di Turing Tipologie di macchine di Turing - Macchina di Turing standard - Macchina di Turing con un nastro illimitato in una sola direzione - Macchina di Turing multinastro - Macchina di Turing non deterministica

Dettagli

INFORMATICA. Corso di Laurea in Scienze dell'educazione

INFORMATICA. Corso di Laurea in Scienze dell'educazione INFORMATICA Corso di Laurea in Scienze dell'educazione Introduzione all Informatica Docente: Mario Alviano Studio: Dipartimento di Matematica Cubo 30B 2 Piano Ricevimento: giovedì 18:30 19:30 (avvisare

Dettagli

Infrastrutture Software

Infrastrutture Software Infrastrutture Software I componenti fisici di un sistema informatico sono resi accessibili agli utenti attraverso un complesso di strumenti software finalizzati all utilizzo dell architettura. Si tratta

Dettagli

Un po di teoria dei numeri

Un po di teoria dei numeri Un po di teoria dei numeri Applicazione alla crittografia RSA Christian Ferrari Liceo di Locarno Matematica Sommario 1 L aritmetica modulare di Z n Le congruenze L anello Z n Le potenze in Z n e algoritmo

Dettagli

Informatica Applicata

Informatica Applicata Ing. Irina Trubitsyna Concetti Introduttivi Programma del corso Obiettivi: Il corso di illustra i principi fondamentali della programmazione con riferimento al linguaggio C. In particolare privilegia gli

Dettagli

Corso di Laurea in INFORMATICA

Corso di Laurea in INFORMATICA Corso di Laurea in INFORMATICA Algoritmi e Strutture Dati MODULO 2. Algebre di dati Dati e rappresentazioni, requisiti delle astrazioni di dati, costrutti. Astrazioni di dati e dati primitivi. Specifica

Dettagli

la scienza della rappresentazione e della elaborazione dell informazione

la scienza della rappresentazione e della elaborazione dell informazione Sistema binario Sommario informatica rappresentare informazioni la differenza Analogico/Digitale i sistemi di numerazione posizionali il sistema binario Informatica Definizione la scienza della rappresentazione

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

Dettagli

CONOSCIAMO GLI ALGORITMI E I LINGUAGGI

CONOSCIAMO GLI ALGORITMI E I LINGUAGGI Dal problema al programma UNITÀ DIDATTICA 1 CONOSCIAMO GLI ALGORITMI E I LINGUAGGI IN QUESTA UNITÀ IMPAREREMO... che cos è un problema e come affrontarlo che cosa sono un algoritmo e un programma che cosa

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 05 La rappresentazione dell informazione Carla Limongelli Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ La rappresentazione

Dettagli

DAL DIAGRAMMA AL CODICE

DAL DIAGRAMMA AL CODICE DAL DIAGRAMMA AL CODICE Un diagramma di flusso Appare, come un insieme di blocchi di forme diverse che contengono le istruzioni da eseguire, collegati fra loro da linee orientate che specificano la sequenza

Dettagli

Scienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione

Scienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione UD 3.2a: Introduzione alla Programmazione Bibliografia Curtin, (vecchie edizioni) 12.1 Curtin (IV edizione): 11.1 Questi lucidi Il concetto di programma memorizzato Gli elettrodomestici di uso quotidiano

Dettagli