Informatica

Materie:Appunti
Categoria:Informatica

Voto:

2.5 (2)
Download:162
Data:06.10.2006
Numero di pagine:10
Formato di file:.doc (Microsoft Word)
Download   Anteprima
informatica_9.zip (Dimensione: 10.42 Kb)
trucheck.it_informatica.doc     49.48 Kb
readme.txt     59 Bytes


Testo

APPUNTI DI INFORMATICA I
1.1 L’ELABORAZIONE DELL’INFORMAZIONE E I SUOI STRUMENTI
L’informazione puт essere indicale (il gesto, la parola pronunciata, la parola scritta stanno per la cosa indicata) ma anche di tipo linguistico-materiale che consente di riferirci alle cose senza che essi siano presenti. Tuttavia a volte si richiede un elaborazione dell’informazione (es. nel caso di misurazione di un oggetto, si sostituiscono delle misure come fedeli sostituti delle cose misurate). Il vantaggio dell’elaborazione dell’informazione rispetto al trattamento diretto delle cose и evidente : l’elaborazione dell’informazione puт essere condotta a tavolino e puт essere realizzata indipendentemente dalla natura delle cose cui l’informazione и riferita (2+2 и sempre uguale a 4 sia che addizioniamo mele, sia che queste siano portaerei).
Quando il problema che si deve affrontare и di grande complessitа oppure si ha bisogno di una rapiditа nell’elaborazione dell’informazione и possibile avvalersi di :
• strumenti formali, che consentono di ricavare informazioni o conclusioni da altre entitа di informazioni. (es. sapendo che Socrate и un uomo e che gli uomini sono mortali, sappiamo che anche Socrate и mortale) ;
• strumenti materiali, che materializzando l’informazione ne facilitano l’elaborazione (es. mappamondi, modelli in scala di sistemi fisici).
Gli strumenti di cui l’uomo oggi si avvale per l’elaborazione automatica dell’informazione appartengono agli strumenti materiali. Giа nell’antichitа l’uomo faceva uso di abachi e pallottolieri. Poi sono state inventate nel XVII secolo delle prime calcolatrici meccaniche, dispositivi a ruote dentate che consentivano di eseguire operazioni aritmetiche elementari in modo meccanico. Nel corso del XIX secolo invece vengono create dei dispositivi in grado di memorizzare sia un insieme di dati che un insieme di operazioni e di eseguire autonomamente tali operazioni in successione operando sui dati. Intorno al 1920, quando furono introdotti i primi calcolatori elettromeccanici, e al 1945 in cui furono introdotti i primi calcolatori elettronici ci si chiese il modo con cui doveva essere strutturato un dispositivo di applicabilitа generale e come dovrebbero essere rappresentati su di esso i dati su cui operare e le istruzioni di cui il programma и costituito.
1.1.1 LA RAPPRESENTAZIONE DEI DATI : CALCOLATORI ANALOGICI E CALCOLATORI DIGITALI
La modalitа di rappresentazione digitale и una rappresentazione per la quale ogni dato viene codificato impiegando entitа distinte individualmente e organizzate in modo opportuno (es. negli abachi i numeri da addizionare, sottrarre era costituito da oggetti elementari, il cui numero rappresentava il dato da elaborare). Essa и detta digitale perchй trova le sue origini nel conteggio effettuato utilizzando le dita delle mani.
La rappresentazione analogica и basata su una analogia diretta tra i valori della grandezza adottata e i dati da rappresentare (es. in una rappresentazione basata su segnali elettrici, ogni dato numerico и codificato mediante un valore di tensione elettrica del segnale)
La rappresentazione che oggi si и affermata и di tipo digitale. Ciт permette ai moderni calcolatori di rappresentare dati differenti cambiando il codice ma mantenendo la stessa configurazione.
(aggiungere)
1.1.2 LA RAPPRESENTAZIONE DELLE ISTRUZIONI : LA MACCHINA DI VON NEUMANN
Attraverso la macchina di Von Neumann proposta negli anni ’40 uno stesso dispositivo puт essere impiegato sia per memorizzare dati, sia per memorizzare istruzioni.
La sua architettura и costituita da un sottosistema di memorizzazione, da:
• un sottosistema di elaborazione : esso и detto CPU (Central Processing Unit, unitа centrale di elaborazione). La CPU opera sequenzialmente :
1. legge dalla memoria una istruzione e i dati su cui l’istruzione deve operare ;
2. esegue tale istruzione ;
3. scrive nella memoria se necessario il risultato dell’esecuzione.
Questo ciclo si ripete finchй tutte le istruzione di cui il programma и composto sono state eseguite.
• un sottosistema di interfaccia : serve per trasmettere alla macchina i dati e le istruzioni da eseguire ; per trasmettere al mondo esterno il risultato delle elaborazioni effettuate. La macchina di Von Neumann и detta a programma memorizzato (si contrappone ai precedenti sistemi a programma cablato) perchй le istruzioni da eseguire sono caricate sulla memoria attraverso un dispositivo di interfaccia. Ciт fa si chй il programma non sia piщ parte della componente hardware del sistema ma integralmente software. Proprio per questo и nata l’algoritmica, quella disciplina che mira ad individuare un insieme di istruzioni che consentono la soluzione di un problema secondo parametri vari come l’efficienza in esecuzione e la quantitа di memoria richiesta. L’individuazione di una soluzione per un problema e l’attuazione di tale soluzione sono attivitа distinte : la prima viene svolta attraverso esseri umani, la seconda dai calcolatori che attuano soluzione trovate da esseri umani.
1.1.3 Il significato di informazione
L’informazione puт essere intesa come varietа e riduzione di incertezza : essa deve poter consentire di identificare delle differenze. Anche se il supporto si trova in una configurazione deve poter assumere almeno una seconda configurazione. Prima di osservare il supporto ci si trova quindi in uno stato di incertezza circa la sua effettiva configurazione. Va detto che i calcolatori elaborano in senso sintattico le informazioni : una volta stabilito che 2+2=4 spetta all’essere umano associare un significato a questi simboli, decidendo a che cosa si riferiscono.

