Libri di testo:
Testi consigliati:
Programma del corso
if-then-else
), iterativa (do-while
e while-do
), array, ciclo for
.Prova scritta alla fine del corso.
Per gli studenti che lo desiderano, verranno effettuate due prove scritte parziali al termine di ogni modulo: chi supera entrambe le prove parziali può registrare direttamente il voto senza sostenere l'esame negli appelli regolari.
Per superare l'esame tramite i compitini è necessario ottenere la sufficienza (ossia almeno 18/30) in entrambi. In tal caso il voto finale sarà calcolato come la media pesata sul numero di crediti dei voti dei singoli compitini. Il compitino del modulo A ha peso 3 crediti, mentre il compitino del modulo B ha peso 2 crediti. Nel caso non si ottenga la sufficienza (o non si sia soddisfatti del voto) in uno dei due compitini, è possibile recuperarlo in uno degli appelli regolari d'esame della prima sessione (gennaio/febbraio 2006).
Per l'iscrizione al primo compitino, fissato per mercoledì 7 dicembre 2005, è necessario iscriversi tramite il SIS. La lista verrà aperta il giorno 6 novembre 2005; gli interessati devono iscriversi tassativamente entro il giorno 2 dicembre 2005. Il primo compitino sarà relativo agli argomenti trattati nel modulo A del corso.
È disponibile uno schema esemplificativo con alcune possibili domande d'esame, relative al modulo A del corso. Potete anche visionare le soluzioni di alcune domande del primo compitino.
Il secondo compitino sarà relativo agli argomenti trattati nel modulo B del corso.
Sono disponibili alcuni esercizi in preparazione al secondo
compitino, con alcune soluzioni, e alcuni ulteriori esercizi di
programmazione e le relative soluzioni (media_array.cc
, fibonacci.cc
, banconote.cc
).
Sono disponibili alcune soluzioni alle domande del secondo compitino.
Il laboratorio si trova presso il Dipartimento di Matematica, piano terra, aula C. Vi si accede attraverso l'ingresso in via Paolotti: attraversato il cancello, salite a destra (dove c'è lo scivolo); entrate in un piccolo atrio, l'aula C è la porta a sinistra.
Per collegarsi ai PC è necessario disporre di un proprio Nome Utente (username) e password. La password va tenuta segreta (non comunicatela a nessuno!).
La prima volta che accedete al laboratorio, e solo la prima volta,
potete utilizzare una procedura automatica che vi assegnerà
username e password. La username sarà qualcosa del tipo
chimNNN
, con NNN
cifre numeriche. La password
invece sarà una sequenza di lettere, numeri e simboli
(caratteri di punteggiatura ecc.).
Per avere username e password seguite questi passi:
Come prima cosa aprite una finestra di terminale (è l'icona in basso con il simbolo di una conchiglia, come vi faroà vedere in laboratorio). Compare una finestra dentro la quale è possibile digitare comandi da tastiera.
Fate partire l'editor emacs, con il quale potete scrivere
il vostro programma C++, che supponiamo decidiate di
chiamare prog1.cc
. Date il comando seguente (attenzione al
carattere &
finale):
emacs prog1.cc &
Nella finestra di emacs, digitate il programma. Per compilarlo, utilizzate questo comando, da digitare all'interno della finestra del terminale:
g++ prog1.cc -o prog1
E infine provate ad eseguirlo, digitando nella finestra del terminale:
./prog1
È possibile utilizzare il laboratorio anche al di fuori dell'orario di lezione (purché lo stesso laboratorio non sia stato prenotato per altre lezioni). Tenete presente che è attivo un meccanismo di quote tempo, in base al quale avete un monte ore settimanale (al momento, 300 minuti) con pesi diversi in base all'orario in cui utilizzate le macchine.
Le lezioni si svolgono presso il dipartimento di Chimica, aula A.
Mercoledì | 11:30—13:15 |
---|---|
Giovedì | 11:30—13:15 |
Quello che segue è il calendario dettagliato delle lezioni. Controllate frequentemente questo calendario, dato che verrà aggiornato frequentemente.
Ottobre 2005 | ||||||
---|---|---|---|---|---|---|
Lun | Mar | Mer | Gio | Ven | Sab | Dom |
1 | 2 | |||||
3 | 4 | 5 Lez 1 | 6 Lez 2 | 7 | 8 | 9 |
10 | 11 | 12 Lez 2 | 13 No Lez | 14 | 15 | 16 |
17 | 18 | 19 Lez 3 | 20 Lez 4 | 21 | 22 | 23 |
24 | 25 | 26 Lez 5 | 27 Lez 5 | 28 | 29 | 30 |
31 | ||||||
Novembre 2005 | ||||||
Lun | Mar | Mer | Gio | Ven | Sab | Dom |
1 | 2 Lez 5 | 3 Lab 1 | 4 | 5 | 6 | |
7 | 8 | 9 No Lez | 10 Lez 6 | 11 | 12 | 13 |
14 | 15 | 16 Lez 7 | 17 Lab 2 | 18 | 19 | 20 |
21 | 22 | 23 Lez 8 | 24 Lab 3 | 25 | 26 | 27 |
28 | 29 | 30 | ||||
Dicembre 2005 | ||||||
Lun | Mar | Mer | Gio | Ven | Sab | Dom |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 Primo Compitino | 8 Festa | 9 | 10 | 11 |
12 | 13 | 14 Lez 9 Inizio mod. B | 15 Lab 4 | 16 | 17 | 18 |
19 | 20 | 21 Lez 10 | 22 Lab 5 | 23 | 24 | 25 Buon Natale! |
26 | 27 | 28 | 29 | 30 | 31 Buon Anno! | |
Gennaio 2006 | ||||||
Lun | Mar | Mer | Gio | Ven | Sab | Dom |
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 Lez 11 | 12 Lab 6 | 13 | 14 | 15 |
16 | 17 | 18 Lez 12 | 19 Secondo Compitino | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
N.B. I lucidi non sono da considerare come sostitutivi né dei testi di riferimento né della frequenza alle lezioni, che costituiscono importanti elementi per una buona preparazione dell'esame; i lucidi messi a disposizione costituiscono soltanto uno schema di parte delle lezioni.
I lucidi di ciascuna lezione sono disponibili in tre diversi formati:
.sxi
).
Per visualizzare questo tipo di file è necessario utilizzare
OpenOffice.org,
che è disponibile liberamente su piattaforma Windows, Linux e Mac..ps.gz
). Questi
file devono prima di tutto essere scompattati, utilizzando ad esempio
PkZip
per piattaforma Windows, oppure gzip
sotto Unix/Linux.
Il file PostScript risultante può essere visualizzato
con GhostView..pdf
).
Questo tipo di file può essere visualizzato con
Adobe Acrobat Reader.prodottoconsomma.cc
:
Calcola il prodotto di due interi non negativi x e y utilizzando la somma
(x+x+...+x) (y volte)massimo3.cc
: Stampa il massimo tra tre interi x, y, zsommapari.cc
: Dato un intero positivo N, stampare la somma degli interi positivi pari compresi tra 0 e N (estremi inclusi)sommapari.cc
:
Chiede all'utente un intero N; stampa tutti i numeri pari appartenenti
all'intervallo [0,N].sommadispari.cc
:
Chiede all'utente un intero N; stampa tutti i numeri dispari appartenenti
all'intervallo [0,N].sommavett.cc
:
Dati due array di float A[10] e B[10], calcola gli elementi di un terzo
array di float C[10] tale che per ogni i=0..9,
C[i] = A[i] + B[i].albero.cc
: Chiede all'utente
in intero N>0; stampa un albero "natalizio" di altezza N asterischi.istogramma.cc
: Inizializza
un vettore di 10 interi con numeri >=0 chiesti all'utente (se l'utente
sbaglia ad inserire i numeri, l'input viene richiesto). Stampa 10 righe
di asterischi tali che il numero dell'asterisco della riga i-esima
è pari al valore dell'i-esimo elemento del vettore.inverti.cc
: Inizializza
un array di 10 interi con 10 numeri (qualsiasi) richiesti all'utente.
Inverte lo stesso array senza fare uso di un altro array temporaneo.
Stampa l'array invertito.interesse.cc
: Stampa
la somma degli interessi maturati su importi inseriti dall'utente,
con tassi e intervalli di tempo specificati.stampa_base.cc
: Stampa
per esteso i nomi delle basi del DNA inserite dall'utente in un array
di 10 caratteri.area.cc
: Calcola
l'area di un quadrato, triangolo o cerchio a scelta dell'utente.inverti_array.cc
: Funzione che inverte un array passato come parametro.somma_alternata.cc
: Funzione che calcola la "somma alternata" di un array a[]
, ossia, calcola a[0] - a[1] + a[2] ...
fill.cc
: Funzione che riempie un array a[]
con valori crescenti compresi nell'intervallo 0-4, a partire da un valore x specificato come parametro.Prima Sessione | |
---|---|
Scritto | |
I | 30/01/2006, ore 10:00-12:00 Aula L1 polo interchimico Alcune soluzioni |
II | 16/02/2006, ore 10:00-12:00 Aula L1 polo interchimico |
Seconda Sessione | |
Scritto | |
I | 26/06/2006, ore 10:00-12:00 Sala Riunioni I piano del polo interchimico |
II | 17/07/2006, ore 10:00-12:00 Aula N Polo Interchimico |
Terza Sessione | |
Scritto | |
I | 04/09/2006, ore 10:00-12:00 Aula M Polo Interchimico |
II | 18/09/2006, ore 10:00-12:00 Aula M Polo Interchimico |