Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.

Slides:



Advertisements
Presentazioni simili
LINGUAGGIO DI PROGRAMMAZIONE C
Advertisements

Dati, istruzione e pseudocodice
Scomposizione funzionale
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
Linguaggi algoritmici
Procedure e funzioni A. Ferrari.
I DATI LE ISTRUZIONI LE STRUTTURE FONDAMENTALI
Problema e algoritmo Prof. Baldassare Galia 2002.
Algoritmi e Programmazione
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.
Informatica Problema Algoritmo Programma
Informatica 2. Concetti fondamentali di programmazione Programmare vuol dire scrivere un algoritmo in un linguaggio che faccia funzionare un calcolatore.
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
Definizione di Algoritmo
Introduzione alla programmazione ll
Introduzione alla programmazione l
Modulo 1: Problemi e Programmi
Modelli simulativi per le Scienze Cognitive
Modulo 1: Problemi e Programmi
Unità Didattica 1 Algoritmi
Strutture di controllo in C -- Flow Chart --
Espressioni condizionali
Gli algoritmi.
L’AUTOMA ESECUTORE Un automa capace di ricevere dall’esterno una descrizione dello algoritmo richiesto cioè capace di interpretare un linguaggio (linguaggio.
Problemi e algoritmi. I problemi È un quesito che attende una risposta detta soluzione Ma come trovare la soluzione? Spesso si ricorre a tentativi fino.
Come ragiona il computer
Elementi di Informatica
Dall’algoritmo al programma.
ELEMENTI DI PROGRAMMAZIONE
Elementi di Informatica di base
Algoritmi e Programmazione strutturata
PROGRAMMAZIONE: linguaggi
Le basi della programmazione
Lo sviluppo del software e i linguaggi di programmazione
Elementi di Informatica di base Dott.ssa Elisa Tiezzi
La comunicazione uomo … macchina
BIOINFO3 - Lezione 201 Come in ogni corso di introduzione ad un linguaggio di programmazione, proviamo a scrivere lormai celebre primo programma di prova.
ECDL Patente europea del computer
Programma di Informatica Classi Prime
COME RAGIONA UN COMPUTER
Dal problema all’ algoritmo
Rappresentazione degli algoritmi
Variabili Numeriche –Interi (byte, short, int, long): complemento a 2 –A virgola mobile (float, double): IEEE 745 Alfanumeriche –Carattere (char): Unicode.
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
1 Parte 2 Fondamenti di programmazione. 2 Definizione intuitiva di algoritmo Elenco finito di istruzioni che specificano una serie di operazioni, eseguendo.
Informatica 6 Tipi di dato. Nelle celle di memoria di un calcolatore ci sono solo “0” e “1”, fisicamente realizzati tramite due diversi livelli di tensione.
1 Sommario lez 1 Concetti principali, domande ed esercizi Concetti principali –algoritmo, programma –struttura di controllo: condizionale (if …), iterativa.
Algoritmi.
L’ELABORATORE ELETTRONICO uno strumento in grado di eseguire insiemi di azioni (“mosse”) elementari le azioni vengono eseguite su oggetti (dati) per produrre.
1 Ordinamento (Sorting) Input: Sequenza di n numeri Output: Permutazione π = tale che: a i 1  a i 2  ……  a i n Continuiamo a discutere il problema dell’ordinamento:
Algoritmi e Programmazione (in C) Stefano Cagnoni e Monica Mordonini
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
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.
Dal problema al programma
Strutture di controllo
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Unità di apprendimento 6
Dal PROBLEMA all’ALGORITMO
Transcript della presentazione:

Informatica Problemi e algoritmi

una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica una situazione che pone delle domande cui si devono dare risposte. Risolvere il problema vuol dire uscire da tale situazione problematica Sono esempi di situazioni problematiche: Individuare il cammino più breve per andare a scuola Scrivere in ordine alfabetico un elenco di nomi Calcolare l’area di un campo rettangolare

Elementi caratteristici 1. I dati iniziali sui quali basare la soluzione del problema, detti anche dati di input 2. I risultati che si vogliono ottenere, detti anche dati di output 3. Il procedimento risolutivo, che permette di passare dai dati di input ai dati di output Determinare questi elementi significa analizzare il problema

Risolvere un problema Risolvere un problema significa “ricercare ed esprimere un elenco di istruzioni che, interpretate da un esecutore, a partire da determinate informazioni iniziali, conducono ad altre finali. Risolvere un problema significa trovare l’algoritmo che lo risolve…

Programmatori ed esecutori Dobbiamo distinguere fra il programmatore (detto anche risolutore) e l’esecutore. Il programmatore è colui che costruisce la procedura per risolvere il problema. L’esecutore esegue le istruzioni programmate dal programmatore.

Concetto di algoritmo  DEFINIZIONE: Una dettagliata sequenza di azioni/operazioni che devono essere eseguite per risolvere una classe di problemi…classe  Tecnicamente un algoritmo è costituito da un numero finito di passi al termine dei quali deve essere generato un risultato.

Proprietà Ogni algoritmo deve essere:  Finito  Finito: il numero di istruzioni è finito, inoltre deve presentare un punto di inizio (dove comincia il procedimento risolutivo) ed un punto di fine raggiunto il quale si interrompe l'esecuzione delle istruzioni.  Non ambiguo  Non ambiguo: ciascuna istruzione deve essere interpretabile in modo univoco, senza ambiguità.  Eseguibile.  Eseguibile: cioè la sua esecuzione deve essere possibile con gli strumenti di cui si dispone.  Deterministico:.  Deterministico: ad ogni passo deve essere sempre definita una ed una sola operazione successiva.  Esaustivo:  Esaustivo: l’algoritmo deve essere valido per tutti i problemi dello stesso tipo.

Strategie di risoluzione Per compiere l’analisi di un problema il programmatore deve svolgere una attività creativa nella ricerca della risoluzione del problema: interpretare l’enunciato del problema e definire gli obiettivi da realizzare; individuare i dati del problema (iniziali, finali e intermedi); descrivere il procedimento risolutivo individuando le operazioni da compiere sui dati iniziali per ottenere i risultati finali; eseguire nell’ordine le operazioni descritte nel processo risolutivo (il programmatore in questa fase diventa esecutore); verificare se i risultati ottenuti rispondono alle finalità del problema reale (attendibilità).

Componenti Dati: cioè gli oggetti su cui operare, che possono essere classificati in diversi modi A ogni dato è associato un nome che lo identifica in modo univoco e un tipo. In base al tipo, possono essere: ◦ Numerici ◦ Alfanumerici, detti stringhe Istruzioni: cioè le azioni che devono essere eseguite

Dati numerici Sono i dati che contengono numeri, sui quali è possibile effettuare le operazioni aritmetiche (somma, sottrazione divisione, moltiplicazione). Si suddividono in:  interi: dati numerici che non prevedono cifre decimali  reali: dati numerici che prevedono cifre decimali. Esempi Esempi: il numero di allievi di una classe è rappresentato da un dato numerico intero, mentre la temperatura media registrata nel mese di ottobre è un dato numerico reale.

Dati alfanumerici Sono dati che contengono i caratteri alfabetici (A, B, C... Z), caratteri speciali ($, %, !, ?, &….) e cifre (1, 2, 3, …), sulle quali non sono possibili le operazioni aritmetiche. Esempi Esempi: il nome, l’indirizzo e il codice fiscale di una persona; il numero di un autobus, anche se formato da cifre è alfanumerico in quanto qualsiasi operazione aritmetica su di essa sarebbe priva di significato.

I Dati In base alla modalità di interazione con l’esecutore: a) Input: sono i dati forniti dall'esterno necessari all'elaborazione e devono essere noti al momento dell'esecuzione; b) Output sono i risultati calcolati dall'esecutore e comunicati all'esterno; c) Interni o di lavoro: sono i dati utilizzati nella trasformazione compiuta dall’algoritmo.

