Docsity fondamenti di informatica arte e mestiere PDF

Title Docsity fondamenti di informatica arte e mestiere
Author Zineb Mounjali
Course Informatica
Institution Università degli Studi di Milano-Bicocca
Pages 31
File Size 422 KB
File Type PDF
Total Downloads 1
Total Views 145

Summary

Download Docsity fondamenti di informatica arte e mestiere PDF


Description

fondamenti di informatica.arte e mestiere Informatica Università degli Studi di Messina 30 pag.

Document shared on www.docsity.com Downloaded by: zineb1604 ([email protected])

CAPITOLO 1. INTRODUZIONE. CHE COS’È L’INFORMATICA? L’informatica è intesa come scienza della rappresentazione e dell’elaborazione dell’informazione. Il prodotto principale è l’informazione. Essa in quanto disciplina, comprende il modo in cui l’informazione viene elaborata. Da un lato si pone l’accento sull’informazione che spiega il perché l’informatica diventa sempre più parte della quotidianità. Dall’altro lato, sul termine scienza che sottolinea che l’informazione è elaborata in modo sistematico e rigoroso. L’Associacion for Computing Machinery, è la principale organizzazione che riunisce ricercatori informatici. Propone una definizione complessa di informatica: è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione. Il termine algoritmo, in modo informale vuol dire una sequenza precisa di operazioni comprensibili, ed eseguibili con strumento automatico. Il calcolatore elettronico è uno strumento di calcolo potente, la cui potenza permette di gestire maggiori quantità di informazioni. Un algoritmo deve essere comprensibile al suo esecutore. Esiste un legame tra calcolatori e algoritmi, infatti, i calcolatori elettronici sono intesi come esecutori di algoritmi. Gli algoritmi sono descritti tramite i programmi, cioè sequenze di istruzione scritte in un preciso linguaggio, comprensibile al calcolatore. Ciò che fa l’informatico è produrre algoritmi e codificarli in programmi. Il calcolatore esegue i programmi in modo preciso. Una caratteristica fondamentale è l’assoluta precisione. Proprietà degli algoritmi sono la correttezza e l’efficienza. È corretto se perviene alle soluzioni del campito a cui è sottoposto. Sono efficienti quando pervengono alla soluzione in modo veloce usando la minima quantità di risorse fisiche. I linguaggi di programmazione servono per la decodifica degli algoritmi, cioè permettono di scrivere gli algoritmi sotto forma di programmi che possono essere compresi dal calcolatore che ne è l’esecutore. L’esistenza di più linguaggio offre il vantaggio di poter scegliere quello più adatto. Inizialmente, l’uomo comunicava i suoi algoritmi al calcolatore, dovendo imparare l’insieme dei comandi che la macchina era in grado di eseguire. Negli anni Cinquanta, il linguaggio con cui l’uomo comunicava alla macchina gli algoritmi cominciò a perfezionarsi. L’uso principale dei calcolatori consisteva nel risolvere problemi di calcolo numerico. Il primo linguaggio per la programmazione dei calcolatori fu il FORTRAN (FORmula TRANslator), adatto per descrivere l’elaborazione di formule matematiche. Il successivo fu COBOL (Common Business Oriented Language), orientato alle applicazioni gestionali. L’ALGOL 60 (ALGOrithmic Language) appartiene alla categoria basata sullo studio dei principi di programmazione. Appartenenti a questa categoria troviamo: il Pascal, il C, l’Ada. Attualmente lo stile di programmazione è orientato verso oggetti e cerca di mantenere un legame fra gli oggetti che caratterizzano un’applicazione e la loro codifica. Questo ha portato alla nascita dei linguaggi orientati verso gli oggetti. Con Internet sono stati sviluppati nuovi linguaggi permettendo di programmare sistemi su reti di calcolatori, come Java. I più noti sono: LISP, PROLOG E ML (MetaLanguage). Con il termine sistema informatico si indicano gli oggetti diversi tra loro, vanno dal più piccolo calcolatore portatile al sistema informatico multi-utente con grandi quantità di dati e programmi. È un oggetto complesso costituito da più parti che interagiscono fra loro. La prima distinzione è quella tra hardware, cioè i componenti fisici; i software, cioè programmi eseguiti dal sistema. L’hardware è un elaboratore composto da un insieme di elementi funzionali, presenti in ogni calcolatore, variano di numero e caratteristiche. L’unità di elaborazione o processore, indicata spesso come CPU, è la parte del sistema che svolge le elaborazioni e coordina il trasferimento dei dati all’interno del sistema informatico. Il processore ha il compito di interpretare ed eseguire le varie istruzioni da cui i programmi sono composti. La memoria centrale o RAM, utilizzata per memorizzare dati fondamentali per l’elaboratore. La memoria secondaria o memoria di massa, memorizza grandi quantità di dati. Le unità periferiche usate per far comunicare il calcolatore con 1

Document shared on www.docsity.com Downloaded by: zineb1604 ([email protected])

l’ambiente esterno. Le più comuni sono i terminali e le stampanti. Il bus di sistema collega i precedenti elementi funzionali permettendo lo scambio di dati tra di essi. Tutti i precedenti elementi funzionali sono presenti nel personal computer. Esso presenta un corpo (box) contenente l’unità centrale, la memoria centrale e la memoria di massa. Il box è collegato ad una tastiera, ad un mouse e un video. Si tratta di un dispositivo dedicato ad un unico utente. La memoria di massa è costituita da un disco fisso, il quale può contenere molti dati e programmi. Il trasporto fisico tra diverse sedi sono le chiavette USB, memorie flash il cui nome deriva dalla forma di una piccola chiave e dall’uscita del calcolatore in cui vengono inserite; floppy disk raggiunsero notevoli prestazioni sia di capacità di memoria sia di tempo di accesso. I dischi ottici sono basati su tecnologia laser, sono utilizzati sia come memoria di sola lettura sia come memoria di lettura/ scrittura, fanno da supporto dati nel settore multimediale per l’intrattenimento. L’informazione contenuta nella memoria di massa viene chiamata file, è dotato di un nome proprio e contiene dati organizzati in modo differente. Possono contenere, per esempio, i testi. Si è passati da i desktop computer ai tablet PC, ai tablet fino agli smartphone. Le workstation sono dotate di video di grandi dimensioni e alta risoluzione, riescono a servire più utenti contemporaneamente. I mainframe gestiscono centinaia di utenti con molti processori, organizzati in cluster e grandi memorie di massa. Un modo per aumentare la capacità di elaborazione si ottiene mettendo insieme vari calcolatori, i cosiddetti reti di calcolatori. Quest’ultimi sono costituiti da una connessione di più elaboratori tramite i dispositivi dedicati al trasferimento dati. Vengono distinte le reti locali LAN, collegano fra loro i calcolatori che sono tra loro vicini, permettendo così una connessione veloce; le reti geografiche WAN, collegano elaboratori tra loro distanti e la connessione risulta lenta. I calcolatori host comunicano fra loro tramite la rete geografica e con i mini-calcolatori tramite la rete locale. Il software è un sistema informatico classificato come: software di base, adibito alla gestione dell’elaboratore; come software applicativo, dedicato alla realizzazione di precise esigenze applicative. Il suo principale programma è il sistema operativo, il quale gestisce le risorse hardware presenti nell’elaboratore svolgendo funzioni secondo la complessità del sistema. Il sistema operativo di un personal computer, svolge tre azioni: interpreta ed esegue comandi elementari, organizza le risorse della macchina e gestisce l’accesso alla rete a cui è collegato il computer. La complessità del sistema operativo cresce al crescere della complessità del sistema informatico. Nel sistema multi-utente, la gestione delle risorse è complessa in quanto il sistema operativo deve distribuire le varie parti del calcolo ai vari utenti. Inoltre, permette a ciascun utente di poter visionare un sistema di elaborazione “dedicato” a loro, come se gli altri utenti non esistessero. Altro componente dell’architettura software è il sistema di gestione di basi di dati, viene utilizzato per accedere a grandi quantità di dati contenute in archivi e condivide da molti utenti. Il software è responsabile della gestione delle trasmissioni dati e delle reti di calcolatori. I canali di trasmissione trasportano i segnali elettrici, mentre i protocolli di comunicazione garantiscono la corretta comunicazione sugli stessi canali, garantendo la trasmissione dei messaggi fra due elaboratori collegati in rete. I linguaggi di programmazione sono caratterizzati da un proprio ambiente di programmazione, cioè un insieme di strumenti che facilitano la scrittura dei programmi, verificandone la correttezza. Gli ambienti di programmazione hanno aspetti tra loro in comune. L’editor, serve per la costruzione di un file contenente testi; il compilatore opera la traduzione di un programma sorgente in programma oggetto, scritto in un linguaggio eseguibile dall’elaboratore; un interprete esegue il codice sorgente senza tradurlo nel linguaggio macchina; un linker (collegatore), compone i programmi oggetto in un unico programma eseguibile; un controllo dell’esecuzione, ( debugger) elimina gli errori presenti nel programma. Alcuni software si adattano alle funzioni tipiche della quotidianità, vengono indicati come software personale. Tra questi troviamo: sistemi di videoscrittura, consentono di costruire testi e dar loro un 2

