Sviluppo di programmi
|
|
- Enzo Marconi
- 5 anni fa
- Visualizzazioni
Transcript
1 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 comprensione degli esseri umani ma abbastanza vicino ai linguaggi di programmazione 3. produrre un programma scritto nel linguaggio di programmazione scelto
2 Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione dei contenitori di dati (variabili) necessarie e delle relative operazioni elementari FASE 3.2: Specifica di un diagramma di flusso ( o di uno pseudo codice) che descrive in modo preciso e non ambiguo la sequenza di operazioni da eseguire FASE 4: Traduzione del diagramma di flusso ( o dello pseudo codice) in un programma in un linguaggio di programmazione
3 Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione dei contenitori di dati (variabili) necessarie e delle relative operazioni elementari FASE 3.2: Specifica di un diagramma di flusso ( o di uno pseudo codice) che descrive in modo preciso e non ambiguo la sequenza di operazioni da eseguire FASE 4: Traduzione del diagramma di flusso ( o dello pseudo codice) in un programma in un linguaggio di programmazione
4 FASE 1: problema e sua analisi L analisi di un problema è la primissima cosa da fare quando si è di fronte alla richiesta di risolverlo Bisogna capire bene il problema prima di pensare di risolverlo! L analisi del problema deve fornire come prodotto: un nome ed una breve descrizione di cosa si vuol fare un elenco di requisiti, ovvero, di richieste, vincoli che il programma deve soddisfare
5 Esempio di Analisi del problema: ax2+bx+c Problema: CALCOLO RADICI Descrizione: calcolare le soluzioni reali di una equazione di secondo grado Requisiti: l equazione può avere nessuna soluzione reale, due soluzioni coincidenti, o due soluzioni distinte. Si devono, in questi casi, evidenziare il messaggio nessuna radice radici coincidenti r (dove r è il valore delle radici) radici distinte r1 ed r2 (dove r1 ed r2 sono il valore delle radici)
6 Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione dei contenitori di dati (variabili) necessarie e delle relative operazioni elementari FASE 3.2: Specifica di un diagramma di flusso ( o di uno pseudo codice) che descrive in modo preciso e non ambiguo la sequenza di operazioni da eseguire FASE 4: Traduzione del diagramma di flusso ( o dello pseudo codice) in un programma in un linguaggio di programmazione
7 FASE 2: specifica funzionale Una specifica funzionale descrive: quali sono i dati iniziale, ovvero i dati di input (ingresso) da elaborare qual è il risultato atteso in funzione dei dati in ingresso (output, uscita dell algoritmo)
8 Esempio di specifica funzionale CALCOLO RADICI: specifica funzionale INPUT: i numeri reali a,b,c che sono i coefficienti dell equazione da risolvere OUTPUT: i messaggi nessuna radice reale x1=x2=r se l equazione ha due radici reali coincidenti pari ad r x1=r1, x2=r2 se l equazione ha due radici reali distinte pari ad r1 ed r2
9 Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione dei contenitori di dati (variabili) necessarie e delle relative operazioni elementari FASE 3.2: Specifica di un diagramma di flusso ( o di uno pseudo codice) che descrive in modo preciso e non ambiguo la sequenza di operazioni da eseguire FASE 4: Traduzione del diagramma di flusso ( o dello pseudo codice) in un programma in un linguaggio di programmazione
10 FASE 3: scrittura dell algoritmo Descrizione dell algoritmo, ovvero, dei passi da eseguire per giungere al risultato di uscita partendo dai dati in input La prima stesura non necessariamente deve essere completa di ogni dettaglio. in genere, si procede per raffinamenti successivi (analisi TOP-DOWN del problema)
11 Esempio di stesura preliminare di algoritmi CALCOLO RADICI: stesura preliminare dell algoritmo risolvo il problema calcolando il discriminante (delta) dell equazione analizzo i vari casi di delta <0 =0 >0 costruisco per ognuno di questi casi il messaggio da produrre in output Successivamente si definiscono le variabili (contenitori di dati) coinvolte e dettaglio la specifica dell algoritmo usando un diagramma di flusso o lo pseudo codice.
12 Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili (contenitori di dati) necessarie e delle relative operazioni elementari FASE 3.2: Specifica di un diagramma di flusso ( o di uno pseudo codice) che descrive in modo preciso e non ambiguo la sequenza di operazioni da eseguire FASE 4: Traduzione del diagramma di flusso ( o dello pseudo codice) in un programma in un linguaggio di programmazione
13 FASE 3.1: definizione delle variabili Ogni algoritmo deve tenere traccia (memorizzare) i valori dei dati in input, dei risultati in output, e dei valori intermedi calcolati durante l esecuzione dei passi A questo fine si usano delle variabili (contenitori di dati). Ogni variabile ha un nome associato al dato (valore) memorizzato. Una variabile è una astrazione (semplificazione) della nozione di area di memoria (una o più celle della RAM, un registro generale) contenente i bit rappresentanti i dati I dati contenuti in una variabile hanno un tipo (si dice che una variabile è di un certo tipo) che caratterizza un insieme di elementi e le operazioni che sono possibili su di essi
14 FASE 3.1: definizione delle variabili Ogni variabile memorizza il valore di un dato Ogni dato appartiene ad un tipo di dato Un tipo di dato è: un insieme di elementi, rappresentabili in modo finito, dotato di operazioni primitive su di esso ESEMPIO: il tipo di dato intero è l insieme dei numeri interi, sequenze di cifre, con segno dotato di operazioni primitive ed effettivamente eseguibili come somma (+), differenza (-), prodotto (*), divisione intera (/), resto.
15 FASE 3.1: definizione delle variabili Le variabili da usare per memorizzare i valori dei dati intermedi dipendono dall algoritmo All inizio della stesura di un algoritmo difficilmente si è già a conoscenza di quante e quali variabili si dovranno usare Ad ogni raffinamento dell algoritmo si possono aggiungere o togliere variabili fino ad arrivare all uso corretto di ognuna
16 Esempio di definizione di variabili CALCOLO RADICI: variabili usate ci vogliono tante variabili quanti sono i dati in input. In questo caso ci vogliono tre variabili che chiamiamo a,b,c per i coefficienti dell equazione ci vogliono tante variabili quanti sono i dati in uscita. In questo caso, servono due variabili r1,r2 per il valore delle radici dell equazione ci vogliono alcune variabili per tenere conto di dati intermedi da calcolare e modificare per ottenere la soluzione. In questo caso, potremmo usare una variabile per memorizzare il valore del discriminante. La variabile la chiamiamo delta Il tipo di tutte queste variabili è float (numeri reali).
17 Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili (contenitori di dati) necessarie e delle relative operazioni elementari FASE 3.2: Specifica di un diagramma di flusso ( o di uno pseudo codice) che descrive in modo preciso e non ambiguo la sequenza di operazioni da eseguire FASE 4: Traduzione del diagramma di flusso ( o dello pseudo codice) in un programma in un linguaggio di programmazione
18 Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi; Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare qualcosa di più generale; Pseudo-codici o Diagrammi di Flusso
19 Descrizione di un algoritmo Un algoritmo descrive operazioni: due tipi fondamentali di calcoli ottenibili tramite le operazioni primitive su tipi di dato (valutazione di espressioni) azioni che consistono nella modifica del valore associato alle variabili
20 Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di operazioni: calcoli ottenibili tramite le operazioni primitive su tipi di dato (valutazione di espressioni) azioni che consistono nella modifica del valore associato alle variabili
21 Calcoli: espressioni valutabili L esecutore dell algoritmo valuta espressioni dove gli elementi possono essere variabili o valori costanti 3 * X + sin (Y * sqrt(z)) b*b-4*a*c h/j k /
22 Calcoli: espressioni booleane (logiche) Ci sono anche particolari tipi di espressioni chiamate booleane o logiche Sono espressioni che possono dare origine a due soli possibili valori: VERO o FALSO Una proposizione della quale dobbiamo valutare se è vera o falsa Per costruire un espressione logica si possono usare le seguenti relazioni: = (uguaglianza); < (minore); <= (minore o uguale); > (maggiore); >= (maggiore o uguale); <> (diverso);
23 Calcoli: espressioni logiche complesse - NOT Possiamo costruire espressioni booleane più complesse grazie ad alcune regole della cosiddetta algebra booleana; Se A è un espressione logica, anche Not A (la negazione logica di A) lo è A Vero Not A Falso Falso Vero
24 Congiunzione (AND) Se A e B sono espressioni logiche, anche A and B lo è; A B A and B Vero Vero Vero Vero Falso Falso Falso Vero Falso Falso Falso Falso
25 Disgiunzione (OR) Se A e B sono espressioni logiche, anche A or B lo è; A B A or B Vero Vero Vero Vero Falso Vero Falso Vero Vero Falso Falso Falso
26 Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di operazioni: calcoli ottenibili tramite le operazioni primitive su tipi di dato (valutazione di espressioni) azioni che consistono nella modifica del valore associato alle variabili
27 Azioni: modifica valori delle variabili L esecutore di un algoritmo deve poter compiere azioni che hanno un effetto sui dati gestiti Le azioni più semplici sono assegnamenti a variabili Un assegnamento ad una variabile si denota con VARIABILE:= ESPRESSIONE con il seguente significato: 1. l esecutore valuta l espressione a destra del := 2. e poi modifica il valore della variabile con il risultato della valutazione dell espressione
28 Esempi di azioni: assegnamenti a variabili L esecutore valuta espressioni dove gli elementi possono essere variabili o valori costanti e se ne assegna il valore ad una variabile pippo := 3 * X + sin (Y * sqrt(z)) delta := b*b-4*a*c a := h / j W := k / 2.23 M := 192 T := p x := x + 1 Una variabile non può essere vuota : ad una variabile deve sempre essere associato un valore Il valore contenuto in una variabile è l ultimo assegnatole e resta inalterato finché una successiva assegnazione non modifica il valore stesso
29 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 interpretazioni non univoche Si usano due formalismi: diagrammi di flusso: formalismo grafico pseudo-codice: linguaggio con istruzioni simili a quelle dei linguaggi di programmazione si possono usare in alternativa
30 Specifica di inizio e di fine Ogni algoritmo deve avere un inizio ed una fine start end start end
31 Input ed output di dati Ogni algoritmo parte da dati in ingresso per produrre dati in uscita (problema computazionale) readx read X write Z write Z
32 Specifica delle azioni Ogni algoritmo specifica azioni che l esecutore deve compiere del tipo descritto in precedenza Z := X + 1 Z := X + 1
33 Specifica delle condizioni logiche Alcuni passi di un algoritmo si devono eseguire se sono verificate condizioni logiche su valori di variabili In genere, questi salti dell algoritmo sono sottoposti ad una condizione logica (risposta vero o falso); Si parla di blocchi decisionali
34 Specifica delle condizioni logiche vero azioni condizione logica falso azioni if (condizione logica) then else azioni caso vero azioni azioni azioni caso falso caso vero caso falso end if azioni seguenti comuni azioni seguenti comuni
35 Specifica delle condizioni logiche vero azioni condizione logica azioni if (condizione logica) then azioni caso vero end if azioni caso vero falso azioni seguenti comuni azioni seguenti comuni
36 Condizioni logiche Annidate: esempio azioni condizione logica 1 azioni if (condizione logica 1) then vero falso azioni vero 2 if (condizione logica 2) then else vero condizione falso condizione azioni falso 2 logica 2 logica 3 vero end if falso else azioni vero 2 azioni falso 2 azioni vero 3 if (condizione logica 3) then azioni seguenti comuni azioni vero 3 end if end if azioni seguenti comuni
37 Flusso di esecuzione I singoli diagrammi devono essere uniti tramite i connettori (linee e frecce in un flow chart); L esecuzione dei passi deve essere fatta sequenzialmente, ovvero seguendo i connettori, partendo dall inizio dell algoritmo fino a raggiungere la sua fine Quando si scrive l algoritmo bisogna fare molta attenzione alla direzione del flusso di esecuzione
38 Strutture di controllo: iterazione azioni da ripetere vero azioni condizione logica falso azioni while (condizione logica) azioni da ripetere end while azioni seguenti azioni seguenti
39 Strutture di controllo: iterazioni annidate azioni iterazione interna da ripetere azioni azioni azioni iterazione vero condizione end while esterna da ripetere logica vero interna condizione logica esterna falso falso azioni seguenti while (condizione logica esterna) while (condizione logica interna) azioni iterazione interna da ripetere azioni iterazione esterna da ripetere end while azioni seguenti
40 Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili (contenitori di dati) necessarie e delle relative operazioni elementari FASE 3.2: Specifica di un diagramma di flusso ( o di uno pseudo codice) che descrive in modo preciso e non ambiguo la sequenza di operazioni da eseguire FASE 4: Traduzione del diagramma di flusso ( o dello pseudo codice) in un programma in un linguaggio di programmazione
41 Esempio di algoritmo Scrivere l algoritmo che esegue la somma di due numeri start read X read Y Z := X + Y start read X read Y Z := X + Y write Z end write Z end
42 Esempio: massimo tra due numeri Dati due numeri, dire qual è il massimo tra i due. start read X read Y start read X read Y if (X > Y) then max := X vero X>Y falso max := X else max := Y max := Y write max end end end if write max
43 Esempio di algoritmo: calcolo radici write "nessuna radice" vero start read a,b,c delta:=b*b-4*a*c falso delta < 0 write r1 := (-b + sqrt(delta))/2*a vero r2 := (-b - sqrt(delta))/2*a write r1,r2 delta = 0 falso write start read a,b,c delta := b*b-4*a*c if (delta < 0) then else write nessuna radice r1 := (-b+sqrt(delta))/2*a r2 := (-b-sqrt(delta))/2*a write r1,r2 if (delta = 0) then else write radici coincidenti "radici coincidenti" "radici distinte" write radici distinte end end end if end if
44 Esercizio: massimo di una sequenza Si supponga di fornire in input ad un programma un numero indefinito di interi positivi. L inserimento verrà terminato dall utente quando questi inserirà uno zero (0). Il programma deve restituire il valore massimo tra quelli introdotti. Disegnare il diagramma di flusso di tale Programma e scrivere lo stesso tramite in pseudo linguaggio (o linguaggio di progetto).
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
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo Sviluppo di programmi Per la costruzione di un programma
DettagliSviluppo di programmi
Sviluppo di programmi FASE 1: Dare un nome al problema partendo dall analisi del problema FASE 2: Scrivere la specifica funzionale FASE 3: Scrittura dell algoritmo FASE 3.1: Introduzione delle variabili
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
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Si descrive un algoritmo cercando di sintetizzare il più possibile la sua sequenza di passi; Non si utilizza un linguaggio di programmazione specifico, ma è meglio utilizzare
DettagliFasi di creazione di un programma
Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma
DettagliDescrizione di un algoritmo
Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica
DettagliRisoluzione di un problema
Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito
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
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
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
DettagliCAPITOLO 3 - ALGORITMI E CODIFICA
FASI DI SVILUPPO DEL SOFTWARE Problema Idea (soluzione) Algoritmo (soluzione formale) Programma (traduzione dell algoritmo in una forma comprensibile da un elaboratore elettronico) Test (criteri di verifica)
DettagliFondamenti di Informatica
Fondamenti di Informatica (L-Z) Corso di Laurea in Ingegneria Gestionale Introduzione alla Programmazione Prof. Stefano Mariani Dott. Alket Cecaj Indice Il concetto di algoritmo Algoritmo vs. programma
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione
DettagliLinguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»
Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite
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
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
DettagliLaboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano
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
DettagliAlgoritmi e soluzione di problemi
Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)
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
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
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
DettagliInformatica. Elaborazione di informazione
Lauree triennali della Facoltà di Medicina LEZIONE 6 Algoritmi, dati e programmi 1 Elaborazione di informazione Introduzione ai concetti di: algoritmo programma dato linguaggio di programmazione diagramma
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
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 Algoritmi e Programmazione Stefano Cagnoni Il problema
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
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
DettagliCaratteristiche di un calcolatore elettronico
Prof. Emanuele Papotto Caratteristiche di un calcolatore elettronico È una macchina, costituita da circuiti elettronici digitali e da componenti elettromeccaniche, ottiche e magnetiche. È velocissimo,
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
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
DettagliInformatica. Informatica. Problema - soluzione. Algoritmi, dati e programmi. Introduzione ai concetti di: Distinguiamo tra: problema
Algoritmi, dati e programmi 1 Algoritmi, dati e programmi 2 Informatica Informatica informatica informazione mezzi mezzi fisici procedure Algoritmi, dati e programmi rappresentazione dell informazione
DettagliFondamenti di Informatica
Fondamenti di Informatica AlgoBuild: Strutture iterative e selettive Prof. Christian Esposito Corso di Laurea in Ingegneria Meccanica e Gestionale (Classe I) A.A. 2016/17 AlgoBuild: Strutture iterative
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal
Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi
DettagliFondamenti di Informatica A. A. 2018/19
Fondamenti di Informatica Prof. Marco Lombardi A. A. 2018/19 AlgoBuild: Strutture Iterative e Selettive OUTLINE Blocco condizionale (Struttura selettiva IF - IF/ELSE) Esempi Cicli a condizione iniziale
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
DettagliFlow-chart. Introduzione agli algoritmi e ai diagrammi a blocchi.
Flow-chart Introduzione agli algoritmi e ai diagrammi a blocchi ugo.rinaldi@gmail.com 1 Sommario Fasi dello sviluppo di un programma Algoritmo Dati: Variabili e Costanti Le operazioni tipiche Diagramma
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi
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
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
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
DettagliInformatica. Richiami. Diagrammi di flusso. Algoritmi, programmi e dati. Algoritmi e diagrammi di flusso. per le lauree triennali
Informatica per le lauree triennali ESERCITAZIOE 10 Algoritmi e diagrammi di flusso Richiami ESERCITAZIOE 10 ALGORITMI E DIAGRAMMI DI FLUSSO 1 ESERCITAZIOE 10 ALGORITMI E DIAGRAMMI DI FLUSSO Algoritmi,
DettagliSistemi di Elaborazione delle Informazioni
Sistemi di Elaborazione delle Informazioni Algoritmi e Programmi 1 Risoluzione di un problema Il procedimento di soluzione di un problema dovrebbe essere caratterizzato da: analisi del problema e identificazione
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
DettagliSommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo
Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione
DettagliIng. Lorenzo Vismara
Ing. Lorenzo Vismara ! "# #!$#%&# '(!)&!*)&#*$# +!, +$-.(( #!((%&#, #!& %&) /$#01&! 0#( 3452 $ 6#( 1 2 &## #!7 #89): #;##( 1? )#&)< $9): #@82 #)AA)#&#&$( #7)& @B && ##@A&#C 7 $C#&7 @B A&#)@#7&#
DettagliIL TEOREMA DI BOEHM-JACOPINI
IL TEOREMA DI BOEHM-JACOPINI Un qualunque algoritmo può essere descritto unicamente attraverso le tre strutture: Sequenza Diramazione Ciclo o iterazione Le tre strutture sono complete. Un qualunque linguaggio
DettagliPROGRAMMAZIONE: Le strutture di controllo
PROGRAMMAZIONE: Le strutture di controllo Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l
DettagliProblema: calcolare il massimo tra K numeri
Problema: calcolare il massimo tra K numeri Scrivere un algoritmo che fornisca in input ad un programma un numero K e K interi positivi. L algoritmo deve restituire il valore massimo tra quelli introdotti
DettagliLezione 4: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive (2p) Venerdì 7 Ottobre 2009
Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Meccanica & Ingegneria Gestionale Mat. Pari Docente : Ing. Secondulfo Giovanni Anno Accademico 2009-2010 Lezione 4: La
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
DettagliPROGRAMMAZIONE: La selezione
PROGRAMMAZIONE: La selezione Prof. Enrico Terrone A. S: 2008/09 Le tre modalità La modalità basilare di esecuzione di un programma è la sequenza: le istruzioni vengono eseguite una dopo l altra, riga per
DettagliInformatica (A-K) 5. Algoritmi e pseudocodifica
Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie
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
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
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
DettagliAnalisi strutturata 1
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
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
DettagliAlgoritmi. Pagina 1 di 5
Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni
DettagliDall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3
Dall algoritmo al calcolatore: concetti introduttivi Fondamenti di Programmazione Algoritmo Problema o compito Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo sequenza precisa
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
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria ivile e Ingegneria per l ambiente e il territorio Algoritmi
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
DettagliAlgoritmi. Andrea Passerini Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile
Algoritmi Andrea Passerini passerini@dsi.unifi.it Conoscenze informatiche e relazionali Corso di laurea in Scienze dell Ingegneria Edile Elaboratore Un elaboratore o computer è una macchina digitale, elettronica,
DettagliDiagrammi di flusso - Flowcharts. E un formalismo che consente di rappresentare graficamente gli algoritmi
Diagrammi di flusso - Flowcharts E un formalismo che consente di rappresentare graficamente gli algoritmi Un diagramma di flusso descrive le azioni da eseguire ed il loro ordine di esecuzione Ogni azione
DettagliAPPUNTI DI INFORMATICA
Definizione Informatica APPUNTI DI INFORMATICA Si definisce l informatica come la scienza della rappresentazione e dell elaborazione dell informazione. Questa impostazione consente di mettere in evidenza
DettagliPseudo codice. Paolo Bison. Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova. Pseudo codice, Paolo Bison, A.A , p.
Pseudo codice Paolo Bison Fondamenti di Informatica 1 A.A. 2003/04 Università di Padova Pseudo codice, Paolo Bison, A.A. 2003-04, 2003-09-30 p.1/38 Pseudo codice linguaggio testuale mix di linguaggio naturale
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
DettagliValutazione di espressioni
Valutazione di espressioni Stefano Ferrari Università degli Studi di Milano stefano.ferrari@unimi.it Programmazione anno accademico 2016 2017 Blocco Blocco è un insieme di istruzioni consecutive, con un
DettagliCorso di Informatica Modulo T1 C1-Sequenza e selezione
Corso di Informatica Modulo T C-Sequenza e selezione Prerequisiti Analizzare un problema Scrivere un algoritmo Istruzioni semplici Espressione logica 2 Introduzione La programmazione a salti crea diverse
DettagliFondamenti di informatica
Fondamenti di informatica Alessandro GORI a.gori@unifi.it informottica.webnode.it A.Gori - Fondamenti di informatica 1 Bibliografia Introduzione ai Sistemi Informatici IV edizione, Sciuto et alt., McGraw-Hill
DettagliPag. 1. La formalizzazione dell informazione: Dati e Diagrammi di Flusso. Codifica degli algoritmi
1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni La formalizzazione
DettagliEsercizi svolti in aula
Università degli Studi di Cagliari Corsi di Laurea in Ing. Civile e Ing. per l Ambiente e il Territorio ondamenti d Informatica 1 A.A. 2018/2019 Docente: Giorgio umera Esercizi svolti in aula ormulazione
DettagliLa formalizzazione dell informazione: Dati e Diagrammi di Flusso
La formalizzazione dell informazione: Dati e Diagrammi di Flusso Codifica degli algoritmi Algoritmo formulato per essere comunicato tra esseri umani chiaro, sintetico e intuitivo codificato in linguaggi
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 dati in ingresso (input) per produrre uno
DettagliAgent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica.
Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Algoritmi Michele Tomaiuolo Algoritmo Il termine algoritmo deriva
DettagliInformatica. Traccia. Algoritmi, dati e programmi. Elaborazione di informazione. informazione. rappresentazione dell informazione (dati) dati
1 2 Informatica Algoritmi, dati e programmi Informatica: Scienza che studia l informazione e la sua elaborazione. informazione rappresentazione dell informazione (dati) dati elaborazione dei dati tramite
DettagliElementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing.
Elementi di Informatica Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Introduzione 2 Cos è l informatica Scienza della rappresentazione e della elaborazione (trasformazione)
Dettagli02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1)
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliStrutture di controllo condizionali in Matlab
Strutture di controllo condizionali in Matlab Informatica B Le strutture condizionali A cosa servono le strutture condizionali? %Inserimento dei parametri della parabola: y=ax^2+bx+c a = input( inserire
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,
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
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=
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
DettagliNozioni fondamentali su Algoritmi e programmazione
Nozioni fondamentali su Algoritmi e programmazione VARIABILE: La variabile è un contenitore di dati. Questo contenitore può includere dati ti tipo numerico o testuale principalmente. Essa è dotata di un
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
Dettaglio Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori
Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo
DettagliPrimi script in MATLAB
Primi script in MATLAB Laboratorio di Calcolo Numerico 6 Marzo 2018 Introduzione alla programmazione Obiettivo: scrivere programmi e sviluppare algoritmi in MATLAB Si utilizzano gli m-file, ovvero file
DettagliCOSA SONO I FLOW CHART
COSA SONO LOW CHART flow chart sono schemi che descrivono visivamente come procede l esecuzione di un programma. Essi non sono legati ad uno specifico linguaggio: dato un flow chart, il programmatore può
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
DettagliIntroduzione. Informatica B. Daniele Loiacono
Introduzione Informatica B Cos è l informatica? q È la scienza che si occupa della rappresentazione dell informazione e della sua elaborazione e gestione " Si occupa dell informazione, che fa parte di
DettagliLinguaggi algoritmici A. Ferrari
Linguaggi algoritmici A. Ferrari Caratteristiche di un linguaggio algoritmico Non ambiguità Capacità di esplicitare il flusso di esecuzione delle istruzioni Deve contenere istruzioni di tipo: operativo
Dettagli