Modulo 1:Modulo 1:Problemi e ProgrammiProblemi e Programmi
CARATTERISTICHECARATTERISTICHE
Modulo1: Dal problema All’algoritmo
Modulo2: Dall’ algoritmo ai Programmi
Modulo1: Dal problema All’algoritmo
Modulo2: Dall’ algoritmo ai Programmi
STUDENTI DELTERZO ANNO, DI UNA SCUOLASECONDARIA DI UN ISTITUTO INDUSTRIALEAD INDIRIZZO INFORMATICO
TEMPOTEMPO3 Settimane per la prima unità didattica
5 Settimane per la seconda unità didattica
PREREQUISITIPREREQUISITI
1. Formalizzazione di problemi di matematica e fisica
2. Concetto di dato e d’informazione3. Concetto di modello e di sistema4. Concetto di Processo e Processore5. Strategie per la risoluzione dei
problemi, con un approccio sistematico
COMPETENZECOMPETENZE
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
Rappresentare con i diagrammi a blocchi e con la pseudocodifica semplici algoritmi
CONOSCENZE – ABILITA’CONOSCENZE – ABILITA’
ConoscenzeConoscenze
AbilitàAbilità
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
STRUMENTI, ATTIVITA’ STRUMENTI, ATTIVITA’ DIDATTICHEDIDATTICHE
ATTIVITÀ DIDATTICHE
STRUMENTI
Lezioni frontale in classe Lezione dialogata Esercitazione di gruppo
Libri di testo Presentazioni multimediali Lavagna luminosa Video Proiettore
TEMPITEMPI
TEMPITEMPI3 SETTIMANE3 SETTIMANE
18 ORE18 ORE
LEZIONE FRONTALE ESERCITAZIONI VERIFICHE
10 ORE 5 ORE 3 ORE
VERIFICHE - VALUTAZIONEVERIFICHE - 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
DAL PROGRAMMA DAL PROGRAMMA ALL’ALGORITMOALL’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.
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àEntitàRegistrabili in memoria
Relazionabili tra di loro
Trasferimento di un problema su un sistema di elaborazione
Trasferimento di un problema su un sistema di elaborazione ImplementazioneImplementazione
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
VARIABILI E COSTANTI 1/2VARIABILI E COSTANTI 1/2
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à.
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
Entità
Il cliente a cui è intestata la fatturazione
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.
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 Il nome, l’indirizzo, la città dove risiede, il numero di partita IVA
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
VARIABILI E COSTANTI 2/2VARIABILI E COSTANTI 2/2
h
bA= b h
Gli attributi che assumono sempre lo stesso valore vengono definiti COSTANTI
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
I nomi che diamo alle variabili o alle costanti, per distinguerli all’interno del modello vengono detti IDENTIFICATORI
A = r² r
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
DATI E AZIONI 1/3DATI E AZIONI 1/3
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 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)
I dati possono essere:a) Elementari numerici alfabetici alfanumerici (Stringhe)b) Non Elementari (insieme di
dati elementari)
Le azioni possono essere riconducibili ad operazioni:• tipo aritmetico• tipo logico
Le azioni possono essere riconducibili ad operazioni:• tipo aritmetico• tipo logico
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
DATI E AZIONI 2/3DATI E AZIONI 2/3Esempio: Esaminare un elenco di persone, con nome e anno di nascita, contare le presone più di vent’anni di età, e fornire alla fine il risultato del conteggio
Nome Anno
DATI
• Nome• Anno di nascita• Età delle persone• Età minima(20 anni)• Risultato del conteggio
AZIONI
• Esaminare l’elenco• Contare le persone• Fornire il risultato• Calcolo dell’età Età = AnnoAttuale – Anno i Nascita
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
DATI E AZIONI 3/3DATI E AZIONI 3/3
IdentificatoreVariabile o costante
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
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
METODOLOGIA DI LAVORO 1/4METODOLOGIA DI LAVORO 1/4
Risoluzione di un problemaRisoluzione di un problema
Prima fase:1) Definizione del problema2) Descrizione dei dati che sono
coinvolti, distinguendo quelli che abbiamo a disposizione
3) Risultati da ottenere4) Stabilire come rintracciare e
raccogliere tutte le risorse che possono essere utili
Prima fase:1) Definizione del problema2) Descrizione dei dati che sono
coinvolti, distinguendo quelli che abbiamo a disposizione
3) Risultati da ottenere4) Stabilire come rintracciare e
raccogliere tutte le risorse che possono essere utili
Seconda fase:1) Definizione delle azioni da
intraprendere2) Definizione dell’esatta sequenza
delle azioni da compiere per ottenere la soluzione
Seconda fase:1) Definizione delle azioni da
intraprendere2) Definizione dell’esatta sequenza
delle azioni da compiere per ottenere la soluzione
Esempio: Tenuta del bilancio familiareI 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.
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
METODOLOGIA DI LAVORO 2/4METODOLOGIA DI LAVORO 2/4
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
Descrizione del problema
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
METODOLOGIA DI LAVORO 3/4METODOLOGIA DI LAVORO 3/4
L’individuazione di questi elementi costituisce l’analisi del problema.
Descrizione del problema
Stesura dell’algoritmo
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.
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
METODOLOGIA DI LAVORO 4/4METODOLOGIA DI LAVORO 4/4
L’individuazione di questi elementi costituisce l’analisi del problema.
Descrizione del problema
Stesura dell’algoritmo
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
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
ALGORITMI 1/2ALGORITMI 1/2
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.
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 elettrodomesticoLe regole per eseguire la divisione tra due numeri
ESECUTOREESECUTORE
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
ALGORITMI 2/2ALGORITMI 2/2
Ogni istruzione eseguita deve produrre un risultato osservabile
Ogni istruzione deve essere eseguita in un tempo finito
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.
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.
Ogni istruzione deve essere concretamente realizzabile dall’esecutore
Le istruzioni devono essere precise e non ambigue
Ogni istruzione deve avere un carattere deterministico
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
ESEMPIO DI ALGORITMO 1/2ESEMPIO DI ALGORITMO 1/2
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
Deve
Dati che servono
Risultati L’elenco delle persone con l’indicazione per ciascuna dell’esito della telefonata
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
ESEMPIO DI ALGORITMO 2/2ESEMPIO DI ALGORITMO 2/2
Deve Contattare telefonicamente una serie di persone a cui deve lasciare un messaggio
Algoritmo
leggi il numero telefonico componi il numero in base alla situazione che si presenta scrivi sull’elenco: ‘occupato’, ‘ numero errato’ o ‘OK’ ripeti le operazioni precedenti finchè le persone sono finite.
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
GLI ELEMENTI DI UNA GLI ELEMENTI DI UNA APPLICAZIONE 1/2APPLICAZIONE 1/2
Programmatore
Scrive
algoritmo
Consegna a
Esecutore
Utente
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
GLI ELEMENTI DI UNA GLI ELEMENTI DI UNA APPLICAZIONE 2/2APPLICAZIONE 2/2
Carica nel
Scrive
Programmatore
programma
Computer
Utente
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
ACQUISIRE E COMUNICARE I ACQUISIRE E COMUNICARE I DATI 1/2DATI 1/2
Dati inizialiDati iniziali
Input
Soluzione adottata
Soluzione adottata
Algoritmo
Risultati attesiRisultati attesi
Output
Dati inputDati input Esecutore
utilizzatore
Esecutore
utilizzatore Dati outputDati 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.
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
ACQUISIRE E COMUNICARE I ACQUISIRE E COMUNICARE I DATI 2/2DATI 2/2
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.
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
CARATTERISTICHE FONDAMENTALE CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 1/4DI UN ESECUTORE 1/4
Un’azione fondamentale presente in un processo eseguito da un calcolatore è l’assegnamento.
V 9
V E
EEspressione, 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
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
CARATTERISTICHE FONDAMENTALE CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 2/4DI UN ESECUTORE 2/4
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
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
CARATTERISTICHE FONDAMENTALE CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 3/4DI UN ESECUTORE 3/4
Operatori di relazione
< Minore di
<= Minore o uguale di
> Maggiore
>= Maggiore o uguale di
<> Diverso
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
CARATTERISTICHE FONDAMENTALE CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 4/4DI UN ESECUTORE 4/4
Operatori logici
And Per il prodotto logico (congiunzione)
Or Per la somma logica (disgiunzione)
Not Per la negazione
Xor Per l’OR esclusivo
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
DIAGRAMMA A BLOCCHI 1/4 DIAGRAMMA A BLOCCHI 1/4 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.
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
startendistruzioni I/O
elaborazionecondizione
condizionesì no
sottoprogramma
Assegnamento ed istruzioni aritmetico-logiche
A=5 A=A+1 A=5sì no
Istruzioni di I/O
leggi A scrivi A
DIAGRAMMA A BLOCCHI 2/4DIAGRAMMA A BLOCCHI 2/4
Strutture di controllo
CONDIZIONE A DUE VIE
condizionesì
blocco 1
no
blocco 2
DIAGRAMMA A BLOCCHI 3/4DIAGRAMMA A BLOCCHI 3/4
Strutture di controllo
ITERAZIONE: CICLO A CONDIZIONE INIZIALE
condizionesì
blocco istruzioni
no
viene valutata prima la condizione di ciclo e poi EVENTUALMENTE entra nel blocco istruzioni
continua a ciclare fintanto che la condizione è vera. Esce dal ciclo quando la condizione è falsa
DIAGRAMMA A BLOCCHI 4/4DIAGRAMMA A BLOCCHI 4/4
LA PSEUDOCODIFICALA PSEUDOCODIFICALa 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
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
Strutture di controllo
CONDIZIONE A DUE VIE
se condizione{
/* blocco 1 */...
}altrimenti{
/* blocco 2 */...
}
LA PSEUDOCODIFICALA PSEUDOCODIFICA
Strutture di controllo
ITERAZIONE: CICLO A CONDIZIONE INIZIALE
finchè condizione{
/* blocco istruzioni */...
}
ESEMPIOESEMPIO
h
bA= b h
Dati input
Base e altezza del rettangolo
Dati output Area del rettangolo
Algoritmo rettangolo
INIZIO
Chiedi(base, altezza)Leggi(base, altezza)Area base * altezzaScrivi area
FINE
UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO
ESEMPIOESEMPIO
UNITA’ DIDATTICA 2: DAL PROBLEMA ALL’ALGORITMO
h
bA= b h
Dati input
Base e altezza del rettangolo
Dati output Area del rettangolo
Inizio Inizio
Fine Fine
Chiedi base, altezzaChiedi base, altezza
Leggi base altezzaLeggi base altezza
Scrivi areaScrivi area
Area base * altezzaArea base * altezza
Algoritmo: ricapitolando
L’algoritmo è una procedura effettiva che,
attraverso una sequenza finita di passi
definiti,
porta alla soluzione di una classe di problemi,
utilizzando dati iniziali
e pervenendo a dei risultati finali.
Test 1/2
Il problema dei secchi
Sono presenti due secchi con capacità volumetrica rispettivamente di 3 e 4 litri.
Determinare le operazioni necessarie per far si che il primo secchio (da 3 litri) sia riempito con 2 litri.
Possiamo agire sui due secchi attraverso le seguenti operazioni : - riempire completamente un secchio- svuotarlo completamente- travasare una certa quantità di liquido da un secchio all’altro
Test 2/2
Il problema dei secchi: soluzione
4L 3L
UNITA’ DIDATTICA 1: DAL PROGRAMMA ALL’ALGORITMO
FINE
Top Related