Lezione 5. La macchina universale

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Lezione 5. La macchina universale"

Transcript

1 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= l informazione è rappresentata in forma discreta elettronica= la logica di manipolazione e la memorizzazione sono implementate con tecnologie di tipo elettronico automatica= è in grado di eseguire una successione di operazioni in modo autonomo 1

2 La macchina universale Le operazioni sono descritte sotto forma di un programma Il programma e i dati su cui deve operare sono registrate in un dispositivo di memoria Un dispositivo detto unità di controllo legge il programma e lo esegue su i dati Questo modo di operare è detto architettura di Von Neumann La macchina universale Il programma permette di risolvere un problema in funzione dei dati Se i dati possono cambiare e il programma risolve sempre il problema, allora si dice che il programma risolve una classe di problemi Es. l algoritmo per la somma di due numeri è indipendente dai due numeri 2

3 La macchina universale L elaboratore si dice universale perché può essere usato per risolvere qualsiasi problema la cui soluzione può essere descritta con un programma Per ogni classe di problema è necessario fornire un programma adeguato Analisi e programmazione Il procedimento di analisi e programmazione è l insieme di tutte quelle attività che servono per risolvere problemi utilizzando un elaboratore queste vanno dalla formulazione del problema alla predisposizione dell elaboratore 3

4 Analisi Lo scopo dell analisi è quello di definire un algoritmo Algoritmo=insieme finito di istruzioni che permettono la soluzione di una classe di problemi Programmazione Lo scopo della programmazione è quello di definire un programma Programma=descrizione di un algoritmo in forma comprensibile per un elaboratore Il programma è descritto facendo ricorso ad un linguaggio di programmazione 4

5 Algoritmo Il termine algoritmo deriva dal nome di un matematico arabo al-khuwarizmi (IX sec d.c.) Def: un algoritmo è una successione ordinata di istruzioni (o passi) che definiscono le operazioni da eseguire su dei dati per risolvere una classe di problemi Algoritmo Schema di esecuzione= ordine in cui vanno eseguite le istruzioni di un algoritmo operazioni in ingresso/uscita= i dati sono acquisiti dall esterno e sono comunicati nuovamente all esterno dopo l elaborazione 5

6 Esempio: Algoritmo A1 Calcolo delle radici di una equazione di 2 grado Data l equazione ax 2 +bx+c=0 Algoritmo 1. Inizio algoritmo 2. Acquisire i coefficienti a,b,c 3. Calcolare il valore? = b 2-4ac 4. Se? <0 non esistono radici, eseguire l istruzione 8 5. Se? =0 allora x 1 = x 2 = -b/2a 6. Se? >0 allora x 1 =(-b+?? )/2a, x 2 =(-b-?? )/2a 7. Comunicare all esterno i valori x 1 e x 2 8. Fine dell algoritmo Esempio: A2 Gioco dell 11 Ci sono 11 oggetti e due giocatori A e B. I giocatori a turno prendono fino a 3 oggetti. Perde chi prende l ultimo oggetto. Problema: quale è l algoritmo che permette al giocatore A di vincere? Algoritmo: 1. Inizio dell algoritmo 2. A preleva 2 oggetti 3. B preleva k oggetti 4. A preleva 4-k oggetti 5. Se gli oggetti non sono finiti, allora ritorna a istruzione 3 6. Fine dell algoritmo 6

7 Proprietà degli algoritmi Perché una sequenza di istruzioni sia un algoritmo devono essere soddisfatti i seguenti requisiti: Finitezza Generalità Non ambiguità Proprietà degli algoritmi Finitezza Il numero di istruzioni è finito Ogni istruzione è eseguita in un intervallo finito di tempo Ogni istruzione è eseguita un numero finito di volte 7

