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 sbobinature, Appunti di Fondamenti di informatica

Appunti per lo svolgimento dell’esame di informatica Anno 2023/2024 Appunti schematizzati accuratamente e dettagliati , con eventuali sottolineature per evidenziare i concetti su cui maggiormente focalizzare l’attenzione.

Tipologia: Appunti

2022/2023

In vendita dal 09/10/2024

giuseppe-rinaldi-14
giuseppe-rinaldi-14 🇮🇹

6 documenti

1 / 34

Toggle sidebar

Questa pagina non è visibile nell’anteprima

Non perderti parti importanti!

bg1
MODULO 1 - STORIA DELL’INFORMATICA
1.2 IL CALCOLATORE
È una macchina che riceve dati in ingresso, li memorizza, li elabora sulla base di
una lista di istruzioni, calcola i risultati, li memorizza e li fornisce in uscita. È in grado
di:!
Compiere operazioni matematiche ad altissima velocità
Registrare enormi quantità di informazioni in spazi ridottissimi
Trasmettere informazioni a grandi distanze e con enorme velocità
Governare dispositivi meccanici che compiono operazioni di precisione (Robot)
Eseguire programmi che svolgono compiti molteplici
MACCHINE E ALGORITMI PER ELABORARE LINFORMAZIONE!
Blaise Pascal secolo XVII –-> La pascalina, macchina per compiere addizioni e
sottrazioni. Leibniz perfezionò la pascalina, costruendo un apparecchio in grado di
eseguire anche le moltiplicazioni.!
La Pascalina, come la macchina di Leibniz erano calcolatrici automatiche, ma
meccaniche, e quindi non elettroniche, non si potevano definire macchine programmabili.!
MACCHINE PROGRAMMABILI!
Joseph Marie Jacquard (1752-1834) –-> Telaio in grado di tessere da solo
Charles Babbage (1791 – 1871) –-> Macchina per calcolare i Logaritmi (rimase un
progetto, che poi fu realizzato da Lady Augusta Ada Lovelace, prima
programmatrice della storia)!
DALLE TEORIE DEGLI ALGORITMI SI PASSERÀ POI ALLE MACCHINE UNIVERSALI
1.3 LA MACCHINA DI VON NEUMANN
I PRIMI CALCOLATORI
Alan Turing –-> Colossus (1941) —> calcolatore elettronico ma non programmabile
per decifrare i codici utilizzati dall’esercito tedesco;!
Konrad Zuse – Z3 (anni ’30-’40) —> primo calcolatore programmabile basato sul
sistema binario, che venne utilizzato per la progettazione degli aereoplani;!
ENIAC (Electronic Numerical Integrator and Computer - USA 1941- 1945) basato sul
sistema decimale –-> venne utilizzato per calcolare le traiettorie dei proiettili.!
1
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22

Anteprima parziale del testo

Scarica Informatica sbobinature e più Appunti in PDF di Fondamenti di informatica solo su Docsity!

MODULO 1 - STORIA DELL’INFORMATICA

1.2 IL CALCOLATORE

È una macchina che riceve dati in ingresso, li memorizza, li elabora sulla base di una lista di istruzioni, calcola i risultati, li memorizza e li fornisce in uscita. È in grado di:

- Compiere operazioni matematiche ad altissima velocità - Registrare enormi quantità di informazioni in spazi ridottissimi - Trasmettere informazioni a grandi distanze e con enorme velocità - Governare dispositivi meccanici che compiono operazioni di precisione (Robot) - Eseguire programmi che svolgono compiti molteplici

MACCHINE E ALGORITMI PER ELABORARE L’INFORMAZIONE

Blaise Pascal secolo XVII –-> La pascalina, macchina per compiere addizioni e sottrazioni. Leibniz perfezionò la pascalina, costruendo un apparecchio in grado di eseguire anche le moltiplicazioni. La Pascalina, come la macchina di Leibniz erano calcolatrici automatiche, ma meccaniche, e quindi non elettroniche, non si potevano definire macchine programmabili.

MACCHINE PROGRAMMABILI

  • Joseph Marie Jacquard (1752-1834) –-> Telaio in grado di tessere da solo
  • Charles Babbage (1791 – 1871) –-> Macchina per calcolare i Logaritmi (rimase un progetto, che poi fu realizzato da Lady Augusta Ada Lovelace, prima programmatrice della storia)

