Anteprima
Vedrai una selezione di 12 pagine su 52
Appunti di informatica (python) Pag. 1 Appunti di informatica (python) Pag. 2
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 6
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 11
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 16
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 21
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 26
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 31
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 36
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 41
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 46
Anteprima di 12 pagg. su 52.
Scarica il documento per vederlo tutto.
Appunti di informatica (python) Pag. 51
1 su 52
D/illustrazione/soddisfatti o rimborsati
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Estratto del documento

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?

N divisibile per 100?

No

N divisibile per 400?

Bisestile

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, <->, ->

Tavole Verità

A B A AND B 0 0 0 0 1 0 1 0 0 1 1 1

Operatore Moltiplicazione

A B A OR B 0 0 0 0 1 1 1 0 1 1 1 1

Operatore 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 0

Espressione è vera se 1 solo tra A e B è vero

A B A <-> B 0 0 1 0 1 0 1 0 0 1 1 1

Implicaizone Doppia

A B A -> B 0 0 1 0 1 1 1 0 0 1 1 1

Implicaizone 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
Dettagli
Publisher
A.A. 2017-2018
52 pagine
1 download
SSD Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher Aishapodavini di informazioni apprese con la frequenza delle lezioni di Informatica 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 Milano - Bicocca o del prof Cesarini Mirko.