026SM - INFORMATICA APPLICATA ALLE SCIENZE GEOLOGICHE 2022
Schema della sezione
-
Lezione di apertura (3 ottobre 2022 h.14:00--17:00, aula 3A edif. H2bis), prof. Omodeo. Aspetti organizzativi dell'insegnamento. Cenni introduttivi su MATLAB
-
La nozione di algoritmo (4 ottobre 2022, h.11:00--12:00, aula D palazzina Q), Omodeo
Qualche considerazione generale sulla nozione di algoritmo e tre esempi:
- calcolo del massimo comun divisore di due operandi (numeri naturali, non entrambi 0)
- calcolo dei numeri di Fibonacci
- rappresentazione posizionale di numeri in diverse basi
-
Un algoritmo e i programmi che lo implementano (10 Ottobre 2022, aula 3A edificio H2bis, h.14--17), Omodeo
Rappresentazione dei numeri in diverse basi (per esempio in base 16, dove alle usuali cifre 0,1,2,3,4,5,6,7,8,9 si aggiungono altre sei `cifre` A,B,C,D,E,F
-
Esempi a parte, la specifica MATLAB di questo procedimento si trova in questa stessa pagina Moodle, sotto la lezione del 4 ottobre.
-
La descrizione informale di questo algoritmo si trova nella presentazione conservata sotto la data 4 ottobre
-
-
Specifica MATLAB di funzioni matematiche per il calcolo numerico e/o simbolico. (17 ott. 2022, Aula 3A edif. H2bis, h.14--17), Omodeo da remoto
Gli script visti in precedenza,
- per la rappresentazione di numeri naturali in diverse basi,
- per il calcolo del MCD,
vengono rivisitati e implementati come M-funzioni dotate di parametri.
Motivante per il punto successivo. Sottomettere a Matlab il comando: figure, plot(0:100,sqrt(0:100)), hold on, plot(0:100,floor(sqrt(0:100)))
Seguono esercizi: realizzare M-funzioni per:
- estrarre la radice quadrata intera, calcolata per difetto, di un numero intero (nei tre modi proposti nell'ultima diapositiva della presentazione CenniIntroduttiviSuMatlab2022.pdf);
- per estrarre casualmente una cinquina del gioco del lotto;
- stabilire la probabilità di indovinare una terna/quaterna/cinquina al lotto, impiegando il calcolo del coefficiente binomiale.
-
Aumenta la flessibilità di impiego (ad esempio posso ottenere anche la conversione in base 5 o in base 12) rispetto allo script visto in precedenza e riportato sotto la data 4 ottobre, anche se ora---metaforicamente parlando---abbiamo un motore senza la carrozzeria. Non vengono effettuate letture né stampe (in questo senso, ora manca l'interfaccia con l'utente del metodo). L'impiego della function mcd(X,Y) specificata nel file mcd.m, avviene esclusivamente tramite il passaggio di parametri.
-
Confrontare con lo stesso procedimento di calcolo realizzato come script "a palla di fango" (cioè privo di parametri e interfacciato in modo rigido con l'utente) riportato sotto la data 4 ottobre.
-
Il metodo più sbrigativo ricorre semplicemente alle due funzioni predefinite in MATLAB:
- sqrt(X) che estrae la radice quadrata di un numero (anche reale) X, producendo come risultato (a seconda del valore del parametro) un numero intero, reale o complesso;
- floor(X) che taglia via la parte decimale di un numero reale fornitogli come valore del parametro X, producendo come risultato la sua parte intera.
Per collaudare il metodo `radQuad` qui proposto, consiglio di utilizzare il comando
plot(0:100,(sqrt(0:100)),'Linewidth',2), hold on, plot(0:100,radQuad(0:100),'Linewidth',2)
-
Un metodo più artigianale del precedente, calcola i quadrati perfetti consecutivi, fino a raggiungere o superare il valore del parametro. Se lo raggiunge con precisione, ci restituisce la base dell'ultimo quadrato; altrimenti arretra di un'unità.
-
Questo terzo metodo nella sostanza procede come il secondo: genera in successione i quadrati perfetti fino a raggiungere o superare il valore del parametro. Se ha superato il traguardo arretra di uno. L'aspetto nuovo è che i quadrati vengono calcolati senza moltiplicazioni, sommando i numeri dispari: 0+1=1, 1+3 = 4, 4+5 = 9, 9+7 = 16 e cosí via.
-
Risoluzione di equazioni in MATLAB. (18 ott. 2022, Aula D palazzina Q, h.11--13), Omodeo da remoto
Come risolvere un'equazione in Matlab?
- esempio del contatore Geiger;
- sistemi di equazioni lineari;
- equazione di secondo o terzo grado in un'incognita.
-
Presentazione su lucidi
-
C'è qualche considerazione in più riguardo a: determinante e rango di una matrice numerica; soluzione per tentativi di un sistema di equazioni diofantee.
-
Qui, diversamente da prima, l'estrazione della cinquina viene implementata come M-function
-
(conviene usarlo come live script)
-
Qui i polinomi (in una sola variabile) vengono rappresentati come array di coefficienti disposti per gradi decrescenti
-
L'ABC del linguaggio di markup HTML. (7 nov. 2022, aula 3A edif. H2bis, h.14--16; 8 nov. 2022, aula D palazzina Q, h.11--13), Omodeo
-
- Verificate che questo file sia formalmente corretto tramite il validatore di W3C
- Visualizzatelo tramite un browser ('Google Chrome', 'Safari', 'Firefox', o altro)
- Personalizzate questo file a modo vostro
- Dopo ogni personalizzazione, verificate di nuovo che effetto produce
- Via via verificate che sia ancora formalmente corretto
-
È praticamente vuoto. Contiene solo un riferimento ipertestuale ad una lista dei TAG di HTML
-
Sotto la guida del validatore del W3C e della W3C school, eliminate l'errore <center> ... </center>
-
Anche in questo caso, validare (se possibile) e personalizzare
-
Una pulsantiera File HTML
Molto carente, benché funzionante. Va corretto con l'ausilio di W3C validator e di W3 school
-
È un programmino che calcola le coordinate di sottorettangoli.
-
Reti di computer. (15 nov. 2022, aula D palazzina Q, h.11--13), Omodeo
-
I primi sono `parenti' dei motori di ricerca, mentre i sistemi database ---come pure le cosiddette 'knowledge base') sono artefatti che realizzano disegni accuratamente strutturati.
Archivi di documenti e di dati (22 novembre 2022, aula D palazzina Q, h.11--13; Eugenio Omodeo)
-
Cenni sull'architettura degli elaboratori: fino a concorrenza (Esempio Java)
Introduzione all'architettura degli elaboratori: il ciclo-macchina
File HTML che incorpora un form che richiama uno script
(Per altri approfondimenti su HTML, rifarsi alla lezione dell'8 novembre)
Risoluzione dell'equazione di un contatore Geiger
Plot ed interpolazione in Matlab
-
Architettura dei sistemi di elaborazione e funzionalità del sistema operativo. (6 dicembre 2022, aula D palazzina Q, h.11--13; Eugenio Omodeo)
Verranno discussi:
- gerarchia delle macchine virtuali (dalla circuiteria digitale alle app)
- virtualizzazioni introdotte dal Sistema Operativo negli strati di un'architettura 'a buccia di cipolla' che vanno dal kernel alle shell fino alla GUI: apparente pluralità di processori, memoria virtuale, omogeneità fra unità periferiche ottenuta grazie ai driver, ecc.
- ciclo fetch-decode-execute detto in breve 'ciclo-macchina'
-
Particolarmente importanti gli ultimi `lucidi`, che descrivono il ciclo macchina.
-
Parti del libro
FLUENCY -- Conoscere e usare l'informatica, 7.a edizione
Lawrence Snyder, Ray Laura Henry, Alessandro Amoroso
Editrice Pearson, 2020
de leggere con più cura i fini dell'esame
Informatica Applicata alle Scienze Geologiche a.a. 2022/23:
- Capitolo 1: Paragrafi 1.1, 1.3
- Capitoli 2, 3, 4, 5
- Capitolo 6: Paragrafi 6.1, 6.4, 6.7
- Capitolo 7 tranne i Paragrafi 7.5, 7.6 e 7.7
- Capitolo 8: Paragrafi 8.1, 8.2
- Capitolo 9: Paragrafo 9.9
- Capitolo 13, tranne i Paragrafi13.2 13.5
- Capitolo 14: Paragrafi 14.1 e 14.3
- Capitolo 1: Paragrafi 1.1, 1.3
-
Il progetto basato su HTML (combinato, sia pure in forma non approfondita, con CSS) o su LaTeX va trasmesso per posta elettronica all'indirizzo eomodeo@units.it, al più tardi 3 giorni prima della data d'appello d'esame. Potete dunque consegnarlo in tutta tranquillità all'inizio del nuovo anno; gradirei però che delimitaste e mi comunicaste con buon anticipo (prima delle vacanze invernali se intendete sostenere l'esame nel primo appello di gennaio), il tema specifico su cui intendete svilupparlo. Nel redigere questo documento, immaginate di dover esporre ai vostri colleghi un sotto-tema del tema "Problematiche riguardanti l'assetto idro-geologico di un territorio". Anziché utilizzare il classico Powerpoint, vi chiedo di adoperare HTML per realizzare qualcosa che assomigli alle diapositive e a una traccia della presentazione e LaTeX per qualcosa che assomigli a una dispensa.
Per quanto riguarda la prova LaTeX, non limitatevi a consegnare il file PDF che risulta dal typesetting, ma sottomettete anche il codice-sorgente. Sia nel caso di HTML che di LaTeX, sottomettete i file (di tipo JPG, PNG, PDF, ecc.) che compongono l'intero documento---tranne quelli raggiungibili sul Web tramite URL. Va bene sottomettere la cartella lavoro forse 'zippata'.
Vi incoraggio a organizzarvi in gruppetti di due (sottoponendomi, dunque, i progetti a doppio nome), ma non in gruppi più grandi. Queste realizzazioni HTML o LaTeX sono obbligatorie e devono essere giudicate accettabili: devono avere caratteristiche ipertestuali e contenere mappe sensibili o per lo meno immagini; il LaTeX deve contenere una bibliografia di due, tre, o più voci; l'HTML deve superare la validazione del W3C. Non importa che siano realizzazioni estese (l'equivalente di 4 o 5 pagine di testo possono bastare). Esse concorrono a modulare il voto complessivo d'esame con un incremento di 2 punti al massimo; perciò sul contenuto potete anche tenervi sulle generali, piuttosto mostrate padronanza delle tecniche che vi sono state presentate nel corso delle esercitazioni o descritte nel testo 'Fluency' .
Se su qualche punto non sono stato chiaro, non esitate a chiedermi ulteriori puntualizzazioni.
Eugenio Omodeo