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.
vuoi
o PayPal
tutte le volte che vuoi
ALGORITMI
Procedimento, che a partire da uno stato iniziale, consente di ottenere in un tempo finito un risultato atteso eseguendo un insieme di operazioni descritte in maniera completa e non ambigua.
Puo' essere eseguito da un elaboratore
- E' una descrizione completa e non ambigua di un procedimento
- Produce un risultato in un tempo finito
Proprieta'
- Correttezza: capacita' di risolvere il problema per ogni caso possibile o almeno per ognuna delle situazioni iniziali previste
- Efficienza: algoritmo perviene alla risoluzione del problema nel modo piu' veloce possibile e/o usando la minima quantita' di risorse, compatibilmente con la sua correttezza
Risorse consumate per l'esecuzione di un algoritmo
- Tempo esecuzione
- Memoria RAM
- Memoria massa
ESEMPIO
Start
Inserisci N
N divisibile per 4?
Sì
N divisibile per 100?
No
Sì
N divisibile per 400?
Bisestile
Sì
No
Non Bisestile
Stop
COMPUTER - ESEGUE SOLTANTO PROGRAMMI SCRITTI IN "LINGUAGGIO MACCHINA"
PROGRAMMA SORGENTE - SEQUENZA DI ISTRUZIONI ESPRESSE ATTRAVERSO UN LINGUAGGIO DI PROGRAMMAZIONE
NON È DIRETTAMENTE ESEGUIBILE DA UN COMPUTER
ESEGUIBILE - SEQUENZA DI ISTRUZIONI IN LINGUAGGIO MACCHINA
DIRETTAMENTE ESEGUIBILE DAL CALCOLATORE
DIFICILMENTE INTERPRETABILE DA UNA PERSONA UMANA
NAMING CONVENTIONS
- NON SONO OBBLIGATORIE
- FACILITANO COMPRENSIONE DEL CODICE
- IN PROGETTI COMPLESSI SI DIMOSTRANO MODO OTTIMO
ESEMPIO
Nomi Con Iniziali Insieme Maiuscole
DICHIARAZIONE VARIABILI
INFORMARE INTERPRETE CHE SI INTENDE USARE UNA VARIABILE
PER DICHIARARE UNA VARIABILE IN PYTHON BASTA EFFETTUARE UN ASSEGNAMENTO
ESEMPIO
TOTALE = 0
COGNOME = "ROSSI"
PI = 3,14
TIPI VARIABILI (ELEMENTARI)
PRINT (TYPE (C))
- INT => 100 (INTERO)
- FLOAT => 3.14 (NO CON VIRGOLA)
- STR => ROSSI (STRINGA)
- BOOL => TRUE/FALSE (BOOLEANO)
OPERAZIONI E TIPI DI VARIABILI
a=5
b=5
PRINT (a+b)
VISUALIZZATO 10
x = "MARIO"
y = "ROSSI"
PRINT (x+y)
VISUALIZZATO MARIOROSSI
z = "NUMERO"
k = 1
PRINT (z+k)
VISUALIZZATO ERRORE
Compiti Sistema Operativo
- Gestire avviamento e spegnimento del computer
- Gestire risorse condivise
- Gestire interconnessione con altri computer
- Fornire una user interface (interfaccia utente) per interazione tra uomo e computer
File System
Metodi e strutture dati che il sistema operativo usa per gestire i dati memorizzati su dischi o in generale su unità di archiviazione
File
Insieme dati, memorizzati tipicamente tramite una sequenza di bit
Directory
Struttura che raccoglie un insieme di file ed eventualmente (sotto) directory
Insieme file e directory -> organizzato ad albero
Esempio
Percorso relativo
/home/cessanini/lex/Lo1.pdf -> Percorso completo
- Directory
- Estensione file
Root
Directory che contiene tutte le altre directory e gli altri file di un system
Logica Booleana
- Aiuta a codificare i criteri di decisione
Perchè questo argomento?
- I criteri di scelta possono essere applicati dagli strumenti di elaborazione automatica delle informazioni
- Superare ambiguità del linguaggio naturale
Espressione Booleana
- Combinazione ben formata
- Operatori
- And, Or, Not, Xor, <->, ->
- Operatori
Tavole Verità
A B A AND B 0 0 0 0 1 0 1 0 0 1 1 1Operatore Moltiplicazione
A B A OR B 0 0 0 0 1 1 1 0 1 1 1 1Operatore Somma
A B A |NOT A| B 0 1 1 1 0 0 A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0Espressione è vera se 1 solo tra A e B è vero
A B A <-> B 0 0 1 0 1 0 1 0 0 1 1 1Implicaizone Doppia
A B A -> B 0 0 1 0 1 1 1 0 0 1 1 1Implicaizone Semplice
CONDIZIONI ANNIDATE
UN'ESPRESSIONE CONDIZIONALE PUÒ ANCHE ESSERE INSERITA NEL CORPO DI UN'ALTRA ESPRESSIONE CONDIZIONALE
IF x == y:
PRINT ('SONO UGUALI')
ELSE:
IF x < y:
PRINT (STR(x) + " È MINORE DI " + STR(y))
ELSE:
PRINT (STR(x) + " È MAGGIORE DI " + STR(y))
ELIF
- ABBREVIAZIONE DI ELSE IF
- NON C'È ALCUN LIMITE AL NUMERO DI ISTRUZIONI ELIF
- IN UN BLOCCO IF...ELIF => ISTRUZIONE ELSE È FACOLTATIVA, SE PRESENTE DEVE ESSERE L'ULTIMA DELL'ELENCO
- RICHIEDE UNA CONDIZIONE BOOLEANA
IF a < 10:
ELIF a >= 20:
ELSE:
CICLI
Si può riscrivere den += 1
Contatore
den = den + 1 - Prendi il (vecchio) valore di den, aumentalo di 1, memorizza il risultato come (nuovo) valore di den
Si può riscrivere num = num + v
aumento num del valore v
Cicli - for
While
While
Istruzione precedente
while condizione:
Istruzione corpo del ciclo
prima istruzione fuori dal ciclo
Trace Table
Strumento molto utile per identificare gli errori nei programmi, ci aiuta a comprendere come l'interprete Python valuta
È possibile annidare - cicli while ed if
Cicli while tra di loro
Strutture Dati Tuple
Tuple - Possiede un nome ed aggrega più oggetti organizzati sequenzialmente
- t = t[0] ... t(n-1)
Struttura dati complessa di tipo sequenza, statica ed eterogenea
= ( , ) delimitatore- Nome
- Separatore
- Sequenza t[2]
- Indici negativi t[-1]
- Lunghezza len(t)
- Slicing t[:2]
- È possibile estendere una tupla tramite concatenazione t = t + ()
Metodi
- index(element) -> Restituisce indice più piccolo
- count(element) -> Restituisce il conteggio delle occorrenze