DALLE TEORIE DEGLI ALGORITMI SI PASSERÀ POI ALLE MACCHINE UNIVERSALI

1.3 LA MACCHINA DI VON NEUMANN

I PRIMI CALCOLATORI

  • Alan Turing –-> Colossus (1941) —> calcolatore elettronico ma non programmabile per decifrare i codici utilizzati dall’esercito tedesco;
  • Konrad Zuse – Z3 (anni ’30-’40) —> primo calcolatore programmabile basato sul sistema binario, che venne utilizzato per la progettazione degli aereoplani;
  • ENIAC (Electronic Numerical Integrator and Computer - USA 1941- 1945) basato sul sistema decimale –-> venne utilizzato per calcolare le traiettorie dei proiettili.

LA MACCHINA DI VON NEUMANN

La memorizzazione interna del programma caratterizzò la macchina di von Neumann, dove figurava l'architettura adottata nei moderni calcolatori; questa venne definita negli anni '40 da un gruppo di lavoro in cui partecipava il matematico statunitense (di origine ungherese) John von Neumann. La macchina di von Neumann è strutturata da:

  • Un unità di controllo (control unit - CU);
  • Un unità di calcolo (o unità aritmetico-logica) che costituiva l'unità centrale di elaborazione (CPU), detta anche processore.

1.4 LE LEGGI DI MOORE

Sono leggi empiriche che descrivono lo sviluppo della microelettronica, a partire dall’inizio degli anni Settanta, con una progressione sostanzialmente esponenziale, perciò straordinaria.

LA PRIMA LEGGE DI MOORE

Fu elaborata nel 1964 da Gordon Moore, il co-fondatore di Intel, oggi colosso nel mercato dei microprocessori. Secondo questa legge —> la potenza dei calcolatori raddoppia circa ogni 2 anni. Tale legge delinea una crescita rapidissima, sempre più accelerata che è stata finora confermata —> i calcolatori di oggi sono 1.000 volte più potenti di quelli disponibili fino a 20 anni fa e circa 1.000.000 di volte più potenti di quelli disponibili 40 anni fa.

LA SECONDA LEGGE DI MOORE

L’altra faccia dello sviluppo tecnologico nel settore dei microprocessori è la seconda legge di Moore, secondo la quale —> il costo dello sviluppo di un circuito integrato raddoppia ad ogni nuova generazione di microprocessori. Questo spiega perché pochissime imprese sono in grado di progettare nuovi microprocessori per il microcalcolatore —> infatti non più di 3-4 imprese dominano il mercato dei microprocessori, una di esse (la Intel) ne copre circa il 90%.

1.7 IL MODELLO CLOUD COMPUTING

VIRTUALIZZAZIONE DELLE INFORMAZIONI

La possibilità di realizzare architetture virtuali ha determinato, negli ultimi anni, la rinnovata tendenza verso la centralizzazione. Mentre gli anni ‘90 avevano visto lo snellimento delle apparecchiature hardware sostituendo i macro-calcolatori con i micro- calcolatori, i primi anni 2000 sono caratterizzati dal ritorno dei macro-calcolatori nei centri di calcolo più avanzati.

CLOUD COMPUTING

La fornitura di servizi cloud-computing è concentrata in poche imprese, che però offrono un’ampia gamma di funzioni ai propri clienti, grazie a grandi infrastrutture di calcolo distribuite. Il concetto di nuvola (cloud) viene quindi ad assumere anche un significato più specifico, che mantiene l’idea dell’irrilevanza dello spazio fisico, ma denota i servizi informatici offerti da un particolare soggetto e l’infrastruttura con la quale quei servizi vengono resi.

MODELLO CLOUD —> Vantaggi:

  • Accesso ai propri dati in ogni parte del mondo;
  • Garanzie di sicurezza, recupero e continuità;
  • Utilizzo di infrastrutture hardware e software sempre affidabili.

Svantaggi:

  • Rischi per la Privacy;
  • Perdita del controllo sul proprio sistema da parte degli utenti.

1.8 I CALCOLATORI QUALI MACCHINE ELETTRONICHE DIGITALI

Le caratteristiche principali del moderno calcolatore sono 4:

  • I calcolatori sono digitali; elettronici; programmabili; universali. Uno dei fenomeni più importanti e pervasivi del nostro tempo è stato il passaggio dall’analogico al digitale. Si tratta di una trasformazione tecnologica che riguarda tutti, anche se in molti ne hanno una conoscenza limitata.

