Differenze tra le versioni di "Algoritmi e strutture dati T1/2007-2008"

Da WikiDsy.
(Laboratorio 04/10/2007)
(n0Ay5h <a href="http://yknftfwqqrrz.com/">yknftfwqqrrz</a>, [url=http://eomxbzuitbqj.com/]eomxbzuitbqj[/url], [link=http://txzqemqfhsmt.com/]txzqemqfhsmt[/link], http://zcwusvuvvkkb.com/)
 
(38 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
 

Versione attuale delle 15:21, 23 set 2010