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


Informatica e problem solving, Appunti di Elementi di Informatica

Appunti vari del corso, sintetico ma comunque esaustivo per il superamento del corso

Tipologia: Appunti

2020/2021

Caricato il 16/07/2025

a.sc
a.sc 🇮🇹

2 documenti

1 / 26

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
INFORMATICA E PROBLEM SOLVING
La parola informatica deriva dall’unione dei termini informazione + automatica.
ICT: deriva dall’unione di informatica + telecomunicazioni. È l’insieme di tecnologie necessarie per elaborare,
analizzare, archiviare dati per produrre e comunicare informazioni e realizzare applicazioni distribuite
attraverso la cooperazione di più computer.
L’informazione è ogni messaggio che è possibile comunicare o acquisire. Informazione= Conoscenza.
I simboli trasmettono informazioni in un linguaggio a tre livelli:
- Sintattico : regole di connessione tra simboli;
- Semantico : significato associato ai simboli;
- Pragmatico : legame tra uomo, simboli e significato degli stessi simboli.
CI sono i dati che rappresentano eventi o fatti, che vengono scaturiti da un’informazione.
L’ICT ha creato la società dell’informazione che dà maggiore importanza al settore dei servizi.
INNOVAZIONE TECNOLOGICA
Progresso alimentato da continua innovazione che ha consentito di conservare, elaborare e condividere le
informazioni in modo sempre più efficiente e meno costoso.
Legge di Moore: la complessità di un microcircuito, misurata ad esempio tramite numero di transitori per
chip, raddoppia ogni 18 mesi.
Il software rappresenta un componente fondamentale di qualsiasi sistema di elaborazione. Senza software,
qualsiasi hardware è inutile, quindi per il processo di convergenza digitale, i dispositivi hardware incorporano
il software.
SOFTWARE
Software di base: interagisce direttamente con l’hardware (sistemi operativi, linguaggi di programmazione,
utilità del sistema).
Software applicativo: programmi utilizzati dagli utenti per elaborare i dati e produrre informazioni.
Le interfacce utenti sono state semplificare e i software sono fruibili su diverse piattaforme hardware.
EVOLUZIONE RETI DI COMUNICAZIONE
Dalla creazione del World Wide Web (’93) lo sviluppo di internet ha avuto una velocità di crescita
inimmaginabile, dovuto alla ricchezza dei servizi offerti.
Un aspetto divenuto ormai importante è la programmabilità dei dispositivi, ovvero la capacità di specializzarli
per attività complesse di elaborazione dell’informazione (algoritmi). Un problema risolvibile mediante un
algoritmo si dice computabile.
Le tecnologie di successo sociale producono strumenti utilizzabili anche da chi non ne conosce i dettagli di
funzionamento, grazie alla presenza di un’appropriata interfaccia utente.
- “APPROCCIO A SCATOLA CHIUSA”: interagire con la scatola e non con il suo contenuto, strumento
facilmente utilizzabile ma rischia di essere sotto utilizzato.
- “APPROCCIO DALL’ALTO VERSO IL BASSO”: continuiamo a scovare all’interno della scatola fino a
giungere al livello di dettaglio richiesto.
Conoscere il calcolatore serve a utilizzarlo al massimo delle sue capacità, capire se può essere di aiuto per un
determinato compito, capire le differenze con altre macchine.
I principi fondamentali cambiamo in modo molto più lento del prodotto o dell’applicativo.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a

Anteprima parziale del testo

Scarica Informatica e problem solving e più Appunti in PDF di Elementi di Informatica solo su Docsity!

INFORMATICA E PROBLEM SOLVING

La parola informatica deriva dall’unione dei termini informazione + automatica. ICT : deriva dall’unione di informatica + telecomunicazioni. È l’insieme di tecnologie necessarie per elaborare, analizzare, archiviare dati per produrre e comunicare informazioni e realizzare applicazioni distribuite attraverso la cooperazione di più computer. L’informazione è ogni messaggio che è possibile comunicare o acquisire. Informazione= Conoscenza. I simboli trasmettono informazioni in un linguaggio a tre livelli:

  • Sintattico: regole di connessione tra simboli;
  • Semantico: significato associato ai simboli;
  • Pragmatico: legame tra uomo, simboli e significato degli stessi simboli. CI sono i dati che rappresentano eventi o fatti, che vengono scaturiti da un’informazione. L’ICT ha creato la società dell’informazione che dà maggiore importanza al settore dei servizi. INNOVAZIONE TECNOLOGICA Progresso alimentato da continua innovazione che ha consentito di conservare, elaborare e condividere le informazioni in modo sempre più efficiente e meno costoso. Legge di Moore: la complessità di un microcircuito, misurata ad esempio tramite numero di transitori per chip, raddoppia ogni 18 mesi. Il software rappresenta un componente fondamentale di qualsiasi sistema di elaborazione. Senza software, qualsiasi hardware è inutile, quindi per il processo di convergenza digitale, i dispositivi hardware incorporano il software. SOFTWARE Software di base: interagisce direttamente con l’hardware (sistemi operativi, linguaggi di programmazione, utilità del sistema). Software applicativo: programmi utilizzati dagli utenti per elaborare i dati e produrre informazioni. Le interfacce utenti sono state semplificare e i software sono fruibili su diverse piattaforme hardware. EVOLUZIONE RETI DI COMUNICAZIONE Dalla creazione del World Wide Web (’93) lo sviluppo di internet ha avuto una velocità di crescita inimmaginabile, dovuto alla ricchezza dei servizi offerti. Un aspetto divenuto ormai importante è la programmabilità dei dispositivi, ovvero la capacità di specializzarli per attività complesse di elaborazione dell’informazione (algoritmi). Un problema risolvibile mediante un algoritmo si dice computabile. Le tecnologie di successo sociale producono strumenti utilizzabili anche da chi non ne conosce i dettagli di funzionamento, grazie alla presenza di un’appropriata interfaccia utente.
  • “APPROCCIO A SCATOLA CHIUSA”: interagire con la scatola e non con il suo contenuto, strumento facilmente utilizzabile ma rischia di essere sotto utilizzato.
  • “APPROCCIO DALL’ALTO VERSO IL BASSO”: continuiamo a scovare all’interno della scatola fino a giungere al livello di dettaglio richiesto. Conoscere il calcolatore serve a utilizzarlo al massimo delle sue capacità, capire se può essere di aiuto per un determinato compito, capire le differenze con altre macchine. I principi fondamentali cambiamo in modo molto più lento del prodotto o dell’applicativo.