DATO INFORMATICO —> Caratteristiche:

  1. È riproducibile con assoluta precisione —> la riproduzione è identica all’originale;
  2. È direttamente elaborabile dal calcolatore.

MODULO 2 - ARCHITETTURA DEI CALCOLATORI ELETTRONICI

2.2 HARDWARE E SOFTWARE

IL COMPUTER

Un computer (o calcolatore elettronico) è un dispositivo in grado di eseguire automaticamente sequenze di operazioni aritmetiche o logiche. La capacità dei computer di eseguire set di operazioni generalizzate, chiamate programmi, consente loro di svolgere un'ampia gamma di attività. La maggior parte dei computer moderni basa il suo funzionamento sull' architettura di von Neumann , descritta nel 1945 da von Neumann, sulla scorta di quanto teorizzato dalla macchina di Turing. Un computer basato su questa architettura è detto anche modello di von Neumann o computer a programma memorizzato.

HARDWARE E SOFTWARE

I primi computer erano in grado di svolgere una sola funzione: erano costruiti fisicamente per quello, e il “programma” che doveva svolgerla era integrato direttamente nella costruzione del sistema. Il risultato era che ogni computer aveva una destinazione specifica: se era stato costruito per fare somme e sottrazioni non poteva essere utilizzato per gestire i dati di una rubrica o scrivere dei testi. I computer attuali, invece, vanno oltre questo limite e offrono una versatilità applicativa che consente di utilizzarli ormai in ogni aspetto della nostra vita, dal lavoro al divertimento, e questo grazie al fatto che l'architettura è suddivisa in due parti –-> l' hardware e il software, che interagiscono fra di loro. Quindi tutti i componenti del computer rientrano in una di queste due categorie:

  • L'hardware è l'aspetto fisico del computer, i componenti che possiamo toccare.
  • Il software è l'aspetto non fisico, che permette all'hardware di compiere le operazioni volute dall'utente. Un modo sbrigativo per distinguere i due è che tutto ciò che vediamo quando il computer è spento è hardware, mentre tutto ciò che vediamo sullo schermo è generato dal software.

I TIPI DI HARDWARE:

  • Dispositivi di input;
  • Dispositivi di output;
  • Archiviazione dei dati;
  • Case del computer;
  • Porte dati.

LE PORTE

Esistono numerosi tipi di porte, alcuni delle quali sono state rimpiazzate da altre nel corso degli anni; tuttavia se analizziamo le porte presenti sul case di un PC, le principali sono:

  • Porta seriale;
  • Porta parallela;
  • Porta SCSI;
  • Porta PS/2;
  • USB —>^ la porta universale, la più diffusa, sostituisce tutte le altre menzionate;
  • Porta Ethernet —>^ consente di connettersi a una rete locale o a internet
  • Porte VGA, DVI, HDMI, Display port —>^ per connettere la scheda video a un Monitor
  • Porta FireWare —>^ sviluppata da Apple

2.4 TASTIERA, MOUSE E DISPOSITIVI DI PUNTAMENTO

TASTIERA

La tastiera è uno dei dispositivi di input primari di un computer ed è destinata all'inserimento manuale di dati, numerici o alfanumerici, nella memoria del computer e al controllo del computer stesso. È simile a quella delle macchine per scrivere elettriche, ma con alcuni tasti aggiuntivi. La tastiera può essere incorporata nell'unità centrale del computer, come nei computer portatili, o essere una periferica esterna come nei comuni desktop o workstation. Può anche essere virtuale, apparendo direttamente sullo schermo del dispositivo, soluzione adottata prevalentemente su dispositivi touchscreen come smartphone e tablet.

MOUSE E DISPOSITIVI DI PUNTAMENTO

Il mouse è un dispositivo di puntamento che rileva un movimento relativo a una superficie piana, cioè lo spostamento di un puntatore grafico sullo schermo per controllare e gestire l'interfaccia utente grafica. Il mouse venne ideato da Douglas Engelbart del Stanford Research Institute che lo brevettò nel 1967. In questa famiglia rientrano:

  • Mouse meccanico;
  • Mouse ottico o laser —> aveva un chip e un sensore ottico e Led di illuminazione
  • Trackball —> la sfera viene azionata con due dita
  • Mouse senza^ filo ;
  • Touchpad e Joystic —> utilizzati nei videogiochi.

2.5 MEMORIE DI CALCOLO E MEMORIE DI MASSA

