algoritmo - Dipartimento di Matematica e Informatica

DIQUATTRO EMANUELA
Modulo 1:
Problemi e Programmi
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
CARATTERISTICHE
FONDAMENTI D’INFORMATICA
Modulo1: Dai Problemi ai
Programmi
STUDENTI DELTERZO ANNO, DI UNA SCUOLA
SECONDARIA DI UN ISTITUTO INDUSTRIALE
AD INDIRIZZO INFORMATICO
UN1: DAL PROBLEMA ALL’ALGORITMO
UN2: DALL’ALGORITMO AL PROGRAMMA
TEMPO
Sissis – Indirizzo2 – Classe 42A
8 SETTIMANE
Catania 28/11/2002
DIQUATTRO EMANUELA
CARATTERISTICHE
FONDAMENTI D’INFORMATICA
Modulo2: Dai Problemi ai
Programmi
STUDENTI DELTERZO ANNO, DI UNA SCUOLA
SECONDARIA DI UN ISTITUTO INDUSTRIALE
AD INDIRIZZO INFORMATICO
UN1: DAL PROBLEMA ALL’ALGORITMO
UN2: DALL’ALGORITMO AL PROGRAMMA
TEMPO
3 Settimane per la prima unità didattica
5 Settimane per la seconda unità didattica
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
PREREQUISITI
Concetto di dato e d’informazione
Concetto di modello e di sistema
Concetto di Processo e Processore
Strategie per la risoluzione dei problemi,
con un approccio sistematico
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
COMPETENZE
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
COMPETENZE
 Saper distinguere all’interno di un problema:
tra variabili e costanti
tra dati e azioni
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
COMPETENZE
 Saper distinguere all’interno di un problema:
tra variabili e costanti
tra dati e azioni
 Riconoscere le caratteristiche fondamentali delle
istruzioni che possono comporre un algoritmo
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
COMPETENZE
 Saper distinguere all’interno di un problema:
tra variabili e costanti
tra dati e azioni
 Riconoscere le caratteristiche fondamentali delle
istruzioni che possono comporre un algoritmo
 Saper distinguere tra i concetti
algoritmo, processo
istruzione, azione
programmatore, processore
processore, utente
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
COMPETENZE
 Saper distinguere all’interno di un problema:
tra variabili e costanti
tra dati e azioni
 Riconoscere le caratteristiche fondamentali delle
istruzioni che possono comporre un algoritmo
 Saper distinguere tra i concetti
algoritmo, processo
istruzione, azione
programmatore, processore
processore, utente
 Rappresentare con i diagrammi a blocchi e con la
pseudocodifica semplici algoritmi
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
CONOSCENZE – ABILITA’
Conoscenze
Abilità
Sissis – Indirizzo2 – Classe 42A
 definizione di algoritmo e le
caratteristiche fondamentali delle istruzioni
lo compongono
 funzione delle operazioni di input e
output
 operazioni fondamentali svolte da un
generico esecutore e, in particolare, da un
elaboratore
 elementi fondamentali delle tecniche di
descrizione di un algoritmo
Definire semplici algoritmi di tipo sequenziale
rappresentandoli secondo il seguente schema
predefinito:
 individuazione dei dati di input e output
 individuazione delle variabili di lavoro
 individuazione della sequenza delle azioni
da compiere
Catania 28/11/2002
DIQUATTRO EMANUELA
STRUMENTI, ATTIVITA’
DIDATTICHE
ATTIVITÀ DIDATTICHE
STRUMENTI
Sissis – Indirizzo2 – Classe 42A
Lezioni frontale in classe
Lezione dialogata
Esercitazione di gruppo
Libri di testo
Presentazioni multimediali
Lavagna luminosa
Video Proiettore
Catania 28/11/2002
DIQUATTRO EMANUELA
TEMPI
TEMPI
Sissis – Indirizzo2 – Classe 42A
3 SETTIMANE
Catania 28/11/2002
DIQUATTRO EMANUELA
TEMPI
TEMPI
18 ORE
LEZIONE FRONTALE
ESERCITAZIONI
VERIFICHE
10 ORE
5 ORE
3 ORE
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
VERIFICHE - VALUTAZIONE
 Verifica Diagnostica: test V/F e a scelta multipla per