Document shared on www.docsity.com Downloaded by: zineb1604 ([email protected])

formato di stampa; le agende elettroniche, memorizzano i programmi di lavoro; gli ipertesti, costruiscono strutture reticolati complesse al cui interno ci sono pezzi di testo come riferimenti, paragrafi. Il sistema intermediale più famoso è WWW world wide web; la posta elettronica, permette lo scambio di messaggi fra utenti collegati alla rete di calcolatori. Gli strumenti di produttività permettono di svolgere compiti di programmazione in modo efficacie. Troviamo: i fogli elettronici, permettono di eseguire l’analisi, la gestione e presentazione dei dati; i sistemi per la gestione di basi di dati, sono sistemi software personali se impiegati in un personal computer per scopi individuali; i browser, tramite cui l’utente accede al web e a tutte le applicazioni disponili in esso. Il cloud computing indica l’evoluzione dei sistemi distribuiti, in cui gli elementi vengono di volta in volta coinvolti nella costruzione di nuovi sistemi. Queste nuvole rappresentano gli ambienti di programmazione dove sviluppare nuove applicazioni, sfruttabili da parte dei professionisti e dagli utenti non professionisti, i quali possono costruire il proprio corredo di applicazioni informatiche. La tecnologia multimediale ha permesso nuove applicazioni. Con questo temine intendiamo la possibilità di rappresentare, gestire e trasferire informazioni provenienti da vari media, percepite dall’uomo tramite la vista e l’udito. Si possono gestire suoni e movimenti meccanici con una coordinazione simile alla realtà. Le applicazioni di tipo numerico sono il punto di partenza del calcolo automatico. Non implicano particolari difficoltà del software, in quanto gli algoritmi da eseguire sono di facile concezione e formulazione. Il settore delle applicazioni gestionali costituisce una parte rilevante dell’informatica. Con l’automazione d’ufficio si assiste allo sviluppo di servizi che migliorano la qualità del lavoro e le interazioni personali tra impiegati che utilizzano sempre di più il calcolatore nella loro quotidianità. La telematica indica l’unione tra informatica e telecomunicazioni. Mette a disposizione grandi quantità di servizi pubblici e la possibilità di distribuzione di qualsiasi applicazione distanti tra loro, più o meno grandi. L’automatizzazione prevedere similitudini, ma anche differenze con l’automatizzazione d’ufficio. In quest’ultimo si producono e gestiscono i documenti; la fabbrica è concentrata alla produzione fisica di manufatti. La robotica è un settore importante tra le applicazioni informatiche. Si tratta di un’attività interdisciplinare, unendo tecniche meccaniche, elettroniche e informatiche. Nell’industria esiste un’attività di progettazione supportata da strumenti informatici come CAD (computer aided design: progettazione assistita dal calcolatore) e CAM (computer aided manufacturing: lavorazione assistita dal calcolatore). Gli elaboratori vengono impiegati per il controllo automatico di un processo industriale. Applicazioni embedded sono definite così in quanto la componente informatica della produzione non è visibile all’utente. Si possono trovare ovunque, negli elettrodomestici, sistemi di assistenza aerea. Con il termine realtà virtuale facciamo riferimento all’uso del calcolatore finalizzato a dare una rappresentazione simulata, ma realistica della vita reale. L’informatica può aiutare i disabili ad interagire con gli altri e con l’ambiente attraverso interfacce multimediali. Possono interagire con le workstation tramite i comandi vocali. Bambini con difficoltà di apprendimento migliorano le loro capacità utilizzando schermi touch screen. Le applicazioni di realtà virtuale permettono di provocare all’utente l’illusione di trovarsi in un ambiente simulato. La realtà aumentata è una sovrapposizione di immagini scaturite dall’elaborazione di immagini riprese dalla realtà, con lo scopo di aumentare il contenuto informatico delle immagini, accostando altre informazioni simulando così una realtà arricchita. Le head-up display, le informazioni sono proiettate davanti il campo visivo dell’utente. 3

