Programmi Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica e Economia Università della Basilicata a.a. 2014-15 Elementi di programmazione Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 −→ Dati di output Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 (A ∗ B)/C (A/B)/C −(A2 ) A2 (A + B) + C Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 P OR Q T T T F P AND Q F T F F Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi Inizio e Fine Istruzione di Input Istruzione di assegnazione Istruzione di Output test Dott.ssa Maria Carmela De Bonis Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15 Programmi 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 Dipartimento di Matematica, Informatica Corso e Economia di Matematica Università perdella la Chimica Basilicata a.a. 2014-15