Fabrizio Messina, Marzio Pennisi
|
|
- Massimo Abate
- 6 anni fa
- Visualizzazioni
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 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
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi." Analisi strutturata." Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi." Attraverso
DettagliDiagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto
Diagramma a blocchi per la selezione, in un mazzo di chiavi, di quella che apre un lucchetto 14 1. Dato un numero dire se è positivo o negativo 2. e se il numero fosse nullo? 3. Eseguire il prodotto tra
DettagliAnalisi 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
DettagliLezione 5. La macchina universale
Lezione 5 Algoritmi Diagrammi di flusso La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale=
DettagliAltrimenti, il M.C.D. di a e b è anche divisore di r (e.g. a=15,b=6,r=3 che è il M.C.D.)
Elaboratore Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni sui dati digitale l informazione è rappresentata in forma numerica
DettagliIstruzioni, algoritmi, linguaggi
Istruzioni, algoritmi, linguaggi 1 Algoritmo per il calcolo delle radici reali di un equazione di 2 o grado Data l equazione ax 2 +bx+c=0, quali sono i valori di x per cui l equazione è soddisfatta? 2
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
DettagliFondamenti 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
DettagliL ELABORATORE ELETTRONICO
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
DettagliL ELABORATORE ELETTRONICO!
L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti
DettagliFondamenti 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
DettagliAnalisi 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
DettagliSISTEMI 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:
DettagliAnalisi 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
DettagliSviluppo di programmi
Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla
DettagliElaboratore Elettronico
L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti
DettagliProblemi, algoritmi, calcolatore
Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione
DettagliPROBLEMI 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
DettagliCorso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
DettagliINFORMATICA 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
DettagliRAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO
RAPPRESENTAZIONE GLI ALGORITMI NOTAZIONE PER LA RAPPRESENTAZIONE DI UN ALGORITMO Rappresentazione degli algoritmi Problema Algoritmo Algoritmo descritto con una qualche notazione Programma Defne del procedimento
DettagliProblema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.
Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
DettagliCorso di Informatica di Base
Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliProgrammazione I. Fondamenti di programmazione. Problemi, Algoritmi, Diagrammi di flusso
Programmazione I Fondamenti di programmazione ( Lezione I ) Problemi, Algoritmi, Diagrammi di flusso Fabrizio Messina messina@dmi.unict.it www.dmi.unict.it/~messina Algoritmo Dato un problema, un algoritmo
DettagliCorso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a
Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma
Dettagliin termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico
Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito
DettagliINFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)
INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell
Dettagli= < < < < < 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
DettagliLABORATORIO 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
DettagliLaboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso
Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliA lezione sono stati presentati i seguenti passi per risolvere un problema:
Calcolo delle radici di un polinomio Problema: Dati i coefficienti a,b,c di un polinomio di 2 grado della forma: ax^2 + bx + c = 0, calcolare le radici. A lezione sono stati presentati i seguenti passi
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliDal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione
Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore
DettagliLA METAFORA DELL UFFICIO
LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome
DettagliLez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
DettagliIntroduzione agli Algoritmi
Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione
DettagliELABORAZIONE 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
DettagliRisolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da:
Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Termine algoritmo da: http://it.wikipedia.org/wiki/al-khwarizmi Un
DettagliLez. 5 La Programmazione. Prof. Salvatore CUOMO
Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente
DettagliFormalismi per la descrizione di algoritmi
Formalismi per la descrizione di algoritmi Per descrivere in passi di un algoritmo bisogna essere precisi e non ambigui Il linguaggio naturale degli esseri umani si presta a interpret non univoche Si usano
DettagliSistemi 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
Dettagli2. 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
DettagliPROBLEMI 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.
DettagliAlgoritmi 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
DettagliFondamenti 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
DettagliAlgoritmi 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
DettagliCome 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
DettagliIl Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)
Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande
DettagliCaratteristiche 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
DettagliDall analisi alla codifica (1)
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema
DettagliFondamenti 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
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algebra di Boole Stefano Cagnoni Algebra di Boole L algebra
Dettagliunità 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
DettagliScienza 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.
DettagliAnalisi 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
DettagliALGORITMI. Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico. Elaboratore elettronico
ALGORITMI Obiettivo: risolvere problemi mediante l uso di un elaboratore elettronico Dati input Elaboratore elettronico Risultati Per risolvere un problema è necessario fornire una descrizione chiara e
DettagliCosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
Dettagli3. 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
DettagliLinguaggio 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
DettagliProgramma 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
DettagliIntroduzione 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
DettagliIntroduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione
Sommario Problemi e soluzioni Definizione informale di algoritmo e esempi Proprietà degli algoritmi Input/Output, Variabili Algoritmi senza input o output 1 2 Problema Definizione (dal De Mauro Paravia):
DettagliModulo 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
DettagliInsiemi 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
DettagliCosa 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
DettagliI.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
DettagliDispensa 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
DettagliUniversità degli Studi di Verona. Algoritmie Diagrammidiflusso. Gennaio Sergio Marin Vargas. Dipartimento di Biotecnologie
Università degli Studi di Verona Dipartimento di Biotecnologie Laurea in Biotecnologie Corso di Informatica2014/2015 Algoritmie Diagrammidiflusso Gennaio 2015 - Sergio Marin Vargas Problemi e soluzioni
DettagliALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
DettagliSviluppo 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)
DettagliAppunti 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
DettagliDal 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
DettagliLe 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
DettagliLaboratorio di Programmazione
Laboratorio di Programmazione Laurea in Bioinformatica Docente: Carlo Drioli Web: www.scienze.univr.it/fol/main?ent=oi&id=39990 Programmazione: Dati Strutture di controllo Algoritmi Materiale tratto dai
DettagliCorso 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
DettagliAlgoritmi e Programmi
Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi
Dettagligeneralità concetti di base
generalità concetti di base cosa significa informatica? scienza dell informazione e l informazione giornalistica? scienza dei computer (dall inglese computer science) per i progettisti di computer? scienza
Dettagliprint((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
DettagliIl 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±
DettagliSTRUTTURA 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
DettagliRisoluzione 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
DettagliLA 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,
DettagliINTRODUZIONE 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
Dettaglin 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
DettagliIntroduzione 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
DettagliPer 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.
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
DettagliElaborazione 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
DettagliDISPENSE 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
DettagliAppunti 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:
DettagliSommario. 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
DettagliINFORMATICA 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à
Dettagli1 Esercizi in pseudocodice
Questa dispensa propone esercizi sulla scrittura di algoritmi in un linguaggio semiformale, utile all acquisizione delle abilità essenziali per implementare algoritmi in qualsiasi linguaggio di programmazione.
DettagliCORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1
CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì
DettagliINFORMATICA 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
DettagliA.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