Lezioni di base per C/C++



By admin on febbraio 7, 2010


Il corso è stato pensato per tutti coloro che non hanno alcuna esperienza nel campo della programmazione o che hanno una infarinatura di base (conoscenza del Pascal, Basic o di un qualunque altro linguaggio per computer) ma che comunque conoscono "com'è fatto" un PC ed hanno delle sufficienti conoscenze di matematica e/o di logica.
Scopo del corso è quello di introdurre l'allievo nel mondo della programmazione, comprendere quelle che sono le difficoltà che bisogna superare affinché "la macchina obbedisca agli ordini dell'uomo" anche per piccoli lavori! Una volta capito come tradurre il nostro pensiero in azioni ad far eseguire al computer (o calcolatore) imparare un qualunque linguaggio di programmazione "è solo una questione di lingua"!
Ci sono 10 lezioni ognuna delle quali è propedeutica per quelle successive, l'ultima analizza un caso pratico di applicazione delle nozioni descritte: la gestione dei file.

  • Introduzione
    • Cos'è il C++: Breve descrizione delle 3 classi di linguaggi di programmazione (di basso, medio ed alto livello), descrizione generale di un Linguaggio ad Oggetti, collocazione del C++ tra i diversi linguaggi.
    • Differenze generali con gli altri linguaggi: Differenze sia a livello sintattico che di prestazioni del file binario (.exe) prodotto e portabilità su altri sistemi operativi.
    • Il Compilatore: Cos'è e cosa fa un compilatore. Risultato prodotto (file .obj).
    • Il Linker: Cos'è e cosa fa un linker. Risultato prodotto (file .exe, .dll,…).
    • Funzioni e Procedure: Cos'è una Funzione e cos'è una Procedura. Loro utilizzo in C/C++.

  • Composizione di un programma C/C++
    • Composizione schematica di un programma C/C++: #include, #define, Costanti, Variabili, Funzioni, Oggetti, commenti e differenza tra espressione ed istruzione.
    • Funzione main(): Punto di partenza di un programma; descrizione della funzione main; suoi parametri e valori restituiti.
    • Variabili: Cosa sono e a cosa servono, Dichiarazione e Visibilità.
    • Costanti: Cosa sono e a cosa servono, Dichiarazione e Visibilità. #define
    • Commenti: Cosa sono e a cosa servono. Dove posso inserire un commento?
    • Funzioni: Cosa sono e a cosa servono, Dichiarazione e Visibilità.                            
    • Oggetto: Di cosa è composto; perché si utilizza. Dichiarazione.
    • Programmi composti da più file .cpp: Descrizione della direttiva #include.

  • Tipi di Dati semplici
    • Tipi di dati semplici: Intero, carattere, logico, valore in virgola mobile (float, double), puntatore, tipo di dato void.
    • Tipi di dati complessi: Array, Matrici, Strutture

  • Operatori Matematici
    • Aritmetici: Somma,… , divisione, modulo, potenza.
    • Logici: AND, OR, NOT, XOR. Operatori logici sui bit (AND, OR, NOT, XOR, scorrimento a destra e a sinistra).
    • Precedenza degli operatori: Precedenza ed utilizzo delle parentesi.

  • Istruzioni di Condizione
    • Istruzione if-else: Struttura di base e struttura abbreviata. If-else annidati.
    • Istruzione switch-case.

  • Istruzioni di Ciclo
    • Ciclo incondizionato for.
    • Ciclo condizionato while: Condizione di controllo del ciclo. Attenzione ai cicli infiniti!
    • Ciclo condizionato do-while: Condizione di controllo del ciclo. Attenzione ai cicli infiniti!

  • Funzioni
    • Dichiarazione: Passaggio dei parametri per valore o per riferimento.
    • Implementazione.
    • Ricorsione: Una funzione che richiama se stessa. Stack e condizione di uscita dalla ricorsione.

  • Strutture dati complesse
    • Allocazione dinamica della memoria: Allocazione e de-allocazione (operatori new e delete).
    • Lista: Creazione ed utilizzo.
    • Lista Bidirezionali: Creazione ed utilizzo.
    • Pila: Creazione ed utilizzo.
    • Alberi: Creazione ed utilizzo.
    • Puntatori a funzioni.

  • Oggetti
    • Classe: Incapsulamento. Differenza tra Classe ed Oggetto.
    • Membri Dati e Funzioni Membro.
    • Visibilità esterna dei dati e funzioni: Public, Private e Protected.
    • Costruttore e Distruttore: Creazione e distruzione di un Oggetto.
    • Ereditarietà: Specializzazione di un oggetto.
    • Polimorfismo: Overload delle Funzioni membro.

  • Gestione dei File
    • Handle: Apertura e chiusura di un file.
    • File di teso: Lettura e Scrittura.
    • File binari: Lettura e Scrittura.




One Response to “Lezioni di base per C/C++”

  1. admin scrive:

    Versione PDF scaricabile dal sito http://www.scribd.com/totheshark