Corso di Matematica per la Chimica
Dott.ssa Maria Carmela De Bonis
a.a. 2013-14
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Programmi
Un elaboratore riceve dei dati in ingresso, li elabora secondo una
sequenza predefinita di operazioni e infine restituisce il risultato sotto
forma di dati di uscita o di azioni
Dati di input
−→ Elaborazione
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
−→ Dati di output
Corso di Matematica per la Chimica
La programmazione consiste:
nell’identificare le informazioni originali e finali
nel definire le modalità operative per passare da informazioni
iniziali (dati) ad informazioni finali (risultati).
Il programma è:
una sequenza di istruzioni o comandi elementari scritto secondo le
regole di un linguaggio convenzionale. Se viene eseguito fornisce il
risultato richiesto.
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
I programmi, per essere eseguiti, devono essere scritti in un
linguaggio comprensibile per l’elaboratore che, comunque, trasforma
e comprende il solo il Linguaggio Macchina che utilizza come
alfabeto solo i simboli 0 e1.
In questo corso il linguaggio di programmazione sarà il MatLab.
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Sia P un assegnato problema.
Per la sua risoluzione distinguiamo diverse fasi:
1
l’analisi che consiste in:
individuazione dei dati di input
individuazione dei risultati
ricerca dell’algoritmo
2
la programmazione ovvero la traduzione dell’algoritmo in un
linguaggio di programmazione
3
l’esecuzione del programma
Al termine della procedura si ottengono i risultati.
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Algoritmo
Un algoritmo è:
una sequenza finita di operazioni logiche e non ambigue che opera su
dati e produce risultati
Le caratteristiche di un algoritmo sono:
non ambiguità
finitezza
generalità
Un algoritmo descrive non solo le operazioni ma anche l’ordine
temporale in cui esse devono essere eseguite.
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Descrizione degli Algoritmi
Gli algoritmi constano dei seguenti elementi:
oggetti (informazioni): le entità sui cui opera l’algoritmo;
operazioni: interventi da effettuare sugli oggetti;
strutture di controllo: sequenza, selezione, iterazione.
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Oggetti
Sono definiti da:
Valore
Tipo
Significato
Possono essere:
Costanti
Variabili
Espressioni
Possono rappresentare:
Dati iniziali del problema
Informazioni ausiliarie
Risultati parziali
Risultati finali
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Costanti
Rappresentano dei valori che non variano durante l’esecuzione
dell’algoritmo
Possono essere sia numeriche che alfanumeriche
Nel caso di costanti alfanumeriche il valore deve essere
racchiuso tra apici
Esempio
4 è una costante numerica (il numero 4)
’ciao’ è una costante alfanumerica
’4’ è una costante alfanumerica (il carattere 4)
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Variabili
Sono dei contenitori di valori identificati da nomi simbolici
Il nome di una variabile deve sempre iniziare con un carattere
non numerico
Il nome della variabile rappresenta una scatola
Il valore della variabile il suo contenuto. Esso può cambiare
durante la stessa esecuzione o esecuzioni diverse dello stesso
programma
Il Tipo di una variabile identifica l’insieme dei valori che può
assumere e le operazioni che possono essere compiute sui suoi
valori
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Il Tipo di una variabile
Tipo numerico: può assumere solo valori numerici e può
apparire come operando in una espressione aritmetica
Tipo logico: può assumere solo i valori True e False e può
apparire come operando in una espressione logica
Tipo alfanumerico: può assumere qualunque valore e non ha
senso utilizzarla nelle espressioni
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Assegnazione
L’assegnazione è l’operazione che permette di modificare il valore di
una variabile e si indica con il simbolo “=”.
Esempio
x = 10
indica che alla variabile di nome x viene assegnato il valore 10.
Regole fondamentali:
A sinistra dell’operatore di assegnazione deve esserci il nome di
una e una sola variabile;
A destra dell’operatore di assegnazione può esserci una costante,
una variabile o un’espressione;
Il tipo del dato della variabile a sinistra deve essere compatibile
con il tipo di dato ottenuto dall’espressione a destra.
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Operatori
Operatori aritmetici: +, −, ∗, /, ∧
agiscono sulle variabili e le costanti numeriche
producono un valore numerico
Operatori di confronto: ==, ! =, >, <, ≤, ≥
agiscono su variabili e costanti di un tipo ordinato (interi, reali,
caratteri)
producono un valore logico (true o false)
Operatori logici: AND, OR, NOT
agiscono su variabili e costanti di tipo logico
producono un valore logico
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Espressioni
Una espressione è una combinazione di variabili e costanti dello
stesso tipo correlati da operatori definiti sul tipo stesso.
Esempio A, B, C, D variabili di tipo numerico
D = (A ∗ B + C) ∧ 3/4
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Priorità degli operatori aritmetici
priorità
1
2
3
operatori
∧
∗, /
+, −
Operazioni con pari livello di priorità sono effettuate da sinistra a
destra, eccetto l’elevamento a potenza (da destra a sinistra).
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Definizione dell’ordine di precedenza mediante l’uso di
parentesi
A ∗ B/C
A/B/C
−A2
(−A)2
A+B+C
B(C + D)
4, 5 ∗ A
A ∗ −B
è equivalente a
è equivalente a
è equivalente a
è equivalente a
è equivalente a
illegale
illegale
illegale
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
(A ∗ B)/C
(A/B)/C
−(A2 )
A2
(A + B) + C
Corso di Matematica per la Chimica
Tabelle di verità
P, Q espressioni logiche T= true, F= false
P
T
F
P
T
T
F
F
P
T
T
F
F
NOT P
F
T
Q
F
T
T
F
Q
F
T
T
F
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
P OR Q
T
T
T
F
P AND Q
F
T
F
F
Corso di Matematica per la Chimica
Regole sulle operazioni
Una operazione deve terminare entro un intervallo finito di tempo
Una operazione deve produrre un effetto osservabile
Un operazione deve produrre lo stesso effetto ogni volta che
viene eseguita a partire dalle stesse condizioni iniziali
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Strutture di controllo
Sequenza: le operazioni sono eseguite una in seguito all’altra
Selezione: blocchi di operazioni sono eseguite in alternativa
Iterazione: blocchi di operazioni sono eseguite un certo numero
di volte
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Il linguaggio informale per la descrizione di algoritmi è: il flow-chart
o diagramma di flusso
Il flow-chart é un diagramma che rappresenta sinteticamente un
algoritmo.
Ogni istruzione è racchiusa in una figura geometrica. La forma della
figura indica il tipo di istruzione.
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Inizio e Fine
Istruzione di Input
Istruzione di assegnazione
Istruzione di Output
test
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica
Caratteristiche di un buon programma
Affidabilità o Efficacia: accertata attendibilità dei risultati
Efficienza: minor tempo possibile, minore spazio di memoria
possibile
Leggibilità: buona documentazione sia esterna che interna per
essere compreso e/o modificato da altri
Per misurare l’efficienza di un algoritmo si studia il suo
Costo Computazionale che rappresenta il numero complessivo delle
operazioni elementari in funzione dei dati di ingresso.
Dott.ssa Maria Carmela De Bonis a.a. 2013-14
Corso di Matematica per la Chimica