ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2)...
-
Upload
giacinta-rossini -
Category
Documents
-
view
217 -
download
0
Transcript of ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2)...
![Page 1: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/1.jpg)
ANNUNCI
MODULO C, D, E LABORATORI SONO INIZIATI
Modulo B: NON CI SARANNO LEZIONI MARTEDI’ 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA EACL)
CAMBIAMENTO ORARI: MODULO C, LAB D
![Page 2: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/2.jpg)
Orari: Moduli C1, C2 e C3
LUN MAR MER GIO VEN
8-10
10-12 B2
12-14 C2
14-16 B3
16-18 C3
18-20 B1 C1
![Page 3: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/3.jpg)
LABORATORI QUESTA SETTIMANA
LUN MAR MER GIO VEN
8-10 LAB ALAB A(23/3)
10-12LAB B (& B2)
LAB ELAB B(24/3)
12-14 C2
14-16LAB D (& B3)
LAB D(22/3)
D
16-18 LAB CLAB C(23/3)
C3
18-20 B1 C1
![Page 4: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/4.jpg)
MODULO D
LUN MAR MER GIO VEN
8-10
10-12 B2
12-14 C2
14-16 B3 D
16-18 C3
18-20 B1 C1
![Page 5: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/5.jpg)
RICEVIMENTO (MASSIMO POESIO)
Ricevimento: Martedi’ 16-18, via Sighele 7
![Page 6: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/6.jpg)
INFORMATICA UMANISTICA B
7: ALGORITMI, PROGRAMMI, E LINGUAGGI DI
PROGRAMMAZIONE
![Page 7: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/7.jpg)
PROGRAMMI
Un computer e’ una macchina per eseguire PROGRAMMI
Un programma e’ un ALGORITMO per risolvere un certo PROBLEMA scritto secondo le regole di un LINGUAGGIO DI PROGRAMMAZIONE
![Page 8: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/8.jpg)
ALGORITMO
Un PROGRAMMA e’ un ALGORITMO posto in forma comprensibile al computer
Definizione informale di ALGORITMO: una sequenza FINITA di passi DISCRETI e NON AMBIGUI che porta alla soluzione di un problema
Questa definizione si puo’ applicare al di fuori dell’Informatica: nella matematica (da cui ha origine) ma anche nella cucina
![Page 9: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/9.jpg)
UN QUASI-ALGORITMO: LA RICETTA PER LA BAGNA CAUDA
1. Cuocere gli spicchi di aglio, coperti con il latte, fino a quando non diventino teneri.
2. Tritare l'aglio3. Unirlo all'olio, alle acciughe tagliate molto
finemente4. Cuocere a fiamma moderata e mescolare
fino a far ridurre il contenuto in un composto omogeneo.
5. Dopo circa venti minuti aggiungere qualche fiocco di burro
6. Servire in tavola con le verdure.
![Page 10: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/10.jpg)
PERCHE’ QUASI-ALGORITMO?
Numero di passi e’ finito Ma molti passi sono ambigui:
‘teneri’? `fiamma moderata’?
![Page 11: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/11.jpg)
IL TERMINE ALGORITMO
Il nome ALGORITMO deriva dal nome del matematico persiano Muhammad ibn Mūsa 'l-Khwārizmī che attorno all’825 scrisse un trattato chiamato Kitāb al-djabr wa 'l-muqābala (Libro sulla ricomposizione e sulla riduzione) AL-KHWARIZMI ALGORISMO
ALGORITMO (ALGEBRA deriva da AL-DJABR)
![Page 12: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/12.jpg)
UN PROBLEMA, DUE ALGORITMI: IL MASSIMO COMUN DIVISORE
![Page 13: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/13.jpg)
MCD: UN ALGORITMO ELEMENTARE
A scuola si impara un algoritmo molto semplice per calcolare MCD: la SCOMPOSIZIONE IN FATTORI PRIMI
42 = 2 x 3 x 7 56 = 2 x 2 x 2 x 7
Algoritmo MCD(M, N):1. Scomponi M ed N in fattori primi2. Estrai i componenti comuni
Questo metodo si’ puo’ solo applicare per numeri piccoli (la scomposizione in fattori primi e’ molto costosa)
![Page 14: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/14.jpg)
MCD: L’ALGORITMO DI EUCLIDE
MCD(M,N):1. RIPETI finche’ M N
2. SE M > N, M M –N;
3. ALTRIMENTI, N N – M;
4. RITORNA al passo 1;
5. OUTPUT M
![Page 15: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/15.jpg)
ESEMPIO
MCD(42,56): M(42) N(56);
N (56) > M (42) N 14
M(42) N(14); M (42) > N (14); M 28
M(28) N(14) M(28) > N (14); M 14
OUTPUT: 14
![Page 16: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/16.jpg)
ALCUNE CONSIDERAZIONI:PROBLEMI ED ALGORITMI
Ci sono sempre molti algoritmi per risolvere un problema
Parte dell’arte della programmazione e’ trovare gli algoritmi piu’ efficienti
![Page 17: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/17.jpg)
ALGORITMI E FUNZIONI
In termini matematici, un algoritmo puo’ essere visto come una FUNZIONE che produce un certo OUTPUT dato un certo INPUT Per esempio, MCD(42,56) = 14
Due algoritmi si dicono EQUIVALENTI se producono lo stesso output dato lo stesso input. Fattori primi e Euclide sono EQUIVALENTI (ma
non egualmente efficienti!!)
![Page 18: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/18.jpg)
ALGORITMI PIU’ COMUNI IN INFORMATICA
Algoritmi MATEMATICI Per fare calcoli anche molto complessi (per esempio,
integrali, la scoperta di numeri primi)
Algoritmi di ORDINAMENTO 45 2 17 28 101 2 17 28 45 101
Algoritmi di RICERCA Algoritmi per il TRATTAMENTO DELLE STRINGHE COMPILATORI Algoritmi di COMPRESSIONE
![Page 19: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/19.jpg)
DA ALGORITMI A PROGRAMMI
![Page 20: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/20.jpg)
LINGUAGGI DI PROGRAMMAZIONE
Un linguaggio di programmazione permette di esprimere certi tipi di istruzioni in modo che possano venire poi convertite in istruzioni macchina
Un linguaggio di programmazione e’ caratterizzato da SINTASSI (come vengono scritte le istruzioni) SEMANTICA (come devono venire interpretate)
![Page 21: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/21.jpg)
CONSIDERAZIONI, II: INGREDIENTI ESSENZIALI DI UN LINGUAGGIO DI PROGRAMMAZIONE
MCD(M,N):1. RIPETI finche’ M N
2. SE M > N, M M –N;
3. ALTRIMENTI, N N – M;
4. RITORNA al passo 1;
5. OUTPUT M
![Page 22: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/22.jpg)
DIAGRAMMI DI FLUSSO
Una rappresentazione grafica usata per descrivere in modo piu’ preciso i passi di un algoritmo senza usare una sintassi specifica
Un diagramma e’ composto da una serie di BLOCCHI uniti da archi
![Page 23: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/23.jpg)
BLOCCHI: INIZIO E FINE PROGRAMMA
![Page 24: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/24.jpg)
BLOCCHI: ISTRUZIONI ELEMENTARI
![Page 25: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/25.jpg)
BLOCCHI: INPUT / OUTPUT
![Page 26: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/26.jpg)
ESEMPIO: AREA DEL RETTANGOLO
Calcolo dell’area di un rettangolo AREA:
1. Leggi da input l’altezza H
2. Leggi da input la base B
3. Calcola l’area A
4. Produci in output il risultato
![Page 27: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/27.jpg)
AREA DEL RETTANGOLO: DIAGRAMMA DI FLUSSO
![Page 28: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/28.jpg)
LE VARIABILI
Molti algoritmi richiedono un qualche modo per immagazzinare i risultati di certi calcoli. Per esempio, nell’algoritmo per MCD, M e N
Quasi tutti i linguaggi di programmazione permettono di usare delle VARIABILI per questo scopo. Una variabile puo’ essere pensata come un nome per una zona di memoria.
![Page 29: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/29.jpg)
ESEMPIO: SCAMBIO DI VALORI
1. Leggi il valore della prima variabile X
2. Leggi il valore della seconda variabile Y
3. Salva il valore di X in una variable Aux per ricordarlo
4. Assegna ad X il valore di Y
5. Assegna a Y il valore di Aux
![Page 30: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/30.jpg)
DIAGRAMMA DI FLUSSO
![Page 31: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/31.jpg)
CONDIZIONALI
Un’altro degli ingredienti fondamentali di un linguaggio di programmazione e’ la possibilita’ di scegliere di eseguire istruzioni diverse a seconda dei risultati di un TEST
![Page 32: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/32.jpg)
CONDIZIONALI
![Page 33: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/33.jpg)
ESEMPIO: PARI O DISPARI
1. Leggi N
2. Dividi N per 2
3. Se Resto = 0 scrivi: N e’ pari
4. Altrimenti scrivi: N e’ dispari
![Page 34: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/34.jpg)
PARI E DISPARI
![Page 35: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/35.jpg)
RIPETIZIONI
L’ultimo componente fondamentale di un linguaggio di programmazione e’ la possibilita’ di ripetere le stesse azioni un gran numero di volte
![Page 36: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/36.jpg)
RIPETIZIONI
![Page 37: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/37.jpg)
ALGORITMO DI EUCLIDE
M = N?
OUTPUT:M
M > N?
M M - N N N - M
STOP
START
![Page 38: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/38.jpg)
REMINDER: LA MACCHINA DI TURING E L’IPOTESI DI CHURCH
Quando avevamo introdotto la macchina di Turing, si era menzionata l’ipotesi di Church: La macchina di Turing’ e’ una macchina
UNIVERSALE Nel senso che ogni programma eseguibile puo’
essere scritto sotto forma di istruzioni per la macchina di Turing
Questa ipotesi si basa sul fatto che la macchina di Turing puo’ esprimere tutti i costrutti fondamentali appena discussi
![Page 39: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/39.jpg)
STRUTTURE DATI
![Page 40: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/40.jpg)
LINGUAGGI DI PROGRAMMAZIONE
Il calcolatore comprende istruzioni in LINGUAGGIO MACCHINA 0011 001 002
Una prima astrazione dal linguaggio macchina sono i cosiddetti ASSEMBLER che esprimono le istruzioni macchina in formato simbolico ADD R1 R2
Una seconda astrazione sono i linguaggi di programmazione AD ALTO LIVELLO che astraggono dalle istruzioni macchina X X + Y
![Page 41: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/41.jpg)
ALGORITMO DI EUCLIDE IN UN TIPICO LINGUAGGIO AD ALTO LIVELLO
function MCD(M,N) while M ≠ N if M > N then M M - N else N N - M return M
![Page 42: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/42.jpg)
COMPILATORE
E’ un programma che trasforma un programma espresso in linguaggio ad alto livello (PROGRAMMA SORGENTE) in linguaggio macchina (PROGRAMMA OGGETTO) In Windows: crea file .exe
Linguaggi tipicamente compilati: C, C++, Fortran, Pascal
![Page 43: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/43.jpg)
COMPILATORI
![Page 44: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/44.jpg)
INTERPRETI
Un interprete e’ un programma che interpreta le istruzioni di un programma ad alto livello DIRETTAMENTE, senza tradurle in linguaggio macchina
Tipici linguaggi interpretati: Java, Lisp, Perl, Python
![Page 45: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/45.jpg)
UN ESEMPIO DI LINGUAGGIO DI PROGRAMMAZIONE
VISUAL BASIC e’ il linguaggio di programmazione usato per sviluppare applicazioni in ambienti Microsoft Windows
E’ un linguaggio Di alto livello Interpretato Visuale
![Page 46: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/46.jpg)
VISUAL BASIC:ASSEGNAZIONE AD UNA VARIABILE
![Page 47: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/47.jpg)
VISUAL BASIC: INPUT / OUTPUT
![Page 48: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/48.jpg)
VISUAL BASIC:COSTRUTTI CONDIZIONALI
![Page 49: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/49.jpg)
VISUAL BASIC:ITERAZIONI
![Page 50: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/50.jpg)
DIFFERENZE TRA LINGUAGGI AD ALTO LIVELLO
GREP in PERL:
while (<STDIN>) {
if (/Poesio/) { print $_;}
}
![Page 51: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/51.jpg)
DIFFERENZE TRA LINGUAGGI AD ALTO LIVELLO
….import java.util.regex.*;
public class Grep { …. // Pattern used to parse lines private static Pattern linePattern = Pattern.compile(".*\r?\n"); // The input pattern that we're looking for private static Pattern pattern; // Compile the pattern from the command line private static void compile(String pat) { try { pattern = Pattern.compile(pat); } catch (PatternSyntaxException x) { System.err.println(x.getMessage()); System.exit(1); } } // Use the linePattern to break the given CharBuffer into lines, applying // the input pattern to each line to see if we have a match
private static void grep(File f, CharBuffer cb) { Matcher lm = linePattern.matcher(cb); // Line matcher Matcher pm = null; // Pattern matcher int lines = 0; while (lm.find()) { lines++; CharSequence cs = lm.group(); // The current line if (pm == null) pm = pattern.matcher(cs); else pm.reset(cs); if (pm.find()) System.out.print(f + ":" + lines + ":" + cs); if (lm.end() == cb.limit()) break; } }
![Page 52: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/52.jpg)
XSL
XSL (eXtensible Stylesheet Language): un linguaggio che permette di specificare come visualizzare un documento formattato in XML
Uso tipico: convertire XML in HTML
![Page 53: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/53.jpg)
COSTRUTTI CONDIZIONALI IN XSL
<xsl:template match="poem">
<xsl:if test="@author='jm'"> 1. The poem's author is jm. </xsl:if>
<poem author="jm" year="1667"> <verse>Seest thou yon dreary Plain, forlorn and wild,</verse> <verse>The seat of desolation, void of light,</verse> <verse>Save what the glimmering of these livid flames</verse> <verse>Casts pale and dreadful?</verse> </poem>
![Page 54: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/54.jpg)
LINGUAGGI DI MARCATURA E LINGUAGGI DI PROGRAMMAZIONE
Attenzione a non confondere un linguaggio di MARCATURA come XML con un linguaggio di PROGRAMMAZIONE come XSL Un linguaggio di marcatura CLASSIFICA certe
porzioni di testo Un linguaggio di programmazione specifica
ISTRUZIONI
![Page 55: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/55.jpg)
QUALI SONO I LINGUAGGI DI PROGRAMMAZIONE PIU’ USATI?
![Page 56: ANNUNCI MODULO C, D, E LABORATORI SONO INIZIATI Modulo B: NON CI SARANNO LEZIONI MARTEDI 10-12 (B2) DOMANI 21 MARZO (TESI DI LAUREA) 4 APRILE (CONFERENZA.](https://reader033.fdocumenti.com/reader033/viewer/2022051515/5542eb58497959361e8c2d0a/html5/thumbnails/56.jpg)
LETTURE
Da Wikipedia: le voci Algoritmo Diagramma a blocchi Programma Linguaggio di Programmazione