Docsity
Docsity

Prepara i tuoi esami
Prepara i tuoi esami

Studia grazie alle numerose risorse presenti su Docsity


Ottieni i punti per scaricare
Ottieni i punti per scaricare

Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium


Guide e consigli
Guide e consigli


Esame informatica e basi di dati modulo A, Dispense di Fondamenti di informatica

Materiale completo di slide e appunti

Tipologia: Dispense

2025/2026

Caricato il 13/01/2026

Sabry737629
Sabry737629 🇮🇹

3 documenti

1 / 16

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
Informatica
Capitolo 1 -> Concetti base dell’informatica
L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano
l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazioni e applicazioni, o
più semplicemente: la scienza della rappresentazione e dell’elaborazione
dell’informazione. (= definizione dell’association for computing machinery ACM). Il
termine deriva da quello francese "informatique", contrazione di informat(ion)
(automat)ique, coniato da Philippe Dreyfus nel 1962. Il primo utilizzo italiano risale al
1968. (in inglese: computer science).
L’informatica presenta diverse aree disciplinari (es. intelligenza artificiale, linguaggi di
programmazione, sistemi operativi e reti) e numerose applicazioni nel mondo reale
(es. video games, realtà virtuale, gestionali, applicazioni web)
L’informatica nasce dal convergere di differenti campi disciplinari (es. matematica e
logica, computer grafica), che si sono posti il problema di come automatizzare la
manipolazione di simboli tramite regole, rendendola eseguibile da una macchina.
L’informatica fornisce soluzioni di problemi matematici rappresentativi di
problematiche economiche (es. programmi analisi costi/benefici, identificazione frodi
bancarie, sistemi antiriciclaggio).
Con il termine "Fintech" viene generalmente indicata l'innovazione finanziaria resa
possibile dall'innovazione tecnologica, che può tradursi in nuovi modelli di business,
processi o prodotti, ed anche nuovi operatori di mercato.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Anteprima parziale del testo

Scarica Esame informatica e basi di dati modulo A e più Dispense in PDF di Fondamenti di informatica solo su Docsity!

Informatica

Capitolo 1 -> Concetti base dell’informatica

L’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: la loro teoria, analisi, progetto, efficienza, realizzazioni e applicazioni, o più semplicemente: la scienza della rappresentazione e dell’elaborazione dell’informazione. (= definizione dell’association for computing machinery ACM). Il termine deriva da quello francese "informatique", contrazione di informat(ion) (automat)ique, coniato da Philippe Dreyfus nel 1962. Il primo utilizzo italiano risale al

  1. (in inglese: computer science). L’informatica presenta diverse aree disciplinari (es. intelligenza artificiale, linguaggi di programmazione, sistemi operativi e reti) e numerose applicazioni nel mondo reale (es. video games, realtà virtuale, gestionali, applicazioni web) L’informatica nasce dal convergere di differenti campi disciplinari (es. matematica e logica, computer grafica), che si sono posti il problema di come automatizzare la manipolazione di simboli tramite regole, rendendola eseguibile da una macchina. L’informatica fornisce soluzioni di problemi matematici rappresentativi di problematiche economiche (es. programmi analisi costi/benefici, identificazione frodi bancarie, sistemi antiriciclaggio). Con il termine "Fintech" viene generalmente indicata l'innovazione finanziaria resa possibile dall'innovazione tecnologica, che può tradursi in nuovi modelli di business, processi o prodotti, ed anche nuovi operatori di mercato.

Capitolo 2 -> Concetti generali e architetture di alto livello sistemi

di elaborazione

STORIA DEL COMPUTER

