Programmazione in Python

Slides:



Advertisements
Presentazioni simili
Introduzione al linguaggio C++
Advertisements

INFORMATICA Altre Istruzioni di I/O
LINGUAGGIO DI PROGRAMMAZIONE C
Informatica 22/03/2012.
Introduzione al linguaggio C
PHP.
MATLAB.
MATLAB. Scopo della lezione Programmare in Matlab Funzioni Cicli Operatori relazionali Esercizi vari.
Dipartimento di Matematica
Algoritmi e Programmazione
Informatica Generale Marzia Buscemi
Un nuovo tipo di dati Gli array.
FUNZIONI DI BIBLIOTECA
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Informatica di base A.A. 2003/2004 Algoritmi e programmi
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)
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab m-file m-file script script Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali.
MATLAB.
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Indipendenza lineare,
MATLAB. …oggi… Programmare in Matlab Programmare in Matlab Funzioni Funzioni Cicli Cicli Operatori relazionali Operatori relazionali Esercizi vari Esercizi.
Cosè un programma? LALA PROGRAMMAZIONE PROGRAMMAZIONELALA PROGRAMMAZIONE PROGRAMMAZIONE UN ELENCO DI ISTRUZIONI, APPARTENENTI A UN BEN DEFINITO LINGUAGGIO,
Introduzione agli stream e alle classi
Uso dei cicli y t =c+ty t-1 +e Un uso dei cicli può essere quello di creare una serie storica per cui y t =c+ty t-1 +e dove poniamo c e t scalari ed e~N(0,1).
Introduzione alla programmazione lll
Lezione 4: Costrutti Condizionali Prof. Raffaele Montella.
Fondamenti di Informatica I a.a Il linguaggio C Il controllo di flusso La selezione condizionale Listruzione switch I cicli Le istruzioni break,
Fondamentidi Programmazione Corso: Fondamenti di Programmazione Classe: PARI-DISPARI Docente: Prof. Luisa Gargano Testo: Aho, Ulman, Foundations of Computer.
INFORMATICA Altre Istruzioni di I/O. © Piero Demichelis 2 Funzioni di I/O Per la lettura e la scrittura da videoterminale il C prevede numerose istruzioni.
Strutture di controllo in C -- Flow Chart --
Esercizi Puntatori, struct con campi puntatore, puntatori a struct, rapporto tra array e puntatori. FUNZIONI Passaggio di parametri per indirizzo, passaggio.
Dichiarazioni e tipi predefiniti nel linguaggio C
I File.
Espressioni condizionali
Corso di PHP.
Programmazione in Java
4 Tipi di dati & variabili
Università degli Studi di Bari Laurea in Chimica Di spense di Informatica - Dott. F. Mavelli Programmare in Matlab Funzioni di Libreria Funzioni definite.
CODIFICA Da flow-chart a C++.
Lezione 6 Strutture di controllo Il condizionale
PROBLEMA ALGORITMO PROGRAMMA LINGUAGGI di PROGRAMMAZIONE
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Array e stringhe Marco D. Santambrogio – Ver. aggiornata al 9 Agosto 2013.
BIOINFO3 - Lezione 321 ACCESSO REMOTO AL SERVER SIBILLA Attraverso Internet è possibile accedere al server sibilla.cribi.unipd.it. Potrete così effettuare.
Fopndamenti di programmazione. 2 La classe String Una stringa è una sequenza di caratteri La classe String è utilizzata per memorizzare caratteri La classe.
ISTITUTO STATALE DI ISTRUZIONE SUPERIORE F. ENRIQUES CORSO JAVA – PROVA INTERMEDIA DEL 12 MARZO 2007 NOME: COGNOME: ________________________________________________________________________________.
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
Complessità di un algoritmo
Anno accademico Le istruzioni di controllo in C.
JAVA Per iniziare. Verificare installazione javac –version java –version Cercare i files e sistemare eventualmente il path.
Lezione 3 Struttura lessicale del linguaggio
Script di shell (bash).
Corso JAVA Lezione n° 03 Istituto Statale di Istruzione Superiore “F. Enriques”
Introduzione a Javascript
R 255 G 211 B 8 R 255 G 175 B 0 R 127 G 16 B 162 R 163 G 166 B 173 R 104 G 113 B 122 R 234 G 234 B 234 R 175 G 0 B 51 R 0 G 0 B 0 R 255 G 255 B 255 Supporting.
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
Strutture di controllo Esercizi!. Utilizzare i metodi: I modi per poter richiamare un metodo, di una classe (ad esempio SavitchIn) sono due. 1) E’ sempre.
Arduino: introduzione alla programmazione
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Università di Torino – Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a prof. Viviana Bono Blocco 7 – Array.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
13 ottobre Decisioni F. Bombi 13 ottobre 2002.
Sommario Oggetti immutabili e non Tipi Primitivi: String, Arrays.
Linguaggio C: Le basi Stefano Cagnoni e Monica Mordonini
Cloud informatica V anno. Introduzione a PHP Lo scripting PHP PHP è un linguaggio di scripting lato server. Le caratteristiche di un linguaggio di scripting.
Eprogram informatica V anno. Introduzione a PHP Introduzione La diffusione di PHP ha avuto un notevole incremento dalla fine degli anni Novanta a oggi,
Strutture di controllo
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Algoritmi e basi del C Marco D. Santambrogio – Ver. aggiornata al 24 Agosto 2015.
Basi di Java Strutture base di Java. Basi di java ▪Variabili ▪Operatori ▪Condizioni e Cicli ▪Array.
La funzione CASUALE. Gli istogrammi.
Transcript della presentazione:

Programmazione in Python Prof. Pasquale De Michele (Gruppo 1) Prof. Raffaele Farina (Gruppo 2) Programmazione in Python

Precisazione Le slide fanno riferimento alla versione di Python 2.7. Da Python 3 in poi, sono state introdotte diverse novità, che vengono comunque messe in evidenza in queste slide rispetto alla versione 2.7. Programmazione in Python

Primo programma in Python Hello world!: print “Hello world!” Aggiungere commenti al codice: #Questo e’ un commento! print “Hello world!” L’istruzione print può essere fatta anche in un altro modo (usando ‘): print ‘L\’altezza e’ mezza bellezza’ ATTENZIONE: per evitare errori, sia nei commenti, sia nelle stampe, non usare mai caratteri accentati come: è, é, à, ù, ò, ì. Programmazione in Python

print in Python 3 Dalla versione 3 di Python l’istruzione print richiede l’uso delle parentesi tonde. Di conseguenza, il programma visto nella precedente slide, per essere eseguito correttamente in Python 3 richiede di essere scritto come segue: print (“Hello world!”) Programmazione in Python

Un programma un po’ più complesso Calcolo dell’area del triangolo rettangolo: Tipi di istruzioni utilizzate: print – per la stampa a video (output); input – per la lettura da video (input); a = b*h/2 – per assegnare un valore alla variabile a. Programmazione in Python

Un po’ di ripasso: la memoria principale I programmi, quando sono in esecuzione, risiedono nella memoria principale (RAM). Insieme ai programmi, nella memoria principale risiedono anche tutti i dati che essi manipolano. La memoria RAM è organizzata in indirizzi del tipo: 0000000…000 0000000…001 … 1111111…111 Programmazione in Python

Un po’ di ripasso: la memoria principale Di conseguenza, possiamo immaginare che se un programma chiede ad un utente di inserire due numeri per poterne calcolare un terzo, ognuno di questi sarà associato ad un indirizzo. Riprendiamo il programma del triangolo rettangolo. Il programma chiede all’utente di inserire la base e l’altezza, al fine di poter calcolare l’area. Supponiamo che l’utente inserisca 4 per la base e 5 per l’altezza. Di conseguenza l’area sarà 10. Dove vengono memorizzati questi dati? Potrebbe capitare che: All’indirizzo 0000000…000 sia salvato 4; All’indirizzo 0000000…001 sia salvato 5; All’indirizzo 0000000…010 sia salvato 10; Programmazione in Python