MEMORIA DI CALCOLO

In un computer è la memoria coinvolta nelle operazioni di esecuzione delle istruzioni di programma. È indicata come memoria principale o memoria primaria per differenziarla dalla memoria secondaria o memoria di massa. Questa memoria viene realizzata con tecnologie a semiconduttore nella forma di circuiti integrati a base di silicio. Sono disponibili vari tipi di memorie primarie, a seconda della funzione svolta e delle loro caratteristiche peculiari:

  • RAM —> random access memory, dove vengono caricati I dati da elaborare
  • ROM —> memoria permanente non volatile
  • EPROM —> memoria rom, che può essere cancellata e riprogrammata a seconda delle condizioni.

MEMORIE DI MASSA

La cosiddetta memoria di massa costituisce l'archivio permanente dei dati leggibili e scrivibili dal computer. Di fatto, la caratteristica principale della memoria di massa è la non volatilità, ovvero la possibilità di memorizzare in modo permanente i dati. Questi vengono memorizzati nei dispositivi di memoria di massa sotto forma di file, e possono essere file di programma (che possono essere eseguiti nel computer) o file di dati (che contengono informazioni come testi, immagini ecc.).

I SUPPORTI PER LE MEMORIE DI MASSA

I supporti per le memorie di massa comprendono numerose tipologie e tecnologie che negli ultimi decenni hanno avuto una notevole evoluzione per garantire l'archiviazione di quantità sempre maggiori di dati. I principali sono:

  • Unità a disco rigido;
  • Unità a disco floppy —> sottile disco magnetico flessibile
  • Dischi ottici —> un disco piatto e sottile in genere di policarbonato trasparente contenente all'interno un sottile foglio metallico, di alluminio, su cui vengono registrate e poi lette le informazioni tramite un raggio laser.
  • Unità a nastro —> era un tipo di periferica che utilizzava il nastro magnetico come memoria di massa.
  • Unità a stato solido e unità flash —> basate su semiconduttore, che utilizza memoria allo stato solido, in particolare memoria flash, per l'archiviazione dei dati.
  • Stampante meccanica;
  • Stampante a matrice di punti;
  • Stampante a getto di inchiostro;
  • Stampante a subliminazione di inchiostro;
  • Stampante laser;
  • Stampante Led.

STAMPA 3D

La stampa 3D è stata inventata da Chuck Hull nel 1984, ma è negli ultimi anni che ha iniziato ad affermarsi su larga scala, soprattutto in ambito industriale. Le stampanti 3D partono dal modello digitale di un oggetto e lo riproducono strato dopo strato mediante tecniche additive utilizzando materiali di vario tipo a seconda delle tecnologie utilizzate. I metodi più diffusi nella realizzazione di stampe 3D sono:

  • La modellazione a deposizione fusa (FDM) in cui vengono depositati strati a partire da un filamento di materiale plastico sciolto, che viene fatto in seguito indurire;
  • La sinterizzazione laser selettiva (SLS) in cui vengono utilizzati strati di polvere metallica o plastica, fusa dal laser in modo selettivo sullo strato sottostante;
  • La stereolitografia (SLA) in cui viene usata una resina liquida fotosensibile, fatta indurire dal laser o da una fonte di luce ultravioletta. Le applicazioni della stampa 3D hanno iniziato a diffondersi in tutti i campi in cui è utile generare prototipi tridimensionali (design, industria, architettura, scultura artistica, paleontologia) e più recentemente nel campo delle biotecnologie.

2.7 SCANNER E SCHEDE DI ESPANSIONE

SCANNER

Lo scanner è stato introdotto nel 1957 da un team guidato da Russell Kirsch presso l'Ufficio Nazionale degli Stati Uniti d'America (ora Istituto Nazionale di Standard e Tecnologie). Lo scanner svolge una funzione esattamente opposta a quella della stampante nel senso che consente di acquisire in modalità ottica documenti stampati, fotografie o diapositive, di interpretarle come un insieme di pixel e ricostruirne la copia fotografica sotto forma di immagine digitale.

Questa immagine può quindi essere salvata come un file nel computer e successivamente rielaborata con programmi di fotoritocco o, nel caso di una scansione di un testo, convertita in un documento di testo tramite un programma di riconoscimento ottico dei caratteri.

SCHEDE DI ESPANSIONE