BREVE STORIA DEL CALCOLATORE

Inizialmente c’erano l’Abaco e le macchine calcolatrici di Pascal e Leibnitz, ma questi erano privi di due caratteristiche fondamentali, ovvero non avevano la memoria per archiviare le informazioni e non erano programmabili. Il primo dispositivo con queste caratteristiche fu creato per produrre tappeti e tessuti da Joseph Jaquard, che creò un telaio che utilizza schede perforate per creare la trama desiderata nei tessuti prodotti. Fu il primo dispositivo programmabile e dimostrò come le conoscenze umane potessero essere rappresentate in un formato leggibile alla macchina e automatizzare le attività. Ci furono molte altre macchine ecc…….. DIREZIONI EVOLUTIVE DEL CALCOLATORE Lo sviluppo dei calcolatori segue 3 grandi direttrici: l’aumento della capacità di calcolo e di memoria, riduzione delle dimensioni e l’estensione delle funzionalità. MACCHINA DI VON NEUMANN Eseguire istruzioni su dati e controllare il flusso dell’esecuzione, memorizzare i dati e le successioni di istruzioni, interagire con gli utenti e con altri sistemi. HARDWARE E SOFTWARE Hardware: la struttura fisica del calcolatore, costituita da componenti elettronici ed elettromeccanici. Software: l’insieme dei programmi che consentono all’hardware di svolgere dei compiti utili. Software di base e software applicativi. Per comunicare con il calcolatore dobbiamo parlare il suo stesso linguaggio. Un’opzione potrebbe essere di insegnare al calcolatore a comprendere un linguaggio naturale per l’utente. Il vantaggio è imparare i linguaggi semanticamente ricchi, e quindi sicuramente in grado di esprimere i comandi. Linguaggio naturale per l’utente. Gli svantaggi sono rischi di ambiguità, strutture linguistiche complesse da insegnare/imparare. Oppure di può creare un linguaggio di programmazione dedicato alla comunicazione con il calcolatore. I vantaggi sono un linguaggio progettato specificamente, e quindi efficiente. Un linguaggio non ambiguo. Gli svantaggi sono un linguaggio formalizzato, e quindi strutturalmente diverso dalle lingue storico-naturali. Linguaggio non noto all’utente. PROGRAMMARE UN COMPUTER Un computer è una macchina programmabile, ogni macchina ha caratteristiche peculiari e il linguaggio è estremamente complicato e non di facile gestione. ASTRAZIONE : è possibile astrarre dai dettagli fisici della specifica macchina e dal suo linguaggio. L’idea è di realizzare una macchina virtuale astratta (generata tramite software di base) che abbia le funzionalità desiderate e che sia facile da utilizzare per l’utente, il quale interagisce con la macchina virtuale e ogni comando viene poi tradotto nei corrispondenti comandi nel linguaggio della macchina. Le macchine moderne sono strutturate su più livelli (struttura a cipolla).

HARDWARE

Le proprietà desiderabili sono: la flessibilità dello svolgimento dei compiti, modularità e standardizzazione dei componenti, scalabilità del sistema, riduzione dei costi, semplicità. ARCHICHETTURA DI UN CALCOLATORE:

  • CPU o Processore, esegue istruzione per l’elaborazione dei dati;
  • RAM o Memoria centrale, memorizza e fornisce l’accesso ai programmi;

MEMORIA SECONDARIA

La memoria secondaria o di massa , memorizza in modo permanente grandi masse di dati e NON può essere acceduta direttamente dalla CPU. Non sono volatili, hanno grandi capacità, bassi costi, bassa velocità di accesso. UNITÀ DI MASSA A STATO SOLIDO SSD (Solid-State drive), talvolta impropriamente chiamata disco a stato solido, utilizza una memoria a stato solido (memoria flash ) per l’archiviazione di dati. Non sono rumorose, sono resistenti agli urti, tempo di accesso ridotto. LE PERIFERICHE DI INPUT E OUTPUT Le periferiche servono per realizzare l’interazione uomo-macchina. Servono per immettere dati all’interno del computer e per l’uscita dei dati dal computer. Si collegano alle porte del computer. Il principale dispositivo di Input è la TASTIERA di tipo QWERTY (104 tasti). Un altro dispositivo di Input è il MOUSE. Abbiamo anche il touchpad, gamepad, scanner, microfono, webcam… LA DIGITALIZZAZIONE DEI DOCUMENTI I documenti per essere gestiti dal calcolatore devono essere digitalizzati. Per fare ciò si utilizzano apparecchiature hardware e software (Es. scanner). Il Riconoscimento Ottico dei Caratteri (OCR) è il processo di trasformazione di un’immagine contenente testo in caratteri. È attuato solitamente tramite un programma software apposito. CODICE A BARRE E CODICI QR I codici a barre sono un insieme di elementi grafici a contrasto elevato disposti in modo da poter essere letti da un sensore a scansione e decodificati per restituire l’informazione contenuta. Lo scopo è velocizzare e automatizzare le operazioni di lettura di informazioni alfanumeriche. Un codice QR (Quick Response) è un codice bidimensionale, ossia a matrice, composto da moduli neri disposti all’interno di uno schema di forma quadrata. IL MONITOR Il monitor è dotato di uno schermo su cui vengono memorizzate le informazioni secondo le modalità previste dal software utilizzato. Il monitor è formato da pixel che sono accostati gli uni agli altri per formare le immagini. Il numero di pixel dipende dalla risoluzione dello schermo. Le immagini possono essere monocromatiche (bianco e nero), a scala di grigi (dal bianco al nero con 255 gradazioni di grigio), a colore RGB (ogni pixel è colorato combinando il rosso, il verde e il blu). TIPI DI MONITOR:

  • CRT (Cathode Ray Tube), viene sparato un raggio di elettroni contro uno schermo fosforescente che puoi viene deflesso per coprire tutti i punti dello schermo.
  • LCD (Liquid Crystal display), formati da 2 lastre parallele di vetro nella cui intercapedine sono contenuti i cristalli liquidi che vengono illuminati da una luce. Un campo elettrico modifica l’allineamento molecolare dei cristallini e quindi le proprietà ottiche.
  • LED (Light Emitting Diode), sono schermi LCD che usano I led come fonte di illuminazione. **STAMPANTI
  • Stampanti ad aghi** , ormai obsolete, la testina di stampa contiene 24 aghi la cui azione combinata va a comporre i caratteri; - Stampanti a getto d’inchiostro , ci sono serbatoi di inchiostro di diversi colori; gli ugelli spuzzano gocce di inchiostro mentre la testa si muove per comporre i caratteri;

