I principi fondamentali dell'informatica

Materie:Appunti
Categoria:Informatica

Voto:

2.5 (2)
Download:594
Data:14.11.2001
Numero di pagine:8
Formato di file:.doc (Microsoft Word)
Download   Anteprima
principi-fondamentali-informatica_1.zip (Dimensione: 13.89 Kb)
trucheck.it_i-principi-fondamentali-dell-informatica.doc     56.5 Kb
readme.txt     59 Bytes


Testo

I FONDAMENTI
L’informatica é basata sulla precisione e sul rigore, ma anche sulla fantasia: apparentemente questi vocaboli sono antitetici, ma in realtà nell’ambito informatico esiste una forte compenetrazione di un termine nell’altro. Basti pensare al linguaggio cinematografico o al linguaggio che viene adottato per comunicare con qualsiasi tipo di macchina. Nell’informatica esiste un perenne dualismo tra materie umanistiche e scientifiche; come disciplina può essere definita:
• Nuova, se ci si riferisce ai principi di matematica, filosofia e logica che racchiude;
• Antica, se si fa riferimento alla tradizione millenaria nello sviluppo dei suoi concetti.
L’informatica é una vera e propria disciplina: ha un universo di fenomeni di riferimento, si serve di metodologie e strumenti propri di lavoro e produce una serie di concetti e di risultati. Non si tratta di matematica o logica applicata, ma pur importando alcune nozioni da altre discipline ha sviluppato metodologie, strumenti, usi, contenuti di carattere personale. A differenza delle altre, l’informatica é la scienza dell’artificiale, cioè ha per oggetto tutto ciò che non é presente in natura ma che é stato unicamente creato dall’uomo.
Cos’é il calcolatore? Si tratta di una macchina diversa dalle altre, c'é una caratteristica particolare che la rende differente: mentre le macchine generalmente svolgono un compito preciso, il calcolatore non è ideato per svolgere una singola funzione. L’uomo per la prima volta ha creato una macchina universale che, potenzialmente, può svolgere qualsiasi mansione.
La natura si manifesta in diversi livelli di astrazione e di realtà; non é possibile ricostruire un alto livello di realtà a partire dagli elementi fondamentali, ogni cosa ha un proprio livello di astrazione. Quando si studia un elemento o un fenomeno non si può parlare propriamente di realtà perché ne esistono diversi piani e non tutti vengono sempre analizzati. Per esempio: il gioco degli scacchi utilizza diversi livelli di astrazione che quasi mai vengono contemplati contemporaneamente da entrambi i giocatori. Nell’ambito informatico si trovano 4 livelli di astrazione ed ognuno nasce da quello che lo precede:
1. Circuitale (resistenza, induttanze, condensatori, generatori di tensione);
2. Logico;
3. Programma;
4. Sistematico (basato su leggi di algebra booleana).
Le aree disciplinari dell’informatica, secondo l’ACM (Association for Computing Machinery) si individuano in:
• Algoritmi e strutture dati;
• Linguaggi di programmazione;
• Architettura dei calcolatori;
• Sistemi operativi;
• Ingegneria del software;
• Computazioni numerica e simbolica;
• Basi di dati e sistemi per il reperimento dell’informazione;
• Intelligenza artificiale;
• Visione robotica;
• (Sistemi distribuiti e rete di calcolatori).
MACCHINE DI CALCOLO E COMPUTER
La parola calcolo etimologicamente significa pietra. Non é un caso, infatti, che questo vocabolo sia usato per definire i primi conti dell’antichità, effettuati appunto allineando delle palline di pietra. Con l’andar del tempo è nata la necessità di supportare il calcolo con degli strumenti:
• Abaco o pallottoliere (2000 a.C.)
• Pascal, Leinbritz: macchine meccaniche (1600-1700 a.C.)
La macchina di Pascal, la cosiddetta Pascalina, realizzava la somma; il suo inventore, filosofo e matematico, nel 1642 ideò una macchina da calcolo per svolgere le parti ripetitive dei calcoli aritmetici. L’invenzione di Leinbritz era in grado di compiere le quattro operazioni fondamentali, ma entrambe le macchine erano dedicate ad una sola specifica funzione senza poter fare altro. Leinbritz voleva sviluppare un sistema simbolico universale, ma il problema principale era quello di trovare il linguaggio adatto per poter comunicare con la macchina riducendo le seccature del caso. Bisognava quindi:
- sviluppare una notazione universale;
- ideare un linguaggio specializzato ed univoco;
- concepire un calcolo automatico.
• Telaio di Jacquard (1800 d.C.): durante la Rivoluzione Industriale mediante una serie di cartoni forati venivano realizzati diversi motivi sul tessuto. Comincia così ad essere introdotto il concetto di programma.
• Macchina di Babbage (1800 d.C.): Babbage fu il primo in Inghilterra a costruire una vera macchina di calcolo, analoga al calcolatore moderno, in grado di eseguire qualsiasi programma. Aveva un dispositivo per memorizzare informazioni, per ricevere e fornire dati ed era basata sulla meccanica (le ruote dentate). Lo svantaggio era che richiedeva una precisione non raggiungibile con tecnologie meccaniche. Cominciano quindi a svilupparsi nuove tecnologie per poter supportare questa macchina e all’inizio degli anni 40 nascono i primi calcolatori elettronici: la macchina universale con diversi programmi. Diventa importante codificare i compiti in differenti programmi, affinché la macchina li possa eseguire. Intanto l’assistente di Babbage, Augusta, viene considerata la prima programmatrice.
IL CONTESTO
• Computer science, termine di origine inglese, sta ad indicare una disciplina elementare basata sul computer;
• Informatica, termine di origine inglese e francese, orientata all’informazione;
• Information Technology (IT)
La dimensione economica dell’IT in Italia è dell’1,5%, in Europa del 2%, mentre in USA è pari al quasi 4% del PIL.
• Information and Communication Technology (ICT), riferito alle telecomunicazioni;
• Digital Technology
• Electronic Data Processing (EDT), termine ormai in via di sparizione.
Quando noi parliamo di scienza ci riferiamo al risultato dell’attività speculativa degli uomini volta alla conoscenza dei fenomeni (per esempio: le scienza naturali o dell’informazione); con tecnologia, invece, indichiamo lo studio dei procedimenti che permettono di trasformare le materie prime in prodotti (per esempio: tecnologie meccaniche, tecnologie dell’informazione e delle comunicazioni)
“OGNI VERA SCIENZA GENERA UN LINGUAGGIO”
Cos’è l’informatica? Possiamo far riferimento a due definizioni:
1) La definizione sintetica dice che l’informatica è la scienza della rappresentazione e dell’elaborazione dell’informazione;
2) La definizione dell’ACM sostiene che l’informatica è lo studio sistematico degli algoritmi che descrivono e trasformano l’informazione: teoria, analisi, progetto, efficienza, realizzazione, applicazione.
IL CONCETTO DI ALGORITMO
L’algoritmo è una sequenza precisa di passi, o operazioni, che portano alla realizzazione di un compito. La parola si è evoluta da Al-Kowarizmi, matematico arabo del IX secolo; l’esempio più antico ed elementare di algoritmo è quello di Euclide (330/320 a.C.): ad ogni passo, ogni input (dato in entrata) fornisce un output (dato in uscita), naturalmente date per scontate le conoscenze matematiche di base. Non tutte le proposizioni si possono definire algoritmi, solo quelle che hanno le proprietà di avere un metodo generale, astratto ed effettivo di risoluzione dei problemi formulati esplicitamente.
• GENERALE: deve, cioè, valere per qualsiasi caso. Esempio: l’operazione “sommare 3 e 4” è particolare, ma può essere generalizzata se la scriviamo come “x+y”, diventa valevole per ogni coppia di valori x ed y.
• ASTRATTO: indipendente dal metodo di rappresentazione utilizzato.
• EFFETTIVO: soddisfa condizioni di definitezza ed eseguibilità.
Se la sequenza rispetta queste caratteristiche, è un algoritmo e porta alla formulazione implicita/esplicita di problemi.
Come si arriva ad un algoritmo? Vediamo l’esempio di Euclide: dati due numeri interi positivi, m ed n, trovare il loro massimo comun divisore, cioè il massimo intero positivo che divide senza resto sia m che n.
Proprietà del Massimo Comun Divisore:
(1) MCD (m,n) = MCD (n,m)
(2) se m = n allora MCD (n,m) = n = m
(3) se m>0 ed n=0 allora MCD (m,0) = m
(4) se m>n ed n>0 allora
MCD (m,n) = MCD (m-n,n) = MCD (m – 2( n, n) = …MCD (m-q(n,n) =
= MCD (r,n) = MCD (n,r)
E1 (trovare il resto): dividere m per n e chiamare r il resto;
E2 (il resto è zero?): se r = 0 l’algoritmo termina;
E3 (scambiare): invertire di posto m con n ed n con r e tornare al punto E1.
Considerazioni:
 m ed n sono i dati di input;
 il risultato tra la divisione di m ed n è l’output ed è il Massimo Comun Divisore dei dati d’ingresso;
 r decresce dopo ogni applicazione del passo E1ed una sequenza decrescente di interi positivi deve necessariamente finire con zero;
 le divisioni ed il resto sono disgiunti matematicamente.
Questi passi presuppongono che ci sia un momento di individuazione e di specificazione dell’algoritmo; se l’iterazione richiede una conoscenza, una volta che i passi sono stati elaborati, la conoscenza non è più richiesta perchè è stata “incorporata” nella formula.

Gli elementi che vengono messi in gioco sono l’uomo e il pc, ma tra i due vi sono difficoltà di comunicazione. Dobbiamo ideare il modo in cui “dire” alla macchina cosa eseguire e come farlo.
I COMPONENTI DEL CALCOLATORE
* L’hardware o materia dura indica genericamente, in materia di calcolo automatico, ogni macchinario ed ogni mezzo esterno impiegato per la registrazione di dati.
* Il software o materia molle si può definire come ciò che permette il colloquio tra l’elaboratore e l’uomo, dato che la sua funzione è consentire l’iterazione tra la parte fisica del sistema (hardware) ed il mondo esterno.
* Il firmware rappresenta una vita intermedia tra la parte statica del calcolatore, l’hardware, e la parte dinamica, il software; esempio: parte che permette al calcolatore di controllare un’unità periferica. Può essere programmato in modo analogo al software, ma non può essere modificato se non in particolari condizioni.

BUS
* Sulla mother board sono montati i circuiti integrati (o chip) del processore e delle memorie.
* Il processore (o CPU, Central Processor Unit) comprende le unità di controllo e le unità di calcolo (o di elaborazione).
* L’unità di controllo preleva le istruzioni dalla memoria e le esegue coinvolgendo le altre unità.
* Lo schermo è dotato di un tubo catodico a raggi catodici (CRT), la superficie è composta da fosforo, l’immagine è alimentata dai pixel.
 I pixel vengono “rinfrescati” 30-60-75 volte al secondo.
 I pixel corrispondono a:
- 1 bit in bianco e nero;
- 8 bit in 256 tonalità grigio.
La MEMORIA si divide in:
Principale (o primaria), ramificata in:
* DRAM (Dynamic Random Access Memory);
* CACHE memoria di lavoro, piccola e veloce.
La caratteristica della memoria primaria è quella di essere volatile, ovvero quando spengo il pc tutta la serie di informazioni su cui stavo lavorando si perdono.
• Secondaria, non è volatile e comprende:
* unità a dischi magnetici, di due categorie:
- flessibili (floppy disk);
- rigidi (hard disk).
* Tecnologicamente
- uno o più dischi (disk pack) ricoperti di un materiale ferromagnetico letti e scritti mediante un braccio mobile dotato di testina;
- tempo di accesso superiore;
- costi più bassi e parità di quantità di informazioni memorizzate.
* L’architettura di un elaboratore (o di un sistema di elaborazione) è l’insieme dei concetti hardware e software (che poi si trasformano in elementi fisici e/o logici) che stanno alla base della sua progettazione, indipendentemente da ciò che l’elaboratore sarà chiamato a fare.
* Un sistema informativo è un insieme di informazioni e di strumenti che governano un fenomeno o un ambiente. Normalmente il sistema informativo si avvale di strumenti dell’informatica, che costituiscono il cosiddetto sistema informatico.
STORIA DEI CALCOLATORI
ELETTRONICI
L’informatica moderna nasce nel 1936, grazie ad Alan Turing, che progettò una macchina programmabile, la macchina di Turing, in grado di effettuare tutti i calcoli teoricamente possibili. Il primo calcolatore elettronico fu utilizzato durante la II Guerra Mondiale da Eckert e Mauchly: si chiamava ENIAC, aveva la forma di U, era di oltre due ordini di grandezza più grande dei nostri computer e cinque ordini di grandezza più lento. Serviva per il calcolo delle tavole di puntamento dell’artiglieria e per la costruzione della bomba atomica. Contemporaneamente in Inghilterra si realizzava una macchina analoga, questa volta da impiegare nella decifrazione del codice Enigma. Nel 1946 Von Neumann introdusse, mediante il famoso articolo “Preliminary Discussion Of The Logical Design Of An Electronic Computing Instrument”, un calcolatore (detto, appunto, calcolatore di Von Neumann) che diede un apporto decisivo al cambiamento del mondo informatico. Da allora, lo sviluppo dei calcolatori (a valvole, a transistor, a circuiti integrati) è stato fondato sulle basi teoriche e implementative dell’invenzione di Neumann. Da allora gli sforzi dei progettisti sono rivolti a migliorare i calcolatori per quanto riguarda:
• dimensioni;
• velocità di calcolo;
• capacità di memoria;
• costi.
Per far capire l’evoluzione che ha avuto il sistema dei calcolatori, citiamo questo paradosso: “Se l’industria dei trasporti avesse tenuto il passo con quello dei calcolatori nei suoi 50 anni di storia, oggi si potrebbero attraversare gli Stati Uniti da costa a costa in un secondo spendendo meno di 100 lire”.

Esempio



  


  1. Dillian

    Back in sochol, I'm doing so much learning.