Il software

Transcript

Il software
Simonotti Graziano
Classe I
IL SOFTWARE
Il computer, sostanzialmente, è composto da due parti:
COMPUTER
Hardware
Software
L’hardware è formato da tutte le componenti rigide del
computer delle quali circa il 90% è costituito da
circuiti elettrici. Tuttavia l’hardware da solo non
sarebbe in grado di svolgere alcuna operazione deve cioè
essere “istruito” sui compiti che da eseguire. A questo
punto c’è bisogno del software che “istruisca” l’hardware
sulle operazioni che deve compiere. Il software comprende
sia i dati che i programmi. Per quanto riguarda i
programmi possiamo suddividere il software in due
categorie
Software
Di base
 Android
 MS-DOS
 Windows
 Linux
 IOS
 OS
X
YOSENITE
Applicativo
 Giochi
 Browser
 Editor
di
testi
 Spreadsheed
 Data base
Come ragiona un computer
Dato che un computer è uno strumento composto da circuiti
elettronici gli unici valori che è in grado di leggere
sono “acceso” e “spento”. In termini matematici avremo 0
per indicare che non vi è passaggio di corrente (spento)
e 1 per indicare il passaggio di corrente. I valori 0 e 1
indicano la più piccola quantità di informazione che può
ricevere un computer.
Il software
pagina 1 di 5
Simonotti Graziano
Classe I
Definizione di bit
Il termine bit (binary digit) indica la più piccola
quantità di informazione che un computer è in grado di
ricevere.
Prendiamo in considerazione un circuito composto da un
interruttore e da una lampadina. Quando l’interruttore è
su off (0) la lampadina è spenta mentre quando
l’interruttore è su on (1) la lampadina è accesa.
Supponiamo ora di aggiungere al circuito un altro
interruttore e un’altra lampadina. In questo caso
possiamo avere:
Lampadina 1
Spenta
Spenta
Accesa
Accesa
Lampadina 2
Spenta
Accesa
Spenta
Accesa
Quindi gli stati possibili sono quattro, cioè 22. Se ogni
lampadina equivale ad un bit risulta evidente che più bit
si hanno a disposizione maggiori saranno i valori che si
possono rappresentare. Dopo diversi studi si è deciso di
utilizzare 8 bit, o i suoi multipli, per rappresentare
l’informazione. A questa combinazione di bit è stato dato
il nome di Byte. Quindi se con un bit posso rappresentare
solo i numeri 0 e 1 con un Byte posso rappresentare 256
valori.
La seguente tabella indica tutti i multipli del bit.
Multipli del bit
Nome
Bit
Byte
Kilo byte
Mega byte
Giga byte
Tera byte
Peta byte
Simbolo
b
B
KB
MB
GB
TB
PB
Potenza di 2
20
23
210
210
210
210
210
Equivale a
0 o 1
8 b
1024 B
1024 KB
1024 MB
1024 GB
1024 TB
Risalendo la scala dei valori e usando le proprietà delle
potenze
notiamo
che
1PB
equivale
a
253
bit.
.
.
.
.
.
(9 007 199 255 000 000 bit).
Il software
pagina 2 di 5
Simonotti Graziano
Classe I
La rappresentazione delle lettere e dei simboli
Per rappresentare le lettere dell’alfabeto e i simboli in
forma binaria non bisogna effettuare calcoli ma bisogna
usare delle tabelle standard di conversione (tabelle di
codifica) in cui ad ogni simbolo viene associato un
codice binario. Le tabelle di codifica maggiormente
utilizzate sono:
 ASCII (American Standard Code for Information
Interchange) che utilizza 8 bit. Quindi con questo
tipo di codifica si possono rappresentare 256
simboli diversi;
 UNICODE che utilizza 17 piani (plane)ciascuno dei
quali rappresenta i simboli usando 16 bit. In
pratica con questa tabella è possibile rappresentare
216x17=1114112 simboli. I codici vengono assegnati
tenendo conto delle appartenenze linguistiche o
logiche. Tgra gli insiemi di caratteri figurano
anche i simboli grafici e matematici. Ogni gruppo
viene detto blocco. Il primo plane si chiama BMP
(Basic Multilingual Plane) e contiene i caratteri
per quasi tutti i linguaggi moderni più l’insieme
dei caratteri speciali.
Nota:
le
lettere
maiuscole
e
minuscole
hanno
rappresentazioni diverse in tabella.
Nota: lo spazio viene considerato, nelle tabelle di
conversione, come un simbolo.
I linguaggi di programmazione
I programmi vengono realizzati utilizzando degli appositi
linguaggi
di
programmazione.
I
linguaggi
di
programmazione si dividono in:
 Linguaggi a basso livello: sono anche detti linguaggi
Assembly o linguaggi macchina perché sono gli unici
che l’hardware è in grado di eseguire. Le istruzioni
di questo tipo di linguaggio sono scritte con pochi
simboli mnemonici e con valori esadecimali (cioè in
base
16)
che
sostituiscono,
per
comodìtà
di
rappresentazione, i valori binari.
 Linguaggi
a
medio
livello:
sono
linguaggi
di
programmazione molto simili a quelli ad alto livello
Il software
pagina 3 di 5
Simonotti Graziano
Classe I
ma che presentano anche istruzioni che operano
direttamente a basso livello.
 Linguaggi ad alto livello: sono linguaggi artificiali
(creati cioè dall’uomo) le cui istruzioni sono
scritte utilizzando i verbi e i termini dei linguaggi
naturali. Il linguaggio naturale da cui si attinge
per scrivere le istruzioni di un linguaggio ad alto
livello è generalmente la lingua inglese.
Si pone ora il problema di dover trasformare un
linguaggio ad alto livello nel suo equivalente (cioè che
faccia le stesse cose).
Tesi di Church
Tutti i programmi scritti utilizzando un linguaggio di
programmazione si posso scrivere utilizzando un altro
linguaggio di programmazione.
In base alla tesi Church è quindi possibile trasformare
un programma scritto utilizzando un linguaggio ad alto
livello nel suo equivalente di basso livello. Questa
operazione si realizza utilizzando due tipi di software
che seguono:
 Interprete:
come
un
interprete
del
linguaggio
naturale traduce parola per parola le frasi da un
linguaggio ad un altro, questo software traduce le
istruzioni
di
un
linguaggio
ad
alto
livello
istruzione dopo istruzione. È importante osservare
che l’esecuzione di un programma scritto con un
linguaggio ad alto livello che viene interpretato
richiede
una
traduzione
ogni
volta
che
viene
eseguito.
(100
esecuzioni
richiedono
100
interpretazioni).
 Compilatore:
il
programma
sorgente,
scritto
utilizzando un linguaggio di programmazione ad alto
livello, viene trasformato in un programma eseguibile
con
una
traduzione
globale.
In
pratica
la
compilazione equivale alla traduzione di un libro
scritto utilizzando un certo linguaggio, nel suo
equivalente in un altro linguaggio. La compilazione
del programma scritto utilizzando un linguaggio ad
alto livello avviene una sola volta. (100 esecuzioni
richiedono 1 sola compilazione)
Il software
pagina 4 di 5
Simonotti Graziano
Classe I
Attualmente si utilizzano linguaggi di programmazione ad
alto livello compilati perché non costringono gli utenti
all’acquisto del programma di compilazione vendendo solo
il codice eseguibile.
Riassumendo abbiamo un software che ha come dato di
ingresso un programma scritto con un linguaggio di
programmazione ad alto livello e lo trasforma nel suo
equivalente (dato di uscita) nel linguaggio a basso
livello.
Il software
pagina 5 di 5