8 Proprietà degli algoritmi Generalità un algoritmo fornisce la soluzione ad una classe di problemi cioè: dato un insieme di definizione o dominio dato un insieme di arrivo o codominio l algoritmo può operare su tutti i dati appartenenti al dominio per fornire una soluzione all interno dei codominio Proprietà degli algoritmi Non ambiguità le istruzioni sono definite in modo univoco non ci sono paradossi, contraddizioni, ambiguità il risultato dell algoritmo è identico indipendentemente da chi lo sta eseguendo 8

9 Esempio Testiamo A1 per le proprietà di algoritmo: Finitezza: ci sono 8 istruzioni. Tutte sono eseguite al più una volta. Tutte impiegano un tempo finito per essere valutate o eseguite Generalità: in ingresso è ammissibile una qualsiasi tripla di numeri reali e l uscita è un numero reale. Non ambiguità: le istruzioni sono ben definite: operazioni aritmetiche univoche o confronti fra reali Descrizione degli algoritmi Gli algoritmi sono descritti con un linguaggio formale Un lignuaggio formale è costituito da strutture linguistiche che descrivono gli algoritmi in modo preciso e sintetico si differenzia dal linguaggio naturale che contiene ambiguità e ridondanze es. Lui ha battuto il capo Il servo della principessa con la gamba di legno... 9

10 Descrizione degli algoritmi Le proposizioni usate da un linguaggio formale descrivono due entità: le operazioni che devono essere eseguite (istruzioni) gli oggetti (dati) sui quali si devono eseguire le operazioni Costanti e variabili I dati possono essere costanti o variabili I dati costanti sono dati che rimangono inalterati durante l esecuzione dell algoritmo Es. in A2 è una costante il numero di oggetti preso dal primo giocatore. 10

11 Costanti e variabili I dati variabili o semplicemente variabili sono coppie <nome, valore> possono essere immaginati come scatole che hanno come etichetta il nome e come contenuto il valore Alle variabili deve essere assegnato esplicitamente un valore. Al momento di inizio di un algoritmo le variabili hanno un valore indeterminato. Es: in A1 sono variabili a,b,c, x 1 e x 2 Assegnazione L istruzione di assegnazione è quella particolare istruzione che permette di definire il valore attuale di una variabile. Il valore rimane inalterato fino a una nuova assegnazione alla variabile. Forma generale: nome? espressione L assegnazione viene eseguita nei seguenti passi: si valuta l espressione di destra si attribuisce il valore determinato alla variabile 11

12 Assegnazione Regola Ogni volta che una variabile appare a destra di dell istruzione di assegnazione?, è necessario che un valore sia già stato assegnato a quella variabile. Es: nel caso a? 2, b? 3, c? a+b, allora si ha c=5 nel caso x? 2, x? x+3, allora si ha x=5 Istruzioni Le istruzioni possono essere divise in 5 categorie istruzioni operative istruzioni di controllo istruzioni di salto istruzioni di inizio/fine esecuzione istruzioni di ingresso/uscita 12

13 Istruzioni operative Istruzioni che producono un risultato se eseguite Ne fanno parte le operazioni aritmetiche e le assegnazioni Istruzioni di controllo Istruzioni che controllano il verificarsi di condizioni specificate e che in base al risultato determinano quale istruzione eseguire Es. se allora altrimenti (if then else) 13

14 Istruzioni di salto Istruzioni che alterano il normale ordine di esecuzione delle istruzioni di un algoritmo, specificando esplicitamente quale sia la successiva istruzione da eseguire Si distinguono istruzioni di salto condizionato o incondizionato Per quelle condizionate il salto è subordinato al verificarsi di una condizione specificata, per quelle incondizionate il salto è eseguito ogni volta che l istruzione viene eseguita. Istruzioni di inizio/fine Indicano quale istruzione dell algoritmo debba essere eseguita inizialmente e quale determini la fine dell esecuzione 14

15 Istruzioni di ingresso/uscita Istruzioni che indicano una trasmissione di dati o messaggi fra l algoritmo e tutto ciò che è esterno all algoritmo si dicono di ingresso o lettura quando l algoritmo riceve dati dall esterno si dicono di uscita o scrittura quando i dati sono comunicati dall algoritmo all esterno Esempio Nell algoritmo A1 Le istruzioni 1,8 sono di inizio/fine Le istruzioni 2,7 sono di ingresso/uscita La istruzione 3 è operativa La istruzione 4 è di salto condizionato Le istruzioni 5,6 sono condizionali 15