- Stampanti laser , un raggio laser scorre sul tamburo producendo una configurazione di punti chiari e scuri; il tamburo è ricoperto di inchiostro in polvere ( toner ) viene premuto sulla carta e trasferisce la polvere sulla carta. Il toner viene poi fissato facendo scorrere la carta attraverso rulli riscaldati. STAMPANTI 3D Si prende un modello 3D da un computer e si fanno una serie di porzioni in sezione trasversale. Poi tutte le porzioni vengono stampate le une in cima alle altre per formare l’oggetto tridimensionale. Si utilizzano materiali che si ammorbidiscono con il calore o altri utilizzano materiali liquidi.

IL SOFTWARE

Molti nuovi servizi di rete si basano su innovazioni tecnologiche software. I sistemi informatici moderni vengono costruiti scegliendo i componenti preferiti in un mercato organizzato per fasce orizzontali. È molto semplice comprare un hardware; acquisire il software “giusto” per risolvere un certo compito è di solito più difficile. I prodotti software:

  • Prodotti generici (OTS: Off The Shelf), sistemi prodotti da un produttore di pacchetti software e venduti sul mercato a qualsiasi cliente;
  • Prodotti commissionati (customizzati), sistemi commissionati da un cliente specifico e sviluppati apposta da qualche fornitore. Il software come prodotto è invisibile e intangibile, è facilmente duplicabile e in Europa non è brevettabile (è protetto), viene acquisito su licenza. Il software gode della protezione di autore , il software è un’opera dell’ingegno e chi lo produce è un autore che ha diritto ad un compenso. Copiare software abusivamente è illegale, anche se non lo si fa per profitto. Altre caratteristiche sono la manutenibilità , ovvero che il SW deve essere cambiato nel tempo e adattato alle esigenze, deve essere affidabile , ovvero che se si rompe non deve causare danni, deve anche essere efficiente. Il software è costituito dai programmi di base per la gestione del sistema e dai programmi applicativi per l’uso del sistema. Queste componenti permettono di trasformare l’hardware in un oggetto in grado di svolgere delle funzioni di natura diversa. Firmware: insieme di programmi registrati sulle memorie permanenti dei dispositivi elettronici, solitamente introdotti dal costruttore e cablati nell’hardware. Ci sono 2 tipi di traduttori : i compilatori (ingresso il programma e in uscita il programma in linguaggio macchina) e gli interpreti (traducono ciascuna istruzione del programma sorgente). Il mercato della produzione del software si caratterizza rispetto a 3 diverse dimensioni:
  • Proprietà intellettuale del software: software proprietario (il proprietario detiene i diritti di sfruttamento economico), software non proprietario (il titolare condivide i diritti di proprietà intellettuale).
  • Strategia commerciale: Software commerciale (a pagamento), software non commerciale (gratuito).
  • Tipologia di prodotto venduto: codice aperto (codice segreto e codice oggetto), codice chiuso (solo codice oggetto). SOFTWARE PROPRIETARIO È un software sviluppato da uno o più soggetti i quali detengono i diritti di proprietà intellettuale, di sfruttamento commerciale e di utilizzo software. Può essere rilasciato a pagamento o gratuitamente, a codice chiuso per tutelare l’oggetto commerciale. Non può essere copiato, modificato o distribuito senza l’autorizzazione del titolare dei diritti.

GESTIONE DELLA CPU

Il livello più interno è il kernel (nucleo) e si occupa di eseguire i programmi. Un programma in esecuzione è detto processo e si compone in codice del programma, dati necessari all’esecuzione del programma e stato dell’esecuzione. Il kernel distribuisce le risorse di calcolo tra i vari processi attivi. In base al numero di programmi in esecuzione : mono-programmato che esegue un solo programma alla volta; multi-programmato che esegue più programmi in contemporanea. ELABORAZIONE PARALLELA dei dati, delle istruzioni o dei programmi. Il parallelismo è possibile solo con l’impiego di architetture di elaborazione parallela che si basa sulla presenza di più unità di elaborazione in esecuzione. Il parallelismo a livello di programma ricade nell’ambito dei sistemi operativi. L’esecuzione di un programma può comportare l’alternarsi di processi utente (deriva da programma applicativo) e di processo di sistema (deriva da un programma del sistema operativo) all’interno della CPU. L’esecuzione di un processo può essere interrotta. Il sistema operativo si occupa dell’ alternanza tra i processi in esecuzione. ITERAZIONI TRA PROCESSI Indesiderate quando i processi competono per le risorse che servono per completare l’esecuzione (causano un blocco critico). Desiderate e previste quando sono legate a meccanismi di cooperazione fra processi che hanno l’obiettivo di giungere alla soluzione di un problema complesso. Le attività fra i singoli processi deve svolgersi in parallelo rispetto agli altri. Foreground : quando il processo è abilitato all’interazione con l’utente; Background : quando il processo non è in grado, temporaneamente, di interagire direttamente con l’utente. GESTIONE DELLA MEMORIA La memoria è una risorsa essenziale , perché ogni programma in esecuzione deve essere caricato in memoria e così i dati su cui opera, ed è limitata perché nei sistemi moderni possono essere attivi più processi nello stesso tempo. Per ragioni di efficienza dobbiamo mantenere più programmi in memoria centrale e questo comporta la spartizione di questa e del suo spazio di indirizzi. GESTORE DELLE PERIFERICO I/O Le periferiche I/O vengono gestite dal sistema operativo che maschera le caratteristiche hardware delle periferiche. Vengono gestite tramite i driver , ognuno dei quali è dedicato a ciascun dispositivo che si colleghi all’elaboratore. SPOOLING : tecnica utilizzata dai driver per rendere virtuali più periferiche non condivisibili (Es. stampante). GESTIONE DELLA MEMORIA SECONDARIA Memorizza i dati in modo permanente. Il file system è quella parte di sistema operativo che si occupa di gestire e strutturare le informazioni memorizzate sulla memoria secondaria. Mediante il file system, il sistema operativo fornisce una visione astratta dei file su disco. Il file system si occupa anche di proteggere i dati da accessi esterni. FILE : sono unità di memoria agli occhi dell’utente e contengono dati o programmi. I file hanno un’estensione, che può essere cambiata e questo implica il cambio dell’associazione tra file e programma utilizzato per eseguirlo. Il file system permette anche di modificare il nome del file, operare sul file, strutturarli e proteggerli. I file sono organizzati in modo gerarchico sul disco, si raggruppano i file in sottoinsiemi all’interno delle cartelle. “STRUTTURA AD ALBERO”.

