Dispense VERIFICATO

_04programmazione

Università degli Studi di Napoli - Federico II ingegneria informatica 2021
13 visualizzazioni
18 download
Nessun voto ancora
Condividi: WhatsApp Telegram
Anteprima pagina 1 — _04programmazione Anteprima pagina 2 — _04programmazione Anteprima pagina 3 — _04programmazione Anteprima pagina 4 — _04programmazione Anteprima pagina 5 — _04programmazione

Di cosa parla

  • Introduzione alla Programmazione:
    • Definizione di Informatica, Algoritmi, Programmi e Computer.
    • Distinzione tra processo e processore.
    • Esempio base di programma C++ ("Hello, world!") con dettagli sui simboli, parole chiave e commenti.
  • Fondamenti di C++:
    • Gestione delle Variabili: dichiarazione, assegnazione, scope (globali, locali), tipi semplici (bool, int, char, float, double) e modificatori (short, unsigned, long).
    • Identificatori: regole di formato, case sensitivity.
    • Costanti: dichiarazione con const e direttiva #define.
    • Operatori: algebrici (+, -, *, /, %), logici (&&, ||, !), relazionali (==, !=, >, <, >=, <=), bitwise.
    • Pre-incremento e post-incremento (++i, i++).
    • Operatore condizionale ternario (condition ? result1 : result2).
  • Costrutti di Controllo:
    • Selezione: if-then-else nidificato e switch per scelte multiple.
    • Iterazione: cicli while-do, do-while (con almeno un'esecuzione) e for (con prologo, condizione, continuazione).
    • Esercizi pratici con soluzioni per ogni costrutto.
  • Strutture Dati:
    • Array: collezione ordinata di dati omogenei, dichiarazione, accesso agli elementi, operazioni (visualizzazione, ricerca, eliminazione, inserimento in array ordinato).
    • Stringhe: array di char terminati da \0. Operazioni comuni (strlen, strcpy, strcat, strcmp) con implementazioni manuali.
    • Matrici: array multidimensionali, dichiarazione e accesso. Esercizi su somma/max per riga e scambio di righe.
    • Struct: collezione di dati eterogenei (record), dichiarazione, definizione, accesso ai campi, nidificazione di struct. Utilizzo di typedef per creare alias di tipo.
    • Puntatori: indirizzi di memoria (&), valori puntati (*). Puntatori a struct (->) e ad array. Allocazione statica vs dinamica (new, delete, new[], delete[]).
    • Liste concatenate: struttura dinamica con elementi (valore + puntatore al prossimo). Creazione, riempimento da vettore, visualizzazione, inserimento ed eliminazione di elementi, deallocazione.
  • Funzioni e Modularità:
    • Principio di scomposizione in sottoproblemi.
    • Dichiarazione (prototipo) e definizione di funzioni.
    • Chiamata di funzione e passaggio dei parametri: per valore (copia), per puntatore (indirizzo), per riferimento (alias diretto).
    • Esercizi sull'uso delle funzioni con array e calcoli.
    • Librerie di funzioni e compilazione separata (header .h, implementazione .cpp, main .cpp).
  • Ricorsione:
    • Funzioni che richiamano sé stesse, con un caso base risolvibile.
    • Esempi: calcolo della potenza, fattoriale, ricerca binaria.
  • Gestione File:
    • Memorizzazione persistente di dati.
    • Operazioni di base con fstream (ifstream, ofstream): apertura, chiusura, lettura (>>), scrittura (<<), controlli (is_open(), fail(), eof()).
    • Esercizi su lettura/scrittura e analisi di frequenza caratteri.
  • Algoritmi di Ordinamento:
    • Introduzione a Selection Sort e Bubble Sort, con logica e implementazioni.
  • Debugging:
    • Strumenti in Dev Cpp: breakpoint, watch, esecuzione passo-passo.

Altri appunti di PROGRAMMAZIONE I (9)

Condividi questi appunti

WhatsApp Telegram