|
|
(36 versioni intermedie di 3 utenti non mostrate) |
Riga 1: |
Riga 1: |
− | [[Categoria:Corsi 2007-2008]]
| |
| | | |
− | ===AVVISI===
| |
− | * La prima lezione di laboratorio sarà martedì 2 ottobre in aula '''G11''' (Settore Didattico, via Celoria)
| |
− | * La lezione di martedì 2 ottobre non si terrà.
| |
− | === Orari ===
| |
− | * ''Lezione''
| |
− | ** '''Lunedì''', 10:30-12:30, aula V1
| |
− | ** '''Martedì''', 08:30-10:30, aula V1
| |
− | ** '''Giovedì''', 08:30-10:30, aula V1
| |
− | ** '''Venerdì''', 10:30-12:30, aula 405
| |
− |
| |
− | * ''Laboratorio''
| |
− | ** '''Martedì''', 10:30-12:30, aula 309
| |
− | ** '''Giovedì''', 10:30-12:30, aula V1
| |
− |
| |
− | ===Scaglione alfabetico ===
| |
− |
| |
− | Il turno è unico.
| |
− |
| |
− | ===Docenti===
| |
− |
| |
− | [http://homes.dsi.unimi.it/~goldwurm/home.html Massimiliano Goldwurm] (teoria)
| |
− |
| |
− | [http://homes.dsi.unimi.it/~fiorenti/ Camillo Fiorentini] (laboratorio)
| |
− |
| |
− | ===Programma===
| |
− | * [http://homes.dsi.unimi.it/~goldwurm/algo/#PROGRAMMA Programma del corso]
| |
− | * [http://homes.dsi.unimi.it/~goldwurm/algo/#PROGLAB Programma di laboratorio]
| |
− |
| |
− | ===Orari ricevimento===
| |
− | * [http://homes.dsi.unimi.it/~goldwurm/algo/#ORARI Massimiliano Goldwurm]
| |
− | * [http://homes.dsi.unimi.it/~fiorenti/labalg07.html Camillo Fiorentini]
| |
− |
| |
− | ===Altre informazioni e links===
| |
− | * [http://homes.dsi.unimi.it/~goldwurm/algo/#ESAMI Modalità d'esame]
| |
− | * [http://dsy.it/forum/forumdisplay.php?s=&forumid=207 Forum di Algoritmi su DSY]
| |
− | * [http://dsy.it/forum/forumdisplay.php?s=&forumid=25 Files di Algoritmi su DSY]
| |
− |
| |
− | ===Siti del corso===
| |
− | *[http://homes.dsi.unimi.it/~goldwurm/algo/ Sito del corso]
| |
− | *[http://homes.dsi.unimi.it/~fiorenti/labalg07.html Sito del laboratorio]
| |
− |
| |
− | ===Materiale didattico===
| |
− |
| |
− | *[http://homes.dsi.unimi.it/~goldwurm/algo/#TESTI Dispense e testi consigliati]
| |
− | *[http://homes.dsi.unimi.it/~goldwurm/algo/#TEMI Esercizi e temi d'esame]
| |
− | *Ultimi temi d'esame ([http://homes.dsi.unimi.it/~goldwurm/algo/ultimitemi.ps ps],[http://homes.dsi.unimi.it/~goldwurm/algo/ultimitemi.pdf pdf])
| |
− |
| |
− | ==Diario del corso==
| |
− |
| |
− | ===Lezione 01/10/2007===
| |
− | *Definizione di algoritmo
| |
− | *Definizione di problema
| |
− | *Tipi di problemi
| |
− | *#di decisione
| |
− | *#di ricerca
| |
− | *#di conteggio
| |
− | *#di ottimizzazione
| |
− | *Complessità di un algoritmo
| |
− | *Tipi di difficoltà (problematiche)
| |
− | *#SINTESI
| |
− | *#ANALISI
| |
− | *#CLASSIFICAZIONE
| |
− |
| |
− | ===Lezione 02/10/2007===
| |
− | lezione annullata
| |
− |
| |
− | ===Laboratorio 02/10/2007===
| |
− | *Presentazione
| |
− | *Caratteristiche del linguaggio C
| |
− | *Differenze e somiglianze con JAVA
| |
− | **C è per la programmazione strutturata, non ad oggetti
| |
− | **In C non esistono i metodi ma le funzioni, + o - eguali ai metodi statici di JAVA
| |
− | **C non è cross-latform, va ricompilato per ogni computer
| |
− | **(...)
| |
− | *Compilazione: codice sorgente -> pre-processore -> codice sorgente preprocessato -> compilatore -> codice oggetto -> linker -> codice eseguibile
| |
− | * #INCLUDE
| |
− |
| |
− | ===Lezione 04/10/2007===
| |
− | '''non ho potuto partecipare alla lezione, aggiungete particolari se riuscite'''
| |
− |
| |
− | *Macchina RAM
| |
− | *Istruzioni macchina RAM
| |
− | *Semantica del linguaggio RAM
| |
− | *Nozione di stato
| |
− | *Nozione di transizione fra stati
| |
− |
| |
− | ===Laboratorio 04/10/2007===
| |
− | Processo dal file srgente alleseguibile:
| |
− | *Passaggio 1: pre-processazione
| |
− | **gcc -E ''nomefile''.c esegue solo la precompilazione
| |
− | **Direttive al pre-processore
| |
− | **# #DEFINE
| |
− | **# #INCLUDE
| |
− | *Passaggio 2: compilazione
| |
− | **gcc -c ''nomefile''.c esegue la precompilazione e la compilazione
| |
− | **risultato in file codice oggetto binario (xxx'''.o''')
| |
− | **le funzioni di cui c'è il prototipo (inserito o meno in fase di pre-compilazione) '''non''' sono sostituite dal loro codice, lo fa il ''linker'' al passaggio successivo.
| |
− | *Passaggio 3: linking
| |
− | **collega i prototipi al loro codice
| |
− | **Modularità
| |
− | ***gcc x1.o x2.o unisce i due files compilati separatamente
| |
− | ***ci deve essere '''un solo main''' in almeno uno dei file uniti assieme
| |
− | ***'''non''' ci devono essere più definizioni della stessa funzione
| |
− |
| |
− | ALTRO:
| |
− | *gcc -ansi ''nomefile''.c esegue la compilazione secondo lo standard ANSI
| |
− | *gcc -pedantic ''nomefile''.c esegue la compilazione con un livello di dettaglio del debug estremamente avanzato
| |
− | *gcc -Wall ''nomefile''.c esegue la compilazione con tutti i warning
| |
− |
| |
− | ===Lezione 05/10/2007===
| |
− | ''da svolgersi''
| |