UTENTI E PREVILEGI

Un sistema operativo che consente l’uso di un computer a più utenti deve anche saperli distinguere e proteggere la loro privacy dagli altri. È presente di solito un amministratore del sistema operativo, che può svolgere tutte le operazioni, mentre ci saranno gli utenti ordinari che sono limitati nei loro diritti per evitare che facciano danni. Gli utenti ordinari possono accedere solo ai propri file. UTENTI E GRUPPI Gruppo di lavoro: raggruppa in un insieme gli utenti che avranno gli stessi previlegi. Attributi di un file: specificano i previlegi minimi degli utenti per poter usufruire della risorsa. Credenziali di accesso: per accedere alla risorsa. IL CONTROLLO DEGLI ACCESSI : si associa ad ogni utente un account e una password. Sono tutti registrati. Con le credenziali, si possono controllare gli accessi ai file. Access Control List ( ACL ), c’è una tabella a cui ogni riga corrisponde a una diversa risorsa del sistema. La riga contiene una lista di tutti gli utenti abilitati all’uso della risorsa corrispondente e in che modo possono utilizzarla. INTERPRETE DEI COMANDI SHELL: parte del sistema operativo che riceve ed elabora le istruzioni impartite dall’utente. Ci possono essere SHELL differenti e quindi diversi modi di impartire i comandi. Lo SHELL è il guscio del sistema operativo e rappresenta l’interfaccia tra utente e sistema.

LA RETE DI CALCOLATORI

È un’organizzazione distribuita di tanti PC collegati tra loro mediante una rete di comunicazione, i quali si condividono informazioni. Grazie alla riduzione delle dimensioni dei calcolatori si è avuto una crescita e una diffusione delle reti. I calcolatori connessi alla rete mantengono comunque un certo grado di indipendenza. SISTEMI DISTRIBUITI: gli utenti non hanno visibilità sull’architettura del sistema, il quale si rappresenta come un sistema omogeneo, progettato per eseguire un’applicazione particolare. Grazie a questa rete di calcolatori, si possono condividere risorse, ci può essere comunicazione fra gli utenti e vendita/acquisto di beni. TRASMISSIONE DI DATI Lo scopo fondamentale di una rete è quello di consentire la comunicazione tra i partecipanti, spesso chiamati nodi. I nodi si scambiano dei dati sotto forma di messaggi codificati in forma digitale. Il messaggio viene trasformato da un dispositivo trasmettitore in un segnale che viaggia lungo un canale di trasmissione , fino ad un ricevitore dove il messaggio viene ricostruito per essere consegnato al destinatario. I problemi principali della comunicazione sono: deve esistere un canale fisico di comunicazione adatto (cavi, antenne, satelliti), non è sempre garantito che io dati ricevuti siano corretti a causa del rumore, trasmettitore e ricevitore devono parlare la stessa lingua. INFRASTRUTTURA DI COMUNICAZIONE A basso livello la comunicazione è resa possibile dall’esistenza di un mezzo di trasmissione. C’è bisogno di un supporto fisico al collegamento (fibra ottica, cavo coassiale…). Ci sono due modalità diverse per realizzare una infrastruttura di rete:

  • Linea dedicata , la comunicazione avviene lungo un canale dedicato esclusivamente ad essa.
  • Linea commutata , il canale viene costruito per ogni nuova sessione di comunicazione, collegando singoli tratti di linee dedicate. Con 2 linee commutate si riducono i costi. La linea commutata si divide a sua volta in commutazione di circuito , in cui viene stabilito il collegamento per tutta la durata della comunicazione e la commutazione di pacchetto , in cui ogni pacchetto è numerato e contiene l’indirizzo del computer destinatario e del mittente. Ogni pacchetto è trasmesso separatamente dagli altri. I pacchetti percorrono strade diverse e non arrivano necessariamente nell’ordine in cui sono stati inviati. Far parlare macchine diverse fra loro è difficile a causa dell’enorme diversità delle strutture hardware e software.

BLUETOOTH

Tecnologia wireless, basata su uno standard ed utilizzata nelle telecomunicazioni per creare in modo semplice reti personali senza fili. Bluetooth Smart o BLE è la versione sviluppata del Bluetooth, in cui spicca la comunicazione wireless fino ad un raggio di 100 metri. Se ne fa un perfetto utilizzo nei grandi magazzini e negozi. RETI CELLULARI Rete la cui copertura geografica è ottenuta da una tassellatura di aree adiacenti o sovrapposte dette celle. Il territorio viene suddiviso in celle. Ogni cella è dotata si una stazione base, la cui frequenza radio e diversa da quella di un’altra stazione base posta nella cella adiacente. L’utente si può muovere attraverso la rete passando da una cella all’altra senza interrompere la comunicazione.

IL PROTOCOLLO TCP-IP

