Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall...

42
Modulo 1: Modulo 1: Problemi e Programmi Problemi e Programmi

Transcript of Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall...

Page 1: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

Modulo 1:Modulo 1:Problemi e ProgrammiProblemi e Programmi

Page 2: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 3: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 4: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 5: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 6: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 7: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

TEMPITEMPI

TEMPITEMPI3 SETTIMANE3 SETTIMANE

18 ORE18 ORE

LEZIONE FRONTALE ESERCITAZIONI VERIFICHE

10 ORE 5 ORE 3 ORE

Page 8: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 9: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 10: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 11: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 12: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 13: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 14: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 15: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 16: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 17: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 18: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 19: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 20: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 21: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 22: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 23: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 24: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 25: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 26: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 27: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 28: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 29: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 30: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 31: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 32: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 33: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

Strutture di controllo

CONDIZIONE A DUE VIE

condizionesì

blocco 1

no

blocco 2

DIAGRAMMA A BLOCCHI 3/4DIAGRAMMA A BLOCCHI 3/4

Page 34: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 35: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 36: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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 */...

}

Page 37: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 38: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 39: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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.

Page 40: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

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

Page 41: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

Test 2/2

Il problema dei secchi: soluzione

4L 3L

Page 42: Modulo 1: Problemi e Programmi. CARATTERISTICHE Modulo1: Dal problema Allalgoritmo Modulo2: Dall algoritmo ai Programmi Modulo1: Dal problema Allalgoritmo.

UNITA’ DIDATTICA 1: DAL PROGRAMMA ALL’ALGORITMO

FINE