Unità Didattica 1 Algoritmi

Slides:



Advertisements
Presentazioni simili
Gli algoritmi L’elaboratore come macchina universale
Advertisements

Informatica Generale Marzia Buscemi IMT Lucca
Linguaggi algoritmici
Algoritmi e Programmazione
Dr. Francesco Fabozzi Corso di Informatica
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Sommario Gli algoritmi I linguaggi per la formalizzazione di algoritmi
Gli algoritmi Analisi e programmazione Gli algoritmi
INFORMATICA Strutture iterative
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.
Esercitazioni su circuiti combinatori
Iterazione enumerativa (for)
Informatica Problema Algoritmo Programma
Informatica di base A.A. 2003/2004 Algoritmi e programmi
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 10 (12 novembre 2008) Programmazione in Java: espressioni booleane e controllo del flusso (selezione)
Corso di Laurea in Biotecnologie Informatica (Programmazione)
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.
Introduzione alla programmazione ll
Introduzione alla programmazione lll
Introduzione alla programmazione l
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Gli algoritmi Analisi e programmazione Gli algoritmi
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
Unità Didattica 2 I Linguaggi di Programmazione
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
Intelligenza Artificiale - AA 2001/2002 Logica formale (Parte 2) - 1 Intelligenza Artificiale Breve introduzione alla logica classica (Parte 2) Marco Piastra.
Intelligenza Artificiale
Elementi di Informatica
Analisi e programmazione
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Elementi di Informatica di base Dott.ssa Elisa Tiezzi
ECDL Patente europea del computer
Ripasso : Algoritmi.
Programmazione Strutturata
L’iterazione while La sintassi è la seguente: while (condizione) {
Programmazione imperativa
DIVERTIRSI CON SCRATCH
Linguaggi algoritmici
PRESENTAZIONE DI RAGANATO ROBERTO, BISCONTI GIAMMARCO E
Dal problema all’ algoritmo
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
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
PRIMI ELEMENTI DI PROGRAMMAZIONE
Algoritmi.
Realizzazione software
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
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.
Dal problema al programma
Strutture di controllo
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Le proposizioni DEFINIZIONE. La logica è un ramo della matematica che studia le regole per effettuare ragionamenti rigorosi e corretti. DEFINIZIONE. Una.
Transcript della presentazione:

Unità Didattica 1 Algoritmi

Analisi e Programmazione Insieme delle attività necessarie per la risoluzione dei problemi per mezzo di un elaboratore: dalla formulazione del problema alla predisposizione dell’elaboratore. Analisi e Programmazione Problema Risultati Scopo dell’analisi è definire un algoritmo: elenco finito di istruzioni necessarie per risolvere una classe di problemi; in generale non può essere eseguito da un elaboratore; Scopo della programmazione è definire un programma. Un programma è la descrizione comprensibile ed eseguibile di un algoritmo da parte di un elaboratore

Algoritmi e Programmi Problema Analisi Diagramma a blocchi Algoritmo Programmazione Linguaggio programmativo Programma Risultati

Algoritmi Un elenco di istruzioni è un algoritmo se sono soddisfatte le seguenti proprietà: Finitezza: ogni istruzione deve essere eseguita in un tempo finito e un numero finito di volte; Generalità: ogni algoritmo deve fornire la soluzione per i problemi appartenenti ad una determinata classe. Non ambiguità: devono essere definiti in modo univoco tutti i passi; devono essere evitati paradossi, contraddizioni ed ambiguità.

Descrizione degli Algoritmi Uso di un linguaggio generalizzato costituito da strutture linguistiche prive di ambiguità e ridondanze; Uso di proposizioni (espressioni) composte da due parti: Descrizioni delle operazioni (istruzioni); Descrizione dei dati su cui eseguire le istruzioni.

Dati e Istruzioni Dati: Istruzioni: Costanti (valore invariabile all’interno dell’algoritmo); Variabili scalari: <nome, valore> Variabili vettoriali: <nome, insieme di valori> (il valore delle variabili è indeterminato all’inizio di un algoritmo). Istruzioni: Istruzioni operative (producono risultati se eseguite); Istruzioni di controllo (in funzione del verificarsi di condizioni determinano l’esecuzione di alcune istruzioni piuttosto che di altre); Istruzioni di salto (alterano l’ordine di esecuzione delle istruzioni); Istruzioni di inizio e fine; Istruzioni di I/O (trasmissione dati o messaggi fra l’ambiente esterno e l’algoritmo).

Proposizioni e predicati Come sono espresse le condizioni nelle istruzioni di controllo? Le istruzioni di controllo verificano se una condizione è vera o falsa. Il controllo viene espresso per mezzo di predicati. Proposizione: Costrutto del quale si può dire se è vero o falso. Predicato: Una proposizione è un predicato se in essa appaiono delle variabili e il valore di verità delle variabili determina il valore di verità della proposizione. I predicati si esprimono con operatori logici e relazionali. Predicati Semplici: predicati di un solo operatore (NOT) e una sola variabile; Predicati Composti: predicati con operatori logici (AND, OR, NOT).

Tavole di Verità Tavole di Verità: Esempi: descrivono i valori di verità dei predicati in funzione dei valori di verità delle singole parti. Esprimono le modalità con cui operano gli operatori relazionali. Esempi: A B A and B 1 A B A or B 1 A not A 1

Diagrammi a Blocchi Esempio di un linguaggio generalizzato per la descrizione degli algoritmi; I blocchi contengono istruzioni elementari, la forma del blocco indica il tipo di istruzioni; Inizio Fine Lettura Scrittura Azioni Controllo V F

Condizione di fine ciclo Analisi Strutturata Procedimento che permette di ottenere descrizioni di algoritmi che siano facilmente documentabili e comprensibili; Schemi di flusso: Schema di sequenza; Schema di selezione; Schema di iterazione: Condizione di fine ciclo Inizializzazione F Iterazione V Iterazione per falso con controllo in coda Iterazione per vero con controllo in testa

Diagramma a Blocchi Strutturati Uno schema di flusso è strutturato se i suoi blocchi sono collegati con gli schemi di flusso precedenti; Un diagramma a blocco è strutturato se sono strutturati tutti gli schemi di flusso che lo compongono; In un diagramma a blocchi strutturato non compare mai alcuna istruzione di salto;

Principio di Induzione Sia Pn una proposizione di cui si può dire se è vera o falsa Hp) Sia P0 vera; Supponendo Pn-1 vera, si dimostra che Pn è vera; Ts) Pn è vera n.

Algoritmi Ricorsivi Un algoritmo si dice ricorsivo quando è definito nei termini di se stesso; È costituito da due parti: Passo base (stabilisce il risultato per valori precisi dei dati iniziali); Passo di induzione (risultato per n in funzione del risultato per n-1).

Esempi di algoritmi ricorsivi Potenza (definizione iterativa): Potenza (definizione ricorsiva):

Esempi di algoritmi ricorsivi Fattoriale (definizione iterativa): Fattoriale (definizione ricorsiva):

Diagramma di Flusso del Fattoriale Ricorsivo Inizio V F Fine

Sviluppo del Fattoriale Ricorsivo Passo base