



Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Algoritmi e soluzione dei problemi. Formalizzare la soluzione di un problema individuando i dati e il procedimento risolutivo. Rappresentare l’algoritmo risolutivo di un problema in modo strutturato. - Fasi risolutive di un problema eloro rappresentazione - Concetto di algoritmo - Istruzioni che compongono unalgoritmo - Principi della programmazione strutturata
Tipologia: Schemi e mappe concettuali
1 / 5
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!




1. Modello del problema e implementazione La vita comune presenta problemi di differente natura: ognuno di essi però richiede una soluzione basata su un insieme di azioni che devono essere svolte in una certa sequenza. Esempi: - spesa fatta in più negozi - realizzazione di un piatto seguendo una ricetta - svolgimento di compiti a casa in un pomeriggio Analisi del problema: nell'affrontare un problema bisogna fare una analisi. Essa produce una rappresentazione semplificata della realtà, che ne evidenzia gli aspetti più importanti, trasformandoli in oggetti trattabili con operazioni: - manuali - mentali - automatizzate Modello del problema: è una forma di rappresentazione semplificata della realtà che tiene conto di tutti gli elementi determinanti per la risoluzione di un problema. Processo di formalizzazione: è il passaggio dal problema al modello. Individua gli elementi principali della realtà osservata trattando tali elementi come entità astratte. Queste entità devono avere due caratteristiche fondamentali: - devono essere registrabili in una memoria; - devono essere messe in relazione tra loro. Implementazione: indica la progettazione e il trasferimento della soluzione di un problema su un sistema di elaborazione. Formalizzazione del problema: è essenziale per poter trasferire la soluzione di un problema in una macchina che sia in grado di risolverlo in modo automatico (senza l'intervento dell’uomo). L'automazione di un'attività implica la necessità di studiare un sistema, rappresentare la realtà osservata in modo semplificato attraverso un modello, individuare, classificare e selezionare i dati. Per esempio, nello studio delle previsioni del tempo atmosferico si devono esaminare diverse entità: - il luogo al quale si riferiscono le previsioni - le grandezze fisiche che vengono misurate - la misurazione. Variabili: Hanno la proprietà di poter assumere valori diversi per misurazioni diverse. Costanti: proprietà che non cambiano considerando problemi con variabili diverse. Esempi di costanti in senso stretto sono il valore di pi-greco (3,14), che rappresenta il rapporto tra la circonferenza e il diametro di un cerchio, e in fisica la costante g (forza di gravità 9,81 N). 2. Dati e azioni La soluzione di un problema richiede: - la disponibilità dei dati necessari per effettuare i calcoli; - un insieme di azioni da svolgere per ottenere il risultato finale. Dati: Valori assunti dalle proprietà degli elementi che caratterizzano il problema, rappresentate con variabili o costanti. Azioni: Attività che, mettendo i dati in relazione tra loro, consentono di ottenere i risultati desiderati. Individuare i dati del problema. L'aspetto più importante nella formalizzazione dei problemi, consiste nel saper individuare con precisione quali sono i dati da controllare per risolvere il problema. Esempi: - per sapere se una persona è giovane o anziana, occorre controllare la sua età; - per sapere se una persona è alta o bassa, occorre controllare la sua statura; - per sapere se un prodotto è costoso o conveniente, occorre controllare il suo prezzo.
3. Metodologia di lavoro Quando ci troviamo di fronte alla necessità di risolvere un problema, di solito seguiamo una sequenza precisa. 1) 1a fase: si definisce il problema. 2) 2a fase: definire quali azioni intraprendere, stabilendo la sequenza delle azioni per risolvere il problema. Esempio: ricetta di cucina per la preparazione dell’arrosto di vitello (pag. 284) Dosi per 4 persone: 700 gr. di polpa di vitello, 50 gr. di burro, mezzo bicchiere di vino bianco, un mestolo di brodo, rosmarino e sale. Procedimento: mettere nella pentola due rametti di rosmarino e rosolare la carne in burro ed olio ben caldi. Bagnare con il vino e lasciare evaporare. Aggiungere il brodo, cuocere a fuoco lento per circa un'ora. Alla fine restringere il brodo a fuoco vivace. - La prima cosa che è specificata nella ricetta è il numero di persone, seguono le dosi e gli ingredienti: tutto ciò costituisce l'insieme dei dati iniziali del problema. - Vanno poi elencate le risorse che, nel nostro caso, sono i tipi di pentole da utilizzare e, se è necessario, il forno e quale tipo di fuoco. - Da ultimo è indicato il processo di preparazione della pietanza. Quali sono gli elementi che caratterizzano l’analisi di un problema? - dati di input: o dati di ingresso, i dati che servono, ovvero i dati iniziali sui quali basare la soluzione del problema da affrontare. - dati di output: i risultati che si vogliono ottenere, detti dati di uscita. - le risorse a disposizione: ◦ dal punto di vista logico (tabelle, criteri di calcolo, formule, ecc.) ◦ dal punto di vista fisico (strumenti di calcolo come calcolatrici, computer ecc.) - il procedimento: che permette di passare dai dati iniziali ai risultati attesi. Stesura dell’algoritmo risolutivo - La soluzione del problema deve essere organizzata e sviluppata in una serie di operazioni secondo un ordine ben definito, che permette di giungere ai risultati attesi a partire dai dati iniziali. - La scomposizione del procedimento in una sequenza di operazioni elementari detta stesura dell'algoritmo risolutivo. 4. Definizione di algoritmo - Algoritmo: è la descrizione di un insieme finito di istruzioni, che devono essere eseguite per portare a termine un dato compito e per raggiungere un risultato definito in precedenza. - Esecutore: oggetto, macchina, o persona alla quale affidare l'interpretazione e l'esecuzione delle istruzioni. - Esempi di algoritmi: le istruzioni per l'utilizzo di un elettrodomestico, le regole per eseguire il calcolo dell’area di un triangolo, le indicazioni per la consultare un orario ferroviario, ecc. Caratteristiche dell'algoritmo - finito: un algoritmo deve essere composto da un numero finito di istruzioni - esaustivo: nel senso che per tutti i casi che si possono verificare durante l'esecuzione deve essere indicata la soluzione da seguire. - riproducibile: ogni successiva esecuzione dello stesso algoritmo con i medesimi dati iniziali deve produrre sempre i medesimi risultati finali.
Gli operatori negli algoritmi Un'azione fondamentale di un processo eseguito da un calcolatore e assegnare un valore a una variabile. Per esempio, l'assegnamento del valore 9 a una variabile v può essere descritto in questo modo: assegna v = 9 Ad una variabile pud essere assegnato un dato costante, come nell'esempio precedente, oppure il risultato di un’espressione: calcola v = E Espressione: è una formula (o regola di calcolo) che specifica sempre un valore (o risultato). Ogni espressione è composta da operatori e operandi. Gli operatori possono essere di tre tipi: aritmetici, di relazione e logici A) Operatori aritmetici
maggiore di = maggiore o uguale di <> diverso C) Operatori logici AND per il prodotto logico (congiunzione) OR per la somma logica (disgiunzione) NOT per la negazione 9. Diagramma di flusso Il diagramma di flusso consiste in una descrizione grafica dell'algoritmo. I diagrammi di flusso sono formati da simboli di forma diversa, ciascuna con un proprio significato. All'interno di ogni simbolo è presente un breve testo sintetico. Le frecce, che uniscono tra loro i vari simboli, indicano il flusso delle operazioni.
Esempio: calcolare l’area del triangolo Dati di input: base e altezza del triangolo. Dati di output: area del triangolo