Data | Argomento | Risorse |
14/10/2019 15/10/2019 |
Architettura dei sistemi di calcolo, macchina di Von Neumann. CPU, RAM, BUS, periferiche di memorizzazione di massa, principali funzionalità, caratteristiche e unità di misura delle loro prestazioni. Esecuzione dei programmi sulla macchina di Von Neumann, ciclo macchina fasi fetch-decode-execute. Linguaggio macchina e assembly, forma delle istruzioni e architettura interna della CPU: ALU, CU. Programmazione a basso livello, svantaggi. Programmazione ad alto livello, linguaggi ad alto livello, compilatori. Ciclo di vita del software: progettazione, compilazione, linking, loading, esecuzione. Possibili errori. Sistemi operativi, principali funzionalità. Boot loader, kernel e interfaccia |
Architettura di Von Neumann. Esecuzione dei programmi, strumenti per la programmazione. Sistemi operativi, kernel e interfaccia |
21/10/2019 22/10/2019 |
Il file system, file e directory. Il sistema LINUX e l'interfaccia a caratteri. Principali comandi per navigare ed esplorare il file system Creare directory, copiare, cancellare muovere file e diractory. Il primo programma C++: "Salve mondo!". Principali costrutti di un programma C++. Utilizzo di editor e compilatore per la creazione e l'esecuzione del primo programma C++. Organizzazione del lavoro in directory. Ulteriori programmi per la stampa di messaggi, lo stream cout |
File system e sua navigazione Creare e manipolare file e directory a linea di comando in Linux. Il programma "Salve mondo!" - Progetto |
28/10/2019 29/10/2019 |
Dichiarazione e definizione di variabili in C++, assegnamenti. Definizioni di costanti. Operazioni con variabili eterogenee. Promozioni di tipo implicite. Casting. Stream cin e cout per lettura e scrittura di variabili. Le strutture di controllo in C++. Selezione, sintassi, semantica ed esempi. L'operatore ternario condizionale, definizione ed esempi. Il tipo bool e le espressioni booleane. Connettivi booleani, short circuit evaluation. Possibili errori nell'uso dell'operatore di uguaglianza. La struttura di controllo iterazione, diverse forme di cicli, sintassi, semantica ed esempi. Programmi con definizione ed uso di variabili di tipo eterogeneo. Programmi complessi con selezioni e cicli. Gestione di stream di dati |
Variabili e strutture di controllo in C++
Programmi su tipi eterogenei e |
4/11/2019 5/11/2019 |
Ancora progetti complessi con cicli e selezioni. Utilizzo elementare degli array monodimensionali: problemi di analisi di dati, manipolazione e ricerca di/su array |
Programmi su tipi eterogenei e strutture di controllo: selezione e cicli |
11/11/2019 12/11/2019 |
Il concetto di struct in C++, sintassi, semantica. Accesso ai campi ed occupazione in memoria. Definizioni di oggetti mediante struc, array di struct, esempi. Test di palindromia e ricerca di massimi e minimi in stream di dati. Progetti complessi su array mono-multidimensionali e utilizzo delle struct |
Palindrome, massimi e minimi
Array mono-multidimensionali, struct Programmi complessi su array mono-multidimensionali e struct |
22/11/2019 22/11/2019 |
Costruzione di funzioni e loro utilizzo in un programma modulare. Progetto Punti nel Piano |
Progetto Punti nel Piano
Una possibile soluzione: punti.C |
25/12/2019 26/12/2019 |
Gestione dei file, la libreria fstream. Apertura, chiusura e utilizzo di file in lettura/scrittura. Lettura dei file per dati, caratteri, linee. Uso del predicato eof(). Array dinamici, definizione ed utilizzo per memorizzare stream di dati. Le C-stringhe, lettura e scrittura di C-stringhe, principali funzioni su C-stringhe. Conversione di string in C-stringhe. Uso delle C-stringhe nelle routine di gestione dei file. Progetto Numeri Complessi: utilizzo file, array dinamici di struct, costruzione modulare mediante function |
Passaggio di parametri, file, array dinamici, C-stringhe
File di input: complessi.in Una possibile soluzione: complessi.C |
2/12/2019 3/12/2019 |
Progetto Robot: utilizzo file, array dinamici di struct, costruzione modulare mediante function |
Progetto Robot
File di input: robot.in Una possibile soluzione: robot.C |
9/12/2019 10/12/2019 |
Implementazione di operazioni di scrematura su array. Passaggio di array a funzioni. Creazione di librerie di funzioni, loro implementazione, file header. Compilazione separata, creazione file oggetto e loro linking. Utilizzo del comando make e struttura di un makefile. Progetto Cerchi, utilizzo file, array dinamici di struct, scrematura di array, progetto di librerie apposite |
Scrematura di array, passaggio di array a funzioni
Implementazione di librerie, comando make File di input: codici.in e cerchi.in
Una possibile soluzione |
16/12/2019 17/12/2019 |
Implementazione in C++ di algoritmi di ordinamento. Selection Sort. MergeSort: le routine mergeSort e merge. Utilizzo della libreria RooT per l'elaborazione grafica di dati. Le principali classi di RooT: scatterPlot, istogrammi, funzioni, finestre. Esempi di programmi e compilazione RooT. Funzioni per la generazione pseudocasuale di numeri. Sviluppo del progetto Moto Circolare. Visualizzazione finale dei dati mediante scatterPlot RooT |
Implementazione di selectioSort e mergeSort
Esempio di programma RooT e uso di rand() Esempio di makefile per programma RooT
Progetto Moto Circolare File di input: posizioni.in Una possibile soluzione: moto_circolare.zip |
7/1/2020 8/1/2020 |
Istogrammi monodimensionali, principali definizioni e loro realizzazione mediante la libreria RooT. Utilizzo di RooT per la creazione di grafici sovrapposti. Sviluppo del progetto Punti di Massa e rappresentazione dati mediante istogramma. Reperimento e salvataggio dati da macchine in remoto, comando scp. Connessione in remoto con funzionalità grafiche, comando ssh -YC |
Istogrammi monodimensionali
Istogrammi in RooT (sorgente + makefile) Grafici sovrapposti in RooT (sorgente + makefile) Una possibile soluzione: massa.zip |
13/1/2020 14/1/2020 |
Preparazione del materiale per esame. Sviluppo del progetto Particelle e rappresentazione dati mediante scatterplot e istogramma |
Progetto Particelle
Una possibile soluzione: particelle.zip |
20/1/2020 21/1/2020 |
Simulazione prova di laboratorio: il progetto Atomi | Progetto Atomi |