La categoria delle periferiche comprende anche altri componenti che spesso sono ormai parte integrante della scheda madre di computer e altri dispositivi simili. Le schede di espansione sono schede elettroniche non comprese nella dotazione standard di un computer e che, una volta installate, ne espandono le funzionalità. Anche se i progressi degli ultimi decenni sulla miniaturizzazione dei componenti hanno consentito di integrare molte di queste periferiche direttamente nella scheda madre, esiste sempre la possibilità, soprattutto nei computer desktop che hanno più spazio a disposizione, di poter aggiungere o potenziare le funzionalità del sistema.

2.8 TIPI DI COMPUTER, PC E DISPOSITIVI MOBILI

CLASSIFICAZIONE DEI COMPUTER

I computer possono essere classificati in diversi modi. La classificazione più pratica è quella per dimensione e capacità di calcolo:

  • Supercomputer —> progettati per ottenere capacità di calcolo con un numero di cifre, dette bit, estremamente elevate rispetto a quelle dei calcolatori base, presenti prima della realizzazione della macchina superiore che si sta realizzando.
  • Mainframe —> è un tipo di computer caratterizzato da prestazioni di elaborazione dati di alto livello e di tipo centralizzato, opposto dunque a quello di un sistema distribuito come un Computer cluster.
  • Minicomputer —> elaboratore di piccole dimensioni.
  • Personal computer —> è un qualsiasi computer che si presti all'utilizzo proprio personale e alla personalizzazione da parte dell'utente nell'uso quotidiano.

TIPI DI PERSONAL COMPUTER:

  • Computer desktop;
  • Computer portatile;
  • Notebook e laptop;
  • Palmtop PC;
  • Notebook;
  • Tablet;
  • Console videogiochi.

RICERCA SEQUENZIALE DELLE INFORMAZIONI, SECONDA VERSIONE —>

Correzioni da apportare al primo algoritmo Input —> Un elenco ordinato di abbonati al telefono; il nome dell’abbonato da cercare Output —> Il numero di telefono dell’abbonato cercato Algoritmo —> Si procederà che:

  • Si ponga l’ultimo nome letto uguale a “” (si va a definire il nostro elenco);
  • Finchè l’ultimo nome letto è diverso da quello cercato e non si sia raggiunta la fine

dell’elenco, si ripeta l’operazione che:

  • (^) Si legga il nome dell’abbonato successivo ; - Si produca in output il numero di telefono accanto all’ultimo nome letto.

RICERCA SEQUENZIALE, TERZA VERSIONE —>

Algoritmo —> Si procederà che:

  • Si ponga l’ultimo nome letto uguale a “” (si va a definire il nostro elenco);
  • Finchè l’ultimo nome letto è diverso da quello cercato e non si sia raggiunta la fine

dell’elenco, si ripeta l’operazione che:

  • (^) Si legga il nome dell’abbonato successivo (che diventa l’ultimo nome letto); - Se l’ultimo nome letto è uguale al nome da cercare, si produca in output il

numero di telefono accanto all’ultimo nome letto;

- Se l’ultimo nome letto è diverso dal nome da cercare, si produca in output la

scritta “il nome cercato non compare nell’elenco”

RICERCA SEQUENZIALE, TERZA VERSIONE (DIAGRAMMA DI FLUSSO)

eqquenziale. sione ma di flusso)

3.4 L’EFFICIENZA E LA PRECISIONE DEGLI ALGORITMI

EFFICIENZA ALGORITMICA —> la capacità di giungere all’output con il minor

numero di passi

Ricerca binaria (versione ricorsiva) —> si esegue l’algoritmo nuovamente all’interno dell’algoritmo stesso Input: Un nome Y dell’abbonato cercato; una lista ordinata X di nomi di abbonati, ciascuno affiancato dal relativo numero di telefono Output: Il numero di telefono dell’abbonato cercato Algoritmo: Si procederà che:

  • Se la lista da esaminare non è vuota:
    • (^) Si legga il nome W dell’abbonato che si trova alla metà della lista X;
    • (^) Se il nome Y dell’abbonato è uguale a W, allora si produca in output il numero di telefono di W
    • (^) Se il nome Y dell’abbonato cercato segue W nell’ordine alfabetico, allora si esegua l’algoritmo (ricerca binaria) applicandolo all’abbonato da cercare Y e alla seconda metà della lista X;
    • (^) Se invece il nome Y dell’abbonato cercato precede W nell’ordine alfabetico, allora si esegua l’algoritmo (ricerca binaria) applicandolo all’abbonato da cercare Y e alla prima metà della lista X.
  • Se invece la lista da esaminare è vuota, si procederà che:
    • (^) Si produce in output la scritta «il nome cercato non compare nell’elenco»

