Fabrizio Messina, Marzio Pennisi

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fabrizio Messina, Marzio Pennisi"

Transcript

1 Fabrizio Messina, Marzio Pennisi

2 Argomenti trattati

3 Algoritmo: definizione Analisi e programmazione: attività preliminari atte a risolvere problemi utilizzando un elaboratore, dalla formulazione del problema fino alla predisposizione dell elaboratore. ALGORITMO: un elenco finito di istruzioni che specificano una serie di operazioni, eseguendo le quali è possibile risolvere ogni problema di un dato tipo (classe di problemi). Un algoritmo può essere utilizzato per risolvere un particolare problema. In questo caso l'uomo può eseguire le istruzioni indicate nell'algoritmo sui dati che caratterizzano il particolare problema da risolvere. Un algoritmo non può essere eseguito direttamente da un elaboratore.

4 Programma: definizione Scopo della programmazione è quello di definire un programma. Un programma è la descrizione di cosa deve fare un elaboratore (insieme univoco di istruzioni) per risolvere ogni problema di un dato tipo. Programma -> descrizione di un algoritmo in una forma comprensibile per l elaboratore.

5 Linguaggio di programmazione: definizione Un linguaggio di programmazione è rappresentato da un insieme di regole formali per la stesura di un programma comprensibile per un calcolatore. Tramite un linguaggio di programmazione, è possibile descrivere un algoritmo in modo che esso diventi un programma. La soluzione di un particolare problema di un dato tipo si ottiene eseguendo il programma formulato per la soluzione di quel tipo di problemi e specificando i dati caratteristici del problema particolare. I risultati ottenuti dalla esecuzione del programma rappresentano la soluzione richiesta. L esecuzione di un programma è anche detta elaborazione.

6 Analogie tra uomo ed elaboratore

7 Analisi e programmazione

8 Primi esempi di algoritmo Esempio: Ordinamento di un mazzo di 40 carte Problema: Si supponga di avere un mazzo da 40 carte mescolato. Si vuole ordinare il mazzo di carte in modo che le carte con il seme cuori siano poste per prime, seguite dalle carte con seme quadri, fiori e picche. Le carte di uno stesso seme sono ordinate dall'asso al re. Algoritmo (possibile): 1. inizio dell algoritmo; 2. Suddividere il mazzo in 4 mazzetti; ciascun mazzetto è costituito da tutte le carte dello stesso seme; 3. Ordinare le carte di ciascun mazzetto dall asso al re; 4. Prendere nell ordine il mazzetto dei cuori, dei quadri, dei fiori e delle picche; 5. fine dell'algoritmo.

9 Primi esempi di algoritmo (segue) Esempio: Calcolo delle radici delle equazioni di secondo grado. Problema: Determinare le radici x1, x2, dell equazione di secondo grado ax2 +bx+ c=0. Il procedimento prevede il calcolo del determinante Δ =b2-4ac. Se Δ > 0 si hanno due radici reali e distinte x1 e x2 = [-b ± (Δ) ] /2a. Se Δ = 0 si hanno due radici reali coincidenti x1 e x2 = -b/2a. Se Δ< 0 non si hanno radici nel campo dei numeri reali. Algoritmo (possibile): 1. inizio dell algoritmo; 2. Introdurre i valori di a, b e c; 3. Calcolare Δ =b2-4ac; 4. Se Δ > 0 porre x1=[-b + (Δ) ] /2a e x2=[-b - (Δ) ] /2a e poi passare all istruzione 7; 5. Se Δ = 0 porre x1=x2= -b /2a e poi passare all istruzione 7; 6. Se Δ < 0 restituire il messaggio non esistono radici reali e poi passare all istruzione 8; 7. Restituire x1 e x2; 8. Fine dell algoritmo.

10 Algoritmo: istruzioni e dati Fino ad adesso sono state utilizzate delle proposizioni per descrivere un algoritmo. Le proposizioni sono composte di due parti: Operazioni da eseguire (ISTRUZIONI) Oggetti sui quali eseguire le operazioni al fine di ottenere i risultati (DATI). Esempi sugli algoritmi appena visti: ISTRUZIONI DATI calcola b2-4ac porre.x1=x2 suddividere in quattro mazzetti 4, a, b, c, x1 e x2 mazzo di carte