16 Proposizioni Un proposizione è un costrutto linguistico del quale si può dire se è vero o falso Il valore di verità di una proposizione è l essere vera o falsa della proposizione Es: 3 è un numero pari è una proposizione incrementa x di 10 non è una proposizione Predicati E un predicato una proposizione che contiene delle variabili e in cui il valore delle variabili determina il valore di verità del predicato Es. la variabile età è minore di 30 16

17 Predicati La valutazione di un predicato avviene tramite i seguenti operatori relazionali = uguale,? diverso > maggiore,? maggiore o uguale < minore,? minore o uguale Predicati semplici e composti Un predicato che contiene un solo operatore relazionale è detto predicato semplice Gli operatori relazionali possono essere combinati con i seguenti operatori logici NOT AND OR Un predicato che contiene più operatori relazionali combinati tramite uno o più operatori logici è detto composto 17

18 Operatori logici NOT: dato un predicato p, NOT p è vero quando p è falso e viceversa AND: dati due predicati p e q, p AND q è vero solo quando entrambi p e q sono veri e falso altrimenti OR: dati due predicati p e q, p OR q è falso solo quando entrambi p e q sono falsi e vero altrimenti Vettori Le variabili considerate fino ad adesso sono dette variabili scalari Una variabile vettore (array) è una coppia <nome, insieme di valori> Può essere immaginata come una scatola che ha un nome e che è divisa in tanti comparti ognuno dei quali è numerato e può contenere un valore 18

19 Vettori Ogni valore è individuato dal nome della variabile seguito dal numero del comparto detto indice La notazione usata è: A[i] La dimensione di un vettore è il numero dei suoi elementi Vettori Gli indici vanno da 1 ad un numero massimo rappresentato dalla dimensione del vettore In fase di dichiarazione di una variabile vettore si specifica la sua dimensione che non è più modificabile successivamente 19

20 Matrice E l estensione del concetto di vettore. Una matrice è un insieme di valori che sono indicizzati facendo ricorso a due o più indici La notazione usata è: M[i,j] Per una matrice a 2 dimensioni l indice i è detto indice riga e j indice colonna Diagrammi a blocchi E un linguaggio formale di tipo grafico per rappresentare gli algoritmi Attraverso il diagramma a blocchi (o flow chart) si può indicare l ordine di esecuzione delle istruzioni. Un particolare simbolo grafico detto blocco elementare è associato ad ogni tipo di istruzione elementare I blocchi sono collegati tra loro tramite frecce che indicano il susseguirsi delle istruzioni 20

21 Diagramma a blocchi I blocchi elementari sono: begin blocco iniziale Leggi X blocco di lettura A blocco azione end Scrivi X falso C vero blocco finale blocco di scrittura blocco di controllo Diagramma a blocchi Un diagramma a blocchi descrive un algoritmo se: ha un blocco iniziale e uno finale è costituito da un numero finito di blocchi azione e/o blocchi lettura/scrittura e/o blocchi di controllo ciascun blocco elementare soddisfa le condizioni di validità 21

22 Diagramma a blocchi Condizioni di validità ciascun blocco azione, lettura/scrittura ha una sola freccia entrante e una sola freccia uscente ciascun blocco di controllo ha una sola freccia entrante e due uscenti ciascuna freccia entra in un blocco o si innesta su una altra freccia ciascun blocco è raggiungibile dal blocco iniziale il blocco finale è raggiungibile da qualsiasi altro blocco Esercizio Scrivere un algoritmo e rappresentarlo tramite un diagramma a blocchi per i seguenti problemi: attraversare la strada preparare una torta calcolare l area del triangolo determinare le radici di una eq. di 2 grado somma di due numeri 22

23 Analisi strutturata Analisi volta alla stesura di descrizioni di algoritmi tramite diagrammi a blocchi di tipo strutturato Un diagramma a blocchi strutturato è più facilemente comprensibile e modificabile In un diagramma strutturato non apparità mai una istruzione di salto incondizionato Analisi strutturata Teorema di Bohm-Jacopini Ogni diagramma a blocchi non strutturato è sempre trasformabile in un diagramma a blocchi strutturato ad esso equivalente dove due diagrammi sono equivalenti se partendo dagli stessi dati iniziali producono gli stessi risultati 23

24 Analisi strutturata Una descrizione è di tipo strutturato se i blocchi sono collegati tramite i seguenti schemi di flusso strutturato: schema di sequenza schema di selezione schema di iterazione Analisi strutturata Schema di sequenza due o più schemi di flusso sono eseguiti in successione Nota: lo schema di sequenza è strutturato se e solo se lo sono i blocchi S1 e S2 begin S1 S2 end 24

25 Analisi strutturata Schema di selezione esiste un blocco di controllo che permette di scegliere quale schema di flusso begin begin debba essere eseguito tra due schemi, in funzione del valore di verità del controllo falso C vero S1 falso S2 C vero S1 end end Analisi strutturata Schema di iterazione (ciclo o loop) modo per descrivere azioni che devono essere ripetute in modo conciso begin begin falso C end S vero S C end vero falso 25

26 Analisi strutturata Nota: I due schemi non sono equivalenti: in un caso lo schema S è eseguito almeno una volta e nell altro potrebbe non essere mai eseguito La condizione vero/falso per il controllo possono essere invertite: si parla di iterazione per vero quando S è eseguito finchè la condizione su C è vera e iterazione per falso nell altro caso Analisi strutturata Note sullo schema di iterazione: quando è necessario eseguire lo stesso insieme di operazioni più volte si adotta un particolare schema di iterazione: è costituito da una sequenza di azioni di assegnazione dette istruzioni di inizializzazione una iterazione (ripetizione) di una sequenza di azioni (iterazione) per un numero specificato di volte 26

27 Analisi strutturata inizializzazione inizializzazione iterazione falso Condizione di fine ciclo vero Condizione di fine ciclo falso vero iterazione Analisi strutturata Condizione di fine ciclo: viene controllata dopo l esecuzione di ogni blocco di iterazione può essere con controllo in coda al ciclo o in testa 27

28 Analisi strutturata Un ciclo è detto enumerativo quando è noto a priori il numero di volte che deve essere eseguito si usa la tecnica del contatore per controllarne l esecuzione: si usa cioè una variabile detta contatore del ciclo che viene incrementata (o decrementata) fino a raggiungere un valore prefessato Analisi strutturata Un ciclo e indefinito quando non è noto a priori il numero di volte che deve essere eseguito Questo accade quando la condizione di fine ciclo dipende dal valore di una o più variabili che o dipendono dall interazione con l esterno o vengono modificate all interno dell iterazione in modo complesso 28

29 Esercizi Ricerca di un elemento in un vettore Determinare il massimo numero in un vettore Media di un vettore (Ordinare un vettore)* Soluzione: Trova begin i? 0 i? i+1 vero V[i]=k falso falso i=100 vero successo insuccesso end 29

30 Soluzione: Max begin i? 1 max? V[i] i? i+1 falso V[i]>max vero max? V[i] falso i=100 end vero Soluzione: Media begin input V[K] i? 0 i? i+1 m? V[i] falso i=k vero m? m/k output m end 30

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

Diagrammi a blocchi 1

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

Dettagli

Diagrammi a blocchi 1

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

Dettagli

Istruzioni, algoritmi, linguaggi

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

Dettagli

Lezione 8. La macchina universale

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

Dettagli

Analisi e Programmazione

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

Dettagli

Analisi e programmazione 1

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

Dettagli

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

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

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

Dettagli

Fondamenti di Informatica 4. Gli algoritmi

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

Dettagli

Analisi e programmazione Gli algoritmi

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

Dettagli

Fabrizio Messina, Marzio Pennisi

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

Dettagli

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi

Dettagli

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

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

Dettagli

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

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

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

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

Introduzione agli Algoritmi

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

Dettagli

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

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

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

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Dispensa di Informatica II.1

Dispensa di Informatica II.1 ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia

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

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

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

DISPENSE DI PROGRAMMAZIONE

DISPENSE DI PROGRAMMAZIONE DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei

Dettagli

INFORMATICA DI BASE Linguaggio C Prof. Andrea Borghesan

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

Dettagli

Rappresentazione degli algoritmi

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

Dettagli

PROGRAMMAZIONE (Corso A)

PROGRAMMAZIONE (Corso A) PROGRAMMAZIONE (Corso A) http://www.di.uniba.it/~proga/ Argomenti della lezione Diagrammi di flusso - Flow chart Diagrammi struturati - Sequenza, selezione, iterazione Teorema di Boehm-Jacopini Flow-chart

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

Formalismi per la descrizione di algoritmi

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

Dettagli

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

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

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica AlgoBuild: Strutture selettive, iterative ed array Prof. Arcangelo Castiglione A.A. 2016/17 AlgoBuild : Strutture iterative e selettive OUTLINE Struttura selettiva Esempi Struttura

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

Algoritmi e diagrammi di flusso versione biennio

Algoritmi e diagrammi di flusso versione biennio Algoritmi e diagrammi di flusso versione biennio Pablo Genova gallini.genova@gmail.com I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento

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 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 Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra

Dettagli

Matlab. Istruzioni condizionali, cicli for e cicli while.

Matlab. Istruzioni condizionali, cicli for e cicli while. Matlab. Istruzioni condizionali, cicli for e cicli while. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 17 marzo 2016 Alvise Sommariva Introduzione 1/ 18 Introduzione Il

Dettagli

Unità di apprendimento 6. Dal problema al programma

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

Dettagli

PROGRAMMAZIONE STRUTTURATA

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

Dettagli

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

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

Dettagli

Analisi e programmazione

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

Dettagli

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

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

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

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

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 E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s

ALGORITMI E PROGRAMMAZIONE STRUTTURATA. Prof R. Bresolin a.s ALGORITMI E PROGRAMMAZIONE STRUTTURATA Prof R. Bresolin a.s. 2013-2014 2 Programmazione Calcolatore Elettronico È uno strumento in grado di eseguire insiemi di azioni elementari; Le azioni vengono eseguite

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 1 Concetti di base della Tecnologia dell Informazione Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette

Dettagli

unità didattica 3 Le strutture condizionali e le strutture iterative