L’antenato del computer è l’abaco (2000 a.C.): strumento di calcolo formato da un telaietto su cui scorrono alcune file di palline che denotano le unità, le decine, le centinaia, le migliaia. Il funzionamento si basa sempre sul principio fondamentale di ogni sistema di numerazione posizionale, cioè che il valore di una cifra dipende dal posto che occupa. Le operazioni possibili non sono soltanto addizioni e sottrazioni, ma anche moltiplicazioni e divisioni, viste rispettivamente come addizioni e sottrazioni ripetute Al noto filosofo francese Blaise Pascal viene riconosciuto il merito di aver costruito la cosiddetta “Pascalina”, la prima macchina calcolatrice. Funzionava con le ruote dentate e poteva eseguire solo le addizioni. Nel 1671 Leibniz perfezionò la Pascalina introducendo un meccanismo basato su una particolare ruota dentata. Ciò consentì alla macchina di Leibniz di eseguire anche le moltiplicazioni. A Leibniz si deve l’invenzione del sistema binario. Il matematico inglese Charles Babbage può essere considerato il padre dei calcolatori digitali moderni: il progetto di Babbage prevede una macchina con una unità aritmetica di 50 cifre decimali, una memoria interna costituita da 1000 registri da 50 cifre, e un meccanismo di controllo a schede perforate, ripreso dal telaio tessile inventato dal francese Jacquard nel 1801. Ada Byron, figlia del poeta Lord Byron, incontrò Babbage a 17 anni e iniziò a collaborare con lui alla macchina analitica. Tra i suoi appunti venne trovato il primo modello di computer programmabile, ed un algoritmo per generare i numeri di Bernoulli, scritto per essere eseguito dalla macchina. Per questo è ricordata come la prima programmatrice al mondo. Verso la fine del 1800 , negli Stati Uniti si presentò un problema molto concreto e urgente: l'elaborazione dei dati del censimento americano del 1890. Uno studioso di statistica, Herman Hollerith adattò la scheda perforata a questo scopo, registrando su ogni scheda i dati di un cittadino e realizzando una macchina in grado di contarli. La società fondata da Hollerith si chiamò, e si chiama tuttora, IBM (International Business Machine). Il primo grande computer elettromeccanico è quello di Howard Aiken, che nel 1937, ad Harvard (USA), insieme ad IBM, riprende in esame i lavori di Babbage e cerca di utilizzare i relè per realizzare un computer del tipo di quello di Babbage. Esso prende il nome di MARK 1 ed era capace di 3 operazioni al secondo. L’ENIAC, acronimo di Electronic Numerical Integrator and Computer, è stato considerato per molto tempo il primo calcolatore elettronico mai realizzato. Fu progettato durante la seconda guerra mondiale per calcolare le traiettorie. Le sue dimensioni erano impressionanti: occupava una sala calcolo di 167 m2, effettuava 5.000 addizioni al secondo ed aveva una memoria di 200 byte. L'UNIVAC fu il primo calcolatore elettronico in grado di conservare il programma all'interno della memoria (grazie ad un'importante innovazione dovuta al matematico

Elaboratore elettronico (computer)

Il computer è uno strumento in grado di eseguire velocemente in sequenza insiemi di azioni elementari (“operazioni”). Le operazioni vengono eseguite su oggetti (dati) per produrre altri oggetti (risultati). L’esecuzione di operazioni viene richiesta all’elaboratore attraverso frasi (istruzioni) scritte in un linguaggio di programmazione.

Programma

Un programma per computer indica al computer la sequenza di passi necessari per completare un compito specifico. Il programma consiste in un numero molto elevato di istruzioni primitive (semplici). I computer possono svolgere un’ampia gamma di compiti perché possono eseguire programmi diversi. Ogni programma è progettato per indirizzare il computer a lavorare su un compito specifico. La programmazione è l’azione di progettare, implementare e testare programmi per computer.

HARDWARE E SOFTWARE

Hardware

L’ hardware è costituito dagli elementi fisici di un sistema informatico. Alcuni esempi molto visibili sono il monitor, il mouse, la memoria esterna e la tastiera. In particolare, sono elementi dell’hardware:

  • L’unità di elaborazione centrale ( CPU ), che esegue il controllo dei programmi e l’elaborazione dei dati;
  • I dispositivi di archiviazione , che comprendono la memoria principale (RAM) e l’archiviazione secondaria (Disco rigido, l’unità flash);
  • I dispositivi di ingresso/uscita , che consentono all’utente di interagire con il computer (input mouse, tastiera, output: stampante, schermo);

