





























Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Informatica generale terzo anno di Marketing, Comunicazione aziendale e mercati globali. Appunti Python e SQL Professor Mazzei
Tipologia: Appunti
1 / 37
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!






























Somma=somma + indice
Indice ≤ N
Somma=
Indice=
Mentre (indice ≤ N):
Procedura, composta da una serie di passi, per risolvere un problema.
Il significato di un programma per il computer è letterale e privo di ambiguità, e può essere
completamente interpretato mediante l’analisi dei simboli e della scrittura.
Un algoritmo è composto da:
a. Variabili (dati) in ingresso
b. Variabili (risultato) in uscita
c. Procedura
Esempi.
o Ingresso: A , B
o Uscita: C
o Procedura: C=A+B
o Ingresso: L
o Uscita: perimetro, area
o Procedura: perimetro=L4, area=LL
o Ingresso: N
o Uscita: Valore assoluto
o Procedura: Se N<0, valore assoluto=-N
Se N>0, valore assoluto=N
o Ingresso: N
o Uscita: Somma
o Procedura: Iterazione ⇢ quali condizioni ripetere, sotto quali condizioni.
Adatti alla comprensione
dell’esecutore.
▪ Scegliere
▪ Ripetere
Somma= somma + indice
Indice= indice + 1
Chiamate al sistema operativo mascherate dal linguaggio di programmazione.
Il calcolatore ha limiti fisici ⇢ lavora su approssimazioni.
⇒ i numeri non potranno essere infiniti.
Esempio.
Calcolare gli zeri della funzione: 𝑓
𝑥
3
100
Ingressi di un programma:
Uscite:
Depositi di dati su memoria di massa (hard-disk, usb, ssd, cd, dvd)
Sono gestiti dal sistema operativo: bisogna chiedere al sistema operativo per adoperarlo.
I file sono di diverso tipo, noi utilizzeremo i FILE DI TESTO: depositare dati.
⇢ Per leggere e scrivere su file di testo si utilizza editore (blocco note, notpad++)
ad un file.
Come
▪ Lettura [r]: file già esistente
▪ Scrittura [w]: creazione di un nuovo file
▪ Lettura/scrittura [r+]
▪ Aggiunta (append) [a]: aggiungo dei dati alla fine di un file
Problemi
▪ [r]: il file non esiste (messaggio d’errore)
▪ [w]: non c’è spazio nel file
▪ In tutti i casi: non ho diritti per creare/scrivere/modificare il file.
Bisogna calcolare il punto medio e
ripetere l’operazione fino a
quando il valore e circa zero.
Nota Bene!
Ci possono essere più ELIF ma
un solo ELSE.
Leggere un numero e scrivere positivo o negativo a seconda della sua natura.
⇢ Il problema implica una scelta tra due alternative:
IF (condizione)
Istruzione se condizione vera.
Istruzione se condizione falsa
ELIF (condizione)
Permette di aggiungere una condizione in maniera più semplice.
Esercizio.
Dato un numero N, calcolare il suo valore assoluto e riscriverlo in N.
Condizione: N < 0
Azione: “calcolare l’opposto di N e riscriverlo in N”
⇢ in questo caso non serve un’alternativa: no Else, no Elif.
Esercizio.
Dato un numero N, se è positivo raddoppiarlo, se è negativo dimezzarlo, se è nullo non
fare nulla. Scrivere il risultato in N.
I rami ELSE e ELIF non sono
necessari e obbligatori.
Se fosse allineato con IF, l’istruzione sarebbe
terminata. Quindi il programma leggerebbe
l’ELSE e l’ELIF come errori.
Il p
Esercizio.
Dati i coefficienti di una equazione di secondo grado a, b, c, indicare il numero di radici
reali.
Se voglio conoscere anche il valore delle radici, bisogna aggiungere il seguente
procedimento:
Esercizio.
Dati tre numeri a, b, c, determinare il maggiore.
Esercizio.
Leggere dei numeri e sommare i positivi. Smettere dopo aver letto 4 numeri o se la somma
è maggiore di 30.
Esercizio.
Leggere dei numeri da file finché non è terminato, dopodiché sommarli.
⇢ Come si fa a capire quando il file è terminato?
Esercizio.
Leggere da un file dei valori e determinare il valore massimo e il minimo letto (con una sola
lettura da file). Il file contiene almeno un valore.
Azioni:
In questo modo, maggiore e minore contengono dei valori presenti nella sequenza.
la variabile LEN(X).
(le sequenze non hanno lunghezza negativa)
Esercizio.
In un file è contenuto almeno un valore. Calcolare la media e la varianza dei valori presenti
nel file effettuando una sola lettura del file.
⇢ non conosco le dimensioni del file:
Un file contiene, per ogni riga, sequenze di caratteri (stringhe).
⇢ Come si determina la lunghezza della sequenza più lunga contenuta nel file?
(il file contiene almeno una stringa)
Esercizio.
𝜎
2
= 𝐸
[ 𝑥
2
] −
( 𝐸
[ 𝑥
])
2
Esercizio.
In un file ci sono dei numeri; trovare il valore maggiore e il numero di volte che compare. Il
file contiene almeno un valore.
Attenzione!
Devo assegnare alla variabile “maggiore” un valore che esiste nel file.
⇢ leggo ed assegno il valore di massimo fuori dal file e poi continuo con la lettura.
Scorre automaticamente i valori di un elenco (anche di un file) finché l’elenco non è
terminato.
⇢ azioni da ripetere mentre l’elenco non è vuoto
Esercizio.
Determinare l’elemento maggiore.
Bisogna andare per tentativi,
finché la soluzione non sia
accettabile
Esercizio esame.
Scrivere un algoritmo codificato in linguaggio Python che legge da file una sequenza di
numeri interi finché non viene inserito un valore uguale al primo valore inserito o non si
sono letti due numeri positivi consecutivi. L’algoritmo somma fra loro i valori maggiori del
primo valore letto e scrive tale somma nella variabile “sm’’.
Come si esce dal ciclo prima di verificare la condizione?
Si utilizza l’istruzione BREAK
Esercizio.
Leggere terne di numeri e sommare il valor medio di ogni terna.
a. Leggere tre numeri dal file
b. Calcolarne la media
c. Sommarla alle altre medie.
Esercizio.
Leggere sequenze di numeri e determinare la media e la varianza.
Esercizio.
Leggere dei numeri e contare quanti numeri interi sono stati contenuti nella sequenza.
Procedimento:
Controllo:
Se il file è finito, x contiene la
stringa vuota che può essere
convertita in numero
Per ipotesi il file
contiene un numero
di valori multiplo di
tre e quindi y e z
sono sicuramente
presenti
Parametro formale
Variabile temporanea
(parametro attuale)
Nome
funzione
Serie di istruzioni che esegue un calcolo, alla quale viene assegnato un nome. Per definire una
funzione bisogna specificarne il nome e scrivere la serie di istruzioni. In un secondo tempo,
possiamo “chiamare” la funzione mediante il nome che le abbiamo assegnato.
La chiamata di una funzione genera un nuovo valore, che di solito viene associato ad una variabile
o si usa come parte di un’espressione.
⇒ È una sequenza di istruzioni cui viene dati un nome e può essere generalizzata con dei
parametri.
Scopo:
gli errori).
Aspetto sintattico:
Richiamo della funzione:
Esempio.
L’istruzione RETURN
Il suo significato è: “ritorna subito da questa funzione e usa l’espressione seguente come valore di
ritorno.
Talvolta occorre prevedere due istruzioni di ritorno, una per ciascuna ramificazione di
un’istruzione condizionale.
Non appena viene eseguita un’istruzione “Return”, la funzione termina senza eseguire ulteriori
istruzioni. Il codice che viene a trovarsi dopo l’istruzione “Return” o in ogni altro punto che non
può essere raggiunto dal flusso di esecuzione, è detto codice morto.
Nota!
In una funzione produttiva, occorre accertarsi che ogni possibile percorso del flusso di
esecuzione del programma conduca ad un’istruzione “Return”.
➔ Dato che queste istruzioni “Return” si trova in due rami
di una condizione alternativa, solo una delle due sarà
effettivamente eseguita.
➔ Se x=0, nessuna delle due condizioni è vera e la funzione
termina senza incontrare un’istruzione Return.
Il valore di ritorno sarà None
≠ 0
Esercizio.
Scrivere la funzione che come parametri due numeri interi X e Y e somma tutti valori fra X
e Y estremi inclusi.
Nota!
Non è necessario che gli elementi di una
lista siano tutti dello stesso tipo.
Una lista all’interno di un’altra
lista è detta NIDIFICATA.
Definisco la lista
Prendo l’elemento di posizione 3
Prendo l’elemento partendo dalla fine della lista
L’elemento non appartiene alla lista
Una lista è una sequenza di valori. Mentre in una stringa i valori sono dei caratteri, in una lista
possono essere di qualsiasi tipo.
I valori che fanno parte di una lista vengono definiti ELEMENTI.
⇢ Il metodo per creare una lista consiste nel racchiudere i suoi elementi tra parentesi quadrate.
[‘primi 𝑝𝑖𝑎𝑡𝑡𝑖’, ‘𝑠𝑒𝑐𝑜𝑛𝑑𝑖 𝑝𝑖𝑎𝑡𝑡𝑖’, ‘𝑑𝑒𝑠𝑠𝑒𝑟𝑡’]
[ ] ⇢ lista vuota
Ovviamente, si possono assegnare i valori della lista a variabili:
>>> numeri = [13, 28, 5]
>>> dolci = [‘salale di cioccolato’, ‘meringata’]
>>> print (numeri, dolci)
Gli elementi di una lista sono indicizzati in base alla loro
posizione.
Esempio.
Un segmento o una porzione di lista è chiamato SLICE. L’operazione di selezione di una porzione di
lista è detta SLICING.
L’operatore [n:m] restituisce la porzione di lista nell’intervallo compreso tra “l’n-esimo” elemento
incluso fino all’”m-esimo” escluso.
La fine non è mai inclusa
Viene scritto il valore contenuto il “l”. (indirizzo di memoria
del primo elemento della lista)
Prendi l’elemento “i” all’interno della lista.
Definizione della lista. Creo la variabile che indica
l’elemento del primo elemento della lista.
b. Se non serve il valore rimosso, possiamo usare l’operatore “del”.
Per rimuovere più di un elemento si può usare “del” con lo slicing.
nomeLista [posizioneElemento] = nuovoValore
Range (inizio, fine)
Si, in modo simile alle variabili di tipo int e float.
Con una variabile x, senza passare attraverso una lista.
Operazione “ Range ”
Al termine dell’esecuzione il parametro
“vr” non è cambiato
Copio nel parametro “v” il valore del parametro attuale
Agisco sulla copia, il parametro attuale “vr” non
subisce alcun effetto
Definizione
della
variabile