Diario 2008 – 2009

Diario delle lezioni

Data Argomenti trattati Download
Lezione 1
24/09/2008
Introduzione

Cos’è un calcolatore

Risoluzione di un problema

Algoritmo

Esempio MCD

Cifrario di cesare

Download
Lezione 2
26/09/2008
Proprietà fondamentali algoritmi

Hardware e software

Sistemi operativi

Programmi

Astrazione

Linguaggio di programmazione

Compilatore

Download
Lezione 3
29/09/2008
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
01/10/2008
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
Esercitazione 1
01/10/2008
Ambiente di sviluppo

Stampa di una linea di testo

Variabile

Assegnamento

Area di un rettangolo

Download
Lezione 5
03/10/2008
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
Lezione 6
6/10/2008
Errori frequenti

Soluzione esercizi del laboratorio

Il tipo di dato reale

Espressioni

Operatori matematici

Esercizi vari

Download
Lezione 7
08/10/2008
Operatori di uguaglianza e relazionali

Priorità degli operatori

Teorema di Bohm-Jacopini

Strutture di selezione

Esercizi vari

Download
Esercitazione 2
08/10/2008
Istruzioni di I/O

Operatori relazionali

Istruzioni if – else

Ramificazione del flusso

Esercizi

Download
Lezione 8
10/10/2008
Soluzione esercizi

Scambio di due variabili

Es.: individuare il tipo di un triangolo

Strutture di selezione

Esercizi vari

Download
Lezione 9
13/10/2008
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
20/10/2008
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
Progetto:scrittura-> compilazione-> collegamento-> esecuzione

Download
Lezione 11
20/10/2008
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
22/10/2008
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
Esercitazione 3
22/10/2008
Es. coordinate rettangolo

I commenti in C

Strutture di controllo

IF e ?

SWITCH

While

do-While

FOR

break e continue

Download
Lezione 13
27-29/10/2008
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
29/10/2008
Array

Matrici

Successione di Fibonacci

Funzioni

Download
Lezione 14
31/10/2008
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
03/11/2008
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

Istruzione for

Esempi ed esercizi

Download
Lezione 16
05/11/2008
Istruzione for (continua)

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
Esercitazione 5
04/11/2008
Fattoriale di un numero

Esercizi vari sui caratteri

Trasformazione da decimale a binario

Piramide di asterischi

Esercizi vari sulle for

Download
Esercitazione 3
19/10/2008
Installazione DevCpp

Il mistero delle {}

System (“Pause”)

Printf e Scanf

if

Esercizi vari

Download
Lezione 17
07/11/2008
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
10/11/2008
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

parte 1
puntatori
Esercitazione 6
12/11/2008
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 19
17/11/2008
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

parte 1
parte 2
Lezione 20
19/11/2008
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
19/11/2008
Lunghezza sequenza

Conta spazi

Conta a/A in una stringa di 50 caratteri

Conta quanti voti A, B, C, D

Indovina il numero

Download
Lezione 21
21 e 24/11/2008
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
26-28/11/2008
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
Esercitazione 8
26/11/2008
Esercizi vari presi dalla lezione 22 Download
Lezione 23
01/12/2008
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
03/12/2008
Le stringhe

-Memorizzazione

-Inizializzazione

-Lettura e scrittura

Es.: conta parole

Rappresentazione di dati eterogenei

Strutture

-Memorizzazione

-Accesso ai campi

Composizione di una strutturahttp://www.raffaele.nicolussi.name/LaboratorioInformatica-IngClinica/wp-admin/page.php?action=edit&post=139&_wp_original_http_referer=http%3A%2F%2Fw3.uniroma1.it%2FIngClinFondinf%2Fwp-admin%2Fedit-pages.php&message=1

Accesso diretto

Accesso indiretto tramite puntatore

Modi alternativi di definire una struttura

typedef

Inizializzazione

Esercizi per casa

Download
Esercitazione 9
03/12/2008
Calcolo della frequenza dei voti di una classe di studenti

Calcolo dei valori della media, minimo e massimo dei voti di una classe di studenti

Esercizi vari sulle matrici

Download
Lezione 25
05/12/2008
Nomi dei campi

Es.: trovare i contribuenti aventi una età compresa in un certo intervallo

Utilizzo di strutture con funzioni

Strutture nidificate

Generazione di numeri casuali: rand, srand e time

Esercizi per casa

Download
Lezione 26
10/12/2008
Esercizio Cripta

Esercizio Filtra

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

Esercizi per casa

parte 1

parte 2

Esercitazione 10
10/12/2008
Esercizi vari sulle matrici

Esercizi su file

Download
Lezione 27
12/12/2008
Modalità di accesso ai file

I/O su stdin e stdout

Gestione dinamica della memoria

malloc, calloc, free

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

Esercizio :: playlist

Esercizi ed esempi

Download
Lezione 28
15/12/2008
Teoria della complessità

Misurazione delle risorse

Determinazione della complessità

Ipotesi esemplificativa

Complessità in tempo, in spazio e asintotica

Complessità del caso peggiore, medio e ottimo

Notazioni: O, sigma e teta

Esempi e proprietà

Classi principali: costante, sottolineari, nlogn, polinomiali, esponenziali

Esempio: ordinare un array

Esempio: Selection Sort

Calcolo dell complessità del Selection Sort

Download
Lezione 29
17/12/2008
Algoritmi di ricerca

Ricerca Sequenziale

Ricerca Binaria

Calcolo e confronto delle complessità

Algoritmi di ordinamento

Selection Sort

Complessità del Selection Sort

Bubble Sort

Bubble Sort ottimizzato

Complessità del Bubble Sort

Esercizi per casa

parte 1
parte 2
Esercitazione 11
17/12/2008
Prova d’esame Download
Lezione 30
19/12/2008
Soluzione e spiegazione dell’esercitazione Scarica lo ZIP
Esercitazione 12
13/01/2009
Prova d’esame Download
Esercitazione 13
23/01/2009
Prova d’esame Download

Copyright © 2024. Powered by WordPress & Romangie Theme.