verificare l’apprendimento dei concetti e delle nozioni
• Verifica In Itinere: Esercizi sulla definizione di semplici
algoritmi sequenziali
• Verifica Finale: Test a scelta multipla ed esercizi sulla
formulazione di alcuni algoritmi per problemi dati
VALUTAZIONE FINALE (SOMMATIVA) con ausilio di
griglia di valutazione
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
DIQUATTRO EMANUELA
VERIFICHE - VALUTAZIONE
 Verifica Diagnostica: test V/F e a scelta multipla per
verificare l’apprendimento dei concetti e delle nozioni
(1 ORA)
• Verifica In Itinere: Esercizi sulla definizione di semplici
algoritmi sequenziali (1 ORA)
• Verifica Finale: Test a scelta multipla ed esercizi sulla
formulazione di alcuni algoritmi per problemi dati (1 ORA)
VALUTAZIONE FINALE (SOMMATIVA) con ausilio di
griglia di valutazione
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
DAL PROGRAMMA
ALL’ALGORITMO
MODELLO: rappresentazione semplificata, schematica di una realtà osservata.
In particolare un modello permette attraverso processi di formalizzazione,
l’individuazione delle caratteristiche principali della realtà osservata.
Queste caratteristiche rappresentano delle entità astratte.
Entità
Registrabili in memoria
Relazionabili tra di loro
Trasferimento di un problema
su un sistema di elaborazione
Sissis – Indirizzo2 – Classe 42A
Implementazione
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
VARIABILI E COSTANTI
Rappresentare la realtà osservata in modo semplificato attraverso un modello
significa individuare le entità che sono caratteristiche.
Ogni entità può essere presente con diversi esemplari, a cui associamo i diversi
valori che possono essere assunti dall’entità.
Es. 1: ATTIVITA’ FATTURAZIONE
Il cliente a cui è intestata la fatturazione
Entità
Il prodotto che viene venduto
La fattura
ATTRIBUTI DELL’ENTITA’: elementi che rappresentano e specificano l’entità.
Se questi elementi assumono valori diversi per entità, essi sono definiti VARIABILI.
Es. 1: ATTIVITA’ FATTURAZIONE
Entità cliente
Sissis – Indirizzo2 – Classe 42A
Il nome, l’indirizzo, la città dove risiede, il numero di
partita IVA
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
VARIABILI E COSTANTI
h
r
A = r²  
b
A= b  h
Gli attributi che assumono sempre lo stesso valore vengono
definiti COSTANTI
I nomi che diamo alle variabili o alle costanti, per distinguerli
all’interno del modello vengono detti IDENTIFICATORI
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
DATI E AZIONI
I dati dono i valori assunti dagli attributi degli elementi che caratterizzano il
problema, rappresentati con variabili e costanti.
Le azioni sono le attività che mettendo i dati in relazione tra loro, consentono
di ottenere i risultati desiderati.
I dati possono essere:
a) Elementari
numerici
alfabetici
alfanumerici (Stringhe)
b) Non Elementari (insieme di
dati elementari
Sissis – Indirizzo2 – Classe 42A
Le azioni possono essere
riconducibili ad operazioni:
• tipo aritmetico
• tipo logico
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
DATI E AZIONI
Esempio: Esaminare un elenco di presone, con nome e anno di nascita, contare le
presone più di vent’anni di età, e fornire alla fine il risultato del conteggio
Nome
DATI
• Nome
• Anno di nascita
• Età delle persone
• Età minima(20 anni)
• Risultato del conteggio
Sissis – Indirizzo2 – Classe 42A
Anno
AZIONI
• Esaminare l’elenco
• Contare le persone
• Fornire il risultato
• Calcolo dell’età Età = AnnoAttuale
– Anno i Nascita
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
DATI E AZIONI
Variabile o
costante
Identificatore
Descrizione
Tipo
Nome
Variabile
Nome della persona
Alfabetico
Anno di nascita
Variabile
Anno di nascita della
persona
Numerico
Età
Variabile
Età della persona
Numerico
Età minima
Costante
Età minima per il controllo
Numerico
Anno attuale
Costante
Anno in corso
Numerico
Contatore
Variabile
Risultato del conteggio
Numerico
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
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
3) Risultati da ottenere
4) Stabilire come rintracciare e
raccogliere tutte le risorse che
possono essere utili
Seconda fase:
1) Definizione delle azioni da
intraprendere
2) Definizione dell’esatta sequenza
delle azioni da compiere per
ottenere la soluzione
Esempio: Tenuta del bilancio familiare
I dati iniziali sono costituiti dalla lista dettagliata delle entrate e delle uscite, i risultati attesi sono
il rendiconto dei tipi di spesa effettuate e del tipo di entrate godute.
Il criterio di calcolo e di aggregazione delle entrate e delle uscite costituisce il procedimento
risolutivo del problema.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
METODOLOGIA DI LAVORO
Descrizione del problema
Sissis – Indirizzo2 – Classe 42A
Dati che servono, ovvero i dati
iniziali.I dati iniziali sono detti dati
d’ingresso o dati in input.
Risultati da ottenere o dati in output.
Risorse logiche e fisiche a
disposizione.
Le soluzioni adottate
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
METODOLOGIA DI LAVORO
Descrizione del problema
Stesura dell’algoritmo
Sissis – Indirizzo2 – Classe 42A
L’individuazione di questi elementi
costituisce l’analisi del problema.
La soluzione del problema deve essere
organizzata e sviluppata in una serie
di operazioni da attuare secondo un
ben definito ordine, che permette di
giungere ai risultati attesi a partire
dai dati iniziali.
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
METODOLOGIA DI LAVORO
Descrizione del problema
Stesura dell’algoritmo
Sissis – Indirizzo2 – Classe 42A
L’individuazione di questi elementi
costituisce l’analisi del problema.
La scomposizione del procedimento
risolutivo di un problema, in una
sequenza di operazioni elementari da
seguire per ottenere i risultati attesi,
costituisce la stesura dell’algoritmo
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
ALGORITMI
Un algoritmo è una descrizione di un insieme finito di passi, che
devono essere eseguite per portare a termine un dato compito e
per raggiungere un risultato definito.
Esempi di algoritmo possono essere:
Le istruzioni per l’utilizzo di un elettrodomestico
Le regole per eseguire la divisione tra due numeri
ESECUTORE
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
ALGORITMI
Ogni istruzione deve essere concretamente realizzabile
dall’esecutore
Le istruzioni devono essere precise e non ambigue
Ogni istruzione deve essere eseguita in un
tempo finito
Ogni istruzione eseguita deve produrre un risultato
osservabile
Ogni istruzione deve avere un carattere deterministico
Le istruzioni devono essere elementari
Un algoritmo è una descrizione completa, univoca e esaustiva di
un insieme finito di operazioni elementari, interpretabili e
riproducibili dal nostro esecutore, che permette di raggiungere
lo scopo del processo in un tempo ragionevole.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
ESEMPIO DI ALGORITMO
Deve
Dati che servono
Contattare telefonicamente una
serie di persone a cui deve
lasciare un messaggio
 L’elenco delle persone con il nome e il numero di
