Linguaggio C

Messaggioda hamming_burst » 08/03/2011, 20:27

Autore: Agostino Dovier
Università: Università di Udine - Corso di Laurea in Matematica
Argomento: Linguaggio C per un corso di Informatica 1


http://www.dimi.uniud.it/dovier/DID/MAT ... ica_04.pdf


NOTE: Dispense essenziali e riassuntive sui Principi di programmazione in C.
"Un giorno tutti noi sciocchi saremo morti e allora i vivi andranno avanti. ... tutti gli uomini saranno fratelli e nessuno se ne starà al sole in panciolle a farsi nutrire dai suoi compagni"
[Jack London]

HOFL...che stress!!
Avatar utente
hamming_burst
Moderatore
Moderatore
 
Messaggi: 2271
Iscritto il: 04/07/2009, 10:53

Messaggioda hamming_burst » 11/04/2011, 21:37

Su questo sito, gestito da degli studenti dell'UniNa, si trovano una miriade di argomenti dell'IT; dispense, libri e registrazioni (audio) di lezioni. Molto utile.

http://unina.stidue.net/
"Un giorno tutti noi sciocchi saremo morti e allora i vivi andranno avanti. ... tutti gli uomini saranno fratelli e nessuno se ne starà al sole in panciolle a farsi nutrire dai suoi compagni"
[Jack London]

HOFL...che stress!!
Avatar utente
hamming_burst
Moderatore
Moderatore
 
Messaggi: 2271
Iscritto il: 04/07/2009, 10:53

Latex

Messaggioda hamming_burst » 07/06/2011, 15:30

Vari link, tra appunti e proprie guide sulla scrittura in Latex, presi in vari post nel forum e altri nel web:

- http://www.lorenzopantieri.net/LaTeX.html (sito molto completo di tutto il necessario)
- Minuguida in Latex di ?
- L'arte di scrivere in Latex di Lorenzo Pantieri & Tommaso Gordini
- Latex per l'impaziente (L'arte di scrivere in Latex essential) di Lorenzo Pantieri
- Manuale con Esempi di Enzo Tonti


Editor Latex Online

Grafici in Latex

Latex in Gmail

disegna il simbolo LaTeX ed ottieni il codice corrispondente (consigliato da prime_number)
"Un giorno tutti noi sciocchi saremo morti e allora i vivi andranno avanti. ... tutti gli uomini saranno fratelli e nessuno se ne starà al sole in panciolle a farsi nutrire dai suoi compagni"
[Jack London]

HOFL...che stress!!
Avatar utente
hamming_burst
Moderatore
Moderatore
 
Messaggi: 2271
Iscritto il: 04/07/2009, 10:53

Fondamenti di informatica

Messaggioda raffamaiden » 29/06/2011, 18:55

Dispense del corso "Fondamenti di Informatica" per cdl in Ingegneria Elettronica, prof. Lorenzo Mezzalira, Politecnico di Milano

http://home.dei.polimi.it/mezzalir/Informatica1/materiale_didattico.htm

Lucidi delle lezioni (in realtà sono vere e proprie dispense):

1) Introduzione all’informatica: algoritmi, linguaggi e programmi
2) Rappresentazione delle informazioni nei sistemi digitali
3) Architettura e linguaggio del calcolatore
4) Introduzione alla programmazione in linguaggio C
5) Linguaggio C: Costrutti di controllo e strutture dati
6) Linguaggio C: I sottoprogrammi
7) Linguaggio C: Ricorsione, gestione dei file, strutture dati dinamiche
8) Registri contatori, Temporizzatori, Sincronizzazione tra eventi e acquisizione ed elaborazione dei dati corrispondenti
9) Sistema operativo, Esecuzione di processi concorrenti

Disponibili anche due ulteriori dispense che approfondiscono gli argomenti trattati nelle dispense 2 e 3.

Commento: complete (per quello che si propongono di fare) e al contempo abbastanza semplici da seguire e lineari.
Ultima modifica di raffamaiden il 30/06/2011, 07:35, modificato 1 volta in totale.
Avatar utente
raffamaiden
Average Member
Average Member
 
Messaggi: 547
Iscritto il: 27/09/2009, 18:11

Messaggioda apatriarca » 29/06/2011, 20:16

Sfogliando le dispense consigliate da raffamaiden mi è caduto l'occhio sul seguente:
• char: (8 bit - 1 byte) Valori da 0 a 255 che rappresentano la codifica ASCII estesa del carattere corrispondente
• int (16bit - 2 byte) Rappresentano gli interi relativi. Valori in complemento a 2 da - 32768 a + 32767

