Modulo 1: Problemi e Programmi

Slides:



Advertisements
Presentazioni simili
Scomposizione funzionale
Advertisements

© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
Linguaggi algoritmici
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
Fondamenti di Informatica
Dall’Algoritmo al Programma
Fondamenti di Informatica
1 Istruzioni, algoritmi, linguaggi. 2 Algoritmo per il calcolo delle radici reali di unequazione di 2 o grado Data lequazione ax 2 +bx+c=0, quali sono.
Il computer ragiona? Problemi e algoritmi.
Iterazione enumerativa (for)
Informatica Problema Algoritmo Programma
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Definizione di Algoritmo
Introduzione alla programmazione ll
Introduzione alla programmazione l
DAL PROBLEMA ALL'ALGORITMO Problemi e Programmi Paolo Amico
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
Modelli simulativi per le Scienze Cognitive
Modulo 1: Problemi e Programmi
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
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.
Problemi e algoritmi. I problemi È un quesito che attende una risposta detta soluzione Ma come trovare la soluzione? Spesso si ricorre a tentativi fino.
Elementi di Informatica
Elementi di Informatica
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
L’ingegneria del software
PROGRAMMAZIONE: linguaggi
IPOTESI DI LAVORO GRUPPO n° 3: LEO, RIBATTEZZATO, ROSSI, SCIANGUETTA
BIOINFO3 - Lezione 15 ISTRUZIONI
ECDL Patente europea del computer
COME RAGIONA UN COMPUTER
Linguaggi algoritmici
Dal problema all’ algoritmo
Rappresentazione degli algoritmi
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Che cos’è un algoritmo? La vita di tutti i giorni è scandita da sequenze di azioni che compiamo automaticamente nell’ ordine esatto.
Algoritmi.
Realizzazione software
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Diagrammi a blocchi.
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Progettazione degli algoritmi
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.
Università degli Studi di Perugia 20/09/2015Informatica applicata all’educazione a.a Informatica applicata all’educazione a.a Corso.
Programmazione dei Calcolatori Elettronici
Dal problema al programma
Strutture di controllo
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Quadro di Riferimento INVALSI: elementi di confronto e continuità fra ordini di scuola.
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.
Transcript della presentazione:

Modulo 1: Problemi e Programmi DAL PROBLEMA ALL'ALGORITMO

CARATTERISTICHE TEMPO Modulo1: Dal problema All’algoritmo Modulo2: Dall’ algoritmo ai Programmi STUDENTI DELTERZO ANNO, DI UNA SCUOLA SECONDARIA DI UN ISTITUTO INDUSTRIALE AD INDIRIZZO INFORMATICO 3 Settimane per la prima unità didattica TEMPO 5 Settimane per la seconda unità didattica

PREREQUISITI Formalizzazione di problemi di matematica e fisica 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

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 Rappresentare con i diagrammi a blocchi e con la pseudocodifica semplici algoritmi

CONOSCENZE – ABILITA’ Conoscenze 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 Conoscenze 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 Abilità

STRUMENTI, ATTIVITA’ DIDATTICHE Lezioni frontale in classe Lezione dialogata Esercitazione di gruppo ATTIVITÀ DIDATTICHE Libri di testo Presentazioni multimediali Lavagna luminosa Video Proiettore STRUMENTI

TEMPI 3 SETTIMANE TEMPI 18 ORE LEZIONE FRONTALE ESERCITAZIONI VERIFICHE 10 ORE 5 ORE 3 ORE

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

DAL PROGRAMMA ALL’ALGORITMO UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO 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. Registrabili in memoria Entità Relazionabili tra di loro Trasferimento di un problema su un sistema di elaborazione Implementazione

UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO VARIABILI 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à. 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. 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/2 A = r²   r h 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

UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO DATI 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 possono essere: Elementari numerici alfabetici alfanumerici (Stringhe) Non Elementari (insieme di dati elementari) Le azioni possono essere riconducibili ad operazioni: tipo aritmetico tipo logico

UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO DATI E AZIONI 2/3 Esempio: 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 Nome Anno di nascita Età delle persone Età minima(20 anni) Risultato del conteggio Esaminare l’elenco Contare le persone Fornire il risultato Calcolo dell’età Età = AnnoAttuale – Anno i Nascita DATI AZIONI

DATI E AZIONI 3/3 Identificatore Variabile o costante Descrizione Tipo UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO DATI E AZIONI 3/3 Identificatore Variabile o costante Descrizione Tipo Nome Variabile Nome della persona Alfabetico Anno di nascita Anno di nascita della persona Numerico Età Età della persona Età minima Costante Età minima per il controllo Anno attuale Anno in corso Contatore Risultato del conteggio

