martedì 18 dicembre 2012

Testi esami passati

Disponibili tutti i testi di esami assegnati negli ultimi anni. Come vedrete molti testi sono simili fra loro e quindi li ho raggruppati in tre categorie.
Quando vi esercitate non dimenticate mai di tenere d'occhio il tempo che impiegate. Ricordatevi che non è importante "cosa sapete fare" ma "cosa sapete fare IN DUE ORE"...

lunedì 17 dicembre 2012

Esercitazione 11

Disponibile una nuova esercitazione relativa alla ridefinizione degli operatori.

Soluzione esercitazione 9

Disponibile una possibile soluzione dell'esercitazione 9.

URGENTE: spostamento lezione 18/12

Si comunica che la lezione prevista per il 18/12 dalle 12 alle 14 è anticipata dalle 8 alle 10 dello stesso giorno e si terrà in aula U110.

Esercitazione 10

Disponibile il testo dell'esercitazione 10. Nel file zip troverete il pdf dell'esercitazione e un file di testo da utilizzare nell'esercizio 3.

Nota: Mi sono accorto che il file libri.txt annesso all'esercitazione aveva i ritorni a capo in formato UNIX/Linux/Mac. Se lavorate in Windows usate il file: https://dl.dropbox.com/u/15714195/prg1213/libri_win.txt


mercoledì 12 dicembre 2012

Citazione dal libro di Stroustrup

The question ‘‘How does one write good programs in C++?’’ is very similar to the question ‘‘How does one write good English prose?’’ There are two answers: ‘‘Know what you want to say’’ and ‘‘Practice. Imitate good writing.’’ Both appear to be as appropriate for C++ as they are for English – and as hard to follow.

mercoledì 5 dicembre 2012

Link interessante

Vi giro un link interessante sulle applicazioni del C++ che mi è stato segnalato da un vostro collega qualche settimana fa ma che, per un problema di impostazioni di twitter, ho letto solo oggi...

lunedì 3 dicembre 2012

Soluzione esercitazione 7

Disponibile una possibile implementazione dell'esercitazione 7. Osservate che nell'esercizio 4 ho dichiarato la classe Lista friend della classe Nodo, per non dover modificare il codice dell'implementazione procedurale che accedeva alla struct Nodo.
Le classi friend comunque non vanno usate quasi mai. Nella vostra implementazione evitate di usarle e modificate invece il codice accedendo ai nodi con set e get.

Esercitazione 8

Disponibile il testo dell'esercitazione 8.

lunedì 19 novembre 2012

string

Ricevo da uno di voi per email:


Buon pomeriggio professore, volevo chiederle una cosa riguardo le stringhe in c++
volevo scrivere un programma ke legge una stringa, e stampa per 5 volte una parola dopo un certo posto
Esempio:
Ho la stringa "Mondo ciao"
Il programma mi ritornerà la scritta: "ciaociaociaociaociao"
come posso cancellare la parte"Mondo " oppure ignorare questa parte e stampare così "ciao" per 5 volte?
Grazie in anticipo

Essenzialmente mi chiede come estrarre una sottostringa. Io ho suggerito di usare find per trovare gli estremi della stringa da estrarre e substr per estrarre la sottostringa.
Se avete altri suggerimenti o una soluzione efficace postatela liberamente.

Esercitazione 6

Disponibile il testo dell'esercitazione 6 che tratta memoria dinamica e semplici classi.

martedì 6 novembre 2012

Cancellazione esercitazione del 12 novembre

Vi comunico che, a causa dei concomitanti esami di Laurea presso la sede di Agrigento, l'esercitazione prevista per lunedì 12 in aula informatica non ci sarà.
Ho comunque pubblicato degli esercizi (Esercitazione 5) che potete svolgere autonomamente. In caso di dubbi o difficoltà postate liberamente le vostre richieste di chiarimento sul blog.

Esercitazione 5

Disponibile il testo dell'esercitazione 5 che tratta puntatori, struct, memoria dinamica e string.

Soluzione esercitazione 4

Disponibile una possibile implementazione dell'esercitazione 4.

martedì 23 ottobre 2012

Funzioni di libreria

Di seguito un elenco molto parziale delle funzioni di libreria del C++, potete trovare l'elenco completo e la descrizione di ciascuna funzione su cplusplus.com e su tanti altri siti o libri:


Funzioni di carattere
<cctype>
isalpha(c): true se lettera maiuscola o minuscola
islower(c): true se minuscola
isupper(c): true se maiuscola
isdigit(c): true se carattere da 0 a 9
isxdigit(c): true se cifra esadecimale
isalnum(c): true se cifra o carattere alfabetico
tolower(c): converte a minuscola
toupper(c): converte a maiuscola