→ I BIT
La quantitа di informazioni che si ricavano selezionando 1 elemento da un insieme formato da 2 elementi и chiamata BIT (unitа elementare di informazione). La risposta “si” oppure “no” a una domanda porta 1 bit di informazione, la risposta a due domande che fornisce 4 alternativa si-si, si-no, no-si, no-no porta 2 bit di informazione.
→ CHE COSA E’ IL CALCOLATORE ? E IN TERMINI INFORMATICI L’INFORMAZIONE ?
Il calcolatore и un dispositivo che elabora informazione. L’informazione intesa in termini informatici и costituita dalle istruzioni di cui i programmi sono costituiti e dai dati mediante i quali i programmi vengono elaborati.
CAPITOLO 2 : ALGORITMI E PROGRAMMI
Ogni problema di elaborazione и caratterizzato da un insieme di dati di partenza e da un risultato ricercato. In base ai dati che si dispone и possibile fornire una soluzione al problema. Nell’informatica la conoscenza di come risolvere il problema и affidata all’individuo, mentre l’esecuzione della soluzione и affidata al calcolatore. In particolare :
L’utilizzo del computer (calcolatore) nella esecuzione di soluzioni и motivato dalla notevole velocitа di esecuzione dei calcolatori e dalla loro elevata ripetibilitа, cioи dalla possibilitа di ripetere molte volte la stessa operazione fornendo sempre lo stesso risultato. Per questo il calcolatore possiede un linguaggio che и in grado di interpretare e da un insieme di istruzioni che и in grado di eseguire.
2.1 PROBLEMI E ALGORITMI
Per risolvere un problema attraverso un calcolatore и possibile scomporre il problema in sottoproblemi fino a giungere a problemi elementari (o primitivi), la cui soluzione corrisponde ad un’azione elementare che puт essere direttamente compiuta dall’esecutore. Risolvere il problema di partenza equivale a risolvere un’opportuna successione di problemi piщ semplici.
→ SOLUZIONE EFFETTIVA : и una soluzione che l’esecutore и in grado di interpretare, suddividere in azioni che vengono poi eseguite in tempo finito. Allorchй la soluzione non и definitiva viene scomposta in sottoproblemi che poi vengono eseguiti. Le soluzioni effettive per esecutori (tenendo presente i caratteri dell’esecutore) sono chiamate algoritmi. Quando si vuole sottolineare il fatto che l’esecutore и un calcolatore, gli algoritmi sono detti programmi, mentre il linguaggio formale di cui ci si avvale nella loro descrizione viene chiamato linguaggio di programmazione.
In generale un insieme di problemi и una procedura effettiva quando :
• tutti i problemi dell’insieme sono elementari ;
• и fissato l’ordine di soluzione dei problemi ;
• и specificato il modo in cui un problema utilizza i risultati dei problemi che lo precedono.
Non appena il problema viene scomposto in sottoproblemi si puт associare a ognuno di essi una determinata azione.
→ PROBLEMA ELEMENTARE : aspetto descrittivo delle procedure effettive ;
→ AZIONE ELEMENTARE : aspetto esecutivo delle procedure effettive.
→ CARATTERI DELL’ESECUTORE :
a. il linguaggio che l’esecutore и in grado di interpretare definito in termini formali (una stessa azione produce gli stessi risultati).
b. l’insieme delle azioni che l’esecutore и in grado di compiere deve essere definito. Tali azioni devono essere deterministiche nel senso che una stessa azione deve produrre risultati sempre uguali.
c. devono essere definite le regole di associazione tra i costrutti del linguaggio e le azioni (caratterizzazione semantica dell’esecutore).
2.1.1 Alcuni esempi di algoritmi
→ PROBLEMA 1 : DETERMINARE IL MAGGIORE DI DUE NUMERI INTERI, x e y
Se consideriamo elementare il calcolo della differenza fra due numeri e conseguente valutazione del segno, и possibile risolvere il problema tenendo presente che un numero и maggiore di un altro se la loro differenza и positiva. La soluzione puт essere in TP questa :
(fase di assegnamento) x:= a - b ; // dove x и una variabile, cioи un contenitore di valori
(predicato) if x > 0 then procedura1 ;
if x < 0 then procedura2 ; // in conseguenza del valore di x viene scelta una delle due azioni
una struttura di questo tipo и detta struttura condizionale
→ PROBLEMI TERMINALI
La scomposizione in sottoproblemi puт essere effettuata sino ad un punto in cui essa include ancora dei problemi non elementari, di cui sia nota una scomposizione elementare. I sottoproblemi in questo caso considerati risolubili sono detti terminali. I problemi terminali si suddividono in :
• elementari : corrispondono alle istruzioni del linguaggio ; vengono risolti direttamente ;
• non elementari : la sua soluzione richiede che sia nota una sua scomposizione in sottoproblemi elementari, le cui azioni vengono poi eseguite ; corrisponde ai sottoprogrammi.
→ SOLUZIONE ITERATIVA
La soluzione iterativa и composta di una struttura iterativa o ciclo (loop) nell’ambito del quale troviamo iterazioni elementari. Viene utilizzato nella descrizione di problemi ripetitivi : “finchй predicato ripetere azione”. L’azione viene quindi ripetuta ciclicamente valutando ogni volta il predicato e passando a risolvere il sottoproblema successivo allorchй il predicato diviene falso.
Esempio :
P1. Trovare il maggiore fra i primi due numeri ;
P2. Finchй ci sono numeri da verificare ripetere il passo P3 ;
P3. Trovare il maggiore fra il nuovo numero da esaminare e il piщ grande trovato in precedenza.
CAPITOLO 3 : ARCHITETTURA DI UN SISTEMA INFORMATIVO
HARDWARE
INTRODUZIONE
Il calcolatore и strutturato in forma gerarchica, cioи da una serie di componenti che interagiscono l’uno con l’altro, ognuno dei quali risulta scomponibile in componenti piщ semplici, che possono essere ulteriormente scomposti fino a raggiungere il livello di dettaglio necessario. Ogni livello и caratterizzato dalla sua struttura, mentre ogni componente dalla sua funzione.
Il calcolatore puт essere utilizzato per :
• elaborare dati provenienti dall’ambiente esterno e fornire ad esso i risultati ottenuti. Poichй i dati e le applicazioni sono molto varie, ogni calcolatore oggi и dotato di :
1. flessibilitа nel calcolo, puт svolgere diversi compiti ;
2. modularitа dell’architettura, ogni componente ha una propria funzione ;
3. scalabilitа dei componenti, ogni componente puт essere aggiornato con uno piщ potente ;
4. standardizzazione dei componenti, per facilitare la sostituzione in caso di malfunzionamenti ;
5. abbattimento dei costi grazie alla produzione su vasta scala dei componenti ;
6. semplicitа di installazione ed esercizio del sistema ;
7. disponibilitа di applicazioni a basso prezzo.
• memorizzazione dati sia per un breve periodo che per un lungo periodo : es. archivi delle banche e delle anagrafe ;
• trasferimento dei dati : il calcolatore deve essere in grado di comunicare con l’ambiente esterno, sia per acquisire dati da elaborare o memorizzare che per trasferire i risultati memorizzati. Le operazioni di trasferimento dei dati - dette operazioni di ingresso/uscita - avvengono attraverso delle periferiche direttamente connesse al calcolatore. Tipiche periferiche di ingresso sono : tastiera, mouse ; schermo e stampante sono esempi di periferiche di uscita. → TRASFERIMENTO DI DATI SU LUNGHE DISTANZE : E’ comunemente chiamato trasmissione dei dati. Puт avvenire attraverso linee telefoniche, grazie alla connessione in rete che puт interessare computer a breve o lunga distanza ;
• operazioni di controllo : ogni calcolatore possiede un’unitа di controllo che coordina le risorse del calcolatore, al fine di svolgere le operazioni corrispondenti all’esecuzione dei comandi indicati dall’utente. Questa funzione puт essere verificata dall’utente stesso, impartendo comandi all’elaboratore.
3.1 ARCHITETTURA DI RIFERIMENTO
Il componente principale all’interno del calcolatore и la CPU.
→ CPU (Central Processing Unit o unitа di elaborazione centrale) : ad essa sono demandate operazioni di controllo, coordinamento e di elaborazione. Vengono realizzate con tecnologie microelettroniche e per questo vengono chiamate microprocessori o processori, termini che sono diventati sinonimi di CPU.
Il computer и dotato anche di una memoria.
→ MEMORIA : ospita sia i dati che servono per l’elaborazione della CPU, sia i dati trasferiti attraverso le unitа di ingresso/uscita. La memoria puт essere vista come un’insieme di celle adiacenti ognuna identificabile in un indirizzo (memori address), in cui possono essere scritti o letti dati in formati binario.
CPU, memoria ed altre periferiche comunicano tra loro attraverso il bus.
→ BUS : и una linea su cui sono contemporaneamente connesse le unitа del calcolatore e che consente il trasferimento di dati tra tali unitа. In un primo momento questo potrebbe sembrare difficile da gestire. Va tuttavia considerato che la soluzione di questo problema va ricercato nella CPU cui oggi и demandato il compito di gestire l’intero sistema. Il ruolo della CPU per questo и detto master, mentre quello delle altre periferiche и detto slave - queste non possono accedere autonomamente al bus -. Infatti ogni trasferimento di dati attraverso il bus avviene sotto la supervisione della CPU che identifica la sorgente e la destinazione dei dati (mediante il loro indirizzo) evitando qualsiasi collisione fra dati di competenza delle diverse periferiche.
→ I PREGI DEL BUS :
1. semplicitа : esiste una sola linea di connessione qualunque sia il numero di dispositivi collegati ;
2. estendibilitа : nuovi dispositivi possono essere aggiunti in modo molto semplice e con modifiche marginali al sistema complessivo, connettendoli tramite un’interfaccia al bus, senza influenzare l’hardware preesistente ;
3. standardizzabilitа : diventa possibile definire delle normative che consentano a costruttori diversi di creare delle periferiche che interagiscono tra loro
→ I DIFETTI DEL BUS :
1. lentezza : l’uso in mutua esclusione del bus inibisce almeno parzialmente la parallelizzazione delle operazioni di trasferimento di dati tra dispositivi ;
2. limitata capacitа : al crescere del numero di dispositivi una sola linea comporta un limite alla capacitа di trasferire dati ;
3. sovraccarico della CPU : l’unitа centrale viene coinvolta in tutte le operazioni di trasferimento di dati, anche quella tra periferiche che non la riguardano direttamente.


Esempio