METODOLOGIA DI LAVORO 1/4 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO METODOLOGIA DI LAVORO 1/4 Risoluzione di un problema Prima fase: Definizione del problema Descrizione dei dati che sono coinvolti, distinguendo quelli che abbiamo a disposizione Risultati da ottenere Stabilire come rintracciare e raccogliere tutte le risorse che possono essere utili Seconda fase: Definizione delle azioni da intraprendere 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.

METODOLOGIA DI LAVORO 2/4 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO METODOLOGIA 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

METODOLOGIA DI LAVORO 3/4 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO METODOLOGIA DI LAVORO 3/4 L’individuazione di questi elementi costituisce l’analisi del problema. Descrizione 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. Stesura dell’algoritmo

METODOLOGIA DI LAVORO 4/4 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO METODOLOGIA DI LAVORO 4/4 L’individuazione di questi elementi costituisce l’analisi del problema. Descrizione 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 Stesura dell’algoritmo

UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO ALGORITMI 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. Esempi di algoritmo possono essere: Le istruzioni per l’utilizzo di un elettrodomestico Le regole per eseguire la divisione tra due numeri ESECUTORE

UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO ALGORITMI 2/2 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 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.

UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO ESEMPIO DI ALGORITMO 1/2 Deve Contattare telefonicamente una serie di persone a cui deve lasciare un messaggio Dati che servono 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

UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO ESEMPIO 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.

GLI ELEMENTI DI UNA APPLICAZIONE 1/2 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO GLI ELEMENTI DI UNA APPLICAZIONE 1/2 Programmatore Scrive algoritmo Consegna a Esecutore Utente

GLI ELEMENTI DI UNA APPLICAZIONE 2/2 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO GLI ELEMENTI DI UNA APPLICAZIONE 2/2 programma Programmatore Scrive Carica nel Computer Utente

ACQUISIRE E COMUNICARE I DATI 1/2 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO ACQUISIRE E COMUNICARE I DATI 1/2 Soluzione adottata Algoritmo Dati iniziali Input Risultati attesi Output Esecutore utilizzatore Dati input 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.

ACQUISIRE E COMUNICARE I DATI 2/2 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO ACQUISIRE E COMUNICARE I DATI 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 Per il calcolo del perimetro abbiamo bisogno dell’ipotenusa, che possiamo calcolare a partire dai cateti, per cui è una variabile di lavoro Risultato finale: perimetro 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.

CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 1/4 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 1/4 Un’azione fondamentale presente in un processo eseguito da un calcolatore è l’assegnamento. V  9 V  E Espressione, cioè una formula che specifica sempre un valore. Ogni espressione è composta da operandi e operatori E Gli operandi possono essere costanti, espressioni o variabili Gli operatori possono essere di tre tipi: aritmetici, di relazione e logici

CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 2/4 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO CARATTERISTICHE FONDAMENTALE DI 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

CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 3/4 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 3/4 Operatori di relazione < Minore di <= Minore o uguale di > Maggiore >= Maggiore o uguale di <> Diverso

CARATTERISTICHE FONDAMENTALE DI UN ESECUTORE 4/4 UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO CARATTERISTICHE FONDAMENTALE DI 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 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. end istruzioni I/O start sì no condizione condizione sottoprogramma elaborazione

Assegnamento ed istruzioni aritmetico-logiche DIAGRAMMA A BLOCCHI 2/4 Assegnamento ed istruzioni aritmetico-logiche A=5 A=A+1 sì A=5 no Istruzioni di I/O leggi A scrivi A

Strutture di controllo DIAGRAMMA A BLOCCHI 3/4 Strutture di controllo CONDIZIONE A DUE VIE sì no condizione blocco 1 blocco 2

DIAGRAMMA A BLOCCHI 4/4 Strutture di controllo ITERAZIONE: CICLO A CONDIZIONE INIZIALE sì condizione 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

UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO 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

LA PSEUDOCODIFICA Strutture di controllo Strutture di controllo CONDIZIONE A DUE VIE se condizione { /* blocco 1 */ ... } altrimenti /* blocco 2 */ Strutture di controllo ITERAZIONE: CICLO A CONDIZIONE INIZIALE finchè condizione { /* blocco istruzioni */ ... }

ESEMPIO Algoritmo rettangolo h b A= b  h Dati input UNITA’ DIDATTICA 1: DAL PROBLEMA ALL’ALGORITMO ESEMPIO h b A= b  h Dati input Algoritmo rettangolo Base e altezza del rettangolo INIZIO Chiedi(base, altezza) Leggi(base, altezza) Area  base * altezza Scrivi area Dati output Area del rettangolo FINE

ESEMPIO Inizio h b A= b  h Dati input Base e altezza del rettangolo UNITA’ DIDATTICA 2: DAL PROBLEMA ALL’ALGORITMO ESEMPIO h b A= b  h Inizio Chiedi base, altezza Leggi base altezza Dati input Base e altezza del rettangolo Area base * altezza Dati output Scrivi area Area del rettangolo Fine

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