Transcript Algoritmo

Sarebbe più appropriato chiamare il computer “ELABORATORE”, perché se noi gli forniamo
dei dati e lui ce li restituisce trasformati ossia elaborati.
Più precisamente il computer è definito:
Elaboratore Elettronico Digitale Logico.
Per capire meglio possiamo immaginare che un FRULLATORE sia il nostro
ELABORATORE, se noi inseriamo un frutto e del latte (DATI) questi vengono trasformati in
una gradevole bevanda (INFORMAZIONI).
+
MACCHINA
‘‘ELABORATORE’’
=
DATI
Prof. ssa Rossella D’Imporzano
DATI ELABORATI
‘‘INFORMAZIONE’’
1
Il computer è un ‘‘blocco’’ che riceve dall’esterno delle
informazioni (INPUT), effettua un’elaborazione e
restituisce dei risultati (OUTPUT).
Dati in
ingresso
Elaborazione
Guardando l’esempio precedente
(INPUT) sono fragola, latte e
zucchero (dati) (OUTPUT) è il
frappè (elaborato)
Risultati
in Uscita
Algoritmo = insieme delle operazioni
La sequenza di istruzioni che si
compiono per ottenere il risultato
è l’algoritmo
elementari che bisogna compiere per risolvere
un problema.
Es. Devo far arrivare un compagno alla porta;
l’algoritmo sarà:
• Vai avanti di 3 passi
• Gira a destra di 90°
• Vai avanti di 5 passi
Prof. ssa Rossella D’Imporzano
2
Il Pc risolve un problema applicando
un ALGORITMO seguendo 3 FASI:
FASE 1 Si determinano i dati iniziali del
problema
FASE 2 I dati vengono elaborati con
una successione finita di
istruzioni che sono eseguite dal
pc (algoritmo)
FASE 3 Il lavoro del PC produce dei
RISULTATI
‘‘CREARE UN PROGRAMMA VUOL DIRE
DARE DELLE ISTRUZIONI CHE IL PC
DEVE ESEGUIRE; LA SEQUENZA DELLE
ISTRUZIONE È L’ALGORITMO’’
Le istruzioni di un algoritmo devono essere:
• ben precise (principio di non ambiguità)
• Elementari, cioè non scomponibili
ulteriormente (principio di atomicità)
• In numero finito (principio di
determinazione)
Dati in
ingresso
Elaborazione
Risultati
in Uscita
• Tali da portare ad un unico risultato
(principio di determinismo)
Prof. ssa Rossella D’Imporzano
3
Programmazione su Carta a Quadretti
SIMBOLI PER LA PROGRAMMAZIONE
POSSO DARE QUESTE ISTRUZIONI ATTRAVERSO
DEI SIMBOLI (LINEE, FRECCE, BLOCCHI).
Vai avanti di una casella
Vai indietro di una casella
QUESTI SIMBOLI LETTI IN
DEFINISCONO L’ALGORITMO.
SUCCESSIONE
Vai in alto di una casella
Cioè il procedimento preciso che porta alla
risoluzione di un problema in un numero finito di
passi.
Vai in basso di una casella
Passa al colore successivo
Un problema risolvibile con 1 algoritmo si dice
COMPUTABILE.
Riempi la casella con il colore
Prof. ssa Rossella D’Imporzano
4
QUADRATO (7quadretti x 7quadretti) e ELABORA
il seguente algoritmo (simboli in successione).
ALGORITMO
avanti, riempi, avanti, avanti, avanti, riempi, avanti, vai in basso, (indietro)6,
riempi, avanti, riempi, avanti, riempi, avanti, avanti, riempi, avanti, riempi, avanti,
riempi, vai in basso, (indietro)6, riempi, avanti, riempi, avanti, riempi, avanti,
riempi, avanti, riempi, avanti, riempi, avanti, riempi, vai in basso, (indietro)6,
riempi, avanti, riempi, avanti, riempi, avanti, riempi, avanti, riempi, avanti, riempi,
avanti, riempi, vai in basso, (indietro)6, avanti, avanti, riempi, avanti, riempi,
avanti, riempi, avanti, riempi, avanti, riempi, avanti, (indietro)6, avanti, avanti,
avanti, riempi, avanti, riempi, avanti, riempi, avanti, avanti, (indietro)6, avanti,
avanti, avanti, avanti, riempi, avanti, avanti, avanti
5
ALGORITMO
(
(
(
(
( )3
( )4
)3 (
)6
)6
)5
(
(
Prof. ssa Rossella D’Imporzano
( )6
)3 ( )6
( )6
( )6
( )6
)3
( )6
)3
6
ELABORATO
prodotto:
(
(
(
(
( )3
( )4
)3 (
)6
)6
)5
(
(
Prof. ssa Rossella D’Imporzano
( )6
)3 ( )6
( )6
( )6
( )6
)3
( )6
)3
7
RICORDA… Un problema risolvibile con un algoritmo si dice
COMPUTABILE… ‘‘pensiero computazionale – Coding’’
Quando diamo informazioni ad un turista per arrivare in un luogo della nostra città; anche se siamo precisi diamo
per scontate molte informazioni perché confidiamo nell’intelligenza di chi ci ascolta; per esempio…vada dritto giri
alla prima a destra ed è arrivato…in realtà dopo che ha girato per raggiungere l’obiettivo (es. museo) deve andare
ancora dritto…se avessimo fornite le stesse informazioni ad una ‘‘macchina’’ questa girava l’angolo ma poi si
fermava senza raggiungere l’obiettivo anche se era davanti a lui. alla macchina dobbiamo dare tutte le
informazioni e queste devono essere:
•
•
•
•
PRECISE
NON INTERPRETABILI
NON AMBIGUE
SI DEVE DIRE TUTTO; NON DARE PER SCONTATO NULLA
Ecco perché il pensiero computazionale deve essere un fine per tutti; perché aiuta a sviluppare una facoltà mentale,
l’abilità di ragionare in modo algoritmico per trovare UNA SOLUZIONE RIGOROSA A DEI PROBLEMI
COMPLESSI.
È considerata la 4a ABILITÀ di BASE e come le altre competenze (leggere, scrivere e fare di conto) ci permette di
vivere ‘‘ meglio’’ assieme agli altri non dobbiamo per forza farla diventare il nostro lavoro…mi spiego; tutti sappiamo
scrivere ma non tutti diventiamo scrittori...e questo vale pure per il CODING ANCHE LUI DEVE DIVENTARE DI
DOMINIO PUBBLICO anche se non diventeremo tutti programmatori.
Prof. ssa Rossella D’Imporzano
8
Un qualsiasi ALGORITMO può essere rappresentato tramite un
DIAGRAMMA DI FLUSSO (Flow chart).
Sono sequenze di azioni che non si possono scomporre che bisogna compiere per raggiungere un
risultato; per esempio QUESTA SEQUENZA è un ALGORITMO
(deriva dal nome di un matematico Persiano Muhammad ibn Mūsa ‘l-Khwarizmi);
per il pc è rappresentato da un PROGRAMMA che rappresenta una precisa sequenza di istruzioni.
1. Ti svegli
7. Vai alla fermata dell’autobus
2. Fai colazione
8. Aspetti l’autobus
3. Prepari lo zaino
9. Sali sull’autobus
4. Ti vesti
10. Scendi dall’autobus
5. Prendi lo zaino
11. Entri a scuola
6. Esci di casa
per il pc è rappresentato da un PROGRAMMA che rappresenta una precisa sequenza di istruzioni.
Il nome ALGORITMO deriva da una serie di INTERRUTTORI ed è una sequenza FINITA di operazioni;
e per rappresentarlo in modo efficace sono stati sviluppati dei modelli grafici:
i diagrammi di Flusso (Flow chart).
Prof. ssa Rossella D’Imporzano
9
Possiamo esprimere graficamente un algoritmo con 1 DIAGRAMMA di FLUSSO (flow Chart) avente un
INIZIO START e una FINE STOP ossia la sequenza di azioni che si compiono con BLOCCHI uniti da linee orientate.
Il Pc applica un algoritmo ai dati che andiamo a inserire seguendo queste fasi:
INIZIO
Fai colazione
I dati entrano
nel computer
I dati vengono
elaborati
I dati escono elaborati
dal computer
Prepari lo zaino
Scegli e indossi i vestiti