Un protocollo è l’insieme degli usi e delle norme che regolano le formalità, il diritto di precedenza e diplomatico. I protocolli di comunicazione specificano i formati di dati, la struttura dei pacchetti, la velocità di trasmissione… Definire tutte queste proprietà tramite un unico protocollo è praticamente impossibile, per questo si definisce insieme di protocolli. PROCEDURA BASE DI COMUNICAZIONE Il mittente scrive il messaggio. Formula il contenuto in accordo al protocollo applicativo e invia il messaggio sul canale di trasmissione nella forma di un segnale fino al destinatario, il quale interpreta il messaggio in accordo con il protocollo applicativo. Il destinatario acquisisce il contenuto del messaggio. INTERNET ARCHIVIA A 5 LIVELLI

  • Livello fisico : interfaccia fisica tra le stazioni per la trasmissione dei dati e il mezzo di trasmissione.
  • Livello di accesso di rete : scambio di dati tra un sistema finale e la rete a cui è collegato. Organizza i dati in frame e capisce come trasmetterli sulla rete.
  • Livello internet (Internet Protocol) : scambio di dati tra sistemi che non appartengono alla stessa rete. Specifica il formato dei pacchetti inviati attraverso la rete a seconda della rete usata per farli transitare.
  • Livello di trasporto (Trasmission control Protocol) : trasmissione affidabile, con la garanzia che tutte le parti giungano a destinazione con lo stesso ordine di partenza.
  • Livello applicativo : come un’applicazione può utilizzare i protocolli TCP/IP. Ogni flusso di dati ( data stream ) viene spezzettato in pacchetti ( datagram ) corredati in informazioni per la loro trasmissione. PROBLEMA DELLA QUALITÀ DEL SERVIZIO (QoS) Si utilizza il criterio First-In-First-Out durante il viaggio nella rete. Ogni pacchetto viene accodato nel router che lo riceve insieme agli altri in attesa di essere inoltrati. Questo crea un problema nel caso in cui sia necessario offrire una determinata qualità del servizio. TCP è un protocollo connection oriented che frammenta il messaggio in pacchetti al momento della spedizione e garantisce al momento della consegna che il messaggio sia completo e ordinato. Controlla anche la correttezza del messaggio. IP è un protocollo connectionless , in cui ogni pacchetto viene inviato a destinazione lungo percorsi indipendenti, non è sicuro che tutti i pacchetti arrivino a destinazione in ordine e in modo corretto. PROTOCOLLO UDP È la combinazione tra IP e TCP e permette di ottenere sia una buona efficienza di trasmissione che un’elevata affidabilità. Si utilizza maggiormente dove è più importante la qualità del servizio.

Nelle situazioni di real-time (Es. giochi), c’è bisogno di un’efficiente gestione di connessione, che non preveda un invio delle ricevute di ritorno per i pacchetti e che si adatti alla possibilità che qualche pacchetto si perda per strada. Per questo si sostituisce il TCP. Il protocollo TCP garantisce un trasferimento dati affidabile, mentre il protocollo IP garantisce l’attraversamento di reti interconnesse. INDIRIZZO IPv4 (versione 4) Un indirizzo IP è un’etichetta numerica che identifica univocamente un dispositivo ( host ) collegato a una rete informatica che utilizza il protocollo IP. L’indirizzo IP serve per identificare un dispositivo sulla rete e fornisce il percorso per la sua raggiungibilità da un dispositivo di rete in una comunicazione dati a pacchetto. L’indirizzo IP viene assegnato ad un’ interfaccia di rete che identifica l’host nella rete. È formato da 32 bit per un totale di 2^32 possibili indirizzi diversi. È rappresentato in forma decimale puntata. INDIRIZZI IP PRIVATI Esiste un gruppo di indirizzi IP il cui utilizzo è riservato alle reti locali. Chiunque può utilizzarli all’interno della propria rete locale per identificare i calcolatori, ma essi non saranno mai usati per identificare computer in Internet, in quanto i pacchetti con tali indirizzi non sono mai instradati dai router verso Internet. NAT Gli indirizzi IP privati non permettono di connettere il dispositivo ad una rete pubblica, in quanto non ci riuscirebbe ad identificare il dispositivo nella rete. Perciò un dispositivo che non può fare ciò, non ha piena potenzialità d’uso, quindi nelle reti locali è presente il Network Address Translation ( NAT ), che mappa gli indirizzi IP privati della sua rete su un solo indirizzo IP pubblico. IP DINAMICI Gli IP pubblici sono una risorsa limitata, quindi essi possono essere solo assegnati di volta in volta per il tempo necessario di connessione. In questo modo quando un nodo non è connesso alla rete, quell’indirizzo IP può essere assegnato ad un altro. Si ha un ridotto costo di gestione, però un dispositivo con indirizzo IP dinamico, non può essere raggiunto da un altro computer della rete. LE PORTE TCP Ogni calcolatore ha più processi in esecuzione e quindi i pacchetti devono avere un riferimento ai processi che dovranno riceverli. Il sistema di indirizzamento generale è su 2 livelli:

  • Indirizzo IP : indirizzo internet globale unico, utilizzato da IP per instradare e consegnare i pacchetti.
  • Porta TCP : indirizzo unico dell’host che individua un processo attivo. Consegna i dati al processo giusto.

IL LIVELLO APPLICATIVO

Il protocollo di trasmissione di Internet è indipendente dalle infrastrutture fisiche. Le condizioni per usare Internet sono i protocolli applicativi , mentre le condizioni per essere in Internet sono i protocolli di trasmissione e le infrastrutture fisiche. INDIRIZZI NUMERICI vs INDIRIZZI SIMBOLICI Gli indirizzi IP sono machine-oriented, quindi difficili da utilizzare per un utente umano che dovrebbe memorizzare sequenze numeriche piuttosto difficili. Per questo motivo si ricorre ad un nome simbolico , in forma di stringhe testuali separate da punto. Esiste un servizio che permette di tradurre nomi facilmente memorizzabili nei corrispondenti indirizzi numerici, il Domain Name System. Ci sono differenti tipi di dominio:

Molte applicazioni sfruttano un mix dei due paradigmi (C/S e P2P) combinando i vantaggi di ciascuno di essi. Per esempio potrebbe essere utile usare una comunicazione C/S per identificare l’indirizzo di un peer disposto a offrire un certo servizio e ottenere il servizio mediante P2P. TRASFERIMENTO DI INFORMAZIONI MULTIMEDIALI Trasferimento dell’intero file da sorgente a ricevitore e successiva riproduzione: file transfer. Si può riprodurre il file solo al termine del trasferimento ed è necessaria un’adeguata capacità di memorizzazione da parte del ricevitore. Riproduzione progressiva del contenuto multimediale durante il trasferimento dell’informazione: streaming. Il ricevitore memorizza l’informazione ricevuta in un buffer che viene continuamente alimentato dai dati ricevuti dalla rete e svuotato progressivamente. Il ricevitore non deve memorizzare l’intero file. TRASFERIMENTO DI INFORMAZIONI LIVE Nel caso di informazioni live , la sorgente produce un flusso continuo di informazioni. Questo flusso di informazioni è spezzato in pacchetti che sono trasmessi individualmente sulla rete: trasmissione in streaming. La rete può alterare la continuità temporale del flusso di informazioni in 2 modi:

  • Perdendo i pacchetti occasionalmente;
  • Consegnando i pacchetti al ricevitore con una tempificazione relativa diversa da quella con cui sono stato trasmessi. Nei casi di flusso audio, vengono percepiti dei disturbi. Nel caso di flusso video, si hanno dei disturbi (glitches) che possono essere più o meno localizzati nel tempo e nello spazio. NETNEUTRALITY La neutralità di rete è implicata dall’architettura stessa. Solo il livello applicativo conosce il significato delle informazioni che sono scambiate. I livelli sottostanti operano considerando tutto il traffico come un indistinto flusso di byte.

