Descrizione di un algoritmo



Похожие документы
Fasi di creazione di un programma

Formalismi per la descrizione di algoritmi

Gli algoritmi: definizioni e proprietà

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

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Nozione di algoritmo. Gabriella Trucco

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

DAL DIAGRAMMA AL CODICE

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Lezione 8. La macchina universale

Algoritmi, dati e programmi

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

La programmazione. Sviluppo del software

Elementi di Informatica

Algoritmi. Maurizio Palesi. Maurizio Palesi 1

FONDAMENTI di INFORMATICA L. Mezzalira

DAL PROBLEMA ALL'ALGORITMO AL PROGRAMMA SCRITTO IN Come. Scopo principale dell informatica è risolvere problemi con i calcolatori.

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

1 introdurre le monete per l importo necessario. 2 selezionare la quantità di zucchero. 3 selezionare la bevanda desiderata

FONDAMENTI di INFORMATICA Prof. Lorenzo Mezzalira

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Appunti di Sistemi Elettronici

INFORMATICA 1 L. Mezzalira

+ / operatori di confronto (espressioni logiche/predicati) / = > < Pseudo codice. Pseudo codice

GUIDA BASE DI PASCAL

Come ragiona il computer. Problemi e algoritmi

Corso di Informatica

Introduzione. Informatica B. Daniele Loiacono

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

DISPENSE DI PROGRAMMAZIONE. Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte III)

Requisiti normativi, standard, template

Metodologie di programmazione in Fortran 90

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

1

Gestione del workflow

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

Algebra Booleana ed Espressioni Booleane

LINGUAGGI DI PROGRAMMAZIONE

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

Realizzazione di Politiche di Gestione delle Risorse: i Semafori Privati

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Introduzione ai Metodi Formali

Semantica Assiomatica

Architettura di un calcolatore

Elementi di Informatica e Programmazione

Corso di Esercitazioni di Programmazione

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

Javascript: il browser

GESTIONE INFORMATICA DEI DATI AZIENDALI

Arduino: Programmazione

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

Dispense del corso di Introduzione all Informatica della Facoltà Di Scienze Matematiche, Fisiche e Naturali dell Università della Calabria

Introduzione al MATLAB c Parte 2

Elementi di semantica denotazionale ed operazionale

La selezione binaria

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

Elementi di semantica operazionale

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

Sviluppo di programmi

Funzionalità di un Algoritmo

Esercizio: numero primo

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

- Algoritmi ed esecutori di algoritmi - ALGORITMI MACCHINA DI VON NEUMANN

Introduzione alla Programmazione e Applicazioni per la Finanza M2 (Prodotti Derivati) Lezione 8

Linguaggi di programmazione

Dispense di Informatica Anno Scolastico 2008/2009 Classe 3APS. Dal Problema all'algoritmo

Automazione Industriale (scheduling+mms) scheduling+mms.

Esecuzione concorrente di transazioni

Codifica binaria dei numeri relativi

Dispensa di Informatica I.1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

Informatica. Esistono varie definizioni: Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica. Programmazione I - corso B a.a prof.

ALGEBRA DELLE PROPOSIZIONI

Matlab: Strutture di Controllo. Informatica B

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi

Concetto di Funzione e Procedura METODI in Java

Strumenti di modellazione. Gabriella Trucco

Codifica: dal diagramma a blocchi al linguaggio C++

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Algoritmi e diagrammi di flusso

Fogli Elettronici: MS Excel

Creare diagrammi di Gantt con Visio 2003

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

10 - Programmare con gli Array

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Транскрипт:

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 del valore associato alle variabili

Azioni: modifica valori delle variabili L esecutore di un algoritmo deve poter compiere che hanno un effetto sui dati gestiti Le 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

Esempi di : 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

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 due formalismi: diagrammi di flusso: formalismo grafico pseudo-codice: linguaggio con istruzioni simili a quelle dei linguaggi di programmazione si possono usare in alternativa

Specifica di inizio e di fine Ogni algoritmo deve avere un inizio ed una fine start end start end

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

Specifica delle Ogni algoritmo specifica che l esecutore deve compiere del tipo descritto in precedenza Z := X + 1 Z := X + 1

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

Specifica delle condizioni logiche vero caso vero condizione logica seguenti comuni falso caso falso if (condizione logica) then caso vero else caso falso end if seguenti comuni

Specifica delle condizioni logiche vero caso vero condizione logica falso if (condizione logica) then caso vero end if seguenti comuni seguenti comuni

vero Condizioni logiche Annidate: esempio vero condizione logica 2 condizione logica 1 falso seguenti comuni falso condizione logica 3 falso vero vero 2 falso 2 vero 3 if (condizione logica 1) then else if (condizione logica 2) then vero 2 else falso 2 end if if (condizione logica 3) then vero 3 end if end if seguenti comuni

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

Strutture di controllo: iterazione da ripetere vero condizione logica falso while (condizione logica) da ripetere end while seguenti seguenti

Strutture di controllo: iter annidate iterazione esterna da ripetere iterazione interna da ripetere vero vero condizione logica interna condizione logica esterna falso falso while (condizione logica esterna) while (condizione logica interna) iterazione interna da ripetere end while iterazione esterna da ripetere end while seguenti seguenti

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 oper 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 oper da eseguire FASE 4: Traduzione del diagramma di flusso ( o dello pseudo codice) in un programma in un linguaggio di programmazione

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