Il 0% ha trovato utile questo documento (0 voti)
46 visualizzazioni33 pagine

Infprmatica

L'informatica è l'elaborazione automatica delle informazioni tramite hardware, software e dati. Essa comprende la gestione e l'elaborazione di vari tipi di informazioni, utilizzando algoritmi e programmi per risolvere problemi specifici. Il modello di Von Neumann è alla base dell'architettura dei calcolatori moderni, che operano attraverso un ciclo di fetch-decode-execute per elaborare dati e produrre output.
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOCX, PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
46 visualizzazioni33 pagine

Infprmatica

L'informatica è l'elaborazione automatica delle informazioni tramite hardware, software e dati. Essa comprende la gestione e l'elaborazione di vari tipi di informazioni, utilizzando algoritmi e programmi per risolvere problemi specifici. Il modello di Von Neumann è alla base dell'architettura dei calcolatori moderni, che operano attraverso un ciclo di fetch-decode-execute per elaborare dati e produrre output.
Copyright
© © All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato DOCX, PDF, TXT o leggi online su Scribd

L’informatica

Il termine informatica è un acronimo formato dalle parole informazione –


automatica e sta a significare “elaborazione automatica delle informazioni” I dati
vengono acquisiti, elaborati e processati in maniera automatica, generando così
l’informazione.
Per l’elaborazione automatica servono:
1. Un elaboratore (hardware) 2. Un programma (software) 3. Le informazioni (dati)
Se manca solo uno di questi componenti non si può più parlare di elaborazione
automatica delle informazioni
L’elaboratore, a differenza dell’uomo, elabora molte informazioni in pochissimo
tempo. Le macchine da elaborazione che l’uomo ha utilizzato nel passato sono state
di diversi tipi:  Meccaniche  Elettromeccaniche  Elettroniche
Le macchine meccaniche: L’abaco è il primo vero strumento per eseguire i calcoli, e
risale al 2000 a.C, Blaise Pascal con la costruzione nel 1642 della sua pascalina
Le macchine elettromeccaniche: macchina di Hollerith si basava sul funzionamento
di relè elettromeccanici che, comandati da impulsi elettrici, aprivano e chiudevano
un circuito elettrico.
Le macchine elettroniche: l’ENIAC progettato nel 1946, sigla per Electronic
Numerical Integrator And Computer
Il personal computer è l’elaboratore più diffuso per i seguenti motivi: Prezzo
accessibile  Semplicità d’uso  Flessibilità nell’uso  Mole di programmi
disponibili.
L’elaboratore in quanto macchina non specializzata non è in grado di eseguire alcun
lavoro, necessita di un programma.
Ad ogni programma memorizzato corrisponde l’esecuzione di un compito ben
determinato. Il programma memorizzato con tutte le istruzioni “innesca”
l’elaborazione automatica delle informazioni. Le operazioni, una volta avviate,
vengono svolte attraverso un meccanismo che è in grado di portarle a termine senza
un intervento esterno.
L’algoritmo è una sequenza (1) finita (2) di azioni elaborative (3) che risolve
automaticamente un problema
Sul piano teorico il calcolo automatico si ottiene con:  dati iniziali  un insieme di
regole che costituiscono un programma.  un elaboratore (automatico) che esegue
il programma producendo dati intermedi e dati finali, ovvero risultati.
INFORMAZIONI = DATI + SEMANTICA Dati: simboli con i quali viene rappresentata la
realtà. ▹ Il prezzo o il peso di un prodotto, i nomi dei clienti, la data di spedizione.
Semantica: significato che il dato assume nel particolare contesto di riferimento. ▹ Il
numero 30 non dice molto, ma se si parla di euro si capisce che è un prezzo, relativo
ad un costo o ad un ricavo.
Una macchina può elaborare diversi tipi di informazioni:  informazioni numeriche
(100, 3000, 15200, …), per le quali si possono eseguire le operazioni matematiche 
informazioni alfanumeriche (Rossi Carlo, Via Pisa 15, …)  informazioni multimediali
(suoni, immagini, filmati, …)  istruzioni (while, if-then-else, for,.
Il processo di elaborazione, partendo da informazioni disponibili in ingresso (input),
produce altre informazioni (output) che migliorano la comprensione della realtà
esterna.
Con il termine informatica si indica l’insieme dei processi e delle tecnologie che
rendono possibile la creazione, la raccolta, l’elaborazione, la gestione,
l’immagazzinamento e la diffusione dell’informazione, la scienza che studia i metodi
e le procedure di trasmissione ed elaborazione dell’informazione.
L’unità minima di informazione rappresentabile nella memoria di un computer è il
bit, ma spesso vengono usati i multipli del byte. La rappresentazione delle
informazioni all’interno dell’elaboratore si basa su un alfabeto detto alfabeto binario
{0, 1} caratterizzato da 2 soli simboli. Un calcolatore è perciò un sistema composto
sia da entità hardware (componenti fisici) sia da entità software (programmi che
vengono eseguiti dalla macchina).
Dal punto di vista fisico un computer è un oggetto composto da dispositivi elettrici,
elettronici, e meccanici che rappresentano la parte hardware, Un dispositivo di input
è un componente hardware che consente di immettere i dati e le istruzioni di un
computer.  Esempi di dispositivi di input molto comuni sono la tastiera, il mouse, il
microfono, lo scanner, la webcam.
Un dispositivo di output è un componente che fornisce le informazioni ottenute
dell’elaborazione ad una o più persone.  Tra i dispositivi di uscita comunemente
usati ricordiamo la stampante, il monitor, gli altoparlanti.
L’unità centrale contiene i componenti elettronici del computer che vengono
utilizzati per l'elaborazione. I circuiti e i dispositivi elettronici dell’unità centrale sono
dei circuiti integrati elettronici di solito posti su un circuito chiamato scheda madre.
Due componenti fondamentali presenti sulla scheda madre sono il processore e la
memoria.
Il processore, detto anche CPU (Central Processing Unit, unità di elaborazione
centrale), è il componente elettronico che interpreta ed esegue le istruzioni di base
con cui si elaborano le informazioni e che sono dette istruzioni macchina.
La memoria è costituita da componenti elettroniche che memorizzano le istruzioni e
i dati necessari per tali istruzioni,
AM (Random Access Memory): memoria volatile, perde dati allo spegnimento.
•ROM (Read Only Memory): memoria non volatile, contiene istruzioni di
avvio.
•Memorie di massa: es. hard disk, SSD, chiavette USB.
Secondo il modello di Von Neumann il calcolatore è quindi una macchina
sequenziale: le istruzioni sono memorizzate nella memoria principale, prelevate ed
eseguite una alla volta. Ciascuna istruzione viene prelevata ed eseguita tramite una
sequenza prefissata di operazioni (ciclo di istruzioni

Software
• Un programma è una sequenza di istruzioni elementari che elabora dati in
input e fornisce output.
• Il software è l’insieme dei programmi utilizzabili su un calcolatore, parte
logica opposta all’hardware (parte fisica).

Tipologie di software:
• Software di base: gestisce le funzioni essenziali e interagisce
direttamente con l’hardware (es. sistemi operativi come Windows, Linux, Mac OS).
• Software applicativo: soddisfa esigenze specifiche dell’utente (es. Word,
Excel, PowerPoint).
Un algoritmo è una procedura che, seguendo un insieme di passaggi precisi e finiti,
permette di risolvere un problema o svolgere un’attività.
• Caratteristiche di un algoritmo:
• Generalità: risolve un’intera classe di problemi.
• Finitudine: ha un numero finito di passaggi.
• Non ambiguità: istruzioni chiare e precise.
• Eseguibilità: deve essere eseguibile da un computer in tempo finito

6. Programmi applicativi
• Sono software progettati per risolvere problemi specifici dell’utente.
• Devono essere facili da usare (interfaccia “user-friendly”).
• Software a scopo generale: usati per attività comuni (es. scrivere,
calcolare, navigare). Possono adattarsi a vari ambiti professionali.
• Esempi comuni:
• Elaboratori di testi (Word)
• Fogli di calcolo (Excel)
• Database
• Presentazioni (PowerPoint)
1. La Macchina di Von Neumann

Il modello elaborato da John von Neumann nel 1946 è alla base dell’architettura
della maggior parte dei calcolatori moderni. Esso prevede che un elaboratore:
• Riceva dati e programmi come successioni finite di bit.
• Produca risultati come successioni finite di bit.
• Memorizzi dati e programmi, anch’essi come bit.
• Esegua operazioni su questi dati, controllando il flusso delle operazioni
tramite programmi.

Struttura del modello:


• CPU (Unità di elaborazione centrale)
• Memoria principale
• Memoria secondaria
• Dispositivi di Input/Output
• Questi componenti comunicano attraverso un bus, un canale per lo
scambio di informazioni.

La rappresentazione grafica mostra:


• Unità di controllo (CU)
• Unità logico-aritmetica (ALU)
• Memoria
• Input
• Output

2. L’Unità di Elaborazione Centrale (CPU)

È il componente che esegue le istruzioni e coordina l’intero sistema. È composta da:


• ALU (Arithmetic Logic Unit): Esegue operazioni aritmetiche e logiche su
bit (0 e 1), utilizzando reti logiche (AND, OR, NOT, NOR).
• CU (Control Unit): Controlla il funzionamento generale, attiva le unità di
input/output e gestisce il flusso dei dati e istruzioni.
• Registri: Memorie velocissime per conservare dati temporanei, tra cui:
• PC (Program Counter): tiene traccia dell’indirizzo della prossima
istruzione.
• IR (Instruction Register): contiene l’istruzione corrente.
• Registro di stato (flag): tiene traccia di condizioni particolari come
overflow, zero, parità, ecc.

La frequenza di clock (es. 800 MHz, 1.2 GHz) determina la velocità del ciclo operativo
della CPU.

3. Le Memorie

Le memorie sono dispositivi che conservano dati e programmi, anch’essi


rappresentati da bit. Si distinguono per velocità, capacità e costo e sono organizzate
in una gerarchia.

Tipi di memoria:
• Memoria interna (primaria):
• Registri della CPU
• Cache
• RAM (volatile)
• ROM (non volatile)
• Memoria esterna (secondaria o di massa):
• Hard disk
• Chiavette USB
• CD/DVD/Blu-ray
• Memory card

Operazioni principali:
• Scrittura: inserire dati.
• Lettura: estrarre dati.
• Alcune memorie sono sola lettura, altre sono lettura/scrittura.


4. Dispositivi di Input e Output

Servono a comunicare con l’esterno.

Dispositivi di Input (forniscono dati al calcolatore):


• Tastiera
• Scanner
• Fotocamera digitale
• Mouse
• Modem

Dispositivi di Output (trasmettono dati elaborati):


• Monitor
• Stampante
• Casse acustiche
• Modem (anche output)

Tutti questi dispositivi trasformano informazioni in o da successioni finite di bit per


l’elaboratore.
Architettura del calcolatore
• Composto da: unità di controllo, unità aritmetico-logica (ALU), registri,
memoria principale, dispositivi di I/O.
• Collegamento tramite bus.

Tipi di istruzioni
1. Aritmetico-logiche: somma, sottrazione, AND, OR, confronto…
2. Controllo del flusso: sequenze, selezioni (if), cicli (while, for).
3. Trasferimento dati: tra CPU, memoria, dispositivi I/O.

Componenti della CPU


• CU (Control Unit): controlla l’esecuzione delle istruzioni.
• ALU: esegue calcoli e operazioni logiche.
• Registri: memoria interna velocissima per operazioni temporanee.

2. Il ciclo Fetch-Decode-Execute
• Fetch: preleva l’istruzione dalla memoria.
• Decode: interpreta l’istruzione.
• Execute: esegue l’operazione richiesta.

Registri specifici
• PC (Program Counter): contiene l’indirizzo della prossima istruzione.
• IR (Instruction Register): contiene l’istruzione corrente.
• PSW (Processor Status Word): esito della precedente istruzione.
• MAR/MDR: indirizzo/dato di memoria.
• Registri generali: per operandi e risultati.

3. Il sistema binario

Concetto di bit
• Codifica binaria: due simboli (0 e 1), basata su dispositivi bistabili
(presenza/assenza di tensione).
• Il bit è la base dell’informazione digitale.

Sistema posizionale
• Come nel sistema decimale, ogni cifra ha un peso basato sulla
posizione.
• Esempio: 100111 (binario) = 39 (decimale).

Operazioni binarie
• Somma binaria:
• 1+0=1
• 1 + 1 = 0 con riporto di 1
• Operazioni come nel sistema decimale, ma con due soli simboli.

4. Algebra booleana

Origine e concetti base


• Ideata da George Boole nell’800.
• Valori: vero (1) e falso (0) → variabili booleane.

Operazioni logiche
• AND (intersezione): vero solo se entrambe le condizioni sono vere.
• OR (unione): vero se almeno una è vera.
• NOT (negazione): inverte il valore.
Rappresentazione
• Tavole di verità.
• Diagrammi di Venn (visualizzazione insiemistica).

Utilizzo
• Fondamentale per progettazione circuiti logici.
• Costruzione di operatori come l’addizionatore binario tramite
combinazioni di AND, OR, NOT.

5. Le informazioni non numeriche

Simboli vs informazioni numeriche


• Alcuni dati (es. numeri di telefono) sono simboli, non su cui eseguire
calcoli.
• I simboli sono codificati in binario ma trattati diversamente rispetto ai
numeri.

Codifica simbolica: ASCII


• ASCII: sistema standard che associa ad ogni simbolo una combinazione
di 8 bit (1 byte).
• Include lettere, cifre, punteggiatura, simboli speciali.
• Capace di rappresentare 256 simboli, supporta anche alfabeti non latini.
1. Telematica
• È l’integrazione tra informatica e telecomunicazioni, sviluppatasi per
esigenze di condivisione dati (fax, email, carte di credito, videoconferenze, ecc.).
• Una branca fondamentale è l’interconnessione dei computer, alla base
di Internet.

2. Le reti informatiche
• Sono architetture hardware/software che consentono a utenti e
dispositivi di collegarsi e condividere software, risorse hardware (es. stampanti),
archivi di dati e comunicazioni.
• Una rete è costituita da nodi (PC, stampanti, server) collegati tramite
mezzi trasmissivi.

3. Tipologie di reti
• LAN (Local Area Network): reti locali, es. in aziende, scuole; possono
essere anche WLAN (senza fili).
• MAN (Metropolitan Area Network): coprono aree urbane.
• WAN (Wide Area Network): reti geografiche estese a livello nazionale o
globale.

4. Mezzi trasmissivi
• Guidati: usano cavi fisici (doppino telefonico, cavo coassiale, fibra
ottica).
• Non guidati: usano segnali radio, cellulari o satelliti.
5. Componenti hardware
• Scheda di rete: converte dati digitali in segnali elettrici (e viceversa).
• Cavi di connessione: insieme alla scheda, costituiscono l’hardware di
rete.

6. Reti e telefonia
• Le reti usano anche la rete telefonica analogica per trasmettere dati,
trasformandoli in segnali elettrici o digitali.

7. Catalogazione delle reti


• Topologia:
• Lineare: semplice, ma soggetta a contesa.
• A stella: nodi collegati a un nodo centrale.
• Ad anello: i nodi cooperano tra loro.
• Estensione: LAN, MAN, WAN.
• Architettura:
• Client-server: un server serve i client.
• Peer-to-peer: tutti i nodi possono condividere e accedere alle risorse.

8. Internet e il World Wide Web


• Nasce come ARPANET nel 1969 da un progetto del Dipartimento della
Difesa USA.
• È una rete di reti globale, fondata sul protocollo TCP/IP.
• Ogni computer ha un indirizzo IP univoco (es. 201.181.31.43).
• Sono usati anche nomi simbolici (es. pc5.gruppo1.host.it).

9. World Wide Web (WWW)


• Introdotto da Tim Berners-Lee negli anni ’80.
• È una rete di documenti ipertestuali, connessi da link.
• Si basa su:
• HTTP (Hyper-Text Transfer Protocol)
• HTML (Hyper-Text Markup Language), che istruisce il browser su come
visualizzare i contenuti.
10. Browser e servizi telematici
• Il browser permette la navigazione web (es. Chrome, Firefox).
• Motori di ricerca (es. Google) aiutano a trovare informazioni online.
• La posta elettronica (email) è uno dei servizi più diffusi:
• Pro: velocità, invio di allegati, basso costo.
• Contro: spam, rischi di virus.

1. Differenza tra Internet e Web


• Internet è l’infrastruttura di rete globale.
• Web (World Wide Web) è uno dei servizi forniti da Internet, basato su
documenti ipertestuali collegati tramite link e accessibili via browser.

2. Che cos’è il Web


• È un sistema di documenti HTML (testo, immagini, video, etc.)
interconnessi da collegamenti ipertestuali.
• Gli utenti usano un browser per accedere a questi documenti tramite
un web server.
• Evolutosi dagli anni ‘90, è composto da tecnologie integrate che
permettono una navigazione interattiva.

3. Origini del Web


• Ideato tra il 1990 e 1991 al CERN di Ginevra da Tim Berners-Lee.
• Reso libero e gratuito il 30 aprile 1993.
• Le sue radici affondano nei progetti:
• Xanadu di Ted Nelson
• NLS (oN-Line System) di Douglas Engelbart
• Memex di Vannevar Bush (1945)
4. Le generazioni del Web

Web 1.0
• HTML statico, contenuti prevalentemente testuali, poche immagini, rari
video/suoni.
• Accesso tramite connessioni dial-up lente e costose.
• Svantaggi: instabilità, errori HTML, alti costi orari.

Web 2.0
• Contenuti generati dagli utenti: blog, forum, wiki, portali di recensioni.
• Nascita del commercio elettronico (e-commerce).
• Espansione dei social network, che permettono:
• Profili pubblici/semi-pubblici
• Liste di contatti
• Interazioni (chat, video, email, file sharing, gruppi di discussione)
• Personalizzazione con widget

Web 3.0
• Evoluzione verso l’Internet of Things (IoT):
• Oggetti fisici connessi in rete.
• Capacità di scambio automatico di informazioni.
• Integrazione di elementi intelligenti nel Web.
1. La struttura dei siti web
Un sito web è un insieme di pagine digitali collegate tra loro, organizzate secondo
una struttura ipertestuale, e accessibili tramite un browser. Ogni pagina web
contiene informazioni (testi, immagini, link…) e risiede su un server. L’elemento
chiave dei siti web è l’ipertesto, che consente una navigazione non lineare: l’utente
sceglie liberamente dove andare cliccando sui link. Il server web, infine, è il software
che risponde alle richieste degli utenti, fornendo le pagine richieste.

2. Tipologie di siti web


I siti web possono assumere forme diverse a seconda del contenuto e della
funzione:
 Personali: usati per visibilità individuale (professionale o amatoriale).
 Aziendali: presentano aziende, brand, servizi e contatti.
 E-commerce: permettono l’acquisto di beni e servizi online.
 Blog: aggiornati con frequenza, raccontano esperienze o diffondono opinioni.
 Gestionali: strumenti per organizzare dati (es. magazzino, fatturazione).
 Portfolio: mostrano lavori realizzati da professionisti creativi.
 Community e forum: spazi di scambio tra utenti.
 Social network: piattaforme per condividere contenuti e creare reti sociali.
 Siti di informazione: come giornali digitali, aggiornano su notizie varie.
 Wiki: collaborativi, modificabili dagli utenti.
 Portali e motori di ricerca: punti di partenza per accedere ad altri siti.

3. Linee guida per creare un sito web


 1. Pensa agli utenti: un sito deve essere utile e gradevole per chi lo visita, non
solo per chi lo crea.
 2. Progetta su carta: prima di iniziare, definisci obiettivi e contenuti, organizza
le informazioni in sezioni.
 3. Punta sui contenuti: testi originali e aggiornati attirano utenti e motori di
ricerca.
 4. Cura il menù: deve essere chiaro, semplice, e guidare bene la navigazione.
 5. Usa pochi colori e font: la leggibilità è prioritaria; preferisci font semplici e
pochi colori coerenti.
 6. Evita gli effetti speciali inutili: animazioni, musiche o video devono essere
funzionali, non invadenti.
 7. Testi brevi e leggibili: l’utente online legge velocemente; usa titoli chiari,
grassetti, spazi bianchi.
 8. Attenzione alle immagini: ottimizzale per il web e rispetta il copyright.
 9. Promuovi il sito: usa SEO, partecipa a forum, segnala il sito ai motori di
ricerca.
 10. Sfrutta il web: interagisci con gli utenti, raccogli feedback, aggiorna
spesso.

4. CMS – Content Management System


I CMS sono piattaforme che facilitano la creazione e gestione di contenuti digitali sul
web. Hanno:
 Back-end: area di amministrazione (protetta da password).
 Front-end: parte visibile agli utenti.
Sono molto usati anche in ambienti professionali e richiedono varie figure:
 Autori, tecnici, grafici, copywriter, social media manager, ecc.

5. Il Content Manager
È una figura chiave che gestisce i contenuti di un sito:
 Pianifica strategie editoriali, coordina chi scrive, aggiorna i contenuti.
 Il suo lavoro è fondamentale per trasformare un sito “vetrina” in un sito di
servizio.

6. I contenuti come valore strategico


Nel web moderno, i contenuti sono centrali:
 Testi, immagini, video e software lavorano insieme per creare valore.
 La gestione dei contenuti è continua, collaborativa e orientata al lettore.
Le fasi principali sono:
1. Produzione: definizione, reperimento e preparazione dei contenuti.
2. Proposta: pubblicazione mirata ai bisogni del lettore.
3. Aggiornamento: revisione e ottimizzazione costante per rimanere rilevanti.
NFORMATICA
(Seconda Parte)
RISOLVERE UN PROBLEMA (con il computer)
* Serve fornire:
* Istruzioni (cosa fare)
* Dati (su cui operare)
* Il tutto in un codice comprensibile per la macchina
* Le operazioni si indicano tramite un programma (insieme di
istruzioni)
* Il programma consente al computer di elaborare
correttamente i dati
* Obiettivo del computer: trovare la soluzione del problema
* I problemi possono essere di tipo:
* Matematico
* Scientifico
* Economico
* Finanziario, ecc.
ALGORITMO, CODIFICA, PROGRAMMA
* Un algoritmo è la successione di operazioni da eseguire per
ottenere un risultato.
* Le istruzioni dell’algoritmo vanno convertite in un codice
comprensibile dal computer: questa fase si chiama codifica.
* Il risultato della codifica è il programma (o codice), cioè
l’insieme di istruzioni che il calcolatore può comprendere ed
eseguire.
LINGUAGGI DI PROGRAMMAZIONE
* Si distinguono in:
* Linguaggi di alto livello:
* Usati per scrivere programmi (es: C++, Java, Visual Basic…)
* Linguaggio macchina (basso livello):
* Usato dal computer internamente
* Composto da istruzioni elementari (sequenze di bit, cioè 0 e
1)
* Inviate direttamente al processore
Analisi e programmazione
* Il programmatore, o meglio l’analista, ha il compito di
studiare un problema e trovare un algoritmo risolutivo, cioè un
elenco di istruzioni che il programma dovrà eseguire per
ottenere un risultato.
* Il processo parte dal problema e arriva ai risultati, attraverso
l’analisi e la programmazione.
* Con “analisi e programmazione” si intende tutto il percorso
per risolvere problemi tramite un elaboratore: dalla
definizione del problema fino alla preparazione del computer
per eseguire la soluzione.
* Scopo dell’ANALISI:è quello di definire un algoritmo(elenco
finito di istruzioni necessarie per risolvere una classe di
problemi che NON può essere eseguito da un elaboratore).
* Scopo della PROGRAMMAZIONE:è quello di definire un
programma(descrizione comprensibile ed eseguibile di un
algoritmo da parte di un elaboratore)
NB.Immaginiamo l’algoritmo come un diagramma a blocchi ed
il programma come un semplice Linguaggio di programmazione
Fasi per risolvere un problema:
1. Definire gli obiettivi del problema.
2. Costruire un modello, considerando solo le informazioni
utili.
3. Individuare relazioni e regole (teoremi, proprietà) che
aiutano nella risoluzione.
4. Elaborare la procedura di risoluzione.
5. Eseguire la procedura con i dati disponibili.
6. Comunicare i risultati ottenuti.
Definizione di algoritmo
Un algoritmo è un procedimento costituito da una sequenza
finita e ordinata di istruzioni, progettato per risolvere un
problema specifico o una classe di problemi. Ogni passo
dell’algoritmo è formulato in modo non ambiguo ed è
eseguibile in un tempo finito.
Caratteristiche fondamentali di un algoritmo
1. Generalità: l’algoritmo deve essere applicabile a una classe
di problemi, non a un singolo caso specifico.
2. Finitudine: il numero di istruzioni è limitato, e l’esecuzione
termina in un tempo finito.
3. Determinismo (non ambiguità): ogni istruzione deve essere
precisa e interpretabile univocamente.
4. Eseguibilità: tutte le operazioni devono essere
effettivamente realizzabili da un esecutore (umano o
macchina).
5. Ripetibilità: a parità di input, l’algoritmo deve produrre
sempre lo stesso output.
Struttura di un algoritmo(1)
Un algoritmo è costituito da:
* Dati in ingresso (input): le informazioni iniziali necessarie
all’elaborazione.
* Istruzioni: operazioni che trasformano i dati.
* Dati in uscita (output): il risultato finale del processo.
Elementi di un algoritmo(1.2)
* Istruzioni: operative, di controllo, di salto, di input/output, di
inizio/fine
* Dati:
* Costanti
* Variabili scalari (un valore)
* Variabili vettoriali (più valori)
Tipologie di istruzioni(1.3)
* Operative: svolgono calcoli o assegnazioni (es. somma,
moltiplicazione, assegnazione di valori).
* Di controllo: gestiscono il flusso dell’algoritmo tramite
condizioni logiche (es. if, while, for).
* Di salto: alterano l’ordine di esecuzione (es. goto, break).
* Di input/output: consentono l’interazione con l’esterno (es.
lettura/scrittura di dati).
* Di inizio e fine: indicano rispettivamente l’inizio e la
conclusione dell’algoritmo.
Rappresentazione degli algoritmi
1. Diagrammi a blocchi (flow chart): rappresentazione grafica
dell’algoritmo, utile per visualizzare la sequenza logica delle
operazioni.
2. Linguaggio di progetto (pseudo-codice): descrizione
testuale, simile al linguaggio naturale o a un linguaggio di
programmazione, ma semplificato e indipendente dalla sintassi
di un linguaggio specifico.
Algoritmo vs Programma
* L’algoritmo è la logica risolutiva del problema, indipendente
dal linguaggio di programmazione.
* Il programma è la traduzione dell’algoritmo in un linguaggio
formale (es. Python, C++), eseguibile da una macchina.
Ruoli coinvolti
* Risolutore: individua e formalizza l’algoritmo (tipicamente
l’analista o il programmatore).
* Esecutore: esegue le istruzioni (può essere un umano o un
computer).
Quando si scrive un algoritmo, bisogna considerare due cose:
1. Le abilità del computer
Il computer può:
* Eseguire operazioni matematiche (+, -, ×, ÷)
* Fare confronti tra valori (>, <, =, ≠, ecc.)
* Spostare dati nella memoria
* Ricevere dati dall’esterno (input)
* Inviare dati all’esterno (output)
Il computer non può:
* Prendere decisioni o iniziative autonome. Segue solo
istruzioni precise.
2. Il linguaggio che usiamo
* Deve permettere di scrivere istruzioni comprensibili dal
computer.
* Non tutte le idee possono essere facilmente tradotte in
linguaggio macchina.
* È importante scegliere un linguaggio che rispecchi bene ciò
che vogliamo far fare al computer.
Esempio:
pianificare un viaggio
1. Definizione degli obiettivi (costi del viaggio,del soggiorno,il
totale a persona ecc..)
2. Costruzione del modello del problema (carburante, pedaggi)
(soggiorno)
3. Individuazione del processo risolutivo in base ai dati
disponibili (d’input:numero di persone,costo del carburante
ecc..)
4. Costruzione dell’algoritmo in base a chi deve eseguire
l'algoritmo (linguaggio naturale o macchina)
5. Esecuzione dell’algoritmo (semplificato)
Per far funzionare bene un algoritmo:
* Ogni dato deve avere un nome chiaro e unico, facile da capire
(es. Distanza, CostoCarburante, ecc.)
* Bisogna dire che tipo di dato è:
* Numerico (es. numeri interi o con la virgola)
* Testuale (es. lettere, parole, stringhe)
6. Comunicazione dei risultati
Alla fine dell’algoritmo, bisogna mostrare i risultati
ottenuti,indicando i valori di partenza.
* I risultati si ottengono usando i dati di ingresso (input)
* I valori calcolati sono i dati di uscita (output)
os’è la sicurezza informatica?
La sicurezza informatica è l’insieme delle misure e dei processi volti a proteggere il
cyberspazio da attacchi, minacce e accessi non autorizzati. Non si tratta solo di usare
strumenti tecnologici, ma di agire in modo preventivo e consapevole. Come dice
Piero Angela, "il problema non è nella tecnologia, ma nel modo di utilizzarla".

Information Security vs. Cyber Security


 Information Security: si occupa della protezione di dati e informazioni, come
documenti aziendali e dati personali, indipendentemente dal supporto su cui
sono conservati (computer, dispositivi mobili, cloud…).
 Cyber Security: si concentra in particolare sulla protezione delle informazioni
digitali accessibili tramite reti e sistemi informatici. Include attività come l’uso
di firewall, antivirus, indagini forensi e sviluppo di contromisure contro
malware.
Entrambe fanno parte della più ampia sicurezza dell’infrastruttura tecnologica.

I tre pilastri della sicurezza informatica


1. Riservatezza: solo chi è autorizzato può accedere alle informazioni.
2. Integrità: le informazioni devono essere corrette, coerenti e integre.
3. Disponibilità: i dati devono essere accessibili agli utenti autorizzati quando
servono.

Ambiti di applicazione
Oggi la sicurezza informatica riguarda tutti:
 Privati cittadini
 Aziende
 Enti pubblici
 Governi
Con l’aumento di tecnologie come il cloud computing e l’Internet of Things (IoT), la
prevenzione degli attacchi diventa fondamentale.

Minacce, vulnerabilità e attacchi


 Minaccia: qualsiasi evento che potrebbe compromettere la sicurezza.
 Vulnerabilità: debolezza che può essere sfruttata da un attaccante.
 Attacco: concretizzazione di una minaccia, spesso tramite una vulnerabilità.

Come difendersi? I meccanismi di sicurezza


 Autenticazione: verificare chi accede (es. login).
 Controllo degli accessi: decidere chi può fare cosa.
 Crittografia: rendere i dati illeggibili a chi non è autorizzato.
 Firewall e antivirus: per bloccare intrusioni e malware.

Principali tipi di attacco


 Shoulder surfing, sniffing, spoofing
 Forza bruta
 Denial of Service (DoS)
 Phishing
 Social Engineering
Gli attacchi spesso usano malware (software dannosi) come:
 Virus, worm, spyware
 Trojan, bot, ransomware

Segnali di infezione da malware


 Rallentamenti o blocchi del dispositivo
 File modificati o spariti
 Presenza di programmi sconosciuti
 Invio di email automatiche

Buone pratiche per proteggersi


 Usare password sicure e differenti per ogni servizio.
 Scaricare app solo da store ufficiali.
 Attenzione ai Wi-Fi pubblici.
 Tenere sistemi aggiornati e fare backup regolari.
 Non prestare dispositivi e non lasciarli incustoditi.
Concetti base della sicurezza informatica
Alla base dell’informatica c’è il concetto di elaborazione automatica delle
informazioni. I dati, cioè simboli che rappresentano la realtà, una volta elaborati,
diventano informazioni significative. Tuttavia, queste informazioni devono essere
protette, soprattutto oggi, nella cosiddetta società dell’informazione, in cui i dati
sono centrali per ogni attività umana: personali, economiche, aziendali, militari.
La sicurezza delle informazioni non si limita solo a nasconderle (come faceva ad
esempio Giulio Cesare con la crittografia), ma punta a garantire tre obiettivi
fondamentali: disponibilità, integrità e riservatezza.

Disponibilità
La disponibilità significa che le informazioni devono essere accessibili quando
servono e a chi ne ha diritto. Questo implica che i sistemi informatici debbano
essere sempre funzionanti o pronti a riprendersi in tempi brevi in caso di guasti,
blackout o attacchi informatici.
Per garantire la disponibilità si usano:
 sistemi di backup,
 ridondanza dell’hardware,
 firewall e protezioni contro attacchi DoS,
 gruppi di continuità e controlli ambientali (temperatura, umidità…),
 monitoraggio costante dei sistemi.
Integrità
L’integrità si riferisce alla correttezza e coerenza delle informazioni. I dati devono
essere affidabili, non alterati né corrotti, e coerenti con gli altri dati correlati (ad
esempio in un database). L’integrità si applica sia all’hardware, che deve funzionare
correttamente, sia al software, che non deve presentare errori, sia ai dati stessi.
Per difendere l’integrità si usano:
 sistemi di prevenzione degli accessi non autorizzati,
 antivirus e antimalware,
 controlli sui dati immessi (per evitare errori umani),
 tecniche di hashing, che permettono di verificare che i contenuti non siano
stati modificati.

Riservatezza
La riservatezza consiste nel limitare l’accesso alle informazioni alle sole persone
autorizzate. Questo si applica tanto all’archiviazione dei dati quanto alla loro
trasmissione.
Un’informazione può essere ottenuta dalla combinazione di più dati. Ad esempio,
sapere nome e numero di conto di una persona separatamente non è rischioso, ma
la combinazione lo diventa. Perciò si può proteggere l’informazione completa o solo
le relazioni tra i dati.
La riservatezza dipende anche dal comportamento umano, non solo da strumenti
tecnologici:
 non condividere le password,
 non dare informazioni a sconosciuti,
 cifrare i dati riservati,
 controllare gli accessi ai sistemi.

Altri due concetti chiave: Autenticità e Non Ripudio


Oltre ai tre pilastri classici, esistono due principi collegati alla firma digitale:
 Autenticità: garantisce che un documento o messaggio provenga davvero dal
mittente dichiarato.
 Non ripudio: impedisce al mittente di negare di aver inviato un messaggio o
firmato un documento.
Questi obiettivi si raggiungono combinando crittografia e funzioni di hash,
assicurando così integrità e tracciabilità.
utenticazione: di cosa si tratta
L’autenticazione è il processo con cui si verifica l’identità di un’entità, che può essere
un utente, un dispositivo o un programma. È importante sottolineare che non esiste
un modo per confermare con certezza assoluta l’identità: si utilizzano invece delle
prove (come password o certificati) che, se valide, offrono una ragionevole garanzia
che l’entità sia chi dichiara di essere.

Autenticazione vs. Autorizzazione


Spesso si confondono due concetti: autenticazione e autorizzazione.
 L’autenticazione serve solo a verificare l’identità.
 L’autorizzazione, invece, riguarda i diritti d’accesso a risorse e dati: anche se
un utente è autenticato, può non avere l’autorizzazione ad accedere a tutto.
Un esempio: al controllo passaporti, una persona viene identificata (autenticata), ma
può comunque non avere i requisiti per entrare nel paese (non autorizzata).

Perché è importante?
Nel contesto di una rete (come Internet), l’autenticazione è più complessa perché gli
utenti non sono fisicamente presenti. Se un malintenzionato riesce a impersonare
un utente valido, può causare gravi danni, compromettendo riservatezza, integrità e
sicurezza economica.

Principali metodi di autenticazione


I sistemi usano vari strumenti per autenticare gli utenti:
 Password
 Certificati digitali
 Dispositivi biometrici (impronta digitale, riconoscimento facciale, voce)
 Token fisici
 Smart card
Tuttavia, nessun metodo è infallibile, quindi spesso si usano combinazioni (es.
autenticazione a due fattori: password + codice temporaneo inviato via SMS o
generato da un'app).

Modelli di autenticazione
Ci sono diversi modelli che variano in base al tipo di sistema e alle esigenze di
sicurezza:
1. Autenticazione locale
Usata su dispositivi singoli: tutto (verifica, controllo accessi) è gestito in locale,
dall’utente.
2. Autenticazione diretta
Usata nei sistemi centralizzati (come server LAN): un solo server gestisce
autenticazione e autorizzazione.
3. Autenticazione indiretta
Tipica dei sistemi distribuiti (es. reti aziendali): la richiesta viene inoltrata a un
server centrale (es. RADIUS, Kerberos, Active Directory).
4. Autenticazione offline (PKI)
Usata in sistemi basati su infrastruttura a chiave pubblica: ogni dispositivo
gestisce l’autenticazione, ma c’è un’autorità centrale che mantiene i certificati
(es. nel protocollo SSL).

Esempio pratico: SSL (HTTPS)


Quando un browser si collega a un sito (es. una banca):
1. Riceve un certificato digitale contenente la chiave pubblica del server.
2. Verifica l’autenticità del certificato tramite un'autorità fidata (CA).
3. Usa la chiave pubblica per avviare una sessione sicura cifrata.
Le password sono uno degli strumenti più diffusi per proteggere l’accesso ai sistemi
informatici, ma la loro efficacia dipende molto da come vengono scelte, gestite e
utilizzate. Esistono due categorie principali: password interne (usate dal personale
interno all’azienda) e password esterne (usate da utenti remoti, spesso tramite
Internet).

Password interne
Le password interne sono utilizzate in contesti in cui l’utente ha accesso fisico al
sistema. Per questo motivo, non è sempre necessario renderle troppo complesse,
ma è fondamentale che siano facili da ricordare e non scritte su foglietti o post-it.
Ecco alcune raccomandazioni:
 Devono essere mnemoniche ma non banali, difficili da indovinare anche da
colleghi.
 Non devono scadere troppo spesso, per evitare che vengano annotate.
 Devono essere cambiate in caso di modifiche al sistema.
 I dispositivi critici devono essere fisicamente protetti (chiusi a chiave,
sorvegliati).
 Le password degli amministratori devono essere più robuste rispetto a quelle
degli utenti comuni.
L’obiettivo è trovare un equilibrio tra sicurezza e praticità d’uso.

Password esterne
Le password esterne, invece, richiedono un livello di sicurezza più elevato perché
sono usate in contesti più esposti (ad es. accesso da Internet). Vanno protette con
sistemi crittografici e cambiate regolarmente. È buona norma:
 Utilizzare autenticazione forte (es. token, smartcard, password monouso).
 Usare protocolli sicuri per evitare deviazioni del traffico (come il rerouting).
 Scegliere password resistenti agli attacchi a dizionario.
 Non conservare le password su dispositivi portatili.

Come creare una buona password esterna


Un metodo efficace consiste nel unire due parole casuali, separate da un simbolo o
numero, in modo da ottenere una password sicura e facilmente memorizzabile.
Esempio: “casale9ferrato” è una password robusta, ma abbastanza semplice da
ricordare.
Autenticazione tramite token
Il token è un dispositivo fisico usato per autenticarsi in un sistema informatico.
Appartiene alla categoria di ciò che un utente "possiede", come alternativa o
integrazione a ciò che sa (es. password). Può essere un oggetto di vario tipo: una
chiave elettronica, una smartcard o un piccolo generatore di codici.
Il token genera codici di accesso variabili nel tempo, che vengono combinati con
altre credenziali per accedere a un sistema. Ha diversi vantaggi:
 Non bisogna ricordare password complicate.
 È difficile da copiare.
 Può essere usato insieme a un PIN (autenticazione a due fattori).
 Esistono token passivi (memorizzano dati, come una tessera) e attivi
(generano risposte, come una smartcard crittografica).
Un esempio avanzato è il sistema Challenge/Response, dove il token elabora una
“sfida” inviata dal server e fornisce una “risposta” per dimostrare l’identità.

Autenticazione biometrica
La biometria utilizza caratteristiche fisiche o comportamentali uniche di una persona
per verificarne l’identità. Le principali tecniche includono:
1. Impronte digitali – molto diffuse e a basso costo.
2. Geometria della mano – utile in ambienti industriali.
3. Retina e iride – molto affidabili, ma più intrusive.
4. Riconoscimento facciale – usabile anche a distanza, ma sensibile alla qualità
dell’immagine.
5. Voce – analizzabile anche senza consenso, ma falsificabile.
6. Firma autografa – basata sulla dinamica del movimento.
7. Digitazione su tastiera – riconosce il ritmo di scrittura.
Queste tecnologie si stanno diffondendo sempre più, soprattutto dopo eventi come
l’11 settembre 2001, che hanno spinto all’adozione di sistemi biometrici nei
passaporti e ai controlli di frontier
Autenticazione in rete: sfide e soluzioni
Autenticare un utente in una rete è un'operazione complessa che deve bilanciare
semplicità d'uso, gestione efficiente da parte degli amministratori e un livello di
sicurezza adeguato.
In un contesto distribuito, dove un utente accede da un sistema A a un sistema
remoto B, deve spesso avere credenziali valide su entrambi. Questo può complicare
la gestione delle password, soprattutto se sono molteplici.

Domini e gestione centralizzata


Per semplificare, si possono creare domini: gruppi di server che condividono un
archivio centralizzato di profili utente e impostazioni di sicurezza. In ambienti
Windows, questo approccio è ben strutturato. In Linux, si possono usare strumenti
come .rhosts o Kerberos per ottenere un effetto simile.

Importanza della crittografia


L'autenticazione in rete avviene tramite lo scambio di messaggi tra client e server,
che possono essere intercettati o manipolati. Per questo è fondamentale l’uso di
crittografia, che assicura:
 Riservatezza (i dati non sono leggibili da terzi),
 Integrità (non possono essere modificati senza che si noti),
 Protezione contro attacchi di replay (riutilizzo di messaggi intercettati).

Protocolli di autenticazione
1. PAP (Password Authentication Protocol): invia username e password, poco
sicuro.
2. CHAP (Challenge Handshake Authentication Protocol): più sicuro, usa una
sfida e una risposta basata su hash.
Molti servizi di rete si basano su RPC (Remote Procedure Call), che permette a un
programma di eseguire istruzioni su un altro computer. Anche in questo caso, la
sicurezza è assicurata da meccanismi di autenticazione crittografica.

Single Sign-On (SSO)


In reti complesse con molti utenti e servizi, il Single Sign-On (SSO) permette di
autenticarsi una sola volta per accedere a tutte le risorse necessarie. Questo
approccio:
 Migliora l’esperienza utente,
 Riduce gli errori e l’uso di password scritte,
 Semplifica la gestione dei profili, soprattutto grazie a sistemi centralizzati
basati su LDAP.
In ambienti omogenei come quelli Microsoft, l’SSO è integrato e gestito tramite vari
tipi di login (interattivo, di rete, di servizio, batch), anche usando il protocollo
Kerberos.

🔐 1. Politica della sicurezza


 È l’insieme delle regole e misure per proteggere le risorse informatiche.
 Deve essere conosciuta e rispettata da tutti gli utenti.
📁 2. Protezione dei dati
 I dati devono essere protetti da accessi non autorizzati, modifiche, distruzioni
o furti.
 Importanza del backup e del controllo degli accessi.
🔒 3. Crittografia
 Tecnica per rendere i dati illeggibili a chi non possiede la chiave di
decifrazione.
 Utile per proteggere dati sensibili durante la trasmissione o l’archiviazione.
💾 4. Sicurezza dei dati
 Richiede misure tecniche (come firewall e antivirus) e organizzative (come
autorizzazioni e monitoraggi).
 L’aggiornamento regolare dei software è fondamentale.
⚙️5. Garanzia di funzionamento
 I sistemi devono essere affidabili e disponibili.
 Prevedere soluzioni di continuità operativa (es. UPS, ridondanze).
🧳 6. Sicurezza degli strumenti portatili
 Dispositivi mobili (laptop, USB) sono vulnerabili: protezione fisica e cifratura
sono essenziali.
🖥️7. Sicurezza del posto di lavoro
 Attenzione a schermate visibili, password non protette e accessi non
controllati.
🌍 8. Impatto ambientale
 Lo smaltimento corretto delle apparecchiature informatiche è parte della
sicurezza.
🦠 9. I virus
 Programmi dannosi che alterano o danneggiano i dati.
 Possono diffondersi tramite e-mail, download o supporti esterni.
🛡️10. Antivirus
 Programmi che rilevano e rimuovono i virus.
 Devono essere aggiornati frequentemente.

Potrebbero piacerti anche