IL WEB

È un ipertesto un documento la cui struttura è complessa. Il documento può contenere dei punti di ancoraggio per relazioni ( link ) che rimandano ad altre parti del documento. Il World Wide Web è un gigantesco ipertesto aperto , formato da nodi che risiedono in macchine sparse per il mondo collegate tramite internet. Percorrere un collegamento ipertestuale significa attivare una connessione fra client e server, utilizzando il protocollo http. Il WEB si basa su 4 elementi fondamentali:

  • URL , il modo condiviso per identificare risorse nella rete e per poterle specificare nei documenti ipertestuali;
  • HTTP , l’insieme di regole (protocollo) per richiedere ed ottenere una specifica informazione da un server. È un protocollo di comunicazione che definisce le regole con le quali il web browser e il web server possono scambiarsi richieste e risposte;
  • HTML , linguaggio per descrivere le informazioni da utilizzare. È un linguaggio di marcatura testuale;
  • BROWSER , il programma per fare richieste nel web e visualizzare il risultato. Il browser è un programma Client, dotato di interfaccia grafica a supporto dell’utente. Interagisce con i server, riceve dati, visualizza pagine WEB. Quando ci connettiamo ad una risorsa in rete, identificata da un URL:
  • Nel caso più semplice l’URL contiene l’indirizzo di una pagina il cui contenuto è fisso, definito nel momento in cui la pagina è stata scritta. Pagina statica.
  • Nelle pagine web dinamiche , il contenuto viene generato al momento della richiesta. Si dividono in debolmente dinamiche quelle che utilizzano tecnologie Client-Server , mente sono chiamate autenticamente dinamiche quelle che usano tecnologia server-side.

Un esempio di pagina dinamica è JavaScript, un linguaggio scripting che serve per scrivere degli script , che vengono utilizzati per creare dinamicamente il contenuto di una pagina Web e aggiungere interattività alle pagine Web. PAGINE DINAMICHE SERVER-SIDE La programmazione server-side, fa si che il server web non solo restituisce la pagina HTML, ma esegue anche una fase di elaborazione dei dati. L’utente sottomette dati che il server elabora fornendo poi la risposta sotto forma di pagina HTML. Es. accedere ad un database che risiede in un server (Amazon). I COOKIE Il protocollo http è privo di stato e non ricorda nulla di una precedente connessione. Se vogliamo tenere traccia di varie informazioni, dobbiamo salvarle su file system, o attraverso il client con i cookie o attraverso il server. Il COOKIE è un’informazione generata da un server Web e memorizzata sul calcolatore dell’utente, pronta per essere reperita in un accesso futuro. Il cookie è un frammento di testo che contiene le preferenze dell’utente. Sono usati molto per scopi commerciali. Quando il client si connette nuovamente ad un server al quale aveva accettato i cookie, il browser insieme alla propria richiesta manda indietro il cookie al server. CACHE La cache del browser è una sorta di copia locale delle pagine del web già visitate dall’utente. L’uso della cache permette di velocizzare un eventuale nuovo accesso a pagine o a file già caricati. Questo meccanismo funziona anche se la stessa risorsa è presente in più pagine. Dopo un determinato periodo di tempo, quando lo spazio disponibile sul disco viene esaurito, il browser cancella i file più vecchi per fare spazio a quelli più nuovi. I PROXY SERVER Estendono il meccanismo della memoria cache locali. È un software che viene di norma installato su uno dei computer di una rete locale collegata ad Internet. Quando un utente richiede di accedere ad una data risorsa, il suo browser contatta in primo luogo il proxy server.

IL WEB 2.0 E I SOCIAL NETWORK

I portali sono siti che costituiscono porte di accesso a un gruppo consistente di risorse internet di vario tipo, spesso organizzate per canali telematici. I siti web 2.0 sono piattaforme che consentono una forte interazione tra utenti. Gli utenti usufruiscono di servizi innovativi mediante potenti interfacce grafiche. Gli utenti forniscono il valore aggiunto con l’autoproduzione di contenuti e la condivisione della conoscenza. I servizi offerti vengono aggiornati di continuo. C’è la centralità ed il protagonismo dell’utente che produce lui stesso le informazioni. I social media sono tutti quei servizi online che permettono la creazione, la condivisione e lo scambio di contenuti informativi di vario tipo all’interno di comunità virtuali. Si dividono in:

  • Social Network Sites : servizi online che permettono di comunicare e interagire con la propria rete sociale;
  • Siti di Content Sharing : servizi online che permettono di pubblicar e in rete e di condividere con altri utenti materiale di varia natura. BIDIREZIONALI: i social media sono basati sul concetto di amicizia , gli utenti possono accedere ai rispettivi profili e scambiarsi informazioni. Creano un sistema chiuso , scambiano informazioni solo tra di loro. A STELLA: relazioni tra utenti non necessariamente biunivoche (posso seguire un utente ma non essere ricambiato). Si instaura un sistema aperto.

STRUTTURA MOTORI DI RICERCA

5 componenti fondamentali:

  • Crawler : software specializzato che naviga la rete e porta le pagine nell’indice. Seguono opportune politiche di navigazione e non possono accedere al Deep Web.
  • L’indice : enorme database dove le pagine vengono memorizzate con tutti i metadati e dove tutte le parole vengono invertite creando indici per ognuna di esse.
  • L’interfaccia : interpreta la richiesta dell’utente, tenta di interpretarla e passa richiesta al query processore che agisce sull’indice.
  • Ranking : ordina i risultati in base alla rilevanza rispetto al query. I dati si visualizzano nel SERP. IL CONCETTO DI TERMINE Prima della costruzione dell’indice, dobbiamo trasformare i documenti in un elenco di termini secondo delle regole che dovranno essere applicate a tutto il processo. Il contenuto su cui effettuare la ricerca è immenso: 50 miliardi di pagine statiche che raddoppiano ogni anno, milioni di termini in centinaia di lingue diverse… Gli utenti propongono query su moltissimi argomenti diversi e ce ne sono di diversi tipi:
  • Informazionali : l’utente vuole sapere qualcosa su un certo argomento;
  • Navigazionali : l’utente vuole andare ad una certa pagina;
  • Transazionali : l’utente vuole seguire una certa operazione con la mediazione del web;
  • Misti Per stabilire la rilevanza, i motori di ricerca classificano le pagine utilizzando degli algoritmi per esempio con una ricerca che si basa solo sul contenuto testuale, oppure utilizzando dati specifici del web come i link. È presente il Google PageRank, che da importanza ad una pagina web a seconda di quante pagine web la linkano, in base al contenuto, e oltre 200 criteri. Per farsi trovare sul web:
  • SEO che promuove il ranking di un sito web nei risultati di ricerca organici. È un processo che consente di migliorare la visibilità di un sito web tra i risultati di un motore di ricerca allo scopo di intensificare il traffico senza dover ricorrere ad annunci pubblicitari a pagamento
  • SEM è una forma di internet marketing che consiste nella promozione di siti web aumentandone la visibilità in SERP principalmente attraverso annunci pubblicitari a pagamento. Il fattore principale che conta per il motore di ricerca è la SODDISFAZIONE DELL’UTENTE , influisce sicuramente molto la velocità di ricerca ma questa risposta deve essere utile all’utente. VEDI ESERCIZI SILDE 57-71 LEZIONE 7 https://elearning.unibs.it/pluginfile.php/558350/mod_resource/content/2/INF-PS%20Lezione%207%20- %20La%20ricerca%20in%20Rete.pdf LE BANCHE DATI DOCUMENTALI Sono un insieme di informazioni in formato elettronico. Sono organizzate in record , unità documentarie dove sono registrati i dati, e in campi , le varie parti in cui questi si articolano. Per poter individuare i documenti pertinenti alla nostra ricerca, le banche dati permettono diverse tipologie di interrogazioni:
  • Searching : interrogazione con immissione in una o più caselle della maschera di ricerca di uno o più termini;
  • Browsing : l’avvio di una ricerca senza immissione di dati, ma attraverso lo scorrimento di una lista e la selezione della chiave di ricerca da questa;
  • Surfing : esecuzione di una ricerca a partire da un documento recuperato verso altri a questo correlati, senza tornare alla maschera di ricerca. I risultati delle ricerche consistono in una lista di documenti nei quali si può accedere. Si può anche dare un criterio di ordinamento ai risultati, a seconda della nostra preferenza. IL CATALOGO OPAC OPAC (Online Public Access Catalogue) è il catalogo di una o più biblioteche che si possono consultare. Permette di scoprire dove si trovano i documenti che stiamo cercando e se ce ne sono altri sullo stesso argomento o dello stesso autore. Gli OPAC forniscono la localizzazione e la disponibilità del documento e le informazioni sulla biblioteca.

IL FUTURO DEL WEB: CLOUD COMPUTING E IoT

Con cloud computing si indica un insieme di tecnologie che permettono, tipicamente sotto forma di un servizio, di memorizzare/archiviare e/o elaborare dati grazie all’utilizzo di risorse hardware/software distribuite e virtualizzate in rete in una tipica architettura Client-Server. Cloud storage, si riferisce alla possibilità di usare risorse di memorizzazione distribuite in rete. L’implementazione delle risorse non è definita in modo dettagliato, anzi è un insieme eterogeneo e distribuito. L’utente non sa la localizzazione geografica delle risorse. L’architettura informatica di un cloud computing prevede uno o più server reali collocati presso data center del fornitore del servizio. I vantaggi sono che i sistemi e le applicazioni informatiche che consentono alle aziende di funzionare sono concentrati in pochi grandi data center. Gli utenti finali possono avere accesso a grandi risorse di qualsiasi tipo in maniera del tutto virtuale. Si pagherà solo l’effettivo utilizzo delle risorse. I dati sono disponibili in qualsiasi momento da qualsiasi posizione e in caso di disastro naturale e non, i dati sono salvati sul cloud. Ci sono diversi livelli di OFFERTA di cloud:

  • Software as a Service (SaS): utilizzo di programmi installati su un server remoto, cioè fuori dalla LAN aziendale.
  • Platform as a Service (PaaS): viene eseguito in remoto una piattaforma software che può essere costituita da diversi servizi.
  • Infrastructure as a Service (IaaS): consiste nell’utilizzo di risorse hardware in remoto, come server, storage, nel momento in cui la piattaforma ne ha bisogno. Le maggiori problematiche del Cloud Computing sono:
  • Sicurezza e privacy degli utenti, laddove il fornitore di servizio acceda ai dati personali per eseguire ricerca di mercato e profilazione degli utenti.
  • Problemi internazionali di tipo economico e politico , quando dati pubblici sono raccolti in archivi privati situati in un paese diverso da quello degli utenti.
  • Continuità del servizio , delegando ad un servizio esterno la gestione dei dati e che quindi i suddetti ai servizi potrebbero non essere operativi per l’utente.
  • Difficoltà di migrazione dei dati. INTERNET OF THINGS (IoT) L’internet delle cose è un termine usato per descrivere scenari in cui connettività e capacità di calcolo si estendono a una varietà di dispositivi, sensori e oggetti di uso quotidiano. Si ha una connettività pervasiva , ovvero connettività a basso costo e ad alta velocità attraverso servizi wireless senza identificazione. C’è una larga adozione del protocollo IP su strumenti e device con bassi costi ed elevata semplicità.