telefono
 Il messaggio da comunicare
Risultati
 L’elenco delle persone con l’indicazione per ciascuna
dell’esito della telefonata
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
ESEMPIO DI ALGORITMO
Deve
Contattare telefonicamente una
serie di persone a cui deve
lasciare un messaggio
Algoritmo
leggi il numero telefonico
componi il numero
a seconda della situazione che si presenta scrivi sull’elenco:
‘occupato’, ‘ numero errato’ o ‘OK’
ripeti le operazioni precedenti finchè le persone sono finite.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
GLI ELEMENTI DI UNA
APPLICAZIONE
Un ‘azione è un evento che si compie in un intervallo di tempo finito e che produce un
risultato un effetto, previsto e ben determinato.
Ogni azione modifica lo stato di qualche oggetto e questo e riconoscibile dal
cambiamento di stato dell’oggetto. Per descrivere un’azione abbiamo bisogno di un
Linguaggio e la descrizione di una azione è della Istruzione.
Elementare
Un’istruzione
Composta
Detta
ALGORITMO
Descrive
Azione Composta
Sissis – Indirizzo2 – Classe 42A
Chiamata
ESECUZIONE
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
GLI ELEMENTI DI UNA
APPLICAZIONE
ALGORITMO
ISTRUZIONE
Sissis – Indirizzo2 – Classe 42A
PROCESSO
AZIONE
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
GLI ELEMENTI DI UNA
APPLICAZIONE
 Il programmatore ovvero colui che organizza, prepara e scrive
l’algoritmo
 L’utente ovvero la persona che attiva l’esecuzione
