Dal problema al processo risolutivo

Slides:



Advertisements
Presentazioni simili
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Advertisements

Corso di Informatica (Programmazione)
Algoritmi e Programmazione strutturata
Rappresentazione degli algoritmi
Programmazione dei Calcolatori Elettronici
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Unità di apprendimento 6 Dal problema al programma.
Dal problema al programma – ciclo di sviluppo del software La scrittura del programma è solo una delle fasi del processo di sviluppo di un'applicazione.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Qualche esercizio per fissare le idee. Esercizio 1. Scrivere un programma SommaApprossimata che chiede all’utente di inserire due numeri con la virgola,
2a + 10b abx2 3a + 1 y 2 a + 1 x + 2y a − Espressioni algebriche
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia
INFORMATICA ALGORITMI, PROGRAMMI, E LINGUAGGI DI PROGRAMMAZIONE.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA.
Oggi pago io!!! MARIA BONARIA CORDEDDU STEFANIA COSTA SERENA DELOGU
LA PROGRAMMAZIONE: Algoritmi e programmi
La rappresentazione degli algoritmi
Unità di apprendimento 1
Definizione di logaritmo
VISUAL BASIC.
La rappresentazione delle informazioni
Algoritmi Avanzati a.a.2015/2016 Prof.ssa Rossella Petreschi
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Le equazioni di II°Grado
Dal problema al processo risolutivo
Raccolta ed Analisi dei Requisiti nella Progettazione
Algoritmi e soluzioni di problemi
IL CONCETTO DI ALGORITMO
Unità di apprendimento 7
Forme per rappresentare l’algoritmo:
I MONOMI.
Che cosa è un problema matematico
Che cos’e’ l’Informatica
PON Docente: Maura Roberta Orlando I.C. Zingarelli, Bari
PON Docente: Maura Roberta Orlando I.C. Zingarelli, Bari
Rappresentazione dei Numeri
Classe III A A.s – 2012 Programma di Informatica
IL CONCETTO DI ALGORITMO
Programmare.
Linguaggio C++ Selezione.
Programmazione e Laboratorio di Programmazione
Dall’analisi del problema alla definizione dell’algoritmo
Gli automi.
Struttura di un programma
I numeri relativi DEFINIZIONE. Si dicono numeri relativi tutti i numeri interi, razionali e irrazionali dotati di segno (positivo o negativo). ESEMPI Numeri.
Programmazione e Laboratorio di Programmazione
INFORMATICA.
Struttura di un programma
Il problem solving La normativa Le Caratteristiche I processi
Sistemi informativi statistici
© 2007 SEI-Società Editrice Internazionale, Apogeo
Dalle potenze ai numeri binari
INFORMATICA.
© 2007 SEI-Società Editrice Internazionale, Apogeo
Definizione di linguaggio di programmazione
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
Sistemi Digitali.
Excel 3 - le funzioni.
Teoria della computabilità
Corso di Algoritmi e Strutture Dati APPUNTI SUL LINGUAGGIO C
Esercizio Dato un albero binario, definiamo altezza minimale di un nodo v la minima distanza di v da una delle foglie del suo sottoalbero, definiamo invece.
Macchine a stati finiti
Unità D2 Dal problema all’algoritmo
EQUAZIONI DI SECONDO GRADO
Programmazione e Laboratorio di Programmazione
Informatica CdL Scienze e Tecniche Psicologiche a.a
Unità D1 L’informatica e il problem solving
Algoritmi.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
ALGORITMO E’ una successione finita di passi che consente di risolvere tutti i problemi di una classe e di determinare il risultato. Caratteristiche: Finito.
Transcript della presentazione:

Dal problema al processo risolutivo

Risolvere un problema Per risolvere un problema bisogna fornire al computer le istruzioni da eseguire e i dati si cui le istruzioni devono operare in un codice a lui comprensibile. La successione delle operazioni da compiere per raggiungere il risultato richiesto si chiama algoritmo.

Linguaggi per il computer Le istruzioni di un algoritmo devono essere convertite in un codice comprensibile (codifica). Il risultato della traduzione si chiama programma (o codice). Distinguiamo tra linguaggi di alto livello e di basso livello

Linguaggi di programmazione Linguaggi di alto livello, perché usano parole della lingua naturale, quindi vicino all’utente Linguaggi utilizzati per scrivere programmi: C++, Java, Visual Basic,… Linguaggi di programmazione Utilizzato dal computer al suo interno; è composto da istruzioni elementari inviate al processore: esse sono formate da sequenze di bit , cioè 0 e 1. Linguaggio macchina Linguaggi di basso livello, perché è vicino al funzionamento fisico del computer