RAPPRESENTAZIONE DEI NUMERI RAZIONALI

  • Rappresentazione in virgola fissa: si fissano a priori quante cifre intere e decimali si vogliono rappresentare e si utilizzano potenze di 2 sia positive che negative.
  • Rappresentazione in virgola mobile: se si vogliono rappresentare sia numeri molto piccoli che numeri molto grandi occorre utilizzare una rappresentazione in cui la virgola decimale varia a seconda del numero. Si utilizza la mantissa per ottenere una rappresentazione unica (notazione scientifica). L’aritmetica degli elaboratori differisce notevolmente all’aritmetica usuale. Ci sono modalità differenti di operazioni ma ci sono degli aspetti in comune quali: la rappresentazione binaria, precisione finita dei numeri, rango finito dei numeri rappresentabili e operazioni espresse in termini di operazioni più semplici. Nella maggior parte degli elaboratori, non si eseguono direttamente tutte le operazioni. Le operazioni più semplici sono eseguite direttamente da appositi circuiti, mentre le più complesse sono realizzate mediante l’esecuzione di successioni di operazioni semplici. DA ANALOGICO A DIGITALE: IL CAMPIONAMENTO La grandezza varia nel tempo e non può essere rappresentata da un solo valore, quindi i diversi valori devono essere rappresentati in diversi istanti di tempo. La quantizzazione deve essere ripetuta per ogni valore campionato. Il campionamento avviene ad intervalli di tempo regolari e il segnale risultante è un insieme finito di punti equidistanti nel tempo. Questo processo, insieme alla quantizzazione, comporta una perdita di informazione. La quantizzazione suddivide l’ampiezza in n intervalli uguali che vengono poi codificati in binario. Ogni valore di ampiezza del segnale campionato viene approssimato al più vicino valore discreto di ampiezza. Più valori si utilizzano per suddividere le ampiezze, più il segnale sarà preciso. Per quanto riguarda le immagini , queste sono divise in PIXEL per ognuno dei quali si dovrà prelevare un campione che si considera rappresentativo del colore di tutto il sottoinsieme. Questa rappresentazione viene chiamata BITMAP. Il numero di byte richiesti per memorizzare un bitmap dipende dalla risoluzione e dal numero di colori. LA COMPRESSIONE DEI DATI Gli algoritmi di compressione dei dati possono essere distinti in due categorie fondamentali:
  • COMPRESSIONE LOSSLESS , se non provoca la perdita di informazione. Può essere impiegata per qualsiasi tipo di file. È caratterizzata da un ridotto rapporto di compressione.
  • COMPRESSORE LOSSY , se provoca la perdita di informazione. Utilizzabile laddove l’algoritmo di compressione garantisce comunque l’intellegibilità dell’informazione nel file compresso. Più è alto il rapporto di compressione che si sceglie, maggiore è la quantità di informazioni che si è disposti a perdere, minore sarà la qualità finale. Gli algoritmi di compressione lossy sono specifici per i diversi domini applicativi.
  • Per le immagini si sfrutta il fatto che per l’occhio umano lievi cambiamenti di colore in punti contigui sono poco visibili e quindi possono essere eliminati.
  • Per le animazioni e i video si sfrutta il fatto che immagini successive hanno spesso molte parti uguali e quindi di ogni immagine possono essere memorizzate solo le differenze con l’immagine precedente.
  • Per i file audio si sfrutta il fatto che per l’orecchio umano suoni a basso volume sovrapposti ad altri di volume maggiore sono poco udibili e quindi possono essere eliminati. DIGITALIZZAZIONE DI VIDEO

Il movimento è rappresentato già in modo discreto nei media, con un numero abbastanza alto di fotogrammi fissi (30 al secondo) l’occhio umano percepisce il movimento come un continuo. Sono stati sviluppati metodi di codifica che economizzano, codificando solo le differenze fra un fotogramma e l’altro (MPEG). Motion Picture Expert Group, compressione con perdita dei video. La prima approssimazione è JPEG su ogni quadro, dopo di che rimuove anche la ridondanza tra quadri (definisce anche audio).

PROBLEMI E ALGORITMI

Un problema è formato dai dati , ossia ciò che è noto, l’ istanza che si deve affrontare e che possiamo indicare col termine input. Ci sono poi i risultati , ovvero ciò che si deve determinare, gli elementi incogniti la cui determinazione fornisce l’ output. Poi ci sono i vincoli che si infrappongono tra noi e i risultati. La soluzione identificata deve essere descritta considerando che il soggetto esecutore deve saper interpretare la descrizione in modo corretto e deve essere in grado di attuare le azioni previste. I calcolatori sono essenzialmente esecutori di soluzioni che gli esseri umani hanno previamente identificato e descritto. Sono molto più veloci ad eseguire i calcoli. Non tutti i problemi sono però computabili, dunque non è presente un algoritmo che consenta di ottenere dei risultati. IL CONCETTO DI MODELLO Un modello è uno schema teorico elaborato in molte discipline per rappresentare gli elementi fondamentali di fenomeni o enti. Esistono vari tipi di modelli, alcuni di questi sono:

  • Modelli descrittivi o statici : riproducono una semplificazione della realtà, senza presupporre l’uso che ne verrà fatto.
  • Modelli analogici : danno una rappresentazione fedele della realtà, tipici sono i modelli in scala ridotta, che riproducono qualitativamente un sistema.
  • Modelli predittivi : danno gli elementi di una certa realtà necessari per prevedere l’evoluzione, lasciando spazio ad eventuali scelte. La descrizione della soluzione di un problema dipende dall’esecutore, la descrizione deve essere accettabile per l’esecutore stesso (si scompone il problema in sotto-problemi, fino ai problemi elementari). La sequenza di operazione la cui esecuzione porta alla soluzione del problema si chiama algoritmo risolutivo. Un algoritmo è una sequenza di azioni che in un numero finito di passi elementari, elabora i dati di partenza per giungere al risultato finale. La sequenza di azioni dipende dai dati iniziali e dalle caratteristiche dell’esecutore. Le operazioni che l’esecutore riesce ad eseguire sono le operazioni elementari , altrimenti è necessario scomporre il problema complesso in sotto-problemi. Un esecutore è definito in base a 3 elementi:
  • L’insieme delle operazioni che è capace di compiere;
  • L’insieme delle istruzioni che capisce ( sintassi ), che fanno parte del linguaggio macchina;
  • Quali operazioni associa ad ogni istruzione che riconosce ( semantica ). La soluzione si dice effettiva se l’esecutore è in grado di interpretarla e compiere le azioni. Prima di affrontare una soluzione, bisogna capire esattamente il problema. SVILUPPO DI UN PROGRAMMA
  1. Analisi del problema e identificazione di una soluzione;
  2. Formalizzazione della soluzione e definizione dell’algoritmo risolutivo;
  3. Programmazione , struttura del programma in un linguaggio di programmazione ad alto livello;
  4. Traduzione del programma nel linguaggio macchina (fatto dai compilatori o interpreti). ANALISI