Estratto del documento

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

Anteprima
Vedrai una selezione di 15 pagine su 67
Programmazione - le basi Pag. 1 Programmazione - le basi Pag. 2
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 6
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 11
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 16
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 21
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 26
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 31
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 36
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 41
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 46
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 51
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 56
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 61
Anteprima di 15 pagg. su 67.
Scarica il documento per vederlo tutto.
Programmazione - le basi Pag. 66
1 su 67
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher carcio_fina di informazioni apprese con la frequenza delle lezioni di Programmazione e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Bergamo o del prof Scandurra Patrizia.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community