11 I DATI: Costanti e variabili Gli oggetti (dati) sui quali si opera per mezzo di un algoritmo sono solitamente di 2 tipi: Costante: tipo di dato che rimane invariato durante l esecuzione dell algoritmo. Variabile: Una variabile si può definire come una coppia <nome,valore>. Essa si può paragonare ad un contenitore con un etichetta. Questa scatola conterrà, in generale, differenti valori durante l esecuzione dell algoritmo. valore nome

12 Costanti e variabili Data una variabile <x,v> si dice che x è il nome della variabile e che v è il valore attuale della variabile di nome x (oppure, più semplicemente, che v è il valore di x). Un dato variabile risulta indeterminato al momento della definizione dell'algoritmo; il dato però corrisponde a un valore ben preciso durante ogni esecuzione dell algoritmo. Esempio: Radici di una equazione di 2 grado. Si consideri il passo 3 "Δ =b2-4ac" i dati a, b, c non corrispondono a nessun valore finché non si esegue l'algoritmo per una ben precisa equazione di 2 grado, ad esempio x2-9x - 4 = 0. Solo durante l esecuzione dell algoritmo (in particolare al passo 2) è possibile stabilire che i nomi a, b, c corrispondono, rispettivamente, ai numeri 1; - 9; - 4!

13 L istruzione di assegnamento L istruzione di assegnamento (assegnazione) permette di definire il valore attuale v di una variabile x. Quel valore resta inalterato finché una successiva assegnazione non modifica il valore stesso. L'assegnazione si può rappresentare con la seguente istruzione: x espressione e si legge: assegna a x il valore di espressione. L'espressione a destra di sarà un opportuna espressione che include l uso di costanti, nomi di variabili e/o simboli di operazione.

14 Assegnazione (segue) Ad esempio,se abbiamo b c dopo l operazione di assegnazione a b + c 6 a b c

15 Utilità delle assegnazioni Gli algoritmi si possono descrivere in modo conciso utilizzando variabili e assegnazioni. Ad esempio, una operazione come "calcolare il volume di un parallelepipedo per mezzo del prodotto dei valori delle tre dimensioni" può essere espressa come: volume lunghezza X larghezza X altezza I nomi delle variabili sono arbitrari; È di solito opportuno scegliere il nome di una variabile in modo che ricordi il significato del valore associato. In un algoritmo è sempre necessario rispettare la regola dell ordinamento: Se una variabile compare a destra di una operazione di assegnazione è necessario che a quella variabile sia stato precedentemente associato un valore.

16 Algoritmo: Tipi di istruzione a. istruzioni operative: istruzioni che effettivamente producono dei risultati, se eseguite (e.g. istruzioni di assegnamento). b. istruzioni di controllo: istruzioni che controllano il verificarsi o meno di condizioni specificate. In base al risultato del controllo determinano l esecuzione di alcune istruzioni anziché altre. c. Istruzioni di salto: istruzioni che alterano il normale ordine di esecuzione dell algoritmo, specificando esplicitamente quale sia la successiva istruzione da eseguire. Salto condizionato: l'effettiva esecuzione del salto sia vincolata al verificarsi di una condizione specificata (include al suo interno una istruzione di controllo). Salto incondizionato: che il salto viene eseguito tutte le volte che l'istruzione è eseguita;

17 Algoritmo: tipi di istruzione (segue) d. inizio esecuzione: indica l inizio dell esecuzione dell'algoritmo; e. fine esecuzione: indica la fine dell'esecuzione dell'algoritmo; f. I/O (o trasmissione): indica come la trasmissione di dati o messaggi debba avvenire tra l algoritmo e l ambiente esterno. Possono essere: di ingresso o input (di lettura): i valori vengono trasmessi da un ambiente esterno all'interno dell'algoritmo oppure istruzioni di uscita o output (di scrittura): i valori debbono essere trasmessi dall'algoritmo verso l'ambiente esterno.