I Dati In base alla loro variabilità: costanti: il valore del dato noto a priori, rimane immutato nel tempo; variabili: il valore del dato può cambiare nel tempo. Esempi: Esempi: se si deve calcolare l'area di un cerchio di cui si conosce il raggio, i dati su cui opera l’algoritmo sono: raggio, area, π, ma mentre il raggio e l’area sono dati variabili, π è un dato costante che vale 3,14. Per nessun motivo il valore di π dovrà cambiare.

Strumenti per la programmazione Per progettare un algoritmo dobbiamo saper come rappresentare e memorizzare i dati e come esprimere le diverse istruzioni che compongono l’algoritmo e che devono essere eseguite.

Le Variabili Variabile: La variabile è la struttura dati più elementare e rappresenta, in maniera astratta, la cella di memoria in cui registrare le informazioni. Ogni variabile è identificata da un NOME e possiede un CONTENUTO (valore della variabile). Possiamo immaginare una variabile come una scatola caratterizzata da un’etichetta (nome) e contenente un dato (valore) che può essere un numero, una lettera o una sequenza di caratteri.

Le Variabili Ogni variabile può contenere dati di un solo tipo; nella maggior parte dei linguaggi di programmazione è necessario dichiarare le variabili, cioè indicare il tipo di dati che possono essere contenuti nella variabile. Indicare il tipo di dati di una variabile significa essenzialmente due cose: stabilire una dimensione in memoria per la variabile e di conseguenza un intervallo di valori ammissibili per la variabile stessa; fissare l'insieme delle operazioni che possono essere applicate alla variabile. Le variabili vanno dichiarate all’inizio dell’algoritmo.

Variabile e valore Il Valore contenuto Il Valore di una variabile corrisponde al contenuto corrente della cella di memoria associata alla variabile. È bene ricordare che quando si modifica in qualche modo il contenuto di una variabile, l’informazione sul valore precedente la modifica viene “dimenticato”, a meno che non sia immagazzinato in un’altra variabile opportuna. NON CONFONDERE mai il NOME CON il VALORE!!!! NON CONFONDERE mai il NOME CON il VALORE!!!!

Le Costanti Per esprimere direttamente valori prefissati (cioè che non devono essere modificati dal programma) si utilizzano le costanti Anche le costanti sono aree di memoria che però possono contenere un solo valore dall’inizio alla fine dell’esecuzione (che può essere un numero intero o reale o una stringa) Ad esempio, 1, ‘ciao’, 3.14, ecc.