RICERCA BINARIA RICORSIVA: DIAGRAMMA DI FLUSSO

binaria

ma di flusso

INDIVIDUAZIONE DEL MINIMO FATTORE

Input: Un numero da esaminare; Output: L’indicazione che si tratta di un numero primo o l’indicazione del più piccolo divisore intero del numero in esame; Algoritmo: Si procederà che:

  • Il valore uguale del divisore sia eguale a 1;
  • Finché la divisione da un risultato diverso da 0 e il quadrato del divisore è inferiore al numero esaminato: - (^) Si pone come divisore il successore del divisore presente (e cioè in altri termini, si aggiunga 1 al valore del divisore); - (^) Si divida il numero in esame per il divisore cosi calcolato;
  • Se invece il resto dell’ultima divisione è 0 si annoti che il divisore è un fattore del numero in esame;
  • Se invece il quadrato del divisore è superiore al numero in esame, allora si annoti che il numero in esame è un numero primo.

3.6 I LINGUAGGI DI PROGRAMMZIONE

Agli albori dell'informatica, la scelta dei programmatori era molto limitata. Chi volesse governare un calcolatore doveva utilizzare direttamente il linguaggio macchina —> Di conseguenza, i programmi dovevano consistere delle sole istruzioni atomiche proprie al calcolatore impiegato (cioè quelli a disposizione dell'hardware di quel calcolatore). Queste istruzioni prescrivono semplici operazioni concernenti numeri binari per poter trasferire (copiare) nella unità centrale un numero registrato in una certa cella di memoria, per poi poter sommare due numeri, confrontarli, ecc.

PROGRAMMA JAVA SCRIPT

JavaScript è un linguaggio di programmazione che gli sviluppatori utilizzano per realizzare pagine Web interattive. Le funzioni di JavaScript possono migliorare l'esperienza dell’utente nel sito Web: dall'aggiornamento dei feed dei social media fino alla visualizzazione di animazioni e mappe interattive. JavaScript è generalmente classificato come un linguaggio di scripting o un linguaggio interpretato. Il codice JavaScript viene interpretato, cioè tradotto, direttamente nel codice del linguaggio macchina sottostante da un motore JavaScript.

LA COMPILAZIONE DEL SOFTWARE —>

INTERPRETAZIONE DEL SOFTWARE

Con l’interpretazione, il programma sorgente è tradotto in un linguaggio macchina, istruzione per istruzione, con immediata, e contestuale, esecuzione di ogni istruzione. A differenza della compilazione, l’interpretazione non da luogo ad una versione permanente in linguaggio macchina —> per rieseguire il software bisogna interpretarlo nuovamente. In linea di massima, qualunque linguaggio di programmazione potrebbe essere tanto interpretato quanto compilato; tuttavia le due tecniche comportano vantaggi e svantaggi.

  • Il principale vantaggio della compilazione è la maggiore velocità d'esecuzione del

programma compilato rispetto al programma interpretato.

  • Il principale vantaggio dell'interpretazione invece riguarda la correzione e la

modifica del programma —> è possibile modificare il programma interpretato ed eseguirlo immediatamente, così da verificare l'effetto delle modifiche apportate, mentre la modifica del programma compilato richiede la correzione del programma sorgente e una nuova compilazione. pt t La compilazione del softwareLa compilazione del software

TIPOLOGIE DEL SOFTWARE

Sotto il profilo della funzione, si possono distinguere tipologie di software come:

  • Software di sistema;^ (per le informazioni di base)
  • Software per la programmazione; (per realizzazione di programmazioni informatiche)
  • Software applicativo^ (I programmi che svolgono le funzioni di cui l’utente ha bisogno) Sotto il profilo del loro utente, i software si possono distinguere in:
  • Pacchetti standardizzati; (che rispondono all’esigenze di vari utenti)
  • Software su misura. (E quindi fatti su richiesta di uno o più utenti)

3.8 LO SVILUPPO DELLA PROGRAMMAZIONE SOFTWARE

LA PROGRAMMAZIONE PROCEDURALE