dell’algoritmo e che interagisce con l’esecutore per fornirgli i dati
iniziali e per riutilizzare i risultati finali
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
GLI ELEMENTI DI UNA
APPLICAZIONE
Scrive
Consegna a
algoritmo
Programmatore
Esecutore
Utente
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
GLI ELEMENTI DI UNA
APPLICAZIONE
Scrive
Carica nel
programma
Programmatore
Computer
Utente
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
ACQUISIRE E COMUNICARE I
DATI
Dati iniziali
Input
Dati input
Soluzione
adottata
Algoritmo
Esecutore
Risultati attesi
Output
Dati output
Ci possono essere delle variabili, che non sono nè di input nè di output, ma che sono
necessarie all’elaborazione e che vengono dette Variabili di Lavoro.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
ACQUISIRE E COMUNICARE I
DATI
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,
per cui è 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.
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
CARATTERISTICHE FONDAMENTALE
DI UN ESECUTORE
Un’azione fondamentale presente in un processo eseguito da un
calcolatore è l’assegnamento.
V9
VE
E
Espressione, cioè una formula che specifica
sempre un valore.
Ogni espressione è composta da operandi e
operatori
Gli operandi possono essere costanti, espressioni o variabili
Gli operatori possono essere di tre tipi: aritmetici, di relazione e logici
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
CARATTERISTICHE FONDAMENTALE
DI UN ESECUTORE
Operatori aritmetici
+
addizione
-
sottrazione
*
moltiplicazione
div
Divisione tra numeri interi
/
Divisione tra numeri reali
mod
^
Calcolo del resto della divisione tra interi
Elevamento a potenza
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
CARATTERISTICHE FONDAMENTALE
DI UN ESECUTORE
Operatori di relazione
<
Minore di
<=
Minore o uguale di
>
Maggiore
>=
Maggiore o uguale di
<>
Diverso
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
CARATTERISTICHE FONDAMENTALE
DI UN ESECUTORE
Operatori logici
And
Per il prodotto logico (congiunzione)
Or
Per la somma logica (disgiunzione)
Not
Per la negazione
Xor
Per l’OR esclusivo
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
DIAGRAMMA A BLOCCHI
Il metodo dei diagrammi a blocchi consiste in una descrizione
grafica; 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,
ciascuna con un proprio significato; all’interno di ogni simbolo e
presente un breve testo sintetico. Linee orientate con frecce, che
uniscono fra loro i vari simboli, indicano il flusso delle operazioni.
Inizio
Fine
Condizione
commento
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
LA PSEUDOCODIFICA
La pseudocodifica è la descrizione di un algoritmo ottenuta utilizzando
termini e parole del linguaggio comune, ma applicando una serie di regole
che permettono di organizzare un tipo di testo formalmente rigoroso e
strettamente orientato alla stesura degli algoritmi.
La pseudocodifica utilizza delle regole per strutturare il testo:
 Le parole chiavi che aprono e chiudono il testo di un algoritmo sono
INIZIO e FINE. Altre parole chiavi sono A, ALLORA, ALTRIMENTI, CASO,
DA, DI, ESEGUI, FINCHE’, MENTRE, PASSO, PER, RIPETI, SE.
 Ogni istruzione è indicata con una frase del linguaggio corrente e può
contenere un’espressione di tipo aritmetico o logico
 Le istruzioni leggi(lista di variabili) e scrivi(variabili e costanti) vengono
utilizzate per descrivere le operazione di immissione ed emissione dei dati
 La richiesta all’utente per acquisire i dati necessari all’elaborazione può
essere indicata con chiedi(lista dei dati che servono)
 Le variabili, le costanti vengono indicate da parole in minuscolo dette
identificatori
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
ESEMPIO
h
b
A= b  h
Algoritmo rettangolo
Dati input
Base e altezza del rettangolo
Dati output
 Area del rettangolo
INIZIO
Chiedi(base, altezza)
Leggi(base, altezza)
Area  base * altezza
Scrivi area
FINE
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 2: DAL PROBLEMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
ESEMPIO
Inizio
h
Chiedi base, altezza
b
A= b  h
Leggi base altezza
Dati input
Base e altezza del rettangolo
Dati output
 Area del rettangolo
Area base * altezza
Scrivi area
Fine
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002
UNITA’ DIDATTICA 1: DAL PROGRAMMA
ALL’ALGORITMO
DIQUATTRO EMANUELA
FINE
Sissis – Indirizzo2 – Classe 42A
Catania 28/11/2002