Linguaggio C

Messaggioda hamming_burst » 08/03/2011, 21: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.
hamming_burst
Cannot live without
Cannot live without
 
Messaggio: 553 di 4280
Iscritto il: 04/07/2009, 11:53

Messaggioda hamming_burst » 11/04/2011, 22: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/
hamming_burst
Cannot live without
Cannot live without
 
Messaggio: 620 di 4280
Iscritto il: 04/07/2009, 11:53

Latex

Messaggioda hamming_burst » 07/06/2011, 16: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)
hamming_burst
Cannot live without
Cannot live without
 
Messaggio: 728 di 4280
Iscritto il: 04/07/2009, 11:53

Fondamenti di informatica

Messaggioda raffamaiden » 29/06/2011, 19: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, 08:35, modificato 1 volta in totale.
raffamaiden
 

Messaggioda apatriarca » 29/06/2011, 21: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
 
Messaggio: 1229 di 5283
Iscritto il: 08/12/2008, 21:37
Località: Londra

Materiale dalle olimpiadi di informatica

Messaggioda raffamaiden » 25/08/2011, 22: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/
raffamaiden
 

Re: [Dispense, appunti ed esercizi in Rete]

Messaggioda apatriarca » 03/09/2011, 20: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
 
Messaggio: 1416 di 5283
Iscritto il: 08/12/2008, 21:37
Località: Londra

Re: [Dispense, appunti ed esercizi in Rete]

Messaggioda hamming_burst » 08/09/2011, 22: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).
hamming_burst
Cannot live without
Cannot live without
 
Messaggio: 1153 di 4280
Iscritto il: 04/07/2009, 11:53

Re: [Dispense, appunti ed esercizi in Rete]

Messaggioda elgiovo » 30/12/2012, 13:40

Un libro molto bello (e gratuito) che tratta alcuni algoritmi famosi e la loro complessità e termina con lo studio di problemi NP-completi:

Algorithms and Complexity
di Herbert Wilf
Avatar utente
elgiovo
Advanced Member
Advanced Member
 
Messaggio: 2426 di 2830
Iscritto il: 24/12/2005, 14:11
Località: Boise, ID

Re: [Dispense, appunti ed esercizi in Rete]

Messaggioda Luc@s » 21/05/2013, 12:02

Creazione di una base dati.

Codice:
In generale si comincia dalla parte logica:

1. Definisci le entità con cui lavori basandoti
    sull'osservazione del problema che ti è stato dato.
2. Elenchi tutte le proprietà delle entità in questione
3. Togli quelle che non ti interessano
4. "Battezza" le relazioni
5. Definisci le cardinalità ( 0..n, 1..n, n...n)
6. Fai un bel disegnino. (carta o UML)

Poi passi alla parte implementativa:

7. Trasformi le proprietà in attributi
8. Trasformi le relazioni in chiavi.
----
Luca Francesca <luca.francesca@linux.com>
DevOps Engineer @ McAfee

Info: https://www.linkedin.com/in/lucafrancesca/
Luc@s
Moderatore
Moderatore
 
Messaggio: 1161 di 1539
Iscritto il: 01/05/2006, 18:21
Località: Irlanda

PrecedenteProssimo

Torna a Informatica

Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti