Diario delle lezioni
Data | Argomenti trattati | Download |
---|---|---|
Lezione 0 12/10/2009 |
Introduzione generale e presentazione del corso | N/A |
Lezione 1 15/10/2009 |
Cos’è un calcolatore
Risoluzione di un problema Algoritmo Esempio MCD Cifrario di cesare |
Download |
Lezione 2 16/10/2009 |
Proprietà fondamentali algoritmi
Hardware e software Sistemi operativi Programmi Astrazione Linguaggio di programmazione Compilatore |
Download |
Lezione 3 19/10/2009 |
Linguaggio imperativo, funzionale e ad oggetti
Programma Es.: i blocchi Dal Problema al Programma Es.: somma primi 100 naturali Tracciamento Es.: somma numeri da N ad M Processo risoluzione programma Dati Classi di istruzioni Pseudo codice |
Download |
Lezione 4 19/10/2009 |
Istruzioni di lettura e scrittura
Istruzioni di assegnazione Istruzioni composta Istruzioni condizionali Istruzioni di controllo Livelli di rappresentazione Ciclo di vita di un programma Storia del linguaggio C |
Download |
Lezione 5 22/10/2009 |
Salve mondo
Le funzioni printf, include, scanf Com’è fatto un programma in C Quadrato di un numero Somma di due numeri Tipi di dati Rappresentazione in memoria Tavola ASCII |
Download |
Esercitazione 1 22/10/2009 |
Ambiente di sviluppo
Stampa di una linea di testo Variabile Assegnazione Area di un rettangolo |
Download |
Lezione 6 23/10/2009 |
Errori frequenti
Soluzione esercizi del laboratorio Il tipo di dato reale Espressioni Operatori matematici Esercizi vari |
Download |
Lezione 7 26/10/2009 |
Operatori di uguaglianza e relazionali
Priorità degli operatori Teorema di Bohm-Jacopini Strutture di selezione Esercizi vari |
Download |
Lezione 8 29/10/2009 |
Soluzione esercizi
Scambio di due variabili Es.: individuare il tipo di un triangolo Strutture di selezione Esercizi vari |
Download |
Esercitazione 2 29/10/2009 |
Istruzioni di I/O
Operatori relazionali Istruzioni if – else Ramificazione del flusso Esercizi |
Download |
Lezione 9 2/11/2009 |
Operatori logici
Esercizi sugli operatori logici IF equivalenti Ricerca del MIN e MAX di una sequenza di numeri Il calcolatore di Von Neumann: unità di I/O, Memoria, CPU Cenni sulla rappresentazione delle informazioni Informazioni rappresentabili Esempi di rappresentazioni Calcolatore elettronico: sottoinsiemi funzionali Struttura di Von Neumann Memoria principale Interazione CPU-Memoria principale Struttura della CPU Esecuzione delle istruzioni: fetch. decode, execute Linguaggi macchina Dispositivi di I/O Memoria secondaria KByte, MByte, GByte, … |
Download |
Lezione 10 05/11/2009 |
Interazione tra le unità
Sistemi operativi Struttura del bus Programmazione dei calcolatori Linguaggi assemblativi Assembler CPU didattica: somma di due numeri Linguaggi ad alto livello Compilatori |
Download |
Esercitazione 3 05/11/2009 |
Es. coordinate rettangolo
I commenti in C Strutture di controllo IF e ? SWITCH While do-While FOR break e continue |
Download |
Lezione 11 06/11/2009 |
Linguaggio macchina elementare
Istruzioni di trasferimento, aritmetiche di I/O e di salto e salto condizionato Esempio di programma Codici delle operazioni Allocazione in memoria di programma e dati Svantaggi del linguaggio assembler Novità dell’assembler codice-op mnemonici Le etichette Es. somma di due numeri con confronto finale |
Download |
Lezione 12 09/11/2009 |
Es. potenza di un numero
Cenni sulla complessità (approfonditi in seguito) Comportamento della CPU nell’interpretazione dell’assembler La SWITCH Due possibili espressioni per la switch Es. calcolare il giorno dopo di una determinata data considerando anche gli anni bisestili La FUNCTION Concetto di modulo di un programma Funzioni in C Es. cubo di un numero Prototipo Definizione Chiamata |
Download |
Lezione 13 12/11/2009 |
Prototipo, definizione, chiamata
Programma con funzioni Passaggio di argomenti Variabili locali Es.: funzioni in un programma Librerie matematiche Funzioni come scatole nere Le funzioni nel DevCpp Es. 1: min e max di 3 numeri Es. 2: semplice calcolatrice Es. 3: somma tra frazioni |
Download |
Esercitazione 4 12/11/2009 |
Funzioni
Min e max di 3 numeri Semplice calcolatrice Somma tra frazioni |
Download |
Lezione 14 13/11/2009 |
Rappresentazione dell’informazione
Analogico vs Digitale Rappresentazione ed interpretazione Valori numerici: numeri e numerali BIT Multipli del BIT Numeri a precisione finita Sistema di numerazione posizionale Notazione Esempi vari Numerazione binaria Conversione fra basi Conversione da base 10 a base B Algoritmo di conversione decimale -> binario Esempi Conversione fra basi: — Binario -> Ottale — Esadecimale -> Binario — Decimale -> Binario (generico) — Decimale -> Binario (solo per interi) — Binario -> Decimale (2 metodi) — Altri Esempi ed esercizi |
Download |
Lezione 15 19/11/2009 |
Rappresentazione dei caratteri
Codice ASCII Tipo char in C La rappresentazione dei numeri negativi Modulo e segno Complemento a 2 Complemento alla base di un numero Rappresentazione in complemento alla base Utilità del complemento alla base La rappresentazione in virgola fissa dei numeri razionali Problema dell’overflow Problema dello spreco di memoria Rappresentazione in virgola mobile Mantissa ed esponente Notazione scientifica normalizzata Problemi con l’uso della virgola mobile Cause principali di errore nel calcolo in virgola mobile Come ridurre l’overflow e l’underflow Proprietà aritmetiche in virgola mobile Somma in virgola mobile Operazioni binarie Esempi ed esercizi |
Download |
Esercitazione 5 19/11/2009 |
Fattoriale di un numero
Esercizi vari sui caratteri Trasformazione da decimale a binario Piramide di asterischi Esercizi vari sulle for |
Download |
Lezione 16 20/11/2009 |
Istruzione for Calcolo del fattoriale Stampa dei pari Piramide di asterischi Do While Operatori unari di decremento e decremento Operatori di assegnazione composta Espressioni con side-effect ed istruzioni Iterazione definita Errore nelle iterazioni Iterazione indefinita Min e Max Esempi ed esercizi |
Download |
Lezione 17 23/11/2009 |
Qualificatori di tipo
Tipi di dato primitivi Tipo :: short int Tipo :: int Tipo :: long int Tipo :: unsigned short int Tipo :: short Tipo :: unsigned long int Tipo :: byte Tipo :: float Tipo :: double Specifiche di conversione per tipi interi Operandi interi Tipo di una costante Operandi aritmetici per interi Operatori di assegnamento Conversione di tipo Espressioni che coinvolgono tipi di dato primitivi numerici diversi Assegnazioni fra tipi di dato primitivi numerici diversi Esempi ed esercizi |
Download |
Lezione 18 26/11/2009 |
Conversione esplicita :: il cast
Operatori logici Tabelle di verità Variabili e parametri Variabili globali Variabili e memoria Indirizzo Numero di byte occupati Il tipo puntatore Operatore indirizzo Dichiarazione e uso di puntatori Operatore di indirezione * Esempi ed esercizi |
Download |
Esercitazione 6 26/11/2009 |
Serie di Taylor
Conta vocali Somma numeri da 1 a N Stampa i dispari e i pari Rettangolo di caratteri Trasforma da maiuscolo in minuscolo e viceversa Calcolo della media Sotto sequenza di 0 più lunga Verifica che un numero sia primo |
Download |
Lezione spiegazione 27/11/2009 |
Spiegazione esercizi del laboratorio | N/A |
Lezione 19 30/11/2009 |
Il Debugger
Esecuzione da cursore Breakpoint Ispezione delle variabili getchar() Break Return Exit Soluzione per raffinamenti successivi Struttura di un programma C Funzione Unità chiamante e chiamata Parametri formali e attuali Associazione tra parametri formali e attuali Prototipo, definizione, chiamata Definizione di una funzione :: tipo di ritorno, lista di parametri, variabili locali, istruzioni Coercizione degli argomenti Esempi ed esercizi |
Download |
Lezioni 20-21 3/12/2009 |
Legame per valore
Legame per riferimento Legami per riferimento e valore in C Blocchi Caratteristica delle variabili Tipo Valore Ciclo di vita Campo d’azione Regole di visibilità Formattazione dell’output Visualizzazione interi Visualizzazione numeri in virgola mobile Visualizzazione stringhe e caratteri Altri operatori di formattazione Visualizzare con le dimensioni di campo e la precisione Specifiche di precisione Array Inizializzazione Array Stampa degli Array Esempi ed esercizi |
Download |
Esercitazione 7 3/12/2009 |
Min e suo indice di un Array
Ricerca indice di un valore Area del rettangolo di punti P1, P2, P3, P4 Verifica della palindromia di una stringa Trova le posizioni di un numero in un Array e trasferiscine gli indici in un altro array Esercizi per casa |
Download |
Lezione 22 4/12/2009 |
Puntatori e Array
Modi alternativi per accedere agli elementi degli Array Memorizzazione degli Array in memoria Passare gli Array alle funzioni Esercizio del DNA Chiamata per indirizzo Esercizi per casa |
Download |
Lezione 23 07/12/2009 |
Scambio di due variabili passate per indirizzo
Caricamento di un Array Es.: calcolo delle frequenze dei voti di una classe Es.: Array passati per riferimento, elementi passati per valore Qualificatore const Array Multidimensionali Inizializzazione Array bidimensionali e puntatori Array multidimensionale come argomento di funzione Memorizzazione di una matrice leggendo i dati da un file Esercizi per casa |
Download |
Lezione 24 10/12/2009 17/12/2009 |
Le stringhe
-Memorizzazione -Inizializzazione -Lettura e scrittura Funzioni della libreria standard di Input : getchar, gets, getc, fgetc, fgets, scanf, fscanf, sscanf Funzioni della libreria standard di Output : putchar, puts, putc, fputc, fputs, printf, fprintf Libreria di gestione dei caratteri : isdigit, isalpha, isalnum, isxdigit, islower, isupper, tolower, toupper, isspace, iscntrl, ispunct, isprint, isgraph Funzioni per la conversione delle stringhe : atof, atoi, atol, strtod, strtol, strtoul Funzioni per la manipolazione delle stringhe : strcpy, strncpy, strcat, strncat, strcmp, strncmp Es.: conta parole |
Download |
Esercitazione 8 10/12/2009 |
Esercizi vari su array, matrici e stringhe | Download |
Esercitazione 9 speciale 14/12/2009 |
Esercizi vari su array e matrici | Download |
Lezione 25 17/12/2009 |
Strutture
-Memorizzazione -Accesso ai campi Composizione di una struttura Accesso diretto Accesso indiretto tramite puntatore Modi alternativi di definire una struttura typedef Inizializzazione Esercizi per casa |
Download |
Esercitazione 10 17/12/2009 |
Esercizi vari sulle matrici e strutture | Download |
Lezione 26 18/12/2009 |
I/O in C
Stream File printf / frprintf – scanf / fscanf a confronto Descrittore di file Connessione Modalità d’uso Chiusura della connessione Eccezioni EOF Esempi Modalità di accesso ai file I/O su stdin e stdout |
Download |