CPU

La CPU è composta da due componenti: l’unità di controllo e l’unità logico aritmetica:

  • L’ unità di controllo dirige il funzionamento del processore. Tutte le risorse sono gestite dall’unità di controllo. Controlla la comunicazione e il coordinamento tra i dispositivi di input/output. Legge e interpreta le istruzioni e determina la sequenza di elaborazione dei dati. Fornisce segnali di temporizzazione e di controllo.
  • L’ unità logico aritmetica contiene i circuiti per eseguire calcoli e confronti. Fa esattamente ciò che l’unità di controllo le dice di fare. La CPU, la memoria centrale e i dispositivi sono realizzati con una tecnologia elettronica digitale. Dati ed operazioni vengono codificati a partire da due valori distinti di grandezze elettriche:
  • tensione alta (5V) -> valore 1
  • tensione bassa (0V) -> valore 0 A tali valori vengono convenzionalmente associate le due cifre binarie 0 e 1:
  • logica positiva: 1 - 0
  • logica negativa: 0 - 1

Dati e operazioni vengono codificati tramite sequenze di bit (Binary digit). La CPU è in grado di operare soltanto in aritmetica binaria, effettuando operazioni elementari: somma e differenza, scorrimento (shift). Lavorando direttamente sull’hardware, l’utente è forzato a esprimere i propri comandi al livello della macchina, tramite sequenze di bit, cioè il Linguaggio macchina.

Dispositivi di archiviazione

