Realizzazione software

Slides:



Advertisements
Presentazioni simili
Scomposizione funzionale
Advertisements

Analisi – Progettazione - Programmazione
Linguaggi algoritmici
Analisi della complessità degli algoritmi
Analisi della complessità degli algoritmi
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Il computer ragiona? Problemi e algoritmi.
Informatica Problema Algoritmo Programma
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
Definizione di Algoritmo
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L’attività di.
Fondamenti di Informatica
Introduzione alla programmazione ll
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Modelli simulativi per le Scienze Cognitive
Unità Didattica 1 Algoritmi
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Fondamenti di Informatica1 Ripetizioni di segmenti di codice Spesso è necessario ripetere più volte uno stesso segmento dell'algoritmo (e.g. I/O, elaborazioni.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
DIAGRAMMI DI FLUSSO Notazione grafica usata per descrivere in modo intuitivo le azioni di cui è fatto un algoritmo. Viene usata per descrivere i passi.
Algoritmi e diagrammi di flusso
Come ragiona il computer
Elementi di Informatica
Elementi di Informatica
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
ELEMENTI DI PROGRAMMAZIONE
2000 Prentice Hall, Inc. All rights reserved. Capitolo 3 (Deitel) Lo sviluppo di programmi strutturati Indice degli argomenti Introduzione 3.2 -
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
PROGRAMMAZIONE: linguaggi
Algoritmi e linguaggi di programmazione
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
Elementi di Informatica di base Dott.ssa Elisa Tiezzi
BIOINFO3 - Lezione 15 ISTRUZIONI
Programma di Informatica Classi Prime
Ripasso : Algoritmi.
Programmazione Strutturata
Informatica e Algoritmi
COME RAGIONA UN COMPUTER
DIVERTIRSI CON SCRATCH
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
Rappresentazione degli algoritmi
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
PRIMI ELEMENTI DI PROGRAMMAZIONE
Esempi domande primo compitino Claudia Raibulet
Algoritmi.
Vincenza Ferrara Novembre 2007 Fondamenti di Matematica e Informatica Laboratorio Informatica I anno a.a
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Progettazione degli algoritmi
Dal problema al programma
ALGORITMI Dal problema al programma Definizione di algoritmo
Il computer ragiona? Problemi e algoritmi. Paola Pianegonda2 Cos’è un problema?  Problema è qualsiasi situazione della quale non conosciamo la soluzione.
Programmazione dei Calcolatori Elettronici
Dal problema al programma
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Unità di apprendimento 6 Dal problema al programma.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Unità di apprendimento 6
ALGORITMI, LINGUAGGI E PROGRAMMI Facoltà di Lingue e Letterature Straniere Corso di laurea in Relazioni Pubbliche.
Transcript della presentazione:

Realizzazione software Due fasi: 1. Specifica dell'algoritmo 1.a Definizione dei dati 1.b Definizione della modalità della loro elaborazione 2. Realizzazione algoritmo con un particolare linguaggio (traduzione) Fondamenti di Informatica

Fondamenti di Informatica Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari Il modo di esprimere la sequenza dei passi elementari deve essere standardizzato Fondamenti di Informatica

Proprietà degli algoritmi L'algoritmo è caratterizzato da: finitezza: composto da un numero finito di passi elementari; le operazioni sono eseguite un numero finito di volte non ambiguità: i risultati non variano in funzione della macchina/persona che esegue l'algoritmo (deterministico) realizzabilità: deve essere eseguibile con le risorse a disposizione Fondamenti di Informatica

Fondamenti di Informatica Algoritmo Per definire un algoritmo è necessario: condurre un'attenta analisi del problema individuare i possibili ingressi precisare le uscite definire completamente e dettagliatamente la sequenza dei passi che portano alla soluzione è conveniente suddividere il problema in piccoli sottoproblemi Fondamenti di Informatica

Rappresentazione degli algoritmi Si fa riferimento ai diagrammi di flusso (flow chart) Sono rappresentazioni grafiche dei passi elementari; visione globale del problema Strumento efficace per descrivere un algoritmo (più della descrizione a parole, troppo generica o appesantita da troppi dettagli) Le operazioni base sono 4 Fondamenti di Informatica

Fondamenti di Informatica Operazioni base Le operazioni primarie sono: Trasferimento di informazioni lettura dati, scrittura risultati, visualizzazione dati intermedi Esecuzione di calcoli Assunzione di decisioni Esecuzione di iterazioni ripetizione di sequenze di operazioni Sono rappresentate da forme geometriche diverse Fondamenti di Informatica

Simboli convenzionali ingresso/uscita inizializzazione documento elaborazione inizio/fine input manuale elab. predefinita connessioni disco decisione mem. sequenziale Fondamenti di Informatica

Fondamenti di Informatica Esempi Diagramma di flusso per: somma di N dati media di N dati calcolo del fattoriale calcolo della radice quadrata approssimata calcolo dei primi N numeri primi inserimento/ricerca di un elemento in un albero binario Fondamenti di Informatica

Tecniche di programmazione Programmazione top-down: scomposizione iterativa del problema in sottoproblemi i sottoproblemi devono essere indipendenti ed avere interfacce ben definite visibilità dei dettagli di ogni sottoproblema Programmazione strutturata Fondamenti di Informatica

Programmazione strutturata Teoria nata nel 1965 Basata su eliminazione dei salti incondizionati e -più generalmente- sulla definizione di restrizioni Rendono la scrittura dei programmi e la loro manutenzione più semplici Migliorano la leggibilità dei programmi Fondamenti di Informatica

Teorema di Jacopini-Bohm Per costruire un programma sono necessari 3 soli blocchi: 1. blocco di elaborazione è assimilabile ad una sola istruzione o un solo blocco con un ingresso e una uscita 2. meccanismo di ripetizione (o loop) 3. meccanismo di decisione binaria Fondamenti di Informatica

Strutture per il controllo di flusso While-Do I I O O Fondamenti di Informatica

Strutture per il controllo di flusso Repeat-Until I I O O Fondamenti di Informatica

Strutture per il controllo di flusso If-Then-Else I I O O Fondamenti di Informatica

Teorema di Jacopini-Bohm All'interno di ogni blocco si nasconde un ciclo o una biforcazione Il programma risulta quindi composto da una sequenza di blocchi, senza controlli di flusso Simile alla programmazione top-down dove, però, i blocchi non devono essere indipendenti e omogenei Fondamenti di Informatica

Fondamenti di Informatica Scelta dell'algoritmo Non esistono strutture (dati e di controllo) preferite: la loro scelta dipende dal tipo di linguaggio in cui si codifica l'algoritmo La scelta dell'algoritmo ottimo dipende dal linguaggio a disposizione: occorre conoscere bene il linguaggio e le primitive che esso offre Fondamenti di Informatica