Appunti di Fondamenti di informatica basati su appunti personali presi alle lezioni del prof. Marco Lombardi (università degli Studi di Salerno-Unisa, facoltà di Ingegneria, corso di laurea in ingegneria meccanica) ed integrati con il libro. Gli appunti comprendono tutto il programma che è composto dai seguenti argomenti: Informazione e dato, trattamento dell’informazione, hardware e software. Architettura di un sistema per l’elaborazione dell’informazione, componenti della macchina di von neumann, ciclo fetch-decode-execute. Codifica e rappresentazione dell’informazione, concetto di linguaggio e sua funzione, rappresentazione dell’informazione nei calcolatori, codifica binaria di numeri e caratteri, sistema di numerazione posizionale, basi di rappresentazione e tecniche di conversione tra basi, tecniche di rappresentazione numerica. Algebra di boole e circuiti logici, caratteristiche ed ambiti di utilizzo, relazione tra algebra booleana e circuiti logici. principali operatori: and, or, not, proprietà e leggi dell’algebra booleana, tavole di verità, funzioni logiche, prodotto fondamentale o minimo, rappresentazione in forma canonica, trasformare una tavola di verità in una funzione logica, trasformare una funzione booleana in un circuito logico e viceversa. Modellazione e risoluzione di un problema tramite elaboratore, concetto di algoritmo, caratteristiche principali degli algoritmi, rappresentazioni degli algoritmi, modellazione in forma algoritmica di attività quotidiane. Programmazione strutturata, strutture di controllo: sequenza, selezione semplice, selezione a due vie, ciclo a condizione iniziale, ciclo a condizione finale. Fasi del processo di programmazione, linguaggi di programmazione, elementi costitutivi, classificazione, concetti di assemblatore e traduttore, di compilatore ed interprete. Caratteristiche di un software per l'apprendimento della programmazione strutturata. Introduzione all’ambiente ed al linguaggio matlab. Indicizzazione e operazioni elementari ed aritmetiche su array e matrici. Decomposizione funzionale, funzioni, chiamata per valore e per riferimento, funzioni predefinite e definite dall’utente, m-file, gestione dell’input/output in matlab. Operatori relazionali e logici, strutture di controllo selettive e iterative. Gestione dei file in matlab. Creazione e personalizzazione di grafici in matlab. Cenni su simulink, debugging e ricorsione. Progettazione, sviluppo e testing di algoritmi su vettori e matrici: minimo, massimo, trasposta di una matrice, prodotto scalare, prodotto matriciale, algoritmi di ricerca e di ordinamento. Progettazione, sviluppo e testing di algoritmi su vettori e matrici per la risoluzione di problemi “real life”. Introduzione alle basi di dati, ai dbms, fasi di progettazione di una base di dati, modello e-r. Introduzione al linguaggio sql, definizione di tabelle, interrogazioni in sql, istruzioni aggiornamento. Funzioni di aggregazione, alias in sql, raggruppamenti e raggruppamenti con condizioni. Definizione di tabelle, realizzazione di semplici interrogazioni, definizione di istruzioni di aggiornamento, rappresentazione di semplici schemi e-r.
...continua