968 - Fondamenti di Informatica T-1 - A.A. 2011-2012
 
Sei in: Home> Lezioni

Contenuti


Informazioni sulla parte teorica del corso e materiale proiettato durante le lezioni.

Argomenti trattati

  • Concetti di base sui sistemi di elaborazione
  • Concetti di base sui linguaggi macchina e sui linguaggi di programmazione ad alto livello
  • Il linguaggio C: valori, tipi, costanti, variabili, puntatori, istruzioni di controllo, funzioni, procedure, vettori, stringhe, liste, strutture, file, organizzazione di programmi sorgente su più file
  • Principi e metodologie fondamentali di progetto e sviluppo di algoritmi. Componenti per la soluzione di problemi su piccola scala. Iterazione e ricorsione.
  • Organizzazione della macchina runtime del C. Rappresentazione run-time dei programmi e del record di attivazione delle funzioni.
  • Allocazione dinamica della memoria di scalari, strutture e array.
  • Tipi di dato astratto: liste, code, pile
  • Algoritmi di Ordinamento


Testi consigliati

Per chi desidera approfondire gli argomenti trattati a lezione vengono riportati qui di seguito i titoli di alcuni testi.

Programmazione e il linguaggio C
H. M. Deitel, J. Deitel
C: Corso completo di Programmazione
Apogeo, 2007, Terza Edizione.
A. Kelley, I. Pohl
C: Didattica e Programmazione
Pearson Education, 1996
A. Bellini, A. Guidi
Linguaggio C: Guida alla Programmazione
Mc Graw-Hill, 2003, Seconda Edizione.
Esercizi in C
A. Ciampolini, E. Lamma
Esercizi di Progammazione in Linguaggio C
Progetto Leonardo, Esculapio, 1999.
Informatica in generale
S. Ceri, D. Mandrioli, L. Sbattella
Informatica: Arte e Mestiere
Mc Graw-Hill, 2004.

 



 

Lucidi delle lezioni - MODULO 1 (parte teorica)


Nell'area sottostante puoi scaricare i file con le diapositive delle lezioni.

0. Introduzione al corso
1a. Introduzione all'informatica
1b. Introduzione agli algoritmi
2. Linguaggi e grammatiche
3. Introduzione ai Compilatori e al Linguaggio C
4. Tipi di dato
5. Rappresentazione dei numeri
6. Input e Output
6bis. Primi passi
7. Istruzioni
7bis. Programmazione strutturara
7tris. Preprocessore
8. Funzioni
9. Ricorsione
9bis. Funzioni e ricorsione (aggiornato il 31/10/2011)
10. Procedure
10bis. Passaggio dei parametri e Gestione degli errori
11. Progetti su più file
11bis. Metodo di bisezione
12. Array e Stringhe
12bis. Esercizi sugli array & Ricerca binaria (aggiornato il 7/11/2011)
12c. Esercizi sulle stringhe
12d. Strutture
13. typedef (aggiornato il 13/11/2011)
14. Matrici (aggiornato il 13/11/2011)
15. stdio
16. File di testo
17. File binari
17bis. Esercizi sui files
18. Variabili globali e statiche
19. Ordinamento
20. Allocazione dinamica
21. ADT
22. Liste
23. Stack e Code

Esercitazioni

Architettura: Introduzione all'Architettura degli Elaboratori
Prima Esercitazione: Grammatiche, Rappresentazione dei numeri, Record di attivazione, Analisi e Sintesi
Seconda Esercitazione: Matrici, Stringhe, File, Strutture, Puntatori, Allocazione dinamica della memoria
Terza Esercitazione: Liste, Files, Stack, Code FIFO
Quarta Esercitazione: Prova scritta

 



 

Lucidi delle lezioni - MODULO 2 (parte di laboratorio)


Nell'area sottostante puoi scaricare i file con le diapositive delle lezioni.

00. Chi non ha mai visto un PC
lab00. Introduzione al Modulo 2
02. Prompt e Linea di comando
03. Introduzione a Visual Studio
04. Tipi semplici, IO ed Espressioni - Soluzione
05. If, Switch e Cicli (NEW-corretto un typo nella slide 4) - Soluzione
06. Funzioni, funzioni ricorsive e programmi su piu' moduli - Soluzione
07. Funzioni, Parametri per riferimento e trattamento degli errori - Soluzione
08. Array - Soluzione
09. Array e Funzioni - Soluzione
10. Stringhe e Strutture - Soluzione(New! Corretto un typo nella slide 34)
11. Matrici - Soluzione
12. Ordinamento - Soluzione
13. Files
14. Allocazione Dinamica della Memoria (New! Corretti alcuni typos)
15. Liste
16. Esempio di Compito d'Esame



Strumenti

Ambienti di Sviluppo in C

Microsoft Visual C++ Express Edition
Microsoft Visual Studio (Academic Alliance) - Istruzioni
Bloodshed Dev-C++

Altri strumenti

Progetto vuoto Visual Studio configurato per il linguaggio C

Istruzioni per l'uso:

  1. Le ragioni
    Microsoft Visual Studio supporta il linguaggio C ma non esiste un wizard per la creazione di progetti C "semplici". I progetti contenuti in questo zip sono progetti C++ configurati per compilare e linkare solo codice ANSI C.
  2. L'uso
    A seconda dell'ambiente di sviluppo installato, è necessario utilizzare il progetto corrispondente. In particolare, per creare un nuovo progetto, creare una copia del progetto (file *.vcproj - per comodità esiste anche un file main.c contenente un semplice main) ed aprirlo con il proprio ambiente di sviluppo.
  3. Warnings
    È possibile, mediante upgrade, convertire progetti VS2005 in progetti VS2008 ma non è possibile seguire il percorso opposto. In ogni caso, si possono aggiungere ad un progetto vuoto dei file sorgente esistenti.