18 Esempio tipo di ''istruzione'' (algoritmo radici equazione secondo grado) Istruzione di inizio esecuzione 1. Inizio dell algoritmo; Istruzioni di controllo 2. Introdurre i valori di a, b e c; Istruzione di input 3. Calcolare Δ b2-4ac; Istruzione operativa 4. Se Δ > 0 porre x1 [-b + (Δ) ] /2a e x2 [-b - (Δ) ] /2a e poi passare all istruzione 7; 5. Se Δ = 0 porre x1 x2 -b /2a e poi passare all istruzione 7; Istruzione di salto 6. Se Δ < 0 restituire il messaggio non esistono radici reali e poi passare all istruzione 8; Istruzione di salto 7. Restituire x1 e x2; 8. Fine dell algoritmo. Istruzione di output Istruzione di fine esecuzione

19 Proposizioni e predicati Una proposizione è un costrutto di verità). Ad esempio: linguistico del quale si può dire se è vero o falso (valore Roma è la capitale della Francia; 3 è un numero intero; 1 è un numero dispari; Viceversa le seguenti non sono proporzioni Luigi, leggi quel libro! arrivederci a tutti. Una proposizione è un predicato se in essa appaiono delle variabili, e il valore di tali variabili determina il valore di verità della proposizione stessa. Esempio: la variabile età è minore di 30; la variabile base ha un valore maggiore di quello della variabile altezza

20 Valutazione di un predicato Valutazione del predicato. Operazione che permette di determinare se il predicato è vero o falso s sostituendo alle variabili i loro valori attuali. i due valori vero e falso si dicono valori logici o booleani. età < 30 base > altezza Per la scrittura dei predicati è possibile utilizzare i seguenti simboli, detti operatori relazionali oppure operatori di confronto: = uguale > maggiore maggiore o uguale diverso < minore minore o uguale I predicati che contengono un solo operatore relazionale sono detti predicati semplici.

21 Predicati composti È inoltre possibile utilizzare all interno di un predicato i seguenti operatori booleani: AND (indicato anche con ^ ) OR ( indicato anche con v ) NOT (indicato anche con il simbolo di soprasegnato) I predicati nei quali compare almeno un simbolo NOT, AND, OR sono detti predicati composti. La tavola di verità di un predicato composto è un modo di descrivere il significato un predicato. Essa consiste nello specificare il valore del predicato per ognuna delle possibili combinazioni degli argomenti del predicato. Le tavole di verità dei predicati p AND q e p OR q sono le seguenti: p AND q p q p OR q p q vero vero vero vero vero vero falso falso falso vero falso falso falso vero falso vero vero falso vero falso falso falso vero falso

22 Costruzione di algoritmi mediante analisi Un algoritmo si ottiene come risultato di un procedimento di analisi che può essere suddiviso in tre fasi: a) definizione del problema: non si deve riferire ad un caso concreto, ma casi generali. b) scelta del metodo di soluzione: si definisce il metodo da seguire per risolvere il problema; c) descrizione delle operazioni o sviluppo dell algoritmo: una volta scelto il metodo si descrivono le operazioni che devono essere eseguite per risolvere il problema scelto.

23 Costruzione di algoritmi mediante analisi: metodo delle decomposizioni successive Definizione del problema. Scomposizione del problema in sottoproblemi. Per ognuno dei sottoproblemi si sceglie il metodo di soluzione. Fornire una descrizione dettagliata di ciascun sottoproblema, in modo da ottenere una così successive scomposizioni del problema, fino ad ottenere una scomposizione finale, che contenga solo descrizioni di operazioni direttamente eseguibili. 5. La successione di operazioni direttamente eseguibili è l algoritmo. Nei problemi particolarmente semplici, la prima scomposizione è sufficiente a trovare per la definizione dell algoritmo. Il metodo delle scomposizioni successive risulta particolarmente utile quando i problemi da risolvere sono complicati. Gli esempi successivi sono introdotti soprattutto a scopo illustrativo.

24 Costruzione di algoritmi mediante analisi (segue) Esempio: Calcolare la somma delle prime n potenze del 2. È noto che: Pertanto questa notazione algebrica fornisce il metodo per la soluzione del problema posto. In questo caso la scelta del metodo coincide con la descrizione delle operazioni direttamente eseguibili. L'algoritmo, ottenuto direttamente come prima scomposizione del problema, è: 1) Inizio dell algoritmo 2) acquisire dall esterno il valore di n; 3) a 2n 4) b a - 1 5) c a + b 6) Restituire c 7) Fine dell algoritmo

25 Costruzione di algoritmi mediante analisi (segue)

26 Metodologia di soluzione dei problemi La scomposizione del problema in sotto-problemi più piccoli (e quindi più semplici da risolvere) è denominato approccio top-down, oppure divide et impera o divide and conquer. Un altro approccio di che più essere utilizzato è l approccio bottom up, che parte dal caso base (semplice) e costruisce via via una soluzione generale.

27 Flowcharts (diagrammi di flusso o a blocchi) Un diagramma di flusso o flowchart permette di realizzare una descrizione grafica di un algoritmo. - E detto diagramma di flusso in quanto permette di rappresentare graficamente il flusso (cioè la sequenza) delle operazioni di cui è composto l algoritmo.

28 Flowcharts (segue) Ogni istruzione viene rappresentata da un blocco elementare (o più semplicemente blocco). La forma grafica dei blocchi è determinata dal tipo dell istruzione. I blocchi sono etichettati con le istruzioni stesse. I blocchi sono collegati tra loro da frecce che indicano gli schemi di flusso, cioè il susseguirsi delle azioni elementari.

29 Flowcharts (segue) La struttura generale di un diagramma a blocchi è la seguente: a) blocco iniziale; b) blocco finale; c) numero finito n (n 1) di blocchi di azione e/ o di lettura-scrittura d) numero finito m (m 0) di blocchi di controllo

30 Flowcharts (segue)

31 Flowcharts (segue) Esempio: Diagramma a blocchi dell'algoritmo per il calcolo di M.C.D. (a,b)

32 Flowcharts (segue). Si noti come l'operazione "scambiare i valori di a e b" è stata realizzata con la sequenza di assegnazioni E stata usata una variabile di appoggio (in questo caso x) in quanto l'assegnazione è distruttiva nel senso che quando si assegna un nuovo valore ad una variabile non si ha memoria del suo valore precedente. Pertanto se le variabili a e b fossero: una sequenza assegnazioni di avrebbe come effetto

33 Flowcharts: calcolo (segue)

34 I Cicli (loop) Un ciclo rappresenta essenzialmente uno schema di iterazione. Un ciclo è definito quando si conosce a priori il numero di volte che deve essere eseguito. Un ciclo definito è detto anche ciclo enumerativo. In questo caso si usa la tecnica del contatore: una variabile, detta contatore del ciclo, che conta quante volte istruzioni del ciclo sono state eseguite. Il contatore del ciclo può essere utilizzato in due modi: Incremento del contatore: il contatore viene inizializzato ad un valore minimo, ad esempio 0, e incrementato di uno tutte le volte che il ciclo è eseguito. Si ha una uscita dal ciclo quando il valore del contatore è uguale al numero prefissato di volte che il ciclo deve essere eseguito (vedi esempio precedente). Decremento del contatore: il contatore viene inizializzato con un valore uguale al numero di volte che il ciclo deve essere eseguito e decrementato di uno ogni volta che il ciclo è eseguito. Si ha una uscita quando il valore del contatore raggiunge il valore 0. Un ciclo è indefinito quando non è possibile conoscere a priori quante volte deve essere eseguito. In questo caso la condizione di fine ciclo viene fatta controllando valore di una o più variabili. I valori di queste variabili sono modificati da istruzioni che fanno parte della iterazione.

35

36 Algoritmi iterativi Accade molto spesso che, per risolvere un problema, lo stesso insieme di operazioni debba essere eseguito un numero opportuno di volte. Consideriamo ad esempio il seguente problema: Calcolare la somma dei cubi dei tre numeri interi successivi ad un valore dato n. (n+1)3+(n+2)3+(n+3)3 Un possibile algoritmo è il seguente:

37 Algoritmi iterativi (segue) Il risultato è ottenuto usando la variabile somma come un contenitore di somme parziali finché non si ottiene la somma totale richiesta. Questo risultato viene raggiunto eseguendo delle azioni "simili" per un numero opportuno di volte. Lo stesso risultato può essere ottenuto modificando leggermente le istruzioni così che l algoritmo sia composto da un numero prefissato di azioni uguali:

