Riassunto teoria informatica
Stai vedendo l'anteprima delle prime pagine. Sblocca tutte le pagine con l'abbonamento.
Di cosa parla
- Introduzione all'Informatica: Definizione di Informatica, hardware (CPU, memoria, I/O) e software, ciclo di elaborazione dati.
- Algoritmi e Problem Solving: Fasi di sviluppo del programma, caratteristiche degli algoritmi e elementi di controllo (sequenza, selezione, ripetizione).
- Linguaggi e Python: Livelli di astrazione, introduzione a Python (interpretato, sintassi, `print()`, stringhe), modalità di esecuzione (normale, REPL), gestione errori (sintassi, run-time).
- Variabili e Costanti: Dichiarazione (`=`), regole di denominazione, convenzioni di stile, commenti (`#`).
- Tipi Numerici e Operatori Aritmetici: `int`, `float`, conversioni (`int()`, `float()`, `round()`), operatori aritmetici (`+`, `-`, `*`, `/`, `//`, `%`, `**`) e precedenza.
- Stringhe: Dichiarazione, lunghezza (`len()`), operazioni (`+` concatenazione, `*` ripetizione), conversioni, indicizzazione e slicing, immutabilità, metodi (`upper()`, `lower()`, `replace()`), Unicode e sequenze di escape.
- Input e Output Formattato: Funzione `input()`, conversione input numerico e formattazione output con f-string.
- Strutture Condizionali (`if/else`): `if`, `elif`, `else`, indentazione, operatori relazionali e booleani (`and`, `or`, `not`), short-circuit, leggi di De Morgan.
- Cicli (`while`, `for`): `while` (controllato da contatore/evento, sentinelle, flag), `break`, `continue`; `for` (iterazione su contenitori, `range()`, `enumerate()`); cicli annidati.
- Funzioni: Definizione (`def`), parametri (posizionali, nominali, default, `*args`), `return` (valori singoli o tuple), passaggio per riferimento o copia, struttura del programma (`main`).
- Strutture Dati Complesse:
- Liste: Mutabili, ordinate, indicizzate, operazioni (aggiunta, rimozione, ricerca, ordinamento), slicing, riferimenti e copie (shallow, deep).
- Tuple: Immutabili, ordinate, utilizzate per valori multipli.
- Insiemi (`set`): Mutabili, non ordinati, elementi univoci e immutabili, operazioni matematiche.
- Dizionari (`dict`): Associa chiavi univoche (immutabili) a valori, accesso, modifica, iterazione.
- Organizzazione del Codice: Moduli (driver, supplementari) per programmi grandi.
- Sistemi di Numerazione: Base 10, Base 2 (binario), Complemento a Due (CA2) per numeri negativi, gestione overflow.
- Rappresentazione Reale (Floating Point): Formato IEEE 754, limiti e approssimazione.
- Dati Non Numerici (Codifiche): ASCII, UNICODE, UTF-8 per caratteri; formati di testo.
- Architettura di un Elaboratore: Blocchi fondamentali (I/O, unità di elaborazione, memoria), Microprocessore (CPU) con Unità di Controllo (UC), Unità Operativa (UO) e Cache.
- Ciclo di Esecuzione delle Istruzioni: Fetch, Decode, Execute, Store.
- Gerarchia di Memoria: Registri, Cache, Memoria Principale (RAM), Memoria Secondaria (dischi), relazione tra velocità, costo, capacità.
- Bus: Interconnessioni (dati, indirizzi, controllo) e massima memoria indirizzabile.
- Gestione File ed Eccezioni: Apertura (`open()`) e chiusura (`close()`, `with`), modalità, lettura e scrittura di file di testo.
- Elaborazione Testo: Pulizia (`strip()`), suddivisione (`split()`).
- File CSV: Modulo `csv`, `csv.reader`, `csv.DictReader` per la lettura; `csv.writer`, `csv.DictWriter` per la scrittura.
- Gestione Eccezioni (`try-except`): `try`, `except`, `finally`, `raise`, tipi comuni di errori e best practices.
Registrati e scarica subito 3 appunti gratis.