GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

Scomposizione funzionale
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
Linguaggi algoritmici
Costruzione di un semplice programma che opererà su uno smartphone
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Fondamenti di Informatica
Corso di Robotica Residenza Universitaria Alcantara 20 Gennaio 2005
Il computer ragiona? Problemi e algoritmi.
Iterazione enumerativa (for)
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.
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Definizione di Algoritmo
Modulo 1: Problemi e Programmi
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Modelli simulativi per le Scienze Cognitive
Modulo 1: Problemi e Programmi
Il Linguaggio Macchina
Unità Didattica 1 Algoritmi
Strutture di controllo in C -- Flow Chart --
Fondamenti di Informatica Algoritmi
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Gli algoritmi.
Algoritmi e diagrammi di flusso
Elementi di Informatica
Elementi di Informatica
ITIS LATTANZIO Unità Didattica Materia Informatica Funzioni in C++
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
INFORMATICA MATTEO CRISTANI.
PROGRAMMAZIONE: linguaggi
docente Grimaldi Carolina MODULO 1 I CONCETTI DI BASE DELL’ICT
Lezione 1 Linguaggi di programmazione – Algoritmi –Istruzioni
Algoritmi e linguaggi di programmazione
Lezione 6 Strutture di controllo Il condizionale
Programma di Informatica Classi Prime
Ripasso : Algoritmi.
COME RAGIONA UN COMPUTER
Linguaggi algoritmici
Dal problema all’ algoritmo
ALGORITMI Un algoritmo (detto anche procedura, prescrizione, processo, routine, metodo) è un insieme di regole (dette anche direttive o istruzioni) che,
Rappresentazione degli algoritmi
Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto.
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.
Problemi, algoritmi e programmazione
Progettazione degli algoritmi
TIPI SEMPLICI (ATOMICI) DIREMO CHE UNA INFORMAZIONE E’ DI TIPO SEMPLICE SE NON E’ COMPOSTA DA INFORMAZIONI PIU’ SEMPLICI TIPI STRUTTURATI DIREMO CHE UNA.
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
Strutture di controllo
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Unità di apprendimento 6 Dal problema al programma.
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.
IL CONCETTO DI ALGORITMO
Transcript della presentazione:

GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo

L’ALGORITMO L’ algoritmo è un insieme finito di operazioni, che devono essere eseguite per portare a termine un dato compito e risolvere un problema. Esempi di algoritmo:  Le istruzioni per usare un elettrodomestico  Le istruzioni per fare il caffè  Le regole per eseguire la divisione tra due numeri Dati iniziali Input Soluzione adottata Soluzione adottata Algoritmo Risultati attesi Output

L’ESECUTORE Deve esistere un esecutore (uomo o macchina) in grado di eseguire ogni operazione. L’esecutore deve terminare il suo lavoro in un numero finito di passi. Gli algoritmi sono espressi mediante un linguaggio e sono realizzati da un esecutore.

Nell’elaboratore gli algoritmi per la soluzioni di particolari problemi sono espressi mediante un linguaggio di programmazione. Linguaggio di programmazione = linguaggio formale che l’elaboratore e’ in grado di comprendere. Un programma e’ la descrizione di un algoritmo ed e’ costituito da una sequenza di istruzioni che il calcolatore e’ in grado di comprendere ed eseguire.

METODOLOGIA DI LAVORO Risoluzione di un problema Prima fase: 1)Definizione del problema 2)Descrizione dei dati che sono coinvolti, distinguendo quelli che abbiamo a disposizione cioè in ingresso 3)Descrizione dei risultati da ottenere cioè in uscita Prima fase: 1)Definizione del problema 2)Descrizione dei dati che sono coinvolti, distinguendo quelli che abbiamo a disposizione cioè in ingresso 3)Descrizione dei risultati da ottenere cioè in uscita Seconda fase: 1)Definizione delle azioni da intraprendere 2)Definizione dell’esatta sequenza delle azioni da compiere (fasi) per ottenere la soluzione del problema Seconda fase: 1)Definizione delle azioni da intraprendere 2)Definizione dell’esatta sequenza delle azioni da compiere (fasi) per ottenere la soluzione del problema Prima fase: 1)Definizione del problema 2)Descrizione dei dati che sono coinvolti, distinguendo quelli che abbiamo a disposizione cioè in ingresso 3)Descrizione dei risultati da ottenere cioè in uscita Prima fase: 1)Definizione del problema 2)Descrizione dei dati che sono coinvolti, distinguendo quelli che abbiamo a disposizione cioè in ingresso 3)Descrizione dei risultati da ottenere cioè in uscita Prima fase: 1)Definizione del problema 2)Descrizione dei dati che sono coinvolti, distinguendo quelli che abbiamo a disposizione cioè in ingresso 3)Descrizione dei risultati da ottenere cioè in uscita Prima fase: 1)Definizione del problema 2)Descrizione dei dati che sono coinvolti, distinguendo quelli che abbiamo a disposizione cioè in ingresso 3)Descrizione dei risultati da ottenere cioè in uscita