Funzioni numeriche
<cmath>
ceil(x): arrotonda all’intero più vicino
fabs(x): restituisce il valore assoluto
floor(x): arrodonda per difetto all’intero piu’ vicino
pow(x, y): calcola x elevato a y
sqrt(x): radice quadrata
exp(x): calcola ex
log(x): calcola logaritmo naturale
log10(x): calcola logaritmo in base 10
Trigoniometriche:
acos(x), asin(x), atan(x), cos(x), sin(x), tan(x) (nelle ultime tre x è espresso in radianti)

Funzioni aleatorie
rand(void): numero intero casuale fra o e 32767
randomize(void): inizia il generatore di numeri casuali con seme aleatorio (dato da time)
srand(seme): inizializza il generatore con seme
random(num): numero intero casuale fra 0 e num-1

Funzioni di data e ora
<ctime>
clock(void): restituisce il tempo di processore in secondi impegnato dal processo
time(): restituisce l’ora attuale come numero di secondi dal 1/1/1970

Un pò di ottimismo...

Secondo Microsoft nei prossimi anni ci sarà una forte carenza di programmatori tanto che Microsoft stessa sta cercando di correre ai ripari inviando suoi docenti nelle scuole superiori per invogliare gli studenti a studiare informatica all'università: Microsoft Tries New Approach to Computer Programmer Shortage - IEEE - The Institute

E' vero che l'articolo si riferisce al mercato USA ma ormai il mondo non è più diviso in compartimenti stagni quindi è ragionevole pensare che anche qui ci sarà una buona ripresa, quanto meno nel settore dell'informatica.

mercoledì 17 ottobre 2012

Spostamento ricevimento lunedì 22

Vi comunico che, a causa di concomitanti esami di laurea magistrale, lunedì 22 non ci sarà il consueto ricevimento. Chi avesse necessità di incontrarmi mi può comunque trovare martedì 23, sempre fra le 15 e le 17, nel mio ufficio.

lunedì 1 ottobre 2012

Nuovo orario delle lezioni

Vi comunico che da martedì 2 ottobre l'orario del corso sarà il seguente:
Lu 11-13, Aula F110
Ma 12-14, Aula T120
Me 12-14, Aula T120
Per oggi resta invece valido il vecchio orario che prevede ELT 11-12 e PRG 12-13.

mercoledì 26 settembre 2012

Cancellazione lezione del 27/09/12

Vi ricordo che domani 27 settembre non ci sarà lezione. Le lezioni riprenderanno regolarmente lunedì alle 12 in aula T120 salvo comunicazione contraria su questo blog.

lunedì 24 settembre 2012

Inizio corso A.A. 2012-13

Oggi alle 12:00 in aula T120 inizierà l'edizione 2012-13 del corso di Programmazione a cui è dedicato questo blog. Questo blog costituirà la fonte di informazioni per tutto ciò che ha a che fare col corso (esercitazioni, materiale didattico, esami, avvisi, etc...) ma è principalmente uno spazio aperto in cui comunicare con me e con gli altri colleghi. Sentitevi quindi assolutamente liberi di commentare i post che andrò pubblicando.
Per cominciare potete scaricare una scheda descrittiva sintetica del corso.

sabato 22 settembre 2012

Esito prova del 21/09/12 e data orali


Di seguito l'esito della prova del 21/09/12:
ALEO, Buono
GENOVA, Suff.
GUARNERI, Discreto
MAGNO, Buono
MATASSA, Discreto
MESSINA, Suff.
RENDA, Buono
Gli orali saranno lunedì 24 alle 17 al DINFO.

venerdì 13 luglio 2012

Esito prova del 11/07/12 e data orali


BORDINO, Suff.
CONOSCENTI, Buono
CURCIO, Suff.
DAIDONE, Buono
FARDELLA, Discreto
PIPITONE, Discreto
TRANCHINA, Discreto

Gli orali saranno martedi' 17 alle 15:30 al DINFO.

martedì 24 aprile 2012

Esito prova del 23/04/12 e data orali

ARTISI, buono
PACE, suff.
SCHERMA, suff.

Gli orali saranno mercoledì 2 maggio alle 15:00 al DINFO.

mercoledì 29 febbraio 2012

Esito prova pratica del 27 febbraio 2012 e data orali

Di seguito l'esito della prova in oggetto:


ACUTO, Buono
ALLONE, Insuff.
ARTISI, Insuff.
DE LIA, Buono
DI LEONARDI, Discreto
FARDELLA, Suff.
MARTINO, Discreto
MATASSA, Insuff.
NUCCIO, Suff.
PACE, Insuff.
SANTAROMITA, Suff.
SCHERMA, Suff.
VENTURELLA, Insuff.


Gli orali saranno venerdì 2 marzo alle 15:00 al DINFO.

sabato 25 febbraio 2012