Entrambe le affermazioni sono sbagliate per i seguenti motivi:
1. La dimensione in bit dei tipi interi non è prescritta dallo standard C. Viene richiesta una dimensione minima, che nel caso di char è 8 bit e nel caso di int è 16bit, ma l'effettiva dimensione può anche essere diversa. Sono per esempio esistiti dei computer a 36bit e ogni "byte" (nel senso del C) era quindi composto da 9 bit (come si può leggere qui). Ogni tipo su un computer di questo tipo avrà cioè una dimensione che multipla di 9 bit. Ma se la dimensione dei char sulla maggior parte dei computer odierni è di 8bit, lo stesso non si può dire degli int. Anzi, la dimensione di un int sulla maggior parte dei sistemi a 32 o 64 bit è 32bit!!! L'affermazione del tuo professore non vale quindi neanche sul computer che usa quotidianamente..
2. I char non sono necessariamente senza segno. Su alcuni computer (e alcuni compilatori permettono di passare da una rappresentazione all'altra) sono infatti con il segno rappresentando quindi numeri da -128 a 127 (ammettendo 8 bit e la rappresentazione a complemento a 2, nessuno dei quali è garantito). Quando si vuole lavorare con i char come se fossero numeri, conviene usare direttamente unsigned char e signed char (l'unico caso in cui signed ha davvero senso).
3. Per tutte le ragioni di cui ho parlato precedentemente, un char non usa necessariamente ASCII extended.

Sarà pignoleria la mia, ma mi chiedo come sia possibile che nessuna delle dispense di corsi che insegnano il C che mi sia capitato di leggere sia priva di errori di questo tipo. Capisco che non si possa spiegare tutto, ma è possibile che ci siano sempre gli stessi errori e/o inesattezze? Mi ritengo ormai fortunato se il codice inserito nelle dispense è corretto e compilabile.
apatriarca
Moderatore
Moderatore
 
Messaggi: 2126
Iscritto il: 08/12/2008, 20:37
Località: Torino

Materiale dalle olimpiadi di informatica

Messaggioda raffamaiden » 25/08/2011, 21:10

Dispense scritte per chi si accinge a sostenere le olimpiadi di informatica. Contengono la spiegazione di alcuni delgi algoritmi più diffusi in informatica, richiedono quindi la conoscenza già acquisita di un linguaggio di programmazione, preferibilmente C o Pascal.

Programmazione dinamica
Massima sottosequenza comune
L’algoritmo di Dijkstra
Heap, heap indiretti e code di priorità
Nozioni di base sulle permutazioni
La strategia MiniMax e le sue varianti
Breve introduzione alla riga di comanda Linux

Dispense tratte da
http://ioi.dsi.unimi.it/
Avatar utente
raffamaiden
Average Member
Average Member
 
Messaggi: 547
Iscritto il: 27/09/2009, 18:11

Re: [Dispense, appunti ed esercizi in Rete]

Messaggioda apatriarca » 03/09/2011, 19:23

Un ottimo sito dove reperire informazioni è [url=ocw.mit.edu]MIT Open Course Ware[/url]. Contiene infatti i materiali (a volte anche le video lezioni di ormai tantissimi dei corsi che vengono tenuti al MIT. Molto recentemente ho poi scoperto di questo altro progetto di Stanford che è però ad uno stato molto più embrionale: Stanford Engineering Everywhere. Non sono molti e il materiale non è inserito per intero, ma la qualità dei corsi dovrebbe essere molto buona (ho seguito un pezzo di una lezione del corso "Programming Paradigms" e mi ha favorevolmente colpito). Ci sono poi 3 corsi ai quali ci si può iscrivere online in modo da ottenere un certificato utile solo ai fini del curriculum a questo sito: http://www.ai-class.com/.
apatriarca
Moderatore
Moderatore
 
Messaggi: 2126
Iscritto il: 08/12/2008, 20:37
Località: Torino

Re: [Dispense, appunti ed esercizi in Rete]

Messaggioda hamming_burst » 08/09/2011, 21:30

apatriarca ha scritto:(a volte anche le video lezioni di ormai tantissimi dei corsi che vengono tenuti al MIT.


una risorsa simile è iTunesU,
risorse gratuite per gli universitari del mondo, da parecchi università del Mondo. Videolezioni, slide, dispense, anche di alcune università italiane.
Accessibile dagli apparecchi Apple, dal software proprietario iTunes, e dagli emuli (es: TunesViewer).
"Un giorno tutti noi sciocchi saremo morti e allora i vivi andranno avanti. ... tutti gli uomini saranno fratelli e nessuno se ne starà al sole in panciolle a farsi nutrire dai suoi compagni"
[Jack London]

HOFL...che stress!!
Avatar utente
hamming_burst
Moderatore
Moderatore
 
Messaggi: 2271
Iscritto il: 04/07/2009, 10:53

Precedente

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti