Benvenuti all'IIS Marconi di Civitavecchia!
Benvenuti all'indirizzo informatico dell'Istituto di Istruzione Superiore Guglielmo Marconi di Civitavecchia.
Durante questi cinque anni, apprenderete il funzionamento del computer, sia dal punto di vista hardware che software, e come connettere i computer tra di loro in rete.
Imparerete a creare delle applicazioni con diversi linguaggi e tecnologie, a gestire database, a creare pagine web. Il viaggio è lungo, ma spero che lo troverete appassionante!
Ricordatevi però sempre una cosa: il lavoro dell'informatico non è aggiustare computer, passare dei cavi o scrivere un'applicazione. Il nostro mestiere è aiutare le persone a risolvere problemi. Dobbiamo quindi sempre avere bene in mente quale problema stiamo risolvendo e per chi, per fare in modo che il nostro lavoro sia veramente utile agli altri.
Il libro di testo adottato è Turing, Informatica per competenze di Piero Gallo, editore Minerva Scuola Mondadori Education
Numerazione binaria
Per questa sezione, confrontate anche il vostro libro di testo al capitolo "A2 I sistemi di numerazione"
Cominciamo il nostro viaggio dall'elemento più basilare del nostro sistema di elaborazione: il bit e la numerazione binaria.
Intanto domandiamoci: perché la numerazione binaria? Perché per come sono fatti i computer, è la loro base di numerazione più adatta. Ma dovremmo anche chiederci: perché noi usiamo la numerazione decimale?
In effetti, non c'è niente di speciale nella base 10. La maggior parte delle antiche popolazioni ha usato questa base di numerazione semplicemente perché abbiamo 10 dita. Non a caso ancora adesso in informatica usiamo la parola "digit" (che deriva dalla parola latina digitus, dito) per indicare un numero.
Ma ci sono delle eccezioni: alcune culture antiche ad esempio contavano in base 5 (usando quindi una sola mano), o la tribù Faiwol della Nuova Guinea contava in base 27, usando anche altre parti del corpo oltre le dita, come naso ed orecchie. Ma il caso più importante è sicuramente quello dei babilonesi, che contavano in base 12. Questa base era particolarmente utile perché facilmente divisibile per 2, 3, 4 e 6. Probabilmente non è un caso che siano stati proprio i babilonesi a mettere le basi della trigonometria e dello studio della sfera celeste.

Basi di numerazione e simboli
Indipendentemente dalla base utilizzata, le regole per formare i numeri è sempre la stessa.
Per prima cosa, abbiamo bisogno di un numero di simboli pari alla base di numerazione. Ad esempio, per la base 10, abbiamo i seguenti simboli: 0,1,2,3,4,5,6,7,8,9.
Sono le cifre a cui siamo abituati, ma adesso dobbiamo guardarle con uno sguardo nuovo: come dei simboli, appunto, che rappresentano una cifra del nostro sistema di numerazione.
Possiamo rappresentare le cifre anche con simboli diversi, come ad esempio in Cina: 零,一,二,三,四,五,六,七,八,九. Non cambia nulla, i simboli sono una convenzione tra chi scrive e chi legge, basta mettersi d'accordo.
Con la numerazione binaria, abbiamo bisogno di soli due simboli. Possiamo scegliere i simboli che preferiamo, ed effettivamente in informatica ne incontrerete diversi, ad esempio:
- 0,1
- +,-
- acceso (on), spento (off)
- pieno, vuoto
- alzato ed abbassato
L'importante è mettersi d'accordo. Noi in questa trattazione useremo prevalentemente 0 ed 1.
Contare sulla punta delle dita
Per esercitarci un po' con i numeri binari, possiamo provare ad esercitarci a contare con una mano sola.
Permettetemi di usare questo modello per rappresentare una mano (scusate se non è venuto molto bene).
Se tengo tutte le dita abbassate, ho il numero 0.
Di seguito alcuni esempi come abbiamo visto in classe.





In pratica ogni dito ha un valore, che deve essere sommato agli altri se alzato ("acceso"). Di seguito il valore di ogni dito della mano.

Valore massimo e numero di valori rappresentabili
Qual'è il valore massimo che posso rappresentare?
Se alzo tutte le dita, ottengo il valore:
valore massimo: 1+2+4+8+16 = 31
Quindi, con una sola mano posso contare fino a 31.
Il metodo è facilmente estendibile anche per calcolare con due mani.
La regola è che ogni dito ha un valore di:
valore dito n = 2^n
che si legge 2 elevato alla n.
Bisogna considerare che, in informatica, si comincia a contare sempre dal numero 0, quindi il primo dito ha n=0, il secondo dito n=1, e così via.
Quindi vediamo il valore per tutte e dieci le dita:
- primo dito (pollice mano destra):
2^0=1
- secondo dito (indice mano destra):
2^1=2
- terzo dito (medio mano destra):
2^2=4
- quarto dito (anulare mano destra):
2^3=8
- quindo dito (mignolo mano destra):
2^4=16
- sesto dito (pollice mano sinistra):
2^5=32
- settimo dito (indice mano sinistra):
2^6=64
- ottavo dito (medio mano sinistra):
2^7=128
- nono dito (anulare mano sinistra):
2^8=256
- decimo dito (mignolo mano sinistra):
2^512
Domanda: qual è il numero massimo che possiamo ottenere con due mani?
Lascio a voi il calcolo, ma potrete facilmente vedere che vale la formula generale:
numero massimo = 2^n - 1
dove n è il numero delle dita.
Dalle dita al bit
Adesso siamo pronti per generalizzare i concetti che abbiamo visto fino ad adesso.
Al posto delle dita, come abbiamo detto, possiamo usare qualsiasi cosa. Ogni singolo elemento che può avere due stati (0,1 oppure acceso,spento) prende il nome di bit.
Con una mano, abbiamo a disposizione quindi 5 bit. Con due mani, abbiamo a disposizione 10 bit.
Il numero di bit è la cosa più importante che ci serve sapere quando trattiamo di dati in informatica: come abbiamo visto determina infatti il numero massimo che possiamo rappresentare.
Facciamo alcuni esempi: se voglio contare i compagni della vostra classe, considerando che siete 25, mi serviranno almeno 5 bit, perché 2^4-1=15 non basta, mentre 2^5-1 = 31 e va bene. Se devo contare il numero di studenti della scuola, che sono circa 1200, mi serviranno almeno 11 bit, in quanto 2^10-1 = 1023 e 2^11-1 = 2047.
Domanda: quanti bit servono per contare gli abitanti dell'Italia, che sono circa 60 milioni? e quelli della terra, circa 8 miliardi?
Proviamo ad andare un po' più in là: immaginiamo di avere uno schermo largo 4 pixel e alto 3 pixel (uno schermo minuscolo, ma va bene per questo esempio). Ogni pixel può avere 16 colori. Se uso anche lo 0 per rappresentare i colori, non devo togliere 1 al valore massimo, quindi serviranno esattamente 4 bit per ogni pixel. Quanti bit mi servono in totale per memorizzare tutti i pixel dello schermo?
x | x | x | x |
---|---|---|---|
x | x | x | x |
x | x | x | x |
Il conto è il seguente:
numero di pixel totali: 4*3 = 12
numero di bit per pixel: 4
numero totale di bit: 4*12 = 48
Esercizi di preparazione per il compito in classe
Domande chiuse
Qual è il valore massimo che posso contare con 7 bit?
Convertire 17 in binario.
Convertire 10001 in decimale.
Ho un pacco da 50 penne. Quanti bit devo usare per poter contare tutte le penne?
Ho uno schermo largo 10 pixel ed alto 5 pixel. Uso 16 colori per ogni pixel. Di quanti bit ho bisogno per rappresentare in memoria tutto lo schermo?
Domanda aperta
Immaginiamo che avete parcheggiato la vostra bicicletta con un lucchetto a 3 cifre, ed il numero per sbloccarlo è 73. Avete paura di dimenticarvi il numero, ma non volete scriverlo sopra la bici per paura che ovviamente un ladro potrebbe rubarla. Pensate quindi di usare due rotoli di scotch di colore diverso, uno di colore bianco (valore 1) ed uno di colore nero (valore 0) da attaccare sulla canna della bici. Qual è la sequenza di scotch corretta per rappresentare il codice di sblocco? Scrivere in massimo 4 righe (circa 320 caratteri) il ragionamento che avete usato per arrivare al risultato.
Codifica dei caratteri
In questo capitolo vedremo come i computer rappresentano i caratteri, sia quelli per noi più comuni che quelli più esotici, come le emoji.
ASCII codes
Lo standard più usato per rappresentare i caratteri base dell'alfabeto latino è l'ASCII (pronuncia IPA: æski, proncia traslitterata in italiano: askii). ASCII è l'acronimo di American Standard Code for Information Interchange. Come dice il nome, è uno standard americano quindi è pensato soprattutto per la lingua inglese, che non prevede lettere con l'accento.
Per altri dettagli vedete pagg. 58-59 del vostro libro di testo.
I caratteri non stampabili
I primi 32 caratteri sono detti caratteri di controllo, non sono stampabili e servono per vari scopi, come ad esempio per codificare i tasti freccia (su, giù, destra, sinistra), il tasto per cancellare (canc,del), e così via.
A noi interessano soprattutto i seguenti:
Bit | Decimale | Codice | Descrizione |
---|---|---|---|
0000 | 0 | NUL | "nessun carattere", ha vari usi in informatica |
.... | .. | .. | ..... |
0110 | 10 | LF | "Line Feed", per andare a capo |
0111 | 10 | CR | "Carriage Return", altro carattere per andare a capo |
.... | .. | .. | ..... |
Perché ci sono due caratteri per andare a capo? Questo deriva direttamente dagli antenati diretti dei computer e delle tastiere, le macchine da scrivere meccaniche e successivamente le "teletypewriter"(abbreviato "tty", sigla che ritroverete fra qualche anno...). In queste macchine infatti, per "andare a capo" bisognava effettuare due operazioni distinte tra loro: far scorrere la pagina in basso di una riga (line feed) e far tornare il carrello nella posizione più a sinistra della pagina.
Quando si sono cominciati ad usare i monitor e non la carta, la distinzione non aveva più molto senso. Alcune aziende, come ad esempio Microsoft, hanno deciso di mantenere entrambi i caratteri, quindi per andare a capo in un file alla fine di ogni riga bisogna aggiungere CR+LF. Altri, come ad esempio Unix e derivati (inclusi Linux e macOS) hanno invece semplificato ed ottimizzato utilizzando un solo carattere, LF. È importante sapere queste cose perché quando modificate un file di testo di un programma, potrebbe avere un fine riga diverso da quello che vi aspettate e avere dei problemi. Nella maggior parte degli editor di testo oggi viene specificato nella barra in basso.
Attenzione: questo discorso non vale per documenti creati con elaboratori di testo come Microsoft Word, perché in questo caso il file non è semplicemente l'insieme dei caratteri che genera il testo ma contiene molte più informazioni, come la formattazione, l'impaginazione, etc.
I caratteri stampabili
L'ASCII base prevede 95 caratteri, che comprendono:
- 26 lettere minuscole (a..z)
- 26 lettere maiuscole (A..Z)
- 10 numeri (0..9)
- 32 caratteri di punteggiatura
I caratteri di punteggiatura nell'ambito informatico vengono usati per gli scopi più diversi e spesso sono chiamati con un nome diverso nello slang (dialetto) dei programmatori.
Carattere | Nome ufficiale italiano | Nome ufficiale inglese | Dialetto informatico |
---|---|---|---|
spazio | space | ||
! | punto esclamativo | exclamation mark | bang |
" | doppio apice | double quote | |
# | cancelletto | hash | sharp |
$ | dollaro | dollar | |
% | percento | percent | |
& | e commerciale | ampersand | |
' | apice singolo | single quote | |
( ) | parentesi tonde | round bracket | |
* | asterisco | asterisk | star |
+ | più | plus | |
, | virgola | comma | |
- | meno o trattino | minus or dash | |
. | punto | full stop | dot |
/ | barra | slash | |
: | due punti | colon | |
; | punto e virgola | semicolon | |
< > | minore / maggiore o parentesi angolari (o angolate) | less-than / more than | angle bracket |
= | uguale | equal | |
/ | barra | slash | |
? | punto interrogativo | question mark | |
@ | chiocciola | at | |
^ | accento circonflesso | circumflex | caret |
[ ] | parentesi quadre | square bracket | |
\ | barra rovesciata | backslash | |
_ | trattino basso | underscore | |
` | accento grave | grave accent | backtick (o backquote) |
{ } | parentesi graffe | curly brackets | |
| | barra verticale | vertical bar | pipe (tubo) |
~ | tilde | tilde |
Esercizio
Windows
Aprite l'applicazione Blocco note (Notepad, in inglese). Se avete una versione abbastanza recente, nella barra in basso vi dovrebbe comparire quale ritorno a capo l'editor sta usando, che per un nuovo file dovrebbe essere CRLF.
Notepad ha introdotto il supporto per altri terminatori di linea nel 2018.
Lasciate il file perfettamente vuoto e salvatelo con il nome che preferite, lasciate l'estensione .txt
. Per salvare il file in modo veloce potete usare la scorciatoia "ctrl-s". Aprite Esplora Risorse e navigate nella cartella in cui si trova il file. Cliccate con il tasto destro sul file appena creato e selezionate "Proprietà". Cercate la dimensione del file, dovrebbe essere esattamente 0 byte.
Ora per esercizio provate a fare le seguenti cose:
- scrivete "ciao" su Blocco note e salvate (ricordatevi che potete usare ctrl-s). Quanto è diventata adesso la dimensione del file in byte?
- dopo ciao, alla fine della riga, premete invio per andare a capo. La dimensione del file è cambiata? di quanti byte?
- scrivete di nuovo ciao nella seconda riga e ricontrollate la dimensione del file per vedere cosa sta succedendo
Cosa avete notato? Vi tornano i conti con quanto detto finora?
Ora provate ad inserire un carattere che non fa parte dello standard ASCII (né base né esteso), come ad esempio un emoji o un carattere in un alfabeto diverso da quello latino (come ad esempio il greco, il rumeno, il turco, il cinese, il giapponese, etc.). Salvate il file e controllate la dimensione. Cosa è successo? di quanti byte è cambiato il file? Secondo voi perché?
Apple
Eseguire lo stesso esercizio precedente, usando "Finder" invece di "Esplora risorse" e "Get Info" invece di "Proprietà". Per salvare il file, bisogna usare la scorciatoia ⌘S.
https://unicode.org/emoji/charts/full-emoji-list.html
https://en.wikipedia.org/wiki/File:Utf8webgrowth.svg