Variabili e costanti Problema: per il programmatore può essere complicato dover ricordare l’indirizzo specifico in cui è stato salvato ciascun dato. D’altra parte, nella vita di tutti i giorni possiamo trovare esempi che semplificano questa problematica: La rubrica telefonica. La rubrica telefonica mantiene le associazioni tra numeri di telefono e i nomi delle persone a cui tali numeri di telefono corrispondono. Allo stesso modo, possiamo pensare di associare un nome a ciascun dato utilizzato nel programma. A seconda del fatto che questi dati possano o meno essere modificati, distingueremo variabili e costanti. Programmazione in Python

Variabili e costanti Se un dato non deve mai essere modificato (il valore ad esso associato non cambia), allora definiremo una costante. Esempio: PI_GRECO = 3.14 N.B.: le costanti possono essere definite solo dal programmatore all’interno del codice del programma; l’utente non potrà inserire nessuna costante. Se, invece, un dato può essere modificato (deve essere calcolato, inserito dall’utente o cambiato in corso d’opera il suo valore, allora definiremo una variabile. Esempio: b per la base; h per l’altezza; a per l’area. Programmazione in Python

Tipi di variabili Le variabili possono essere di vario tipo. Possiamo distinguere tra variabili semplici e variabili complesse. Le variabili semplici sono messe a disposizione dal linguaggio di programmazione. Nel caso del Python sono: Variabili intere (che possono contenere numeri interi): a = -3 Variabili reali (che possono contenere numeri reali): b = -7.4 Variabili stringhe (sequenze di caratteri alfa-numerici) c = “N76000000” Programmazione in Python

Tipi di variabili Un esempio di variabili complesse sono gli array. Un array raggruppa, mediante un unico nome, un insieme omogeneo (dello stesso tipo di variabili). Esempio: a = [1, 2, 3, 4] Per accedere ad un singolo dato contenuto in un array si fa riferimento alla sua posizione (partendo dalla prima posizione 0). Di conseguenza: In a[0] avremo 1. In a[1] avremo 2. In a[2] avremo 3. In a[3] avremo 4. Programmazione in Python

Lettura con input() in Python 2.7 e 3.4 Per leggere un dato inserito dall’utente in Python su utilizza l’istruzione input(). Esempio: a = input(“Inserire a”) In Python 2.7, tale istruzione assegna alla variabile il tipo inserito: Se si inserisce “3”, allora a è di tipo intero. Se si inserisce “3.0”, allora a è di tipo reale. Se si inserisce “Ciao”, allora a è di tipo stringa. In Python 3.4, tale istruzione assegna alla variabile sempre il tipo stringa. Di conseguenza è necessaria una conversione, affinché si possa gestire il tipo di variabile desiderata: Se si desidera un intero, aggiungere a = int(a) Se si desidera un reale, aggiungere a = float(a) La cosa può essere utile anche in Python 2.7, quando si desidera che le variabili siano sempre dello stesso tipo, ad esempio reale. Di conseguenza, anche se si inserisse “3”, con la conversione, la variabile a diventerebbe di tipo reale. Programmazione in Python

Costrutto condizionale (di selezione) IF - ELSE Talvolta può essere utile valutare il contenuto di una o più variabili al fine di poter stabilire quale sequenza di istruzioni svolgere a seconda dei casi. Programmazione in Python

Costrutto condizionale (di selezione) IF - ELSE Vediamo un esempio concreto: Vogliamo valutare se il valore contenuto nella variabile a sia maggiore di 0 oppure no. ATTENZIONE – Regole di indentazione: Le istruzioni interne all’IF devono essere spostate di almeno uno spazio (o carattere di tabulazione) verso destra rispetto all’IF. Lo stesso vale per l’ELSE. Programmazione in Python

Costrutto condizionale (di selezione) IF - ELSE Nell’esempio precedente abbiamo valutato due condizioni: a > 0 e la sua negazione (else) a <= 0. Come potremmo gestire più di due condizioni da controllare? Consideriamo un altro esempio: Vogliamo valutare se il valore contenuto nella variabile a sia maggiore, minore o uguale rispetto a 0 (3 condizioni). Programmazione in Python

Costrutto condizionale (di selezione) IF - ELSE Nell’esempio precedente abbiamo valutato tre condizioni: a > 0 (if) a < 0 (elif) a = 0 (else) come negazione delle due precedenti. Programmazione in Python

Costrutti iterativi FOR e WHILE Un’altra situazione tipica per un programmatore è avere a che fare con istruzioni che si ripetono più volte. In questo caso possiamo utilizzare due costrutti che ci permettono di ripetere una sequenza di istruzioni per un certo numero fissato di volte o finché risulta vera una certa condizione. Programmazione in Python

Il ciclo FOR Un esempio del costrutto FOR in Python: In questo caso abbiamo un gruppo di istruzioni che deve essere ripetuto N = 10 volte. Di conseguenza abbiamo fissato intervallo [1, 10] in cui variare. Tale intervallo viene espresso attraverso l’istruzione range(1, N+1) che permette all’indice i di variare tra 1 ed N (escluso l’estremo superiore N+1). Programmazione in Python

Il ciclo FOR Esempio: leggere 10 numeri e per ogni numero inserito stamparne il doppio. ATTENZIONE – Regole di indentazione: Le istruzioni interne al FOR devono essere spostate di almeno uno spazio (o carattere di tabulazione) verso destra rispetto al FOR. Tutto ciò che viene scritto “allineato” col FOR (o verso sinistra) viene considerato non appartenente al ciclo FOR. Programmazione in Python

Il ciclo WHILE Un esempio del costrutto WHILE in Python: In questo caso abbiamo un gruppo di istruzioni che deve essere ripetuto finché risulta soddisfatta una certa condizione. Di conseguenza, non sappiamo precisamente quante volte dovremo ripetere la sequenza di istruzioni contenuta nel ciclo WHILE. Programmazione in Python

Il ciclo WHILE Esempio: leggere i numeri inseriti dall’utente finché non viene inserito il numero 0. ATTENZIONE – Regole di indentazione: Valgono le stesse regole di indentazione del ciclo FOR. Programmazione in Python

Il ciclo WHILE D’altra parte, ciò che può essere fatto con un ciclo FOR può essere tranquillamente fatto con un ciclo WHILE. Di conseguenza consideriamo il precedente programma scritto per il ciclo FOR e vediamo come implementarlo con il ciclo WHILE. Programmazione in Python

Il ciclo WHILE Consideriamo un esempio leggermente diverso: leggere 10 numeri e per ogni numero inserito stamparne il doppio; se l’utente inserisce il numero 0 il programma termina prima. Programmazione in Python

Valutazione delle condizioni Sia il costrutto IF, sia i costrutti FOR e WHILE valutano delle condizioni che possono essere VERE o FALSE. Di conseguenza ci si rifà alla logica booleana per stabilire se una o più condizioni sono vere o false. In particolare, nel caso dell’IF e del WHILE può capitare che debbano essere valutate più condizioni contemporaneamente che possono quindi essere combinate in AND ed OR logici. Come si è già visto per l’esempio precedente, Python utilizza l’espressione c1 and c2 per valutare due condizioni in AND. Di conseguenza è facile immaginare che per l’OR logico l’espressione sarà c1 or c2. Per combinazioni più complesse è possibile utilizzare le parentesi tonde al fine di stabilire l’ordine di valutazione. Esempio: (c1 or c2) and (c3 or c4) Programmazione in Python

Gestire più variabili dello stesso tipo: array Vogliamo scrivere un programma che legga 5 variabili di tipo intero e ne restituisca la sommatoria. Inoltre se la sommatoria è pari le variabili pari inizialmente inserite devono essere poste a 0. In questo caso è necessario memorizzare tutti i dati inseriti. Programmazione in Python

Gestire più variabili dello stesso tipo: array Prima soluzione: usare 5 variabili diverse. Programmazione in Python

Gestire più variabili dello stesso tipo: array Seconda soluzione (migliore): usare 1 array di 5 elementi. Programmazione in Python

Array: inizializzazione Esistono vari modi per inizializzare un array in Python, tutti validi. Inizializziamo a 0 tre array n1, n2 ed n3 da 15 elementi: n1 = [0] * 15 #Come nell’esempio appena visto n2 = [0 for i in range(15)] import numpy as np n3 = np.zeros(15) Programmazione in Python

Librerie e funzioni L’ultima modalità di inizializzazione di un array ricorre ad una funzione (zeros()) definita nella libreria numpy di Python. La libreria numpy richiede di essere scaricata. Le funzioni possono essere viste come parti di programmi già scritte che prendono in input dei parametri per restituire un risultato. Le librerie contengono funzioni già scritte che semplificano la vita del programmatore. Esempi di librerie Python oltre a numpy: math è la libreria delle funzioni matematiche: a = math.pow(b, e): la funzione potenza (pow()) assegna ad a il risultato dell’elevamento alla potenza e della base b. y = math.sqrt(x): la funzione radice quadrata (sqrt()) assegna a y il risultato della radice quadrata di x. matplotlib.pyplot è una libreria per la creazione dei grafici. Programmazione in Python

Scaricare librerie per Python 2.7 e 3.4 Python 2.7 per Mac: numpy: Link matplotlib: Link Python 2.7 per Windows 64 bit Python 2.7 per Windows 32 bit Python 3.4 per Mac: numpy: Link matplotlib: Link Python 3.4 per Windows 64 bit Python 3.4 per Windows 32 bit Programmazione in Python

Installare la libreria numpy Per Mac e Windows, seguire l’installazione grafica. Per Linux con distribuzioni Debian/Ubuntu: Aprire il terminale e digitare sudo apt-get install python-numpy (premi INVIO) Inserire la password (non compaiono pallini ma state scrivendo ugualmente), premere INVIO. Attendere la fine dell’installazione. con distribuzioni Fedora/RedHat: Aprire il terminale e digitare sudo yum install python-numpy (premi INVIO) Programmazione in Python

Installare la libreria matplotlib Per utenti Windows, seguire l’installazione grafica. Per utenti Mac, dopo aver scaricato il file matplotlib relativo alla vostra versione di Python: Aprire il terminale e digitare sudo pip3 install wheel (premi INVIO). Vi verrà richiesta la vostra password, quindi digitatela. Finita questa installazione, spostatevi nella cartella Downloads digitando nel terminale: cd Downloads (premi INVIO) Per Python 2.7 digitare (vi verrà richiesta la vostra password) sudo pip3 install matplotlib-1.4.2-cp27-none-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (premi INVIO). Per Python 3.4 digitare (vi verrà richiesta la vostra password) sudo pip3 install matplotlib-1.4.2-cp33-cp33m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl (premi INVIO). Programmazione in Python

Installare la libreria matplotlib Per utenti Linux con distribuzioni Debian/Ubuntu: Aprire il terminale e digitare sudo apt-get install python-matplotlib (premi INVIO) Inserire la password (non compaiono pallini ma state scrivendo ugualmente), premere INVIO. Attendere la fine dell’installazione. con distribuzioni Fedora/RedHat: Aprire il terminale e digitare sudo yum install python-matplotlib (premi INVIO) Programmazione in Python

Importare librerie in Python Per usare le funzioni definite in determinate librerie di Python è necessario importare tali librerie nel programma. La sintassi è la seguente: import nome_libreria Talvolta, per abbreviare il nome della libreria si definisce un alias tramite la parola chiava as dopo il nome della libreria, seguita dall’alias: import nome_libreria as alias Vediamo alcuni esempi: import math as m import numpy as np import matplotlib.pyplot as plt In questo modo, se volessimo utilizzare la funzione pow() della liberia math, potremmo scrivere direttamente m.pow() anziché math.pow(). Programmazione in Python

Grafici in Python Supponiamo di voler rappresentare graficamente (in un sistema di assi cartesiani) i valori contenuti in un array a di N elementi. Immaginiamo che i valori contenuti nell’array siano quelli relativi all’asse y ed i valori che indicano le posizioni in cui si trovano tali valori (da 0 ad N-1) siano relativi all’asse x. Programmazione in Python