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.
vuoi
o PayPal
tutte le volte che vuoi
Introduzione (1-2)
Informatica: Scienza che si occupa della rappresentazione e manipolazione dell'informazione (permette di ridurre il lavoro non creativo, ripetitivo)
- obiettivo di ogni rivoluzione industriale
Input (dati) → elaboratore (calcoli) → output (risultati)
- tastiera, microfono...
- devono essere comprensibili
- Problemi:
- come importare ed esportare i dati, trasformare informazioni in bit (0/1) → valori digitali in cui le grandezze sono discrete.
- In passato si utilizzavano valori analogici (dati reali) che portavano a possibili errori di confusione.
- Un altro vantaggio del digitale consiste nella possibilità di creare copie identiche dei dati (per i dati analogici cambia sempre una piccola parte dei dati, es.: cassette musicali che presentavano una variazione del suono).
n° interi rappresentabili = 2N dove N= n° bit
Il suono invece viene campionato e trasformato in una serie di bit (che descrivono la variazione del suono nel corso del tempo)
le immagini vengono divise in 'caselle' (pixel) e ad ogni pixel viene assegnato un valore (es.: bianco/nero ad 8
bit in cui il valore minimo indica il nero mentre il massimo indica il bianco.
Un altro metodo è quello vettoriale, utilizzato per grafici e non immagini. Il vantaggio consiste nella possibilità di variare la grandezza del grafico senza perdere qualità.
- ASCII: con 7 bit assegna ad ogni carattere un numero per rappresentarlo.
Hardware e software (2-3)
- Hardware: parte fisica del computer (monitor, mouse, memoria...)
- Software: programmi e dati contenuti nei dispositivi → istruzioni per l'hardware
- CPU: controlla l'esecuzione del programma e l'elaborazione dei dati (esegue le operazioni aritmetiche)
- RAM: memoria accessibile direttamente dalla CPU (memoria volatile) (memoria in cui si accede direttamente) → volatitle
- Memoria secondaria: hard disk, dischi flash, CD/DVD, dischi esterniConserva grandi quantità di dati permanentemente.
- Dispositivi di ingresso/uscita: mouse, tastiera, schermo... altro computer, utente
Esercizio flow chart (6-11)
Esempio: spese di spedizione
- US = 5€
- Hawaii, Alaska = 10€
- estero = 10€
Leggere e sommare due numeri.
START
A = 0
B = 0
somma = 0
- non indispensabile
somma = A + B
STOP
Leggi: 5 n° positivi, ignorando i negativi:
START
i = 0
i < 5
STOP
n
n < 0
i = i + 1
Stampa: divisori di N:
START
N
i = N
i > 0
STOP
N % i == 0
i
i = i - 1
Visualizzare la stagione corrispondente
START
mese giorno
- mese=1 or mese=2 or mese=3
- True
- mese=3 and giorno>=21
- True: stagione=primavera
- False: stagione=inverno
- False
- mese=4 or mese=5 or mese=6
- True
- mese=6 and giorno>=21
- True: stagione=estate
- False: stagione=primavera
- False
- mese=7 or mese=8 or mese=9
- True
- mese=9 and giorno>=23
- True: stagione=autunno
- False: stagione=estate
- False
- mese=10 or mese=11 or mese=12
- True
- mese=12 and giorno>=21
- True: stagione=inverno
- False: stagione=autunno
STOP
Stringhe
tutti i caratteri inseriti tra apici/virgolette.
Concatenare stringhe: str1 + str2 (non aggiunge spaziatura)
len("World!") = 6 (indica la lunghezza della stringa)
* ripete la stringa. Esempio: " * 50 (scrive 50 trattini)
str() = converte numeri in stringhe
Le stringhe sono immutabili, non si possono modificare i caratteri salvati. Ad ogni carattere è collegato un indice numerico (da 0 a len()-1).
Esempio:
- name = "Harry"
- first = name[0] # H
- last = name[4] # y
name = name[1] name[2] name[3] name[2] name[0]
Ho scambiato il primo e l'ultimo carattere
Python
usa i caratteri Unicode (100.000 caratteri).
- ord() = trasforma una stringa in codice ASCII
- chr() = un carattere nella stringa corrispondente
Python
è un linguaggio orientato agli oggetti e tutti i valori sono oggetti.
Ogni oggetto può avere dei metodi, ossia funzioni che lavorano sugli oggetti (object.method()). Anche nelle funzioni posso non avere parametri.
Le funzioni sono generali, mentre i metodi sono specifici per particolari oggetti.
Esempi:
- s.lower() = tutto minuscolo
- s.upper() = tutto maiuscolo
- s.replace(old, new) = tutte le volte che trova "old" lo sostituisco con "new"
- Il passaggio dei parametri è posizionale. Oppure, se conosco il nome della variabile nella funzione posso assegnare direttamente i valori:
x = complex (image = 2, real = 1)
- Valori di default: def complex (real = 0, image = 0)
- I posizionali devono precedere i nominali.
return <nessun parametro>: termina subito la funzione.
def main(): # per convenzione è il punto di inizio del programma
main() # richiama la funzione main
Lista (vettore)
Contiene in una variabile di elementi a cui si può avere accesso tramite la loro posizione
- Lista = [] # lista vuota
- Lista = [10, 21, 37] # lista con 3 valori
- Lista [0] = 10
- La lista è dinamica (i suoi dati si possono cambiare). È simile ad una stringa
- Può contenere numeri e stringhe contemporaneamente
- Copiando una variabile lista in un'altra, entrambe le variabili si riferiscono alla stessa lista (alias)