38 Algoritmi iterativi (segue) In questo modo il valore finale di somma è ottenuto mediante l esecuzione, per una sola volta, della sequenza di istruzioni E dalla esecuzione per tre volte della sequenza di istruzioni

39 Algoritmi iterativi (segue)

40 Algoritmi ricorsivi Gli algoritmi ricorsivi sono algoritmi che richiamano se stessi per la risoluzione di un problema. Molto semplici da scrivere e pensare, ma meno efficienti sul calcolatore degli algoritmi iterativi. L'algoritmo include una sequenza di chiamate all algoritmo stesso che ha termine al verificarsi di una condizione particolare che viene chiamata condizione di terminazione, che in genere si ha con particolari valori di input. Esempio: Calcolo del fattoriale n!. Esso è definito come segue: 0!=1, 1!=1, n! = n *(n-1)! NB: Ogni algoritmo ricorsivo può essere convertito in un algoritmo iterativo.

41 Vettori o array. Un vettore o array è una variabile che può contenere un numero di elementi maggiore di uno. Un array è di fatto una zona di memoria, all interno del calcolatore, come una singola variabile. La dimensione della zona di memoria allocata dal calcolatore per un array, è uguale alla quantità di memoria necessaria per contenere una variabile singola moltiplicata per il numero di elementi dell array stesso. Ciascuno scomparto si dice componente o elemento del vettore, la dimensione di vettore è il numero dei suoi elementi. un La notazione comune per identificare un elemento di un array, è quello di usare il nome del vettore stesso, seguito da una coppia di parentesi (tonde o quadre) che racchiudono il numero che individua lo scomparto: v(1) oppure v[4] I vettori sono particolarmente utili quando è necessario effettuare lo stesso tipo di operazionisu un insieme di dati. Ogni volta che un vettore è usato in un algoritmo è necessario dichiararne le caratteristiche nell'elenco delle variabili usate.

42 Vettori (segue) allora il vettore somma e è dato da (somma per posizione a(1)+b(1), a(2)+b(2) etc )

43 Vettori.

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

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

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

Lezione 5. La macchina universale

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

Dettagli

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

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

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

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

L ELABORATORE ELETTRONICO

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

Dettagli

L ELABORATORE ELETTRONICO!

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

Dettagli

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

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

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

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

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

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, 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

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

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

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

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

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

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

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

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

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

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

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

= < < < < < Matematica 1

= < < < < < Matematica  1 NUMERI NATURALI N I numeri naturali sono: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,... L insieme dei numeri naturali è indicato con la lettera. Si ha cioè: N= 0,1,2,3,4,5,6,7,.... L insieme dei naturali privato

Dettagli

LABORATORIO DI INFORMATICA

LABORATORIO DI INFORMATICA LABORATORIO DI INFORMATICA Corso di laurea in Scienze della Formazione Primaria a.a.2014/2015 A cura del Prof. Sergio Miranda 2 LEZIONE N.6 Algoritmi GLI ALGORITMI (1/5) Un algoritmo è una sequenza di

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

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

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

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

Dettagli

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

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

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

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

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

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

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

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

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

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

2. Algoritmi e Programmi

2. Algoritmi e Programmi 12 2. Algoritmi e Programmi Dato un problema, per arrivare ad un programma che lo risolva dobbiamo: individuare di cosa dispongo: gli input; definire cosa voglio ottenere: gli output; trovare un metodo

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

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

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

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

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

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

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Algebra di Boole e Circuiti Logici Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 Algebra di Boole e Circuiti Logici L Algebra

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

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

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

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

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

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

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

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

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

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

Insiemi numerici. Teoria in sintesi NUMERI NATURALI

Insiemi numerici. Teoria in sintesi NUMERI NATURALI Insiemi numerici Teoria in sintesi NUMERI NATURALI Una delle prime attività matematiche che viene esercitata è il contare gli elementi di un dato insieme. I numeri con cui si conta 0,,,. sono i numeri

Dettagli

Cosa si intende con stato