Tastiera
Mouse
Tastiera
Mouse


Tastiera
Mouse
Prendi lo zaino e il necessario per la giornata
Esci di casa
Raggiungi la fermata dell’autobus
Attendi l’arrivo dell’autobus
Sali sull’autobus
Scendi dall’autobus alla fermata della scuola
Entri a scuola
FINE
INPUT
I dati sono elaborati
dal ‘‘cervello’’ del PC;
dalla CPU
OUTPUT
Monitor e stampante
Central Processing Unit
MICROPROCESSORE
Il Diagramma è una rappresentazione GRAFICA SIMBOLICA dei
dati (informazioni) il Diagramma di Flusso illustra l’ALGORITMO
Prof. ssa Rossella D’Imporzano
10
I dati (informazioni) sono elaborate dal ‘‘cervello’’ del PC il microprocessore
o CPU (Central Processing Unit - Unità Centrale di Elaborazione)
Una ALU (Arithmetic and Logic Unit - Unità Aritmetico-Logica) che si
occupa di eseguire le operazioni logiche e aritmetiche.
La CPU contiene
Una CU (Control Unit - Unità di Controllo) che esegue operazioni
finalizzate al trasferimento dati o al controllo dell’esecuzione dei
programmi.
Dei registri dispositivi di memorizzazione usati per le elaborazioni interne
alla CPU.
Diverse linee interne (bus) che si occupano di collegare registri, ALU, unità
di controllo e gestiscono le comunicazioni con l’esterno.
Questo ‘‘cervello’’ del pc rappresenta l’HARDWARE
Per poter funzionare utilizza il SOFTWARE (‘‘il pensiero’’ che spiega come seguire le informazioni)
un insieme di programmi che possiamo paragonare al ‘‘pensiero’’ del pc ed è un
ALGORITMO COMPLESSO.
Prof. ssa Rossella D’Imporzano
11
I diagrammi di flusso (flow chart)
rappresentano graficamente il
flusso di un algoritmo e devono
sempre avere:
• un blocco iniziale
• il blocco di elaborazione
• un blocco finale
FORME PRINCIPALI DI UN FLOW CHART
AZIONE
FORMA CORRISPONDENTE
INIZIO E FINE PROCESSO (START –
STOP)
INSERIMENTO DATI
Per leggere un diagramma:
1. si parte dal blocco iniziale
2. si esegue la freccia in uscita
3. si raggiunge il blocco
successivo e si esegue
l’operazione indicata
4. si prosegue in questo modo
fino a quando si raggiunge il
blocco finale.
ELABORAZIONE DATI
DECISIONE (IF…THEN)
ELABORAZIONE ALTERNATIVA
Prof. ssa Rossella D’Imporzano
12
DIAGRAMMA di FLUSSO
(flow chart - diagramma a blocchi - diagramma logico)
FORMA
SIGNIFICATO
BLOCCO INIZIALE – BLOCCO FINALE
BLOCCO LETTURA DEI DATI
il computer legge i dati che l’uomo inserisce.
BLOCCO SCRITTURA DEI DATI
Il computer scrive i dati dopo che li ha
elaborati. Nel diagramma può essere presente
più
volte,
dipende
dalla
lunghezza
dell’algoritmo.
BLOCCO ELABORAZIONE DATI
Il computer elabora i dati. Nel diagramma può
essere presente più volte, dipende dalla
lunghezza dell’algoritmo.
BLOCCO SEZIONE – il computer deve
decidere tra due scelte (es. vero o falso) e poi
passa all’istruzione seguente. Questa forma
esprime l’espressione ‘‘se…allora’’.
Nel diagramma può essere presente più volte.
FRECCE – Le frecce sono importanti e
servono a indicare l’ordine di lettura delle
istruzioni.
Il diagramma di flusso è la rappresentazione chiara che ci
permette di rappresentare un Algoritmo.
Presenta sempre:
1. Un’istruzione iniziale (Ovale)
2. Le azioni di elaborazione
(parallelogramma - rettangolo - rombo;
ogni forma e colore ha 1 preciso significato)
3. Un’istruzione finale (Ovale)
Per leggere un diagramma di flusso basta seguire le frecce.
L’apertura
dell’algoritmo
La chiusura
dell’algoritmo
La lettura dei dati
d’ingresso (input)
Inizio
Fine
Leggi
Prof. ssa Rossella D’Imporzano
La comunicazione
dei messaggi e/o
dei risultati
(output)
Scrivi
L’assegnazione
dei dati e/o lo
svolgimento dei
calcoli
Il controllo del
valore di verità di
una condizione
Assegna
Condizione
13
INIZIO
Prendo il
cellulare
Cerco il numero
nella rubrica
Il rombo da la
possibilità di seguire
un percorso o un altro
(SCELTA)
Compongo il
numero
Attendo il
segnale di linea
È libero?
No
Si
Parlo con l’altra
persona
Termino la
conversazione
FINE
Prof. ssa Rossella D’Imporzano
14
INIZIO
INIZIO
Fai colazione
Prendo il cellulare
Prepari lo zaino
Apro un sms vuoto
Scegli e indossi i vestiti
NO
Sbaglio a
digitare
SI
Digito nuovamente
senza sbagliare
Prendi lo zaino e il necessario per la giornata
Scrivo il testo del messaggio
Esci di casa
Raggiungi la fermata dell’autobus
Seleziono il destinatario
Attendi l’arrivo dell’autobus
Invio
NO
L’autobus
è pieno
SI
FINE
Attendi l’arrivo
dell’autobus successivo
Sali sull’autobus
Scendi dall’autobus alla fermata della scuola
Entri a scuola
FINE
Rappresentazione Grafica di un problema;
si chiede di rappresentare una DECISIONE
un’opzione del tipo ‘‘se…allora’’ (IF…THEN)
Prof. ssa Rossella D’Imporzano
15