Document shared on www.docsity.com Downloaded by: zineb1604 ([email protected])

Le interfacce gestuali, permettono di controllare e interagire con il calcolatore tramite i movimenti del corpo. Si dividono in interfacce TUI basate sul tocco, utilizzano i touch screen; e free form basate su dispositivi che riconoscono la posizione del corpo nello spazio. I dispositivi informatici abbattono le barriere fisiche e intellettuali che condannano il disabile. Una principale raccomandazione è W3C denominata WCAG2, contiene una serie di specifiche interfacce che l’utente segue per semplificare l’azione. Le specifiche sono denominate P ercepibile Operabile Understandable Robusto.

CAPITOLO 2: ARCHITETTURA DI UN CALCOLATORE. L’architettura dei calcolatori è organizzata secondo il modello della macchina di von Neumann. Quest’ultima è costituita da quattro elementi fondamentali: • L’unità di elaborazione, CPU, contiene i dispositivi elettronici in grado di acquisire, interpretare ed eseguire le istruzioni del programma; •

La memoria centrale, contiene le informazioni necessarie all’esecuzione del programma, cioè i dati;



Le periferiche, permettono lo scambio delle informazioni fra l’elaboratore e il mondo esterno. Fanno parte del calcolatore le interfacce di collegamento verso le periferiche. Quest’ultime includono le memorie di massa;



Il bus di sistema, crea il collegamento fra questi elementi funzionali.

L’unità di elaborazione estrae le istruzioni dalla memoria, le decodifica comprendendone il significato e le esegue tramite le funzioni presenti all’interno dell’architettura del calcolatore. Le istruzioni comportano operazioni di elaborazione dell’informazione e operazioni di trasferimento dell’informazione. Nella macchina di von Neumann le fasi di elaborazione si susseguono in modo simultaneo rispetto alla scansione temporale imposta da un orologio di sistema. Durante gli intervalli, una parte dell’unità di elaborazione (unità di controllo) coordina l’esecuzione temporale delle funzioni che verranno eseguite all’interno dell’unità di elaborazione o negli altri elementi funzionale. In un calcolatore, i dati di un programma sono codificate in forma binaria , cioè in sequenza finita di 1 e di 0. L’unità di informazione più piccola è il bit, corrisponde allo stato di un dispositivo fisico interpretato come 1 o come 0. Altra unità è il byte, corrisponde a otto bit. Un calcolatore può elaborare diversi tipi di dati come i numeri, i testi o le immagini. Prendiamo in considerazione la codifica dei numeri naturali, dei numeri interi, dei numeri frazionari e dei numeri reali. Il sistema di numerazione che si utilizza è quello arabico, rappresenta i numeri naturali tramite sequenze di cifre; le cifre sono dieci di conseguenza viene definito sistema in base dieci. Viene definito posizionale perché il significato delle cifre è in funzione della posizione che essa occupa nel numero. Per l’applicazione nei calcolatori hanno importanza le basi 2, 8 e 16; corrispondono al sistema di numerazione binario, ottale ed esadecimale. Il sistema binario ha base 2, le cifre dell’alfabeto sono 0 e 1. Il sistema ottale ha base 8, le cifre dell’alfabeto sono 0, 1, …7. Il sistema esadecimale ha base 16, le cifre dell’alfabeto sono 0,1, …9, A, B, C, D, E, F. I numeri interi includono oltre lo zero e i numeri positivi, anche quelli negativi. Viene rappresentato oltre al valore, anche il segno del numero. Le codifiche binarie di numeri interi sono: la rappresentazione in modulo e segno e la rappresentazione in completamento a 2. Se m bit sono disponibile per rappresentare un intero, la rappresentazione in modulo e segno utilizza il primo bit come bit di segno; per convenzione, 0 indica un numero positivo e 1 un numero negativo. I numeri frazionari sono numeri reali compresi fra 0 e 1. Si rappresentano tramite uno zero, il punto decimale e una sequenza di cifre che rappresentano una frazione di unità. I numeri frazionari possono introdurre approssimazioni, mediante la presenza di un numero illimitato di cifre dopo la virgola. I numeri 4

