




















































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
informatica documentale, anno 2025/26, prof. Nicola Furia
Tipologia: Sintesi del corso
1 / 92
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!





















































































Il termine INFORMATICA venne utilizzato per la prima volta nel 1962 dal francese Philippe Dreyfus come combinazione di: information e automatique. Si usa tuttora per descrivere l’elaborazione automatica delle informazioni. L’informatica è la scienza che studia il calcolo automatico (e analizza i dati). non ha solo a che fare con il pc. è una scienza che consente di comunicare con gli altri e riguarda altre discipline.
HARDWARE : Componenti fisico/materiale di una periferica o di una apparecchiatura elettronica. Insieme delle componenti elettroniche.
SOFTWARE : Insieme delle componenti intangibili di elaborazione. Tutti i programmi e le applicazioni utilizzate per l’elaborazione dei dati.
Un sistema operativo SO è un software di base che controlla le funzionalità della macchina fisica in modo da offrire una base ai programmi applicativi e una prima interfaccia per l'utente. Installato sull’ hardware, permette di interfacciare tutte le app all’hardware del nostro sistema.
es. Ubuntu, Mac, Windows, Android , Linux ecc
Modello Macchina di Von Neumann -> serve per far funzionare un calcolatore e include:
LE PERIFERICHE DI I/O Quelle di INPUT sono quei i dispositivi che permettono di acquisire informazioni e dati che devono essere elaborati. Le periferiche di OUTPUT sono tutti quei dispositivi che permettono la restituzione dei risultati della elaborazione.
CPU o PROCESSORE Riceva ed elabora i dati. Gestisce tutte le informazioni che devono essere trasferite da un luogo all’altro. Il microprocessore è il dispositivo fisico che realizza le funzioni della CPU. è costituita da 4 microcomponenti:
Hard Disk o disco fisso sono memorie che sfruttano il fenomeno fisico della polarizzazione per memorizzare i dati. Le memorie flash , sono anch'esse memorie permanenti riscrivibili che permettono di ridurre le dimensioni fisiche dei dispositivi di supporto e aumentare le prestazioni di velocità. Sono SSD, Pen drive (USB), Smart Card (classiche SIM del Telefono). Memorie ottiche CD e DVD sono memoria di massa che sfrutta la capacità riflettente di una superficie per essere letta da un sensore. Sono: ROM, WROM, ERASABLE.
VIRTUALI sono memorie di massa di supporto, “volatili”, che utilizzano parte dello spazio su disco per simulare RAM quando questa è insufficiente.
Il calcolatore ha bisogno di info chiare e sempre interpretabili nella stessa maniera per funzionare e per farlo ha bisogno di particolare linguaggio ->basato sul passaggio e non passaggio di elettricità in un filo (Acceso/Spento) Non Passa Elettricità = OFF = 0 Passa Elettricità = ON = 1
DIGITALIZZAZIONE -> tramite essa l’informazione viene codificata da dato analogico (linguaggio umano) a dato digitale (ossia in sequenza di 0 e 1).
Per operare con i dati si fa riferimento ad un sistema di numerazione , un insieme di simboli indispensabile per rappresentare i numeri e regole che permettano di eseguire le operazioni tra loro. es:
Oltre al sistema ai sistema di numerazioni conosciuti (decimale, binario) esistono infiniti sistemi di numerazioni possibili che possono essere utilizzati per codificare informazioni:
Es.
Digitalizzazione immagini Possono essere memorizzate in forma digitale generando una matrice di punti, detti pixel -> ognuno identifica un determinato colore in un singolo punto. Le immagini sono considerate sequenze di 0 e 1 -> più ce ne sono più l’immagine è definita e più pesa. Dove ce qualcosa è nero=1, dove non ce nulla è bianco=0.
I linguaggi di programmazione sono una sequenza codificata di valori 0, 1 = linguaggio macchina. Sono dei linguaggi formali, dotati di un vocabolario, di una sintassi e di una semantica ben definiti. Si raggruppano in 2 macroaree: ● alto livello -> linguaggio che viene poi interpretato in linguaggio macchina che il computer può comprendere ed eseguire ● basso livello -> stringhe di sequenze di comandi, ogni riga di codice identifica un istruzione (Assembler)
Il codice sorgente è la lista di istruzioni che vengono create con un programma. Il codice eseguibile è la trasformazione di queste linee di codice in sequenze di 0 e 1 (comprensibile solo dal computer).
Generazione dei linguaggi
I Generazione : i vari linguaggi macchina proprietari, legati all’architettura hardware specifica, simile al linguaggio macchina; II Generazione : costituiscono una prima astrazione del linguaggio macchina (Assembly), permettendo comunque di migliorare l’attività di sviluppo grazie all’utilizzo di un numero minore di istruzioni. III Generazione : i linguaggi che spostano il focus verso il linguaggio naturale (english-like), risultando più intuitivi. Detti anche linguaggi di alto livello: C, C++, Basic, Java, C# ecc;
IV Generazione : i linguaggi dichiarativi, uno su tutti SQL, utilizzato principalmente nei database relazionali. V Generazione : sono linguaggi basati sulla soluzione dei problemi con vincoli indicati nel programma. Il loro scopo è quello di evolversi ed adattarsi alle situazioni contestuali, utilizzati in Robotica, Intelligenza Artificiale e Patterns Neurali.
In fase di esecuzione i dati possono essere: compilati, interpretati o compilazione intermedia ( il codice viene prima compilato in un linguaggio intermedio e poi interpretato da un apposito sistema, detto Virtual Machine o Runtime).
Nessuno è il miglior linguaggio, sono studiati per agevolare certi tipi di funzioni. Java è il più famoso ->si mette tra il S.O. e l'applicazione.
STILI DI PROGRAMMAZIONE
IL SOFTWARE La parte logica dell’elaboratore, i programmi e le applicazioni che vengono installati sui dispositivi fisici e che ci permettono di passare da input ad output. Si possono classificare in: di Sistema, Applicativi, di programmazione per lo sviluppo e di Rete.
Il Software di sistema -> gestisce il funzionamento dell’elaboratore e delle componenti HW collegate.
L’autore è l’unico soggetto che può concedere a terzi determinati diritti sul SW da lui prodotto; il diritto d’autore stabilisce tutto ciò che è concesso o non concesso dall’autore e tutto ciò che è possibile o vietato fare con il SW. La prima forma di classificazione si definisce: ● Licenza d’uso = il SW viene installato su uno o più dispositivi ● Licenza di copia = la licenza può prevedere anche solo un suo parziale; è possibile creare una o più copia del SW per utilizzo personale ● Licenze di distribuzione = l ’autore concede la possibilità di diffondere gratuitamente o a pagamento il SW copiato ● Licenza di modifica = l’utente può modificare il programma adattandolo alle proprie esigenze
Una volta installato un software per poterlo utilizzare è necessario accettare le condizioni della licenza considerando anche le tipologie di limitazioni:
Le licenze software definiscono le regole di utilizzo, distribuzione e modifica di un particolare software. Esistono diversi tipi di licenza:
PROBLEM SOLVING è quel processo di analisi, individuazione e risoluzione del problema in modo efficace ed efficiente; serve arrivare alla soluzione in un tempo ragionevole e con delle metodologie ragionevoli.
Una volta individuata la strategia risolutiva è necessario descrivere la sequenza di operazioni utilizzate per arrivare alla soluzione ovvero l’algoritmo (risolutivo) =sequenza di passi che ci permette di arrivare alla soluzione.
Caratteristiche di un algoritmo ● Generale -> deve risolvere problemi dello stesso tipo, che devono avere il medesimo algoritmo (es. somma) ● Finito -> deve essere composto da un numero finito di istruzioni e deve terminare la sua elaborazione in un numero finito di passi in un tempo finito ● Chiaro -> deve essere comprensibile e realizzabile da chi lo deve eseguire ● Non ambiguo -> l’esecutore deve interpretare in maniera univoca tutte le istruzioni, utilizzate dall’algoritmo ● Completo -> trattare in maniera univoca tutte le possibili alternative ● Riproducibile -> a input uguali mi corrispondono risultati in output uguali
Un programma è l’insieme di tutte le operazioni che vengono inserite nel dispositivo che sono la traduzione dell’algoritmo (codifica) in istruzioni che la macchina è in grado di eseguire. problema-> algoritmo ->programma
Il linguaggio che si usa per descrivere un algoritmo è il DIAGRAMMA A BLOCCHI o DI FLUSSO (utilizza una rappresentazione grafica per descrivere le sequenze di istruzione). Con 4 forme geometriche si può descrivere qualsiasi algoritmo:
Blocco di INIZIO/FINE : utilizzati come delimitatori del nostro diagramma, identificano rispettivamente il punto iniziale e il punto finale del nostro ragionamento.
Blocco di comunicazione I/O; permette la comunicazione da e verso l’esterno. Permette il trasferimento di informazioni INPUT/OUTPUT
Blocco di elaborazione ; contiene le informazioni che effettuano le trasformazioni dei dati
Blocco di decisionale ; permette di compiere scelte decisionali. Permette di fare operazioni di confronto e di stabilire il percorso da seguire a seconda del risultato
Un array o vettore è una raccolta di oggetti o elementi, che sono archiviati in un ordine specifico. Un vettore è un insieme ordinato di elementi tutti dello stesso tipo e può essere considerato come una serie di «scatole» la quale contiene ciascuna un elemento dello stesso tipo. L’array ha un indice che indica la posizione di ciascun elemento all’interno di esso; è dunque possibile accedere direttamente all’elemento tramite l’indice di identificazione.
Le reti possono essere realizzate secondo paradigmi (modello di riferimento) diversi, i più utilizzati sono: Modello client-server È applicato nella rete Internet e ha una componente client (è un processo che invia una richiesta a un server e resta in attesa della risposta) e una server (è un processo che offre un servizio e può essere raggiunto attraverso la rete, è in grado di accettare le richieste che gli arrivano dai client, elaborarle, effettuare il servizio richiesto e restituire il risultato al richiedente). Necessitano di un amministratore di rete che si occupi della gestione del server, di effettuare il backup dei dati e delle politiche di sicurezza -> es. servizio di posta elettronica con client SMTP e server SMTP Modello peer to peer modello in cui ogni computer ha un ruolo “paritetico” rispetto agli altri: i singoli utenti sono i responsabili delle risorse del proprio computer e possono decidere in autonomia quali risorse (hardware o software) condividere. es. Skype e BitTorrent
Esistono 3 tipi di RETE: TOPOLOGIA FISICA La topologia definisce la struttura di una rete; ed è definita da un grafo formato da un insieme di vertici, che rappresentano i nodi (N) e da un insieme di archi (C) che rappresentano i canali trasmissivi. La topologia fisica, riguarda il collegamento effettivo di dispositivi e cavi, ossia il modo in cui i nodi sono interconnessi tramite canali. Alcune delle più utilizzate sono: •A Stella (Star) =tutti gli host sono collegati a un punto centrale, detto centro stella, e costituisce il punto di connessione comune in modo che i computer siano in comunicazione l’uno con l’altro. Il numero di canali è pari al numero di nodi: C=N
•A Stella Estesa (ad Albero) = collega tra loro più topologie a stella. è la più usata nelle moderne reti locali.
•Ad Anello (Ring) = un cavo collega un host al precedente e al successivo creando un circuito di rete continuo su cui sono trasmessi i dati. La topologia ad anello può essere unidirezionale o bidirezionale.
•A Bus =usa un singolo backbone (linea principale), detto bus, a cui si collegano tutti gli host, alle due estremità del cavo è collocata una resistenza terminale, detta terminatore.
•A maglia completamente connessa = si usa quando si vuole che non ci siano assolutamente interruzioni. Infatti è completamente fault-tolerance, in quanto un guasto a un nodo o a un canale non interrompe il funzionamento della rete.
/a maglia parziale = simile alla maglia completa, ma con un numero inferiore di canali, infatti non tutti i nodi sono connessi con tutti gli altri nodi.
Topologia Logica indica come gli host comunicano tra loro, considerando principalmente come il messaggio viene scambiato tra mittente e destinatario. I due più comuni sono: •broadcast : significa che ogni PC manda i dati a tutti gli altri, non ci sono regole sull’ordine da seguire per usare la rete. es. sono la rete a bus, la trasmissione radio, le trasmissioni satellitari. tutti possono ricevere il messaggio, perciò c’è rischio di intercettazione.
Per Estensione Geografica per classificare una rete ci si può basare sull’estensione geografica della rete, ovvero sulla grandezza della rete. •PAN Aree molto piccole, vicine alla persona (es. connessione Bluetooth)