TIPI DI DATI NUMERICI
Una variabile può fare riferimento a un qualsiasi tipo di valore.
Letterale numerico: un numero scritto direttamente nel codice;
l’interprete Python ne determina il tipo automaticamente in base alla
sintassi(tipizzazione dinamica).
Esempi: stanza = 503 num= -3 dollari = 2.75
Stringa: una stringa scritta direttamente nel codice; l’interprete Python
ne determina il tipo automaticamente.
Esempi: oppure:
nome = "Maria" nome = 'Maria'
Alcune operazioni hanno una semantica diversa a seconda del tipo di dato.
Data type(tipo di dato): usati per distinguere le diverse classificazioni di valori
in memoria.
Tipi di dato semplici:
- Int: valore intero
- Float :valore reale(numeri in virgola mobile)
- Complex: per i numeri complessi
- Bool: per i valori booleani
Tipi di dati strutturati (raggruppamenti di tipi semplici):
- Immutabili: str(stringhe), tuple(tuple), frozenset(insiemi immutabili)
- Mutabili: list(liste), dict(dizionari), set(insiemi), file(file).
LEGGERE L’INPUT DA TASTIERA IN PYTHON
Per leggere l’input da tastiera si usa la funzione predefinita input.
- Restituisce il dato letto come una stringa
- Formato: variabile=input(prompt)
Prompt: È una stringa visualizzata sullo schermo che tipicamente rappresenta
un messaggio di invito per l’utente ad inserire un valore di input.
LETTURA DI NUMERI CON LA FUNZIONE INPUT
restituisce sempre una stringa .
input
Altre funzioni predefinite in Python possono essere usate per convertire la
stringa in un numero:
- inunint
int(item)converteitem
- converte in un
float(item) item float
La conversine dei tipi funziona solo se è un valore numerico valido,
item
altrimenti, viene sollevato un errore (eccezione)
Chiamate di funzioni annidate:
- formato generale: function1(function2(argument))
Il valore restituito da function2 viene passato come argomento alla
funzione function1.
ESEGUIRE ISTRUZIONI DI CALCOLO
Espressione matematica: esegue un calcolo e restituisce un valore.
- Si compone di operatori matematici e operandi.
- Le variabili possono essere usate come operandi.
- Il risultato dell’espressione viene tipicamente assegnato ad una
variabile o usato come sotto-espressione di un’altra espressione.
OPERATORI ARITMETICI IN PYTHON
Due operatori per la divisione:
1. / per la divisione con risultato in virgola mobile(float).
2. // per la divisione intera con risultato un numero intero.
- Se il risultato è positivo, viene troncato: 5//2=2
- Se è negativo viene arrotondato per difetto all’intero più vicino:
-5//2=-3
Precedenza degli operatori:
1. Operazioni racchiuse tra parentesi tonde
2. Elevamento a potenza
3. Moltiplicazione, divisione e resto resto
4. Addizione e sottrazione
Gli operatori a più alta precedenza vengono eseguiti prima.
Operatori con la stessa precedenza vengono eseguiti da sinistra verso destra.
Conversioni:
Quando si esegue un’operazione matematica, il tipo di dato del risultato
dipende dal tipo di dato degli operandi.
Python segue queste regole:
- Il risultato di un’operazione con operandi int è di tipo int.
- Il risultato di un’operazione con operandi float è di tipo float.
- Il risultato di un’operazione mista con operandi int e float è di tipo
float.
In quest’ultimo caso l’operando int è temporaneamente convertito in float,
questa è chiamata conversione implicita.
È possibile effettuare una conversione esplicita usando le funzioni predefinite
float() e int(). La conversione esplicita di un float a int causa un troncamento
della parte frazionaria.
OUTPUT DEI DATI
Print visualizza una riga di output
- Produce automaticamente un carattere di nuova riga(carattere
trasparente che indica un rimando a capo) al termine di ogni valore
stampato.
- È possibile specificare un delimitatore diverso dal carattere di fine
riga assegnandolo come valore dell’argomento speciale delle
funzione print end=’delimiter’
Esempio:
Print usa lo spazio come separatore.
- L’argomento fa si che usi come
sep=’delimiter’ print delimiter
separatore.
Esempio:
CARATTERI DI ESCAPE
Caratteri speciali preceduti dal simbolo di barra in inversa(\) che possono
apparire all’interno di letterali stringa.
Esempi:
Sono considerati come dei comandi per forzare una certa formattazione
dell’output.
Esempio:
Alcuni caratteri Escape di Python:
CONCATENAMENTO TRA STRINGHE
Il simbolo + può essere usato come operatore di concatenamento tra stringhe.
È utile per spezzare una stringa lunga su più linee.
FORMATTAZIONE DEI NUMERI
È possibile tramite la funzione predefinita Prende due argomenti:
format.
1. Il numero da formattare
2. Uno specificatore di formato(tipicamente indica la precisione e il tipo di
dato).
E infine restituisce una stringa del numero formattato.
Esempio:
Formattazione notazione scientifica: si può utilizzare nello specificatore di
formato della funzione la lettera o al posto di
format e E f.
Esempio:
Formattazione di un numero in virgola mobile come percentuale: il simbolo %
può essere usato nello specificatore di formato della funzione al posto
format
di f formattare un numero come
percentuale.
Esempio:
ASSEGNAZIONI IN PYTHON
Assegnazioni semplici:
assegnazioni multiple(ma il numero di
oggetti a sinistra e a destra deve essere lo
stesso):
Altri tipi di
assegnamento:
SIMULAZIONE DI UN PROGRAMMA
STRUTTURE DI CONTROLLO
PROGRAMMAZIONE STRUTTURATA
Teorema di Bohn-Jacopini: un qualsiasi algoritmo può essere espresso in un
linguaggio di programmazione che disponga soltanto delle tre strutture di
controllo: sequenza, selezione e iterazione.
In un algoritmo una struttura di controllo è un gruppo di istruzioni con un unico
punto di ingresso e un unico punto d’uscita.
La programmazione strutturata è una tecnica di programmazione che permette
la costruzione di algoritmi basandosi solamente su queste tre strutture di
controllo.
STRUTTURE DI CONTROLLO DEL FLUSSO
Oltre la sequenza, le istruzioni di controllo che permettono di alterare il
normale “flusso sequenziale” di esecuzione di un programma a seconda che
una opportuna condizione sia verificata o meno sono:
Istruzioni decisionali(o condizionali o di selezione): per eseguire o meno
una porzione di programma(blocco di istruzioni).
Istruzioni iterative(o cicli): per ripetere più volte l’esecuzione di una
porzione di programma.
CONDIZIONE(O ESPRESSIONE BOOLEANA)
Espressione che assume valori booleani( o
True False).
Servono a controllare se durante l’esecuzione del programma si verificano o
meno opportune circostanze.
Contengono operatori relazionali(o di confronto),come <, e operatori booleani,
come and.
Esempio:
OPERATORI RELAZIONALI(O DI CONFRONTO)
Confrontando due operandi di tipo compatibile e restituiscono un valore
booleano True o False.
Esempio:
In Python è anche possibile confrontare le stringhe con gli operatori relazionali.
L’ordinamento dei valori alfanumerici è:
- Basato sui codici ASCII dei singoli caratteri.
- Lessicografico: ovvero prima le cifre, poi le maiuscole e le
minuscole.
Esempio
:
VARIABILI BOOLEANE
Variabili che referenziano uno dei due valori booleani o
True False.
- Rappresentati dal tipo di dato bool.
Sono spesso usate come flag(sentinella).
Flag: una variabile che segnala quando in un programma esiste una certa
condizione.
- Flag a condizione non esiste
false
- Flag a condizione esiste
true
OPERATORI BOOLEANI
Operatori su valori o espressioni booleane(di tipo bool) per combinare valori
vero/falso.
- Operatore binario (vero se entrambi gli operandi sono veri)
and
- Operatore binario (vero se almeno uno degli operandi è vero)
or
- Operatore unario (vero se l’unico operando è falso)
not
La loro semantica si descrive attraverso le tabelle di verità.
VALUTAZIONE A CORTO CIRCUITO DEGLI OPERATORI AND E OR
Short Circuit evaluation(valutazione a corto circuito): permette di decidere il
valore di una espressione booleana composta dopo aver valutato solo una sua
sotto-espressione.
- Per l’operatore or: se l’operando a sinistra dell’OR è vero, l’intera
espressione composta è vera. Altrimenti (se falso), valuta anche
l’operando di dx.
- Per l’operatore and: se l’operando a sx dell’AND è falso, l’intera
espressione composta è falsa. Altrimenti(se vero), valuta anche
l’operando di dx.
CONTROLLO DI INTERVALLI NUMERICI CON GLI OPERATORI LOGICI
- Per determinare se un numero è all’interno di un intervallo di valori,
usa and
Esempio:
x >= 10 and x <= 20
- Per determinare se un numero è esterno ad un intervallo di valori,
usa or
Esempio:
x < 10 or x > 20
STRUTTURE DECISIONALI
ISTRUZIONE DECISIONALE(AD ALTERNATIVA SINGOLA)
Consentono di eseguire un blocco di istruzioni alternative a seconda del valore
vero o falso di una condizione.
Diagramma di flusso:
- Il blocco romboidale indica una
condizione(espressione booleana) da
valutare.
- L’azione è eseguita
Wear a coat
solamente se la condizione Cold
è vera.
outside
- Ad alternativa singola perché esiste un
solo percorso alternativo di esecuzione.
- È possibile eseguire più di una istruzione
nel percorso alternativo.
- O addirittura strutture di controllo
annidate.
- Sintassi in Python:
Semantica:
Viene valutata la condizione
Se la condizione è vera viene eseguito il blocco e poi si prosegue con
l’istruzione successiva all’if
Se la condizione è falsa si prosegue direttamente con l’istruzione
successiva.
ISTRUZIONE DECISIONALE(AD ALTERNATIVA DOPPIA)
Sintassi in Python:
Semantica:
- Viene valutata la condizione.
- Se la condizione è vera viene eseguito il primo blocco e poi si
prosegue con l’istruzione successiva all’if
- Se la condizione è falsa si esegue il secondo blocco e poi si
prosegue con l’istruzione successiva all’if.
Esempio:
STRUTTURE DECISIONALI ANNIDATE
Una struttura decisionale può essere annidata dentro un’altra struttura
decisionale.
In una struttura decisionale annidata è
fondamentale usare correttamente i
rientri. - Allineare ogni clausola else
con l
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Programmazione
-
Informatica, programmazione
-
Programmazione - programmazione Java 2
-
Programmazione web