Problemi da risolvere: il modello Nell’affrontare un problema è opportuno farne un’analisi, individuarne le caratteristiche fondamentali. L’analisi del problema produce una rappresentazione semplificata della realtà, cioè un modello Un modello è una forma semplificata della realtà che tiene conto di tutti gli elementi determinanti per la risoluzione di un problema e solo di essi

Modelli iconici Modelli molto vicini alla realtà

Modelli matematici Modelli con un alto livello di astrazione

Dal problema al modello Il passaggio dal problema al modello è un processo di formalizzazione che individua le entità caratterizzanti della realtà osservata e le relazioni che intercorrono tra esse. Il processo risolutore consiste nell’acquisire i dati disponibili (dati di ingresso o di input), elaborarli e produrre i risultati (dati di uscita o di output)

Esempio Calcolare l’area di un triangolo rettangolo note le misure dei due cateti Richiesta: calcolare l’area del triangolo Dati di input: le misure dei cateti, per esempio 5 e 10 Relazioni: la formula dell’area del triangolo Processo risolutivo: calcolo dell’area: area = (cateto1 x cateto2) : 2 Soluzione numerica: calcolo dell’area: area = (5 x 10) : 2 = 25 Output: 25

Passi per risolvere un problema Individuare con precisione le richieste, cioè gli obiettivi del problema. Costruire un modello. Nella costruzione del modello si deve tenere conto solo delle informazioni significative per la risoluzione del problema Individuare le relazioni, i teoremi, le proprietà che possono essere utili per individuare il processo risolutivo Costruire la procedura di risoluzione, tenendo conto di tutte le possibilità Esecuzione della procedura risolutiva e comunicazione dei risultati 

Algoritmo Un algoritmo è una successione finita di tutte le operazioni da compiere per risolvere un problema

Passi per risolvere un problema In generale, per risolvere un problema affronteremo i seguenti passi: individuazione degli obiettivi costruzione del modello del problema individuazione del processo risolutivo costruzione dell’algoritmo esecuzione dell’algoritmo comunicazione dei risultati

Il risolutore e l’esecutore Il risolutore è colui che individua e progetto il percorso di risoluzione di un problema e deve tenere conto dell’esecutore, cioè di colui che materialmente esegue le operazioni che portano alla soluzione

Esempio Esempio del libro di testo Pianificazione di un viaggio RICHIESTE: Quanto costa il viaggio? Quanto il soggiorno? Quanto il totale e quanto per persona? MODELLO: individuazione delle informazioni significative e delle formule (Litri carburante; costo carburante, costo pedaggio, costo soggiorno) Carburante Pedaggio Viaggio Bed & Breakfast Soggiorno 

Esempio (continua) INDIVIDUAZIONE DEL PROCESSO RISOLUTIVO DATI DISPONIBILI: numero persone, consumo automobile, costo al litro del carburante,… PROCEDIMENTO: descrizione del modo di effettuare il calcolo 

Esempio (continua) COSTRUZIONE DELL’ALGORITMO Si deve distinguere chi deve eseguire l’algoritmo: se è una persona, si indicano i calcoli da eseguire con un linguaggio naturale se è una computer, si devono progettare algoritmi che siano eseguibili da una macchina, per comunicare con esso e si deve usare un linguaggio appropriato.

Abilità di un computer e caratteristiche di un linguaggio Quando si scrive un algoritmo si deve tenere conto di alcuni fattori: le abilità che possiamo attribuire a un computer le caratteristiche e le possibilità del linguaggio che usiamo per scrivere l’algoritmo

Abilità Possiamo attribuire a un computer le seguenti abilità: calcolare la somma, la differenza, il prodotto e il quoziente di due numeri (+, -, x, :); svolgere operazioni di confronto (>, ≥, <, ≤, ≠, ⌐); trasferire dati da una zona all’altra della memoria; acquisire dati dall’esterno; comunicare dati all’ambiente esterno. NOTA: NON possiamo attribuire l’abilità al computer di prendere iniziative in modo autonomo

I dati nell’algoritmo Ai dati presenti nell’algoritmo deve essere dati un nome (per esempio Distanza, CostoCarburanteAlLitro, …) deve essere specificato il tipo dei dati che intendiamo utilizzare, per esempio dati numerici (numeri interi o reali) o dati alfanumerici (singoli caratteri o stringhe) Lato = 100 Nome =‘’Carlo’’ Via = ‘’Corso Italia 32’’

Riepilogo La stesura di un algoritmo eseguibile da parte di un computer deve contenere i nomi dei dati e degli oggetti usati e la loro tipologia la successione delle operazioni da compiere sui dati per produrre i risultati

Esercizi Scrivere un algoritmo per risolvere il problema del calcolo del perimetro di un quadrato Scrivere un algoritmo per risolvere il problema del calcolo dell’area di un rettangolo A= axb P=4xl a lato = l b