Cosa si intende con stato Il concetto di stato Cosa si intende con stato I una particolare configurazione delle informazioni di una macchina, che in qualche modo memorizza le condizioni in cui si trova, e che cambia nel tempo passando

Dettagli

I.4 Rappresentazione dell informazione

I.4 Rappresentazione dell informazione I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione

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

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

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

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

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 3 anno accademico Mario Verdicchio Appunti di informatica Lezione 3 anno accademico 2015-2016 Mario Verdicchio Numeri binari in memoria In un calcolatore, i numeri binari sono tipicamente memorizzati in sequenze di caselle (note anche come

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

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

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

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi

Corso di Programmazione Problem Solving. Tipi di Problemi. Problemi Complessi Soluzione. Dott. Pasquale Lops. Primitivi. Complessi Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Problem Solving Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/30 Tipi di Problemi Primitivi Risolubili

Dettagli

Algoritmi e Programmi

Algoritmi e Programmi Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi

Dettagli

generalità concetti di base

generalità concetti di base generalità concetti di base cosa significa informatica? scienza dell informazione e l informazione giornalistica? scienza dei computer (dall inglese computer science) per i progettisti di computer? scienza

Dettagli

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript

print((math.floor(1345/10)%10); print (Math.floor(1345/100)%10); Le funzioni in JavaScript Funzioni Funzioni predefinite della libreria matematica Funzioni disponibili: Math.sqrt(x) radice quadrata Math.log(x) logaritmo naturale in base e di x Math.abs(x) valore assoluto di x Math.ceil(x) arrotonda

Dettagli

Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica

Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica Il Concetto di Algoritmo Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2010-11 Esempio: risolviamo le equazioni di secondo grado ax 2 + bx + c = 0 La formula risolutiva è: x= b±

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

Risoluzione di problemi

Risoluzione di problemi ALGORITMI Risoluzione di problemi Algoritmi Strutture dati Strumenti del linguaggio di programmazione La risoluzione di un problema è il processo che dato un problema e individuato un opportuno metodo

Dettagli

LA METAFORA DELL UFFICIO LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO

LA METAFORA DELL UFFICIO LAVAGNA DI PROGRAMMA SPORTELLO UTENTE LAVAGNA DI LAVORO LA METAORA DELL UICIO LAAGNA DI LAORO Lavagna di lavoro Lavagna di programma Sportello utenti Capo Ufficio Impiegato Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome distinto,

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

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

n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi 1 Cos è n Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati n Un algoritmo è un metodo per la soluzione di un problema adatto

Dettagli

Introduzione agli algoritmi

Introduzione agli algoritmi Introduzione agli algoritmi Consideriamo un lettore di CD musicali portatile Questo ha a disposizione: pulsanti di controllo display che indica se il lettore è in funzione il brano che è attualmente riprodotto

Dettagli

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense. Fondamenti di Informatica - A. Fantechi Raccolta di esercizi Per gli esercizi sulla algebra booleana, si consiglia di verificare tramite tabelle di verità le equivalenze logiche proposte sulle dispense.

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

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

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

Appunti di informatica. Lezione 4 anno accademico 2015-2016 Mario Verdicchio

Appunti di informatica. Lezione 4 anno accademico 2015-2016 Mario Verdicchio Appunti di informatica Lezione 4 anno accademico 2015-2016 Mario Verdicchio Numeri primi Si definisce primo un numero intero maggiore di 1 che ha due soli divisori: se stesso e 1 Esempi di numeri primi:

Dettagli

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript

Sommario. Problema computazionale Sviluppo software Algoritmi. Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Sommario Problema computazionale Sviluppo software Algoritmi Diagrammi di Flusso; Pseudo Codice Istruzioni Sequenziali, Condizionali, Cicliche; Javascript Il Problema computazionale È computazionale un

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi

INFORMATICA GENERALE Prof. Alberto Postiglione. Università degli Studi di Salerno. UD 3.1a: Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Scienze della Comunicazione Università

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

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì

Dettagli

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Gli Algoritmi INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze

Dettagli

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica O. BELLUZZ I - L. DA VINCI Prot.8480/6.3 del 05/07/2017 A.S. 2016-2017 Classe III H Informatica Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

Dettagli