unità didattica 3 Le strutture condizionali e le strutture iterative unità didattica 3 Le strutture condizionali e le strutture iterative 1. La struttura condizionale Il Pascal prevede la codifica della struttura condizionale (indicata anche con il nome di struttura dell

Dettagli

Algoritmi e diagrammi di flusso

Algoritmi e diagrammi di flusso Algoritmi e diagrammi di flusso Pablo Genova gallini.genova@gmail.com I. I. S. Angelo Omodeo Mortara Indirizzo Tecnico-Economico A. S. 2015 2016 Cos'è un algoritmo? Algoritmo: procedimento che risolve

Dettagli

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C - le strutture di controllo: sequenza, selezione, iterazione

Dettagli

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010

Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive La Programmazione Strutturata (3 p) Giovedì 21 Ottobre 2010 Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Anno Accademico 2010-2011 Lezione 7: La Formalizzazione degli Algoritmi - Strutture di Controllo

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

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

Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione

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

Dettagli

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

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

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

Istruzioni condizionali di diramazione in Fortran 90

Istruzioni condizionali di diramazione in Fortran 90 Istruzioni condizionali di diramazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Istruzioni di diramazione DIS - Dipartimento

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

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

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

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

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

Problemi, algoritmi, calcolatore

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

Dettagli

Fondamenti di Algoritmi

Fondamenti di Algoritmi Fondamenti di Algoritmi Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Indice Algoritmi: Definizione Diagrammi di Flusso Esempi ed esercizi

Dettagli

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire:

Sviluppo di programmi. E ora, finalmente. Si comincia! 1. Analizzare il problema. 2. Progettare una soluzione (1) E necessario capire: Sviluppo di programmi Per scrivere un programma C corretto bisogna: E ora, finalmente Si comincia! DD Cap. pp.4974 Analizzare il problema (input, output, casi estremali) 2. Progettare una soluzione (algoritmo)

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 Per risolvere il problema

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Le strutture di controllo

Le strutture di controllo INFORMATICA B Ingegneria Elettrica Le strutture di controllo Selezione un esempio introduttivo Si disegni il diagramma di flusso di un algoritmo che chiede all utente un valore intero e visualizza il suo

Dettagli

IL TEOREMA DI BOEHM-JACOPINI

IL TEOREMA DI BOEHM-JACOPINI IL TEOREMA DI BOEHM-JACOPINI Un qualunque algoritmo può essere descritto unicamente attraverso le tre strutture: Sequenza Diramazione Ciclo o iterazione Le tre strutture sono complete. Un qualunque linguaggio

Dettagli

Elaboratore Elettronico

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

Dettagli

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

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi

3. Indicare cosa sta a significare la figura geometrica del rombo in un diagramma a blocchi 0.1.1.1 Definire un algoritmo 1. Con il termine algoritmo si intende: a) il software utilizzato in un calcolatore b) l elenco finito di istruzioni necessario per risolvere un problema c) un elaboratore

Dettagli

Elaborazione dell informazione

Elaborazione dell informazione Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione

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

ALGORITMI: PROPRIETÀ FONDAMENTALI

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

Dettagli

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

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

Dettagli

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Le Strutture di controllo Del Linguaggio C. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Le Strutture di controllo Del Linguaggio C Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni STRUTTURE DI CONTROLLO PRIMITIVE SEQUENZA SELEZIONE (o scelta logica) ITERAZIONE NON PRIMITIVE

Dettagli

Strutture di Controllo

Strutture di Controllo Introduzione Strutture di Controllo per strutture condizionali e cicliche Quando si affronta la programmazione si devono indicare al computer delle istruzioni da eseguire. Se il computer potesse comprendere

Dettagli

PROGRAMMAZIONE: Le strutture di controllo

PROGRAMMAZIONE: Le strutture di controllo PROGRAMMAZIONE: Le strutture di controllo 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

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

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

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

Dettagli

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

Il concetto di calcolatore e di algoritmo

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

Dettagli

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

Principali strumenti per lo sviluppo di algoritmi in pascal-like. concetti universali presenti in tutti i linguaggi di programmazione

Principali strumenti per lo sviluppo di algoritmi in pascal-like. concetti universali presenti in tutti i linguaggi di programmazione LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 12 LA COMPLESSITA COMPUTAZIONALE Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

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

Dettagli

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

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop

Diagrammi di flusso. Un metodo per rappresentare graficamente gli algoritmi. sotto programma. Input/ Output. Start. predicato Elaborazione Stop Diagrammi di flusso Un metodo per rappresentare graficamente gli algoritmi. Input/ Output sotto programma Start predicato Elaborazione Stop La programmazione strutturata Un algoritmo è strutturato in blocchi

Dettagli

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER

STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER 1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono

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

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132

JavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Gli algoritmi Fondamenti di Informatica 4. Gli algoritmi Corso di Laurea in Ingegneria Informatica e dell Automazione A.A. 2012-2013 2 Semestre Prof. Giovanni Pascoschi 2 Sommario Analisi e programmazione

Dettagli

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

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

Dettagli

Teoria dell Informazione

Teoria dell Informazione Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro

Dettagli

Architettura hardware

Architettura hardware Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione

Dettagli