IL DIAGRAMMA A BLOCCHI Il diagramma a blocchi è uno schema grafico; esso permette un visione immediata dell’intero procedimento e dell’ordine di esecuzione delle varie istruzioni. I diagrammi a blocchi sono formati da simboli di forma diversa, ciascuno con un proprio significato; all’interno di ogni simbolo è presente un breve testo sintetico. Per unire fra loro i vari simboli si usano delle frecce. condizione sìno Ingresso e uscita Inizio Fine Leggi base altezza Scrivi area Area =base * altezza

Esempio di algoritmo sequenziale UD 1: concetti e ruoli dell'informazione Si vuole calcolare il prodotto dei due numeri: num1 e num2. ALGORITMO Prodotto() Leggi(num1) Leggi(num2) prod=Prodotto(num1,num2) Scrivi(prod);

Esempio: Date le misure dei due cateti di un triangolo rettangolo, si vuole calcolare la misura del perimetro del triangolo Dati iniziali sono:  Cateto 1  Cateto 2 Risultato finale:  perimetro Per il calcolo del perimetro abbiamo bisogno dell’ipotenusa che possiamo calcolare a partire dai cateti (teorema di Pitagora). L’ipotenusa è una variabile di lavoro Per fare in modo che l’esecutore acquisisca i dati possiamo usare le istruzioni del tipo: leggi, acquisisci, accetta. Per fare in modo che l’esecutore comunichi i dati possiamo usare le istruzioni del tipo: scrivi, comunica, mostra. Esempio di algoritmo sequenziale

Non Ambiguo Deterministico Finito Generale Riproducibile Esaustivo lE sei caratteristiche dell’algoritmo

DEFINIZIONE a)L’algoritmo deve essere utilizzabile per ogni problema della stessa classe. a)L’algoritmo deve coprire tutti i casi possibili. a)Avendo in ingresso gli stessi dati l’algoritmo deve produrre gli stessi risultati. a)Ogni istruzione dell’algoritmo deve produrre un risultato osservabile. a)I passi costituenti l’algoritmo devono essere interpretabili in modo diretto e univoco dall'esecutore, sia esso umano o artificiale. a)L'algoritmo deve essere composto da un numero finito di passi e richiedere una quantità finita di dati in ingresso. CARATTERISTICA DEFINIZIONE 1. Non Ambiguo a) L’algoritmo deve essere utilizzabile per ogni problema della stessa classe. 2. Deterministico b) L’algoritmo deve coprire tutti i casi possibili. 3. Finito c) Avendo in ingresso gli stessi dati l’algoritmo deve produrre gli stessi risultati. 4. Generale d) Ogni istruzione dell’algoritmo deve produrre un risultato osservabile. 5. Riproducibile e) I passi costituenti l’algoritmo devono essere interpretabili in modo diretto e univoco dall'esecutore, sia esso umano o artificiale. 6. Esaustivo f) L'algoritmo deve essere composto da un numero finito di passi e richiedere una quantità finita di dati in ingresso. Collega la caratteristica alla definizione

CARATTERISTICA DEFINIZIONE 1. Non Ambiguo 1e a) L’algoritmo deve essere utilizzabile per ogni problema della stessa classe. 2. Deterministico 2c b) L’algoritmo deve coprire tutti i casi possibili. 3. Finito 3f c) Avendo in ingresso gli stessi dati l’algoritmo deve produrre gli stessi risultati. 4. Generale 4a d) Ogni istruzione dell’algoritmo deve produrre un risultato osservabile. 5. Riproducibile 5d e) I passi costituenti l’algoritmo devono essere interpretabili in modo diretto e univoco dall'esecutore, sia esso umano o artificiale. 6. Esaustivo 6b f) L'algoritmo deve essere composto da un numero finito di passi e richiedere una quantità finita di dati in ingresso. soluzioni

12 Il ciclo for  Nella struttura del ciclo for:  azione di inizializzazione  condizione di ripetizione  corpo del ciclo  azione di continuazione  Sintassi: for (Inizializzazione; Condizione; Continuazione) Blocco istruzioni fine del for

13 Sommare separatamente i numeri pari e quelli dispari compresi tra 1 e 100 (codifica in Javascript) var sompari= 0, somdispari = 0; var num; for (num=1; num<=99; num=num+2) { somdispari = somdispari + num; sompari = sompari + num+1; } Esempio di uso del ciclo for

SITOGRAFIA