Interessante opportunità per studenti con idee innovative

Il Consorzio Arca organizza un seminario di presentazione del programma SeedLab "Un acceleratore per gli innovatori del domani", Giovedì 1 Marzo 2012, ore 10.30 - 13.00 – Viale delle Scienze ed 16, Palermo. L’iniziativa, patrocinata dall’Università degli Studi di Palermo, è rivolta a innovatori, nuovi imprenditori, ricercatori, dottorandi e studenti che abbiano interesse a sviluppare un progetto imprenditoriale.

sabato 18 febbraio 2012

Esito prova pratica del 14 febbraio 2012 e data orali

Di seguito l'esito della prova in oggetto:

CERAOLO, Discreto
LA MONICA, Discreto
MARTINO, Appena suff.
MATASSA, Insuff.
MILITELLO, Suff.
SIMONTE, Suff.
TIGNINO, Discreto

Gli orali saranno mercoledì 22 febbraio alle 9:30 al DINFO.

martedì 14 febbraio 2012

Esame del 14/02/12

Come anticipato eccovi il testo dell'esame in oggetto e una possibile bozza di implementazione. Praticamente tutta l'implementazione che tanti problemi ha creato e' nel costruttore di Sistema in cui viene fatto l'inserimento dei pronostici da parte dell'utente e generato lo sviluppo colonnare. Il resto sono metodi marginali che si fanno in pochi minuti.

lunedì 6 febbraio 2012

Esito prova pratica del 31 gennaio 2012 e data orali

Di seguito l'esito della prova del 31/01/12. Gli orali saranno venerdi' alle 9:30 al DINFO.

AIELLO, Buono
COPPOLA, Buono
DE LIA, Suff.
FUNDARO', Discreto
GRAZIANO, Appena suff.
MARIA, Discreto
MARTINO, Appena suff.
MONTELEONE, Buono
ROMANO, Insuff.
SIGNA, Buono
SIMONTE, Appena suff.
TIGNINO, Appena suff.
ZICHITTELLA, Buono

lunedì 30 gennaio 2012

Selezione di tutor per studenti con disabilità per l'anno 2012

E' disponibile il bando per la selezione di tutor per studenti con disabilità. Vi invito a partecipare numerosi al bando in quanto, con un minimo impegno, potrete aiutare i vostri colleghi con disabilità e guadagnare anche qualche euro che non guasta mai. La scadenza per presentare la domanda è il 9 febbraio p.v.

venerdì 20 gennaio 2012

Rubrica polimorfa

Disponibile una soluzione minimale del problema della rubrica polimorfa che ho presentato a lezione. Come vedrete questo programma fa lo stretto indispensabile e non e' neanche suddiviso su piu' files correttamente. Il vostro obiettivo durante il compito sara' di arrivare prima possibile a una versione minimale (anche con funzionalita' parziali) e poi espanderla progressivamente.
Potrebbe anche essere utile, quando raggiungete una versione "stabile" e prima di continuare a modificarla, chiudere il Dev e salvare una copia del progetto. In questo modo sarete garantiti da eventuali errori introdotti successivamente e potrete sempre tornare all'ultima versione stabile.

lunedì 16 gennaio 2012

Esercitazione e ricevimento.

Vi ricordo che domani, 17 gennaio, non ci sarà la consueta esercitazione in aula informatica. Per avere chiarimenti mi potete comunque trovare nel mio ufficio fino alle 12:30.
La lezione del 18 Gennaio si svolgerà invece regolarmente alle 10 in Aula Consiglio Facoltà.

Esercitazione su ridefinizione operatori

Disponibile il testo dell'esercitazione 13 relativa alla ridefinizione degli operatori.

venerdì 13 gennaio 2012

Rilevazione qualità della didattica

Vi comunico che da oggi è possibile procedere alla compilazione dei questionari on-line per la rilevazione della qualità della didattica, per i corsi che si concludono con il secondo modulo. Considerata l’importanza di tale rilevazione siete tutti caldamente invitati a partecipare compilando i suddetti questionari.

martedì 10 gennaio 2012

Possibile soluzione esercitazione 11

Disponibili possibili implementazioni dei problemi dell'esercitazione 11.

Aula di svolgimento delle lezioni

Vi confermo che anche la lezione di domani, cosi' come quelle della prossima settimana, si svolgera' in sala consiglio di facolta' e non in aula A220.

lunedì 9 gennaio 2012

Testo esercitazione 12

Disponibile il testo della nuova esercitazione che tratta principalmente le funzioni virtual.

Cambio aula

A causa dell'indisponibilita' dell'aula A220 la lezione di oggi si terra' in Sala Consiglio Facolta'. Per chi non la conoscesse e' l'auletta adiacente l'aula magna di ingegneria.