Secondo il modello tradizionale, il calcolatore è un "utile idiota", il fedele esecutore di un algoritmo concepito dall'uomo, ed espresso in un programma informatico. Questo riceve in input il programma che esprime l'algoritmo, accompagnato dai relativi dati, esegue l'elaborazione, consegna i risultati, e resta quindi in attesa di un nuovo input. Il calcolatore si limita quindi a elaborare i dati secondo il programma (dopo aver tradotto dati e programmi nel suo linguaggio macchina), e a consegnare il risultato dell'elaborazione. Oggi chi si accinge a sviluppare un programma informatico non è più quello che, provvede da solo a tutte le proprie necessità, costruendo tutto quello di cui ha bisogno. Ormai il mondo dell'informatica è un mondo popolato, dove coesistono numerosi prodotti software in grado di rispondere a gran parte delle esigenze, e dove, molti problemi si possono risolvere solo grazie alla cooperazione e coordinazione dei sistemi informatici esistenti, usando strumenti già disponibili. Lo sviluppo di un sistema software consiste nella creazione di un ambiente nel quale i diversi oggetti (possibilmente aggregati in oggetti di maggior dimensione) possano interagire, e poi nella definizione di ciascun oggetto, specificandone l'interfaccia verso l'esterno (i messaggi che emette e accetta) e i programmi e dati che contiene. Se pensiamo alla creazione di un videogioco, il programmatore, oltre a creare il paesaggio del videogioco, ha specificato le diverse classi di personaggi che vi partecipano, ciascuna delle quali è caratterizzata da regole di comportamento in funzione dei messaggi che può ricevere da altri oggetti (es. i colpi ricevuti, i premi vinti), e ognuna è dotata di certi attributi (es. il numero di colpi a disposizione, o il livello di potenza).

MODULO 8 - INTERNET ED IL WORLD WIDE WEB

8.2 L’EVOLUZIONE DI INTERNET: LA RETE ARPANET

LE ORIGINI: LA RETE ARPANET

La formazione di Internet si è compiuta nell'arco di pochissimi anni. Internet ha infatti determinato l'accelerazione delle dinamiche economiche e sociali, ma ha innanzitutto applicato questa accelerazione a sè stessa: ogni tecnologia, conoscenza o esperienza inerente alla rete si è immediatamente diffusa attraverso la rete, diventando subito la base per nuove conoscenze ed esperienze, anche queste suscettibili di immediata diffusione, e quindi di fornire la premessa per ulteriori progressi. ARPANET, fu una rete di computer studiata e realizzata nel 1969 dalla DARPA, l'agenzia del Dipartimento della Difesa degli Stati Uniti, responsabile dello sviluppo di nuove tecnologie ad uso militare, di cui anche gli universitari potevano fare uso. Da questa rete, creata per collegare due università americane e utilizzata solo in seguito a scopi militari, si originò a partire dal 1983 l'attuale rete Internet. ARPANet adottava la tecnica della commutazione a pacchetti, un nuovo modo di utilizzare le linee di comunicazione, che rappresentava un fondamentale progresso rispetto alle tecnologie adottate in precedenza (es. collegamenti telefonici o via radio). L'ordinaria rete telefonica utilizzava invece la tecnica della commutazione di linea —> una linea telefonica rimaneva a disposizione della sola comunicazione tra i due telefoni collegati, per tutta la durata della chiamata. In questo modo le capacità della linea erano sfruttate poco, per i soli dati inviati nel corso della chiamata (le parole pronunciate dalle due persone, o i dati inviati tramite un modem sulla linea telefonica).

8.3 I PROTOCOLLI TCP-IP (suite di protocolli legati alla rete Internet)

ARPANet adottava la tecnologia della commutazione a pacchetti, ma era ancora una singola rete. Lo sviluppo di Internet richiedeva che si sviluppasse un modello di "architettura di rete aperta", cioè di una meta-architettura, che consentisse il collegamento tra reti diverse, ciascuna delle quali potesse rimanere autonoma nelle proprie scelte organizzative e tecnologiche. Questa indifferenza rispetto ai contenuti trasmessi costituisce la neutralità della rete (network neutrality), che rappresenta innanzitutto un'importante garanzia di innovazione decentrata: la rete può essere usata per qualsiasi nuova soluzione tecnologica o nuovo modello economico, e la sua organizzazione non impone vincoli agli utenti. La neutralità della rete ha inoltre implicazioni sociali e politiche: comporta l'assenza di discriminazioni rispetto al contenuto del messaggio trasmesso e rispetto alla natura del mittente.