Document shared on www.docsity.com Downloaded by: zineb1604 ([email protected])

reali sono numeri razionali, dotati di una parte intera e una parte frazionaria. La rappresentazione è in virgola fissa perché il numero fisso di cifre è dedicato alla parte intera e uno a quella frazionaria. Una seconda rappresentazione, in virgola mobile, utilizza la notazione esponenziale per la codifica dei numeri reali. A ciascun numero reale vengono associati due numeri, mantissa e caratteristica. Il calcolo numerico è la disciplina che studia le proprietà dell’esecuzione delle operazioni tramite calcolatore, permettendo di individuare gli errori numerici. Lo standard ISEE 754-1985 rappresenta un moderno calcolatore e linguaggio di programmazione. Lo standard prevede 4 formati della rappresentazione dei numeri reali che differiscono per il numero totale di bit utilizzati. I più diffusi sono lo standard a precisione singola con rappresentazione su 32 bit e quello a doppia precisione con rappresentazione su 64 bit. La rappresentazione in singola precisione prevede l’uso di un bit per il segno, 8 per la caratteristica e 23 per la mantissa. La rappresentazione in doppia precisione usa 11 bit per la caratteristica e 52 per la mantissa. I caratteri di un testo sono codificati tramite sequenze di bit, usando un codice di traduzione. Molto usato è il codice ASCII (american standard code for information interchenge) a 7 bit. Consente di rappresentare fino a 128 caratteri. Quest’ultimi sono classificati in tre categorie: caratteri comando, cioè descrivono codici di trasmissione o di controllo delle stampe; caratteri alfanumerici, descrivono le lettere e le cifre; e i simboli, ne fanno parte i separatori per la punteggiatura e gli operatori aritmetici. Ogni carattere è memorizzato nel calcolatore in un byte. Con il codice ASCII si usano sette bit per il codice e l’ottavo viene ignorato. Durante le operazioni, l0ottavo bit viene utilizzato come bit di parità, posto cioè a 0 o a 1, in modo che il numero di bit posti a 1 in ogni byte sia pari. Così ci si può accorgere di eventuali errori. Le immagini vengono codificate come una sequenza di bit. La digitalizzazione è il passaggio da un’immagine a una sequenza binaria. L’immagine è suddivisa in punti o pixel, ciascuno è codificato con un numero, il quale corrisponde ad un colore. Vengono memorizzate come sequenze di bit lunghe e per interpretarle è necessario conoscere le dimensioni dell’immagine, la risoluzione e il numero di colori o toni di grigio disponibile per ciascun bit. Se un’immagine è codificata per una particolare risoluzione, può essere presentata su un dispositivo a minor risoluzione. La compressione dei dati permette di ridurre la quantità di memoria necessaria per memorizzare le immagini e i tempi di trasmissione ad altri dispositivi. Le tecniche di compressione si distinguono in tecni...


Similar Free PDFs