Esistono due tipi di archiviazione:

  • archiviazione di memoria primaria (o centrale): è di minori dimensioni rispetto alla secondaria, è più veloce ed è composta da chip di memoria, ossia circuiti elettronici in grado di memorizzare dati fintanto che viene fornita energia elettrica (memoria volatile; - archiviazione di memoria secondaria (o di massa): è di maggiori dimensioni rispetto alla primaria, fornisce un’archiviazione più lenta e meno costosa, ma persistente, nel senso che i dati persistono anche in assenza di energia elettrica; I computer memorizzano sia dati che programmi. I dati e i programmi si trovano nella memoria secondaria e vengono caricati in memoria primaria quando il programma viene avviato. Un modo semplice per immaginare la memoria primaria è una tabella di celle tutte della stessa dimensione, un byte, unità di misura fondamentale della memoria, e ognuna contente un indirizzo univoco che inizia con 0. Il computer “tipico” ha una memoria principale che va da 4 gigabyte (GB) a 32 GB.

Un byte è composto da 8 bit ( 23 ).

Un kilobyte, KB, è pari a 1024 byte. (si lavora in potenze di due) Un megabyte, MB è pari a circa 1 milione di byte. Un gigabyte, GB, è pari a circa 1 miliardo di byte. Pensiamo per un attimo alla velocita connessione di rete Internet odierna (4G/5G velocità di byte trasmessi al secondo). Esecuzione di un programma Le istruzioni del programma e i dati (come testo, numeri, audio o video) sono memorizzati in formato digitale. Quando un programma viene avviato, viene portato in memoria primaria, dove la CPU può leggerlo. La CPU esegue il programma un’istruzione alla volta. Il programma può reagire agli input dell’utente. Le istruzioni e gli input dell’utente guidano l’esecuzione del programma. La CPU legge i dati (compreso l’input dell’utente), li modifica e li riscrive in memoria, sullo schermo o sulla memoria secondaria.

Software

Il software è tipicamente realizzato come programma applicativo (es. Microsoft word, computer games, sistemi operativi, driver dei dispositivi). Il software è una sequenza di istruzioni e decisioni implementate in un linguaggio e tradotte in una forma che può

  • Il BUS INDIRIZZI è unidirezionale (dalla CPU verso la memoria), serve per trasmettere il contenuto del Registro indirizzi contenuto nella CPU alla memoria centrale (per selezionare una specifica cella su cui viene eseguita o un’operazione di lettura o una operazione di scrittura;
  • Il BUS COMANDI è bidirezionale, tipicamente usato per inviare comandi dalla CPU verso la memoria centrale (es. lettura o scrittura) o verso una periferica (es. stampa verso la stampante) o viceversa.

Periferiche

Sono esempi: tastiera e mouse, video e stampante, scanner e tavoletta grafica, dispositivi di memoria di massa. Interfacce Le interfacce sono dispositivi che consentono all’elaboratore di comunicare con le periferiche. Sono molto diverse tra loro e dipendono dal tipo di unità periferica da connettere.

Memorie -> Memorie di massa

Le memorie di massa sono dispositivi in grado di conservare al loro interno grandi quantità di informazioni, in modo persistente (le informazioni non si perdono spegnendo il computer) e con un accesso in lettura e scrittura meno rapido della RAM (nell’ordine dei millisecondi). Esempi:

  • il compact disc/dvd è una memoria di massa obsoleta (stop alla produzione dal 2022), la cui dimensione è limitata dalla circonferenza con cui sono stati progettati.
  • l’ hard disk meccanico tradizionale (HDD) è il dispositivo fisico di memoria con la maggiore capacità: centinaia (o migliaia) di GB contro qualche unità di GB degli altri dispositivi. È il dispositivo più suscettibile ai guasti a causa delle parti meccaniche che lo compongono, è il più lento e richiede molto tempo per il trasferimento dei dati dal disco alla RAM.
  • Memorie elettroniche non volatili (es. chiavette USB, SD card e i più recenti hard disk a stato solido) sono basati su una tecnologia elettronica (come la RAM), ma, a differenza della RAM, non sono volatili. Vengono definite memorie

flash proprio perché l’alta tensione usata per cancellarle era paragonata a un flash. o L’ hard disk a stato solido (SSD) è un dispositivo di massa senza parti meccaniche, è basato su memorie flash (circuiti elettronici a stato solido), ha una velocità di accesso e trasferimento dati molto elevata, non presenta tempo di seek o latenza rotazionale, è silenzioso, resistente a urti e vibrazioni, e ha un consumo energetico ridotto.

Cloud storage

Il cloud storage è un modello di conservazione dati su computer in rete dove i dati stessi sono memorizzati su molteplici server virtuali generalmente ospitati presso strutture di terze parti o su server dedicati. Il cloud storage (che tradotto dall’inglese sta per “archiviazione cloud”) è un metodo di conservazione dei dati personali su server presenti in rete e accessibili tramite connessione internet. Il cloud (es. Onedrive) offre quindi uno spazio virtuale, ossia una sorta di disco fisso (hard-disk) sempre connesso e accessibile, sul quale è possibile salvare qualsiasi tipo di cartella o file. Ciò comporta il vantaggio di potervi accedere in un secondo momento da un altro computer, da smartphone o da altri dispositivi compatibili. (es. spazio/velocità = tempo cioè dimensione video 5 Gigabite / 1 Gigabyte per secondo = 5 secondi )

Memorie -> Memoria centrale

La memoria primaria presenta dimensioni relativamente limitate, consente un accesso molto rapido ed è realizzata con tecnologia a semiconduttore. È composta da:

  • RAM (Random Access Memory) è volatile (perde il suo contenuto quando si spegne il calcolatore): usata per memorizzare dati e programmi.
  • ROM (Read Only Memory) è persistente (mantiene il suo contenuto quando si spegne il calcolatore) ma il suo contenuto è fisso e immutabile: usata per memorizzare programmi di sistema (=sistema operativo). La memoria centrale (o primaria) comprende sia RAM che ROM, ma solo una piccola parte della ROM risiede sulla scheda madre. Tutte le altre memorie non volatili (come SSD, HDD, chiavette USB) non fanno parte della memoria centrale ma sono memorie di massa o secondarie.

Indirizzamento

Ciascuna cella di memoria ha un indirizzo (scritto in valori del sistema binario), che equivale alla sua posizione relativa rispetto alla prima cella di memoria (con indirizzo 0). L’indirizzamento è l’attività con cui l’elaboratore seleziona una particolare cella di memoria. Per farlo, l’elaboratore pone l’indirizzo della cella desiderata nel Registro Indirizzi (RI) della CPU:

Operazioni di scrittura

Scrittura (write): il contenuto del Registro Dati è copiato nella cella di memoria indirizzata dal Registro indirizzi. Fasi dell’operazione di lettura e uso del Bus:

  • 1 Bus indirizzi (address bus): la CPU invia alla memoria l’indirizzo della cella di destinazione, tramite il Registro Indirizzi (RI) tramite il bus indirizzi;
  • 2 Bus comandi (command bus): la CPU, tramite il Registro Istruzioni, invia un segnale di scrittura (WRITE) alla memoria, tramite il bus comandi;
  • 3 Bus dati (data bus): la CPU trasferisce il contenuto dal Registro Dati (RD) alla cella di memoria selezionata (in caso sovrascritta), tramite il bus dati;

Esempio: Considerazioni: Sebbene la RAM sia veloce, non è abbastanza veloce da “star dietro” ai moderni processori. Il processore perde tempo ad aspettare l’arrivo dei dati dalla RAM. La soluzione è inserire tra processore e RAM una memoria particolarmente veloce dove tenere i dati usati più spesso ( memoria cache ). Memoria cache La prima volta che il processore carica dei dati dalla memoria centrale, tali dati vengono caricati anche sulla cache. Le volte successive, i dati possono essere letti dalla cache (veloce) invece che dalla memoria centrale (più lenta) in base al principio di località di dati e istruzioni. Le cache sono realizzate con tecnologie più performanti rispetto alla RAM, costano molto di più per bit e richiederebbero spazi maggiori sul chip se usate su larga scala. La cache di primo livello è integrata nel processore. La cache di secondo livello può essere interna o esterna al processore. In alcuni sistemi esiste anche la cache di terzo livello. La CPU accede prima alla cache, poi alla RAM solo se necessario (principio di località).

Registri

  • Program Counter (PC): contiene l’indirizzo della prossima istruzione da prelevare nella memoria centrale;
  • Instruction Register (IR): contiene l’istruzione attualmente in esecuzione, appena prelevata dalla memoria;
  • Registro Indirizzi (RI): contiene l’indirizzo di memoria da cui leggere o verso cui scrivere un dato;
  • Registro Dati (RD): contiene il dato in fase di elaborazione oppure il risultato dell’operazione eseguita;
  • Registro Interruzioni (RINT): gestisce le interruzioni hardware e software, sospendendo momentaneamente l’esecuzione per rispondere a eventi esterni o interni.
  • Registro dei Flag (FLAG): contiene bit di stato che descrivono l’esito dell’ultima operazione eseguita dall’ALU (es. zero, riporto, segno, overflow). Aiuta il processore a prendere decisioni logiche (es. salti condizionati).
  • Registri di uso generale (A,B,C..): utilizzati per memorizzare temporaneamente dati e indirizzi durante l’elaborazione. Spesso fungono da operandi per l’ALU o da contenitori intermedi.

ALU

L’ ALU (Arithmetic Logic Unit) è il componente della CPU che esegue operazioni aritmetiche, logiche e confronti, utilizzando i dati contenuti nella memoria centrale o nei registri interni alla CPU. L’ALU lavora in stretta collaborazione con i registri della CPU e con l’unità di controllo, che coordina quali operazioni eseguire e quando eseguirle. Esempio di una somma tra due numeri:

    1. Caricamento dei dati nei registri o I due numeri da sommare vengono prelevati dalla memoria centrale (RAM). o Il primo numero viene caricato nel registro A, il secondo nel registro B.
    1. Esecuzione dell’operazione o L’ALU riceve il comando di eseguire la somma (dall’unità di controllo tramite segnale). o L’ALU somma il contenuto dei registri A e B.
    1. Salvataggio del risultato o Il risultato della somma viene scritto in uno dei registri (spesso il registro A). o Il registro dei FLAG viene aggiornato per indicare lo stato del risultato (es. se il risultato è negativo, se c’è stato un riporto, ecc.).
    1. Esempio numerico o A = 5, B = 3 → ALU calcola 5 + 3 = 8 → Risultato in A = 8

Unità di Controllo

L’ unità di controllo coordina il funzionamento di tutto il sistema CPU, organizzando l’esecuzione delle istruzioni all’interno del processore. Svolge alcune funzioni principali:

  • Dirige l’attività degli altri componenti della CPU: ALU, registri e cache.
  • Invia i segnali di controllo per attivare operazioni specifiche (es. calcoli, trasferimenti di dati).
  • Garantisce che tutte le istruzioni vengano eseguite in modo ordinato e sincronizzato. Ogni programma, una volta caricato in CPU, viene eseguito seguendo un ciclo continuo (ciclo macchina Fetch-Decode-Execute):
  • 1 Fetch (prelievo dell’istruzione) : la CPU legge il valore contenuto nel Program Counter (PC), che indica l’indirizzo della prossima istruzione da eseguire. Questo indirizzo viene inviato al Registro indirizzi (RI), e tramite il bus indirizzi viene selezionata la cella di memoria corrispondente. L’istruzione presente in quella cella viene letta (via bus dati) e copiata nel Registro Istruzione (IR)
  • 2 Decode (decodifica) : l’Unità di Controllo analizza il contenuto del Registro Istruzioni (IR). Viene identificato il tipo di istruzione da eseguire e si preparano i segnali di controllo necessari. In questa fase si determinano anche gli eventuali operandi richiesti: da dove prenderli (registri, memoria) e dove scrivere il dato.
  • 3 Execute (esecuzione) : L’ALU o un’altra componente esegue l’operazione specificata (es. somma, confronto, caricamento dati..). il risultato può essere salvato in un registro (Registro Dati), memorizzato in una cella di memoria, oppure può influenzare i flag (es. zero, segno, overflow). Alla fine dell’esecuzione, il Program Counter viene aggiornato per puntare all’istruzione successiva. Questo ciclo si ripete ininterrottamente dalla fase di avviso del computer (boot) fino allo spegnimento, garantendo l’esecuzione ordinata del programma. Multitasking (single core) Il multitasking è la possibilità che consente a un sistema operativo di eseguire più programmi “allo stesso tempo”. Poiché i registri contengono tutto lo stato dell’elaborazione di un certo processo:
  • salvando in memoria il contenuto di tutti i registri è possibile accantonare un processo per passare a svolgerne un altro (salvataggio di contesto);
  • ripristinando dalla memoria il contenuto di tutti i registri precedentemente salvati, è possibile ripristinare lo stato di un processo accantonato, riprendendone l’esecuzione come se nulla fosse accaduto; Un computer è in grado di eseguire più programmi “contemporaneamente”. In realtà, nei sistemi single core il tempo di calcolo del processore è condiviso da più processi in maniera sequenziale ma velocissima (attraverso il salvataggio e ripristino del

o Accesso remoto tramite internet o reti private o Ottimizzazione dei costi e risorse condivise o Potenza di calcolo notevole Molti modelli di intelligenza artificiale vengono eseguiti nel cloud. Applicazioni pratiche in AI:

  • Analisi predittiva e modelli di forecasting economico
  • Elaborazione di Big Data
  • Servizi intelligenti: chatbot, traduzione automatica
  • FinTech: rilevamento frodi, valutazione del rischio Futuro per i computer Legge di Moore: la complessità di un microcircuito, misurata ad esempio tramite il numero di transistor per chip, raddoppia ogni 18 mesi (quasi ogni due anni). I limiti fisici attuali riguardano: la dimensione sempre minore (5nm), la frequenza (difficile superare i 5 GHz), i consumi e i costi. Soluzione -> Quantum Computing