Sei sulla pagina 1di 450

1o biennio

Piero Gallo Pasquale Sirsi

INFORMATICA

LEZIONI FLIPPED
CLASSROOM
COMPITI DI REALTÀ

PERCORSI DI DIDATTICA INCLUSIVA


VERSIONE DIGITALE ACCESSIBILE MAPPE
RIPILOGATIVE VERIFICHE DEI SAPERI MINIMI
ESERCIZI COMMENTATI, RISOLTI PASSO PASSO
Piero Gallo Pasquale Sirsi

INFORMATICA

app
1° biennio
© 2017 by Mondadori Education S.p.A., Milano
Tutti i diritti riservati

www.mondadorieducation.it

Questo ebook contiene materiale protetto da copyright e non può essere copiato, riprodotto, trasferito, distribuito, noleggiato,
licenziato o trasmesso in pubblico, o utilizzato in alcun altro modo ad eccezione di quanto è stato specificamente autorizzato
dall’editore, ai termini e alle condizioni alle quali è stato acquistato o da quanto esplicitamente previsto dalla legge applicabile.
Qualsiasi distribuzione o fruizione non autorizzata di questo testo così come l’alterazione delle informazioni elettroniche sul regime
dei diritti costituisce una violazione dei diritti dell’editore e dell’autore e sarà sanzionata civilmente e penalmente secondo quanto
previsto dalla Legge 633/1941 e successive modifiche.

Questo ebook non potrà in alcun modo essere oggetto di scambio, commercio, prestito, rivendita, acquisto rateale o altrimenti
diffuso senza il preventivo consenso scritto dell’editore. In caso di consenso, tale ebook non potrà avere alcuna forma diversa da
quella in cui l’opera è stata pubblicata e le condizioni incluse alla presente dovranno essere imposte anche al fruitore successivo.

Redazione, impaginazione e ricerca iconografica infostudio (Monza)


Progetto grafico Alfredo La Posta
Direzione artistica sistema visivo delle copertine 46xy studio
Realizzazione della copertina Plum

Contenuti digitali
Progettazione Fabio Ferri, Lorenzo Testa
Redazione duDAT Srl (esercizi commentati, laboratori “Case studies”, lezioni LIM)
Realizzazione duDAT Srl (esercizi commentati, laboratori “Case studies”, lezioni LIM)
IMMAGINA Srl (audio), Lumina Datamatics (mappe modificabili)

In copertina: Beautiful Latin American woman sitting on the floor working online from home using a laptop computer and looking happy –
iStock / ©Getty Images; Handsome teenage boy sitting and using laptop isolated on white background – iStock / ©Getty Images;
Happy young woman with laptop giving the thumbs up – iStock / ©Getty Images; Young man working on laptop –
iStock / ©Getty Images.

I riferimenti a pacchetti software, nomi e marchi commerciali sono da intendersi sempre come riferimenti a marchi e prodotti registrati dalle rispettive
società anche se, per semplicità di grafia, si è omessa la relativa indicazione.

L’editore fornisce – per il tramite dei testi scolastici da esso pubblicati e attraverso i relativi supporti – link a siti di terze parti esclusivamente per fini
didattici o perché indicati e consigliati da altri siti istituzionali. Pertanto l’editore non è responsabile, neppure indirettamente, del contenuto e delle
immagini riprodotte su tali siti in data successiva a quella della pubblicazione, distribuzione e/o ristampa del presente testo scolastico.

Per eventuali e comunque non volute omissioni e per gli aventi diritto tutelati dalla legge, l’editore dichiara la piena disponibilità.

La realizzazione di un libro scolastico è un’attività complessa che comporta controlli di varia natura. Essi riguardano sia la correttezza dei contenuti che
la coerenza tra testo, immagini, strumenti di esercitazione e applicazioni digitali. È pertanto possibile che, dopo la pubblicazione, siano riscontrabili
errori e imprecisioni.
Mondadori Education ringrazia fin d’ora chi vorrà segnalarli a:
Servizio Clienti Mondadori Education
e-mail servizioclienti.edu@mondadorieducation.it
Numero verde 800 123 931
PRESENTAZIONE
I computer sono incredibilmente veloci, accurati e stupidi.
Gli uomini sono incredibilmente lenti, inaccurati e intelligenti.
L’insieme dei due costituisce una forza incalcolabile.
Albert Einstein

Il testo è conforme alle Indicazioni nazionali per il primo biennio del Liceo Scientifico Opzione Scienze Appli-
cate relative alla disciplina Informatica. Impostato sulla classica equazione sapere = saper fare, il libro propo-
ne un’esposizione semplice e curata degli argomenti, adatta all’età degli studenti, senza mai tradire l’esigenza
del rigore scientifico della trattazione. Il volume è progettato come uno strumento didattico innovativo, che
privilegia in egual misura tutte le metodiche di apprendimento: lettura, osservazione di immagini commenta-
te e semicommentate, esemplificazioni guidate e semiguidate e operatività sono, infatti, omogeneamente di-
stribuite in tutto il volume. Tale bilanciamento garantisce un apprendimento sia formale sia operativo, evitan-
do di far apparire l’Informatica come una materia esclusivamente applicativa, priva di fondamenti scientifici.
La programmazione in C, C++ e Scratch Il volume propone la conoscenza dei fondamenti di programma-
zione imperativa con i linguaggi C e C++. Utilizza inoltre Scratch come l’ambiente più intuitivo per accedere
alla logica della programmazione.
La metodologia della pronta verifica Grazie alle schede operative Osserva come si fa e Ora tocca a te gli
studenti possono, nel corso dello studio, verificare immediatamente l’apprendimento:
• Osserva come si fa fornisce esercizi e problemi interamente svolti;
• Ora tocca a te propone problemi parzialmente svolti o interamente da svolgere.
Il volume è organizzato in sezioni, ognuna delle quali raggruppa un numero variabile di unità.
Le sezioni Ogni sezione inizia proponendo un Brainstorming diagnostico della classe, un test d’ingresso e un
elenco degli obiettivi che gli studenti devono raggiungere. Le due pagine che seguono propongono un’attività
opzionale da svolgere secondo la didattica flipped, eseguendo compiti in classe e a casa sulla base di uno sti-
molo iniziale fornito da video. Le sezioni terminano con tre schede:
• Traguardo Competenze fornisce un compito di realtà, per allenare gli studenti ad acquisire le competen-
ze il cui possesso viene certificato al termine del primo biennio;
• CLIL offre brevi testi, un glossario e quesiti in lingua inglese. È corredata di un file AUDIO per l’ascolto
della pronuncia dei testi e di un glossario interattivo in inglese;
• Un selfie riflessivo guida gli studenti a riflettere sulle strategie di apprendimento utilizzate.
Le unità espongono gli argomenti con chiarezza, evidenziando le definizioni, con l’aiuto di numerose imma-
gini, schemi e grafici. Brevi testi laterali danno informazioni aggiuntive sui protagonisti della storia dell’in-
formatica (I personaggi), su concetti disciplinari importanti (Ricorda), su nozioni meritevoli di essere sottoli-
neate (Lo sai?) e sui termini dell’informatica (Glossario). Ogni unità si conclude con:
• il ripasso dell’unità in un’ottica inclusiva (Ripassiamo insieme), costituito di una mappa riepilogativa ad
alta leggibilità, disponibile anche in digitale in modalità modificabile, e di una verifica dell’apprendi-
mento dei saperi minimi, coordinata con la mappa;
• una scheda per la verifica dell’apprendimento delle conoscenze, costituita di quesiti strutturati; la sche-
da è disponibile anche in digitale, per essere utilizzata in modalità interattiva;
• una scheda con esercizi per la verifica dell’apprendimento delle abilità e delle competenze.
Schede infografiche su doppia pagina sintetizzano alcuni argomenti importanti di carattere generale.
Contenuti digitali integrativi Numerosissimi sono gli strumenti digitali che il corso mette a disposizione:
unità integrative (una dedicata al software App Inventor per programmare app per smartphone), laboratori
per attività integrative (Case studies), esercizi commentati, mappe riepilogative ad alta leggibilità modifica-
bili, materiali per svolgere le esercitazioni proposte nel corso, i file sorgente in C/C++ e i laboratori multime-
diali in cui sono svolti test di esecuzione passo passo del codice per alcuni programmi selezionati.
Il CD-ROM mette a disposizione dello studente i contenuti digitali integrativi utili per svolgere anche offline
le esercitazioni proposte.
Gli autori
Nasce HUB! Il nuovo ambiente interattivo e integrato per la didattica digitale:
uno spazio in cui le risorse digitali espandono e arricchiscono l’offerta del libro di testo.

HUB è progettato per facilitare la creazione di percorsi didattici originali e favorire inno-
vative modalità di apprendimento, permettendo inoltre ai docenti di gestire la classe e di
monitorarne i progressi.

HUB Scuola è il centro di questo sistema: la piattaforma per lo studio e l’insegnamento


che permette di condividere oggetti digitali e aggregare contenuti multimediali disponibili
in rete. Moltissime risorse e tanti strumenti, tutti in un unico luogo: video, audio, mediagal-
lery, mappe concettuali, verifiche interattive e autocorrettive e un efficace motore semantico;
un archivio virtuale completo e condivisibile, oltre a contenuti interdisciplinari certificati.
Tutti gli strumenti sono studiati per favorire una didattica inclusiva e costruire percorsi disci-
plinari personalizzati.

Dalla piattaforma si accede al Libro Digitale: lo spazio pratico e intuitivo che stimola le
dinamiche di apprendimento, favorisce l’inclusione oltre a potenziare i risultati individuali.

I Contenuti Digitali Integrativi permettono inoltre di impostare percorsi didattici per favo-
rire la didattica capovolta con la metodologia della flipped classroom.

Per saperne di più vai su HUBSCUOLA.IT


Il libro di testo si trasforma in parole,
HUB video, audio, animazioni ed esercizi
e diventa uno strumento con cui
È ANCHE collaborare: da evidenziare, integrare,
UN NUOVO personalizzare e condividere.

LIBRO
DIGITALE
Pratico e intuitivo è pensato per stimolare
le dinamiche di apprendimento degli studenti
e favorire l’inclusione: le pagine accessibili
permettono di ingrandire il carattere,
scegliere font ad alta leggibilità e attivare
la lettura automatica del testo.

COME ATTIVARE IL TUO LIBRO DIGITALE

Collegati al sito mondadorieducation.it


C. CONTRASSEGNO
e registrati oppure effettua il login C. SERIALE
Accedi ad HUB Scuola
Compila il form di attivazione inserendo
negli appositi campi tutte le cifre tranne l’ultima
dell’ISBN, stampato sul retro del tuo libro,
il codice contrassegno e quello seriale, che trovi
sul bollino argentato SIAE nella prima pagina
ISBN
del tuo libro.

COME SCARICARE L’APP DI LETTURA

Puoi consultare il tuo libro digitale anche in versione offline scaricandolo per intero o in singoli
capitoli sul tuo dispositivo, seguendo questa semplice procedura:
Scarica la app gratuita* che trovi sul sito mondadorieducation.it o sui principali store
Effettua il login con User e Password scelte all’atto della registrazione sul nostro sito
Nella libreria è possibile ritrovare i libri attivi.

Per i docenti:
Se sei un docente richiedi al tuo agente di zona
* Per sapere quale delle nostre app scaricare guarda quale la copia saggio del libro che ti interessa e l’accesso
dei loghi di HUB è presente sulla quarta di copertina del tuo libro! ai relativi contenuti digitali docente.
PER UN DIGITALE SOSTENIBILE

CONTENUTI DIGITALI INTEGRATIVI


Esercizi commentati per ripassare la teoria A disposizione del docente: Lezioni LIM,
e seguire passo passo lo svolgimento. presentazioni modificabili in PowerPoint sui
principali contenuti di ogni unità e Verifiche
Laboratori “Case studies” per mettere in
personalizzabili in Word.
pratica le competenze acquisite.
Audio in inglese delle rubriche CLIL.
Glossario interattivo in italiano e in inglese,
con funzione di ricerca.
Test interattivi e autocorrettivi di fine unità.

CAMPUS
Il Campus di Informatica è il portale disciplinare dedicato ai docenti. Qui si possono trovare aggiornamenti
e nuovi spunti per progettare il proprio lavoro e moltissime risorse, comodamente organizzate per
argomento, per costruire l’attività didattica, in classe e a casa.
Numerosi sono poi le indicazioni e gli strumenti per un approccio concreto alla didattica inclusiva.

I Campus sono consultabili all’indirizzo: campus.mondadorieducation.it.


INSIEME È FACILE
Come strumenti compensativi e, in ottica più generale, per una didattica inclusiva
in particolare si segnalano:

Mappe concettuali modificabili con la sintesi di ogni unità.


Il libro digitale è accessibile: con un clic è possibile infatti passare alla versione
ad alta leggibilità, costruita con il carattere biancoenero®
e con funzione di Text to speech.

1. Per un’esperienza di lettura personalizzata


è possibile modifcare il carattere,
visualizzare il testo tutto maiuscolo,
1 allargare lo spazio tra le parole,
ampliare la distanza tra le righe
e scegliere lo sfondo (chiaro o scuro).
2. Vantaggi di un carattere
ad alta leggibilità.

DIDATTICA INTEGRATA FLIPPED CLASSROOM


IN 4 MOSSE IN 3 MOSSE

Sostituire. La tecnologia è un semplice La Flipped Classroom è una buona


sostituto di uno strumento “analogico” pratica per lo sviluppo e la certificazione
che già si utilizza. delle competenze e per una didattica
che sia realmente personalizzata.
Aumentare. La tecnologia agisce come
un sostituto ma offre funzionalità aggiuntive. 1. Introduzione del nuovo concetto: a casa,
lo studente apprende in autonomia.
Modificare. La tecnologia consente
di progettare in modo nuovo compiti 2. Lezione e compito autentico:
e attività usuali. in classe, il docente rivede
e approfondisce l’argomento e assegna
Ridefinire. Grazie alla tecnologia,
poi un compito autentico.
si individuano nuovi compiti
che altrimenti non sono immaginabili. 3. Valutazione.

* per saperne di più: * per saperne di più:


www.mondadorieducation.it/samr www.mondadorieducation.it/flippedclassroom
IL PROGETTO DIDATTICO

L’INGRESSO ALLA SEZIONE SPIEGAZIONI CON VERIFICHE IMMEDIATE


ACCETTI LA SFIDA? Conversione da decimale a binario
Ora proviamo a convertire in binario il numero decimale 0.63.
La conversione di un numero decimale (ad esempio 112) in binario si effettua tra- 0.63 * 2 = 1.26 la parte intera è 1
I virus: sai davvero che cosa sono? • Elenca nella tabella i principali malware, descrivendone le caratteristiche (compila la tabella se- mite l’algoritmo della divisione, ossia dividendo successivamente per 2 (base del 0.26 * 2 = 0.52 la parte intera è 0
guente oppure realizzane una sul tuo quaderno, o in un documento elettronico. sistema binario) il numero decimale da convertire fino a quando non si trova il
A volte trovi un virus sul computer senza sapere come vi sia arrivato. Alcuni virus causano solo fastidi, 0.52 * 2 = 1.04 la parte intera è 1
Caratteristiche quoziente uguale a 0. Terminate le divisioni, si considerano i resti al contrario.
mentre la maggior parte è dannosa e ideata per infettare e prendere il controllo dei sistemi vulnerabili. 0.04 * 2 = 0.08 la parte intera è 0
Un virus può diffondersi in molti computer e reti duplicandosi, proprio come fa un virus biologico che 0.08 * 2 = 0.16 la parte intera è 0

ARCHITETTURA DEL COMPUTER 0.16 * 2 = 0.32 la parte intera è 0

Sezione A Affronta l’esercitazione come una sfida, come se entrassi in un videogame che ti chiede di superare una

E SISTEMI OPERATIVI
OSSERVA COME SI FA 0.32
...
* 2 = 0.64 la parte intera è 0

1 Convertiamo il numero decimale 845 nel suo equivalente binario. Come puoi notare, la parte decimale continua a risultare diversa da zero costringendoci a ese-
guire ulteriori moltiplicazioni. In situazioni di questo tipo conviene stabilire a priori un numero
Ognuno di noi può utilizzare qualsiasi metodo di scrittura per eseguire la divisione per 2.
Che cosa ti fa venire in mente la parola virus? Scrivi nella tabella le singole parole o le definizioni Lo sai? massimo di moltiplicazioni da effettuare.
PRIMA DI INIZIARE… CONOSCENZE
Per approfondire il discorso, leggi l’articolo che puoi trovare all’indirizzo: https://www.fribby.net/
cosa-sono-ed-a-cosa-servono-gli-antivirus. Se, dopo la lettura, qualcosa non ti è chiaro, chiariscilo con
Quindi, se supponiamo di considerare solo cinque bit, l’equivalente binario di 0.63(10) sarà
Dividendo Divisore Quoziente Resto 0.10100(2)
• Struttura logico-funzionale altre ricerche in Internet. Spostare (shiftare) 845 2 422 1
Brainstorming Esegui il test di un computer
Ora, dai uno sguardo al software antivirus installato sul tuo computer e compila la tabella seguente, le cifre di un numero
• Funzioni di un sistema operativo verso sinistra, 422 2 211 0
oppure realizzane una sul tuo quaderno o in un documento elettronico.
1il dibattito,
Durante Scrivi nelleevidenzia
caselle i nomi
computer.
delle varie
in giallo componenti
le parole e periferiche
o le frasi che hai del
scritto e che ritieni corrette,
• Sistemi e in
di numerazione diversi dal aggiungendo uno 0 211 2 105 1
ORA TOCCA A TE
decimale e conversioni in basi diverse a destra, equivale a
Descrizione 105 2 52 1
2 • Aritmeticail binaria moltiplicare il numero
1 che puoi reperire all’indirizzo: 3
Guarda il video . Cerca di comprendere tema,e codifca per il valore della base.
dell’informazione all’interno 52 2 26 0 1
concentrando la tua attenzione su come agisce il software di4 cui si parla. Appunta informazioni
di un computer
ac Ad esempio, il numero
Trasforma il numero decimale 147(10) nel suo equivalente binario:
decimale 32 diventa 26 2 13 0
320, mentre 13 2 6 1 Dividendo Divisore Quoziente Resto
ABILITÀ ☐ Sì ☐ No il numero binario
• Comprendere la struttura 111(2) = 7 diventa 6 2 3 0
logico-funzionale e fsica di un computer ☐ Sì ☐ No 1110(2) = 7*2=14. 3 2 1 1
6 • Saper creare e gestire fle e cartelle
1 2 0 1
5 con Windows
• Saper operare con numeri binari
e convertire numeri decimali L’equivalente binario del numero 845(10) è 1101001101(2)
1 2 3 Sulla base delle informazioni che hai ricavato dalla consultazione dei materiali, dalle risposte che hai
in basi diverse
4 5 6 • Comprendere e utilizzare le tecniche
dato ai quesiti e dai lavori condotti con il tuo gruppo a scuola, prova a rispondere ai seguenti quesiti.
per la rappresentazione dei dati 2 Convertiamo il numero decimale 0.53125 nel suo equivalente binario.
2
Riprendi la Completa il seguente diagramma.
tabella precedente e metti in comune le tue idee con quelle dei compagni del tuo gruppo.
all’interno di un computer Domanda Risposta In questo caso utilizziamo il metodo delle moltiplicazioni successive. Il prodotto ottenuto sarà 147(10) = ……………….(2)
Prova, poi, a effettuare ricerche ulteriori, anche relative a una disciplina diversa, come la biologia. A anch’esso composto da una parte intera e da una decimale. La parte intera, che potrà essere
COMPETENZE soltanto 1 o 0, rappresenta il nostro bit, mentre la parte decimale continuerà a essere moltipli-
formazioni acquisite con le ricerche. Infineè prova
il logo a organizzare in una mappa concettuale – insieme cata per due. I bit ottenuti saranno scritti uno di seguito all’altro nello stesso ordine in cui sono
Questo • Comprendere le ragioni che hanno
ottenuti, cioè da sinistra a destra. Il procedimento termina quando da una moltiplicazione si
del sistema operativo? prodotto lo sviluppo scientifco 2 Trasforma il numero decimale 212(10) nel suo equivalente binario:
________________ e tecnologico nel tempo, in relazione ottiene un prodotto privo di parte decimale (cioè con parte decimale uguale a zero). Tuttavia, se
ai bisogni e alle domande questo non avviene (pensa ai numeri periodici), possiamo bloccare il procedimento dopo aver
di conoscenza dei diversi contesti, Quale sistema antivirus desidereresti installare eseguito un determinato numero di moltiplicazioni. In questo caso, naturalmente, il numero Dividendo Divisore Quoziente Resto
Sistema operativo: binario ottenuto sarà solo un’approssimazione del numero decimale.
che cos’è?
con attenzione critica alle dimensioni sul tuo computer e perché? Motiva la tua risposta.
tecnico-applicative delle conquiste Ora effettuiamo la conversione:
________________ scientifche
0.53125 * 2 = 1.0625 la parte intera è 1
________________ • Essere consapevole delle potenzialità Confronta le risposte con quelle dei tuoi compagni e, insieme, cercate di confrontare le caratteristi-
e dei limiti delle tecnologie 0.0625 * 2 = 0.125 la parte intera è 0
Completa il diagramma _______________ che dei vostri antivirus. Riflettete sulle impostazioni che ognuno di voi ha ritenuto più adeguate per
1 nel contesto culturale e sociale 0.125 * 2 = 0.25 la parte intera è 0
In base alle tue attuali conoscenze, in cui vengono applicate
0.25 * 2 = 0.5 la parte intera è 0 212(10) = ……………….(2)
scrivi a fianco le parole chiave che Questo è il logo Questo è il logo Guarda insieme ai compagni del tuo gruppo il video che puoi reperire all’indirizzo: https://www.
ti vengono in mente pensando Da solo, o con del
i compagni del tuo gruppo, svolgi undel
sistema operativo? lavoro di approfondimento
sistema operativo? sui cosiddetti malware youtube.com/watch?v=CDPAGaYtHos. Quale impressione hai avuto e quali sono le tue conclusioni? 0.5 * 2 = 1.0 la parte intera è 1 e la parte decimale è 0.
a un computer. 2 ________________ ________________
Il numero binario corrispondente è, quindi, 0.10001(2)
Aiutati con le seguenti domande:
Rivedi il video proposto nella prima fase e fai un’altra ricerca, utilizzando Internet o altre fonti,
3 Quale delle quattro figure numerate a 1. 2. FLIPPED CLASSROOM
1 Che cos’è un computer? per chiarire il diverso significato dei termini virus e malware. Ricordati che per poter discutere a
destra collocheresti al posto del punto
Alternando attività a casa e a
2 A che cosa serve? 3 interrogativo nella sequenza riportata
scuola, cerca di rispondere alla
qui sotto? Perché?
3 Da che cosa è composto?
domanda che ti viene proposta. 12 Sezione A Architettura del computer e sistemi operativi I sistemi di numerazione A1 13
a. b. c. 3. 4. Architettura del computer e sistemi operativi Sezione A 5
4 Lo usi frequentemente? 4
5 Per quali scopi principali lo usi?
d. e.
Una volta scritte le parole chiave,
discutile con il tuo insegnante
e con i tuoi compagni.
5
? I virus: sai davvero che cosa sono?

2 3

IL RIPASSO IN OTTICA INCLUSIVA LA VERIFICA DELLE CONOSCENZE, ABILITÀ, COMPETENZE


RIPASSIAMO INSIEME B1
Metti a punto le tue Allena le tue ABILITÀ
RETI DI COMUNICAZIONE
MAPPA
MODIFICABILE
Conoscenze CONOSCENZE TEST
Svolgi il test interattivo D2 e le tue COMPETENZE D2
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre. Risposta singola 9 Al termine dell’esecuzione del seguente blocco
Ao0 ABILITÀ 4 Date le variabili A 5 5, B 5 10, C 5 12 qual è il
Quali sono gli elementi Quali sono i tipi di rete? 1 Un’azione elementare: risultato delle seguenti assegnazioni?
AoA*8 1 Dato il seguente ambiente di valutazione:
della comunicazione? Indica se le affermazioni seguenti sono vere o false. A può essere scomposta in azioni basilari
C o A ________________
la variabile A contiene il valore: (a,10), (b, 20), (c, 15)
PAN, LAN, CAN, MAN, WAN. B non può essere scomposta in azioni più semplici
A o B ________________
C è anche detta istruzione A 0 B 40 C 15 qual è il nuovo ambiente di valutazione nei
I soggetti, il mezzo trasmissivo, 1) La terminologia “a stella” contraddistingue B o C ________________
D non è compresa in modo univoco dall’esecutore D non si sa, poiché non è noto il valore che aveva la seguenti casi?
il linguaggio e le regole. una tipologia di mezzo trasmissivo (H) ......................... ☐ V ☐ F variabile A prima dell’esecuzione dell’istruzione a) a o 10 * b 5 Scrivi gli algoritmi risolutivi dei seguenti
2 Il problema: “Determinare il volume di una
piramide quadrata di altezza 12,4 cm”: 10 La variabile A vale 3 e la variabile B vale 2. b) aoa*b problemi:
2) Una corretta comunicazione ha bisogno di regole Stabilisci quale valore assume la variabile C dopo c) c o a 1 10 * b
A non può essere risolto, poiché non sono
l’esecuzione dell’istruzione: • risolvi l’equazione di primo grado ax = b
ben precise (A) ........................................................................ ☐ V ☐ F esplicitamente definiti i risultati richiesti d) a o a 1 10 * b
CoA1B23 e) boa
• calcola l’area e la misura di una circonferenza
B non può essere risolto, poiché non è scindibile in noto il raggio
3) Un segnale analogico può essere trasformato azioni elementari A 22 B 0 C 1 D 2 f) aoa
in un segnale digitale considerando un numero C non può essere risolto, poiché non è presente un 11 La variabile A vale 3 e la variabile B vale 2.
6 Valuta la seguente espressione e completa la
Un segnale analogico I mezzi trasmissivi dato significativo 2 Scrivi accanto a ogni identificatore se può essere tabella:
Le topologie di rete finito di valori (B) ................................................................ ☐ V ☐ F Stabilisci quale valore assume la variabile C dopo dichiarato come costante o variabile:
D può essere risolto in un numero finito di azioni l’esecuzione del seguente blocco:
è continuo nel tempo. di rete sono: sono: elementari
Espressione: A Å X / Y
Co2 Pigreco
Un segnale digitale è – cavi in rame – a stella 4) Una rete wireless non ha bisogno di cavi E nessuna delle precedenti affermazioni è corretta CoA1B23 AltezzaTriangolo Ambiente di valutazione Valore fnale
discreto, ovvero può (UTP, STP, FTP); – ad anello per collegare i vari dispositivi (D) ................................ ☐ V ☐ F
3 Quale tra le seguenti non è una caratteristica A 22 B 0 C 1 D 2 PesoPersona
(X,10,INTERO) (Y,2,INTERO) (A,____, INTERO)
assumere soltanto – fibra ottica; – a bus degli algoritmi?
5) Quando si parla di banda larga ci si riferisce PesoSpecificoAcqua
un numero finito di – wireless (senza A finitezza B generalità (X,10,_______) (Y,2.5,_______) (A,____, _______)
– a maglia in particolare alla tecnologia ADSL (E) ...................... ☐ V ☐ F Vero o falso Età
C completezza D razionalità
valori. cavi). 12 il tipo di dato è definito esclusivamente in funzione EtàMaggiorenne
(X,66,INTERO) (Y,10,________) (A,____, _______)
4 La caratteristica della non ambiguità di un
algoritmo fa riferimento al fatto che: del valore che il dato stesso può assumere V F (X,50.6,_________) (Y,2.3,INTERO) (A,____, INTERO)
Completa le affermazioni seguenti. 3 Per i seguenti esercizi:
A un algoritmo deve essere valido per tutti i problemi 13 i dati numerici sono per forza senza (X,_______,________) (Y,12 ,_______) (A,____, _______)
di una classe decimali V F • individua le costanti e le variabili
6) Il mezzo trasmissivo rappresenta l’elemento fisico B ogni azione deve essere rigorosamente definita • individua i dati in input e in output COMPETENZE
14 il peso specifico dell’acqua
della …………………………….. (A) nei suoi effetti è rappresentato con una variabile V F • descrivi l’evoluzione dell’ambiente di valutazione
7 Scrivi gli algoritmi risolutivi dei seguenti
Quali tipi di modem Con quale tecnologia viene C a ogni unità finita di tempo l’esecutore deve • riporta la strategia risolutiva
15 il linguaggio dei diagrammi a blocchi viene problemi:
conosci? gestita la banda larga? 7) La sigla WAN contraddistingue un tipo di ……………....…. (G) scegliere e compiere una e una sola azione
utilizzato per descrivere un algoritmo V F a) Calcola il doppio di un numero fornito in input
D la strategia risolutiva descritta dall’algoritmo deve
b) Scambia il contenuto di due variabili
• calcola il doppio di un numero fornito in input
– Modem analogico ADSL (Asymmetric Digital 8) FTTS significa Fiber To The ........................ (F) essere composta da un numero finito di azioni 16 linguaggio di progetto e pseudolinguaggio
c) Calcola la misura dell’ipotenusa di un triangolo • scambia il contenuto di due variabili
5 L’operazione che definisce il tipo di dato di una sono sinonimi V F • calcola la misura dell’ipotenusa di un triangolo
– Modem ISDN Subscriber Line) rettangolo noti i cateti
9) Il segnale digitale viene realizzato prendendo alcuni valori variabile prende il nome di: 17 il numero dei mesi dell’anno può essere d) Ottieni una bibita da un distributore automatico rettangolo noti i cateti
– Modem ADSL A assegnazione B inizializzazione memorizzato all’interno di una costante V F •
dal segnale …………………… (B) e) Prepara un piatto di spaghetti al sugo calcola l’area di un rettangolo note le misure della
– Modem GPRS/EDGE/ C tipizzazione D dichiarazione 18 l’indirizzo di un’abitazione f) Scatta una fotografia base e dell’altezza
UMTS/HSDPA 10) Il modem ADSL gestisce connessioni in banda .................. (C, E) 6 I dati alfanumerici sono anche detti: è di tipo stringa V F g) Travasa un contenitore d’acqua in 30 bottiglie da 8 Stabilisci dati iniziali, strategia risolutiva e dati
A costanti B stringhe un litro finali del problema fare il caffè con la moka.
19 il numero di telefono di un amico
11) Nella rete a …………………. esiste un nodo centrale che C booleani D reali è di tipo stringa V F h) Aggiorna l’orario di un orologio digitale
Quali sono i sistemi in uso per i) Aggiorna la data di un orologio digitale 9 Stabilisci dati iniziali, strategia risolutiva e dati
accentra il segnale (H) 7 Una sequenza di caratteri prende il nome di: finali del problema salvare un file su una USB.
la fibra, il mezzo trasmissivo A alfanumerica B stringa j) Cambia un pneumatico (forato) di un’auto
Completamento k) Sintonizzati sul programma televisivo di tuo 10 Stabilisci dati iniziali, strategia risolutiva e dati
attualmente più veloce? 12) La ……………………… rappresenta il mezzo trasmissivo più veloce C variabile D costante
interesse
20 Completa la seguente frase: finali del problema farcire il panino.
disponibile al momento (F) 8 Al termine dell’esecuzione dell’istruzione: l) Registra dalla radio una canzone con il registratore
FTTS – Fiber To The Street A o A * 8 la variabile A contiene il valore: Un ___________ deve essere ________________ 11 Stabilisci dati iniziali, strategia risolutiva e dati
A 0 B 40 C 15 cioè deve terminare e le sue istruzioni devono finali del problema catturare un pokemon.
FTTH – Fiber To The Home essere non _____________ in quanto non devono
D non si sa, poiché non è noto il valore che aveva la
variabile A prima dell’esecuzione dell’istruzione lasciare adito ad __________________.

112 Sezione B Internet e cloud computing Reti di comunicazione e trasmissione dei dati B1 113 284 Sezione D Algoritmi e linguaggi di programmazione Dal problema all’algoritmo D2 285

LA PREPARAZIONE ALLA CERTIFICAZIONE DELLE COMPETENZE PROBLEM SOLVING E LINGUAGGI DI PROGRAMMAZIONE


Sezione B
Algoritmi e linguaggi
Traguardo COMPETENZE 1 Sezione D di programmazione
Verso la certificazione
4
PRIMA DI INIZIARE… CONOSCENZE
Compito di realtà 1 – LAN e WLAN • Le tecniche per la modellizzazione
2 Brainstorming Esegui il test di un problema
• Il concetto di algoritmo
LE COMPETENZE CHE DOVRAI CERTIFICARE 1 Inserisci le cifre date nei cerchi vuoti in modo da ottenere lungo
ciascun segmento un totale sempre uguale a 40.
• La struttura di un programma
in linguaggio C/C++

Competenza Declinazione
2 4 6 8 10 • Le strutture di controllo
dei linguaggi C/C++
3 5 24
Comprendere la struttura logico-funzionale della struttura fisica e del software
Individuare collegamenti di un computer e di reti locali, tale da consentire la scelta dei componenti più adatti
e relazioni alle diverse situazioni e le loro configurazioni, la valutazione delle prestazioni, ABILITÀ
il mantenimento dell’efficienza.
30 18 • Individuare strategie risolutive

Acquisire l’abitudine a ragionare con rigore logico, a identificare i problemi e a individuare


• Individuare i dati di input e di output
Risolvere problemi
possibili soluzioni. • Formalizzare una strategia risolutiva
➤ Motiva razionalmente le scelte compiute secondo formalismi specifci
Acquisire e interpretare Essere in grado di interpretare criticamente l’informazione ricevuta nei diversi ambiti Affronta il problema relativo alla necessità di collegare tutti i dispositivi indicati in figura. • Codifcare algoritimi
l’informazione e attraverso diversi strumenti comunicativi. in linguaggio C/C++
........................................................................................................................... 26 22
Organizzare il proprio apprendimento individuando, scegliendo e utilizzando ...........................................................................................................................
Imparare a imparare varie fonti e varie modalità di informazione e di formazione per motivare razionalmente COMPETENZE
le scelte compiute, i parametri di valutazione e i criteri di selezione utilizzati. ........................................................................................................................... 2 Osservando le prime due bilance in perfetto equilibrio, sai dire quanti • Utilizzare le strategie del pensiero
quadrati sono necessari per equilibrare la terza bilancia? negli aspetti didattici e algoritmici per
afrontare situazioni problematiche
➤ Identifica il problema ➤ Esplicita le decisioni operative elaborando opportune soluzioni
Un provider, al quale ti sei rivolto per avere un collegamento internet, ti ha fornito in Sei giunto alla conclusione che hai bisogno del seguente ulteriore materiale: • Analizzare dati e interpretarli
sviluppando deduzioni e
dotazione un modem/router wireless. Il modem oltre all’antenna per il collegamento
Dispositivi attivi Dispositivi passivi ragionamenti sugli stessi anche con
in wireless dispone anche di un’ulteriore porta di rete per collegare un eventuale di- l’ausilio di rappresentazioni grafche
spositivo attraverso il cavo di rete. Deve essere garantito l’accesso a Internet a tutti i • Saper usare le tecniche di
dispositivi presenti all’interno della casa, in particolare: 3 Con quale numero continua la serie in basso?
formalizzazione algoritmica in
• PC fisso del padre; n. 1 .................................................................................. n. 4 .................................................................................. relazione all’analisi dei dati e alla
• PC fisso del fratello; Completa il diagramma
1
2 4 8 10 20 22 ? modellizzazione di specifci problemi
scientifci
• notebook della madre; Ora completa il seguente schema, facendo gli opportuni collegamenti.
In base alle tue attuali conoscenze, scrivi a
• 4 smartphone; fianco le parole chiave che ti vengono in mente
pensando all’attività di programmazione. 4 Quanti quadratini mancano per completare la figura e di che colore
• stampante di rete. Aiutati con le seguenti domande: 2 sono?
A parte gli smartphone, soltanto il portatile del padre dispone di una scheda di rete
wireless.
1 Che cos’è un problema?
Smartphone 2 Quali tecniche usi per FLIPPED CLASSROOM
risolvere un problema?
➤ Identifica gli strumenti utilizzati PC 3 Alternando attività a casa e a
Il modem in dotazione è quello rappresentato in figura a pagina seguente; sapresti
3 Usi le mappe concettuali scuola, cerca di rispondere alla
a scuola? Se hai risposto sì, domanda che ti viene proposta.
indicare i nomi dei vari componenti numerati? perché lo fai? Se hai risposto no,
Notebook perché dovresti farlo?
1 ..................................... 4 ..................................... 4
4 Hai mai sentito parlare di Coding?
2 ..................................... 5 ..................................... 5 Usi le app sul tuo smartphone? Sai che
cosa sono le app?
3 ..................................... Internet
PC
Stampante 5
Una volta scritte le parole chiave, discutile con Perché è importante programmare?
il tuo insegnante e con i tuoi compagni.
156 Sezione B Internet e cloud computing Internet e cloud computing Sezione B 157
240 241

L’ingresso alla sezione Il ripasso in ottica inclusiva La preparazione alla certificazione


All’inizio della sezione: il brainstorming Alla fne dell’unità la mappa riepilogativa delle competenze
diagnostico della classe, un test ad alta leggibilità (modifcabile nella Alla fne della sezione, la scheda Traguardo
d’ingresso, gli obiettivi da raggiungere; le versione digitale) è affancata da un test per Competenze propone un compito di realtà,
pagine Accetti la sfda? per sperimentare la verifca dei saperi minimi (autocorrettivo per esercitarsi in vista della certifcazione.
l’approccio didattico “capovolto” (Flipped nella versione digitale). Problem solving
Classroom), con attività alternate da La verifica delle conoscenze, e linguaggi di programmazione
svolgere a casa e a scuola. abilità e competenze L’ultima sezione introduce alla creazione di
Spiegazioni con verifiche immediate Per ogni unità, Metti a punto le tue algoritmi e alla programmazione strutturata,
Le unità, con l’aiuto di immagini, schemi e conoscenze offre quesiti strutturati per da Scratch ai linguaggi C e C++.
tabelle, espongono in modo chiaro i concetti verifcare l’apprendimento, Allena le tue Nel CD-ROM: i fle sorgenti di tutti i
e le procedure. Le schede Osserva come si abilità e le tue competenze propone programmi C/C++ presenti nel volume,
fa e Ora tocca a te consentono di verifcare esercizi e problemi per sviluppare abilità e Esercizi commentati passo per passo e
e mettere subito in pratica quanto appreso. competenze di materia. Laboratori Case Studies.
Indice CONTENUTI DIGITALI
INTEGRATIVI

SEZIONE A
ARCHITETTURA DEL COMPUTER E SISTEMI OPERATIVI 2
Accetti la sfda? I virus: sai davvero che cosa sono? 4

A0 Il computer al servizio del progresso UNITÀ INTEGRATIVA

A1 I sistemi di numerazione 6 ESERCIZI COMMENTATI


Segui la risoluzione passo passo
1 Che cos’è un sistema di numerazione 6
2 I sistemi addizionali 6 MAPPA MODIFICABILE
3 I sistemi posizionali 7 TEST
4 Il sistema di numerazione decimale 8 Svolgi il test interattivo

5 Il sistema di numerazione binario 9


6 Conversione dal sistema binario a quello decimale e viceversa 9
7 Operazioni aritmetiche con i numeri binari 14
8 Il sistema di numerazione esadecimale 19
9 Conversioni tra i sistemi esadecimale, decimale e binario 19
Ripassiamo insieme 22
Metti a punto le tue CONOSCENZE 24
Allena le tue ABILITÀ e le tue COMPETENZE 25

A2 La codifica dell’informazione 26 MAPPA MODIFICABILE


1 Dati, informazioni e codice 26
TEST
2 La codifica dei numeri interi 27 Svolgi il test interattivo
3 La codifica dei numeri reali 31
4 La codifica dei caratteri 38
Ripassiamo insieme 40
Metti a punto le tue CONOSCENZE 42
Allena le tue ABILITÀ e le tue COMPETENZE 43

A3 L'architettura del computer 44 MAPPA MODIFICABILE


1 Il computer 44
TEST
2 Hardware e software 44 Svolgi il test interattivo
3 Il case e la scheda madre 45
4 Collegare le periferiche al computer: le porte 46
5 L’unità centrale di elaborazione (CPU) 48
6 La memoria 48
Infografca Storia del computer 50
7 I bus 53
8 Le memorie di massa 54
9 Le periferiche di input 57
10 Le periferiche di output 59
11 Tipi di computer 60
Infografca Il software 62
Ripassiamo insieme 64
Metti a punto le tue CONOSCENZE 66

IX
A4 Il sistema operativo 68 CONTENUTI DIGITALI
1 Che cos’è il sistema operativo 68 INTEGRATIVI

2 L’avvio del computer 69


3 Il desktop 70
4 Le icone 71 MAPPA MODIFICABILE

5 Le barre laterali 72 TEST


Svolgi il test interattivo
6 Personalizziamo il desktop 73
7 Le applicazioni 74 GLOSSARIO CLIL
8 Il menu del pulsante Start 76 AUDIO
9 Le finestre 76 Ascolta la pronuncia
10 La barra delle applicazioni 76
11 Lavoriamo con le finestre 79
12 Il sistema di archiviazione 80
13 Il programma Esplora file 81
14 Tipi e attributi dei file 81
15 Ricercare file e cartelle 85
16 Il Pannello di controllo 86
Ripassiamo insieme 88
Metti a punto le tue CONOSCENZE 90
Allena le tue ABILITÀ e le tue COMPETENZE 91

A5 La codifica dell’informazione multimediale UNITÀ INTEGRATIVA

Traguardo COMPETENZE – Verso la certifcazione 92


CLIL 96
Un SELFIE rifessivo 97

SEZIONE B
INTERNET E CLOUD COMPUTING 98
Accetti la sfda? Pregi e difetti della rivoluzione digitale: sai scoprirli? 100

B1 Reti di comunicazione e trasmissione dei dati 102 LABORATORI “CASE STUDIES”


1 La telecomunicazione 102 Approfondisci con i casi pratici

2 Gli elementi della comunicazione 102 MAPPA MODIFICABILE


3 Le reti di computer 103
TEST
Infografca Tipi di reti e vantaggi della connessione 104 Svolgi il test interattivo
4 I segnali analogici e digitali 106
5 I mezzi trasmissivi 106
6 Reti analogiche e reti digitali 108
7 La banda larga 108
8 Le topologie di rete 109
9 Creare una semplice LAN 110
Ripassiamo insieme 112
Metti a punto le tue CONOSCENZE 114

X
B2 Navigare in Internet 116 CONTENUTI DIGITALI
1 Le origini di Internet 116 INTEGRATIVI

2 Il WWW e la navigazione ipermediale 117


3 I browser 117
4 Gli indirizzi IP 118 MAPPA MODIFICABILE

5 La connessione a Internet 119 TEST


Svolgi il test interattivo
6 I provider 119
7 Internet mobile 119 GLOSSARIO CLIL
8 Architettura client-server 121
AUDIO
9 Il Web: protocolli e linguaggi 121 Ascolta la pronuncia
10 Home page e link 122
11 Eseguire ricerche nel WWW 122
12 La posta elettronica 124
13 Due chiacchiere in Rete: le chat 125
14 I feed RSS 126
15 Il podcasting 126
16 Le comunità virtuali 127
17 I social network 129
Ripassiamo insieme 130
Metti a punto le tue CONOSCENZE 132
Allena le tue ABILITÀ e le tue COMPETENZE 133

B3 I sistemi di cloud computing 134 MAPPA MODIFICABILE


1 Il cloud computing 134 TEST
2 Le tipologie del cloud computing 136 Svolgi il test interattivo
3 Il cloud storage 138
GLOSSARIO CLIL
4 G Suite: oltre il motore di ricerca 141
5 G Suite a scuola 150 AUDIO
Ascolta la pronuncia
Ripassiamo insieme 152
Metti a punto le tue CONOSCENZE 154
Allena le tue ABILITÀ e le tue COMPETENZE 155

Traguardo COMPETENZE – Verso la certifcazione 156


CLIL 160
Un SELFIE rifessivo 161

SEZIONE C
IL DOCUMENTO ELETTRONICO 162
Accetti la sfda? Da Microsoft a Gutenberg: un viaggio a ritroso! 164

C0 I vari tipi di documenti elettronici UNITÀ INTEGRATIVA

C1 Scrivere con un elaboratore di testi 166 ESERCIZI COMMENTATI


1 L’elaborazione dei testi 166 Segui la risoluzione passo passo

2 Creare un nuovo documento: i modelli 166 LABORATORI “CASE STUDIES”


Approfondisci con i casi pratici
3 Gli elementi di base di un documento 167
4 Salvare, chiudere e aprire un documento 169 APPROFONDIMENTI
5 La formattazione del testo 169

XI
6 Selezionare, copiare e spostare il testo 171 CONTENUTI DIGITALI
7 Formattare i paragrafi 172 INTEGRATIVI

8 Applicare bordi e sfondi al testo 173


9 Anteprima e stampa di un documento 176 MAPPA MODIFICABILE
10 Il righello e i rientri 176
TEST
11 Gli elenchi puntati e numerati 177 Svolgi il test interattivo
12 Le tabelle 180
13 La correzione del testo 184
14 Trova e sostituisci 185
Ripassiamo insieme 186
Metti a punto le tue CONOSCENZE 188
Allena le tue ABILITÀ e le tue COMPETENZE 189

C2 Calcolare con un foglio elettronico 192 ESERCIZI COMMENTATI


Segui la risoluzione passo passo
1 Che cos’è un foglio elettronico 192
LABORATORI “CASE STUDIES”
2 Il foglio di lavoro e la cella 193 Approfondisci con i casi pratici
3 Creare un nuovo foglio di calcolo 193
APPROFONDIMENTI
4 Salvare il lavoro e uscire dal programma 194
5 Inserire, rinominare e cancellare un foglio di lavoro 194 MAPPA MODIFICABILE
6 Che cosa si può inserire nelle celle 195
TEST
7 Lavorare con celle, colonne e righe 196 Svolgi il test interattivo
8 Formattare le celle 198
9 Inserimento automatico dei dati: il riempimento automatico 199
10 Le formule 199
11 Le funzioni 201
12 I grafici 214
Ripassiamo insieme 216
Metti a punto le tue CONOSCENZE 218
Allena le tue ABILITÀ e le tue COMPETENZE 219

C3 Comunicare con un programma di presentazione 220 ESERCIZI COMMENTATI


Segui la risoluzione passo passo
1 Presentazioni con PowerPoint 220
LABORATORI “CASE STUDIES”
2 Le sei regole d’oro 220 Approfondisci con i casi pratici
3 Creare e aprire una presentazione 222
APPROFONDIMENTI
4 Operare con le diapositive 223
5 Avviare la presentazione 224 MAPPA MODIFICABILE
6 La grafica SmartArt: gli organigrammi 226 TEST
7 Realizzare ipertesti 227 Svolgi il test interattivo
8 Stampare diapositive 230 GLOSSARIO CLIL
9 Creare animazioni personalizzate 230
AUDIO
10 Impostare la transizione delle diapositive 231 Ascolta la pronuncia
Ripassiamo insieme 232
Metti a punto le tue CONOSCENZE 234
Allena le tue ABILITÀ e le tue COMPETENZE 235

Traguardo COMPETENZE – Verso la certifcazione 236


CLIL 238
Un SELFIE rifessivo 239

XII
SEZIONE D CONTENUTI DIGITALI
INTEGRATIVI
ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE 240
Accetti la sfda? Saper programmare non è più da nerd, è cool! 242

D1 L’informatica e il problem solving 244 LABORATORI “CASE STUDIES”


Approfondisci con i casi pratici
1 L’informatica e il trattamento delle informazioni 244
2 I problemi e il problem solving: la strategia risolutiva 245 MAPPA MODIFICABILE

3 L’analisi della formulazione dei problemi 249 TEST


4 La modellizzazione del problema 253 Svolgi il test interattivo

5 I metodi per trovare la strategia risolutiva 258


6 Risolutore ed esecutore 259
Ripassiamo insieme 262
Metti a punto le tue CONOSCENZE 264
Allena le tue ABILITÀ e le tue COMPETENZE 265
ESERCIZI COMMENTATI
D2 Dal problema all’algoritmo 266 Segui la risoluzione passo passo
1 Costruire strategie risolutive non ambigue 266
2 Azioni e istruzioni 272 MAPPA MODIFICABILE

3 Il concetto di algoritmo 273 TEST


Svolgi il test interattivo
4 Rappresentazione degli algoritmi 274
5 Rappresentazione di variabili e costanti 276
6 Espressioni e loro valutazione 279
Ripassiamo insieme 282
Metti a punto le tue CONOSCENZE 284
Allena le tue ABILITÀ e le tue COMPETENZE 285

D3 Costruiamo algoritmi ESERCIZI COMMENTATI


Segui la risoluzione passo passo
con la programmazione strutturata 286
1 Le istruzioni di un algoritmo: classificazione per tipo 286 LABORATORI “CASE STUDIES”
Approfondisci con i casi pratici
2 Le istruzioni di inizio e fine e le istruzioni operative 286
3 Le strutture di controllo 293 MAPPA MODIFICABILE

4 La sequenza 293 TEST


5 La selezione 297 Svolgi il test interattivo

6 L’algebra booleana e il suo ruolo nella programmazione strutturata 305


Ripassiamo insieme 314
Metti a punto le tue CONOSCENZE 316
Allena le tue ABILITÀ e le tue COMPETENZE 317
LABORATORI “CASE STUDIES”
D4 L’iterazione nella programmazione strutturata 322 Approfondisci con i casi pratici
1 Il costrutto iterativo e la potenza di calcolo 322
MAPPA MODIFICABILE
2 Il costrutto iterativo precondizionale 323
3 Il costrutto iterativo postcondizionale 329 TEST
Svolgi il test interattivo
4 Il costrutto iterativo definito 336
Ripassiamo insieme 338
Metti a punto le tue CONOSCENZE 340
Allena le tue ABILITÀ e le tue COMPETENZE 341

XIII
D5 Scratch: programmare giocando 344 CONTENUTI DIGITALI
1 Scratch 344 INTEGRATIVI

2 Gli elementi di Scratch 345


3 Lo stage 345 ESERCIZI COMMENTATI
4 Componiamo la scena 346 Segui la risoluzione passo passo
5 Costruiamo i primi script 347 LABORATORI “CASE STUDIES”
Approfondisci con i casi pratici
6 I costumi degli sprite 354
7 Codifichiamo gli algoritmi 354 MAPPA MODIFICABILE
8 L’iterazione e i suoni 359 TEST
9 Un semplice videogame 362 Svolgi il test interattivo
10 Creare nuovi blocchi 363
Ripassiamo insieme 364
Metti a punto le tue CONOSCENZE 366
Allena le tue ABILITÀ e le tue COMPETENZE 367

D6 I linguaggi C e C++: le basi 368 ESERCIZI COMMENTATI


Segui la risoluzione passo passo
1 Dall’algoritmo al programma 368
2 La programmazione in C/C++ 369 FILE SORGENTI

Infografca Paradigmi di programmazione 370 LABORATORIO MULTIMEDIALE


Test di esecuzione del codice
3 L’alfabeto del C/C++ 372
Infografca Installazione dell’ambiente Dev-C++ 374 MAPPA MODIFICABILE
Infografca Hello world! 376 TEST
Svolgi il test interattivo
4 La struttura di un programma 378
5 I commenti 379
6 Il primo programma in C/C++ 379
7 La gestione dell’output e dell’input in C/C++ 382
8 Le istruzioni di input/output in C++ 385
9 Gli operatori in C/C++ 388
Ripassiamo insieme 392
Metti a punto le tue CONOSCENZE 394
Allena le tue ABILITÀ e le tue COMPETENZE 395

D7 Le strutture di controllo nei linguaggi C e C++ 396 FILE SORGENTI

1 Il costrutto di selezione: l’istruzione if … else 396 LABORATORIO MULTIMEDIALE


Test di esecuzione del codice
2 L’istruzione di selezione multipla: switch 402
MAPPA MODIFICABILE
Infografca Il linguaggio C: dalla nascita allo standard 404
TEST
3 Il costrutto di iterazione 407 Svolgi il test interattivo
Ripassiamo insieme 420 GLOSSARIO CLIL
Metti a punto le tue CONOSCENZE 422
AUDIO
Allena le tue ABILITÀ e le tue COMPETENZE 423 Ascolta la pronuncia

D8 App Inventor: creare app semplici e divertenti UNITÀ INTEGRATIVA

Traguardo COMPETENZE – Verso la certifcazione 426


CLIL 430
Un SELFIE rifessivo 431

Indice analitico 432

XIV
Microsoft®, Windows®, Microsoft Office®, Microsoft Word®, Microsoft Excel®, Microsoft
Access®, Microsoft PowerPoint®, Microosft Outlook®, Microsoft Internet Explorer®, Microsoft.
NETtm, ActiveX® sono marchi registrati da Microsoft Corporation negli Stati Uniti e/o in
altri Paesi.
Java Script® è un marchio registrato da Sun Microsystem Inc. negli Stati Uniti e/o in altri
Paesi.
QuickTime®, iTunes®, iPhone® e iPad® sono marchi registrati da Apple Corporation negli Stati
Uniti e/o in altri Paesi.
Mozilla Firefox® è un marchio registrato da Mozilla Foundation negli Stati Uniti e/o in altri
paesi.
G Suite è un marchio registrato da Google negli Stati Uniti e/o in altri paesi.
Bloodshed Dev-C++ è un ambiente di sviluppo per C/C++ di Bloodshed Software.
MIT App Inventor, progetto del MIT (Massachusetts Institute of Technology), è un ambiente
di sviluppo rivolto al sistema operativo Android, diffuso su smartphone e tablet, gratuito e
aperto a tutti.
Scratch è un progetto del Lifelong Kindergarten Group dei Media Lab del MIT,
completamente gratuito.

Referenze iconografiche
© Fotolia: Jan Carbol, opta, Ulrich Roth, Sergii Shcherbakov, overthehill, Tatiana, Gautier
Willaume, Marc Dietrich, Andrea Danti, Daniel Hughes, detailblick, ernandopacheco,
Giovanni M. Tamponi, gigra, Sergii Shcherbakov, Jiri Hera, Lisa F. Young, Lusoimages, Peter
Baxter, Phase4Photography, rgbspace, Srecko Djarmati, Stephen Coburn, Stoyan Haytov,
Sven Hoppe, User:MiGz, Vladislav Kochelaevs, Vtls, Ilona Baha, Wojciech Kopczynski,
xiaoliangge
© iStock / Getty Images: Ryan McVay, s-cphoto, dem10, Anna Pekunova, Hero Images,
Justin Case, yusuflarlar, PC Format Magazine, Dean Mitchell, Diane Macdonald,
sinankocaslan, mashabuba, pagadesign, chictype, ArminStautBerlin, deepblue4you,
Manu1774, zimmytws, Gewoldi, inbj, mbongorus, nikolayi, Yuri_Arcurs, Amorphis, Andresr,
Mixmike, izusek, MisterClips, Andrew_Howe, veinte, scanrail, bowie15, Kraska, Ryan
McVay, Chip Somodevilla, Drazen_, adventtr, Ljupco, karelnoppe, scanrail, duron123, Yagi
Studio, AndrewJohnson, appleuzr, Pixel Embargo, -1001-, FactoryTh, mikdam, Grassetto,
popovaphoto, design56, t_kimura, vgajic, fcafotodigital, egal, hatman12, mediaphotos,
maciek905, Talaj, jordano, Wei Fang, Jamesmcq24, sinankokaslan, ahmetemre, adventter,
Newstockimages, ragwoo, George Manga, Atomic Imagery, mashabuba
© Thinkstock: enisaksoy, deftrender, FreezeFrameStudio, Uladzimir Chaberkus, Simon
Krzic, Vitaliy Pakhnyushchyy, Temistocle Lucarelli, Wavebreakmedia Ltd, Slawomir Fajer,
endopack, ZernLiew, George Doyle, Greyfebruary, Pocketcanoe, VectorSilhouettes
Sezione A
PRIMA DI INIZIARE…
Brainstorming

Completa il diagramma 1
In base alle tue attuali conoscenze,
scrivi a fianco le parole chiave che
ti vengono in mente pensando
a un computer. 2
Aiutati con le seguenti domande:

1 Che cos’è un computer?

2 A che cosa serve? 3


3 Da che cosa è composto?

4 Lo usi frequentemente? 4
5 Per quali scopi principali lo usi?

Una volta scritte le parole chiave,


discutile con il tuo insegnante 5
e con i tuoi compagni.

2
ARCHITETTURA DEL COMPUTER
E SISTEMI OPERATIVI
CONOSCENZE
• Struttura logico-funzionale
Esegui il test di un computer
• Funzioni di un sistema operativo
1 Scrivi nelle caselle i nomi delle varie componenti e periferiche del
computer.
• Sistemi di numerazione diversi dal
decimale e conversioni in basi diverse
1 2 3 • Aritmetica binaria e codifca
4 dell’informazione all’interno
di un computer

ABILITÀ
• Comprendere la struttura
logico-funzionale e fsica di un computer
6 • Saper creare e gestire fle e cartelle
5 con Windows
• Saper operare con numeri binari
1 2 3 e convertire numeri decimali
in basi diverse
4 5 6 • Comprendere e utilizzare le tecniche
per la rappresentazione dei dati
2 Completa il seguente diagramma. all’interno di un computer

COMPETENZE
Questo è il logo • Comprendere le ragioni che hanno
del sistema operativo? prodotto lo sviluppo scientifco
________________ e tecnologico nel tempo, in relazione
ai bisogni e alle domande
di conoscenza dei diversi contesti,
Sistema operativo:
che cos’è?
con attenzione critica alle dimensioni
tecnico-applicative delle conquiste
________________ scientifche
________________ • Essere consapevole delle potenzialità
_______________ e dei limiti delle tecnologie
nel contesto culturale e sociale
in cui vengono applicate
Questo è il logo Questo è il logo
del sistema operativo? del sistema operativo?
________________ ________________

3 Quale delle quattro figure numerate a 1. 2. FLIPPED CLASSROOM


destra collocheresti al posto del punto
interrogativo nella sequenza riportata Alternando attività a casa e a
qui sotto? Perché? scuola, cerca di rispondere alla
domanda che ti viene proposta.
a. b. c. 3. 4.

d. e.

? I virus: sai davvero che cosa sono?

3
ACCETTI LA SFIDA?

I virus: sai davvero che cosa sono?


A volte trovi un virus sul computer senza sapere come vi sia arrivato. Alcuni virus causano solo fastidi,
mentre la maggior parte è dannosa e ideata per infettare e prendere il controllo dei sistemi vulnerabili.
Un virus può diffondersi in molti computer e reti duplicandosi, proprio come fa un virus biologico che
passa da persona a persona. Ma sai davvero che cos’è un virus informatico?
Affronta l’esercitazione come una sfida, come se entrassi in un videogame che ti chiede di superare una
difficoltà dopo l’altra.

Il lancio della sfda


Che cosa ti fa venire in mente la parola virus? Scrivi nella tabella le singole parole o le definizioni
che associ ad essa, in modo da dare il via a un dibattito in classe.
A SCUOLA

Durante il dibattito, evidenzia in giallo le parole o le frasi che hai scritto e che ritieni corrette, e in
rosso quelle su cui hai dubbi.
Guarda il video che puoi reperire all’indirizzo: http://tiny.cc/yjdeiy. Cerca di comprendere il tema,
concentrando la tua attenzione su come agisce il software di cui si parla. Appunta informazioni ac-
quisite, dubbi e curiosità, che discuterai in classe con il tuo insegnante e i tuoi compagni.

Informazioni acquisite Dubbi Curiosità


A CASA

• • •
• • •
• • •
• • •

La conduzione della sfda


Riprendi la tabella precedente e metti in comune le tue idee con quelle dei compagni del tuo gruppo.
Prova, poi, a effettuare ricerche ulteriori, anche relative a una disciplina diversa, come la biologia. A
questo punto compila un riassunto, sempre lavorando in gruppo, del contenuto del video e delle in-
formazioni acquisite con le ricerche. Infine prova a organizzare in una mappa concettuale – insieme
con i tuoi compagni – le informazioni contenute nel riassunto.
A SCUOLA

VIRUS

Da solo, o con i compagni del tuo gruppo, svolgi un lavoro di approfondimento sui cosiddetti malware
(“software dannosi”). Virus e malware, come avrai osservato, non sono proprio la stessa cosa!
A CASA

• Rivedi il video proposto nella prima fase e fai un’altra ricerca, utilizzando Internet o altre fonti,
per chiarire il diverso significato dei termini virus e malware. Ricordati che per poter discutere a
scuola è importante che annoti sempre le fonti delle tue informazioni.

4 Sezione A Architettura del computer e sistemi operativi


• Elenca nella tabella i principali malware, descrivendone le caratteristiche (compila la tabella se-
guente oppure realizzane una sul tuo quaderno, o in un documento elettronico.
A CASA

Principali malware Caratteristiche

La conclusione della sfda


Per approfondire il discorso, leggi l’articolo che puoi trovare all’indirizzo: http://tiny.cc/zpffiy. Se,
dopo la lettura, qualcosa non ti è chiaro, chiariscilo con altre ricerche in Internet.
Ora, dai uno sguardo al software antivirus installato sul tuo computer e compila la tabella seguente,
oppure realizzane una sul tuo quaderno o in un documento elettronico.

Software antivirus Descrizione


Nome e versione
Ultimo aggiornamento

Firewall attivo? ☐ Sì ☐ No
È attiva la scansione della posta elettronica? ☐ Sì ☐ No
Ritieni che possa essere utile effettuare la
A CASA

scansione della posta elettronica? Se sì, perché?

Sulla base delle informazioni che hai ricavato dalla consultazione dei materiali, dalle risposte che hai
dato ai quesiti e dai lavori condotti con il tuo gruppo a scuola, prova a rispondere ai seguenti quesiti.

Domanda Risposta
Quali sono le analogie tra virus informatici
e virus biologici?
Come ti comporteresti prima di inserire
nel tuo computer una pendrive che hai usato
su un altro computer?
Quale sistema antivirus desidereresti installare
sul tuo computer e perché? Motiva la tua risposta.

Confronta le risposte con quelle dei tuoi compagni e, insieme, cercate di confrontare le caratteristi-
che dei vostri antivirus. Riflettete sulle impostazioni che ognuno di voi ha ritenuto più adeguate per
garantire una corretta protezione.
A SCUOLA

Guarda insieme ai compagni del tuo gruppo il video che puoi reperire all’indirizzo: http://www.tiny.
cc/orffiy. Quale impressione hai avuto e quali sono le tue conclusioni?
................................................................................................................................................
................................................................................................................................................
................................................................................................................................................

Architettura del computer e sistemi operativi Sezione A 5


A1 I sistemi di numerazione

ESERCIZI COMMENTATI
Segui la risoluzione passo passo

IMPARERAI…

Le caratteristiche dei Come convertire un numero Come svolgere operazioni


sistemi di numerazione da un sistema di numerazione aritmetiche nei vari sistemi
a un altro di numerazione

1 Che cos’è un sistema di numerazione


Si definisce sistema di numerazione un insieme di simboli e di regole che per-
mettono di rappresentare i numeri e possibilmente alcune operazioni che si
possono effettuare su di essi.

Per definire un sistema di numerazione è necessario indicare:


• un insieme di simboli detti cifre;
• una sintassi, cioè un insieme di regole che specificano come costruire i vari
numeri.

2 I sistemi addizionali
In un sistema addizionale la regola per rappresentare un numero è relativa-
mente semplice: il valore di ciascun simbolo viene sommato se immediatamen-
te alla sua destra compare un simbolo di valore inferiore o uguale (oppure se è
l’ultimo), altrimenti viene sottratto.

I=1 Un classico esempio di sistema addizionale è il sistema di numerazione roma-


V=5
no, in cui si utilizzano sette simboli (cifre) che vengono ripetuti e combinati in
vari modi per rappresentare i numeri.
X = 10
Nel sistema di numerazione romano, per formare un numero si usa il simbolo di
L = 50
valore più grande possibile; ad esempio, 15 si scrive XV e non VVV o XIIIII. Ne
C = 100
consegue che i simboli sono sempre posti da sinistra a destra in ordine de-
D = 500 crescente. Questo però potrebbe portare alla scrittura di una lunga successione
M = 1000 di simboli: ad esempio, per indicare 99 si dovrebbe scrivere LXXXXVIIII. In certi
casi, quindi, il sistema romano usa anche la notazione sottrattiva: ad esempio il
4 viene rappresentato con IV, cioè con “5-1”.

6 Sezione A Architettura del computer e sistemi operativi


Qui di seguito puoi vedere come sono rappresentati nel sistema di numerazione
romano i numeri da 1 a 20. Lo sai?

I II III IV V VI VII VIII IX X


Il sistema addizionale
1 2 3 4 5 6 7 8 9 10 è stato molto usato
nel passato. La svolta
decisiva che condusse
all’introduzione dei
XI XII XIII XIV XV XVI XVII XVIII XIX XX
sistemi posizionali
11 12 13 14 15 16 17 18 19 20 avvenne intorno
all’anno 500 d.C.,
grazie al matematico
In generale si può dire che, nella notazione romana, una cifra che stia immedia- indiano Aryabhata che
tamente a sinistra di un’altra che indica un numero maggiore va intesa in introdusse il concetto
di numero zero. Fino
senso sottrattivo. ad allora nessuno si
era preoccupato di
contare “zero cose”.
3 I sistemi posizionali Una volta compresa
la grande utilità del
numero zero, gli
In un sistema di numerazione posizionale una stessa cifra (0, 1, 2, 3...) assu- Arabi lo introdussero
in Occidente
me valori diversi (cioè ha un peso diverso) a seconda della posizione che occupa permettendo così il
all’interno di un numero. passaggio dai sistemi
addizionali ai nostri
sistemi posizionali
Un sistema di numerazione posizionale è definito dai vari elementi che sono de- (o pesati).
scritti di seguito.

Una base b che indica il numero di simboli utilizzato per rappresentare


tutti i numeri (ad esempio base 2, base 10, base 16 e così via) e quan-
SISTEMA POSIZIONALE

te unità dell’ordine inferiore servono per formare una unità dell’ordine


immediatamente superiore.

Un insieme di cifre distinte (naturalmente l’insieme è costituito da b


cifre distinte. Nel sistema a base 5, ad esempio, avremo cinque cifre
distinte, in quello a base 8 ne avremo otto, e così via). Ogni cifra può
assumere un valore compreso tra 0 e b – 1. A ognuna di queste cifre
possono essere assegnati due valori: uno che dipende esclusivamente
dalla forma della cifra, e che pertanto potremmo chiamare valore fac-
ciale, e uno legato alla posizione della cifra nel numero, a partire dalla
virgola verso destra o verso sinistra, al quale si dà appunto il nome di
valore posizionale.

Un insieme di regole necessarie per poter interpretare il numero, per


contare e per eseguire le operazioni.

Ogni numero si esprime come somma dei prodotti di ciascuna cifra per la base
elevata all’esponente che rappresenta la posizione della cifra stessa.

I sistemi di numerazione A1 7
4 Il sistema di numerazione decimale
PERSONAGGI Il sistema di numerazione decimale, o sistema in base 10, è un sistema posizionale
Aristotele, forse il e utilizza le seguenti dieci cifre decimali:
massimo filosofo del
mondo antico, notò
0 1 2 3 4 5 6 7 8 9
che l’uso della base Vediamo alcuni esempi:
decimale per il sistema
di numerazione si 7 rappresenta sette unità (valore facciale)
doveva al fatto che
siamo nati con dieci 70 rappresenta settanta unità, cioè 7 * 10
dita dei piedi e dieci
700 rappresenta settecento unità, cioè 7 * 100
dita delle mani.
77 = 70 + 7 = 7 * 10 + 7
777 = 700 + 70 + 7 = 7 * 100 + 7 + 10 + 7

7
7,7 =7+
10

7 7
7,77 =7+ +
10 100

Abbiamo scritto sette numeri usando sempre lo stesso simbolo dal valore facciale
equivalente a sette unità, però il valore del numero rappresentato cambia a mano
a mano che varia la posizione della cifra 7. Così dal valore di sette unità siamo pas-
sati a settanta e successivamente a settecento. Poi, da settantasette siamo passati a
settecentosettantasette e infine abbiamo rappresentato 7 + sette decimi di unità e
7 + sette decimi di unità + sette centesimi di unità.
Ora prendiamo in esame il numero 238. Sappiamo bene che la cifra 8 rappresenta
le unità, la cifra 3 le decine e la cifra 2 le centinaia. Ma attenzione: dire 3 decine o
30 unità non è forse la stessa cosa? E dire 2 centinaia o 200 unità non è ancora la
stessa cosa? Da questo esempio si ricava una regola di base: a mano a mano che
ci spostiamo verso sinistra, il valore di una cifra viene ricondotto alle unità molti-
plicandolo per il suo peso, ossia moltiplicandolo per 10 elevato a un esponente pari
alla posizione occupata:
Posizione 6 5 4 3 2 1 0
Peso 106 105 104 103 102 101 100
Valore milioni centinaia decine di migliaia centinaia decine unità
del peso di migliaia migliaia

Nel numero 238, quindi, il numero 3 ha il suo valore intrinseco che è, appun-
to, 3, ma ha un valore posizionale di 3 * 101. Analogamente, il 2 ha il suo valore
intrinseco 2, ma ha un valore posizionale di 2 * 102.
A questo punto possiamo dire che il numero 238 può essere espresso nel se-
guente modo: 2 * 102 + 3 * 101 + 8 * 100 = 2 * 100 + 3 * 10 + 8 * 1 = 200 + 30 + 8 = 238
Ora esaminiamo il numero 1258,64. In questo caso ci troviamo di fronte a un nu-
mero composto da una parte intera e da una decimale. Per esprimere i valori delle
singole cifre dobbiamo servirci anche della tabella seguente, che riporta i pesi del-
le cifre poste alla destra della virgola decimale:

8 Sezione A Architettura del computer e sistemi operativi


Posizione 1 2 3 4 5 6
–1 –2 –3 –4 –5
Peso 10 10 10 10 10 10 –6 Lo sai?
Valore
decimi centesimi millesimi decimillesimi centimillesimi millionesimi
del peso
Le cifre 0 e 1
sono simboli che
A questo punto il numero 1258,64 può essere espresso nel seguente modo: possono appartenere
1 * 1000 + 2 * 100 + 5 * 10 +8*1 + 6 * 1/10 + 4 * 1/100 = sia al sistema di
numerazione decimale
1000 + 200 + 50 +8 + 0,6 + 0,04 = 1258,64 che a quello binario.
Pertanto, all’interno di
In generale, quindi, possiamo scrivere ogni numero come combinazione di poten- una formalizzazione
ze di 10: rigorosa, è corretto
rappresentare ogni
numero = cn * 10n + cn–1* 10n–1 + ... + c0 * 100 + c–1 * 10–1 + c–2 * 10–2 ... numero esplicitando la
base utilizzata, come
dove: in: 1101(2). Ricorda,
poi, che il numero
• c0 ... cn possono avere i valori da 0 a 9; binario 1101 non si
• 10 è la base. legge millecentouno
ma uno uno zero uno.
Generalizzando la formula e indicando con b la generica base otteniamo:
numero = cn * bn + cn–1* bn–1 + ... + c0 * b0 + c–1 * b–1 + c–2 * b–2 ...
Tale forma costituisce la cosiddetta notazione polinomiale (o espansa), così
chiamata proprio perché in essa viene evidenziato il valore di ogni cifra.

5 Il sistema di numerazione binario


All’interno di un computer la rappresentazione di tutte le informazioni è di tipo
numerico. La base di rappresentazione è di tipo binario, cioè fondata su un sistema
di numerazione costituito da due soli simboli: 0 e 1, detti cifre binarie o bit, termi-
ne derivante dalla contrazione di binary digit. Un numero binario è un numero
composto da una sequenza di 0 e di 1, e i pesi associati a queste due cifre sono,
naturalmente, potenze della base 2.
Posizione ... 6 5 4 3 2 1 0 . 1 2 3 4 5 ...
Peso ... 26 25 24 23 22 21 20 . 2 –1 2 –2 2 –3 2 –4 2 –5 ...

All’interno di un numero, la cifra più a sinistra (cioè quella elevata Cifra più Cifra meno
significativa significativa
alla potenza più alta) viene detta cifra più significativa (o bit più
pesante), mentre la cifra più a destra (cioè quella elevata alla potenza
più bassa) è detta cifra meno significativa (o bit più leggero).
1 1 0 1 1 0 1 1

6 Conversione dal sistema binario


a quello decimale e viceversa
Conversione da binario a decimale
Per conoscere il valore decimale di un numero binario moltiplichiamo ciascuna
cifra binaria per il suo corrispondente peso e sommiamo alla fine i prodotti
ottenuti.

I sistemi di numerazione A1 9
Facciamo un esempio utilizzando la 2n n 2–n
Ricorda tabella riportata qui a destra: 1 0 1.0
2 1 0.5
4 2 0.25
Nel seguito useremo 8 3 0.125
spesso il punto 16 4 0.0625
decimale al posto 32 5 0.03125
della virgola decimale; 64 6 0.015625
quando si realizzano 128 7 0.0078125
programmi al computer,
256 8 0.00390625
infatti, generalmente si
procede così. 512 9 0.001953125
1024 10 0.0009765625

OSSERVA COME SI FA
1 Convertiamo il numero binario 100101.101 nel suo corrispondente decimale.
Il numero da trasformare presenta una parte frazionaria per la quale devi utilizzare potenze negative di 2. Quindi:
100101.101(2) = 1 * 25 + 0 * 24 + 0 * 23 + 1 * 22 + 0 * 21 + 1 * 20 + 1 * 2–1 + 0 * 2–2 + 1 * 2–3 =
1 * 32 + 0 + 0 + 1 * 4 + 0 + 1 + 1 * 1/2 + 0 + 1 * 1/8 =
32 + 4 + 1 + 1/2 + 1/8 = 32 + 4 + 1 + 0.5 + 0.125 = 37.625
Quindi 100101.101(2) = 37.625(10).

2 Convertiamo il numero binario 111101.1011 nel suo corrispondente decimale.


111101.1011(2) = 1 * 25 + 1 * 24 + 1 * 23 + 1 * 22 + 0 * 21 + 1 * 20 + 1 * 2– 1 + 0 * 2– 2 + 1 * 2– 3 + 1 * 2– 4 =
1 * 32 + 1 * 16 + 1 * 8 + 1 * 4 + 0 + 1 * 1 + 1 * 1/2 + 0 + 1 * 1/8 + 1 * 1/16 =
32 + 16 + 8 + 4 + 1 + 1/2 + 1/8 + 1/16 = 32 + 16 + 8 + 4 + 1 + 0.5 + 0.125 + 0.0625 = 61.6875
Quindi 111101.1011(2) = 61.6875(10).

3 Osserva come utilizzare un altro metodo di conversione con la seguente tabella:

Notazione
... (212) (211) (210) (29) (28) (27) (26) (25) (24) (23) (22) (21) (20)
esponenziale
Valore
... 4096 2048 1024 512 256 128 64 32 16 8 4 2 1
decimale calcolato
Cifre binarie
da trasformare

Consideriamo il numero binario 110001(2) e convertiamolo nel suo equivalente decimale.

Notazione
... (26) (25) (24) (23) (22) (21) (20)
esponenziale
Valore
... 64 32 16 8 4 2 1
decimale calcolato

Cifre binarie
1 1 0 0 0 1
da trasformare

Numero decimale: 1 + 16 + 32 = 4910


(il 2, il 4 e l’8 sono corrispondenti agli zeri, quindi non vengono conteggiati).

10 Sezione A Architettura del computer e sistemi operativi


ORA TOCCA A TE
1 Trasforma i seguenti numeri binari nel loro corrispondente decimale:

■ 11001100(2) = _________________(10)

1 * 27 +.......................................................................................................................

128 + .........................................................................................................................

■ 10101010(2) = _________________(10)

1 * 27 + ......................................................................................................................

128 + .........................................................................................................................

■ 11110000(2) = _________________(10)

1 * 27 + ......................................................................................................................

128 + .........................................................................................................................

2 Trasforma i seguenti numeri binari nel loro corrispondente decimale:

■ 01010100(2) = _________________(10)
...................................................................................................................................
...................................................................................................................................

■ 00000110(2) = _________________(10)
...................................................................................................................................
...................................................................................................................................

■ 11100110(2) = _________________(10)
...................................................................................................................................
...................................................................................................................................

3 Utilizzando il metodo della tabella, converti il numero binario 1110111(2) nel suo equi-
valente decimale:

Notazione
esponenziale
Valore
decimale calcolato
Cifre binarie
da trasformare

1110111(2) = ………………………..(10)
...................................................................................................................................
...................................................................................................................................

I sistemi di numerazione A1 11
Conversione da decimale a binario
La conversione di un numero decimale (ad esempio 112) in binario si effettua tra-
mite l’algoritmo della divisione, ossia dividendo successivamente per 2 (base del
sistema binario) il numero decimale da convertire fino a quando non si trova il
quoziente uguale a 0. Terminate le divisioni, si considerano i resti al contrario.

OSSERVA COME SI FA
1 Convertiamo il numero decimale 845 nel suo equivalente binario.
Ognuno di noi può utilizzare qualsiasi metodo di scrittura per eseguire la divisione per 2.
Lo sai?
Dividendo Divisore Quoziente Resto
Spostare (shiftare) 845 2 422 1
le cifre di un numero
verso sinistra, 422 2 211 0
aggiungendo uno 0 211 2 105 1
a destra, equivale a
moltiplicare il numero 105 2 52 1
per il valore della base. 52 2 26 0
Ad esempio, il numero
decimale 32 diventa 26 2 13 0
320, mentre 13 2 6 1
il numero binario
111(2) = 7 diventa 6 2 3 0
1110(2) = 7*2=14. 3 2 1 1
1 2 0 1

L’equivalente binario del numero 845(10) è 1101001101(2).

2 Convertiamo il numero decimale 0.53125 nel suo equivalente binario.


In questo caso utilizziamo il metodo delle moltiplicazioni successive. Il prodotto ottenuto sarà
anch’esso composto da una parte intera e da una decimale. La parte intera, che potrà essere
soltanto 1 o 0, rappresenta il nostro bit, mentre la parte decimale continuerà a essere moltipli-
cata per due. I bit ottenuti saranno scritti uno di seguito all’altro nello stesso ordine in cui sono
ottenuti, cioè da sinistra a destra. Il procedimento termina quando da una moltiplicazione si
ottiene un prodotto privo di parte decimale (cioè con parte decimale uguale a zero). Tuttavia, se
questo non avviene (pensa ai numeri periodici), possiamo bloccare il procedimento dopo aver
eseguito un determinato numero di moltiplicazioni. In questo caso, naturalmente, il numero
binario ottenuto sarà solo un’approssimazione del numero decimale.
Ora effettuiamo la conversione:
0.53125 * 2 = 1.0625 la parte intera è 1
0.0625 * 2 = 0.125 la parte intera è 0
0.125 * 2 = 0.25 la parte intera è 0
0.25 * 2 = 0.5 la parte intera è 0
0.5 * 2 = 1.0 la parte intera è 1 e la parte decimale è 0.
Il numero binario corrispondente è, quindi, 0.10001(2)

12 Sezione A Architettura del computer e sistemi operativi


Ora proviamo a convertire in binario il numero decimale 0.63.
0.63 * 2 = 1.26 la parte intera è 1
0.26 * 2 = 0.52 la parte intera è 0
0.52 * 2 = 1.04 la parte intera è 1
0.04 * 2 = 0.08 la parte intera è 0
0.08 * 2 = 0.16 la parte intera è 0
0.16 * 2 = 0.32 la parte intera è 0
0.32 * 2 = 0.64 la parte intera è 0
...
Come puoi notare, la parte decimale continua a risultare diversa da zero costringendoci a ese-
guire ulteriori moltiplicazioni. In situazioni di questo tipo conviene stabilire a priori un numero
massimo di moltiplicazioni da effettuare.
Quindi, se supponiamo di considerare solo cinque bit, l’equivalente binario di 0.63(10) sarà
0.10100(2).

ORA TOCCA A TE
1 Trasforma il numero decimale 147(10) nel suo equivalente binario:

Dividendo Divisore Quoziente Resto

147(10) = ……………….(2)

2 Trasforma il numero decimale 212(10) nel suo equivalente binario:

Dividendo Divisore Quoziente Resto

212(10) = ……………….(2)

I sistemi di numerazione A1 13
7 Operazioni aritmetiche con i numeri binari
Prima di addentrarci nell’esame delle operazioni con i numeri binari, vogliamo ri-
cordare che le regole per eseguire le operazioni fondamentali dell’aritmetica
non cambiano, indipendentemente dalla base scelta per il sistema di numerazione.

Addizione
L’addizione tra due o più numeri binari si esegue come una normale addizione. Fai
riferimento alla seguente tabella:
0 + 0 = 0
1 + 0 = 1
0 + 1 = 1
1 + 1 = 0 con riporto di 1

OSSERVA COME SI FA
1 Sommiamo tra loro i numeri binari 10011 e 11001.
Iniziamo con l’incolonnare i due numeri e sommare le cifre del primo ordine:

I addendo 1 0 0 1 1 +
II addendo 1 1 0 0 1 =
Somma

Dovremo eseguire 1 + 1 = 2. Sappiamo che 1 + 1 = 0 col riporto di 1 (facciamo lo stesso in


decimale: 5 + 5 vale 0 con il riporto di 1). Scriviamo allora come somma 0 e come riporto, nella
colonna di ordine superiore, il numero 1. Avremo:

Riporto 1
I addendo 1 0 0 1 1 +
II addendo 1 1 0 0 1 =
Somma 0

Ora sommiamo le cifre di secondo ordine. Dovremo eseguire 1 + 0 = 1, ma dobbiamo anche


aggiungere 1 di riporto, quindi avremo 2 che sappiamo dare come risultato 0 con riporto di 1.
Quindi scriviamo:

Riporto 1 1
I addendo 1 0 0 1 1 +
II addendo 1 1 0 0 1 =
Somma 0 0

Ora sommiamo le cifre di terzo ordine, cioè 0 + 0 = 0. Aggiungiamo il riporto di 1 e abbiamo 1.

Riporto 1 1
I addendo 1 0 0 1 1 +
II addendo 1 1 0 0 1 =
Somma 1 0 0

14 Sezione A Architettura del computer e sistemi operativi


Passiamo alle cifre di quarto ordine. Avremo 0 + 1 = 1.

Riporto 1 1
I addendo 1 0 0 1 1 +
II addendo 1 1 0 0 1 =
Somma 1 1 0 0

Terminiamo con le cifre di quinto ordine. Avremo 1 + 1 = 2, che oramai sappiamo fornire come
risultato 0 con riporto di 1. Quindi scriviamo:

Riporto 1 1 1
I addendo 1 0 0 1 1 +
II addendo 1 1 0 0 1 =
Somma 1 0 1 1 0 0

La somma di 10011 e 11001 è uguale a 101100.


Per fare la prova è suffciente convertire i numeri in decimale e quindi verifcare se il risultato
è corretto.

ORA TOCCA A TE
1 Esegui la seguente somma binaria e successivamente converti in decimale per control-
lare il risultato.

Riporto
I addendo 1 1 1 1 +
II addendo 1 0 1 =
Somma

2 Esegui la seguente somma binaria e successivamente converti in decimale per control-


lare il risultato.

Riporto
I addendo 1 1 1 1 1 +
II addendo 1 1 1 =
Somma

3 Esegui la seguente somma binaria e successivamente converti in decimale per control-


lare il risultato.

Riporto
I addendo 1 1 0 1 1 +
II addendo 1 1 1 1 1 =
Somma

I sistemi di numerazione A1 15
Sottrazione
La sottrazione tra due numeri binari si esegue come una normale sottrazione: ba-
sta tenere conto che, ogni volta che si deve sottrarre dalla cifra 0 la cifra 1, occorre
chiedere in prestito una unità alla cifra di ordine immediatamente superio-
re. Guarda la seguente tabella:
0 – 0 = 0
1 – 0 = 1
1 – 1 = 0
0 – 1 = 1 con il prestito del valore della base (2) dalla cifra precedente

OSSERVA COME SI FA
Vogliamo effettuare la seguente sottrazione: 11101 – 1110. Cominciamo a incolonnare i due
numeri e a effettuare la prima sottrazione:

Minuendo 1 1 1 0 1 –
Sottraendo 1 1 1 0 =
Differenza

Dalla tabellina sappiamo che 1 – 0 = 1, quindi scriviamo:

Minuendo 1 1 1 0 1 –
Sottraendo 1 1 1 0 =
Differenza 1

Ora passiamo alle cifre di secondo ordine. Dovremo eseguire 0 – 1. Così come nella sottrazio-
ne in base decimale avviene il prestito di una decina dalla cifra a sinistra, nella sottrazione in
base binaria avviene un prestito di valore pari a 2 e quindi, basandoci sempre sulla tabellina,
abbiamo 2 – 1 = 1 e la cifra che aveva prestato è diventata 0.

Prestito 2
Minuendo 1 1 10 0 1 –
Sottraendo 1 1 1 0 =
Differenza 1 1

Andiamo avanti. La cifra di terzo ordine del minuendo aveva prestato un’unità. Quindi la sot-
trazione da eseguire diventa 0 – 1. Per poterla eseguire, dobbiamo farci prestare 2 dalla cifra
precedente. Facciamo la sottrazione 2 – 1 = 1. Come al solito, la cifra che ha prestato è diven-
tata 0. Avremo:

Prestito 2 2
Minuendo 1 10 10 0 1 –
Sottraendo 1 1 1 0 =
Differenza 1 1 1

16 Sezione A Architettura del computer e sistemi operativi


Proseguiamo. Ancora una volta dobbiamo eseguire 0 – 1 che non è possibile, e facciamo un
prestito dalla cifra precedente. Eseguiamo ancora 2 – 1 = 1 e ricordiamo che la cifra che ha
prestato è diventata 0. La situazione diviene:

Prestito 2 2 2
Minuendo 10 10 10 0 1 –
Sottraendo 1 1 1 0 =
Differenza 1 1 1 1

La cifra di quinto ordine del minuendo è rimasta a zero, pertanto l’operazione è conclusa.
Quindi:

11101 – 1110 = 1111

ORA TOCCA A TE
1 Esegui la seguente sottrazione binaria e successivamente converti in decimale per
controllare il risultato.

Prestito
Minuendo 1 1 1 1 –
Sottraendo 1 0 1 =
Differenza

2 Esegui la seguente sottrazione binaria e successivamente converti in decimale per


controllare il risultato.

Prestito
Minuendo 1 0 1 0 –
Sottraendo 1 1 =
Differenza

3 Esegui la seguente sottrazione binaria e successivamente converti in decimale per


controllare il risultato.

Prestito
Minuendo 1 1 0 0 –
Sottraendo 1 =
Differenza

I sistemi di numerazione A1 17
Moltiplicazione
Per la moltiplicazione si opera come nel sistema decimale, quindi rispettando gli
incolonnamenti per poter sommare correttamente i risultati parziali. Le somme
andranno effettuate rispettando le regole già viste. È sufficiente ricordare che
ogni numero moltiplicato per zero dà come risultato zero.
Osserva la seguente tabellina:
0 * 0 = 0
1 * 0 = 0
0 * 1 = 0
1 * 1 = 1
Dai uno sguardo ai seguenti esempi per notare quanto sia semplice la procedura.
0110 × 0011 ×
0011 = 0010 =
0110 + 0000 +
0110 = 0011 =
10010 00110

ORA TOCCA A TE
1 Svolgi le seguenti moltiplicazioni binarie e successivamente converti in decimale per
controllare il risultato.

■ 111 × 101
■ 11001 × 101
■ 1011 × 1011

Divisione
Anche per la divisione si opera come nel sistema decimale:
1. si abbassa un numero di cifre del dividendo in grado di contenere il divisore;
2. si scrive la prima cifra del quoziente;
3. si effettua la moltiplicazione della cifra del quoziente per il divisore;
4. si incolonna sotto le cifre del dividendo e si effettua la sottrazione.
Il procedimento prosegue fino a quando non si esauriscono le cifre del dividendo.
È sufficiente dare uno sguardo ai seguenti esempi per comprendere, anche in que-
sto caso, la semplicità della procedura.

1010 11 1010 10
11 11 10 101
0100 0010
011 00
001

18 Sezione A Architettura del computer e sistemi operativi


ORA TOCCA A TE
1 Svolgi le seguenti divisioni binarie e successivamente converti in decimale per control-
lare il risultato.

■ 11001 : 10
■ 11001 : 101
■ 10101 : 11

8 Il sistema di numerazione esadecimale


In questo sistema di numerazione posizionale la base è 16, pertanto occorrono 16
cifre per poter rappresentare i numeri. Precisamente:
0 1 2 3 4 5 6 7 8 9 A B C D E F
La lettera A rappresenta il numero 10, la lettera B il numero 11 e così via fino alla
lettera F, che rappresenta il numero 15. Dopo la lettera F i numeri esadecimali,
come al solito, cominciano a essere composti da due cifre: quindi il 10 esadecimale
rappresenta il 16 decimale, l’11 esadecimale rappresenta il 17 decimale e così via.

9 Conversioni tra i sistemi esadecimale,


decimale e binario

Conversione da decimale a esadecimale


Per convertire un numero decimale nel suo equivalente esadecimale possia-
mo utilizzare il rapido metodo delle divisioni successive.

OSSERVA COME SI FA
1 Convertiamo il numero decimale 34728 nel suo equivalente esadecimale.

Dividendo Divisore Quoziente Resto


34728 16 2170 8
2170 16 135 10
135 16 8 7
8 16 0 8

Quindi 34728(10) = 87A8(16)

Naturalmente, se il numero fosse stato frazionario avremmo dovuto convertire anche la sua
parte frazionaria, utilizzando allo scopo il metodo delle moltiplicazioni successive.

I sistemi di numerazione A1 19
ORA TOCCA A TE
1 Converti il numero decimale 7752 nel suo equivalente esadecimale.

Dividendo Divisore Quoziente Resto

Quindi 7752(10) = ____________ (16)

Conversione da esadecimale a decimale


Per convertire un numero esadecimale nel suo corrispondente decimale
adottiamo il metodo delle moltiplicazioni successive. Ad esempio, per convertire
il numero esadecimale B95D in decimale operiamo nel seguente modo:
B * 163 + 9 * 162 + 5 * 161 + D * 160 =
11 * 4096 + 9 * 256 + 5 * 16 + 13 * 1 =
45056 + 2304 + 80 + 13 = 47453(10)

ORA TOCCA A TE
1 Converti il numero esadecimale A1B2 nel suo equivalente decimale (inizia moltiplican-
do A per ...).

A * ________________________________________________ = _____(10)

Conversione da esadecimale a binario


e da binario a esadecimale
• Per convertire un numero esadecimale nel suo equivalente binario è suf-
ficiente sostituire a ogni cifra esadecimale il gruppo di quattro bit corrispon-
dente alla sua rappresentazione binaria.
• Per convertire un numero binario nel suo equivalente esadecimale è suf-
ficiente raggruppare a quattro a quattro tutte le cifre del numero binario par-
tendo da quella meno significativa e sostituire a ogni gruppo la cifra esadeci-
male equivalente.

20 Sezione A Architettura del computer e sistemi operativi


OSSERVA COME SI FA
1 Convertiamo il numero esadecimale FA72 in binario. Per facilitare il calcolo possiamo
servirci della seguente tabella.

Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Esadecimale 0 1 2 3 4 5 6 7 8 9 A B C D E F

Decimale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

F A 7 2

1111 1010 0111 0010

Otteniamo immediatamente che il numero binario corrispondente a FA72(16) è:


1111101001110010(2)

Proviamo ora a convertire il numero binario 1001101000111(2). Cominciamo con il raggruppare


a quattro a quattro tutte le cifre partendo da quella meno signifcativa (cioè la prima da destra).
Avremo:
1 0011 0100 0111
L’ultimo gruppo è composto da una sola cifra, quindi dobbiamo aggiungere tre zeri in modo da
formare un altro gruppo di quattro.
0001 0011 0100 0111
E ora convertiamo:

0001 0011 0100 0111

1 3 4 7

Quindi 1001101000111(2) = 1347(16)

ORA TOCCA A TE
1 Trasforma i seguenti numeri esadecimali nel loro corrispondente binario:

■ BE23(16) _______________
■ 19F(16) _______________
■ 82D1(16) _______________

2 Trasforma i seguenti numeri binari nel loro corrispondente esadecimale:

■ 1100110101(2) _______________
■ 11101(2) _______________
■ 111000111(2) _______________

I sistemi di numerazione A1 21
RIPASSIAMO INSIEME
MAPPA
I SISTEMI DI NUMERAZIONE MODIFICABILE

Che cos’è un sistema di numerazione? Quali tipi di sistemi grafici


di numerazione ci sono?
È un insieme di simboli, chiamati cifre,
e di regole sintattiche che permettono di 1) quelli posizionali;
rappresentare numeri e operazioni su di essi. 2) quelli addizionali.

I sistemi posizionali I sistemi addizionali rappresentano


rappresentano i numeri con i numeri con sequenze di cifre,
sequenze di cifre, in cui una in cui una stessa cifra assume
stessa cifra assume valori diversi sempre lo stesso valore qualunque
secondo la posizione che occupa. posizione occupi.

il sistema in base dieci o decimale, che usa F


le dieci cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
chiamate cifre decimali.
Quali sono i
principali sistemi il sistema in base due o binario, che usa G
di numerazione le due cifre 0, 1, chiamate cifre binarie o bit
posizionali? (contrazione dell’inglese binary digit).
Sono:
il sistema in base sedici o esadecimale, che H
usa le sedici cifre 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
A, B, C, D, E, F.

I
svolgere le operazioni in ciascun sistema.
Con regole specifiche
è possibile:
convertire ciascun numero da un sistema L
a un altro.

22 Sezione A Architettura del computer e sistemi operativi


A1
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Un sistema di numerazione è formato da un insieme


di cifre e da regole che indicano come costruire
con esse numeri (A) .............................................................. ☐ V ☐ F

2) C’è un numero indefinito di sistemi grafici


di numerazione (B) ................................................................ ☐ V ☐ F

3) Nei sistemi di numerazione posizionali una stessa


cifra assume valori diversi secondo la posizione
che occupa nel numero (C) ................................................ ☐ V ☐ F

4) Il sistema posizionale che utilizza dieci cifre per


rappresentare i numeri si chiama sistema
in base dieci (F) ...................................................................... ☐ V ☐ F

5) Le cifre di un sistema di numerazione posizionale


sono tante quante sono indicate dalla base
del sistema (F, G, H) ............................................................. ☐ V ☐ F

Completa le affermazioni seguenti.

6) Le regole di combinazione che permettono di mettere in


sequenza le cifre di un sistema di numerazione si chiamano
……………………………. (A)

7) In un sistema di numerazione addizionale una stessa cifra


assume sempre lo ……………. valore qualunque posizione occupi
nel numero (D)

8) Il sistema posizionale che utilizza le cifre binarie si chiama


sistema ……………… oppure ………………. (G)

9) Del sistema posizionale in base sedici fanno parte le dieci


cifre decimali e le 6 lettere maiuscole ……………………………… (H)

I sistemi di numerazione A1 23
Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo A1
Vero o falso 9 La cifra più significativa è quella che:
A si trova più a sinistra
1 Il sistema romano è posizionale V F
B si trova più a destra
2 Il numero zero è stato introdotto C ha il valore posizionale più alto
da un matematico arabo V F
D ha il valore posizionale più basso
3 Il bit è una cifra decimale V F
10 Quanti numeri binari si possono rappresentare
4 All’interno di un numero, la cifra meno con 8 bit?
significativa è quella che si trova 2
A
più a sinistra V F
B 255
5 Nel sistema binario, 1+1=11 V F C 256
D 128
Risposta singola
6 In un sistema di numerazione la sintassi indica:
11 Quali sono gli insiemi di cifre usati nel sistema
in base 9?
A un insieme di azioni utili per stabilire come A 1-6
effettuare le operazioni tra i numeri
B 0-5
B un insieme di simboli utili per costruire i numeri
C 1-9
C un insieme di cifre con le quali costruire i numeri
D 0-8
D un insieme di regole che specificano come
costruire i vari numeri
12 Il sistema esadecimale
A è composto dalle cifre 0..15
7 In un sistema posizionale, il valore facciale di una
cifra è legato: B è composto dalle cifre 0..F
A alla posizione che la cifra occupa all’interno C 10(16) corrisponde a 16(10)
del numero D 11(16) corrisponde a 15(10)
B alla forma della cifra
C al valore dell’intero numero 13 Per convertire un numero esadecimale nel suo
D non esiste il valore facciale di una cifra, ma solo equivalente binario:
il suo valore posizionale A si sostituisce ogni cifra esadecimale con i 4 bit
che corrispondono alla sua rappresentazione
binaria
8 In un sistema di numerazione in base b con n
cifre possiamo rappresentare: B si sostituisce ogni cifra esadecimale con i 3 bit
che corrispondono alla sua rappresentazione
A bn valori compresi tra 0 e bn – 1 binaria
B b*n valori compresi tra 0 e bn – 1 C lo si può trasformare dapprima in decimale
C n valori compresi tra 0 e bn – 1 e poi in binario
D b/n valori compresi tra 0 e bn – 1 D lo si deve trasformare dapprima in decimale
e poi in binario

24 Sezione A Architettura del computer e sistemi operativi


Allena le tue ABILITÀ
e le tue COMPETENZE A1
ABILITÀ 9 Calcola i numeri esadecimali equivalenti
ai seguenti numeri decimali:
1 Verifica se le seguenti corrispondenze sono vere:
A 7546 B 3453
A 110010(2) = 50(10) 79965 9975
C D
B 1111(2) = 17(10)
10 Calcola i numeri esadecimali equivalenti
C 100001(2) = 39(10) ai seguenti numeri decimali:
A 90765 B 11122
2 Verifica se le seguenti corrispondenze sono vere:
C 5643 D 8756
A 1110101(2) = 102(10)
B 11011(2) = 27(10) 11 Senza effettuare alcuna conversione, stabilisci
se i corrispondenti decimali dei seguenti numeri
C 1110001110(2) = 237(10) sono pari o dispari:
A 1100010 B 1110011 C 1100
3 Calcola il corrispondente decimale dei seguenti
numeri binari frazionari:
A 0.00100
COMPETENZE
B 0.111001 12 Esegui le seguenti somme nel sistema binario:
C 0.10110 A 101011 + 10111 =
B 11111 + 101111 =
4 Calcola il corrispondente decimale dei seguenti C 1100111 + 10111 =
numeri binari frazionari:
A 0.010101 13 Esegui le seguenti sottrazioni nel sistema
B 0.110111 binario:
C 0.010110 A 11101 – 101 =
B 110110 – 101101 =
5 Calcola il corrispondente binario dei seguenti C 1100111 – 101111 =
numeri decimali frazionari:
A 0.12 B 0.234 14 Esegui le seguenti moltiplicazioni nel sistema
binario:
C 0.27 D 0.56
A 1010 × 101 =
6 Calcola il corrispondente binario dei seguenti B 110101 × 1011 =
numeri decimali frazionari: C 111011 × 10111 =
A 0.78 B 0.656
C 0.222 D 0.159
15 Esegui le seguenti divisioni nel sistema binario:
A 11001 : 101 = con resto =
7 Calcola i numeri decimali equivalenti ai seguenti B 11111 : 110 = con resto =
numeri esadecimali: C 1011011 : 1101 = con resto =
A 13A B A32BCD
C DF8 D 5CE6F
16 Esegui le seguenti operazioni in binario (prima
effettua la conversione e poi procedi con
l’operazione):
8 Calcola i numeri decimali equivalenti ai seguenti
A (34)10 + (77)10
numeri esadecimali:
A 54AB B ABD B (225)10 + (63)10
C B4A6 D AB1F C (229)10 + (111)10

I sistemi di numerazione A1 25
A2 La codifica dell’informazione

IMPARERAI…

Che cosa sono i dati Come vengono rappresentati Che cosa sono
e le informazioni i dati numerici e alfanumerici e a che cosa servono i codici
all’interno del computer

1 Dati, informazioni e codice


Esiste una differenza tra dato e informazione? La risposta è sì. I due termini ven-
gono spesso utilizzati come sinonimi, ma in informatica possiedono un significa-
to differente.

Il dato è un numero, un testo, un segnale video o audio. Si tratta di una sempli-


ce segnalazione che ha sicuramente un valore proprio, ma può assumere signi-
ficati differenti a seconda del contesto in cui si trova.

Ad esempio, il numero 80 può indicare una temperatura se parliamo di gradi cen-


tigradi, un periodo di tempo piuttosto lungo se parliamo di giorni, una distanza se
parliamo di kilometri. Il suono di una sirena da solo suscita soltanto fastidio, ma
se siamo per strada indica l’arrivo di un’ambulanza, se ci troviamo in un ambiente
chiuso indica un allarme e ci spinge ad allontanarci dal pericolo.

Le informazioni sono rappresentazioni dei fatti (dati) che consentono di attri-


buire loro un significato unico e condiviso e di fornire nuova conoscenza.

Il trattamento dei dati per ottenere le informazioni viene detto elaborazione.

? Dato: 120 – 80

Informazione: sono valori massimo e minimo


di pressione arteriosa

Conoscenza: questi due numeri separati da un


trattino forniscono i valori massimo e minimo della
pressione arteriosa di una persona, un importante
indicatore dello stato di salute.

26 Sezione A Architettura del computer e sistemi operativi


Il concetto di informazione ci obbliga a chiarire il concetto di codice, che possia-
mo definire sommariamente come segue.

Il codice è un sistema che stabilisce:


1. un repertorio di simboli (alfabeto del codice);
2. un insieme di regole di combinazione dei simboli dell’alfabeto per ottenere
le parole (grammatica del codice);
3. una eventuale serie di associazioni di ogni combinazione di simboli a un
significato (semantica del codice).

Pensa all’antico codice Morse del 1840, che permetteva di trasmettere lettere e nu-
meri attraverso determinati simboli di punteggiatura (il punto e la linea).

Con il codice Morse è possibile trasmet- Alfabeto del codice Morse Semantica del codice Morse

tere dati rappresentati dalle lettere e dai


numeri associati ai simboli dell’alfabeto
e dalle combinazioni di lettere e numeri C I A O
permesse dalla grammatica. È dunque
possibile trasmettere con tale codice
dati come i seguenti:
• • – – –2
••••– 4
oppure:
• • – – – • • • • – 24
oppure:
S T A G N O
••• – •– ––• • –––
Come abbiamo visto, una volta che i dati sono associati a un contesto divengono
informazioni. Ad esempio, se i dati numerici che abbiamo indicato precedente-
mente sono utilizzati in un contesto relativo all’età delle persone espressa in anni,
essi ci informano nei primi due casi che l’età in gioco è di 2 e di 4 anni, nel terzo
che è di 24 anni. Se però il contesto fosse relativo al peso di confezioni di merci da
trasportare espresso in kg, i dati ci informerebbero che i pesi delle confezioni in
gioco sono, rispettivamente, di 2, di 4 e di 24 kg.
La stessa considerazione vale per l’esempio che riporta “stagno”. Infatti, in un con-
testo geografico il dato “stagno” indica un piccolo bacino d’acqua stagnante, men-
tre in un contesto chimico indica un elemento chimico.

2 La codifica dei numeri interi


Per rappresentare un numero intero senza segno si utilizza la conversione dalla
rappresentazione decimale in quella a base 2 (sistema binario puro).
Per rappresentare un numero relativo è necessario disporre di un’informazione
sul segno. Nel sistema decimale la rappresentazione più comune è quella modulo

La codifca dell’informazione A2 27
e segno e che consiste nell’utilizzare il segno + per gli interi positivi e il segno –
per quelli negativi. Nel sistema binario naturalmente si può usare lo stesso meto-
do, premettendo il segno + o il segno – alla rappresentazione in base 2 del numero
(sistema binario puro). Considerato che il segno può essere positivo o negativo, tale
informazione nella rappresentazione binaria può essere associata a uno specifi-
co bit. Si assume, quindi, che il valore 0 rappresenti il segno +, mentre il valore 1
rappresenti il segno –. In pratica, disponendo di N bit, si utilizzeranno N–1 bit per
rappresentare il valore del modulo (ossia il valore assoluto del numero) e 1 bit per
rappresentare il segno.
Ad esempio, se disponiamo di soli 3 bit, il primo bit a sinistra sarà impiegato per
esprimere il segno e i restanti 2 bit per il modulo. Così, delle 23 = 8 combinazioni, 4
avranno uno 0 a sinistra e 4 un 1 a sinistra:

Positivi Negativi
+0 000 100 –0
+1 001 101 –1
+2 010 110 –2
+3 011 111 –3

Il complemento alla base


Nella tabella precedente puoi notare un’evidente ambiguità nella rappresenta-
zione dello zero, poiché sono possibili due diverse rappresentazioni dello stesso
numero (+0, – 0). Per eliminare tale ambiguità si ricorre alla rappresentazione in
complemento a 2, che consiste nel rappresentare i numeri negativi attraverso
un’operazione di complementazione a 1 del corrispondente positivo. In generale,
l’operazione di complementazione a 1 si effettua cambiando gli 1 con 0 e viceversa.
Per ottenere il complemento a 2 di un numero si procede nel seguente modo:
• si effettua il complemento a 1 del numero stesso, che consiste nel cambiare gli 0
in 1 e viceversa;
• si somma il valore 1 al complemento a 1.

Numero di cui determinare


Procedura Risultato
il complemento a 2
scrivi 19 in binario 010011
a) 19 → –19 inverti i bit 101100
somma 1 101101
scrivi –23 in complemento a 2 101001
b) –23 → 23 sottrai 1 101000
inverti i bit 010111

Ricorda che, se c’è un riporto nel bit di segno, non deve essere considerato.
Nella tabella seguente sono riportati alcuni valori e i corrispondenti negativi in
complemento a due.

28 Sezione A Architettura del computer e sistemi operativi


Rappresentazione Rappresentazione
Valore Valore
in complemento a 2 in complemento a 2
+7 0111 –7 1001
+6 0110 –6 1010
+5 0101 –5 1011
+4 0100 –4 1100
+3 0011 –3 1101
+2 0010 –2 1110
+1 0001 –1 1111
+0 0000

La notazione in complemento a 2 è molto uti-


le, perché consente di eseguire le sottrazioni 14 in binario 001110
in binario con le stesse regole delle somme.
Inverti i bit 110001
12 – 14 = 12 + (– 14) Somma 1, ottieni –14 110010
12 in binario 001100
Somma –14 e 12 111110 –2

OSSERVA COME SI FA
1 Rappresentiamo in complemento a 2 su 4 bit i numeri +3 e –6.
+3 è positivo ed è rappresentato come 0011.
–6 è negativo, per cui procediamo nel seguente modo:
■ il numero binario corrispondente è 0110;
■ il complemento a uno è 1001;
■ sommiamo 1 e otteniamo il complemento a 2 cioè 1010.

2 Rappresentiamo in modulo e segno e complemento a 2 su 10 bit i numeri –31 e –109.

Prendiamo in esame il numero decimale –31 e vediamo come procedere:

Il numero binario corrispondente al numero decimale 31 è 11111


Dovendolo scrivere su 10 bit dobbiamo aggiungere cinque zeri alla sinistra del numero; avremo quindi 0000011111
Per la rappresentazione in modulo e segno dobbiamo partire dalla rappresentazione binaria del valore
1000011111
assoluto del numero e impostare a 1 il bit del segno
Per giungere alla rappresentazione in complemento a 2 basta partire dalla rappresentazione binaria del
1111100001
valore assoluto del numero e invertire tutti i bit, quindi sommare 1

Esaminiamo ora il numero –109:

Il numero binario corrispondente al numero decimale 109 è 1101101


Dovendolo scrivere su 10 bit dobbiamo aggiungere tre zeri alla sinistra del numero; avremo quindi 0001101101
Per la rappresentazione in modulo e segno dobbiamo partire dalla rappresentazione binaria del valore
1001101101
assoluto del numero e impostare a 1 il bit del segno
Per giungere alla rappresentazione in complemento a 2 basta partire dalla rappresentazione binaria del
1110010011
valore assoluto del numero e invertire tutti i bit, quindi sommare 1

La codifca dell’informazione A2 29
3 A quali numeri decimali corrispondono i seguenti numeri binari rappresentati in modulo
e segno e in complemento a 2?
■ 100110 11110 111 0101

Procedura
■ In modulo e segno elimina il bit del segno e calcola il valore assoluto in notazione decima-
le. Il risultato sarà il valore assoluto se il bit di segno è 0, oppure il corrispondente numero
negativo se il bit di segno è 1.
■ In complemento a 2, se il bit di segno è 1, calcola la rappresentazione binaria del valore
assoluto del numero invertendo tutti i bit partendo dal primo 1, escluso, che incontri
leggendo la stringa binaria da destra verso sinistra. Calcola quindi il valore assoluto in
notazione decimale. Il risultato sarà il corrispondente numero negativo. Se invece il bit
più signifcativo è 0, allora il numero è positivo e basta calcolarne la rappresentazione
decimale senza invertire i bit.

Soluzione
■ 100110 è negativo perché il bit del segno vale 1.
In modulo e segno il valore assoluto è 000110 = 6, quindi il risultato è – 6.
In complemento a 2 il valore assoluto diventa 011010 = 26, quindi il risultato ottenuto è – 26.
■ 11110 è negativo perché il bit del segno vale 1.
In modulo e segno il valore assoluto è 01110 = 14, quindi il risultato è – 14.
In complemento a 2 il valore assoluto diventa 00010 = 2,quindi il risultato è – 2.
■ 111 è negativo perché il bit del segno vale 1.
In modulo e segno il valore assoluto è 011 = 3, quindi il risultato è – 3.
In complemento a 2 il valore assoluto diventa 001 = 1, quindi il risultato è – 1.
■ 0101 è positivo perché il bit del segno vale 0.
In modulo e segno il valore assoluto è 0101 = 5, quindi il risultato è 5.
In complemento a 2 il risultato è lo stesso ottenuto per modulo e segno, ovvero 5.

4 Scriviamo i seguenti numeri decimali nelle varie codifche in binario puro, modulo e
segno, complemento a 1, complemento a 2, tutte su 7 bit.

Decimale Binario puro Modulo e segno Complemento a 1 Complemento a 2


15 1111 0001111 0001111 0001111
–15 –1111 1001111 1110000 1110001
–19 –10011 1010011 1101100 1101101
–27 –11011 1011011 1100100 1100101
–63 –111111 1111111 1000000 1000001
+63 111111 0111111 0111111 0111111
+64 1000000 Non rappresentabile Non rappresentabile Non rappresentabile

ORA TOCCA A TE
1 Converti i numeri decimali (6, –6) in binario puro, modulo e segno, complemento a 1,
complemento a 2, su 4 bit.
Binario puro
+6 ..................................................................................................
–6 ..................................................................................................
Modulo e segno
+6 ..................................................................................................
–6 ..................................................................................................

30 Sezione A Architettura del computer e sistemi operativi


Complemento a 1
+ 6 ..................................................................................................
– 6 ..................................................................................................
Complemento a 2
+ 6 ..................................................................................................
– 6 ..................................................................................................

2 Rappresenta in modulo e segno e complemento a 2 i seguenti numeri negativi su 8 bit:


–28, –44

Il numero binario corrispondente al numero decimale –28 è


Dovendolo scrivere su 8 bit dobbiamo aggiungere ______ zeri alla sinistra del numero: quindi
Per la rappresentazione in modulo e segno dobbiamo partire dalla rappresentazione binaria
del valore assoluto del numero e impostare a 1 il bit del segno, quindi
Per giungere alla rappresentazione in complemento a 2 basta partire dalla rappresentazione
binaria del valore assoluto del numero e invertire tutti i bit partendo dal primo 1 (escluso) che
incontriamo, quindi

Il numero binario corrispondente al numero decimale 44 è


Dovendolo scrivere su 10 bit dobbiamo aggiungere ______ zeri alla sinistra del numero, quindi
Per la rappresentazione in modulo e segno dobbiamo partire dalla rappresentazione binaria
del valore assoluto del numero e impostare a 1 il bit del segno, quindi
Per giungere alla rappresentazione in complemento a 2 basta partire dalla rappresentazione
binaria del valore assoluto del numero e invertire tutti i bit partendo dal primo 1 (escluso) che
incontriamo, quindi

3 La codifica dei numeri reali


La codifica in virgola fissa dei numeri reali
Una codifica dei numeri reali è quella in virgola fissa ( fixed point) in cui si stabili- Rifetti
sce un numero di cifre a disposizione per la parte intera, un numero a disposizio-
ne per la parte frazionaria e un bit per rappresentare il segno.
Si parla di virgola fissa
perché la posizione
della virgola (o punto
decimale) è stabilita
Segno una volta per tutte,
ovvero i posti per
7 bit per rappresentare 8 bit per rappresentare
rappresentare le
la parte intera la parte frazionaria
cifre dopo la virgola
sono prefissati e
Qui è idealmente
quindi la virgola viene
localizzata la virgola
considerata sempre
allo stesso posto.
Ad esempio:
+1,25 si rappresenta come +0000001.01000000
–8,0 si rappresenta come –0001000.00000000

La codifca dell’informazione A2 31
Nella rappresentazione in virgola fissa i numeri sono rappresentati con una certa
approssimazione. Ad esempio, 5,37 periodico (5,373737373737...) assumerebbe la
rappresentazione in virgola fissa:
+0000101.01011111
che ha un numero di cifre decimali inferiore a quelle reali.
A causa di questa perdita di informazioni, questo sistema ha campi di applicazio-
ne specifici.

La codifica in virgola mobile dei numeri reali


Nella rappresentazione in virgola mobile ( floating point), la posizione della virgo-
la varia dinamicamente ( floating in inglese significa mobile, fluttuante).
In questo caso il numero è espresso secondo la notazione scientifica, cioè scisso
in due parti:
• la mantissa, che rappresenta un numero compreso tra 0,100000... e 0,99999...;
• l’esponente, che indica la potenza di 10 per cui occorre moltiplicare la mantis-
sa al fine di ottenere il numero che si intende rappresentare.
Consideriamo ad esempio il numero 8.41. Per esprimerlo in notazione scientifi-
ca, dobbiamo procedere con un’operazione di normalizzazione, che consiste nel
portare il punto decimale immediatamente a sinistra della prima cifra diversa da
zero della mantissa: il punto quindi si muove verso l’inizio della prima parte del
numero, moltiplicandolo per un opportuno esponente.
Il numero 8.41, normalizzato, diventa:
0.841 × 10
che, a sua volta, può essere espresso come:
1
0.841 × 10 = 0.841E+1
dove la lettera E sta per “10 elevato all’esponente” (+1).
In fase di normalizzazione, se il numero dato è in valore assoluto maggiore di 1,
l’esponente è positivo e uguale al numero delle cifre intere; se il numero dato è in
valore assoluto minore di 1, l’esponente è negativo e uguale al numero degli zeri
dopo la virgola.
Vediamo qualche esempio:
812 = 0.812E+3;
–812 = –0.812E+3;
–0.007 = –0.7E–2.
Lo standard più diffuso per la codifica in questo formato è quello stabilito
dall’IEEE (Institute of Electrical and Electronics Engineering) e identificato dalla
sigla 754. Questo standard prevede due formati di rappresentazione: uno in “preci-
sione normale” codificato su 32 bit e uno in “doppia precisione” codificato su 64 bit.
Inoltre lo standard prevede che:
• la mantissa venga rappresentata in modulo e segno;
• l’esponente (o caratteristica) venga rappresentato in modo polarizzato.

32 Sezione A Architettura del computer e sistemi operativi


Abbiamo detto che lo standard IEEE 754 prevede 32 bit per rappresentare un va-
lore in virgola mobile a precisione singola. I 32 bit a disposizione saranno così
organizzati:

Segno: Esponente (8 bit) Mantissa (23 bit)


0 – positivo
1 – negativo

In particolare:
• 1 bit per il segno;
• 8 bit di esponente polarizzato biased 127 (detto anche in eccesso 127);
• 23 bit di parte frazionaria (mantissa).
31 30 23 22 0

S Esponente Mantissa

All’interno di questi 32 bit, quindi, sarà inserita una successione di cifre binarie il
cui valore sarà quello del numero reale.

OSSERVA COME SI FA
1 Rappresentiamo in singola precisione il numero reale decimale 43,6875(10).
I passi da svolgere sono i seguenti.

a. Calcolare il segno del numero


Per il segno è necessario inserire 1 se il numero è negativo e 0 se è positivo.
Nel nostro caso, essendo il numero positivo, il valore da inserire nel bit riservato al segno è 0.
31 30 23 22 0

S Esponente Mantissa

b. Trasformare il numero senza segno in forma binaria


Utilizzando il metodo delle divisioni successive, convertiamo la parte intera 43 in binario. Ot-
terremo:

Dividendo Divisore Quoziente Resto


43 2 21 1
21 2 10 1
10 2 5 0
5 2 2 1
2 2 1 0
1 2 0 1

Quindi 43(10) = 101011(2).

La codifca dell’informazione A2 33
Procediamo, ora, con la conversione della parte decimale 0,6875, servendoci del metodo delle
moltiplicazioni successive:
■ 0,6875 × 2 = 1,375 parte intera 1
■ 0,375 × 2 = 0,75 parte intera 0
■ 0,75 × 2 = 1,5 parte intera 1
■ 0,5 × 2 = 1,0 parte intera 1
Quindi la parte frazionaria 0,6875(10) = 1011(2).
Complessivamente, 43,6875(10) = 101011.1011(2).

c. Normalizzare il numero binario ottenuto


Spostiamo la virgola verso sinistra lasciando solo un 1 a sinistra. Otteniamo:
1.010111011 × 25

d. Completare la mantissa fno a coprire tutti i bit a disposizione


Stiamo rappresentando un numero reale in precisione singola, quindi abbiamo a disposizione
23 bit per la mantissa. Dobbiamo inserire in coda al numero ottenuto (cioè alla sua destra)
tanti zeri fno a completare i 23 bit. Otteniamo, quindi:
1.01011101100000000000000

31 30 23 22 0

0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

S Esponente Mantissa

e. Convertire l’esponente
L’esponente che abbiamo ottenuto durante la fase di normalizzazione è pari a 5. Secondo lo
standard IEEE 754, l’esponente deve essere polarizzato nel senso che al valore dell’esponente
originario occorre sommare un certo valore fsso chiamato bias. Nel caso di numeri in precisio-
ne singola, il bias è pari a 127.
Abbiamo, quindi, 5 + 127 = 132(10) = 10000100(2).
31 30 23 22 0

0 1 0 0 0 0 1 0 0 0 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0

S Esponente Mantissa

2 Rappresentiamo, ora, un valore negativo in virgola mobile a precisione singola (32 bit). Il
numero da rappresentare è – 11,375(10).
a. Calcolare il segno del numero
Per il segno è necessario inserire 1 se il numero + negativo e 0 se è positivo.
Nel nostro caso, essendo il numero negativo, inseriamo 1.
31 30 23 22 0

S Esponente Mantissa

34 Sezione A Architettura del computer e sistemi operativi


b. Trasformare il numero senza segno in foma binaria
Utilizzando il metodo delle divisioni successive, convertiamo la parte intera 11 in binario.

Dividendo Divisore Quoziente Resto


11 2 5 1
5 2 2 1
2 2 1 0
1 2 0 1

Quindi 11(10) = 1011(2) Procediamo ora con la conversione della parte decimale 0,375:
■ 0,375 × 2 = 0,75 parte intera 0
■ 0,75 × 2 = 1,5 parte intera 1
■ 0,5 ×2 = 1,0 parte intera 1
Quindi la parte frazionaria 0,375(10) = 011(2).
Complessivamente, 11,375(10) = 1011.011(2).

c. Normalizzare il numero binario ottenuto


Spostiamo la virgola verso sinistra lasciando solo un 1 a sinistra. Otteniamo:
1.011011 * 23

d. Completare la mantissa sino a coprire tutti i bit a disposizione


Siamo in precisione singola per cui abbiamo a disposizione 23 bit per la mantissa. Dobbiamo
inserire in coda al numero ottenuto tanti zeri sino a completare i 23 bit. Otteniamo, quindi:
1.01101100000000000000000
31 30 23 22 0

1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

S Esponente Mantissa

e. Convertire l’esponente
L’esponente che abbiamo ottenuto durante la fase di normalizzazione è pari a 3, a cui occorre
sommare il bias 127. Abbiamo, quindi, 3 + 127 = 130(10) = 10000010(2).
31 30 23 22 0

1 1 0 0 0 0 0 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

S Esponente Mantissa

ORA TOCCA A TE
1 Rappresenta in virgola mobile a precisione singola (32 bit) il numero –49,526(10).

a. Calcola il segno del numero.


31 30 23 22 0

S Esponente Mantissa

La codifca dell’informazione A2 35
b. Trasforma il numero senza segno in forma binaria.
Convertiamo la parte intera in binario.

Dividendo Divisore Quoziente Resto


49 2 24 1
24

Quindi (10) = (2)

Procediamo, ora, con la conversione della parte decimale servendoci del


metodo delle moltiplicazioni successive:
■ × 2 = parte intera
■ × 2 = parte intera
■ × 2 = parte intera
■ × 2 = parte intera

……

Quindi la parte frazionaria (10) = (2)

Complessivamente, (10) = (2)

c. Normalizza il numero binario ottenuto.


______________________________________________________________________________

d. Completa la mantissa sino a coprire tutti i bit a disposizione.

31 30 23 22 0

S Esponente Mantissa

e. Converti l’esponente.
L’esponente che abbiamo ottenuto durante la fase di normalizzazione è pari a a cui occorre
sommare (o sottrarre?) . Abbiamo, quindi, .

31 30 23 22 0

S Esponente Mantissa

36 Sezione A Architettura del computer e sistemi operativi


2 Rappresenta in virgola mobile a precisione singola (32 bit) il numero 625,00137(10).

a. Calcola il segno del numero.


31 30 23 22 0

S Esponente Mantissa

b. Trasforma il numero senza segno in forma binaria.


Convertiamo la parte intera in binario.

Dividendo Divisore Quoziente Resto

Quindi (10) = (2)

Procediamo, ora, con la conversione della parte decimale servendoci del


metodo delle moltiplicazioni successive:
■ × 2 = parte intera
■ × 2 = parte intera
■ × 2 = parte intera
■ × 2 = parte intera

...
Quindi la parte frazionaria (10) = (2)
Complessivamente, (10) = (2)

c. Normalizza il numero binario ottenuto.


______________________________________________________________________________

d. Completa la mantissa sino a coprire tutti i bit a disposizione.


31 30 23 22 0

S Esponente Mantissa

e. Converti l’esponente.
L’esponente che abbiamo ottenuto durante la fase di normalizzazione è pari a a cui occorre
sommare (o sottrarre?) . Abbiamo, quindi, .
31 30 23 22 0

S Esponente Mantissa

La codifca dell’informazione A2 37
4 La codifica dei caratteri
Per la rappresentazione di informazioni (charset) di tipo non numerico (caratteri
alfabetici, cifre, segni diacritici e caratteri speciali), si codifica ogni carattere con
una particolare configurazione binaria.

Il codice ASCII
Lo sai? Con un byte si può rappresentare un carattere alfabetico qualsiasi, una cifra o un
simbolo speciale. Disponendo di 7 bit possiamo ottenere 27 caratteri diversi, cioè
Il codice ASCII di una
lettera maiuscola si
ottiene da quello della
corrispondente lettera
minuscola, sottraendo
32 (ad esempio, la ‘a’
minuscola ha codice
97, la ‘A’ maiuscola
ha codice ASCII 65,
pari a 97 – 32).

38 Sezione A Architettura del computer e sistemi operativi


128. Avendo a disposizione 128 caratteri, ogni casa costruttrice di hardware po-
trebbe costruire un apposito codice di caratteri realizzabili. Grazie a un accordo Lo sai?
tra tutti i produttori di hardware è stato però realizzato un codice di riferimento,
chiamato ASCII (American Standard Code for Information Interchange), che in in-
In Windows, per
glese si pronuncia askey, mentre in italiano può essere pronunciato semplicemen- digitare un carattere
te come asci. non presente sulla
I primi 32 caratteri del codice ASCII hanno un aspetto singolare: sono i cosiddetti tastiera puoi usare la
combinazione di tasti
caratteri di controllo, che non fanno parte dell’alfabeto visualizzabile (stampa- ALT + il codice ASCII
bile), ma provocano effetti specifici (spostamenti verticali e orizzontali su video e esteso del carattere,
cancellazione di caratteri, e così via) oppure vengono interpretati come caratteri usando il tastierino
numerico.
di significato speciale (fine di una sequenza di caratteri, separatore e così via). Ad esempio, tenendo
premuto il tasto
ALT e digitando 65
Il codice ISO 8859 otteniamo la lettera A.
Poiché il numero dei simboli usati nelle lingue naturali è di molto più grande dei
caratteri codificabili con ASCII, è stato necessario espanderne il set di codifica
creando dei codici con 8 bit. Nascono, così, i codici dello standard ISO 8859. Il
più importante fu l’ISO 8859-1, detto anche Latin1, contenente i caratteri per i
linguaggi dell’Europa Occidentale. Tale specifica conteneva per la precisione la
codifica di 192 caratteri grafici.
Questo codice mantiene l’ordinamento alfabetico, in quanto, se un carattere pre-
cede un altro, il suo codice, considerato come un numero binario, è minore.
In base a questo codice, per rappresentare la parola CASA occorrono 4 byte e la
rappresentazione in memoria è mostrata nella tabella seguente:

01000011 01000001 01010011 01000001


C A S A

Il codice UNICODE
L’ISO 8859 lasciava irrisolti alcuni problemi: i 128 codici in più di cui disponeva, e
che andavano a sommarsi ai 128 del codice ASCII, non erano ancora sufficienti per
codificare altri caratteri, specialmente per le lingue basate su ideogrammi. Inoltre,
i codici successivi al codice 127 dell’ASCII corrispondono, nelle varie codifiche, a
caratteri diversi.
Per ovviare a questo inconveniente è stato implementato un nuovo codice: l’Uni-
code. Con questo codice è possibile codificare le lettere e le cifre delle principali
lingue del mondo, anche di quelle che utilizzano ideogrammi come il giapponese e
il cinese.
Lo standard Unicode permette la codifica di più di un milione di caratteri. Con la
versione Unicode 8.0 rilasciata nell’anno 2015 si è riusciti ad assegnare circa 120
mila codici ad altrettanti caratteri. Questo standard è gestito dallo Unicode Con-
sortium.
Esistono diversi sistemi di codifica per rappresentare in binario l’Unicode: tra i più
utilizzati vi sono l’UTF-8 e l’UTF-16.

La codifca dell’informazione A2 39
RIPASSIAMO INSIEME
MAPPA
LA CODIFICA DELL’INFORMAZIONE MODIFICABILE

Che cos’è un codice? Come si chiama Che cosa significa


l’insieme dei simboli codificare
È un insieme di
di cui è formato un un’informazione?
simboli convenzionali
codice?
associati a significati Significa rappresentare
precisi, che possono Si chiama alfabeto. l’informazione con i
essere combinati tra simboli dell’alfabeto
loro secondo regole. di un codice.

senza segno E
numeri sistema binario puro
interi
sistema con modulo e segno F
relativi
rappresentazione G
con complemento a 2

Come si
rappresenta H
sistema con virgola fissa:
un’informazione
rappresenta i numeri solo
all’interno numeri
approssimandoli
di un computer? reali

sistema con virgola mobile: I


Dipende dal tipo
di informazione il numero è scisso in mantissa
che vogliamo ed esponente (necessita di un
codificare: processo di normalizzazione)

codifica ASCII con 7 bit L


(fino a 128 caratteri)

caratteri codifica ISO 8859 M


(ASCII esteso, opera con 8 bit)

codifica Unicode (supporta N


oltre 120000 caratteri)

40 Sezione A Architettura del computer e sistemi operativi


A2
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Un codice è formato da un insieme di simboli


il cui significato è stabilito per convenzione (A) .. V F

2) Un alfabeto è l’insieme dei simboli dei quali


è formato un codice (B) .................................................... V F

3) Rappresentare un’informazione significa codificarla


con i simboli dell’alfabeto di un codice (C) ............. V F

4) Per rappresentare in un computer i numeri interi


con segno si usa il sistema binario puro (E) ............. V F

5) Per rappresentare in un computer i numeri reali


si può usare la rappresentazione con
complemento a due (H, I) ................................................. V F

Completa le affermazioni seguenti.

6) Il modo di codificare l’informazione in un computer dipende


dal ………..….. di informazione che vogliamo codificare (D)

7) Per rappresentare in un computer i numeri relativi si possono


usare ……......… metodi (F, G)

8) Il sistema con virgola .................... rappresenta i numeri reali


solo approssimandoli (H)

9) I sistemi con virgola fissa e con virgola mobile servono


a rappresentare i numeri ......................................... (H, I)

10) Il codice ASCII utilizza ......... bit per codificare i caratteri (L)

11) La codifica ISO 8859 si chiama anche ................................................


esteso (M)

12) La codifica ............................ supporta oltre 120000 caratteri (N)

La codifca dell’informazione A2 41
Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo A2
Risposta singola Vero o falso
1 Per effettuare il complemento a 2 di un numero 7 Il dato deve essere elaborato. V F
binario:
8 L’informazione è un elemento
A si effettua il complemento a 1 e poi che non è stato ancora elaborato. V F
si aggiunge 1
B si effettua la conversione in modulo e segno 9 Con la codifica si traducono simboli
e poi si aggiunge 1 da alfabeto esterno ad alfabeto interno
della macchina. V F
C si effettua la conversione in modulo e segno
e poi si invertono gli 1 con gli 0 e viceversa 10 I numeri interi si codificano solo con
D partendo da destra si lasciano invariati i bit la rappresentazione in modulo e segno. V F
fino a incontrare il primo 1, invertendo
tutti gli altri 11 La rappresentazione in complemento
a 1 di un numero è l’opposto della
rappresentazione in complemento a 2. V F
2 Disponendo di 7 bit si possono rappresentare:
A 32 caratteri 12 Con il codice ASCII è possibile
rappresentare più codici che in UNICODE. V F
B 64 caratteri
C 128 caratteri
D 256 caratteri Completamento
13 Per la rappresentazione di informazioni di tipo non
3 Per ottenere il complemento a 1 di un numero bi- numerico, si codifica ogni ______________ con una
nario: particolare configurazione _____________.
A si cambiano gli 0 in 1 e si somma 1
14 Nella rappresentazione in virgola mobile il numero
B si cambiano gli 1 in 0 è scisso in ____________ e _______________ e per
C si cambiano gli 0 in 1 esprimerlo in notazione _______________ occorre
D si cambiano gli 0 in 1 e viceversa effettuare la _____________________

15 I primi ____ caratteri del codice ASCII sono i co-


4 Il complemento a 2 di 1100100 è: siddetti ____________________, che non fanno
A 0010110 parte dell’alfabeto visualizzabile (stampabile), ma
B 0011000 provocano effetti specifici.
C 0011100
D 0011101 Risposte multiple

5 Quale tra le seguenti è la rappresentazione corret-


16 Il codice:
ta in formato scientifico del numero 2745? A ha un repertorio di simboli
A 1.2745 +3 B non necessita di regole per comporre le parole
B 0.2745 +4 C può prevedere una semantica
C 0.2745 +1 D è composto da massimo 128 simboli
D 0.2745 –4
17 Il codice ISO 8859:
6 Il codice UNICODE utilizza: A è un codice su 7 bit
A 1 byte B 2 byte B ha una variante chiamata Latin 1
C 3 byte D 4 byte C è un codice su 8 bit
D rappresenta l’ASCII esteso

42 Sezione A Architettura del computer e sistemi operativi


Allena le tue ABILITÀ
e le tue COMPETENZE A2
ABILITÀ 7 Rappresenta in modulo e segno su 6 bit i seguenti
numeri decimali.
1 Rappresenta i numeri decimali interi compresi tra
–5 e +5 nella forma valore assoluto con segno con in modulo e segno su 6 bit
4 bit. + 14
–2
2 Rappresenta nella forma valore assoluto con se- +9
gno con 6 bit i seguenti numeri decimali.
–9
forma valore assoluto con segno con 6 bit
– 13 8 Rappresenta i seguenti numeri decimali nelle co-
difiche indicate.
27
– 25 forma forma forma valore
complemento complemento assoluto con
–7
a 1 con 8 bit a 2 con 10 bit segno con 12 bit
– 75
3 Rappresenta nella forma complemento a 2 con 6
– 123
bit i numeri decimali descritti nell’esercizio prece-
dente. + 25
+ 64
forma complemento a 2 con 6 bit
– 13 9
27 a) Rappresenta il numero 154 in complemento a 2
– 25 su 8 bit.
–7 b) Qual è il valore binario rappresentato, se
interpretiamo il numero come numero binario
puro?
4 Rappresenta i numeri decimali compresi tra -7 e 7
nella forma complemento a 2 con 4 bit. complemento a 2 su 8 bit
a)
5 Rappresenta nella forma in complemento a 1 con
6 bit i numeri decimali descritti nell’esercizio n. 2. 154 valore, se interpretato come numero binario
puro
forma in complemento a 1 con 6 bit b)
– 13
27
COMPETENZE
– 25
–7
10 Che numero rappresenta la sequenza 11100110
di 8 bit, se il sistema di rappresentazione è il com-
plemento a 2?
6 Rappresenta in complemento a 2 su 6 bit i se-
guenti numeri decimali. 11 Cerca ulteriori informazioni sul codice ASCII e
scrivi poi la parola “Computer” con una sequenza
complemento a 2 su 6 bit di codici ASCII.
+ 14 12 Un file contiene una sequenza di byte con i valori
–2 (esadecimali) seguenti:
+9 42 75 6F 6E 20 47 69 6F 72 6E 6F 21 0D 0A.
–9 Qual è il messaggio contenuto nel file?

La codifca dell’informazione A2 43
A3 L'architettura del computer

IMPARERAI…

Che cos'è un Quali sono Quali sono le Quali sono i


computer e le componenti caratteristiche principali principali tipi di
come funziona di un computer delle varie componenti computer
di un computer

1 Il computer
Il computer è una macchina costituita da dispositivi di diversa natura (mecca-
nici, elettrici, ottici e così via) in grado di elaborare dati in modo automatico,
veloce, sicuro ed efficiente.

Il computer è un elaboratore di dati: eseguendo le istruzioni di un programma,


è capace di ricevere dati dall’esterno, operare su di essi e fornire i risultati dell’ela-
borazione, sollevando l’uomo da compiti noiosi, ripetitivi e complessi.
Il computer lavora, dunque, partendo da informazioni in ingresso (l’input del pro-
cesso di elaborazione), che elabora in base a una serie di regole (date da un pro-
gramma), poi restituisce informazioni in uscita (l’output del processo).

Il computer è una macchina programmabile, cioè una macchina che può es-
sere utilizzata per problemi diversi, in grado di interpretare e di eseguire una
serie di ordini impartiti dall’esterno.

2 Hardware e software
Un computer svolge i suoi compiti utilizzando risorse che possono essere rag-
gruppate in due grandi categorie: hardware e software.

HARDWARE SOFTWARE
Sono le risorse che compongono la Sono le risorse che compongono
parte fisica del computer, cioè l’insieme la parte logica del computer,
delle componenti meccaniche, elettriche, cioè tutti i programmi che consentono
elettroniche, magnetiche e ottiche di gestire il sistema

44 Sezione A Architettura del computer e sistemi operativi


L’elaborazione dei dati avviene grazie all’interazione tra hardware e software, un po’ PERSONAGGI
come nel corpo umano: quando studiamo, oppure pratichiamo uno sport, è la nostra John von Neumann
mente che invia i comandi ai vari organi del corpo e ne controlla (a livello conscio o (Budapest, 1903
inconscio) il movimento. Allo stesso modo, l’hardware “obbedisce” ai comandi invia- – Washington,
1957) è stato un
ti dal software, cioè dai programmi le cui istruzioni controllano la macchina. matematico, fisico e
informatico ungherese

3 Il case e la scheda madre


naturalizzato
statunitense. A lui si
deve la scoperta, negli
Il componente che caratterizza il computer al primo colpo d’occhio è l’involucro, anni Quaranta, del
un contenitore di metallo, plastica o alluminio chiamato case, che può avere varie modello architetturale
di un elaboratore
forme e dimensioni, come si vede nella figura seguente. Esistono anche computer (l’organizzazione
detti all-in-one (letteralmente “blocco unico”) in cui schermo e case sono riuniti generale delle sue
in un unico blocco. componenti), che ha
Full Tower ancora oggi effetti
Midi sulla realizzazione dei
Tower moderni computer.
Mini Fu von Neumann
Tower
che realizzò il primo
calcolatore digitale
con programma
memorizzato.
Desktop

All-in-one

Il case di un computer è facilissimo da aprire (l’interno deve essere accessibile per


aggiungere o sostituire alcune componenti): alcuni si aprono svitando poche viti,
altri sfruttando un semplice sistema a incastro.
Involucro esterno
del computer

Lettore CD o DVD

Apertura per il
Due alloggiamenti per raffreddamento
altre periferiche interne
(ad esempio altre prese
frontali o masterizzatori) Presa per il cavo elettrico
dell’alimentazione

Porte di comunicazione
con le periferiche

Pulsante di accensione
(power)
Alloggiamenti (SLOT)
per schede aggiuntive
Prese USB frontali

Presa cuffia frontale Presa microfono frontale

L’architettura del computer A3 45


All’interno del case, la prima componente che attrae la nostra attenzione è una
Lo sai? grande piastra piena di elementi elettronici: la scheda madre (o piastra madre,
o motherboard), elemento fondamentale che funge da piattaforma di comunica-
zione per tutte le altre componenti; alla scheda madre, infatti, vengono collegate
Immagina il
computer come se
tutte le parti del computer, che così possono dialogare fra loro.
fosse il motore di
un’automobile, dove La scheda madre di un computer
i vari componenti
lavorano in modo
sinergico, consumando Qui viene inserita Qui viene inserita
energia e producendo la CPU la memoria RAM
calore che, se non
disperso, potrebbe Connettore
danneggiarli. La regola di alimentazione
principale è che l’aria
fredda deve entrare
e quella calda deve Connettori per
uscire! Quindi, fai periferiche (video,
attenzione a dove audio, ethernet,
sistemi il tuo computer USB ecc.)
a casa!
Qui vengono inserite
le schede di espansione
Connettori per
dischi fissi

4 Collegare le periferiche al computer:


le porte
Lo sai? I vari dispositivi che vengono collegati al computer (tastiera, video, mouse, ecc.)
vengono detti periferiche. Affinché questi dispositivi possano essere riconosciu-
La scheda di ti e funzionare, è necessario che sulla scheda madre siano presenti le schede di
espansione è espansione che vengono installate in appositi alloggiamenti chiamati slot.
un’interfaccia. Con
questo termine viene Per collegare le periferiche alle schede bisogna inserire i loro cavi connettori in
indicato un dispositivo apposite prese, dette porte di comunicazione, posizionate solitamente sul lato
hardware o software posteriore e anteriore del case. Alcune porte sono utilizzate per la comunicazione
in grado di mettere
in comunicazione
di periferiche specifiche (ad esempio, il video), altre porte, invece, sono più versa-
due dispositivi tili e consentono il collegamento di dispositivi anche molto diversi tra loro.
che altrimenti non Nella figura puoi vedere in primo piano le numerose porte disponibili in una
riuscirebbero a
comunicare. scheda madre di un PC
La porta USB (Universal Serial Bus) definisce un collegamento seriale ad alta ve-
locità. Attraverso le porte seriali i dati viaggiano, come dice la parola stessa, in
serie, uno dopo l’altro, mentre nelle porte parallele i dati viaggiano raggruppati

46 Sezione A Architettura del computer e sistemi operativi


in byte. Ugualmente, i cavi connettori sono seriali e paralleli e sono fisicamente
diversi tra loro. Anche se intuitivamente la trasmissione seriale potrebbe sembra-
re lenta, in realtà la tecnologia USB consente di raggiungere velocità molto eleva-
te. Questo ha permesso che la porta parallela diventasse oramai obsoleta.
Il connettore utilizzato (il cavo USB) consente di collegare a un’unica porta sino Hub USB
a 127 periferiche diverse. Questa connessione può avvenire in cascata oppure at-
traverso l’utilizzo di appositi dispositivi chiamati hub USB che possono collegare
diverse periferiche USB (o altri hub USB). Questa porta consente di collegare o
scollegare i dispositivi senza dover riavviare il computer (hot swap).
La porta PS/2 permette di collegare al computer il mouse e la tastiera (non è più
utilizzata poiché sostituita dalla porta USB).

Ventola del processore


Rete

VGA
Audio LINE IN: è l’entrata analogica
per mixer o altro dispositivo

Audio LINE OUT: è l’uscita stereo


principale per cuffie e altoparlanti

Audio MIC IN: è l’entrata


analogica per il microfono
PS2
HDMI
DVI
USB Lo sai?

La porta VGA (Video Graphics Array) è un collegamento di tipo analogico che con-
In un sistema
sente di collegare un monitor al computer. Come puoi vedere nella figura, è pre- analogico il segnale
sente anche un’altra porta, chiamata DVI (Digital Visual Interface) che trasmette da elaborare varia
un segnale digitale a un monitor. La tecnica digitale consente di mantenere inte- nel tempo in un
intervallo continuo (un
gra la qualità dell’immagine. orologio analogico,
La porta HDMI (High Definition Multimedia Interface) è un’inter- quello con le lancette,
faccia compatta per il trasferimento di dati audiovisivi (compres- rappresenta tutti gli
istanti del tempo,
si e non) tra una sorgente compatibile (un lettore DVD, un lettore senza salti).
Blu-Ray) e un dispositivo di ricezione compatibile (un monitor, un In un sistema digitale,
proiettore, un dispositivo audio digitale). i segnali da elaborare
sono discreti, cioè
Esistono delle porte che consentono di collegare le periferiche senza l’ausilio di un non assumono tutti i
cavo connettore: valori di un intervallo
(un orologio digitale
• la porta wireless utilizza generalmente onde radio a bassa frequenza e per- rappresenta il tempo
mette il collegamento in reti wireless, cioè senza cavi (Wireless Local Area a salti di secondi, o
Network). Viene anche utilizzata per collegamenti a Internet; anche più piccoli).
• la porta Bluetooth consente un collegamento senza fili per lo scambio di in-
formazioni tra dispositivi diversi attraverso una frequenza radio sicura a cor-
to raggio. Cerca i dispositivi entro un raggio di qualche decina di metri; quelli
coperti dal segnale possono essere messi in comunicazione tra di loro.

L’architettura del computer A3 47


Lo sai?
5 L’unità centrale di elaborazione (CPU)
La CPU, il leader del sistema di elaborazione, è anche chiamata processore cen-
La Silicon Valley trale o microprocessore. Microprocessore e CPU, però, non sono proprio la stes-
La più grande sa cosa: con il termine microprocessore ci si riferisce all’oggetto hardware, mentre
azienda produttrice con CPU ci si riferisce alla funzione svolta e, quindi, a un concetto logico-funzio-
di microprocessori
è Intel, fondata nel
nale. In realtà, la CPU è “incarnata” in un microprocessore, e proprio per questo
1968, con sede motivo i due termini sono usati indistintamente.
in California nella
Silicon Valley (“valle
del silicio”), così
L’unità centrale di elaborazione (CPU, Central Processing Unit) rappresenta il
chiamata per la “cervello” del computer: è responsabile dell’esecuzione dei programmi e del
forte concentrazione controllo di tutto ciò che avviene all’interno del computer stesso.
di fabbricanti di
semiconduttori e di
microchip (entrambi La CPU è un’unità funzionale composta da:
basati sul silicio),
che hanno fatto da Unità di controllo (CU, Unità aritmetico-logica Registri
polo attrattore per Control Unit) ha il compito ha il compito di sono piccole ma veloci
l’insediamento di
di gestire e sovrintendere eseguire le operazioni memorie interne alla
aziende di computer e
al funzionamento di tutte aritmetiche e logiche CPU che sono in
di software. La prima
azienda di elettronica le unità del computer e sui dati provenienti grado di memorizzare
civile insediata nella all’esecuzione di tutti dalla memoria temporaneamente
Silicon Valley fu i passi necessari per un’informazione
Hewlett-Packard. eseguire un programma utile e signifcativa
residente nella memoria in determinate fasi
centrale dell’elaborazione dei dati

La CPU è caratterizzata da tre parametri: la classe, la frequenza del clock e la di-


mensione dei registri, che rappresentano i principali indicatori delle prestazioni
di un computer. La classe è indicata da una sigla. Tra i maggiori produttori di mi-
croprocessori troviamo Intel e AMD (pensa ai modelli Intel i5, Intel i7, AMD Athlon
e così via). La frequenza di clock misura, per così dire, i “battiti del cuore” del
computer. Il clock è un orologio molto veloce, che non può essere paragonato ai
Rifetti
nostri orologi da polso! La sua frequenza, infatti, è dell’ordine dei Gigahertz (GHz),
ossia di miliardi di oscillazioni al secondo (1 GHz = 1000 MHz).
Evoluzione
tecnologica
Dai primi computer
pensati per scopi
militari ai moderni
6 La memoria
portatili, i computer Un’altra componente fondamentale del computer è la memoria.
hanno conosciuto
un’evoluzione La memoria di un computer è costituita dall’insieme dei dispositivi che conser-
tecnologica
rapidissima: i primi vano i dati e i programmi.
computer occupavano
intere stanze, i tablet La memoria di un computer si divide in due grandi categorie: memoria centrale
di oggi stanno nel
palmo di una mano. (o primaria) e memoria di massa (o secondaria). La prima è una memoria veloce,
direttamente utilizzabile dalla CPU per eseguire le operazioni richieste dal pro-
gramma, mentre la seconda è più lenta e non è direttamente utilizzabile dalla
CPU, ma può immagazzinare grandi quantità di dati.
La memoria centrale è formata da tre tipi di memoria: RAM, ROM e cache.

48 Sezione A Architettura del computer e sistemi operativi


La memoria RAM
Mentre usiamo il computer, nella memoria RAM viene conservata, momento per Lo sai?
momento, la gran parte dei dati sui quali stiamo lavorando e delle istruzioni rela-
tive ai programmi in uso. Un computer che
lavora a 4 GHz (o
4000 MHz) esegue
Nello specifico la RAM (Random Access Memory) è il supporto di memoria su quattro miliardi di
cui la CPU può leggere e scrivere informazioni con un accesso casuale, in cui è azioni elementari al
possibile accedere direttamente a ogni singola cella semplicemente conoscen- secondo (l’esecuzione
di un’istruzione di un
done l’indirizzo. programma necessita
dell’esecuzione
di molte azioni
elementari). Maggiore
è la frequenza,
maggiore sarà la
quantità di dati
elaborati nell’unità
di tempo. Più in
dettaglio, l’esecuzione
delle istruzioni di un
programma consiste
nell’esecuzione, da
La memoria RAM rappresenta, quindi, il “banco di lavoro” del computer, nel senso parte della CU, di una
che tutti i programmi, per poter essere eseguiti, devono risiedere in essa. Se un precisa successione di
passi elementari:
programma si trova su una memoria di massa, per poterlo eseguire occorre dap-
• prelevamento
prima trasferirlo nella memoria RAM. Pensa a un DVD contenente un videogioco: dell’istruzione da
per poter giocare, non fai altro che inserire il DVD nel drive e, eventualmente, fare eseguire dalla
doppio clic sull’icona che lo rappresenta. In questo modo il videogioco sarà prele- memoria centrale
(fase di fetch);
vato dal DVD e portato in memoria centrale: soltanto dopo questo trasferimento • interpretazione
potrai utilizzarlo. dell’istruzione
La RAM è una memoria volatile, ossia perde il suo contenuto quando viene spen- (fase di decode);
• esecuzione
to il computer. Per questo motivo, quando si lavora con un’applicazione, è buona dell’istruzione
regola salvare con frequenza il lavoro fatto; in caso contrario, se venisse a manca- (fase di execute).
re l’energia elettrica perderesti tutti i tuoi dati. L’intero ciclo viene
chiamato ciclo
istruzione o ciclo
Come si misura la memoria: bit e byte macchina.

All’interno del computer i dati non sono composti da numeri o lettere così come
noi li digitiamo da tastiera. Tutti i dati che inserisci, per poter essere memorizzati,
devono essere convertiti in impulsi elettrici, gli unici che il computer “compren-
de”. Ogni impulso elettrico si definisce bit (binary digit = cifra binaria) e può essere
immaginato come una lampadina che, come ben sai, ha solo due stati: accesa e
spenta, oppure 0 (che significa non passaggio di corrente) e 1 (che significa pas-
saggio di corrente).

Passa corrente: lampada accesa Non passa corrente: lampada spenta

L’architettura del computer A3 49


INFOGR AFICA

Storia del computer


DALL’ANTICHITÀ AI GIORNI NOSTRI Il computer moderno ha una storia rela-
tivamente breve. Il primo computer digitale fu costruito solo nel 1946.
L’uomo è sempre stato accompagnato da macchine e strumenti che lo aiutavano
nelle operazioni di calcolo: a partire dall’abaco, fno alle calcolatrici meccaniche
del 1600; dai primi ingombranti elaboratori del dopoguerra, fno ai modernissimi
Personal Computer di dimensioni sempre più ridotte.

Dagli antenati
PARTE 1 ai bisnonni PARTE 2 I nonni del computer
del computer
Mano Il primo “computer” fu senza dubbio la mano, Vannevar Bush (1890-1974)
grazie a cui gli antichi egizi erano in grado di eseguire Nel 1925, al MIT, Bush iniziò a
calcoli complessi. progettare il suo analizzatore
differenziale, in grado di risolvere
Abaco Il primo vero strumento
equazioni differenziali. Già nel ‘32
di calcolo fu l’abaco. Inventato
l’esercito americano ne comprese
forse dai Babilonesi, era
l’importanza per il calcolo delle
ampiamente utilizzato in Grecia
traiettorie.
già dal VI secolo A.C. Se ne
ritrovano tracce in tutte le civiltà Konrad Zuse (1910-1995) Konrad
e in tutti i continenti dell’antichità. Zuse ideò il primo computer
elettromeccanico moderno,
Pascalina Il vero punto di partenza per giungere
basandosi sui progetti di Babbage
ai moderni elaboratori fu la “Pascalina”, ideata dal
e utilizzando schede perforate.
matematico francese Blaise
Zuse applicò i principi dell’aritmetica
Pascal (1623-1662) nel 1642. Era
binaria al suo primo calcolatore, lo Z1.
in grado di eseguire addizioni
e sottrazioni; si basava, come
l’abaco, sul valore di posizione.
Telaio di Jacquard Nel
1802 Joseph Marie Jacquard (1752-1834) introdusse
schede di cartone forato nei telai della sua azienda
tessile. Un dispositivo ad aghi leggeva la scheda.
All’epoca non se ne compresero le potenzialità di logica
binaria, ma in realtà l’idea ha influenzato lo sviluppo
dei moderni calcolatori.
Charles Babbage (1792-1871)
introdusse l’idea di moderno
elaboratore. Le sue due macchine
calcolatrici, una differenziale e
l’altra analitica, non vennero mai
realizzate appieno.

50 Sezione A Architettura del computer e sistemi operativi


ENIAC Nel 1946 fece la sua L’Assembler e l’EDVAC
comparsa il primo vero computer (1948/1951) Nel 1946 all’Università
della storia: l’ENIAC, voluto dal di Princeton, grazie agli studi del
ministero della difesa americano. matematico John Von Neumann,
Alla realizzazione concorsero i iniziò la costruzione dell’Electronic
maggiori scienziati americani, su Discrete Variable Automatic Computer
progetto dell’ingegnere J. Eckert e (EDVAC), primo elaboratore dotato di programmi
del fisico J.W. Mauchly. L’ENIAC fu memorizzati che si avvaleva della prima memoria
il primo strumento di calcolo che RAM della storia. Le istruzioni erano registrate
sfruttava solo circuiti elettronici e nella memoria elettronica interna mediante nastro
lavorava mille volte più velocemente della magnetico. Con l’EDVAC nacquero anche il software
migliore macchina elettronica dell’epoca. Era enorme e e il primo esempio di linguaggio, l’assembly, che
utilizzava schede perforate per l’inserimento dei dati. facilitava la programmazione della macchina.

PARTE 3
I genitori
del computer

Apple I e Apple II (1976/1977) Nel Commodore 64 Il


1976 Steve Jobs e Steve Wozniak settembre 1982 segna una
progettarono Apple I. Un anno più tardi data storica che vede l’ingresso sulla scena
annunciarono l’Apple II, il primo vero dell’informatica del Commodore 64, personal
home computer dotato di programmi
di video-scrittura, fogli di calcolo,
giochi ecc., e di linguaggio BASIC software, il successo del Commodore 64 fu immediato.
in memoria ROM. Furono questi i Altro punto di forza è da ricercare nella ricca
primi passi nell’era del disponibilità di applicativi e giochi.
Personal Computer
Primi portatili (1983) Uno dei primi PC portatili
e della nuova età
della storia fu il Commodore SX-64 che montava in un
dell’informazione.
unico blocco un lettore di floppy disk, un monitor con
relativi comandi di regolazione e una tastiera. Nella
parte posteriore erano presenti tutte le prese per i
collegamenti con le periferiche esterne.
Primo PC desktop IBM Il 12 agosto 1981 l’IBM Apple LISA (1983) fu il primo computer
progettò il primo modello di Personal Computer commerciale a interfaccia grafica basata su finestre
dotato di memoria 64 Kb e un microprocessore che e icone. La nuova
interfaccia
facilitava il rapporto
successo. La IBM acquisì dalla dell’utente con la
minuscola macchina e, grazie
Microsoft, all’introduzione del
fondata da Bill mouse, decretò la
svolta nella storia
Allen, il sistema dei sistemi operativi,
operativo a caratteri MS-DOS. aprendo le porte
dell’informatica al
grande pubblico.

L’architettura del computer A3 51


Se, quindi, con un bit possiamo rappresentare due situazioni, con due bit se ne
000 = A possono rappresentare 4, con tre bit 8, secondo la formula Y = 2 X.
Facciamo un esempio. Vogliamo rappresentare le lettere maiuscole. Disponendo
001 = B
di una sola lampadina, possiamo rappresentare la lettera A quando è accesa e la
lettera B quando è spenta. Aggiungendo un’altra lampadina possiamo formare
010 = C
quattro combinazioni acceso–spento (22 = 4): 00, 10, 01, 11, alle quali associamo i
caratteri A, B, C, D. Con tre lampadine arriviamo a configurare 8 caratteri (dalla
lettera A alla H) perché 23 = 8, e così via.
100 = D
Per avere una “conversazione” con il computer, quindi, è necessario che vi sia una
corrispondenza biunivoca tra ogni simbolo dell’alfabeto esterno e uno e un solo
101 = E simbolo di quello interno; chiameremo codice tale corrispondenza.
Per rappresentare un qualsiasi simbolo, però, si usa un raggruppamento di otto
110 = F bit: il byte, che corrisponde a una “parola” composta da otto bit.

011 = G

111 = H
1 1 0 0 0 0 1 0

Il byte assume particolare importanza in quanto permette di rappresentare qual-


siasi carattere alfabetico, cifra o simbolo speciale. Con 1 byte si possono codifica-
re 28 = 256 diverse alternative; un byte, quindi, può rappresentare (codificare) un
carattere scelto da un alfabeto di 256 simboli, un numero intero compreso fra 0 e
255, un colore scelto da una “tavolozza” di 256 colori diversi.
L’unità di misura della capacità (o “dimensione”) della memoria è il byte, di cui si
utilizzano i multipli. Ricorda però che per la costruzione delle unità di misura di
livello superiore non si usa il sistema decimale ma quello binario. Ecco allora che
il kilobyte non corrisponde a 1000 byte, ma a 210 = 1024 byte. Dai uno sguardo alla
tabella seguente che riporta le unità di misura della memoria.
Prefsso Si legge 2x Fattore moltiplicativo Valore approssimativo (in byte)
K Kilo 210 =1.024 Mille
M Mega 220 = 1.048.576 Un milione
30
G Giga 2 = 1.073.741.824 Un miliardo
T Tera 240 = 1.099.511.627.776 Un bilione
(mille miliardi)
P Peta 250 = 1.125.899.906.842.624 Un biliardo
60
E Exa 2 = 1.152.921.504.606.846.976 Un trilione
70
Z Zetta 2 = 1.180.591.620.717.411.303.424 Un triliardo
80
Y Yotta 2 = 1.208.925.819.614.629.174.706.176 Un quadrilione

La parola di memoria
La memoria è formata da un insieme di celle numerate progressivamente parten-
do da zero. Il numero che le contraddistingue, espresso come sequenza di bit, è
detto indirizzo ed è molto importante, perché a un’informazione contenuta nella
memoria si può fare riferimento solo tramite l’indirizzo della cella che la contiene.
Il concetto di cella è strettamente collegato con quello di parola, una configura-
zione di uno o più byte. Pertanto, la lunghezza della parola (cioè il numero di bit

52 Sezione A Architettura del computer e sistemi operativi


di cui è composta) definisce la dimensione della cella e quella dei registri della
CPU. Le parole sono composte da un numero di bit multiplo di otto (32, 64 e così Lo sai?
via) e si parla di “sistemi a 32 bit”, “sistemi a 64 bit” e così via. Più alto è il numero
di bit che compongono la parola, maggiore è, in genere, la velocità del computer.
Talvolta nella memoria
non volatile trovano
La memoria ROM posto anche veri e
propri programmi; è
il caso per esempio
La memoria ROM (Read Only Memory) è una memoria da cui si possono leggere di molti tablet o
informazioni registrate dal costruttore, ma in cui non è possibile scrivere nulla. smartphone della
nuova generazione.
In questo caso, in
Nella ROM sono residenti quei tipi di software che non devono mai essere cambia- memoria ROM sono
ti, come il BIOS (Basic Input-Output System) del computer, sistemi di controllo per installati il sistema
le periferiche, ecc. La ROM rappresenta anche il deposito dei programmi applica- operativo e i principali
programmi usati,
tivi che sono forniti a corredo di tablet e smartphone. così questi sono
Memorizzare i programmi in una memoria a sola lettura offre tre vantaggi: immediatamente a
disposizione, senza
• non appena il computer, si avvia i dati sono immediatamente disponibili al mi- dover aspettare i
croprocessore senza bisogno di prelevarli da memorie secondarie (hard disk); tempi necessari al loro
• il contenuto della memoria ROM è permanente e perciò non va perduto neppu- caricamento da una
memoria esterna, e
re quando si toglie l’alimentazione elettrica; si riduce il peso del
• non è possibile cancellare tale contenuto accidentalmente. dispositivo, dato che
non servono memorie
Come la RAM, anche la ROM è una memoria ad accesso casuale, perciò le infor- di massa dalle quali
mazioni che contiene possono essere recuperate velocemente. questi programmi
dovrebbero essere
caricati.
La memoria cache
La cache (si pronuncia: “cash”) è una particolare memoria caratterizzata da un’e-
levatissima velocità. Viene frapposta, quindi, tra la CPU e la memoria centrale, Memoria centrale
per aumentare le prestazioni del computer. In questa memoria vengono trasferiti i
dati della memoria centrale maggiormente richiesti dalla CPU in un certo periodo
Memoria cache
di tempo. Così aumenta la velocità di elaborazione, perché moltissimi accessi alla
memoria centrale vengono sostituiti con accessi alla memoria cache che, come
abbiamo detto, è di gran lunga più rapida. CPU

7 I bus
Come viaggiano le informazioni all’interno della macchina? Il collegamento fisico
tra le varie unità funzionali è realizzato da un insieme di linee detto bus.
BUS DEGLI INDIRIZZI

UNITÀ MEMORIA
CPU
DI I/O CENTRALE

BUS DI CONTROLLO

BUS DEI DATI

L’architettura del computer A3 53


Il bus è costituito da una serie di collegamenti hardware (come se fossero grup-
pi di fili elettrici), uno per bit, su cui viaggiano tutte le informazioni scambiate
tra l’unità centrale, la memoria e le unità di input/output.

In un sistema di elaborazione si trovano tre bus principali.


• Il bus degli indirizzi (address bus) trasporta l’indirizzo necessario per reperire
una cella di memoria o una unità di I/O. L’unico dispositivo abilitato a inviare in-
formazioni su questo bus è la CPU, per tale motivo questo bus è unidirezionale.
• Il bus dei dati (data bus) viene utilizzato per lo scambio di informazioni tra i
vari dispositivi. È bidirezionale, in quanto l’invio di dati non è di sola perti-
nenza della CPU.
• Il bus di controllo (control bus), anch’esso bidirezionale, è utilizzato per sin-
cronizzare la trasmissione (qualunque informazione deve arrivare in un preci-
so e determinato momento) e per permettere lo scambio di particolari segnali
di controllo tra le varie unità (segnali di lettura o scrittura, segnale di inizio
o fine trasmissione, segnale di unità libera o occupata e così via). Il suo scopo
principale è, pertanto, quello di coordinare e controllare il traffico di tutte le
informazioni che viaggiano sugli altri due bus.

8 Le memorie di massa
Le memorie di massa, o memorie ausiliarie, hanno lo scopo di conservare
dati e programmi in maniera permanente. Su di esse, però, non può avvenire
alcun tipo di elaborazione.

Sono memorie che possono contenere notevoli quantità di informazioni, possono


essere trasportabili (possono, infatti, essere esterne al computer) e sono meno co-
stose e di solito più lente della memoria centrale.
I dispositivi di memoria di massa più comunemente utilizzati sono le memorie
magnetiche, le memorie ottiche e le memorie flash.

I dischi magnetici
I dispositivi magnetici sono costituiti da un supporto piano ricoperto di materiale
ferromagnetico sul quale è possibile memorizzare le informazioni magnetizzando
apposite areole. La registrazione e la lettura dei dati avvengono grazie a una te-
stina di lettura/scrittura. Le loro prestazioni si valutano in base a:
• velocità di rotazione del supporto, misurata in giri al minuto;
• densità di memorizzazione, misurata in bit per pollice;
• velocità di trasferimento, misurata in byte al secondo.
Il disco è un supporto di memorizzazione di massa ad accesso diretto fisicamen-
te costituito da un piatto le cui facce sono ricoperte di materiale magnetico. La
sua superficie è composta da tantissime areole magnetizzabili: più piccole sono
le areole, maggiore è la capacità del disco. Le areole si trovano su piste circolari
concentriche denominate tracce, su cui i dati vengono memorizzati sequenzial-

54 Sezione A Architettura del computer e sistemi operativi


mente, cioè uno di seguito all’altro. Ogni traccia è suddivisa in un numero fisso di
settori, separati da zone neutre dette gap. L’operazione che provvede alla suddivi- Lo sai?
sione del disco in tracce e settori viene detta formattazione del disco. Per motivi
di efficienza i settori sono raggruppati dal punto di vista logico in cluster; quindi, L’hard disk è utilizzato
con questo termine ci riferiamo a un gruppo di settori. dalla CPU anche per
estendere la memoria
Il disco magnetico più comune, l’hard disk (disco fisso), è costituito da una pila di RAM: quando devono
dischi di alluminio (disk-pack), disposti uno sopra l’altro a un’opportuna distan- essere tenuti aperti più
za, che ruotano intorno a uno stesso asse verticale con velocità uniforme (dell’or- programmi, o quando
si manipolano grosse
dine di circa 7200 giri/min). I dischi sono rinchiusi all’interno di un contenitore quantità di dati che
ermetico nel quale si trova un braccio a forma di pettine sulle cui estremità si tro- non stanno tutti nella
vano le testine di lettura/scrittura. L’insieme di tutte le tracce equidistanti dall’as- RAM, la CPU sfrutta
parte del disco come
se di rotazione viene detto cilindro. memoria centrale.
Si parla di memoria
virtuale.
Hard disk Traccia Settore di una traccia
(o blocco fisico)

Cilindro Traccia
Settore Settore

Cluster

Capacità e tempo di accesso


Gli hard disk sono caratterizzati da una capacità di memorizzazione molto eleva- Lo sai?
ta (dell’ordine dei terabyte).
I settori sono
Si definisce capacità di un supporto di memorizzazione di massa la quantità di raggruppati dal
punto di vista logico
dati che esso può contenere. L’unità di misura della capacità è il byte. in cluster per motivi
di efficienza, quindi
Nelle operazioni di accesso al disco, ossia nelle operazioni di lettura/scrittura, quando parliamo di
cluster ci riferiamo a
il settore rappresenta l’unità minima di memoria che può essere letta o scritta. Il un gruppo di settori.
tempo di accesso varia da dispositivo a dispositivo (negli hard disk è inferiore ai
10 millisecondi) ed è dato dalla somma dei seguenti tempi:
• tempo di posizionamento (o tempo di seek), il tempo necessario affinché la
testina si posizioni sulla traccia contenente il settore interessato;
• tempo di latenza, il tempo di attesa necessario affinché il settore interessato
passi sotto la testina di lettura/scrittura. Questo tempo dipende dalla velocità
di rotazione dei dischi.

La velocità di trasferimento è la quantità di byte trasferiti da o per la memoria


di massa e si misura in MB/sec.

L’architettura del computer A3 55


I dispositivi di memoria rimovibili
Nome Caratteristiche
Hard disk USB Sono hard disk contenuti in un box esterno al computer e collegabile a quest’ultimo attraverso
una porta USB. Vengono spesso utilizzati per effettuare dei backup, copie di sicurezza di dati
presenti su altri dischi. La capacità di memorizzazione raggiunge i 10 TB.

Chiavette USB Chiamate anche pendrive, le chiavette hanno sostituito da tempo gli ormai obsoleti foppy disk.
Sono piccole e durevoli, perché non contengono parti meccaniche in movimento. I sistemi
operativi più recenti possono leggere e scrivere queste memorie senza la necessità di installare
un programma (driver) per farle funzionare. Un particolare tipo di pendrive sono le jet fash, con
spessore di pochi millimetri. La capacità di memorizzazione arriva a 1 TB
Flash memory Sono utilizzate su fotocamere digitali, smartphone e sulle chiavette USB. Raggiungono
capacità di diversi Gigabyte. Esistono vari formati, ognuno adatto a uno scopo particolare e
differenti per dimensione, forma e interfaccia. La più comune fash memory conosciuta è il
BIOS dei nostri computer. Altri tipi di fash memory sono usati soprattutto nelle fotocamere
digitali (ad esempio, SmartMedia, CompactFlash e così via) e nelle console (le Memory stick
della Playstation sono forse le più famose e commercializzate in tutto il mondo).
SD Le schede SD (Secure Digital) hanno capacità elevata e sono disponibili in vari formati: quello
standard (32×24×2,1 mm), le miniSD (21,5×20×1,4 mm), le microSD (11×15×1 mm).
Un’evoluzione delle schede SD sono le schede SDIO, che incorporano meccanismi per la
gestione dell’input/output che permettono di realizzare dispositivi particolari collegabili ad
apparecchiature elettroniche dotate di slot SDIO.
Le SDHC (Secure Digital High Capacity), chiamate anche SD 2.0, hanno capacità e velocità di
trasferimento dati superiore rispetto alle normali schede SD.
SSD Un’interessante variante degli hard disk sono gli SSD (solid-state drive – unità a stato solido)
che hanno una componentistica totalmente differente: non hanno parti meccaniche, in
quanto sono realizzati con memorie fash (stessa tecnologia usata nelle microsd). Questi
chip di memoria sono diversi anche da quelli delle unità USB, rispetto ai quali sono più veloci
e più affdabili. Le unità SSD sono quindi più costose delle chiavette USB, a pari capacità.

Hard drive array Sono supporti composti da un insieme di hard disk collegati tra di loro e portati a lavorare in
modo sincrono, cioè legato l’uno all’altro, aumentando così l’integrità dei dati, la tolleranza ai
guasti e le prestazioni rispetto all’uso di singoli dischi. Vengono anche detti supporti RAID
(Redundant Array of Independent Disks).

Spiral groove Le memorie ottiche


Pit
I dischi ottici sono costituiti da un cilindro di plastica poli-
Land carbonata largo circa 12 cm e alto circa 1,2 mm. Su di esso è
incisa una lunga traccia a spirale (diversamente dai dischi ma-
gnetici organizzati in tracce concentriche suddivise in settori)
che parte dal centro e arriva all’esterno del disco ed è formata
da una sequenza di aree piane (land). Durante la creazione di
un CD, la traccia viene deformata con piccolissimi buchi (pit)
2K blocchi
creati sulle aree piane. Creando i pit sulla spirale non si fa altro
di dati che scrivere i singoli bit di ogni byte, 0 (land) e 1 (pit), che poi

56 Sezione A Architettura del computer e sistemi operativi


possono essere letti attraverso una testina che emette un fascio di luce (laser) e Lo sai?
rileva dove viene riflessa (pit) o meno (land).
Per un lettore ottico, la velocità di trasferimento dati è espressa in byte/sec. I primi
I dischi ottici sono più
lettori avevano una velocità di 150 KB/sec e questo ordine di grandezza è divenuto affidabili dei dischi
il riferimento per rappresentare le velocità dei modelli successivi, che infatti si magnetici, in quanto
indicano con i simboli 2×, 8×, 50× ovvero con i multipli di quella di riferimento, all’interno del drive
corrispondenti, rispettivamente, a 300, 1200, 7500 KB/sec. la testina di lettura
resta sempre ad alcuni
Poiché i CD, i DVD e i Blu-ray Disc sono tutti supporti ad accesso sequenziale, il millimetri di distanza
tempo di accesso ai dati dipende dalla posizione in cui questi sono memorizzati dalla superficie.
all’interno del supporto.
• I CD-ROM Sono del tutto simili ai CD usati per registrare la musica. La sigla
ROM (Read Only Memory) segnala che i dati, una volta memorizzati su CD,
divengono indelebili, pertanto il CD potrà essere soltanto letto. La capacità
tipica è di circa 700–900 MB.
• I DVD-ROM (Digital Versatile Disc-ROM) esteriormente sono analoghi ai CD-
ROM, ma possono contenere da 4,7 a 17 GB. Sono usati soprattutto per regi-
strare i film digitali, ma possono contenere anche dati.
• Il Blu-ray Disc è il supporto ottico proposto da Sony agli inizi del 2002 come
evoluzione del DVD per la televisione ad alta definizione. Grazie all’utilizzo di
un laser a luce blu, riesce a contenere fino a 50 GB di dati, quasi 12 volte di più
rispetto a un DVD. Il primo apparecchio ad aver utilizzato commercialmente
questa tecnologia è stato la PlayStation 3.

9 Le periferiche di input
PERSONAGGI
La tastiera Christopher Latham
Sholes
La tastiera (keyboard) è il più tra- Il più comune
dizionale e diffuso dispositivo per schema per tastiere
l’immissione dei dati. La tastiera di computer è quello
denominato qwerty,
standard è composta da 105 tasti, progettato nel 1868
che possono essere classificati nei da Christopher
quattro tipi seguenti: Latham Sholes
suddividendo ai lati
• i tasti standard, posizionati nella parte centrale della tastiera, che servono opposti della tastiera
per digitare i vari simboli riportati su di essi; i tasti corrispondenti
alle coppie di lettere
• i tasti numerici servono per la digitazione delle cifre numeriche. Sono posti, più utilizzate nella
oltre che nel gruppo dei tasti standard, anche nel settore destro della tastiera, lingua inglese.
a costituire la tastierina numerica; questa va attivata premendo il tasto Bloc La disposizione dei
tasti può cambiare da
Num, altrimenti i tasti possono essere utilizzati per spostare il cursore: basta una lingua all’altra.
seguire le indicazioni riportate su di essi;
• i tasti di controllo si usano per svolgere particolari funzioni di servizio ge-
nerale, particolarmente nelle fasi di inserimento dei testi (funzioni di sposta-
mento del cursore, avanzamento pagine e così via);
• i tasti funzione o soft key, caratterizzati dalle sigle F1, F2, ..., F12 e posti nella
parte superiore della tastiera, permettono di effettuare determinate operazio-
ni a seconda del tipo di software utilizzato.

L’architettura del computer A3 57


Il mouse
È composto da una “scatoletta” su cui sono presenti, di solito, due pulsanti e una
rotellina (lo scroll) girando la quale l’utente può posizionarsi dove desidera. Il suo
movimento su un piano permette di muovere un puntatore sullo schermo. In
genere il puntatore ha la forma di una freccia, ma durante le varie attività può
assumere forme diverse. I mouse sfruttano una tecnologia ottica capace di de-
terminare il movimento attraverso l’analisi con laser della superficie sulla quale
scivolano, e sono disponibili anche in versione cordless.
Esistono altri dispositivi point-and-clic che sono utilizzati per ottimizzare lo spa-
zio necessario al dispositivo di puntamento:
• Touchpad: presente sui computer portatili, è un dispositivo sensibile al tatto:
il movimento del dito sulla sua superficie fa muovere il puntatore sullo scher-
mo. Come il mouse, è dotato di due pulsanti con la medesima funzione.

• Trackball: in questo dispositivo la scatoletta è fissa e il puntatore sul video


viene spostato ruotando direttamente una sfera.

• Trackpoint: è uno strumento di puntamento per computer portatili che con-


siste in una semisfera di colore rosso incastonata tra i tasti della tastiera.

• Touchscreen: è un monitor che agisce anche da dispositivo di input attra-


verso un tocco o contatto all’interno dell’area visualizzata, con il dito di una
mano oppure attraverso un altro oggetto passivo, quale per esempio una pen-
na. È frequentemente utilizzato nei tablet e negli smartphone.

• Touchpen: è una penna creata apposta per non rovinare gli schermi touch de-
gli smartphone e tablet, permettendo di usarli al meglio e senza lasciare segni.

• Joystick: trasforma i movimenti di una leva manovrata dall’utente in una se-


rie di segnali elettrici o elettronici che permettono di controllare un program-
ma, un videogioco, un’apparecchiatura o un attuatore meccanico.

• Joypad: è un controller per videogiochi dotato di diversi tasti, progettato per


essere tenuto in mano, in genere con due mani, non appoggiato a un piano.

Lo scanner
È un apparecchio che permette di leggere fogli che contengono testi o disegni,
nonché immagini su qualsiasi tipo di supporto cartaceo, trasformandoli in forma-
to digitale. Una volta memorizzate, le immagini digitali possono essere elaborate.
Esistono programmi di tipo OCR (Optical Character Recognition) che possono tra-
sformare l’immagine digitale di un testo in un vero e proprio file di testo.

La webcam
È una videocamera usata per trasmettere riprese video attraverso la rete Internet.
La ripresa effettuata con una webcam ha sempre una qualità piuttosto bassa, per-

58 Sezione A Architettura del computer e sistemi operativi


ché questo consente di ridurre al minimo il flusso di dati che viaggia su Internet.
La webcam funziona come una normale telecamera di ridottissime dimensioni.
Tutto ciò che è ripreso viene registrato direttamente sul computer che immagaz-
zina i filmati. La webcam è anche una macchina fotografica, perché consente di
realizzare dei fermo-immagine che possono essere salvati come foto. Può essere
utilizzata per effettuare videoconferenze e nei programmi di comunicazione tra
utenti in rete (pensa a Skype!).

10 Le periferiche di output
Il monitor
Il principale dispositivo di output è il monitor (o Lo sai?
schermo), costruito secondo la tecnologia LCD (Li-
quid Crystal Display, schermo a cristalli liquidi), che
I LED (Light Emitting
utilizza il fluido di cristalli liquidi racchiuso fra due Diode) sono sorgenti
lamine di vetro per produrre l’immagine sullo schermo. Applicando una carica luminose. I primi LED
elettrica, i cristalli liquidi all’interno del fluido assumono orientamenti variabili ad alta efficienza
sono stati investigati
che lasciano passare o bloccano la luce della retroilluminazione, ossia una sorgen- dall’ingegner Alberto
te luminosa posta dietro lo strato di cristalli liquidi che permette di far apparire Barbieri presso
uno schermo di colore bianco. Per la retroilluminazione vengono solitamente l’università di Cardiff
(GB) nel 1995.
utilizzate lampade a fluorescenza (CCFL), la cui luce viene diffusa attraverso lo L’evoluzione dei
strato di cristalli liquidi dal diffusore. materiali è stata la
Esistono anche schermi che utilizzano la retroilluminazione a LED: invece delle chiave per ottenere
normali lampade CCFL (al neon), la sorgente luminosa dello schermo è costituita le sorgenti luminose
del futuro che hanno
da LED, che consentono di ottenere uno spettro molto più ampio e quindi un mag- tutte le caratteristiche
gior numero di colori. per sostituire quasi
Lo schermo è composto da tantissimi puntini luminosi chiamati pixel (picture tutte quelle fino a
oggi utilizzate. I LED
element) che determinano la risoluzione ossia il numero di pixel che lo scher- in questi anni si
mo può visualizzare. Questo numero è generalmente compreso tra 800 × 600 (800 sono diffusi in tutte
pixel in lunghezza per 600 in larghezza) e 2560 × 1600, ma esistono anche monitor le applicazioni in
cui servono elevata
che supportano risoluzioni superiori. affidabilità, lunga
Le altre caratteristiche principali di un monitor sono le seguenti: durata, elevata
efficienza e basso
• dimensione: si calcola misurando la diagonale dello schermo e si esprime in consumo. Li troviamo,
pollici (in); 1 pollice equivale a 2,54 cm, quindi uno schermo da 17 pollici ha tra l’altro, nei
una diagonale di 43,18 cm; telefoni cellulari per
l’illuminazione dei
• dot pitch: è la distanza che separa due pixel dello stesso colore; minore è tale tasti, sulle autovetture
distanza, più precisa sarà l’immagine. Così, ad esempio, un dot pitch inferiore e nei ciclomotori
o uguale a 0,25 mm darà un buon comfort di visione, mentre gli schermi con in sostituzione
delle lampade a
dot pitch superiori o uguali a 0,28 mm saranno da evitare; filamento, nelle
• refresh rate: indica la frequenza di aggiornamento dell’immagine e vale gene- decorazioni natalizie
ralmente 60 o 75 hertz (significa 60 o 75 aggiornamenti al secondo). Maggiore e nell’illuminazione
stradale.
è il refresh rate, tanto più le immagini appaiono nitide e senza “sfarfallio”.

La stampante
L’altro dispositivo di output per eccellenza è la stampante, che provvede alla stam-
pa su carta. Le attuali stampanti sono di piccole dimensioni, veloci e acquistabili

L’architettura del computer A3 59


a prezzi accessibili. La qualità dei documenti prodotti dipende soprattutto
dalla risoluzione di stampa, misurata in DPI (Dots Per Inch, cioè punti per
pollice). Oggi si utilizzano stampanti non a impatto (a getto d’inchiostro,
laser e così via), che producono la stampa utilizzando tecnologie sofisticate
e avanzate a carattere chimico, magnetico, elettrico e ottico. Sono silenzio-
se e raggiungono prestazioni elevatissime. La velocità di stampa è misura-
ta in PPM (pagine al minuto).

La stampante 3D
La stampa 3D rappresenta la naturale evoluzione della tradizionale stampa 2D.
Le stampanti 3D sono in grado di realizzare qualsiasi modello tridimensionale
mediante un processo di produzione additiva: partono da un oggetto disegnato
con un software e lo riproducono nel mondo reale con l’utilizzo di appositi ma-
teriali. Il processo additivo prevede il posizionamento di uno strato di materiale
PERSONAGGI sopra l’altro, procedendo per sezioni trasversali. È un po’ come costruire qualcosa
Seymour Cray con i mattoncini LEGO: dapprima si posano i pezzi che compongono la base, poi si
Ingegnere elettronico
statunitense, architetto procede verso l’alto incastrandoli in modo da ottenere il profilo voluto.
di molti supercomputer
e fondatore di Cray
Research, Seymour
Cray nacque nel
11 Tipi di computer
1925 nel Wisconsin, Non esiste un computer che sia valido per tutte le persone e per tutti gli utilizzi.
figlio di un ingegnere
civile che trasferì in Esistono, però, computer che per velocità e prestazioni sono migliori di altri. Poiché
lui la passione per la ne esistono di diversi tipi, oggi è facile scegliere il modello o il tipo più vicino alle
scienza e l’ingegneria. caratteristiche di utilizzo o di scelta personale. I computer possono essere divisi in
A dieci anni Cray era in
grado di costruire un varie categorie a seconda delle loro caratteristiche salienti, dell’uso che in generale
convertitore da schede se ne fa, del software e dei sistemi operativi che si possono installare. In generale,
perforate a codice però, i computer si differenziano per due fondamentali caratteristiche: la potenza
morse. Nel 1963 Cray
realizzò il CDC6600,
(che riguarda le caratteristiche della memoria e la velocità della CPU) e la possibilità
primo supercomputer di multielaborazione, ossia di gestire contemporaneamente più programmi.
a ottenere il successo
commerciale.
Divenne il più veloce Supercomputer
supercomputer della
sua era, tre volte più I supercomputer sono sistemi di elaborazione con potenze di calcolo estremamen-
rapido del precedente te elevate (raggiungono velocità di circa 1000 miliardi di operazioni al secondo),
IBM 7030 Stretch, e dedicati a eseguire calcoli particolarmente onerosi. Sono strumenti costosi e, nor-
rimase il più potente
computer del pianeta malmente, sono di proprietà di società o enti di ricerca che condividono il loro uti-
tra il 1964 e il 1969, lizzo tra molti dipendenti/ricercatori, come Nasa e Pentagono. Vista la velocità del-
quando fu sorpassato lo sviluppo tecnologico nel campo dell’informatica e dei microprocessori, di solito
dal successore CDC
7600. perdono l’attributo “super” dopo pochi anni dalla loro nascita, superati da macchine
ancora più potenti. Attualmente la maggior parte dei nuovi supercomputer in pro-
getto e di quelli in funzione è basata su cluster, gruppi di computer connessi in rete
ad alta velocità che lavorano insieme e appaiono all’utente come una sola macchina.

Personal Computer
Il PC è un computer economico destinato, per lo più, a un utilizzo personale da
parte di un singolo individuo; non richiede, quindi, elevate prestazioni. I PC sono

60 Sezione A Architettura del computer e sistemi operativi


anche definiti “computer da tavolo” (desktop computer). I computer porta-
tili (laptop o notebook) sono dotati di una batteria ricaricabile che offre
un certo numero di ore di autonomia e sono provvisti di monitor e di tastie-
ra integrati in un unico blocco. Il peso ridotto ne agevola il trasporto e ne
rende vantaggioso l’utilizzo per chi deve effettuare frequenti spostamenti.
Gli ultrabook sono piccoli notebook caratterizzati da tre elementi:
potenza, leggerezza e portabilità. Sono molto sottili, hanno una
grande autonomia e al posto dei classici hard disk montano dei
drive SSD, mentre sono sprovvisti di unità CD/DVD.

Tablet PC
Il Tablet PC (letteralmente PC tavoletta) è un computer portatile che,
grazie alla presenza di un digitalizzatore (in inglese digitizer) permette
all’utente di scrivere sullo schermo a mano, attraverso particolari penne
(stilo) o tramite le dita. Un modello molto noto è iPad di Apple, usato per
navigare su Internet, riprodurre contenuti multimediali e utilizzare molte
applicazioni classicamente presenti sui normali PC. Questi tablet, proprio
perché sono privi di tastiera, vengono definiti tablet PC puri. Esistono poi
i cosiddetti tablet ibridi (chiamati anche convertibili), che presentano una tastiera
agganciabile e staccabile a seconda delle esigenze.

Netbook e MID
I netbook sono una “versione in miniatura” di un normale computer por-
tatile, quindi ne conservano la forma: hanno tutti una tastiera fisica e uno
schermo generalmente privo di funzionalità touch screen, connettività di
tipo Wi-Fi. Sono molto simili ai cosiddetti MID (Mobile Internet Device). La
principale differenza con i netbook è data dalle prestazioni e dalle dimen-
sioni fisiche: i MID hanno dimensioni molto contenute con schermi tra i 4 e i
7 pollici, i netbook hanno uno schermo più grande, in genere tra i 7 e gli 11 pollici,
e integrano sempre la tastiera (spesso assente nei MID).

Smartphone
Uno smartphone è un dispositivo portatile che abbina la funzionalità di gestione
dei dati personali e quella del telefono. La loro caratteristica più interessante è
la possibilità di installarvi app che aggiungono nuove funzionalità. Questi pro-
grammi possono essere sviluppati dal produttore, dallo stesso utilizzatore o da
terze parti. Gli smartphone utilizzano connessione GSM/GPRS/EDGE/UMTS/
HSDPA e tecnologie Bluetooth e Wi-Fi per le comunicazioni di rete. Spesso sono
dotati di un “acceleratore” in grado di rilevare i movimenti del telefono.

eReader
Sono considerati i nuovi libri del futuro, hanno le dimensioni di una normale
agenda da lavoro e sono particolarmente sottili. Si utilizzano per leggere libri elet-
tronici (ebook). Alcuni modelli sono dotati di porte USB e consentono il collega-
mento Wi-Fi a Internet.

L’architettura del computer A3 61


INFOGR AFICA

Il software
Con il termine software si indica l’insieme dei programmi che con- SOFTWARE DI BASE
sentono di gestire e utilizzare il computer. • Sistemi operativi
Il software permette la comunicazione tra computer e utente. Senza
• Compilatori
di esso, il computer non è altro che hardware: è un po’ come un
corpo senz’anima! • Utility
È il software che dà vita al computer e gli permette di svolgere tutti i • Ambienti di programmazione
compiti che lo rendono una macchina universale.

PARTE 1 Software di base PARTE 2 Software applicativo

Software di base (o di sistema): insieme dei Software applicativo tutti i programmi orientati
programmi che permettono di utilizzare e gestire alla soluzione di problemi specifici.
il computer, costituendo parte fondamentale del Il software applicativo, a sua volta, si distingue in:
sistema di elaborazione. Appartengono a questa
• software verticale comprende tutti i
categoria i sistemi operativi, i compilatori, i debugger
programmi che risolvono problematiche specifiche
e così via.
di un particolare settore gestionale o produttivo,
Il software di base è quello sostanzialmente più legato caratterizzati da un’altissima specializzazione e da
all’hardware e il software applicativo interagisce con un’elevata rigidità nell’inserimento dei dati.
esso per avere accesso alle risorse fisiche. Esso funge,
• software orizzontale include tutti i programmi
pertanto, da mediatore.
utilizzabili in diversi settori produttivi. Questi non
hanno una particolare specializzazione, per cui non
sono caratterizzati da particolari rigidità e sono
molto flessibili in fase di immissione dei dati.

Hardware
Utente

Programmi applicativi Sistema operativo

62 Sezione A Architettura del computer e sistemi operativi


SOFTWARE APPLICATIVO
• Elaboratori di testi
• Videogame
• Fogli elettronici
• Database e contabilità

PARTE 3
Altre categorie
di software

Un’ulteriore classificazione distingue il software nelle seguenti categorie:

Denominazione Prezzo Possibilità d’uso Note


Libero G/P Uso/copia/distribuzione Codice sorgente disponibile e aggiornabile
Di pubblico dominio Uso/copia/distribuzione Privo di copyright, ma alcune copie modifcate
G/P
possono non essere libere
Semilibero Uso/copia/distribuzione/modifca Diritto d’autore per proteggere le libertà
P
essenziali degli utenti
Proprietario Distribuzione e modifca proibite Software non libero
P
o sottoposte a vincoli
Freeware Uso e distribuzione possibili “Free” (in inglese signifca gratuito) soltanto
G
ma modifca esclusa dal punto di vista del prezzo
Shareware Uso/distribuzione Versione dimostrativa gratuita con pagamento
G/P
di licenza d’uso per la versione completa
Commerciale Uso Software prevalentemente commerciale.
P/G
Ne esistono anche in versione libera

G = gratis, P = a pagamento

Revisioni e versioni

release

Nuova revisione: modifiche per correggere


Nome del software WINDOWS 8.1 alcuni errori o aggiungere una singola feature

Nuova versione: immissione sul


mercato di una nuova versione, con
modifiche e innovazioni sostanziali
rispetto alla precedente

L’architettura del computer A3 63


RIPASSIAMO INSIEME
MAPPA
L’ARCHITETTURA DEL COMPUTER MODIFICABILE

Che cos’è il computer?

È una macchina costituita da dispositivi di diversa


natura in grado di elaborare dati in modo automatico.

Che cos’è l’hardware? Che cos’è il software?

Sono le risorse che compongono Sono le risorse che compongono


la parte fisica del computer. la parte logica del computer.

La CPU (unità centrale di


elaborazione) rappresenta il
La memoria RAM è il supporto
“cervello” del computer
su cui la CPU può leggere e
scrivere informazioni con
accesso casuale.
La memoria di un computer è
costituita dall’insieme dei dispositivi
che conservano i dati e i programmi. Le memorie di massa hanno
lo scopo di conservare dati
e programmi in maniera
permanente.
Il bit è come una lampadina
che può essere accesa o spenta.

Un byte è una “parola”


Che cosa sono le periferiche? composta da otto bit.

Sono i vari dispositivi che


vengono collegati al computer.

M N
Periferiche di input: tastiera, Periferiche di output: monitor,
mouse, scanner, webcam. stampante, stampante 3D.

64 Sezione A Architettura del computer e sistemi operativi


A3
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) L’hardware è la parte logica del computer (B) ......... ☐ V ☐ F

2) Il software è la parte logica del computer (C) ....... ☐ V ☐ F

3) Un byte è composto da otto bit (I) ............................... ☐ V ☐ F

4) Il mouse e lo scanner sono periferiche


di input (M) .............................................................................. ☐ V ☐ F

5) La webcam è una periferica di output (M) ................ ☐ V ☐ F

6) La RAM è una memoria di massa (F) ............................. ☐ V ☐ F

7) La stampante 3D è una periferica di output (N) .... ☐ V ☐ F

Completa le affermazioni seguenti.

8) La ………… rappresenta il “cervello” del computer. (D)

9) Le memorie ……………. hanno lo scopo di conservare dati


e programmi in maniera permanente. (G)

10) Il bit può essere immaginato come una lampadina che può
essere …………......…… oppure …......……………. (H)

11) Le periferiche sono i vari …………………………………… che vengono


collegati al ………………… (L)

12) La ................................ di un computer è costituita dall’insieme


dei dispositivi che conservano i ……………… e i ….....……………. (E)

13) La memoria ……………… consente alla CPU di leggere e scrivere


informazioni con accesso casuale. (F)

14) Il computer è una .................. composta da dispositivi di


diversa ............................ in grado di elaborare .............. in modo
automatico. (A)

L’architettura del computer A3 65


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo A3
Vero o falso 14 La CPU è costituita:
1 Il computer è una macchina programmabile A da unità di controllo e unità aritmetico-logica
che però può essere utilizzata solo B da unità di controllo, unità aritmetico-logica
per specifici problemi. V F e memoria centrale
C da unità di controllo e memoria centrale
2 La memoria RAM è ad accesso
sequenziale. V F D solo dalla memoria centrale

3 La RAM è una memoria permanente. V F 15 Quale di queste sigle individua l’unità preposta a
svolgere le operazioni numeriche e di confronto?
4 La RAM è la memoria in cui devono
A ALU B RAM
essere contenuti i programmi per
poter essere eseguiti. V F C CU D CACHE

5 La struttura di un disco ottico è 16 Da quanti bit è composto un byte?


caratterizzata da tracce e settori. V F A 1 B 10
6 Il disco ottico ha un’unica traccia C 2 D 8
a spirale. V F
17 Un KB è pari a:
7 Il disco ottico è rivestito da materiale A 1000 byte B 1024 byte
magnetico. V F
C 1000 bit D 1024 bit
8 La tastiera che utilizziamo in Italia
è quella QWERTY. V F 18 Il bus dati è:
A unidirezionale
9 La trackball si trova sui palmari. V F
B bidirezionale
10 La risoluzione di uno schermo C pluridirezionale
consiste nel numero di pixel che D monodirezionale
può visualizzare. V F

11 Il lato di un video si misura in pollici. V F


19 Un pixel è:
A un’area di un millimetro quadrato sul video
B uno dei tre colori fondamentali del video
Risposta singola C l’unità elementare controllabile del video
D un’area composta da vari elementi illuminabili
12 L’hardware è l’insieme:
A delle componenti dell’unità centrale 20 Uno smartphone è:
B delle periferiche di un elaboratore A un’evoluzione di un telefono con funzioni di
C dei componenti di un sistema di elaborazione elaborazione di dati
D dei programmi utilizzabili su un computer B un netbook specializzato
C un mainframe
13 Il software è l’insieme: D una workstation con funzioni ridotte
A dei programmi indispensabili al funzionamento
del computer 21 I supercomputer:
B dei risultati di un’elaborazione A sono progettati per eseguire calcoli semplici
C dei programmi che possono essere utilizzati B sono basati sui cluster
su un computer C sono molto diffusi nella realtà aziendale
D dei componenti di un sistema di elaborazione D eseguono circa 10 milioni di operazioni al secondo

66 Sezione A Architettura del computer e sistemi operativi


22 La RAM è una memoria: 28 Le unità disco servono per:
A permanente A visualizzare i dati sul monitor
B volatile B ascoltare i suoni del PC
C flash C memorizzare dati
D di massa D raffreddare il computer

23 Un Mbyte è composto da:


29 Il disco rigido:
A serve a parcheggiare temporaneamente dati e
A 1024 byte
programmi, che vengono cancellati ogni volta che
B 1024 Kbyte il computer viene spento
C 1000 byte B è una memoria magnetica di massa di grande
D un milione di byte capacità, in cui dati e programmi vengono
immagazzinati stabilmente, per essere disponibili
ogni volta che l’utente accende il computer
24 2 Kbyte corrispondono a:
C è un’unità di memoria su cui non avviene
A 1024 byte
l’elaborazione dei dati
B 2000 byte
D è un dispositivo di puntamento
C 2024 byte
D 2048 byte 30 Gli SSD:
A sono realizzati con memorie flash
25 La memoria ROM: B sono unità più costose degli hard disk
A si può scrivere più volte C sono realizzati con tecnologia ottica
B si può scrivere una sola volta D sono dispositivi magnetici
C non si può leggere più volte
31 Il CD:
D non si può leggere
A può contenere più dati di un DVD
B è esclusivamente una memoria di sola lettura
26 Il bus che sincronizza la trasmissione è:
C può essere riscritto
A il bus dei dati
D può contenere circa 700-900 MB
B il bus degli indirizzi
C il bus interno Completamento
D il bus dei controlli
32 Completa le seguenti frasi.
A Il ................................. è memorizzato all’interno
Risposta multipla di una memoria ROM.
B La memoria ................................. è una memoria
27 La differenza tra RAM e ROM è che: molto, molto veloce.
A la ROM risiede in memoria centrale, C In un hard disk l’insieme di tutte le tracce
la RAM su supporti magnetici equidistanti dall’asse di rotazione viene detto
B la RAM consente la scrittura e la lettura dei dati, ___________.
la ROM solo la lettura D Il bus ____________ è unidirezionale.
C la RAM è memoria di sola lettura, E 1 pollice = _________ cm.
la ROM di lettura/scrittura F I programmi di tipo _______ possono trasformare
D entrambe fanno parte l’immagine digitale di un testo in un file di testo.
della memoria centrale G In un video __________ è la distanza che separa
due pixel dello stesso colore.

L’architettura del computer A3 67


A4 Il sistema operativo

IMPARERAI…

Che cos’è un sistema Come operare con Windows Come eseguire operazioni
operativo e quali sono e le fnestre su fle e cartelle
le sue funzioni

PERSONAGGI
1 Che cos’è il sistema operativo
Bill Gates
Un computer fornito di solo hardware sarebbe certamente quasi impossibile da
È il fondatore usare. Per ovviare a tale difficoltà è stato creato il sistema operativo.
e presidente di
Microsoft, la maggiore Il sistema operativo è l’insieme dei programmi che si occupa di gestire, coor-
software house del
pianeta. Nel 1968 si dinare e controllare, in maniera sicura, sia la comunicazione tra tutte le com-
iscrisse alla prestigiosa ponenti del computer, sia quella tra computer e utente. Permette di utilizzare
scuola Lakeside, dove il computer anche senza conoscere il funzionamento dei suoi vari dispositivi.
ebbe accesso per
la prima volta a un
computer (un DEC
PDP-11 di Computer
Center Corporation).
Da quel momento lui e SISTEMA
il computer divennero
OPERATIVO
una cosa sola. Nel
1982 commercializzò
il primo sistema
operativo per una linea
di computer di IBM,
chiamato MS-DOS (con
interfaccia testuale)
e nel 1985 realizzò
il suo primo sistema
a interfaccia grafica:
Windows.
Il sistema operativo offre un’interfaccia tra gli utenti e la macchina, mettendo a di-
sposizione strumenti di lavoro, facilitazioni e piccole procedure pronte da utilizza-
re. Inoltre, gestisce le risorse hardware e software ottimizzandone l’uso.

Con il termine interfaccia facciamo riferimento a qualsiasi dispositivo hardware


o software che permette la comunicazione tra due entità diverse. Ogni dispositivo
espone la sua “faccia” con la sua caratteristica tecnica di comunicazione.

68 Sezione A Architettura del computer e sistemi operativi


Le applicazioni che usiamo per scrivere, stampare, navigare, dialogano con il si-
stema operativo, che controlla l’esecuzione di tutti i processi. Pensa a un lettore Lo sai?
di DVD: come lo utilizzi? Premendo gli appositi pulsanti! In sostanza, utilizzi il
lettore senza sapere che cosa avviene effettivamente al suo interno. In fondo, non
Esistono sistemi
importa sapere quali processi ha innescato la pressione di un tasto, ma solo ascol- operativi che non
tare la musica o vedere il video. Il principio è lo stesso per il sistema operativo: usano la GUI ma
quando vuoi stampare un documento, o vuoi salvarlo su un disco, premi un tasto un’interfaccia a riga
di comando, come il
o fai clic con il mouse su un pulsante e il sistema operativo comunica questa istru- vecchio MS-DOS. Con
zione alla CPU, che la esegue con il dispositivo richiesto. questa interfaccia
i comandi vengono
Interfaccia impartiti su una riga
di comando mediante
apposite istruzioni che
Io parlo in devono essere digitate
italiano correttamente e,
01000010 ovviamente, ricordate
01011010 a memoria!
11001010

Esistono moltissimi sistemi operativi, strettamente collegati alla tipologia di com-


puter su cui funzionano. Ad esempio il sistema operativo di un personal computer
è generalmente diverso da quello utilizzato per un supercomputer.
In passato, prima del grande sviluppo dei personal computer, ogni casa costruttrice
di computer installava sistemi operativi “proprietari”. Oggi, invece, tali sistemi ven-
gono installati esclusivamente su grandi sistemi di elaborazione.

2 L’avvio del computer


Quando si avvia un computer (fase di boot) agendo sul suo interruttore centrale, GLOSSARIO
avvengono di fatto due tipi di accensioni: una fisica, che prevede la pura alimenta- boot
zione elettrica delle componenti hardware, e una logica (detta inizializzazione o (o “bootstrap”, o più
raramente “booting”)
reset di sistema). Occupiamoci di quest’ultima: dopo l’accensione fisica del com- indica l’insieme
puter, il processore carica da una memoria ROM il BIOS, che dapprima si occupa dei processi che
dell’inizializzazione di base di tutte le periferiche del sistema e, successivamente, vengono eseguiti da
un computer durante
provvede a effettuare la diagnostica, detta tecnicamente fase di POST (Power-On la fase di avvio del
Selt Test), verificando il corretto funzionamento delle varie componenti del siste- sistema operativo.
ma. Se questa fase viene superata con successo, il BIOS carica dall’hard disk il
boot loader, il programma deputato al caricamento del sistema operativo.
Il boot loader non carica in memoria tutto il sistema operativo (sarebbe pratica-
mente impossibile!), ma soltanto la sua componente fondamentale, detta kernel
o nucleo, il cui compito è quello di dialogare direttamente con il processore. Una
volta terminato il bootstrap, il computer passa sotto il controllo del sistema ope-
rativo: sul monitor appare il logo di Windows (o del sistema operativo in uso) e
inizia la procedura di identificazione dell’utente (login): una finestra chiede di
inserire il nome dell’utente e la password per accedere al sistema.

Il sistema operativo A4 69
Lo sai?

Microsoft Corporation,
la leggendaria software
house che ha creato
Windows, si trova a
Seattle, negli Stati
Uniti d’America, circa
154 km a sud del
confine con il Canada.
Seattle viene a volte
indicata con il suo
soprannome ufficiale
Emerald City (“città
smeraldo”) per i
lussureggianti alberi Una volta effettuato con successo il riconoscimento dell’utente, appare il desktop.
sempreverdi nell’area
che circonda la città.
Seattle si estende
su una superficie di 3 Il desktop
217 km².
Microsoft Windows adotta un’interfaccia utente grafica (GUI) ed è definito touch
friendly: tutto è a portata non solo di mouse ma anche di tocco, poiché la tecnolo-
gia multitouch ha trasformato i classici monitor in veri dispositivi di input/output.
L’ambiente di lavoro è rappresentato dal desktop, una sorta di scrivania virtuale.

Lo sai?

Se posizioni il
puntatore su un’icona
e fai clic con il
pulsante destro del
mouse appare un
menu contestuale,
chiamato così perché
contiene le scelte
disponibili in quel
momento per l’oggetto
selezionato. Si tratta
di uno standard
operativo comune a Dalla visualizzazione del desktop è possibile passare alla schermata Start, ricca
tutti i programmi per di riquadri chiamati anche live tile che fungono da icone e da strumenti per la vi-
Windows. sualizzazione di notifiche relative all’applicazione a cui si riferiscono. Ad esempio,
il riquadro relativo alle email notificherà la ricezione delle stesse e un’anteprima
di parte del loro contenuto ma, allo stesso tempo, se sfiorato porterà direttamen-
te all’applicazione dedicata alla posta elettronica. Osservando attentamente la
schermata Start (a pagina seguente), si può notare che i riquadri non sono stati-
ci ma si aggiornano automaticamente con le informazioni più recenti, come ag-
giornamenti dello stato, nuovi messaggi di posta elettronica e appuntamenti, ed è

70 Sezione A Architettura del computer e sistemi operativi


possibile vedere le infor-
mazioni aggiornate in
tempo reale ancora pri-
ma di aprire una singola
applicazione.
Per passare a questa vi-
sualizzazione, fai clic
sul pulsante posto
nell’angolo inferiore si-
nistro del desktop op-
pure premi il tasto Win-
dows della tastiera.

Da questa visualizzazio-
ne, facendo clic sull’ap-
posito pulsante, potrai
accedere all’elenco di
tutte le app installate nel
computer.

4 Le icone
Ciò che caratterizza il desktop sono le icone.

Le icone sono piccoli elementi grafici che identificano programmi applicativi,


file, cartelle e risorse fisiche (unità disco, stampanti e così via).

Ogni applicazione usa una propria icona particolare, che accompagna anche i do-
cumenti creati con essa. Alcune icone sono facilmente interpretabili visivamente
(pensa a quella del cestino), altre risultano meno immediate.

Il sistema operativo A4 71
5 Le barre laterali
In Windows 8 i lati dello schermo assumono un ruolo chiave: il lato destro dello
schermo è dedicato a una barra degli accessi o Charms Bar, mentre il lato sini-
stro ha il compito di gestire la navigazione tra le applicazioni aperte.
Per far comparire la barra degli accessi basta un
gesto di swipe o strisciamento da destra verso si-
nistra (eseguito sul lato destro dello schermo, tipi-
camente con il pollice della mano destra). Puoi an-
che aprire tale barra tramite il mouse (portando il
puntatore nell’angolo inferiore destro o superiore
destro dello schermo). La barra si presenterà come
nella figura qui a sinistra.
La Charms Bar in Windows 8 si presenta come un contenitore di cinque comandi
del sistema operativo: Ricerca, Condivisione, Start, Dispositivi e Impostazio-
ni. Il primo, Ricerca, consente di ricercare app, impostazioni, file, contenuti web,
mappe ecc. senza dover aprire l’applicazione specifica: basta inserire il criterio
di ricerca nella casella del pannello di destra (che verrà attivato con la selezione
del comando) e selezionare la tipologia di ricerca desiderata: i risultati verranno
visualizzati nel pannello principale di sinistra.
GLOSSARIO
La funzionalità di Condivisione di default è tramite email, ma una volta installate
applicazioni di social networking, avrai la possibilità di condividere i tuoi con-
swipe tenuti su altre piattaforme social in modo estremamente semplice e naturale; è
trascinamento
effettuato con un dito. sufficiente selezionare il comando Condivisione e scegliere il servizio con il quale
condividere.
toolbar Il comando Dispositivi fornisce un’interfaccia comune per lavorare con i disposi-
barra degli strumenti
tivi collegati al computer. Si utilizza ad esempio quando si deve stampare, confi-
app bar gurare i monitor/proiettori collegati, utilizzare le funzionalità per visualizzare i
barra dei comandi
delle applicazioni nostri contenuti su tv o altri device e inviare file a dispositivi portatili. L’ultimo
accesso, denominato Impostazioni, attiva un pannello con le impostazioni spe-
cifiche dell’applicazione corrente e alcune impostazioni del sistema operativo
quali ad esempio volume audio, luminosità dello schermo, lingua e il pulsante
di arresto del sistema.
Il lato sinistro dello schermo è dedicato alle funzionalità di navigazione tra le
applicazioni (Switcher). Con un gesto di swipe da sinistra verso destra (ese-
guito sul lato sinistro dello schermo tipicamente con il pollice della mano sini-
stra) si visualizza un’anteprima di tutte le applicazioni aperte (è una “versione
touch” della classica combinazione di tasti Alt + Tab).
La maggior parte delle applicazioni, anche nella schermata Start, offrono tante
opzioni che non rientrano nella schermata principale, né sono gestite tramite
gli accessi. Con le applicazioni desktop queste funzioni di solito si trovano in un
menu nella parte superiore, o in una comoda barra degli strumenti. Windows 8
colloca queste opzioni all’interno di una o due barre denominate app bar (a volte
chiamata semplicemente barra dei comandi) e navigation bar (detta anche barra
di navigazione), che cambiano per posizione e contenuti a seconda dell’applica-
zione in uso.

72 Sezione A Architettura del computer e sistemi operativi


La app bar rappresenta la barra dei comandi di un’applicazione e permette di per-
sonalizzare vari aspetti attraverso comandi del tipo Aggiorna, Guida ecc., ma soli-
tamente non si trova il comando per chiuderla. Non è necessario chiudere un’app
quando si passa a un’altra: l’app precedente rimane in esecuzione in background
e, se non viene utilizzata, viene chiusa automaticamente dal sistema. L’app bar è
resa visibile da uno swipe dal basso verso l’alto partendo dal lato inferiore dello
schermo. L’utente può scegliere comunque di chiedere un’app, quando la stessa è
attiva sullo schermo, semplicemente con uno swipe dall’alto verso il centro dello
schermo.
La navigation bar (posta generalmente in alto) non è utilizzata da tutte le appli-
cazioni allo stesso modo; per molte rappresenta un’estensione della app bar, men-
tre si esprime al meglio per le app in cui vi è la necessità di visualizzare differenti
contenuti.

6 Personalizziamo il desktop
Ognuno di noi personalizza quasi sempre il desktop in
modo da renderlo più vicino ai propri gusti. Per mo-
dificare gli sfondi, i suoni del computer impostati di
default, è sufficiente fare clic con il pulsante destro del
mouse sul desktop in modo visualizzare il menu con-
testuale visibile in figura.
Se fai clic sulla voce Personalizza (l’ultima del menu)
viene visualizzata la finestra Personalizzazione, dove
troverai i comandi per modificare le icone presenti sul
desktop, la forma dei puntatori del mouse, impostare
uno screen saver, ecc.

Il sistema operativo A4 73
7 Le applicazioni
Le applicazioni installate in
Windows 8 si suddividono in
due gruppi: quelle propria-
mente definite app (gestite at-
traverso lo store) e le applica-
zioni desktop che si rifanno al
vecchio concetto dei program-
mi installati nelle versioni pre-
cedenti di Windows.
Le app presenti nella scher-
mata Start possono essere di-
sposte su più pagine da scor-
rere lateralmente, ma può nascere la necessità di visualizzarne di più o tutte su
un’unica schermata. A questo scopo, puoi utilizzare le impostazioni dalla barra
Lo sai?
degli accessi o Charms Bar, oppure impostare opportunamente le proprietà di
barra delle applicazioni ed esplorazione facendo clic sulla barra delle applica-
Lo store di Windows zioni e selezionando Proprietà, poi Esplorazione e attivando la visualizzazione
è il sito internet dove
Microsoft mette a Tutte le app.
disposizione le proprie Come abbiamo detto in precedenza, i singoli riquadri della schermata Start ag-
app, sia gratuite sia a giornano il loro contenuto in maniera automatica. Questo aspetto dinamico può
pagamento. L’accesso
a tale store richiede
essere disattivato, così come è possibile anche ridimensionare i riquadri, rimuo-
il possesso di un verli dalla schermata Start e persino disinstallarli dal sistema. Per fare questo, è
account Microsoft. sufficiente attivare sul singolo riquadro l’app bar, che riporta le seguenti voci:

74 Sezione A Architettura del computer e sistemi operativi


• Rimuovi da Start: rimuove il riquadro dalla schermata Start
(questo ovviamente non significa che un’app venga disinstallata);
• Disinstalla: serve a disinstallare i programmi che sono stati sca-
ricati dallo store;
• Più piccolo/Più grande: riduce o aumenta la dimensione del ri-
quadro selezionato;
• Disattiva riquadro animato: disattiva le funzioni dinamiche
del riquadro.
Tutti i riquadri possono essere spostati a piacimento trascinandoli.
Per le applicazioni desktop, le relative app bar possono riportare voci differenti,
anche se in linea di massima possono essere tutte riconducibili al seguente elenco:
• Rimuovi da Start;
• Aggiungi alla barra delle applicazioni: aggiunge l’applicazione alla barra
delle applicazioni visibile nell’ambiente desktop;
• Disinstalla: disinstalla l’applicazione desktop;
• Apri nuova finestra: apre un nuovo documento dell’applicazione selezionata;
• Esegui come amministratore: esegue il programma con privilegi di ammi-
nistratore;
• Apri percorso file: apre una finestra nell’ambiente desktop dove è presente il
collegamento all’applicazione.
• Ridimensiona: per ridimensionare il riquadro (piccolo o medio).

OSSERVA COME SI FA
1 Selezionare le icone. Tooltip
Per selezionare un’icona sul desktop, posiziona il mouse su di essa
in modo da fare apparire il suggerimento (o tooltip, parola inglese
che signifca letteralmente, “consiglio su un oggetto”), una casella
che ne descrive la funzione. Ora fai clic con il pulsante sinistro del
mouse: l’icona assume un colore diverso, a indicare che è selezionata. Per selezionare più icone
presenti sul desktop puoi procedere in due modi:
■ se le icone sono contigue, fai clic sulla prima e, tenendo premuto il tasto Maiusc, fai clic un’al-
tra volta sull’ultima; oppure fai clic con il pulsante sinistro del mouse in un punto esterno a
tutte le icone che desideri selezionare e, tenendo premuto il pulsante, traccia un rettangolo in
modo tale che al suo interno rientrino tutte le icone che vuoi selezionare (vedrai che a mano
a mano che le icone saranno inserite nel rettangolo si selezioneranno automaticamente);
■ se le icone non sono contigue, fai clic su quelle da selezionare tenendo premuto il tasto Ctrl. Per
spostare le icone selezionate, tieni premuto il pulsante sinistro del mouse e trascinale (opera-
zione chiamata drag) nella nuova posizione, quindi rilascia il pulsante del mouse (operazione
chiamata drop). Se l’icona o le icone non mantengono la posizione corrispondente al punto in
cui hai rilasciato il pulsante, signifca che è attiva la funzione di disposizione automatica. Per
disattivarla, fai clic con il pulsante destro del mouse in qualsiasi area vuota del desktop; nel
menu che si apre, posiziona il puntatore del mouse sulla voce Visualizza e vedrai apparire un
sottomenu. Togli la spunta dalla voce Disponi icone automaticamente per disattivarla.

Il sistema operativo A4 75
8 Il menu del pulsante Start
Nell’angolo inferiore sinistro del desktop si trova il pulsante Start, che consente
di accedere rapidamente agli elementi più utili del computer.
Il pulsante è simile a quello di Windows 7, ma il compito che svolge non è quello
di aprire un menu, bensì, come abbiamo visto, di riportarci alla schermata Start.
Tuttavia, se fai clic sul pulsante Start con il pulsante destro del mouse visualizzi
un menu dal quale è possibile accedere a varie funzionalità.

Funzioni di sistema
Questi comandi
consentono di accedere
rapidamente a
funzionalità utili per la
gestione del sistema Chiudi o disconnetti
Visualizza un
sottomenu contenente
Strumenti di sistema i comandi da utilizzare
Con questi comandi puoi per arrestare il
accedere direttamente sistema, riavviarlo,
al Pannello di controllo, sospenderlo o
a Esplora file e ad altri semplicemente uscire
strumenti di sistema scollegandosi come
utente.

9 Le finestre
Nella figura di pagina seguente sono illustrati gli elementi principali di una fine-
stra di Windows, in particolare in questo esempio si tratta della finestra di Esplo-
ra file, lo strumento utilizzato per la gestione dei file in Windows 8, ma molti ele-
menti sono comuni a tutte le finestre.

10 La barra delle applicazioni


La barra delle applicazioni è un’area dello schermo (normalmente posizionata sul
lato inferiore) contenente un elenco di pulsanti che rappresentano i vari program-
mi attivi. Consente di vedere con un colpo d’occhio tutti i programmi aperti e di
passare da uno all’altro con un semplice clic del mouse (multitasking). È divisa
in tre sezioni principali:

Sezione centrale Area di notifica


Pulsante Start Indica i programmi aperti e Include un orologio e le icone che indicano lo
consente di passare rapidamente stato di alcuni programmi (i cosiddetti programmi
dall’uno all’altro residenti) e alcune impostazioni del computer

76 Sezione A Architettura del computer e sistemi operativi


Barra degli indirizzi: consente di passare a un’altra cartella o raccolta, o di tornare
a una cartella o raccolta precedente, facendo clic sui nomi che vi compaiono.

Pulsanti Indietro e Avanti: Barra multifunzione: consente Casella di ricerca: consente di digitare una
sono utilizzati per passare di accedere a tutte le funzionalità parola o una frase per cercare un elemento nella
ad altre cartelle o raccolte principali, ad esempio modificare cartella o nella raccolta corrente. La ricerca viene
aperte in precedenza senza la visualizzazione di file e cartelle. avviata appena si inizia a digitare. Ad esempio,
chiudere la finestra corrente. È suddivisa in diverse schede in cui se digiti “F”, verranno visualizzati tutti i file i cui
sono raggruppati i comandi attinenti. nomi contengono la lettera F.

Riquadro di Elenco file: riporta il contenuto Intestazioni delle colonne: visibili solo nella
spostamento: della cartella o della raccolta visualizzazione Dettagli, sono utili per modificare
serve per corrente. Se digiti un testo nella l’organizzazione dei file nell’elenco. Facendo clic su
accedere a casella di ricerca per trovare un un’intestazione di colonna puoi cambiare l’ordine di
raccolte, cartelle file, all’interno di questo elenco visualizzazione dei file e delle cartelle. Facendo clic
e ricerche salvate, verranno visualizzati solo i file sul pulsante a freccia a destra dell’intestazione puoi
nonché a intere che soddisfano i criteri di ricerca filtrare i file in vari modi.
unità a disco. impostati, inclusi i file delle
sottocartelle.
Pulsanti di controllo: posti sulla barra del titolo, consentono di ridurre a
icona, ingrandire, ripristinare o chiudere la finestra. In particolare:
Riduci a icona: riduce la finestra alla sua icona nella barra delle
applicazioni.
Ingrandisci: ingrandisce la finestra a tutto schermo. Dopo
l’ingrandimento, viene sostituito dal pulsante Ripristina.
Ripristina: restringe la finestra ingrandita con il pulsante
precedente. Dopo la riduzione, viene sostituito dal pulsante
Ingrandisci.
Chiudi: consente di chiudere la finestra (puoi anche usare la
combinazione di tasti Alt+F4).

Il sistema operativo A4 77
Quando si apre più di un programma alla volta, le relative finestre si sovrappongo-
Lo sai? no l’una all’altra sul desktop. Fra tutte quelle aperte, quella attiva, ossia la finestra
su cui puoi lavorare, è riconoscibile perché ha l’intera cornice evidenziata. A volte
le finestre coprono altre finestre, oppure occupano l’intero schermo, e così può ri-
Per aggiungere un sultare difficile raggiungere le finestre sottostanti o ricordare quali finestre sono
elemento alla barra
delle applicazioni è state già aperte. La barra delle applicazioni è utile proprio in questi casi, poiché
sufficiente trascinare per ogni programma aperto contiene un pulsante con l’icona che lo rappresenta.
la sua icona all’interno
della barra.

Aero Peek e Jump LIst


Per esaminare rapidamente le altre finestre aper-
te senza spostarsi dalla finestra attualmente in
uso, puoi utilizzare la funzionalità Aero Peek:
posiziona il puntatore del mouse su un pulsante
sulla barra delle applicazioni per vedere apparire
le anteprime delle finestre aperte a esso associate.
Se vuoi aprire una finestra di cui stai visualiz-
zando l’anteprima, basta fare clic sulla relativa
miniatura. In questo modo puoi passare veloce-
mente alle altre finestre del programma con un
solo clic. Inoltre, premendo il quadratino rosso
con la “X”, che appare passando sopra all’antepri-
ma, puoi anche chiudere le singole finestre senza
aprirle nella loro interezza.
Se, invece, fai clic con il pulsante destro del mou-
se su un’icona si attiva la Jump List, un menu nel
quale è mostrata la lista dei file aperti e di quelli
elaborati di recente con il software selezionato.

L’area di notifica
L’area di notifica raccoglie all’estremità destra della barra delle applicazioni una
serie di icone con le quali è possibile avviare i programmi associati.
In passato, a volte l’area di notifica si riempiva troppo di icone. Ora è possibile
scegliere le icone da mantenere sempre visibili: un clic sul pulsante con una frec-
cetta rivolta verso l’alto, in prossimità dell’orologio, farà aprire un menu dal quale
sceglierai Personalizza. Si apre una finestra che consente di selezionare icone e
notifiche da visualizzare sulla barra delle applicazioni.

78 Sezione A Architettura del computer e sistemi operativi


Ora basta fare clic su ciascuna voce per aprire il relativo menu a cascata e sceglie-
re se visualizzare o meno la notifica o l’icona.
Un link nella parte inferiore della finestra consente di ripristinare le impostazioni
predefinite o di disattivare/attivare tutte le notifiche in un sol colpo.

11 Lavoriamo con le finestre


Per ridimensionare una finestra sul desktop puoi trascinarla dai suoi lati o dai
suoi angoli. Windows offre sorprendenti funzionalità per disporre le finestre sul Lo sai?
desktop. Vediamo quali.
Puoi catturare
Aero Snap la finestra attiva
premendo la
La funzionalità Aero Snap con- combinazione di tasti
ALT+Stamp, oppure
sente di affiancare velocemente catturare l’intero
e/o massimizzare le finestre, schermo (cioè tutto
trascinando queste ultime agli quanto appare sul
angoli dello schermo. Lo snap è monitor) premendo
solo il tasto Stamp.
molto utile per confrontare due L’immagine catturata
documenti, copiare o spostare viene memorizzata
file tra due finestre, ingrandire la finestra attualmente in uso oppure per espande- negli Appunti, quindi
puoi incollarla in
re i documenti particolarmente lunghi in modo da facilitarne la lettura riducendo qualsiasi documento
le operazioni di scorrimento. quando lo ritieni
Se trascini la barra del titolo di una finestra aperta verso un lato del desktop, la opportuno. Per farlo,
apri il documento in
allinei a tale lato; se, invece, la trascini verso la parte superiore del desktop, la cui intendi copiare
ingrandisci. l’immagine catturata,
posizionati nel punto
in cui intendi inserirla
Shake e premi i tasti Ctrl+V.

La funzionalità Shake
consente di ridurre ra-
pidamente a icona tut-
te le finestre aperte sul
desktop tranne quella attiva. A tale scopo, basta fare clic sulla barra del titolo del-
la finestra che desideri lasciare aperta e, mantenendo premuto il pulsante sinistro,
“scuotere rapidamente” (shakerare) la finestra avanti e indietro. Le altre finestre
aperte verranno ridotte a icona. Per ripristinare le finestre ridotte a icona, basta
scuotere di nuovo la finestra aperta.

Passare da una finestra all’altra


Per passare da una finestra all’altra, puoi procedere in uno dei seguenti modi:
• fai clic su una qualsiasi parte visibile della finestra da attivare;
• fai clic sul relativo pulsante della barra delle applicazioni;
• premi Alt+Tab fino a selezionare la finestra da attivare;
• premi Alt+Esc per spostarti sulla successiva finestra aperta sul desktop;
• premi +Tab per attivare la barra con le miniature delle app aperte.

Il sistema operativo A4 79
12 Il sistema di archiviazione
Tutti i dati e i programmi da memorizzare sui supporti di memoria di massa de-
vono essere contenuti in una particolare struttura detta file.

Un file è un raggruppamento di dati memorizzato su memoria di massa e caratte-


rizzato da un nome tramite il quale può essere identificato dal sistema operativo.

Ogni file si distingue dagli altri per mezzo di un nome scelto dall’utente e compo-
sto da due parti separate da un punto: nome.estensione.
Nome Estensione
Può contenere un massimo di 260 È un insieme di caratteri che consente a Windows
caratteri, inclusi gli spazi, ma non può Lettera.doc di stabilire il tipo di informazioni presente in un file
contenere alcuno dei seguenti simboli: e il programma da utilizzare per aprirlo.
/ \ ? : * “ < >.

Le memorie di massa vengono identificate dal sistema operativo con lettere se-
guite dal segno di due punti. Ad esempio, l’hard disk interno è normalmente iden-
tificato dalla lettera C:, il lettore CD/DVD dalla lettera D: (ma nei sistemi con più
unità a disco le lettere possono essere diverse da queste).
Le lettere successive sono usate per identificare chiavi USB e altre unità a disco.
All’aumentare del numero dei file, risulta sempre più difficoltoso trovare quello
che interessa. Prova a pensare a uno schedario cartaceo: sicuramente i documenti
Ricorda in esso contenuti non sono disposti alla rinfusa, bensì sono catalogati o classifica-
ti in base a un criterio preciso. In ogni cassetto avremo delle cartelle contenenti
È utile fare copie di ciascuna gruppi di documenti omogenei.
backup dei propri Ad esempio, nel cassetto Studenti, gli studenti potranno essere raggruppati per
file su dispositivi di
memoria esterni, per
classe. Il disco può essere considerato come uno schedario composto da una gran-
evitare che si possano de cartella di capacità pari a quella del disco, chiamata radice, che viene indicata
perdere preziose con il simbolo \ (backslash).
informazioni. Le cartelle presenti nella radice vengono dette proprio cartelle. Per mantenere
È possibile fare il
backup dei dati anche l’analogia possiamo quindi affermare che:
online attraverso
appositi siti web. • lo schedario è la nostra cartella radice;
• i documenti contenuti nelle varie cartelle sono i file.
Cartella Cartella
radice Nell’esempio della figura, se vuoi raggiunge-
Scuola re il file Triangolo.ppt (nome locale) a par-
Storia Informatica tire dalla radice, devi passare dalla cartella
Matematica e giungere nella cartella Ge-
Matematica ometria, dove troverai il file. Il percorso è
quindi il seguente:
Algoritmi.doc Prog1.pas
Napoleone.doc
\Matematica\Geometria\Triangolo.ppt
Algebra Geometria dove il primo \ indica la radice.
File

Polinomi.xls Monomi.doc Triangolo.ppt

80 Sezione A Architettura del computer e sistemi operativi


13 Il programma Esplora file
Per capire in quale modo i file sono organizzati sui supporti di memoria di massa
ci serviamo del programma Esplora file, che puoi aprire in vari modi, ad esempio:
• facendo clic sulla sua icona nella barra delle applicazioni;
• facendo clic su un’icona qualsiasi nel desktop e selezionando Apri percorso file
dal menu contestuale che appare;
• facendo clic con il pulsante destro sul pulsante Start e selezionando Esplora
file dal menu corrispondente.
Viene visualizzata una fine-
stra simile alla seguente:

14 Tipi e attributi dei file


I file vengono classificati in base al loro contenuto. Nella seguente tabella sono
riportati alcuni tra i principali tipi di file con le relative estensioni e il tipo di appli-
cazione a cui sono solitamente associati. Lo sai?
Icona Tipo di fle Estensione Applicazione
File compressi
testo (generico) .txt .rtf Blocco note, WordPad, Word o zippati
I file compressi
testo (formattato) .docx Word o zippati sono
caratterizzati da
database .accdb Access un’icona che mostra
una cerniera zip. La
foglio elettronico .xlsx Excel compressione è la
tecnica usata per
diminuire lo spazio
presentazione diapositive .pptx PowerPoint occupato dai file sul
disco. Comprimere
pagina web .htm .html Internet Explorer un file con Windows è
estremamente facile:
grafco .bmp Paint fai clic con il pulsante
destro del mouse sul
grafco .jpg Visualizzatore immagini file o sulla cartella che
intendi comprimere,
audio video .wav .avi Windows Media Player quindi dal menu di
scelta rapida selezione
Invia a e, di seguito,
fle compresso (zippato) .zip WinZip Cartella compressa.

Il sistema operativo A4 81
OSSERVA COME SI FA
1 Creare i collegamenti.
Puoi aggiungere sul desktop collegamenti a fle, cartelle e programmi che usi frequentemente.
L’icona del collegamento non rappresenta direttamente un programma, ma costituisce sempli-
Lo sai? cemente una via di accesso a esso e, quindi, un modo alternativo per avviarlo.
Facendo doppio clic sull’icona del collegamento, si apre immediatamente l’elemento (program-
ma, documento o cartella) a cui fa riferimento.
Le icone dei
Per creare un collegamento a un fle o a una cartella, procedi come segue:
collegamenti sono
riconoscibili perché in ■ apri Esplora fle e trascina con il pulsante destro del mouse la cartella (o il fle) in un’area
basso a sinistra hanno vuota del desktop;
una caratteristica ■ una volta rilasciato il pulsante del mouse viene visualizzato il menu di scelta rapida; sce-
freccia rivolta verso gli la voce Crea collegamento qui. Sul desktop viene visualizzata l’icona di collegamento
l’alto e verso destra, all’oggetto che hai scelto.
che le distingue dalle
altre.
2 Creare un fle o una cartella.
Per creare un fle o una cartella, procedi come segue.
■ Apri Esplora fle e posizionati nella cartella che desideri.
■ Fai clic con il pulsante destro del mouse e dal menu contestuale seleziona l’opzione Nuo-
vo. In alternativa puoi anche selezionare la scheda Home e fare clic sulla freccetta del
pulsante Nuovo elemento: si aprirà un menu analogo a quello contestuale descritto prece-
dentemente.
■ Se desideri creare un fle, fai clic su uno dei formati disponibili (ad esempio, per creare un
fle di testo fai clic su Documento di testo). Se invece vuoi creare una cartella, seleziona
l’opzione Cartella. Per creare una cartella puoi servirti direttamente del pulsante Nuova
cartella presente sempre nella scheda Home.
■ Nel riquadro destro della fnestra compare l’icona di una nuova cartella o un nuovo fle al
fanco della quale devi inserire il nome. Digita il nome e conferma premendo il tasto Invio.

3 Copiare fle o cartelle.


Per compiere questa operazione, puoi procedere in diversi modi: uno di questi è la tecnica
nota come drag & drop (che in inglese, come abbiamo visto, signifca “trascina e deposita”).
Supponi di voler copiare un fle, o un gruppo di fle, su una pendrive da una cartella presente
sull’hard disk.
■ Seleziona dal riquadro destro il nome del fle o della cartella da copiare. Nel caso in cui i
fle da copiare siano più di uno e contigui, puoi ricorrere a una selezione multipla tenendo
premuto il tasto Maiusc mentre selezioni. Se invece non sono contigui, li puoi selezionare
servendoti del tasto Ctrl.
■ Tenendo premuto il pulsante sinistro del mouse, trascina il fle o la cartella sull’icona cor-
rispondente al luogo in cui vuoi effettuare la copia, nel nostro caso l’icona della pendrive.
Quando l’icona viene evidenziata, rilascia il pulsante e la copia ha inizio.
Se la cartella di origine e quella di destinazione si trovano sulla stessa unità disco, la copia non
verrà effettuata, ma avverrà un semplice spostamento. La copia viene eseguita solo se le due
cartelle non si trovano sulla stessa unità. Ciò nonostante, se durante il trascinamento si tiene
premuto il tasto Ctrl, si attiva la modalità di copia (evidenziata dalla comparsa di un segno di
addizione) e il problema è risolto.
Se, invece, il trascinamento viene effettuato con il pulsante destro, il problema non si pone in
quanto, a trascinamento avvenuto, verrà visualizzato un menu dal quale potrai selezionare il
tipo di operazione da compiere (cioè copiare oppure spostare).

4 Spostare fle o cartelle.


Per lo spostamento dei fle puoi utilizzare la tecnica del “taglia e incolla” (cut & paste).
■ Seleziona dal riquadro destro i nomi dei fle o delle cartelle da spostare (servendoti sempre
del tasto Maiusc o Ctrl se intendi fare selezioni multiple).
■ Fai clic con il pulsante destro del mouse e dal menu seleziona Taglia.

82 Sezione A Architettura del computer e sistemi operativi


■ Scegli nel riquadro sinistro o destro la cartella o il disco in cui desideri collocare gli oggetti
selezionati.
■ Fai clic con il pulsante destro del mouse e dal menu seleziona Incolla.

5 Cancellare fle o cartelle: il cestino.


Quando si cancella una cartella o un fle, questi vanno a fnire nel cestino. Una volta che i fle
sono nel cestino, scompaiono dalle cartelle e sembrano cancellati del tutto, ma non lo sono
realmente. I fle, in effetti, vengono spostati dalla loro posizione al cestino, dove rimangono fn-
ché questo non si svuota. In altre parole, si realizza prima una cancellazione logica. La cancel-
lazione fsica, invece, cioè la reale eliminazione dei fle dal disco, coincide con lo svuotamento
del cestino.
Per cancellare fle e cartelle devi prima selezionarli dal riquadro destro e trascinarli sull’ico-
na Cestino presente nel riquadro sinistro. Se durante il trascinamento tieni premuto il tasto
Maiusc, l’oggetto selezionato viene cancellato fsicamente senza essere spostato nel cestino.
Per recuperare un fle o una cartella dal cestino: Lo sai?
■ apri il cestino dal desktop;
■ seleziona il fle e/o la cartella che intendi ripristinare, con il pulsante destro del mouse; Per i file o le cartelle
■ seleziona l’opzione Ripristina dal menu contestuale; che vengono eliminati
da altre unità disco
■ se desideri ripristinare tutti gli elementi, non selezionarne alcuno, ma fai clic sulla scheda
rimovibili, invece,
Gestisci e poi clic sul pulsante Ripristina tutti gli elementi della barra degli strumenti.
non c’è più alcuna
Per svuotare il cestino devi semplice- possibilità di recupero:
mente fare clic sul pulsante Svuota questi file, infatti,
cestino, sempre presente tra i pulsan- vengono cancellati
ti della scheda Gestisci. fisicamente subito.
I fle che possono essere depositati
nel cestino sono solo quelli memoriz-
zati sull’hard disk.

Ricorda

Fai molta attenzione


6 Rinominare un fle o una cartella. a non cambiare
Per assegnare un nuovo nome a un fle o a una cartella, basta fare clic sulla sua icona con il l’estensione del file,
pulsante destro del mouse e, dal menu contestuale, selezionare l’opzione Rinomina. Il testo altrimenti questo non
dell’icona appare evidenziato e il cursore comincia a lampeggiare al suo interno: a questo sarà più riconosciuto
dal software con il
punto puoi digitare il nuovo nome. Al termine premi il tasto Invio, oppure fai clic con il pulsante
quale lo hai creato.
sinistro in un punto qualsiasi della fnestra.

ORA TOCCA A TE
1 Operazioni su fle e cartelle.
■ Crea nella root dell’hard disk del tuo computer la cartella bibite.
■ All’interno della cartella bibite, crea la cartella naturali. bibite naturali acqua minerale
■ Crea un fle di testo che descriva l’acqua minerale e salvalo con il nome acqua minerale
nella cartella naturali.
■ Riapri il fle acqua minerale e crea il fle aranciata, cancellando tutto il testo contenuto nel
fle acqua minerale.
■ Salva il testo con il nome aranciata nella cartella naturali.
■ All’interno della cartella bibite, crea la cartella gassate. naturali bibite gassate
acqua minerale aranciata

Il sistema operativo A4 83
PERSONAGGI ■ Sposta il fle aranciata dentro la cartella gassate, poi cancella il fle acqua minerale.
■ All’interno della cartella bibite, crea la cartella alcoliche.
■ Crea un fle di testo di nome nuovaBibita e memorizzalo in questa cartella appena creata.
■ Disegna nel riquadro sottostante la struttura gerarchica delle cartelle partendo dalla car-
tella bibite.

Steve Jobs
Morto a 56 anni nel
2011, è sempre stato
il rivale storico di Bill
Gates. Era in grado 2 Operazioni su fle e cartelle.
di capire i desideri
delle persone e di ■ Crea nella root dell’hard disk del tuo computer la cartella Risposte.
trasformarli in realtà. ■ Crea un fle di testo dove descrivi la corretta procedura per spegnere un computer.
Aveva un approccio
■ Salva il fle con il nome Risposta nella cartella Risposte.
speciale alla vita:
impegnandosi, si ■ Apri la Guida in linea e cerca informazioni sul concetto di formattazione di un disco.
raggiungono gli ■ Servendoti delle tecniche di copia e incolla, riporta le informazioni che ritieni opportune
obiettivi desiderati. all’interno di un fle di testo a cui assegnerai il nome Formatta e che dovrai memorizzare
Insieme all’amico nella cartella Risposte.
Steve Wozniak fondò
Apple partendo ■ Quali dei seguenti pulsanti deve essere premuto per ingrandire la fnestra di un’applicazio-
dal garage di casa. ne? Scrivi la risposta nel fle Risposta e salvalo.
L’idea era semplice:
i computer potevano a. b. c. d.
diventare strumenti ■ Crea una cartella di nome Ritardi come sottocartella di Risposte, e al suo interno due sot-
per tutti, non solo tocartelle Lettere e Pagamenti come riportato in fgura.
per gli appassionati
di elettronica. Apple
iniziò così a produrre
Lettere
microcomputer: prima
l’Apple I, poi l’Apple II
e poi altri, fino a quelli
dei giorni nostri come Risposte Ritardi Pagamenti
Macbook, iPad, iPhone
e così via. Lascia ai
ragazzi di ogni età ■ Controlla la dimensione del fle Risposta (per farlo fai clic sull’icona del fle con il pulsante
un suggerimento per destro del mouse e dal menu contestuale, scegli Proprietà. Viene visualizzata una fnestra
la vita: “Abbiate il nella quale potrai visualizzare le informazioni richieste).
coraggio di seguire
■ Sposta il fle Risposta nella cartella Lettere.
il vostro cuore e le
vostre intuizioni. Cuore ■ Rinomina la cartella Pagamenti con il nome Da pagare, poi cancella la cartella Da pagare.
e intuizioni sanno già, ■ Disegna nel riquadro sottostante la struttura gerarchica delle cartelle partendo dalla car-
in qualche modo, quel tella Risposte.
che volete diventare”.

84 Sezione A Architettura del computer e sistemi operativi


15 Ricercare file e cartelle
È fondamentale poter ricercare velocemente un file, una cartella o
un’impostazione di sistema, e in Windows 8.1 bastano pochi clic. Per
iniziare la ricerca di quello che vuoi individuare, basta premere la
combinazione di tasti Win + S e si aprirà immediatamente la barra di
ricerca di Windows 8.1, con una casella dove puoi digitare la parola
che intendi ricercare. Come impostazione predefinita, la ricerca verrà
effettuata ovunque, senza nessun tipo di discriminazione, ma se stai
cercando qualcosa di particolare e vuoi restringere il campo delle tue
ricerche, puoi fare clic accanto alla scritta che appare sotto la dicitura
Cerca, sulla freccia rivolta verso il basso: si apre un menu a tendina
dove potrai scegliere che tipo di file o impostazione ricercare.

OSSERVA COME SI FA
1 Cercare un fle in una specifca cartella.
Se ti trovi all’interno di una cartella contenente molti fle e cartelle e vuoi trovare velocemente
un documento, un’immagine o un generico fle, puoi usare la casella di ricerca illustrata nella
fgura qui sotto.
Procedi nel seguente modo.
■ Apri la cartella nella quale credi sia presente il fle che intendi cercare (se non la ricordi, fai
clic sull’unità disco che ti interessa).
■ Fai clic all’interno della casella di ricerca e digita l’inizio del nome del fle o di una parola
che si trova all’interno del documento.
I risultati vengono fltrati e nella fnestra vedrai solamente i fle che corrispondono al testo che
stai digitando.
Nel caso in cui non dovessi trovare il fle che stai cercando, puoi ampliare la ricerca facendo
clic direttamente sulle cartelle proposte, sotto la voce Cerca di nuovo in.

Impostare criteri di ricerca


Non conosci il titolo del documento, ma ricordi quando lo hai creato o modifcato, oppure cono-
sci solo il tipo del documento (testo, immagine e così via)? Niente paura! Queste informazioni
possono essere utili per condurre una ricerca.
■ Fai clic all’interno della casella di ricerca.
■ Fai clic sulla scheda Cerca per attivare la relativa barra degli strumenti.

Il sistema operativo A4 85
■ Come puoi osservare dall’immagine, la barra
Strumenti di ricerca ti permette di scegliere
numerose varianti di ricerca (per tipologia di
fle, dimensioni, proprietà, ecc.).
■ Fai clic sulla freccetta posta a destra dell’op-
zione di ricerca che intendi applicare in modo
da restringere il campo di ricerca.

16 Il Pannello di controllo
Il Pannello di controllo contiene molti strumenti specifici che consentono di
personalizzare l’ambiente di lavoro e modificare l’aspetto e il funzionamento di
Windows.

Per aprire il Pannello di controllo, fai clic con il pulsante destro del mouse su Start
e seleziona Pannello di controllo. Nella finestra che appare sono visualizzati gli
strumenti, suddivisi per categorie.

Per aprire una categoria o le sue voci, fai clic sul suo nome. Se preferisci una visio-
ne delle singole componenti del pannello, apri
il menu relativo alla funzione Visualizza per e
scegli Icone grandi o Icone piccole.

86 Sezione A Architettura del computer e sistemi operativi


Verificare le informazioni di base del computer
Per ottenere informazioni sulle caratteristiche di base del computer come la ver-
sione del sistema operativo, la quantità di memoria RAM installata, il tipo di pro-
cessore e così via, seleziona Icone piccole dal menu Visualizza per, quindi fai clic
sulla voce Sistema. Attraverso le varie voci presenti nella colonna di sinistra puoi
ottenere altri tipi di informazioni quali il nome del computer, la gestione delle
periferiche e altre ancora che, però, richiedono alcune conoscenze di livello supe-
riore per una buona comprensione.

Rimuovere programmi
Windows dispone di un particolare strumento che semplifica le operazioni da
compiere per rimuovere nuovi programmi, procedura tecnicamente chiamata di-
sinstallazione. Per disinstallare un software, basta aprire il pannello di controllo e
fare clic su Disinstalla un programma sotto Programmi; nella finestra che si apre,
seleziona il nome del programma che intendi disinstallare, fai clic sul pulsante
Disinstalla e attendi l’esecuzione della procedura di disinstallazione.

Il sistema operativo A4 87
RIPASSIAMO INSIEME
MAPPA
IL SISTEMA OPERATIVO MODIFICABILE

Che cos’è il sistema operativo?

È l’insieme dei programmi che si occupa di gestire,


coordinare e controllare, in maniera sicura, sia
la comunicazione tra tutte le componenti del
computer, sia quella tra computer e utente.

Un’interfaccia è qualsiasi Il sistema di archiviazione


dispositivo hardware o software consente la gestione dei file
che permette la comunicazione
tra due entità diverse

Che cosa sono i file?


C
Un file è un raggruppamento di
Microsoft Windows usa
dati memorizzato su memoria
un’interfaccia utente grafica (GUI)
di massa e caratterizzato da un
di tipo touch friendly.
nome che lo identifica.

Le icone sono piccoli elementi


grafici che identificano Il programma Esplora file di
applicazioni, file, cartelle e risorse. Windows consente di gestire i
file memorizzati nel sistema.

La barra delle applicazioni di


Windows contiene pulsanti che
rappresentano i programmi attivi.

88 Sezione A Architettura del computer e sistemi operativi


A4
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Il sistema operativo gestisce la comunicazione


tra computer e utente. (A) ................................................. ☐ V ☐ F

2) Esplora file è un programma di Windows


che consente di gestire i file nel sistema. (H) ........ ☐ V ☐ F

3) Applicazioni, file, cartelle e risorse sono identificate


mediante icone. (D) ............................................................... ☐ V ☐ F

4) Windows utilizza un’interfaccia utente


grafica (GUI). (C) .................................................................... ☐ V ☐ F

5) L’interfaccia è un dispositivo hardware. (B) ............. ☐ V ☐ F

6) I file sono memorizzati esclusivamente


nella memoria RAM del sistema. (G) ............................ ☐ V ☐ F

Completa le affermazioni seguenti.

7) Un’interfaccia è un dispositivo ….................……… o ..........................


che consente la .......................................... tra due entità di tipo
diverso. (B)

8) Il programma ….....…………. .................... di Windows si utilizza per


la gestione dei file. (H)

9) Il sistema ……...……......…… si occupa di …......……………., coordinare


e ................................ in maniera ............................... la comunicazione
tra tutte le componenti del computer e quella tra computer
e ................................. (A)

10) Le icone sono piccoli elementi ……...……......…… che identificano


…......……………., file, cartelle e ................................ (D)

Il sistema operativo A4 89
Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo A4
Vero o falso 1 _________________________________________
2 _________________________________________
1 Il sistema operativo fa parte
3 _________________________________________
dell’hardware del computer V F
4 _________________________________________
2 Il sistema operativo consente di utilizzare 5 _________________________________________
il computer senza conoscerlo V F 6 _________________________________________
7 _________________________________________
3 L’interfaccia è solo
un dispositivo hardware V F
Risposta singola
4 Per selezionare icone contigue
si tiene premuto il tasto Maiusc V F
7 Il componente fondamentale del sistema
operativo è:
Associazione A il boot loader B il kernel
C il BIOS D il bootstrap
5 Fai corrispondere le parole della seconda colonna
a quelle della prima. 8 Con multitasking si intende:
1 Path A Area di notifica A la riaccensione automatica del computer
2 Tool bar B Barra delle applicazioni dopo un periodo di tempo in standby
3 Task Bar C Barra degli strumenti B l’apertura di un programma che consente
4 System tray D Percorso la scrittura di testi
5 Root E Radice C la possibilità di utilizzare suoni, immagini,
audio e video attraverso il computer
1 2 3 4 5 D la possibilità di utilizzare più applicazioni
contemporaneamente

9 Si fa doppio clic sull’icona rappresentata per:


Completamento
A collegarsi ad altri PC presenti in rete
6 Scrivi le definizioni corrette. B vedere i dischi e le altre risorse
del computer
C aprire una cartella
1 2 3 4
A recuperare o gettare i file cancellati
dall’hard disk
5 B visualizzare i dati non più utilizzati
C recuperare file cancellati da una
chiavetta USB

A consultare pagine web


B creare o modificare pagine web
C utilizzare la posta elettronica

A attivare connessioni Internet


B accedere al menu di Avvio-Chiusura
6 7 C collegarsi ad altri PC presenti
nella rete

90 Sezione A Architettura del computer e sistemi operativi


Allena le tue ABILITÀ
e le tue COMPETENZE A4
ABILITÀ Esegui, ora, le seguenti operazioni (i file da creare
possono essere di qualsiasi tipo).
1 Seleziona cinque icone contigue del desktop. a) Crea il file Edimburgo nella cartella Scozia.
b) Copia il file precedentemente creato nella cartella
2 Seleziona cinque icone non contigue del desktop.
Italia e rinominalo Roma.
3 Apri cinque finestre sul desktop del tuo c) Crea il file Londra nella cartella Inghilterra.
computer. Ora usa le combinazioni d) Copia il file precedentemente creato nella cartella
di tasti Alt+Tab e Alt+Esc per passare Austria e rinominalo Vienna.
da una finestra all’altra. Quali differenze noti e) All’interno della cartella Inghilterra, fai una copia
nell’utilizzo delle due combinazioni di tasti? del file Londra con il nome Oxford.
f) Crea i file Lecce, Torino e Perugia nella cartella Italia.
g) Sposta nel cestino i file Roma e Vienna.
COMPETENZE h) Cancella il file Perugia senza portarlo nel cestino.
4 Crea la seguente struttura ad albero su una i) Svuota il cestino.
pendrive (nel diagramma, i nomi delle cartelle k) Cancella la cartella Austria.
sono in rosso, mentre i nomi dei file in nero). La struttura iniziale ora è cambiata. Riempi le caselle
del diagramma seguente tenendo conto delle modifiche
apportate. Se la seguente struttura non ti sembra
corretta, apporta le modifiche che ritieni necessarie.

Esegui, ora, le operazioni indicate.


a) Cancella la cartella Autunno.
b) Crea la cartella Gennaio nella cartella Inverno.
c) Sposta la cartella Luglio nella cartella Stagioni.
d) Crea il file Pasqua in Primavera.
e) Sposta il file Natale nella cartella Febbraio. 6 Svolgi il seguente esercizio:
f) Rinomina il file Sci in Sci di fondo. a) Crea sulla pendrive nella cartella principale una
g) Crea il file Cenone di San Silvestro nella cartella cartella Windows e in essa una cartella Esempio.
Dicembre. b) Apri Blocco note e scrivi il tuo cognome e nome.
h) Trova sul disco C il file Pasquetta.doc e copialo Salva il file con il nome Name.txt nella cartella
sulla pendrive nella cartella Primavera, altrimenti Windows.
crealo e memorizzalo. c) Copia il file Name.txt in Esempio e rinominalo in
i) Cancella il file Carnevale. Copy.txt.
d) Crea nella directory radice una cartella Pippo e
5 Crea sull’hard disk o sulla tua pendrive la
sposta lì la cartella Windows con il suo contenuto.
seguente struttura ad albero.
e) Cerca con lo strumento Trova file un file di testo
Europa (.txt) e salvalo nella cartella principale.
f) Crea un collegamento al file di testo all’interno
Gran Bretagna Austria Italia
della cartella Windows e rinominalo Text.txt.
g) Apri Wordpad e scrivi “Prova di Informatica”, salva
Scozia Galles Inghilterra il file con il nome Save.rtf dentro Esempio.
Castelli
h) Crea nella cartella principale una cartella Computer
e copiaci tutti i file presenti sulla pendrive.
Laghi i) Cancella il file Save.rtf che si trova in Esempio.
k) Cambia l’icona del file di collegamento dentro la
Fauna cartella Computer scegliendone una a piacere.

Il sistema operativo A4 91
Sezione A

Traguardo COMPETENZE
Verso la certificazione

Compito di realtà – Quale computer?


LE COMPETENZE CHE DOVRAI CERTIFICARE

Competenza Declinazione

Valutare la scelta dei componenti (hardware/software) più adatti alle diverse situazioni,
Individuare collegamenti
al mantenimento dell’efficienza e delle prestazioni (in un contesto di informatica e di
e relazioni
produttività personale).

Acquisire l’abitudine a ragionare con rigore logico, a identificare i problemi e a individuare


Risolvere problemi
possibili soluzioni.

Acquisire e interpretare Essere in grado di interpretare criticamente l’informazione ricevuta nei diversi ambiti
l’informazione e attraverso diversi strumenti comunicativi.

Organizzare il proprio apprendimento individuando, scegliendo e utilizzando


Imparare a imparare varie fonti e varie modalità di informazione e di formazione per motivare razionalmente
le scelte compiute, i parametri di valutazione e i criteri di selezione utilizzati.

92 Sezione A Architettura del computer e sistemi operativi


➤ Identifica il problema
È arrivato il momento di comprare un nuovo computer. Hai già osservato varie solu-
zioni (quelle riprodotte nell’immagine a pagina precedente) che hanno catturato la tua
attenzione, ma i dubbi che ti assalgono sono ancora tanti:
• quali sono le caratteristiche minime in termini di memoria RAM e di CPU che un
computer portatile deve avere per essere considerato un “buon computer”?
• Quanto bisogna spendere per acquistare un buon notebook?

➤ Esplicita i criteri di valutazione


Le prime valutazioni che devi fare per sapere come scegliere un computer dipendono
innanzitutto dalle risposte che darai alle seguenti domande:
• Dove dovrò usarlo? (a casa, a scuola, in altri luoghi?)
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

• Come dovrò usarlo? (per navigare su Internet, chattare o guardare qualche video,
piuttosto che per giocare o lavorare usando programmi molto pesanti)
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

• Qual è il budget che ho a disposizione?


...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

➤ Confronta oggettivamente le informazioni


Dovendo fare una scelta oculata, comincia col completare le tabelle sottostanti in
modo da procedere a una valutazione oggettiva dei vari computer. Serviti delle infor-
mazioni presenti nell’immagine della pagina a fianco e ricerca su Internet le informa-
zioni che non trovi in essa.

Processore
Lenovo Asus Hp

Classe Frequenza Generazione Classe Frequenza Generazione Classe Frequenza Generazione

............... ............... ............... ............... ............... ............... ............... ............... ...............

............... ............... ............... ............... ............... ............... ............... ............... ...............

............... ............... ............... ............... ............... ............... ............... ............... ...............

............... ............... ............... ............... ............... ............... ............... ............... ...............

Architettura del computer e sistemi operativi Sezione A 93


Dai uno sguardo alla figura seguente, per comprendere come identificare la sigla che
indica la generazione dei processori Intel. Fai una ricerca su Internet per identificare la
generazione del computer Lenovo che è equipaggiato con un processore AMD.

Marchio Modificatore Suffisso


del marchio della linea di prodotti

Processore Intel R CoreTM i7 – 4770 K


Indicatore Cifre
di generazione numeriche
della SKU

Memoria RAM e hard disk


Lenovo Asus Hp

Capacità Capacità Capacità

RAM ............................. RAM ............................. RAM .............................

HD .............................. HD .............................. HD ..............................

Scheda video
Lenovo Asus Hp

Chipset Capacità RAM Chipset Capacità RAM Chipset Capacità RAM

............... ............... ............... ............... ............... ...............

Schermo
Lenovo Asus Hp

Pollici Altro Pollici Altro Pollici Altro

............... ............... ............... ............... ............... ...............

Sistema operativo
Lenovo Asus Hp

Nome e versione Nome e versione Nome e versione Nome e versione Nome e versione Nome e versione

............... ............... ............... ............... ............... ...............

Accessori
Lenovo Asus Hp

............... ............... ...............

............... ............... ...............

94 Sezione A Architettura del computer e sistemi operativi


➤ Motiva razionalmente le scelte compiute
Ricerca in Internet qual è la differenza tra sottocosto e sottoprezzo.
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
• Come definisci la scelta che hai fatto?

Sottocosto
Sottoprezzo
• Perché?
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

➤ Impara a selezionare le informazioni


Alla luce delle tue valutazioni:
• Quali dispositivi e/o periferiche hai considerato come principali per effettuare
la scelta e perché?
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
• Quali elementi hai considerato come meno significativi, dando loro un peso
secondario nello scegliere, e perché?
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

Alcuni computer dispongono del cosiddetto dual boot. Sai cos’è? Fai una ricerca su
Internet e poi rispondi alle seguenti domande:
• Sarebbe utile sul mio computer?

No
• Motiva la tua scelta: quali vantaggi d’uso potrebbe darti disporre dell’opzione
dual boot?
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

Architettura del computer e sistemi operativi Sezione A 95


AUDIO
GLOSSARIO CLIL
CLIL Ascolta la pronuncia

Hyper-connected teens and twenty-somethings data based


on americans aged 13-24
PC TV
Almost 8 in 10 take action after seeing an 44% spend more time watching online video than TV. 71%
online ad, including searching for more search for information online after seeing a topic of interest
information or visiting a website. on television. 76% use devices sequentially – meaning looking
35% use their PC, smartphone for information on a smartphone and then using a PC to
and TV at the same time. examine further engage with at least two devices simultaneously
– including TV, PC, smartphones and tablets.

SMARTPHONE
45% use a smartphone to access online
resources and content. 8.2 hours a week
are spent online on smartphones.

GAMING
Gaming is the #1 most
popular content accessed
online. 76% play games
online vs. only 64% of the
general population.

Glossary … and now answer!


• Gaming • Tablet 1 What is the most popular content accessed online?
playing (video) games a small computer 2 What percentage of teenagers use their PC,
that you can use by smartphone and TV at the same time?
• Smartphone
touching the screen
mobile phone that has 3 How many hours a week are spent online on
an operating system • Website
smartphones?
and performs many a set of pages
of the functions of a published on the 4 What percentage of teenagers spend more time
computer internet watching online video than TV?

96 Sezione A Architettura del computer e sistemi operativi


RIFLESSIVO
“Rifletti” sul tuo processo di apprendimento: scoprirai i punti di forza e i limiti delle tue conoscenze.

CON CON CON CON CON


CON
HO IMPARATO MOLTA QUALCHE POCHE SUFFICIENTE
SICUREZZA
SICUREZZA E
DIFFICOLTÀ DIFFICOLTÀ DIFFICOLTÀ SICUREZZA PADRONANZA

Che cos’è la scheda madre

Le caratteristiche di un processore

Che cosa sono i bit e i byte

Le caratteristiche della memoria


centrale

Quali sono i dispositivi di I/O


e le loro caratteristiche

A che cosa servono le memorie di


massa e quali sono le loro tipologie

A distinguere i tipi di computer

Che cosa sono e a che cosa servono


i sistemi operativi

A interagire con le finestre e a


svolgere operazioni con file e cartelle

A impostare e personalizzare
il sistema

A riconoscere caratteristiche, pregi


e difetti dei vari sistemi operativi

Come vengono rappresentati i dati


all’interno di un computer

Le caratteristiche dei sistemi


di numerazione

A convertire un numero da un
sistema di numerazione a un altro

COME HO IMPARATO

■ Quali strategie hai usato


per apprendere?
■ Come puoi correggere gli errori
che hai eventualmente commesso?
■ Hai raggiunto gli obiettivi
che ti proponevi?

Architettura del computer e sistemi operativi Sezione A 97


Sezione B
PRIMA DI INIZIARE…
Brainstorming

Completa il diagramma 1
In base alle tue attuali conoscenze,
scrivi a fianco le parole chiave che
ti vengono in mente pensando
a Internet. 2
Aiutati con le seguenti domande:

1 Che cos’è Internet?

2 A che cosa serve? 3


3 Con quali strumenti
puoi utilizzare Internet?

4 La usi frequentemente? 4
5 Per quali scopi principali la usi?

Una volta scritte le parole chiave, 5


discutile con il tuo insegnante
e con i tuoi compagni.

98
INTERNET E CLOUD COMPUTING

CONOSCENZE
• Terminologia legata alla Rete
Esegui il test e ai servizi di Internet
• Campi di applicazione e potenzialità
1 Il Web è delle tecnologie ipermediali e della
rete Internet
A una ragnatela piena di polvere • Il cloud e i servizi di cloud computing
Barra la risposta esatta
B uno dei servizi di Internet
A B C D
C la più estesa rete geografica
D “bene” in inglese ABILITÀ
• Riconoscere il ruolo di Internet
2 Il browser ci permette di nella vita quotidiana e nello studio

A scrivere email
• Saper utilizzare con criterio e razionale
consapevolezza gli strumenti che
B rispondere a email Barra la risposta esatta ruotano intorno al mondo di Internet
A B C D • Saper realizzare e condividere materiali
C navigare in Internet utilizzando i servizi di cloud computing
D aprire un allegato

3 Cerco informazioni sulla Repubblica, ma vorrei evitare il quotidiano;


imposto nel motore di ricerca:

A Repubblica
COMPETENZE
Barra la risposta esatta • Essere in grado di utilizzare
B Repubblica Italiana criticamente e consapevolmente
C Repubblica -quotidiano A B C D gli strumenti informatici
e telematici nelle attività di studio
D Repubblica no giornale e di approfondimento

4 Quale dei seguenti è un indirizzo web esatto?

A www.viamanzoni45
B www.atti di pensiero.it Barra la risposta esatta
C it.com.attidipensiero.it A B C D
D www.attidipensiero.it

FLIPPED CLASSROOM
Alternando attività a casa e a
scuola, cerca di rispondere alla
domanda che ti viene proposta.

Pregi e difetti della rivoluzione


digitale: sai scoprirli?

99
ACCETTI LA SFIDA?

Pregi e difetti della rivoluzione digitale: sai scoprirli?


Chi avrebbe mai pensato che uno strumento nato per trasferire in modo rapido informazioni militari
avrebbe cambiato, in modo ancor più rapido, il mondo intero? Quella di Internet, la rete delle reti, è l’in-
venzione che ha trasformato il modo di comunicare, ancor più che la televisione, la radio, forse anche
più del telegrafo, il primo marchingegno che permise di far viaggiare le parole velocissimamente. Eppure
Internet è costantemente sotto processo, guardata con diffidenza da quanti ancora non si arrendono
all’idea che in un computer possa essere custodito un archivio di dati, immagini, suoni impossibile da
raccogliere in cento grattacieli. E, ancora, Internet ha cambiato il modo di apprendere – affiancando il
digitale al libro cartaceo – e di comunicare. Ma è tutto oro quello che luccica?
Affronta l’esercitazione come una sfida, come se entrassi in un videogame che ti chiede di superare una
difficoltà dopo l’altra.

Il lancio della sfda


Pensa a Internet, all’uso che ne fai, al dispositivo che usi per accedervi, all’importanza che le at-
tribuisci nella tua vita e scrivi nella tabella singole parole o definizioni che associ ai vari quesiti, in
modo da dare il via a un dibattito in classe.
A SCUOLA

Durante il dibattito, evidenzia in giallo le parole o le frasi che hai scritto che ritieni essere corrette,
in rosso quelle su cui hai i dubbi e in verde quelle che ritieni essere oggetto di discussione.
Guarda il video che puoi reperire all’indirizzo http://tiny.cc/kwdeiy e cerca di comprendere il tema,
concentrando la tua attenzione su come usi la tecnologia durante la tua giornata. Appunta doman-
de, dubbi, curiosità, che discuterai in classe con il tuo insegnante e i tuoi compagni.
A CASA

Informazioni acquisite Dubbi Curiosità


• • •
• • •
• • •
• • •

La conduzione della sfda


Riprendi la tabella precedente e metti in comune le tue idee con quelle dei compagni del tuo gruppo.
Provate, insieme, a effettuare ulteriori ricerche sull’uso di Internet a scuola, nel mondo del lavoro e
nella vita sociale. Al termine compilate una mappa concettuale che riassume il contenuto del video
e di tutte le informazioni che avete acquisito.
A SCUOLA

Internet

100 Sezione B Internet e cloud computing


Da solo o insieme al tuo gruppo, svolgi un lavoro di approfondimento sulla rivoluzione innescata da
Internet. Concentra la ricerca su: la società prima di Internet, il mondo dopo la rivoluzione Internet, i
nuovi modi di comunicare, il mobile learning, la rivoluzione social; aggiungi altre chiavi di ricerca per
rendere il lavoro ancora più completo. Al termine, rivedi il video proposto nella prima fase e, tenendo
conto della documentazione che hai prodotto, comincia a sintetizzare in modo da avere gli strumenti
per preparare una presentazione in PowerPoint che userai nella fase finale di questa attività. Cerca
A CASA

anche immagini, video e quant’altro possa servirti per rendere la presentazione dinamica ed effica-
ce. Per rendere più agevole il lavoro, compila la tabella in modo da concentrare le tue idee:
Principali usi di Internet nella società? Vantaggioso? Svantaggioso? Perché?

La conclusione della sfda


Guarda i seguenti video per approfondire: http://tiny.cc/2xdeiy e http://tiny.cc/vydeiy.
Nei video si parla di alcuni concetti specifici. Se, dopo la visione, qualcosa non ti è chiaro, effettua
altre ricerche su Internet. Se riesci, cerca di associare agli argomenti presentati nei filmati alcuni con-
cetti che non sono presenti (ad esempio, parlando di social si potrebbe associare l’uso di emoticon).

Si parla di... ...che significa...


A CASA

Sulla base delle informazioni che hai ricavato dalla visione dei filmati, dalle risposte che hai dato
ai vari quesiti e dai lavori condotti nel tuo gruppo a scuola, prova a rispondere ai seguenti quesiti.
Quindi, discuti le risposte insieme al tuo gruppo e al tuo insegnante.

Domanda Risposta
Quali sono i principali vantaggi derivanti
dall’uso di Internet?
Perché Internet può essere vantaggioso
durante il processo di studio?
In quali ambiti Internet risulta
particolarmente importante?
Perché Internet può costituire un pericolo?
I pericoli che hai evidenziato erano anche
presenti prima dell’era Internet?

Confronta le tue risposte con quelle dei compagni del tuo gruppo. Quali sono le considerazioni finali?
A SCUOLA

................................................................................................................................................
................................................................................................................................................
Prepara ed esponi tutto il percorso svolto con la presentazione in PowerPoint.

Internet e cloud computing Sezione B 101


B1 Reti di comunicazione
e trasmissione dei dati

LABORATORI “CASE STUDIES”


Approfondisci con i casi pratici

IMPARERAI…

Che cosa signifca Che cosa sono Quali sono le Quali sono i dispositivi Quali tecnologie
comunicare e quali sono le reti differenze tra i che ti servono per sono utilizzate
le forme di comunicazione di computer vari tipi di reti realizzare una rete nelle reti

1 La telecomunicazione
La comunicazione a distanza (tele) tra due o più persone per mezzo di dispositivi
e/o infrastrutture che utilizzano particolari tecniche per il trasferimento dell’in-
formazione prende il nome di telecomunicazione. L’avvento dell’informatica ha
profondamente cambiato il modo di comunicare e dall’incontro tra telecomuni-
cazione e informatica è nato il termine telematica.

La telematica si occupa della trasmissione a distanza di informazioni (dati, te-


sti, suoni, immagini) attraverso l’uso delle tecnologie informatiche nell’ambito
delle telecomunicazioni.

Alcuni esempi di applicazioni telematiche sono: gli sportelli bancomat, i fax e i


terminali per la lettura delle carte di credito.

2 Gli elementi della comunicazione


Cerchiamo di individuare gli elementi che entrano in gioco durante una comuni-
cazione tra due persone.
• I soggetti interessati alla comunicazione. Le persone che colloquiano hanno i
ruoli di mittente o trasmittente (colui che trasmette l’informazione) e rice-
vente o destinatario (colui che riceve l’informazione).
• Il messaggio: l’informazione che si vuole trasmettere.
• Il mezzo trasmissivo utilizzato per la comunicazione: può essere ad esempio
l’aria, se il colloquio avviene verbalmente con mittente e ricevente posti vicini
tra di loro, oppure i cavi telefonici se il colloquio avviene per telefono.
• Il linguaggio utilizzato per comunicare: entrambi gli interlocutori devono
parlare la stessa lingua, ad esempio l’italiano, oppure è necessario fare ricorso
a un interprete o a un traduttore.

102 Sezione B Internet e cloud computing


• Le regole da seguire per poter comunicare: due persone devono parlare a tur-
no senza sovrapporsi, possono usare cenni di assenso con il capo per far capi-
re all’interlocutore che quanto comunicato risulta chiaro. Se gli interlocutori
sono più di due occorre regolare gli interventi per evitare le sovrapposizioni.
Le regole stabiliscono anche le modalità della comunicazione: non bastano
due telefonini di ultima generazione per far comunicare un italiano e un cine-
se, se ognuno di essi parla la propria lingua.
• Individuare e correggere eventuali errori durante la comunicazione: ad
esempio, può essere necessario ripetere il messaggio se questo non è stato
correttamente compreso.
Questi elementi sono facilmente riscontrabili anche nella comunicazione tra due
o più computer posti in rete.

Ricorda
3 Le reti di computer
Una rete di computer (computer network) è costituita da un insieme di com- Il termine computer
network, che indica
puter, o più in generale di unità di elaborazione autonome, connesse mediante una rete di computer,
un sistema di comunicazione e in grado di scambiarsi messaggi o condividere non va confuso con
risorse utilizzando regole note come protocolli di comunicazione. network computer,
che invece indica un
terminale di rete senza
Possiamo parlare più in generale di unità di elaborazione, anziché di computer, memoria di massa.
riferendoci ad esempio a una stampante di rete o a unità che controllano o gesti- Lo scopo del network
computer non è quello
scono il traffico in rete, come modem e router. Tali unità di elaborazione vengono di centralizzare le
chiamate nodi o host. operazioni di calcolo,
I nodi sono collegati fisicamente tra loro attraverso attrezzature passive (cavi ma piuttosto quello di
condividere le risorse
elettrici, fibre ottiche, connettori e così via) e attrezzature o dispositivi attivi (mo- disponibili in rete (in
dem, router, schede di rete e così via). particolare sulla “rete
I nodi sono collegati logicamente tra loro attraverso programmi e software che, delle reti”, Internet),
tanto a livello di dati,
per dialogare correttamente, utilizzano un insieme di regole detto protocollo in- quanto di applicazioni.
formatico di comunicazione.

Reti di comunicazione e trasmissione dei dati B1 103


INFOGR AFICA

Tipi di reti e vantaggi


della connessione
RETI DI TUTTE LE MISURE Esistono vari tipi di rete: dalle più piccole, che
possono essere composte anche da due soli personal computer, a reti enormi, con
migliaia di computer distribuiti su vaste aree geografche. Ogni tipo di rete e di
connessione ha le sue peculiarità e i suoi vantaggi, oltre naturalmente ai suoi limiti.

PARTE 1 Tipi di reti PARTE 2


Dalle reti di casa
alle reti mondiali

Le reti si possono classificare in base all’estensione MAN (Metropolitan Area Network): sono reti che
geografica che sono in grado di coprire. possono coprire aree corrispondenti a una città, ma
PA (Personal Area Network, rete personale): è una rete sono state soppiantate dalle reti WAN. Storicamente
che si estende per pochi metri, con diversi dispositivi le reti MAN sono nate per fornire servizi di televisione
che gravitano attorno a un unico utente: telefono via cavo nelle città in cui la ricezione terrestre non era
cellulare, tablet, notebook e così via. Tali dispositivi buona. Dopo una prima fase svoltasi a livello locale,
possono scambiarsi informazioni o collegarsi a reti di sono subentrate le grosse aziende che hanno richiesto
livello superiore come, ad esempio, Internet. Una rete di cablare intere città, soprattutto negli Stati Uniti.
PAN può utilizzare sia collegamenti via cavo (wired) Quando il fenomeno Internet è esploso, queste società
che connessioni wireless. hanno diffuso la comunicazione Internet anche
attraverso il cavo televisivo, ma oggi questa struttura
LAN (Local Area Network): sono reti che possono utilizza la fibra ottica come mezzo di collegamento.
estendersi per pochi chilometri, ma di solito si
sviluppano all’interno di un edificio. Sono reti
affidabili, non molto costose e di facile manutenzione.
La tecnologia più diffusa per la realizzazione di una
rete LAN è Ethernet.
CAN (Campus Area Network, o Controller Area
Network, o Cluster Area Network): queste reti si usano in
ambiti ristretti come quello di un campus universitario
o di una fiera espositiva.

104 Sezione B Internet e cloud computing


WAN (Wide Area Network): sono reti che connettono GAN (Global Area Network): sono reti che collegano
computer posti a distanze enormi. Sono anche dette computer collocati in vari continenti attraverso l’uso di
reti geografiche poiché si possono sviluppare in diverse tecnologie: dai semplici cavi ai satelliti.
ambito nazionale, internazionale e intercontinentale. Internet, o più semplicemente “the Net”, “la Rete”, è il
Naturalmente i tempi di risposta sono maggiori di classico esempio di GAN. Non ha importanza quale sia
quelli di una LAN; si tratta quindi di reti più lente. la tecnologia che unisce le reti: cavi, fibre ottiche, ponti
Queste reti sono, per la loro stessa natura, molto più radio, satelliti o altro. Non è neppure rilevante il tipo
“aperte” delle reti locali, ovvero hanno tutta una serie dei computer connessi: dal piccolo personal computer
di procedure già predisposte per accogliere nuovi al grande elaboratore. Il punto di forza di Internet, e
elaboratori remoti: da quelli di un’eventuale nuova sede motivo del suo velocissimo espandersi, è la capacità di
fino al computer portatile di un dipendente munito di “parlare” un linguaggio universale, adatto alla quasi
modem e (ovviamente) di connessione. totalità degli elaboratori esistenti.

Un po’ di numeri su Internet e le reti mobili nel mondo e in Italia


Popolazione Utenti Utenti attivi Utenti Utenti di social via
mondiale di Internet sui social media di dispositivi mobili dispositivi mobili
7.395.000.000 2.419.000.000 2.307.000.000 3.790.000.000 1.968.000.000
Popolazione Utenti Utenti attivi Connessioni Utenti di social via
italiana di Internet sui social media mobili dispositivi mobili
59.800.000 37.670.000 28.000.000 80.290.000 24.000.000

PARTE 3
I vantaggi della
connessione in rete

Collegare un computer in rete offre numerosi vantaggi: Tutte le tecnologie hardware e software si stanno
orientando verso un uso sempre più intensivo delle reti,
• scambiare o condividere informazioni: un
per diversi motivi:
computer in rete può accedere alle risorse
informative disponibili su altri computer. I dati di • miglior rapporto costo/prestazioni; ad esempio,
un conto corrente bancario, ad esempio, devono all’interno di un’azienda una rete garantisce
essere noti e accessibili a tutti gli sportelli e ai meccanismi di comunicazione più immediati
bancomat. Ma lo stesso concetto di scambio e fra i dipendenti, migliorando i tempi di lavoro e
condivisione di informazioni è alla base dei social incidendo sui costi dei processi aziendali;
network come Facebook, Instagram o WhatsApp; • migliore espansione del sistema; un computer
• condividere dispositivi hardware: un computer collegato a una rete è molto più espandibile di un
può utilizzare periferiche, come stampanti o singolo computer isolato;
fax, collegate ad altri elaboratori. Ad esempio, in • maggiore affidabilità; la rete offre sistemi per
uno studio di progettazione i progettisti possono garantire l’integrità dei dati: se un computer
utilizzare una stampante 3D condivisa, magari dovesse guastarsi, si può riprendere a lavorare su
collocata a chilometri di distanza. un altro computer della rete;
• condividere applicazioni software: grazie • maggiore flessibilità nell’accesso alle risorse, di
al cloud si sta diffondendo sempre di più la cui si può usufruire da posti diversi e in momenti
condivisione di applicazioni software che non diversi, grazie anche a computer portatili,
vengono utilizzate sul computer locale, ma sono smartphone e tablet.
disponibili e accessibili direttamente online.

Reti di comunicazione e trasmissione dei dati B1 105


4 I segnali analogici e digitali
In una rete di comunicazione tra computer, i dati si propagano da un nodo all’altro
per mezzo di segnali elettrici che possono essere di due tipi: analogici e digitali.

Un segnale analogico è un segnale il cui valore varia nel tempo in un intervallo


continuo. Ovvero, se il segnale è compreso tra [min, max], esso assumerà tutti i
valori reali compresi tra il valore min e il valore max.

Sono esempi di segnali continui le onde radio, i numeri reali, le tensioni e così via.

Ampiezza

Tempo

Segnale analogico

Un segnale digitale è un segnale discreto, ovvero un segnale che può assumere


solo una successione di valori. Un segnale binario è un caso particolare di se-
gnale digitale che può assumere solo due valori: (0 e 1).

Sono esempi di segnali digitali: i bit, l’alfabeto Morse, i numeri interi e così via.

Ampiezza

Valori logici

Tempo

Segnale digitale
Ricorda

La velocità di
trasmissione nelle
5 I mezzi trasmissivi
reti è contraddistinta Occorre distinguere tra canale di comunicazione e mezzo trasmissivo.
dall’unità bps (bit per
secondo). Pertanto,
una rete a 1 Mbps Quando si mettono in collegamento due interlocutori si dice che fra questi si
trasmette un milione stabilisce un canale di comunicazione.
di bit al secondo.
Quanti bit trasmette
una rete a 1 Gbps? L’informazione da trasmettere a distanza necessita, per raggiungere luoghi lonta-
ni, di un’elaborazione che la trasformi in segnali elettrici e/o magnetici.

106 Sezione B Internet e cloud computing


Un mezzo trasmissivo è il supporto fisico tramite il quale un segnale si propa-
ga da un punto a un altro della rete. Lo sai?
Da questa distinzione deriva che:
I cavi in rame
• su un mezzo trasmissivo vi possono essere simultaneamente più canali; sono chiamati
• un canale può usare più mezzi trasmissivi. comunemente doppini
telefonici (twisted
Esistono diversi mezzi trasmissivi da utilizzare in base alle distanze che si devono pair), infatti sono
coprire, all’affidabilità e alla velocità che si vuole ottenere. I mezzi trasmissivi più costituiti da coppie
utilizzati nelle attuali reti sono i seguenti. di fili di rame, isolati
singolarmente, ritorti
tra loro in modo da
• Cavi di rete costituiti da coppie di singoli cavi di rame che si differenziano per formare una treccia
la presenza o meno di schermatura all’interno: e protetti per evitare
– UTP (Unshielded Twisted Pair): quattro coppie di cavi non schermati; interferenze.
– FTP (Foiled Twisted Pair): con un’unica schermatura a protezione di tutte
le coppie di cavi contenute al suo interno;
– STP (Shielded Twisted Pair): con, oltre alla schermatura globale, ulteriori
schermature su ogni coppia di cavi.
• I cavi di rame di ultima generazione raggiungono velocità fino a 1 Gbps. Si
usano nelle reti LAN e geografiche, in particolare nelle reti pubbliche nei tratti
che arrivano fino all’utente (“ultimo miglio”). Alle estremità dei cavi sono pre-
senti i plug ovvero i terminali che andranno nelle schede di rete del computer GLOSSARIO
e nelle porte dei dispositivi di rete come hub, switch, router. cavi coassiali
Erano molto usati
• A fibra ottica: sono costituiti da una parte centrale di vetro detta core (il nu- prima dell’avvento dei
cleo attraverso il quale passa la luce), dal cladding (il mantello che tiene la doppini. Oggi vengono
luce confinata all’interno del core), da un rivestimento primario e dalla guai- utilizzati nelle reti
telefoniche e nelle
na protettiva. La sorgente luminosa può essere costituita da un semplice led trasmissioni televisive
o da un qualsiasi altro dispositivo che generi impulsi luminosi come il laser. “via cavo”. Consistono
Questi cavi offrono il vantaggio di un’enorme velocità (nell’ordine dei Gbps) e in un’anima metallica
dell’assenza di interferenze elettromagnetiche. Per contro, hanno un costo di sulla quale viaggia il
segnale, ricoperta da
installazione molto alto. uno strato di materiale
isolante, circondata
• Wireless: le reti e i dispositivi wireless utilizzano per far comunicare i compu- da una calza di rame
ter segnali radio ad alta frequenza o raggi di luce a infrarossi. Ogni computer (massa) e isolata da
deve avere un dispositivo che, per spedire e ricevere dati, trasforma i segnali una guaina di plastica
per le interferenze.
digitali in segnali radio e viceversa. Le reti wireless a differenza delle reti Vengono usati per
cablate o wired (quelle realizzate con doppini, cavi e fibra ottica) sono molto distanze limitate a 500
adatte a creare reti LAN in edifici storici dove non è consentita una cablatura metri. Sono costosi e
fissa o in spazi aperti (bar, aeroporti e così via). Tra gli svantaggi vi sono aspet- difficili da utilizzare in
spazi limitati, in quanto
ti legati alla sicurezza, all’interferenza elettromagnetica, alla velocità ridotta non possono essere
rispetto alle reti cablate. Le reti LAN wireless utilizzano degli access point piegati con angoli
(punti d’entrata), sorta di concentratori del traffico di rete in grado di mettere ristretti.
in contatto in modo efficiente le varie stazioni presenti sulla rete. Tramite l’u-
tilizzo di più access point la copertura della rete potrà essere estesa anche a
grandi aree, come un intero edificio o un campus. Un access point può coprire
un’area da 30 fino anche a 150 metri. Ogni dispositivo dovrà utilizzare un’ap-
posita scheda di rete wireless.

Reti di comunicazione e trasmissione dei dati B1 107


Lo sai?
6 Reti analogiche e reti digitali
Poiché le reti richiedevano collegamenti a grandi distanze, inizialmente si de-
Spesso si parla di cise di utilizzare come sottorete di comunicazione una rete già esistente: quella
modem e router come telefonica che usava segnali analogici. La rete telefonica analogica viene indica-
se i termini fossero
sinonimi. Invece ta con le sigle: RTG (Rete Telefonica Generale), in inglese PSTN (Public Switched
indicano dispositivi Telephone Network), o POTS (Plain Old Telephone Service).
attivi con differenti
funzionalità.
Oggi la maggior parte delle reti è di tipo digitale (o numerico): usa, cioè, sequenze
di bit per trasmettere dati binari. Le informazioni da trasmettere che non sono in
formato binario, per esempio la voce, vengono digitalizzate, cioè trasformate in
Lo sai? formato digitale (sequenza di bit), trasmesse e poi riconvertite in analogico alla
ricezione. Il MODEM (MOdulatore/DEModulatore) è il più famoso dispositivo che
I primi modem che
effettua una conversione analogico-digitale (modulazione) e digitale-analogico
hanno garantito (demodulazione).
l’accesso a Internet Ormai da diversi anni, i modem più utilizzati sono quelli ADSL; si tratta di mo-
sono i seguenti: dem solitamente esterni (ma anche, raramente, di tipo interno) che consentono di
– modem analogico:
ha segnato usufruire della linea digitale dati ad alta velocità ADSL. La velocità varia da 640
la diffusione kbps sino a 20-30 Mbps in base all’operatore telefonico, al contratto stabilito con
di Internet, esso e alla rete utilizzata. Esistono anche modem VOIP che consentono di avere
consentendo
l’accesso alla Rete una seconda linea telefonica su rete Internet (detta appunto VOIP).
attraverso la linea I modem GPRS/EDGE/UMTS/HSDPA sono integrati nei telefonini di ultima ge-
telefonica base, nerazione o anche presenti come PC card o modem USB. Consentono di accedere
che viene occupata
costantemente a dal telefonino a Internet a velocità variabili. Approfondiremo queste ed altre tec-
bassa velocità di nologie nella prossima Unità.
connessione.
– modem ISDN: sono
utilizzabili solo se
in possesso della
linea telefonica
7 La banda larga
ISDN. Hanno le Negli ultimi anni la rete digitale per eccellenza è quella basata su tecnologia ADSL
medesime funzioni (Asymmetric Digital Subscriber Line). Tale tecnologia permette di velocizzare la
di quelli analogici, trasmissione dei messaggi in rete utilizzando la normale rete telefonica (RTG),
con la differenza che
sono più veloci e sfruttandone fino al limite le caratteristiche di banda; si parla di banda larga o
sfruttano una linea broadband. L’ADSL ha permesso l’ingresso nelle nostre case di Internet ad alta
dati digitale. velocità, con la possibilità
di fruire di audio e video in
tempo reale. L’utente, oltre
al vantaggio dell’accesso
veloce a Internet, ha una
connessione sempre attiva
(always-on) contempora-
neamente alla disponibili-
tà della tradizionale linea
telefonica. Il segnale è co-
dificato in digitale anche
nel tratto della linea che
arriva all’utente (subscri-

108 Sezione B Internet e cloud computing


ber line); le velocità di invio dati (upstream) e di ricezione (downstream) sono GLOSSARIO
differenti, da qui la caratteristica di asimmetria di questa tecnologia. Si preferi- banda
sce avere una velocità in uscita più bassa a vantaggio di una velocità in ingresso Il termine banda
più alta, tenendo conto che, per le utenze private, generalmente si chiede molta indica la capacità di
trasferimento dati di
più informazione in ingresso che in uscita. Attualmente si raggiungono velocità un canale.
dell’ordine di 20 Mbps in downstream e la distanza massima che si riesce a copri- Per ampiezza di
re è di circa 3-4 km. banda generalmente
intendiamo quante
Nel campo della banda larga è entrata di prepotenza la fibra ottica, che grazie informazioni possono
alle sue particolari caratteristiche è in grado di ottenere performance in termini essere trasmesse
di capacità di trasmissione di dati digitali nettamente superiori alle tecnologie attraverso una
connessione in una
precedenti. unità di tempo.
In tema di banda larga, pertanto, è di notevole importanza la distanza fra l’utente Si tratta quindi
e il cabinet, che, come puoi notare nel grafico, ha una notevole incidenza per la della velocità
di trasmissione
tecnologia ADSL e bassa per la fibra ottica. dell’informazione.
Una connessione Internet in fibra ottica Fibra ottica Nel caso delle
non subisce degradazione apprezzabile Doppino in rame comunicazioni digitali
(come nel web) la
del segnale sulle distanze coperte da banda viene misurata
questo tipo di collegamenti (solitamen- < 250 m in bit al secondo
te pochi km), ma è in grado di sfruttare FTTS e nei suoi multipli
una frequenza di banda molto più ele- Kbit/s e Mbit/s.
Cabinet
vata rispetto alle soluzioni ADSL, con- Centrale

sentendo di raggiungere velocità di tra-


smissione elevatissime, anche di 1 Gbps. Lo sai?
Le soluzioni di connettività più veloci FTTH
attualmente in commercio che riguar- Cabinet
dano la fibra ottica sono: Centrale Una connessione a
rete fissa è costituita,
• FTTS – Fiber to the Street, definisce i collegamenti nei quali la fibra ottica par- per definizione, da
un cavo, in genere
te dalla centrale e arriva fino al cabinet, lasciando al cavo in rame solo la co- interrato, che
pertura dell’ultimo tratto, solitamente di lunghezza inferiore ai 250 metri, per collega l’abitazione
raggiungere l’abitazione dell’utente finale; dell’utente finale alla
• FTTH – Fiber to the Home, in questa soluzione la fibra ottica copre entrambe le cosiddetta “centralina
di prossimità”, detta
tratte, partendo dalla centrale e arrivando fino all’interno della casa dell’utente. anche cabinet, la
quale, a sua volta,
È facile intuire che quanto meno cavo in rame si utilizza in una linea di connessio- è collegata alla
ne di rete fissa, tanto più performante sarà la linea stessa. cosiddetta “centrale”.

8 Le topologie di rete Lo sai?


Abbiamo visto in precedenza una prima distinzione di reti basata sull’aspetto
puramente geografico; vediamo ora una seconda distinzione basata sul tipo di Quando i destinatari
collegamento fisico e logico fra i vari host. di un messaggio sono
tutti i nodi, si parla di
trasmissione di tipo
La topologia di una rete definisce il modo in cui sono collegati i nodi della sot- broadcasting.
torete di comunicazione. Quando i destinatari
sono alcuni nodi
Ogni topologia possiede caratteristiche che influenzano il costo e il through- (non solo uno) si
put, cioè la quantità di informazione scambiata nell’unità di tempo. parla di trasmissione
multicasting.

Reti di comunicazione e trasmissione dei dati B1 109


La topologia è fisica quando definisce il modo in cui i componenti hardware sono
collegati fisicamente; è logica quando definisce il percorso dei messaggi attraver-
so i componenti hardware. La topologia fisica può essere diversa dalla topologia
logica. Analizziamo in breve alcune delle principali topologie.
• Topologia a bus: tutti i nodi sono connessi a un unico mezzo fisico comune
(il bus) che viene condiviso. Le estremità del mezzo fisico non sono tra di loro
collegate e devono avere dei terminatori che impediscano al segnale di gene-
rare echi non desiderati. La trasmissione è di tipo broadcast: i messaggi ven-
gono inviati a tutti i nodi, ma solo quello che riconosce di essere il destinatario
li memorizza sul proprio hard disk; solo un nodo alla volta può trasmettere
sul canale. Per evitare collisioni, ovvero sovrapposizioni di segnali da parte di
più nodi che vogliono trasmettere contemporaneamente, si adottano tecniche
dette di prenotazione del canale.
• Topologia a stella: tutti i nodi hanno un collegamento con un nodo centrale
detto centro stella che può essere un ripetitore di segnale (hub) o un dispositivo
intelligente (switch o router). Tra i nodi periferici vi è, quindi, un collegamento
di tipo logico. Un messaggio inviato dal mittente è ricevuto da tutti i nodi, ma
solo il destinatario lo memorizzerà sul suo hard disk. Il tipo di trasmissione è di
tipo broadcast, quindi la topologia logica è di tipo a bus, mentre quella fisica è
di tipo a stella. Se uno o più collegamenti fisici vengono interrotti, il resto della
rete continua a funzionare. Se si guasta il nodo centrale, tutta la rete rimane
bloccata. Si possono facilmente aggiungere nuovi nodi fino al numero massimo
previsto dal nodo centrale. È la topologia più utilizzata per piccole reti locali.
• Topologia ad anello: ogni nodo è connesso al successivo con un collega-
mento di tipo punto a punto. L’ultimo nodo è connesso al primo in modo da
formare un anello unidirezionale. Ogni messaggio da trasferire deve percor-
rere l’anello fino al destinatario: se consideriamo il messaggio di risposta per
la conferma, ogni scambio di informazioni coinvolge tutti i nodi della rete
che devono cooperare anche se non direttamente interessati al messaggio.
• Topologia a maglia completa: ogni nodo è collegato a ognuno degli altri
nodi. L’invio di un messaggio, così, avviene in modo diretto senza pericoli di
collisioni o interferenze e senza tempi di attesa. Gli svantaggi sono la comples-
sità della manutenzione e i costi di installazione e di gestione della rete.

9 Creare una semplice LAN


Il primo passo per la realizzazione di una rete cablata consiste nel decidere quale
tecnologia impiegare; la più nota e diffusa è lo standard Ethernet, che utilizza un
sistema di collegamento su cavi in rame. Esistono diverse tecnologie Ethernet che
si distinguono, principalmente, per la velocità di trasmissione dei dati:
• la tecnologia 10 Base T raggiunge i 10 Mbps;
• la tecnologia Fast Ethernet raggiunge i 100 Mbps;
• la tecnologia Gigabit raggiunge i 1000 Mbps.
Per piccole reti domestiche la differenza di costo fra le tre differenti tecnologie è
talmente esigua che si propende, generalmente, all’acquisto di dispositivi Gigabit.
Ogni computer che occorre collegare deve essere dotato di una scheda di rete,

110 Sezione B Internet e cloud computing


la quale dovrà essere riconosciuta dal sistema operativo in uso su quel computer.
Occorre, pertanto, avere a disposizione i driver della scheda di rete per quel parti-
colare sistema operativo. Occorre poi procurarsi un hub o uno switch.

Un hub (termine inglese che significa fulcro, mozzo, elemento centrale) è un


concentratore, ovvero un dispositivo di rete che funge da nodo di smistamen-
to in una rete a stella. È dotato di un numero variabile di porte alle quali con-
nettere i cavi di rete e inoltra i dati in arrivo da una qualsiasi delle sue porte su
tutte le altre.

Uno switch (termine inglese che significa commutatore, interruttore) è un hub


intelligente: dai pacchetti che riceve impara a riconoscere i dispositivi che sono
collegati alle proprie porte, per poi inviare i pacchetti solamente alle porte in-
teressate e non a tutte quante indistintamente (come fa invece l’hub). Così fa-
cendo riduce il traffico in rete a vantaggio delle prestazioni. Si comporta come
un centralino che smista le chiamate tra mittente e destinatario.
Ricorda
Gli hub ormai sono in disuso, sostituti quasi completamente dagli switch.
Switch e scheda di rete rappresentano gli apparati attivi necessari per consentire Con attivi si
intendono tutti gli
la comunicazione fra gli host della rete ma che non bastano alla realizzazione del- apparati di rete
la rete in quanto abbiamo ancora bisogno dei dispositivi passivi. Fra questi ultimi che applicano una
non possiamo sicuramente fare a meno del cavo in rame e dei connettori rj-45. manipolazione
I connettori rj-45 devono essere fissati alle estremità del cavo grazie a una parti- hardware/software al
percorso dei dati in
colare pinza (visibile nella figura) chiamata crimpatrice. L’utilizzo di tale pinza base alle politiche di
può risultare ostico ai non addetti ai lavori, pertanto si può sempre optare per gestione stabilite. Con
l’acquisto di cavi già pronti. passivo si intende,
invece, tutto ciò che
non è attivo.

Il seguente schema illustra la nostra LAN; per consentire la connessione di tutti i


computer a Internet è necessario inserire un ulteriore cavo tra lo switch e il rou-
ter/modem, il quale rappresenta un dispositivo attivo che consente di collegarci
alla rete del nostro gestore Internet.

Presa
ADSL

Router
Internet
Switch

Reti di comunicazione e trasmissione dei dati B1 111


RIPASSIAMO INSIEME
MAPPA
RETI DI COMUNICAZIONE MODIFICABILE

Quali sono gli elementi Quali sono i tipi di rete?


della comunicazione?
PAN, LAN, CAN, MAN, WAN.
I soggetti, il mezzo trasmissivo,
il linguaggio e le regole.

Un segnale analogico I mezzi trasmissivi Le topologie di rete


è continuo nel tempo. di rete sono: sono:
Un segnale digitale è – cavi in rame – a stella
discreto, ovvero può (UTP, STP, FTP); – ad anello
assumere soltanto – fibra ottica; – a bus
un numero finito di – wireless (senza – a maglia
valori. cavi).

Quali tipi di modem Con quale tecnologia viene


conosci? gestita la banda larga?

– Modem analogico ADSL (Asymmetric Digital


– Modem ISDN Subscriber Line)
– Modem ADSL
– Modem GPRS/EDGE/
UMTS/HSDPA

Quali sono i sistemi in uso per


la fibra, il mezzo trasmissivo
attualmente più veloce?

FTTS – Fiber To The Street


FTTH – Fiber To The Home

112 Sezione B Internet e cloud computing


B1
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) La terminologia “a stella” contraddistingue


una tipologia di mezzo trasmissivo (H) ......................... ☐ V ☐ F

2) Una corretta comunicazione ha bisogno di regole


ben precise (A) ........................................................................ ☐ V ☐ F

3) Un segnale analogico può essere trasformato


in un segnale digitale considerando un numero
finito di valori (C) ................................................................ ☐ V ☐ F

4) Una rete wireless non ha bisogno di cavi


per collegare i vari dispositivi (E) ................................ ☐ V ☐ F

5) Quando si parla di banda larga ci si riferisce


in particolare alla tecnologia ADSL (F) ...................... ☐ V ☐ F

Completa le affermazioni seguenti.

6) Il mezzo trasmissivo rappresenta l’elemento fisico


della …………………………….. (A)

7) La sigla WAN contraddistingue un tipo di ……………....…. (B)

8) FTTS significa Fiber To The ........................ (G)

9) Il segnale digitale viene realizzato prendendo alcuni valori


dal segnale …………………… (C)

10) Il modem ADSL gestisce connessioni in banda .................. (D, F)

11) Nella rete a …………………. esiste un nodo centrale che


accentra il segnale (H)

12) La ……………………… rappresenta il mezzo trasmissivo più veloce


disponibile al momento (G)

Reti di comunicazione e trasmissione dei dati B1 113


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo B1
Risposta multipla 8 Le reti con tecnologia broadcast sono
caratterizzate:
1 Una rete metropolitana è:
A dalla possibilità di inviare messaggi a un solo
A una via di mezzo tra una LAN e una WAN nodo
B una nuova topologia di rete B da una comunicazione verso tutti i nodi
C una piccola LAN C dall’assenza di errori
D una WAN ancora più estesa D nessuna delle precedenti

2 Una rete WAN è: Vero o falso


A più estesa di una MAN
B formata da due o più reti LAN 9 Il termine host indica qualsiasi nodo
sulla rete V F
C la rete Internet
D una rete locale 10 La LAN è una rete che si estende
su una città V F
3 Internet è:
11 Una rete MAN copre soltanto
A una rete LAN un edificio V F
B una rete di reti
C una rete WAN 12 Una rete CAN è composta
da più reti LAN V F
D un insieme di reti metropolitane
13 Una rete WAN è composta
4 Un segnale digitale: da più reti MAN V F
A è composto solo da 0 e 1
14 La sigla FTP indica un tipo
B può essere un segnale binario di fibra ottica V F
C varia in modo continuo nel tempo
D rappresenta sempre una tensione 15 Il cladding ricopre il core all’interno
della fibra ottica V F
5 Un segnale analogico: 16 Le reti LAN possono essere
A può essere anche digitale anche wireless V F
B varia in modo continuo nel tempo
17 Il termine wired indica l’assenza di fili V F
C è sempre digitale
D non è mai un segnale elettrico 18 L’access point è un dispositivo
per il collegamento in wireless V F
6 Quale delle seguenti sigle non è relativa a un
cavo di rete? 19 La topologia a bus prevede la presenza
di un nodo centrale V F
A FTP B ADT
C UTP D STP 20 Nella tipologia a bus tutti i nodi
si collegano a un’unica linea fisica V F
7 Il core è:
21 In una rete a stella il malfunzionamento del
A un rivestimento centro stella compromette tutta la rete V F
B un materiale attraverso cui passa la luce
C un isolante 22 Nella topologia ad anello sono presenti
collegamenti multi punto V F
D una rete
23 La topologia a maglia permette percorsi
alternativi V F

114 Sezione B Internet e cloud computing


Associazioni Completamento
24 Associa la sigla più appropriata alle seguenti 27 Completa la seguenti frasi.
immagini di cavi di rete (UTP, FTP, STP): a) Il ____________ di comunicazione indica le regole
necessarie per comunicare all’interno di una
_____________.
b) Il ____________ trasmissivo identifica il canale
fisico su cui avviene la __________________.
c) Un campus universitario intende realizzare una
rete ____________ che copre i diversi edifici,
in ognuno dei quali è localizzata una rete
_______________.
25 Associa le seguenti affermazioni alle
corrispondenti topologie di rete:
Completamento guidato
Topologia di rete
28 Inserisci opportunamente le parole mancanti.
Gli host sono collegati tra di a) Le moderne organizzazioni sono spesso
loro attraverso una struttura caratterizzate da una distribuzione di
multi punto ______________su un territorio molto vasto
(basti pensare alle grandi organizzazioni
Un unico mezzo fisico viene
nazionali o addirittura mondiali); i __________
messo in comune per la
ubicati in un determinato luogo devono poter
comunicazione tre i nodi
scambiare _____________ e programmi con
Ogni nodo è collegato quelli che si trovano in luoghi diversi; usando,
esclusivamente col successivo a questo scopo, una rete informatica, si ha un
aggiornamento quotidiano e costante dell’insieme
Tutte le comunicazioni delle _____________ aziendali.
attraversano un nodo
accentratore (uffici – informazioni – computer – dati)
b) Gli elaboratori sono collegati tra loro in maniera
sequenziale in un ___________chiuso fino a
26 Associa alle velocità indicate il nome appropriato formare un_______________. Le conseguenze
della tecnologia a banda larga (ADSL, ADSL2, sono che per poter raggiungere un determinato
ADSL2+, FTTH): ___________(elaboratore collegato alla rete), la
comunicazione deve attraversare tutti gli altri
Nome comune della Velocità Velocità nodi intermedi tra l’elaboratore emittente e
tecnologia a banda massima in massima l’elaboratore________________.
larga downstream in upstream
(anello – Percorso – destinatario – nodo)
12 Mbit/s 3,5 Mbit/s c) È una rete a _______________ alla quale vengono
8 Mbit/s 1 Mbit/s aggiunti i ___________ di ciascun elaboratore con
tutti gli altri elaboratori. Il risultato è che non c’è
1 Bbit/s 100 Mbit/s una_________________, ma ciascun elaboratore è
collegato con tutti gli altri elaboratori. Questo tipo
24 Mbit/s 1 Mbit/s di rete si definisce rete a ________________.
(maglia completa – anello – sequenza)

Reti di comunicazione e trasmissione dei dati B1 115


B2 Navigare in Internet

IMPARERAI…

Che cos’è la Che cos’è Internet, Come si naviga Quali sono Quali sono e come
“rivoluzione digitale” come funziona in Internet le funzioni della si usano i principali
e che cosa serve posta elettronica servizi di Internet
per connettersi

Lo sai?
1 Le origini di Internet
Come spesso accade, la ricerca e la messa a punto di nuove tecnologie sono lega-
te a ragioni “militari” e Internet non sfugge a tale regola. Per ritrovare le origini
Dal termine
internetworking deriva della “Rete delle reti” (così viene spesso definita Internet), occorre risalire alla fine
il nome Internet degli anni Sessanta e precisamente al mese di luglio del 1968 quando, in piena
(che comparve per guerra fredda, il Dipartimento della Difesa degli Stati Uniti espresse l’esigenza di
la prima volta in un
documento del 1974)
disporre di una rete di interconnessione robusta, flessibile ed eterogenea. Questa
e già nel 1974 furono avrebbe dovuto garantire in ogni circostanza la comunicazione tra i militari e gli
definiti due importanti scienziati a servizio del governo, in modo tale che calamità naturali, attacchi nu-
protocolli: IP (Internet
Protocol) e TCP
cleari e terroristici non avrebbero potuto isolare alcuna stazione di lavoro.
(Transmission Control
Protocol) a opera di
Vincent Cerf e Robert
Dall’ARPA ad ARPANet, fino a Internet
Kahn. Così, l’agenzia ARPA (Advanced Research Project Agency) dello stesso dipartimen-
to, per soddisfare queste esigenze, mise a punto un progetto denominato ARPA-
Net (con il coordinamento di Bob Taylor e Larry Roberts). L’idea di base era quella
di prevedere diverse “strade” di comunicazione tra i vari computer, in modo che,
se una di queste fosse stata interrotta per qualche motivo, i dati trasmessi avreb-
bero potuto seguire un altro percorso per giungere comunque a destinazione.
Collegare i computer utilizzando il sistema telefonico non era una novità per l’e-
Vincent Cerf poca, ma l’agenzia ARPA volle sperimentare la possibilità di connettere computer
anche molto distanti tra loro adottando regole, i cosiddetti protocolli, per la tra-
smissione di dati tra reti di tipo diverso, cioè per l’internetworking.
A partire dal 1990, ARPANet fu sostituita completamente da quella che oggi è In-
ternet, un sistema che permette a diverse reti di computer di collegarsi fa loro, in
modo che chi è collegato a una delle reti può comunicare con chiunque sia colle-
gato a una qualsiasi delle altre. La libertà e la semplicità di allacciamento hanno
permesso la crescita esponenziale di Internet.
Robert Kahn

116 Sezione B Internet e cloud computing


I nodi e le connessioni di ARPA nel 1974.
Lo sai?

A Tim Berners Lee


e Robert Cailliau
si deve la definizione
del Web.

2 Il WWW e la navigazione ipermediale Tim Berners Lee


Ogni utente collegato alla Rete aveva migliaia di informazioni a disposizione e
nacque poi l’esigenza di accedere non solo a dati di tipo testuale, ma anche a im-
magini, suoni e filmati, cioè a informazioni di tipo multimediale. Fu così che in
soli tre anni si verificò uno sviluppo tale da cambiare radicalmente il modo di
intendere le telecomunicazioni.
Il principale di questi cambiamenti fu la definizione, a opera di Tim Berners Lee Robert Cailliau
e Robert Cailliau, a partire dal 1991, di una particolare architettura denominata
WWW: World Wide Web, “ragnatela dalle dimensioni mondiali”, presso il CERN
(Centro Europeo per la Ricerca Nucleare) di Ginevra, che intanto era diventato il più
grande sito Internet (luogo dove si possono trovare le informazioni) in Europa.

Il termine Web è stato scelto proprio per indicare la caratteristica di collegare,


secondo la tecnica dell’ipertesto o ipermedia, tante informazioni multimediali GLOSSARIO
e di continuare ad accrescersi con la creazione di nuovi legami e nuovi siti. World Wide Web
Consortium (W3C)
È un’organizzazione
Questa architettura, accettata pienamente nel 1994, permetteva di visionare do- non governativa
cumenti multimediali sui computer collegati in Rete, spostandosi o meglio na- internazionale che ha
vigando da un documento all’altro seguendo il filo logico del proprio interesse e lo scopo di sviluppare
tutte le potenzialità del
della propria curiosità. World Wide Web.
La principale attività
Questo modo di navigare è detto ipermediale: alcune parole o immagini in svolta dal W3C
consiste nello stabilire
un documento attivano legami (link o hyperlink) con altri documenti e, se lo si standard tecnici per
desidera, si possono esplorare nuovi percorsi seguendo tali legami. il World Wide Web
inerenti sia i principali
linguaggi per il Web,

3 I browser sia i protocolli di


comunicazione.
Il W3C è stato fondato
Per facilitare la navigazione tra i documenti del Web fu creato un tipo di software, nell’ottobre del 1994
detto browser (letteralmente “sfogliatore”), che offriva strumenti per sfogliare il al MIT (Massachusetts
“libro multimediale” costituito da tutte le pagine collegate tra loro. Il primo pro- Institute of Technology)
da Tim Berners-Lee,
gramma di questo tipo fu realizzato nel 1993 presso il centro nazionale statuni- in collaborazione con il
tense per il supercalcolo NCSA (National Center for Supercomputing Application) e CERN di Ginevra.
si chiamava Mosaic.

Navigare in Internet B2 117


Poco dopo nacque Internet Explorer, l’altro famoso browser di Microsoft. Nel 2008
Lo sai? anche Google entrò nell’arena dei browser con il suo Chrome, che a maggio 2016
ha superato Internet Explorer (fonte: NetApplications); insieme, i due browser de-
tengono oltre l’80% del mercato mondiale, lasciando circa il 20% a Firefox, Safari,
Uno degli inventori Opera e altri.
del browser è Marc
Anderssen, allora
ventiquattrenne, che
avrebbe fondato poco
dopo, insieme a Jim
4 Gli indirizzi IP
Clark, la Netscape
Corporation, la casa Per poter utilizzare Internet devi avere un computer collegato. Ogni computer
costruttrice del famoso (detto host) è identificato univocamente (cioè senza duplicati) da un indiriz-
browser Netscape zo elettronico (detto IP Address).
Navigator.

L’indirizzo IP rispetta lo standard IPv4 (anche se ormai si parla dello standard


IPv6) e indica il computer (host) e la rete (net) con cui è collegato. Ogni utente
Internet può dunque collegarsi con qualsiasi persona od organizzazione che abbia
un indirizzo su una delle tante reti connesse; e così facendo può svolgere una delle
Rossi Carlo, tante attività consentite dalla tecnologia e dai servizi disponibili. L’indirizzo non
Via Po 23, Milano è altro che una sequenza di quattro numeri decimali, ognuno dei quali composto
217.121.104.11 al massimo da tre cifre, così disposti: xxx.xxx.xxx.xxx.
Ogni numero è rappresentato su un byte, per cui può essere compreso tra 0 e 255
(poiché 1 byte = 8 bit, consente di rappresentare 28 valori diversi). In questo modo
Lo sai? si può rappresentare un’enorme quantità di numeri (e quindi di indirizzi) diversi.
Un esempio di indirizzo Internet è: 217.121.104.11.
Se internet simboleggia un’autostrada virtuale, l’indirizzo IP rappresenta la targa
Per far fronte della quale abbiamo bisogno per entrare in questa autostrada; pertanto durante
all’enorme richiesta
di nuovi indirizzi, la navigazione saremo sempre rintracciabili attraverso questo identificativo uni-
per rendere più voco su Internet. 31.13.86.36
efficiente ed efficace L’indirizzo IP contraddistingue
l’identificazione di un
host e per aumentare qualsiasi utente su internet, non
la sicurezza, è stato solo chi naviga ma anche chi
definito un nuovo viene visitato: siti, blog, negozi,
standard denominato
IPv6. Esso prevede
social network, ecc.
l’utilizzo di 16 byte Prova ad aprire il browser e a di-
suddivisi in 8 gruppi gitare l’indirizzo IP 31.13.86.36
di 4 cifre esadecimali
ciascuno, separati dal
nella barra degli indirizzi: come
carattere ‘:’(due punti). puoi vedere in figura, il browser
si è collegato alla pagina di fa-
cebook e ne mostra l’indirizzo,
www.facebook.com.
Ricordare gli indirizzi numerici delle pagine da raggiungere sarebbe per noi mol-
to complicato ed estremamente difficile, ma ci viene incontro un meccanismo
denominato DNS (Domain Name System) Indirizzo IP Indirizzo mnemonico
che associa ogni indirizzo numerico IP a un 216.58.198.35 www.google.it
indirizzo mnemonico molto più semplice da 37.9.239.32 www.libero.it
ricordare. A titolo di esempio riportiamo al-
89.97.132.192 www.istruzione.it
cuni indirizzi nella tabella qui a lato.
199.33.225.199 www.whitehouse.net

118 Sezione B Internet e cloud computing


5 La connessione a Internet
Per entrare a far parte della grande Rete, puoi scegliere tra diverse soluzioni a
seconda di quali tipi di servizi intendi richiedere, della velocità che desideri e dai
costi che intendi sostenere. Molti possono accedere a Internet se sono già collegati
a una rete aziendale che a sua volta è connessa a Internet. Chi vuole connettersi
individualmente alla Rete, oltre a possedere un computer, deve effettuare alcune
scelte. In particolare deve:
• sottoscrivere un abbonamento con un fornitore di connessione a Internet
(provider);
• dotarsi di un dispositivo modem o router (solitamente fornito dal provider);
• disporre di software per il collegamento a Internet (browser).

6 I provider
Un’altra scelta da effettuare riguarda il provider.

Un Internet Service Provider (ISP) o network provider, o semplicemente


provider, è un’azienda che offre un servizio di connessione a Internet, con la Ricorda
quale devi sottoscrivere un abbonamento che abbia la durata e le caratteristi-
che desiderate.
Il canale di
Provider
Utente
comunicazione
indicato in figura può
Modem/ avere natura differente
Canale di Router a seconda del ISP.
comunicazione Alcuni ISP forniscono
connessioni
utilizzando il cavo in
rame, altri la fibra
ottica e altri ancora la
tecnologia senza fili.

Con l’esplosione di Internet all’inizio del 2000, molti ISP sono stati ristrutturati e
acquisiti da altri più grandi. Per questo motivo, molti operatori di telecomunica-
zioni sono anche ISP e forniscono vari servizi, tra cui l’accesso a Internet.

7 Internet mobile
I dispositivi mobili, ovvero tutti quei dispositivi che fanno uso di tecnologia wire-
less (senza fili) quali notebook, tablet, palmari e smartphone, hanno modificato e
soprattutto semplificato le modalità di connessione a Internet.
Tutti questi dispositivi hanno la necessità di agganciarsi a una rete wireless per
riuscire a navigare su Internet. Gli smartphone, inoltre, avendo una scheda sim
al loro interno, possono usufruire anche di una connessione dati garantita dal
gestore di telefonia.
Ma andiamo con ordine, cercando di fare chiarezza sulle tecnologie esistenti.
La diffusione degli smartphone ha contribuito a un’enorme espansione del col-
legamento a Internet anche attraverso questi dispositivi. Per quanto concerne le

Navigare in Internet B2 119


connessioni a Internet dei dispositivi mobili, negli anni si sono avvicendate molte
tecnologie, con le loro sigle che rappresentano le varie generazioni di connessio-
ni e anche di smartphone in grado di supportarle. Si parla quindi di 2G, 3G e 4G
per distinguere la seconda, terza e quarta generazione legata alla velocità di tra-
smissione dati; la prima generazione (1G) è scarsamente apprezzabile per quanto
concerne la trasmissione dati.
La seguente tabella riassume le varie generazioni con le principali tecnologie uti-
lizzate e le differenti velocità di comunicazione:
Generazione Tecnologie Periodo Velocità in
download
2G GSM (Global System for Mobile Communications) 1991-2006 15 Kbps
2.5G GPRS (General Packet Radio Service) 50 Kbps
2.75G EDGE (Enhanced Data rates for GSM Evolution) o EGPRS (Enhanced GPRS) 200 Kbps
3G UMTS (sigla dell’inglese Universal Mobile Telecommunications System) dal 2005 384 kbps
3.5G HSPA (High Speed Packet Access ) 14 Mbps
HSPA+ (HSPA Evolution) 50 Mbps
4G LTE (Long Term Evolution) dal 2009 300 Mbps
LTE+ (LTE Advanced) dal 2011 3 Gbps

Per notebook e tablet sprovvisti di SIM, la situazione


è differente: in questo caso deve esistere già una con-
Internet
Modem ADSL nessione Internet accessibile attraverso una WLAN
WLAN
Desktop (Wireless Local Area Network).
Videocamera La connessione a Internet è garantita attraverso il
IP Desktop
solito modem/router, collegato ad apparati attivi
Lettore multimedia
wireless (access point) che consentono di realizzare la WLAN.
Concludiamo la trattazione relativa alle connessioni
Notebook
Entertainment
wireless con la tecnologia WI-MAX: il segnale non
Smartphone
system
Tablet Desktop arriva nelle case attraverso il cavo o la fibra, ma vie-
ne irradiato attraverso potenti antenne (WIFI base
station) in grado di coprire aree di alcune decine di chilometri. Anche in questo
caso il rapporto con ISP è regolato da un contratto di abbonamento e l’ISP deve
aver cura di garantire una copertura verso l’utente finale.

WiMAX
Rete
WiMAX

Rete WiFi/LAN

Accesso mobile

120 Sezione B Internet e cloud computing


8 Architettura client-server Client
Internet rappresenta la struttura fisica che intercon-
nette migliaia di computer e di reti in tutto il mondo.
Su tale struttura viaggiano tanti servizi e applicazio- Internet
ni, la maggior parte delle quali utilizzano l’architet-
tura client-server. In tale architettura le applicazioni
vengono sviluppate in modo che una loro parte, detta Client
Server
parte server, risieda su un computer collegato in Rete
e svolga determinati compiti richiesti dall’altra parte,
detta parte client. La parte server può svolgere più
compiti e può soddisfare più richieste delle parti client. Client

L’applicazione server svolge un ruolo simile a quello dell’impiegato di un ufficio


che soddisfa le richieste di ogni cliente.

9 Il Web: protocolli e linguaggi


Intorno a Internet ruotano numerosi protocolli e linguaggi di comunicazione. Lo sai?
Quando si parla di WWW, non si può prescindere da due sigle: HTTP e HTML.
Quando si naviga su
Internet attraverso
Per la trasmissione di pagine web è stato definito il protocollo HTTP (Hypertext un browser, le pagine
Transfer Protocol), che permette la trasmissione rapida delle risorse attraverso web, ma anche i file
la Rete ed è utilizzato all’interno dei browser. Per la trasmissione di dati sensi- e le immagini visitate
bili si utilizza il protocollo HTTPS. dagli utenti, sono
registrati in una zona
dell’hard disk detta
Il client effettua una richiesta attraverso il browser utilizzando il protocollo HTTP memoria cache, che
nella barra degli indirizzi del browser. La richiesta è rivolta a una specifica pagina consente di velocizzare
la visualizzazione
web, espressa sotto forma di URL. delle pagine visitate
Per ogni risorsa su Internet è necessario specificare il suo URL (Uniform Resource più frequentemente o
Locator). L’URL di una risorsa è un modo per individuarla unicamente all’interno appena visitate, poiché
tali pagine potranno
di Internet, con il seguente formato: essere aperte da
questa memoria e non
Protocollo://NomeLogico.Dominio/Percorso/NomeFile dal Web.
• Protocollo specifica il protocollo da utilizzare per accedere a quella risorsa,
solitamente http o https.
• NomeLogico è il nome logico assegnato al computer server su cui risiede la
risorsa interessata. È il nome simbolico presente nel DNS.
• Dominio è la sigla che contraddistingue la nazione (it, de, uk, us, ...) o la tipo-
logia del sito (com, info, gov, net, ...).
• Percorso specifica la cartella sul computer server per raggiungere la risorsa.
• NomeFile è il nome del file (risorsa) completo di estensione. Può essere omes-
so se si è interessati a visualizzare il contenuto di una directory.
Esempi di URL sono:
• http://www.mondadorieducation.it
• http://www.mondadorieducation.it/scuolaeazienda

Navigare in Internet B2 121


Puoi digitare un URL all’interno della barra degli indirizzi di un qualsiasi browser
Lo sai? e vedere la stessa pagina web in ogni parte del mondo.
Il Web, quindi, è un grande spazio comunicativo in continua evoluzione, dinami-
co, che racchiude in sé un po’ di radio, di televisione, di giornali, di libri e così via.
HTML è uno standard. Le pagine web sono file realizzati attraverso il linguaggio HTML (HyperText Mar-
Dal 1991, quando Tim
Berners Lee ha definito kup Language). A onor del vero HTML rappresenta il linguaggio con cui le pagine
la prima versione del vengono visualizzate sul browser del client, ma la cui creazione oggi può richie-
linguaggio, fino ai dere l’unione di differenti linguaggi (html, php, javascript, css, ...) sul lato server.
giorni nostri, HTML ha
continuato a evolversi
fino a maturare nello
standard HTML 5, la
versione che nasce
10 Home page e link
appositamente per
uscire dall’ambito Collegandoti a un sito di cui conosci l’indirizzo, giungi alla sua home page, una
del Web e diventare specie di indice generale di che cosa si può trovare su quel sito.
piattaforma per
la creazione di
applicazioni, anche Nella pagina, spesso strutturata come quella di una rivista, compaiono oggetti di
desktop e mobile. diverso tipo: testo, disegni, immagini e così via. Puoi leggere la pagina, o meglio
sfogliarla normalmente dall’alto verso il basso, ma passando con il mouse su alcuni
oggetti ti accorgerai che il cursore si trasforma in una manina bianca. Questo signi-
fica che l’oggetto incorpora un collegamento, detto link, allo stesso sito o ad altri.
Spesso i link o le hot-word (“parole calde”) sono evidenziati con un colore diverso
Lo sai? e appaiono sottolineati. Procedendo da legame a legame c’è il rischio di non ri-
cordare più dove sei passato, per cui i link, per aiutarti a riconoscere le pagine già
visitate, cambiano colore. Le pagine web non sono altro che file memorizzati su
Due studenti innumerevoli computer sparsi nel mondo, in cui particolari server si occupano di
dell’Università di
Stanford, David Filo gestire la comunicazione con i client. Se ti colleghi al sito del Louvre, richiedi una
e Jerry Yang, ebbero pagina web a un computer server di Parigi, che attraverso Internet invia la pagina
l’idea di costruire al tuo browser per la visualizzazione. A questo punto puoi fare clic sul link di un
una sorta di indice
generale del Web
altro museo che trovi nella pagina del Louvre e accedere alla home page di quel
e cominciarono a nuovo museo, e così via.
lavorarci nell’aprile
1994, definendo
uno dei più famosi
strumenti per 11 Eseguire ricerche nel WWW
l’indicizzazione: Yahoo!
Esso divenne un punto Nella miriade di informazioni disponibili in Internet risulta veramente difficile
di riferimento per tutto orientarsi e trovare quelle che interessano. Il rischio può essere quello di spazien-
il popolo di Internet tirsi o di accontentarsi di materiale che non soddisfa pienamente la ricerca.
e diede lo spunto per
la costruzione di altri
Oggi in Rete si possono trovare numerosi motori di ricerca. Il più famoso di tutti
sistemi, detti motori di è Google, facilissimo da usare, veloce e completo. La caratteristica di Google è
ricerca. quella di selezionare i risultati di ricerca valutando l’importanza di ogni pagina
web con metodi matematici, in base a un controllo di oltre 500 milioni di variabili
e di 2 miliardi di termini.
I motori di ricerca al giorno d’oggi utilizzano algoritmi estremamente avanzati,
tuttavia è sempre possibile raffinare la ricerca utilizzando alcuni metodi che per-
mettono per esempio di cercare frasi esatte, oppure di cercare in base alla data,
alla lingua o al tipo di media. Google mette a disposizione una pagina che per-
mette di facilitare le ricerche avanzate in base a molti criteri: è possibile anche
aggiungere parole nella casella di ricerca per filtrarle.

122 Sezione B Internet e cloud computing


Lo sai?

La tecnologia
PageRank non solo
controlla il contenuto
della pagina web,
ma verifica anche
altri eventuali siti che
hanno un link verso la
pagina: in base alla
quantità e al tipo di
link, la pagina riceve
una valutazione più o
meno alta.

• Frase esatta: immaginiamo di cercare i siti che parlano dei Promessi sposi di
Manzoni: la ricerca tramite la parola chiave sposi dà origine a oltre 9 milioni
di risultati, perché vengono conteggiati tutti i siti in cui vi è il termine cercato.
Se aggiungiamo alla ricerca il termine promessi, riduciamo i siti trovati (circa 1
milione), in quanto vengono elencate anche pagine web in cui i due termini non
sono consecutivi e che quindi non si riferiscono al nostro obiettivo. Se vogliamo
che vengano cercate solo le pagine che contengono i due termini consecutivi e
nello stesso ordine, possiamo inserirli nella casella “questa esatta parola o frase”,
il che equivale a racchiudere i termini fra virgolette “promessi sposi” all’interno
della ricerca normale. In questo modo vengono elencate solo le pagine che con-
tengono la frase esatta e i risultati sono molti meno (circa 400 mila).
• Una di queste parole: il sistema inserisce fra i termini l’operatore OR, il quale
indica di effettuare una ricerca sui siti che contengono almeno uno dei termi-
ni specificati. Nel nostro caso la ricerca di promessi OR sposi produrrà oltre 9
milioni di risultati.
• Nessuna di queste parole: il sistema antepone il segno meno (–) davanti ai
singoli termini per escluderli dalla ricerca effettuata.
Naturalmente le funzionalità dei vari campi possono essere combi-
nate tra di loro per raffinare ulteriormente la ricerca. Ad esempio,
supponiamo di voler cercare i siti legati alla fiera denominata “Pro-
messi sposi” e non il romanzo di Manzoni: puoi utilizzare la ricer-
ca avanzata così come indicato nella figura a lato, o inserire il testo
fiera “promessi sposi” -manzoni all’interno della casella di ricerca
semplice.
Google mette a disposizione un ulteriore blocco di raffinamento che
consente di limitare la ricerca in base alla lingua, all’area geografica,
alla tipologia del file (pdf, doc, ppt, ...), alla posizione in cui i termini
compaiono nel sito. Questa funzionalità è molto utile in quanto la
ricerca viene limitata a una delle voci indicate nella figura a pagina
seguente.

Navigare in Internet B2 123


Supponiamo di aver eseguito la pre-
cedente ricerca (fiera “promessi sposi”
-manzoni) e di aver portato la nostra
attenzione, dopo una lunga navigazio-
ne, su un sito specifico, del quale non
rammentiamo l’URL con precisione,
ma ricordiamo che tale URL contene-
va al suo interno i termini in questio-
ne. Indicare il punto della pagina in cui
effettuare la ricerca sarà molto utile e
soprattutto rapido: la nuova ricerca
(allinurl: fiera “promessi sposi” -man-
zoni) restituirà meno di 300 risultati.

12 La posta elettronica
Nota più semplicemente come email (electronic mail), è certamente uno dei ser-
vizi più diffusi di Internet e anche uno dei più facili da utilizzare.
Tramite questo servizio puoi “spedire corrispondenza” contenente le informa-
zioni desiderate a chiunque abbia una casella di posta elettronica (mailbox)
da qualche parte nel mondo e, naturalmente, ricevere posta nella tua casella.

Le informazioni che puoi spedire possono essere di qualsiasi tipo: testo, immagi-
ni, disegni, musica, programmi eseguibili e così via. Per gestire il traffico di posta
si usa un apposito software detto mailer. Tra i più comuni programmi di posta
elettronica troviamo Microsoft Outlook, Mozilla Thunderbird, Opera Mail, Air-
mail e altri. Il software provvede a verificare la correttezza delle informazioni
presenti nella posta in partenza e invia verso la Rete i messaggi da spedire al desti-
natario. La posta viene depositata nella casella del destinatario che, anche se non
è in casa (ovvero se non è collegato), la troverà al rientro (al nuovo collegamento).
Quando un utente spedisce un messaggio a un altro utente, il mailer verifica che
l’utente destinatario esista realmente e in caso di errore lo segnala al mittente
restituendo copia del messaggio originale inviato. Le caselle di posta elettronica
possono essere fornite dal provider al quale si è abbonati oppure possono essere
fornite (spesso in modo gratuito) da un qualsiasi sito web che effettui tale servizio.
In ogni caso, ciascuna casella è identificata da un indirizzo di posta elettronica
o email address che ha il seguente formato:
NomeUtente@host.dominio
Il NomeUtente è un nome logico scelto dall’utente, mentre host.dominio viene attri-
buito dal fornitore del servizio. Ad esempio:
paolaneri@mondadori.it
carlobianchi@gmail.it
Più utenti sullo stesso dominio hanno email address diversi (come se più persone
abitassero nello stesso condominio e quindi avessero lo stesso indirizzo, ma nomi
diversi). Il simbolo @ (chiocciola) significa “presso di” (at in inglese).

124 Sezione B Internet e cloud computing


Molti fornitori di caselle di posta mettono a disposizione, sul Web, anche tutti gli
strumenti per gestire tali caselle. Pertanto non vi è più la necessità di installare Lo sai?
un mailer sul proprio computer, dato che tutta la gestione avviene direttamente
all’interno del browser.
Normalmente qualsiasi programma di posta elettronica gestisce i messaggi attra- Con il termine
phishing (dall’inglese
verso alcune cartelle in cui questi vengono inseriti: fishing che significa
pescare, anche se
• la cartella Posta in arrivo contiene i messaggi ricevuti; si potrebbe dire
• la cartella Posta in uscita contiene i messaggi scritti in attesa di essere inviati; “abboccare”) si
• la cartella Posta inviata contiene i messaggi già inviati con successo; intende l’attività di
malintenzionati che
• la cartella della posta indesiderata (spam) contiene i messaggi considerati tali cercano di carpire
dal programma anche in base all’addestramento effettuato dall’utente; dati riservati di un
• la cartella Cestino contiene i messaggi cancellati, ma non ancora eliminati; utente inviando un
messaggio email con
• la cartella Bozze contiene i messaggi iniziati ma non ancora completati. mittente falsificato,
Queste cartelle sono previste generalmente in tutte le piattaforme di mail. facendo credere al
destinatario di essere
La creazione di un nuovo messaggio è molto semplice: solitamente basta fare clic stato contattato da
su un pulsante denominato Nuovo o Scrivi (il nome varia in base al programma). un’istituzione (banca,
Dopo aver creato un nuovo messaggio come appena descritto, è necessario com- sito di ecommerce,
pilarlo in tutte le sue parti: l’oggetto rappresenta il titolo mentre il corpo ne rap- provider) che richiede
loro di fornire dati.
presenta il contenuto. È essenziale inserire nell’apposito campo l’indirizzo del de-
stinatario o dei destinatari. Si può digitare direttamente l’indirizzo, oppure lo si
può inserire dalla rubrica. Si può indicare il destinatario in uno dei seguenti modi:
• A: indica che il destinatario è l’unico o il principale destinatario.
• CC: indica che il destinatario non è quello principale, ma riceve il messaggio in
Copia per Conoscenza. Viene usato per mettere al corrente tutti gli interessati,
per esempio in un gruppo di lavoro.
• CCN: indica che il destinatario riceve il messaggio in copia, ma senza che gli
altri destinatari ne siano al corrente. È una modalità da usarsi solo in casi mol-
to particolari oppure quando si invia un messaggio a molte persone che non si
conoscono tra di loro, e non si vuole ledere la loro privacy mettendo in chiaro
il loro indirizzo email.

13 Due chiacchiere in Rete: le chat


Lo sai?
Tramite Internet puoi chiacchierare con i tuoi amici.
La sigla CB
La chat line o Webchat è un servizio che ti permetterà di fare “due chiacchie- (dall’inglese citizens’
re”, contemporaneamente e in tempo reale con altri utenti collegati in Rete. band, in italiano
banda cittadina)
identifica una banda
Il funzionamento delle chat è assai simile a quello delle radio CB usate dai radio- di frequenze radio
amatori: esistono, infatti, canali su cui ci si inserisce per parlare con chiunque attorno ai 27 MHz,
sia sintonizzato. Tra le più famose chat ricordiamo IRC (Internet Relay Chat). Per destinata all’uso
privato collettivo
accedere alle chat devi assegnarti un nome reale o (meglio) convenzionale con (soprattutto per gli
il quale partecipi alla conversazione. Questo “nomignolo”, detto nickname, sarà autotrasportatori). La
anteposto a ogni messaggio che scriverai, così come per gli altri partecipanti alla portata degli apparati
discussione, in modo che si possano tenere le fila del discorso. Gli argomenti di di- è limitata a qualche
chilometro.
scussione possono essere tanti e di qualsiasi genere; oltre a inserirti in una conver-

Navigare in Internet B2 125


sazione già in atto, puoi cominciarne una tua scegliendo un argomento qualsiasi,
organizzare una “festa virtuale” o fissare un “tele-appuntamento” con i tuoi amici.

14 I feed RSS
Esiste un modo semplice e comodo per ricevere sul proprio computer le ultime no-
tizie (le news) pubblicate da un sito. Tali aggiornamenti possono essere ricevuti in
tempo reale, cioè appena vengono pubblicati, grazie al meccanismo dei feed RSS.

RSS, acronimo di Really Simple Syndication (“distribuzione veramente sempli-


ce”), è un formato che usa il linguaggio XML per notificare l’avvenuta pubblica-
zione di un nuovo contenuto sul Web. I gestori di siti Internet ricchi di contenuti,
che chiameremo distributori di contenuto, consentono agli utenti registrati
sul sito di scegliere un argomento del quale desiderano ricevere aggiornamenti
frequenti. Per far questo utilizzano i documenti RSS (o feed RSS o flussi RSS)
cioè particolari tipi di file. Si dice che l’utente sottoscrive un feed RSS relativo
al contenuto che gli interessa. L’utente, al momento del collegamento a Internet,
riceverà automaticamente gli aggiornamenti, anche mentre sta lavorando su
altri documenti o sta visitando altri siti.

Per ricevere gli aggiornamenti tramite i feed RSS si può:


• utilizzare appositi programmi detti aggregatori o news aggregator o feed
reader. Esistono diversi tipi di aggregatori, a seconda del computer, del siste-
ma operativo e, spesso, del browser che si desidera utilizzare. Molti di questi,
infatti, si integrano perfettamente con i principali browser e con i programmi
di posta elettronica più utilizzati. Alcuni noti aggregatori, da usare attraverso
il Web o da scaricare sul proprio computer, sono: Sharp Reader e Feed Reader
(programmi gratuiti per Windows), Straw (programma gratuito per Linux),
Netnewswire Lite (programma gratuito per Mac OS X), Sape (plug-in gratuito
per Firefox), URSS (plug-in gratuito per Mozilla). Per permettere l’aggiorna-
mento, basta collegarsi al sito del distributore del contenuto (ad esempio al
sito di Repubblica), scegliere le notizie cui si è interessati e incollare il relativo
indirizzo (URL) del feed RSS sul proprio aggregatore. Ormai, molti browser
supportano di default il meccanismo dei feed RSS;
• includere nella propria pagina web un frammento di codice che fornisce il di-
stributore del contenuto.

15 Il podcasting
Il podcasting è un sistema che permette di scaricare in modo automatico do-
cumenti audio o video chiamati podcast. Un podcast è un file (audio o video)
messo a disposizione su Internet da parte di distributori (per esempio dai siti di
trasmissioni televisive e radiofoniche) e scaricabile automaticamente tramite
un apposito programma, che altro non è che un aggregatore che si basa sui
feed RSS. Tale programma viene anche chiamato podcatcher.

126 Sezione B Internet e cloud computing


Un podcast è un semplice feed RSS con la possibilità di scaricare non solo il testo
relativo alle notizie (così come avviene per un feed RSS testuale), ma file audio e
video relativi a canzoni, notiziari, letture di libri (audiobook), trailer di film, brani
di programmi radiofonici e televisivi e così via.

Come si ricevono i podcast


Per ricevere un podcast sono necessari: un abbonamento presso un fornitore di
podcast (spesso gratuito) e un programma client apposito: il podcatcher.

Tra i podcatcher più noti ricordiamo iTunes della Apple, GreatNews Reader di Cu-
rioStudio, PrimeTime, Juice, Doppler. Tali programmi permettono di seleziona-
re i podcast di interesse e, con una frequenza decisa dall’utente, di collegarsi a
Internet per verificare la comparsa di nuovi contenuti. In caso affermativo, essi
vengono segnalati all’utente che così può eseguire il download, manualmente o
automaticamente, sull’hard disk del computer in un’apposita cartella. Successiva-
mente, quando l’utente collegherà il lettore multimediale (per esempio iPod di Ap-
ple) al computer, il podcatcher potrà trasferire automaticamente i contenuti sul
dispositivo, oppure l’operazione potrà essere effettuata con un semplice drag and
drop. Il trasferimento automatico garantisce che i contenuti presenti nei due file
system siano perfettamente allineati, anche in caso di file omonimi recentemente
modificati. In questo caso si parla di sincronizzazione. Uno dei migliori esempi
di integrazione tra podcatcher e lettore multimediale è l’accoppiata iTunes-iPod
proposta da Apple.
Un’alternativa ai podcatcher è quella di ricorrere ai servizi online. In questo caso,
il podcatcher risiede sul server Internet del fornitore di podcast e sul server grava
il carico di lavoro per il controllo dei feed, per il download e per l’immagazzina-
mento dei contenuti pubblicati. La ricezione di podcast potrà avvenire da qualsi-
asi postazione Internet liberando l’utente dalla necessità di avere con sé il com-
puter e di riempirne spesso il disco con contenuti spesso ingombranti solo per
scaricarli subito dopo sul lettore portatile.

16 Le comunità virtuali
È ormai ampiamente dimostrato che le reti telematiche favoriscono nuove moda-
lità di relazioni sociali nell’ambito di ciò che è stata definita comunità virtuale.

Navigare in Internet B2 127


Per comunità virtuale o comunità online si intende un insieme di persone
interessate a un determinato argomento o genericamente alla vita di relazione,
che sono in corrispondenza tra loro attraverso una rete telematica o attraverso
Internet o attraverso una rete di telefonia. Si viene così a costituire una rete
sociale online (social network), cioè un’aggregazione di persone diversificate
per cultura, condizioni sociali, Paese di provenienza, che esprimono le proprie
opinioni e posizioni partecipando alle discussioni in modo paritario, cioè allo
stesso livello di importanza.

I motivi del successo delle reti sociali sono molti. Oltre allo scambio di informazio-
ni, una delle principali ragioni è da ricercare nei motivi legati agli aspetti sociolo-
gici. Le reti sociali finiscono per offrire sostegno personale, materiale e affettivo;
evitano l’emarginazione, favoriscono l’emancipazione, danno luogo a discussioni
disinibite e sincere, permettono, in alcuni casi, l’incontro dei loro appartenenti.

Una possibile classificazione delle comunità virtuali


È possibile classificare le comunità virtuali in base:
• ai tempi di interazione:
– sincrona: il dialogo avviene in tempo reale, le persone devono essere colle-
gate contemporaneamente (ad esempio tramite telefono);
– asincrona: le persone per dialogare possono collegarsi in tempi successivi
(ad esempio tramite messaggio SMS).
• al tipo di comunicazione: individuale (one-to-one), collettiva (one-to-many o
many-to-many).
Tra le principali comunità virtuali troviamo:
• forum di discussione (bulletin board): è uno strumento di comunicazione
asincrono di tipo “molti a molti”, in cui le discussioni e le relative risposte da
parte degli utenti si sviluppano non in tempo reale. I forum vengono utilizzati
per unire le conoscenze, fornire aiuto per raccogliere le opinioni su argomenti
letterari, musicali, politici, sociali, informativi, tecnologici e così via;
• gruppo di discussione (newsgroup): è uno strumento di comunicazione asin-
crono di tipo “molti a molti”, analogo al precedente ma con molte funzionalità;
opera anche in modalità disconnessa (offline), tramite apposite applicazioni;
• guestbook (libro degli ospiti): è uno strumento di comunicazione asincrono di
tipo “uno a molti”. Dal punto di vista fisico, è simile all’apporre un biglietto su
una bacheca;
• mailing list (lista di email): è uno strumento di comunicazione asincrono di
tipo “uno a molti”. È simile al ricevere comunicazioni postali periodiche con
possibilità di contribuire a spedirle a un gruppo di indirizzi; vi si accede in ge-
nere tramite un programma di posta elettronica o via Web (tramite browser);
• chat (o chat room): strumento sincrono di tipo “uno a molti”, utilizzabile in modo
collettivo, nelle cosiddette stanze o canali, via Web o specifici applicativi;
• messaggistica istantanea (instant messaging): è uno strumento sincrono di
tipo “uno a uno” o “uno a molti”, analogo alle chat. Consiste nell’invio di sem-

128 Sezione B Internet e cloud computing


plici messaggi a utenti collegati in rete. Alcuni esempi: ICQ, Pidgin, MSN Mes-
senger, Yahoo! Messenger e così via;
• newsletter: è uno strumento asincrono di tipo “uno a molti”. Consiste nel rice-
vere comunicazioni periodiche;
• blog: è uno strumento che consente di crearsi uno spazio pubblico sul Web
in cui il proprietario (blogger) inserisce messaggi e opinioni. È una specie di
diario, ma con la possibilità di inserire contributi da parte di chi legge; è asin-
crono di tipo “uno a molti”;
• feed RSS (Really Simple Syndication): è uno strumento di comunicazione asin-
crono di tipo “uno a molti”; Ricorda
• podcasting: è uno strumento di comunicazione asincrono di tipo “uno a molti”;
• giochi online: sono anch’essi strumenti di comunicazione in cui sono possi- Tra i giochi che trovi
bili tutte le combinazioni tra i tempi di interazione (sincrono, asincrono) e i online potresti anche
tipi di interazione (uno a uno, uno a molti, molti a molti). Ormai diffusissimi, incappare in giochi
d’azzardo. Ricorda
i giochi online sono praticati da un pubblico sempre più vasto. In particolare, sempre che, per legge,
nei giochi di ruolo (GdR o RPG dall’inglese Role-Playing Game), un giocato- in Italia tutti i giochi
re, chiamato generalmente “Master” o “Custode” o “Narratore”, racconta una con vincite in denaro
sono vietati ai minori
storia, mentre gli altri assumono il ruolo di personaggi che si muovono in un di 18 anni.
mondo immaginario o simulato, con precise regole interne.

17 I social network
Molte delle comunità virtuali appena descritte possono coesistere in siti in cui
vengono simulate delle vere e proprie società virtuali per gli utenti. In tali siti ci si
incontra per strada e si scambiano due chiacchiere (chat), ci si vede (archivio foto
degli iscritti o video chat), si leggono i quotidiani in edicola (news), si partecipa
a dibattiti e conferenze (forum e bacheca), si gioca tutti insieme (giochi online e
concorsi), ci si organizza per incontrarsi in RL (Real Life, dal vivo) e molto altro.
I siti che ospitano comunità virtuali cercano di mettere a disposizione dei propri
iscritti quanti più strumenti gratuiti possibili per comunicare: a volte offrono uno
spazio Web per creare le proprie pagine personali, danno la possibilità di inviare
cartoline elettroniche, dedicano pagine a oroscopo, gossip, mercatino dell’usato,
SMS gratuiti, screen saver, e tutto ciò che serve per attirare l’interesse dei propri
“cittadini” virtuali.
Una menzione particolare va fatta per uno dei più famosi social network del mo-
mento: Facebook. Per descriverlo possiamo citare testualmente la frase che ap-
pare a lettere cubitali nella sua home page: “Facebook ti aiuta a connetterti e a ri-
manere in contatto con le persone della tua vita”. In sostanza è un luogo di incontro
tra amici e amici di amici. Il nome del sito si riferisce agli annuari ( facebook) con-
tenenti le foto dei membri dei college americani pubblicato e diffuso a studenti e
personale all’inizio di ogni anno accademico per conoscere le persone del college.
Gli iscritti a Facebook possono scegliere di aggregarsi a una o più reti, organizzate
per città, posto di lavoro, scuola e religione.
Gli utenti possono navigare tra le persone che fanno parte del network; cercare
persone; inserire annunci; ricevere e rispondere a messaggi; scrivere sulla bache-
ca degli utenti; partecipare a giochi online (FarmVille, Mafia Wars) e così via.

Navigare in Internet B2 129


RIPASSIAMO INSIEME
MAPPA
NAVIGARE IN INTERNET MODIFICABILE

Che differenza c’è tra Internet Un indirizzo IP è un


e il WWW? identificativo univoco
assegnato al dispositivo
Internet è l’infrastruttura di rete, mentre
collegato a Internet.
il WWW è un servizio che la utilizza.

Il browser è lo Che cosa occorre per Un provider (o ISP)


strumento usato per connettersi a Internet? è un’azienda che
navigare sul Web. offre un servizio
– Un abbonamento con
di connessione
un provider.
a Internet su
– Un modem o router.
abbonamento.
– Il software per usare
i servizi di Internet
HTTP (HyperText
(browser e altri).
Transfer Protocol)
permette la Una comunità
trasmissione delle virtuale è un
risorse attraverso insieme di persone
la Rete. L’email consente di
che sono in
scambiare informazioni
contatto attraverso
con chiunque abbia
Internet (ad
una casella di posta
esempio Facebook).
elettronica da qualche
parte nel mondo.
HTML (Hyper Text
La chat consente
Markup Language) è il
di “chiacchierare”
linguaggio con cui le
in tempo reale
pagine web vengono
Un motore di ricerca con altri utenti
rappresentate sul
è una piattaforma che collegati in Rete.
browser del client.
consente di effettuare
ricerche sul web in base
a specifici termini.

130 Sezione B Internet e cloud computing


B2
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) La sigla HTML indica il protocollo per la trasmissione


delle informazioni all’interno del browser (E) ........ ☐ V ☐ F

2) Internet e il WWW sono la stessa cosa (A) ............. ☐ V ☐ F

3) La sigla IP indica un indirizzo univoco assegnato


a ogni dispositivo collegato a Internet (B) .............. ☐ V ☐ F

4) La sigla ISP indica un protocollo utilizzato


per la comunicazione di rete (M) ................................... ☐ V ☐ F

5) Facebook può essere definito come una comunità


virtuale (H) ................................................................................ ☐ V ☐ F

6) Un motore di ricerca è utilizzato allo stesso modo


di una chat (F, I) .................................................................... ☐ V ☐ F

Completa le affermazioni seguenti.

7) HTML è un ……………………… che consente di realizzare le pagine


per il Web (E)

8) Il browser è un software che permette di …………….......………


in Internet (C)

9) Internet è una infrastruttura di …………………. (A)

10) L’………………………… può essere utilizzata da chiunque possieda


una ……………………. di posta (G)

11) In una chat la comunicazione avviene in tempo


………………………….. (I)

12) Per collegarsi a Internet è necessario dotarsi di


un …………………… o router (L)

Navigare in Internet B2 131


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo B2
Vero o falso Risposta multipla
1 Il CERN si trova a Berlino V F 13 Indica quali dei seguenti sono esempi di nomi
logici:
2 ARPANet fu sostituita da Internet A www.mondadorieducation.it
nel 1990 V F
B www.mondadorieducation .it
3 Il DNS associa ogni indirizzo IP C www_mondadorieducation_it
a un indirizzo mnemonico più semplice D www.mondadorieducation
da ricordare V F
14 Indica quali dei seguenti sono esempi di
4 Gli ISP non possono fornire connessioni collegamenti a Internet:
che utilizzano il cavo in rame V F A collegamento con rete ADSL
B collegamento attraverso rete mobile
5 4G indica la quarta generazione legata
alla velocità di trasmissione dati V F C collegamento attraverso ponti radio
D collegamento attraverso VHF
6 Per la trasmissione di dati sensibili
si utilizza il protocollo HTTPS V F 15 Indica quali dei seguenti sono esempi di URL:
A http://www.mondadori.it
7 In un email address, il simbolo @
B http://www.mondadori.it/esempi/prova.html
significa “presso di” e si legge “but” V F
C http://www.mondadori.it/prova.html
8 In un messaggio di posta elettronica, D http://213.234.122.80/prova.html
CCN indica che il destinatario riceve
il messaggio in copia, ma senza che Risposta aperta
gli altri destinatari ne siano al corrente V F
16 A quando si può far risalire la nascita di Internet?
9 Un podcast è un file di testo dotato
di link V F 17 In che cosa consisteva il progetto ARPANet?

18 Quali sono i principali protocolli di Internet?


Risposta singola
19 Di che cosa si occupa il consorzio W3C?
10 Indica quale dei seguenti è un indirizzo IP:
A 128.34.286.15 B 217.128.12.19 20 A che cosa serve un indirizzo IP?
C 217:134:100:234 D 56.250.260.112 21 Qual è il formato di un indirizzo IP?

11 Un feed RSS serve per: 22 Che cos’è un provider?


A mandare un messaggio di e-mail
23 Che cosa si utilizza per navigare sul WWW?
B ricevere aggiornamenti su di un argomento
C cercare informazioni sul Web 24 Che cos’è l’home page di un sito?
D scaricare foto e video 25 Che cosa sono i link?

12 Un podcast è: 26 Che cos’è un feed RSS?


A un database
27 Che cos’è il PageRank di Google?
B una cartella
C un dispositivo hardware multimediale 28 Che cos’è una mailbox?
D un file 29 Qual è il formato di un e-mail address?

132 Sezione B Internet e cloud computing


Allena le tue ABILITÀ
e le tue COMPETENZE B2
ABILITÀ COMPETENZE
1 Ricerca in Google informazioni su un fatto di 10 Dal sito dei cinema The Space, cerca un film
cronaca appena accaduto. Successivamente, in visione al multisala più vicino alla tua zona
raffina la ricerca. L’obiettivo è quello di sapere di residenza e procedi alla prenotazione (solo
quali sono i fatti di cronaca più rilevanti del simulazione).
giorno accaduti a Venezia o nella tua città.
11 Collegati al motore di ricerca di Google. Inserisci
2 Fai una ricerca su Internet utilizzando le stesse il motore di ricerca nell’elenco dei siti preferiti.
parole chiave su motori differenti (Google, Devi cercare informazioni relative all’Amazzonia e
AltaVista, Lycos, Excite) e confronta poi il raffinare la ricerca. L’obiettivo è quello di trovare
risultato. un elenco di siti che parlino della deforestazione
dell’Amazzonia (più di 800 risultati). Salva
3 Utilizza Google per effettuare una ricerca l’articolo che ti interessa in un documento di
sul servizio di podcasting, trova quali sono i Word.
podcatcher gratuiti ed effettua il download di uno
compatibile con il tuo sistema operativo. 12 Effettua una ricerca sui piatti tipici della zona
in cui vivi al fine di salvare in un documento di
4 Scarica un programma aggregatore gratuito per il Word una ricetta di cucina che desideri stampare
tuo sistema operativo. Iscriviti al servizio RSS di e successivamente realizzare. Sarebbe utile
un quotidiano a tua scelta. Utilizza l’aggregatore realizzare la ricetta corredandola di immagini
per ricevere gli aggiornamenti su un determinato specifiche in modo che si evidenzino i processi
argomento tra quelli disponibili. intermedi di realizzazione e il risultato finale del
prodotto.
5 Scarica un podcatcher per il tuo sistema
operativo. Iscriviti al servizio podcasting di un 13 Utilizza il motore di ricerca Google per effettuare
distributore di contenuti a tua scelta. Utilizza una ricerca sul CERN concentrando la tua
il podcatcher per scaricare periodicamente i attenzione sulla sua storia, sul suo ruolo, sulla
podcast di tuo interesse. sua ubicazione, sulle attività svolte e su ciò che,
leggendo di volta in volta, incuriosisce la tua
6 Verifica se sono presenti, ed eventualmente mente. Dopo aver raccolto tutto il materiale,
scarica, i podcast di un cantante di tuo predisponi una presentazione in PowerPoint in cui
gradimento. strutturi la tua ricerca, corredata di immagini ed
eventuali video.
7 Utilizza MSN Messenger per inviare un
messaggio a un altro utente collegato in rete. 14 ll browser salva nella cronologia i siti visitati.
Come fai a distinguere un utente dagli altri? Sapresti eliminare la cronologia dell’ultima
Come fai a inviare un messaggio a tutti gli settimana? E quella complessiva?
utenti?
15 Imposta il motore di ricerca Google come prima
8 Iscriviti a Facebook, cerca qualche tuo pagina all’apertura del browser.
conoscente già iscritto e richiedi la sua amicizia.
16 I moderni browser offrono la possibilità di
9 Esegui i seguenti passi: navigare in incognito. Sapresti spiegarne il
a) effettua una registrazione su Gmail per creare significato? Come si fa per attivarla?
un nuovo account di posta (se possiedi già un
account Gmail salta al passaggio successivo) 17 Effettua una ricerca sul termine cookie legato al
browser. Comprendi il significato del termine e
b) crea una mailing list in cui includere tutti i tuoi
verifica la presenza di cookie all’interno del tuo
compagni di classe
computer.
c) invia una mail di benvenuto a tutti

Navigare in Internet B2 133


B3 I sistemi di cloud computing

IMPARERAI…

A utilizzare le applicazioni Come memorizzare Che cos’è il Quali sono le


della GSuite dati utilizzando i cloud computing tipologie di cloud
servizi cloud computing

1 Il cloud computing
Il cloud computing rappresenta un insieme di risorse hardware e software, di-
stribuite nella rete e al servizio del cliente, utilizzabili per archiviare ed elaborare
informazioni o anche eseguire applicativi.
Sfruttando la tecnologia del cloud computing, gli utenti collegati a un cloud pro-
vider possono svolgere tutte queste mansioni tramite un semplice browser. Ad
esempio, possono utilizzare software remoti non direttamente installati sul pro-
prio computer, oltre che salvare dati su memorie di massa online predisposte dal
provider stesso.

Principali vantaggi
Il cloud computing presenta numerosi vantaggi, riportiamo di seguito i principali.
• Avvalendosi del paradigma cloud, aziende piccole, medie e grandi ottengono
costi ridotti e maggiore flessibilità nel breve termine. Non occorre più installa-
re, configurare, dismettere sofisticati apparecchi o costose licenze.
• L’hardware e il software necessari possono aumentare o diminuire semplice-
mente mediante una variazione contrattuale, on demand (ad esempio per ag-
giungere spazio fisico ulteriore o nuovi servizi).
• Le infrastrutture di proprietà rendono indispensabile l’acquisto di maggiori
risorse quando se ne ha la necessità, con il rischio che successivamente (ad
esempio nel caso di un calo di produzione) queste restino inutilizzate.
• Con il cloud, la rottura di un PC in azienda non pregiudica il flusso di lavo-
ro: basterà connettersi a Internet con un qualsiasi altro computer per tornare
nuovamente operativi.

134 Sezione B Internet e cloud computing


Svantaggi
I sistemi di cloud computing vengono criticati principalmente per gli aspetti lega-
ti alla sicurezza e alla continuità del servizio.
I dati risultano in possesso del gestore del servizio che, quindi, potrebbe accedere
ai dati degli utenti al fine di eseguire indagini di mercato o di altro tipo. Questi
problemi possono essere parzialmente aggirati crittografando i dati sul server, al
fine di impedire alla società di accedere ai dati, ma questa soluzione comunque,
non risolve il problema, dato che il servizio di cloud computing potrebbe monito-
rare le attività degli utenti per controllare i loro gusti personali a fini pubblicitari.
Il secondo problema è legato alla continuità del servizio: delegando a un servizio
esterno la gestione dei dati e la loro elaborazione, l’utente si trova fortemente limi-
tato nel caso in cui i suddetti servizi non siano operativi. Un eventuale malfunzio-
namento, inoltre, colpirebbe contemporaneamente un numero molto elevato di
persone, dato che questi sono servizi condivisi.

Architettura del cloud computing


Il cloud computing si realizza nella pratica in diverse forme; descriviamo di segui-
to le principali.
• IaaS (Infrastructure as a Service): utilizzo di risorse hardware in remoto. Le
risorse vengono utilizzate su richiesta nel momento in cui un cliente ne ha
bisogno, non vengono assegnate a prescindere dal loro utilizzo effettivo (un
esempio di IaaS è l’utilizzo di uno spazio di memoria in remoto in cui archi-
viare i nostri file).
• SaaS (Software as a Service): consiste nell’utilizzo di programmi in remoto,
spesso attraverso un server web. Questo sistema ci permette l’utilizzo di ap-
plicativi direttamente all’interno del nostro browser, senza doverli installare
sul computer che stiamo usando (ad esempio, anche il servizio offerto per la
gestione della posta elettronica direttamente all’interno del browser può esse-
re considerato un servizio SaaS).
• PaaS (Platform as a Service): è simile al SaaS, ma in questo caso non viene uti-
lizzato in remoto un singolo programma, bensì una piattaforma software che
può essere costituita da diversi servizi, programmi, librerie e così via (tale ser-
vizio è tipico di alcune piattaforme utilizzate per sviluppare altri programmi).
L’architettura del cloud computing prevede uno o più server reali, generalmente
in architettura ad alta affidabilità e fisicamente collocati presso il centro dati del
fornitore del servizio (provider), il quale espone delle interfacce per elencare e ge-
stire i propri servizi.
Lo schema riportato a pagina seguente illustra come le tre differenti tipologie si
integrano, alla stregua di tre livelli comunicanti, per fornire servizi agli utenti.
Il provider deve garantire il funzionamento e il supporto su tutti e tre i livelli. Il
livello Paas fornisce gli strumenti agli sviluppatori in modo da implementare dei
servizi software finali a livello Saas.
Volendo fare un’analogia con un personal computer, potremmo considerare Iaas
come l’infrastruttura hardware del PC, PaaS come il sistema operativo e SaaS
come l’insieme dei software installati sul PC.

I sistemi di cloud computing B3 135


SaaS Utilizza
(Software as a Service)

Utente finale
Fornisce
Supporto
Fornisce

Fornisce PaaS Utilizza


(Platform as a Service)
Provider
Sviluppatore
Utilizza
Supporto
Fornisce

IaaS
(Infrastructure
as a Service)

Nel seguito di questa unità concentreremo l’attenzione esclusivamente su alcuni


servizi, a livello SaaS, messi a disposizione da alcuni provider in modo gratuito.

2 Le tipologie del cloud computing


Una volta compresa la logica del cloud computing, è evidente come il cloud rap-
presenti una naturale evoluzione tecnologica soprattutto in ambito aziendale,
spostando l’attenzione dall’infrastruttura stessa alle informazioni e affermandosi
come risposta alle esigenze sempre più frenetiche delle aziende.
Sebbene si parli di cloud sempre in riferimento agli obiettivi di  aumentare la fles-
sibilità e liberare le risorse, i modelli di utilizzo del cloud non sono tutti uguali;
attualmente esistono infatti tre diverse tipologie di cloud: 
• cloud pubblico;
• cloud privato;
• cloud ibrido.

Il cloud pubblico
Un cloud di tipo pubblico si basa sul modello standard di cloud computing in
cui un service provider rende disponibili al pubblico su Internet le risorse, quali
applicazioni e spazio per la memorizzazione di dati. Questo modello garantisce
scalabilità ed elevate prestazioni a un prezzo estremamente competitivo, in quan-
to le aziende hanno la possibilità di disporre di strutture senza dover acquistare e
manutenere hardware al loro interno.
I costi dovuti ad attività di manutenzione, formazione del personale per la gestio-
ne di reti fisiche, licenze di software, gestione degli spazi e del personale addetto
sono pressoché nulli. Il cloud pubblico è per sua natura molto flessibile e questo lo
rende una soluzione allettante per le aziende di tutte le dimensioni.

136 Sezione B Internet e cloud computing


Il cloud privato
Il cloud privato è un ambiente informatico realiz-
zato interamente all’interno dell’azienda; questo
modello consente di mantenere i dati dentro la pro-
pria struttura operativa, risolvendo così il proble-
ma della privacy e quello della sicurezza, che inve- Server fisico Server fisico
ce rappresentano un punto di debolezza del cloud
pubblico. Azienda

Il principale vantaggio di questo modello è, appun-


to, la possibilità di creare una configurazione ad Web Server Database Server
hoc, ottimizzando al meglio le risorse necessarie
in modo che sia possibile gestirle in maniera effi- Firewall
cace e standardizzata, ripartendole a ogni singola
applicazione in base all’ effettiva necessità e nella
maniera più rapida e sicura possibile.

Utenti interni Utenti esterni

Sostanzialmente, la differenza tra il cloud pubblico e quello privato è paragona-


bile alla differenza che esiste tra i servizi di hosting e di housing per la gestione di Rifetti
un portale web, con tematiche simili riguardanti gli spazi necessari, il personale,
l’hardware e le questioni sempre critiche di privacy e sicurezza. Approfondisci i
concetti di hosting e
housing evidenziando
Il cloud ibrido le differenze principali.

Il cloud ibrido rappresenta un compromesso che punta a sfruttare i vantaggi di


ognuno dei due modelli descritti precedentemente. L’infrastruttura viene mante-
nuta congiuntamente dal provider interno ed esterno, e si mettono in atto speci-
fici sistemi che consentono di condividere risorse e dati fra il sistema dell’azienda
e quello pubblico.
Uno dei problemi principali di questa Cloud pubblico Cloud pubblico
soluzione è dato dal fatto che i sistemi
delle aziende e quelli del cloud pubbli-
co potrebbero essere gestiti da sistemi
e interfacce diversi.
Il cloud ibrido viene utilizzato nei con-
testi dove l’azienda non intende effet- WAN
tuare investimenti ulteriori per la ge-
stione di nuovi progetti e, allo stesso
tempo, non vuole o non può rinuncia-
re ai propri sistemi.

Data Center 1 Data Center 2


Cloud privato Cloud privato

I sistemi di cloud computing B3 137


3 Il cloud storage
Il cloud storage è un modello di conservazione dei dati (storage in inglese) me-
morizzati su uno o più server ospitati presso i fornitori del servizio.
Oggi esistono numerosi provider che offrono questo servizio, solitamente gratis
per uno spazio limitato e successivamente a pagamento all’aumentare dello spa-
zio necessario.

Dropbox (dropbox.com)
È un servizio che ti consente di portare ovunque foto, documenti e video. Qualsiasi
file salvato nel tuo Dropbox verrà automaticamente salvato su tutti i tuoi compu-
ter, telefoni e persino sul sito web di Dropbox.
Ciò significa che puoi tranquillamente iniziare a lavorare sul computer a scuola
e terminare il lavoro su quello di casa, senza più la necessità di inviarti file via
email.
Dopo l’installazione del software Dropbox, e dopo una rapida procedura di re-
gistrazione, il servizio mette a disposizione un collegamento a uno spazio web
che puoi gestire come se fosse una cartella del tuo file system, solitamente situata
all’interno della cartella per i documenti. Attraverso il tuo account è possibile ac-
cedere a questo spazio da qualsiasi computer.
In assenza di connessione la cartella Dropbox si comporta come una cartella loca-
le, poi viene sincronizzata con il contenuto online quando la connessione è attiva
o quando decidi di riprendere la sincronizzazione.
Per qualsiasi risorsa presente all’interno del tuo Dropbox potrai inviare il link a
chiunque desideri che la visualizzi, anche se non possiede Dropbox; chi riceve il
link può accedervi direttamente attraverso il browser.

Google Drive (google.com/drive)


Anche Google Drive è uno spazio sul web accessibile via browser attraverso un
proprio account (di fatto è lo stesso account che ti consente di gestire tutti i servizi
di Google, gmail, blogger, YouTube, Calendar e altri). Oltre all’archiviazione dei
file, Google Drive ti consente di creare nuove cartelle o file mettendo a disposi-
zione un ambiente che richiama la gestione dei più diffusi software di office auto-
mation. Ad esempio, è possibile creare dei questionari (moduli) da somministrare
online agli utenti e fare in modo che automaticamente venga generato un foglio di
calcolo con tutte le risposte fornite.
Un utente può condividere una propria risorsa verso uno o più utenti, i quali ve-
dranno il file nel loro spazio di Google Drive e potranno interagire con esso anche
nell’ottica di una stesura collaborativa.

138 Sezione B Internet e cloud computing


OSSERVA COME SI FA
1 Archiviare con Dropbox.
Come abbiamo appena visto, Dropbox è una piattaforma cloud. Pertanto, fle e cartelle con cui
dovremo operare non saranno necessariamente posti all’interno del nostro computer, ma col-
locati su server in Internet, a cui sarà possibile accedere in qualsiasi momento e da qualsiasi
dispositivo utilizzato.
L’accesso allo spazio di risorse può essere effettuato in due modi:

■ installando l’applicazione
Dropbox sul nostro computer
o smartphone;
■ utilizzando il browser.

Per entrambe le soluzioni è neces-


saria una registrazione che per-
mette di creare le credenziali di
accesso personali. Nel caso in cui
si decida di installare il software,
la registrazione verrà effettuata in
chiusura di installazione.
Solitamente chi usa Dropbox opta
per entrambe le soluzioni, instal-
lando il software sul proprio (o sui
propri) dispositivo e sfruttando il
browser quando usa altri computer.

Dropbox affanca alla versione gratuita vari piani di abbonamento. La versione base mette a
disposizione degli utenti 2,5 GB di spazio online. Questo spazio può essere ampliato pagando
un canone mensile, oppure invitando i propri amici a iscriversi al servizio.
Dropbox può anche essere installato su smartphone e tablet, consentendo di accedere ai
propri fle in mobilità. Ad esempio, sarà possibile sincronizzare online le foto scattate con lo
smartphone per visualizzarle da qualunque computer connesso in rete.
Vediamo ora come funziona Dropbox.

Software Dropbox
Dropbox è compatibile con tutti i principali sistemi operativi per computer: Windows, Mac e Linux.
Per scaricarlo, occorre collegarsi al sito Internet dropbox.com e selezionare la voce Scarica.

La fase di installazione prevede la creazione


del proprio account Dropbox personale. Dopo
aver compilato il modulo proposto, digitando
l’indirizzo email personale e la combinazione di
username e password che si vuole utilizzare per
accedere al servizio, occorre spuntare la voce
Accetto i Termini di servizio per proseguire con
l’installazione.
Una volta ultimata l’installazione, verrà aperta
la cartella di Dropbox. Basterà salvare i propri
fle all’interno di questa cartella per aggiornare
il proprio Dropbox nelle versioni offine e online.
Dopo aver aggiunto un fle a Dropbox, è possibi-
le controllare lo stato di avanzamento del trasfe-
rimento interrogando l’icona del servizio che si
trova nell’area di notifca di Windows.

I sistemi di cloud computing B3 139


Dall’area di notifca di Windows è possibile monitorare in tempo
reale lo stato di Dropbox:

■ cerchio verde e segno di spunta: tutti i fle Dropbox sono aggiornati;

■ cerchio blu e frecce: i fle Dropbox sono in corso di aggiornamento.

In locale, la gestione della cartella Dropbox è identica a quella di qualsiasi cartella di un siste-
ma operativo, con la differenza che qualsiasi fle o cartella caricato al suo interno sarà disponi-
bile contemporaneamente in locale, sul tuo computer e online, nello spazio Dropbox personale.
Se fai clic con il pulsante destro del mouse (Windows/Linux; Control-clic su Mac) su un fle o
una cartella presenti in Dropbox, viene visualizzato un menu che consente di eseguire alcune
interessanti operazioni.
■ Condivisione di una cartella: inserisce una cartella fra le risorse condivise di Dropbox in
modo che possa essere condivisa con i propri amici, collaboratori o colleghi. Sarà come
salvare tale cartella direttamente sui loro computer.
■ Visualizzazione delle versioni precedenti: visualizza il registro delle modifche apportate a
un fle. Se necessario, Dropbox permette di recuperare le versioni precedenti dei fle.
■ Visualizzazione sul sito web di Dropbox: visualizza un fle sul sito web di Dropbox.
■ Creazione di link: crea un link a qualsiasi fle o cartella Dropbox. Successivamente, sarà
possibile condividere questo link. Chi riceverà il link, anche se non è registrato a Dropbox,
potrà visualizzare il fle corrispondente e lavorarci.

Sito Dropbox
Come abbiamo detto, le risorse disponibili all’interno della cartella Dropbox sono raggiungibili
anche tramite browser, direttamente nello spazio Dropbox. Scorrendo fle e cartelle si ha la pos-
sibilità di condividere il link delle proprie risorse. Questa operazione è attuabile semplicemente
selezionando i contatti dalla propria casella di posta, importando nuovi contatti o digitando
l’indirizzo email nella fnestra preposta.
A differenza della voce Link ( ), che contiene la gestione dei link di tutte le risorse di-
sponibili, la voce Condivisione ( ) consente di condividere cartelle in modo da
cooperare su un gruppo di fle.
Nel momento in cui ci si iscrive a una cartella condivisa, questa viene visualizzata all’interno
del proprio Dropbox. Anche in questo caso, la sincronizzazione della cartella (sia online, sia
offine) avverrà in automatico.

140 Sezione B Internet e cloud computing


4 G Suite: oltre il motore di ricerca
G Suite (in precedenza Google Apps) è una complessa piattaforma che mette a
disposizione degli utenti differenti servizi integrati tra loro.
È possibile scrivere la bozza di una proposta in Documenti a casa, archiviarla
in Drive, correggerla mentre si è in treno e apportare le ultime modifiche dal
telefono un attimo prima della riunione e spedirla con Gmail.
Le App di Google permettono di pianificare con i colleghi gli eventi in
Calendar, ricevere promemoria e avvisi delle riunioni direttamente nella
propria casella di posta Gmail, partecipare a una riunione video tramite
Hangouts e condividere le Presentazioni per rivederle insieme al team.
Un’unica registrazione consente di accedere a tutti i servizi forniti da Google:
• il servizio per la posta elettronica Gmail;
• il servizio di messaggistica istantanea e di videoconferen-
za Hangouts;
• il gestore di calendari Google Calendar;
• l’accesso al social network Google+;
• il servizio di storage, office automation e collaborazione
online Google Drive;
• la piattaforma per la creazione, gestione e pubblicazione
di siti web Google Sites;
• le piattaforme per la condivisione di video YouTube e di
immagini Picasa;
• il servizio per il blogging Blogger.
Molti di questi servizi, come ad esempio Gmail, Google+ o
YouTube, hanno un’interfaccia utente immediata e facile da
utilizzare, pertanto non ci soffermeremo sulla loro trattazio-
ne; cercheremo invece di porre l’attenzione sugli strumenti
utili all’organizzazione del lavoro a scuola o in azienda.

Organizzare una riunione


Per pianificare una riunione è necessario conoscere la disponibilità di coloro che
dovranno prendervi parte. Occorre quindi fissare l’evento e comunicarlo ai par-
tecipanti, eventualmente impostando un promemoria automatico trenta minuti
prima che la riunione inizi.

I sistemi di cloud computing B3 141


Creare un evento in Ca-
lendar è molto semplice
e intuitivo: il sistema ci
pone davanti a una scher-
mata a griglia riportante i
giorni della settimana e la
relativa segnalazione del-
le fasce orarie. Per creare
un evento occorre fare
clic sull’ora desiderata e
inserire i dettagli dell’e-
vento stesso, attivando il
link Modifica evento.
Quando si crea la segna-
lazione di una riunione
in Google Calendar, ol-
tre a vari aspetti di base
dell’evento (data, durata,
descrizione, luogo, ecc.),
si può anche aggiunge-
re automaticamente un
hangout (videochiama-
ta). In questo modo, se-
lezionando Hangout sarà
possibile partecipare in
videoconferenza alla riu-
nione. È, inoltre, possibi-
le avvisare automatica-
mente i partecipanti alla
riunione, semplicemente
inserendo i relativi indi-
rizzi email nella sezione
Aggiungi invitati.

142 Sezione B Internet e cloud computing


Ogni utente può gestire più calendari. Sarebbe auspicabile mantenere separati gli
eventi professionali da quelli personali, creando calendari dedicati. Ad esempio
pensiamo alla possibilità per un docente di calendarizzare le verifiche in classe e
condividere il tutto con i colleghi del consiglio di classe i quali, a loro volta, pre-
disponendo altri eventi avranno l’esigenza di conoscere la disponibilità degli altri
docenti per evitare di sovrapporre le verifiche nello stesso giorno. Questa opera-
zione avviene semplicemente condividendo il proprio calendario con gli altri col-
leghi, permettendo loro di controllare, in un’unica visualizzazione, più calendari.
Il calendario condiviso si sincronizza automaticamente con i calendari dei colle-
ghi. Ogni eventuale modifica effettuata sarà segnalata in tempo reale.
Nel seguito vediamo come gestire al meglio i propri impegni utilizzando Google
Calendar.

OSSERVA COME SI FA
1 Gestire gli eventi.
Organizzare attività e appuntamenti che si hanno in programma
non deve essere un peso. Con il calendario online gratuito messo
a disposizione da Google è facile tenere traccia degli eventi più im-
portanti della propria vita, ordinati tutti su un unico calendario; in
particolare, con Google Calendar è possibile effettuare le seguenti
attività.

Condividere la propria pianifcazione


Se si è a conoscenza degli impegni di qualcun altro, organizzare
i propri appuntamenti diviene più facile. Permettendo a colleghi,
familiari e amici di accedere al proprio calendario personale è pos-
sibile visualizzare le pianifcazioni che gli altri hanno condiviso.

Accedere al calendario mentre si è lontani da casa


Quando non si ha la possibilità di accedere al computer, è possibi-
le consultare il proprio calendario sul cellulare o sul tablet, tramite
la modalità di sincronizzazione. La versione di Google Calendar
per dispositivi mobili è creata appositamente per display di piccole
dimensioni.

Mai più eventi dimenticati


Utilizzando i promemoria, si è sempre puntuali. Scegliendo di rice-
vere la notifca di appuntamenti tramite email o SMS direttamente
sul cellulare.

Inviare inviti e tenere traccia delle risposte


Si possono invitare altre persone agli eventi. Gli invitati possono rispondere all’invito all’evento
tramite email oppure tramite Google Calendar.

Abbiamo accennato alla semplicità con cui un utente può creare e gestire uno o più calendari.
Ora approfondiamo alcune particolari funzionalità.
È sempre consigliabile e opportuno contraddistinguere ogni calendario con colori differenti: sul-
la sinistra verrà visualizzato un elenco dei calendari disponibili e, attraverso il personale codice
colori, ogni calendario risulterà facilmente individuabile.

I sistemi di cloud computing B3 143


Dopo aver creato un calendario è possibile iniziare a inserire i propri eventi.
Per creare un evento, Google Calendar mette a disposizione diverse possibilità.

■ Clic sul calendario e inizia a scrivere.


Seleziona il giorno in cui vuoi creare un nuovo evento, poi devi digitare il titolo e l’ora
del nuovo evento nella casella visualizzata. Infne, per pubblicare subito l’evento sul
tuo calendario, seleziona la voce Crea evento oppure fai clic su Modifca evento per
aggiungere altre informazioni. Se la durata dell’evento è maggiore di un’ora, basta
trascinare il mouse sulle lineette poste in basso, fno all’ora in cui si presuppone
termini l’evento stesso.

■ Crea un evento con l’opzione Crea evento.


Quando fai clic su Crea evento nella colonna sinistra del
tuo calendario, si apre una pagina in cui puoi inserire
tutte le informazioni necessarie per la creazione del tuo
evento. In questa pagina è anche possibile aggiunge-
re invitati, modifcare l’impostazione del promemoria e
pubblicare l’evento per altri utenti. Una vota immesse
le informazioni necessarie e selezionate le impostazioni
desiderate, devi fare clic su Salva.

■ Crea un evento dall’elenco dei calendari.


Nell’elenco dei calendari sulla sinistra devi fare clic sul-
la freccia rivolta verso il basso accanto al calendario
desiderato. Quindi, scegli Crea un evento in questo ca-
lendario.
Google Calendar consente di creare inviti per eventi spe-
ciali, inviarli ad amici e tenere traccia delle risposte e dei
commenti, il tutto da un’unica posizione.
Per invitare una persona a un evento, occorre:
1. fare clic sull’evento (o Crea un nuovo evento) e se-
lezionare Modifca evento. In alternativa, è possibile
fare clic sul nome dell’evento per aprire la pagina
dei dettagli;
2. nella sezione Invitati a destra verrà inserito l’indiriz-
zo email di ogni persona da invitare. La conferma av-
verrà selezionando l’opzione Aggiungi. Ogni invitato
verrà visualizzato nella sezione sottostante;
3. selezionare le opzioni appropriate per i propri invitati
nella sezione Gli invitati possono;
4. fare clic su Salva;
5. nella fnestra popup Invia mail agli invitati fare clic su
Invia se si desidera segnalare l’evento ai propri invi-
tati oppure, se non si ha la necessità di segnalare
l’evento, fare clic su Non inviare.

Se si dispone di un accesso condiviso ai calendari di altre persone, utilizzando la funzio-


ne Orari suggeriti è possibile conoscere le modalità migliori per pianifcare gli eventi con
facilità.

144 Sezione B Internet e cloud computing


Sincronizzazione
Gli eventi creati possono essere visualizzati su tutti i dispositivi personali (tablet, cellulari ecc.)
attraverso un sistema di sincronizzazione reso disponibile dall’app Google Calendar, scaricabile
dal Google Store e facilmente installabile sul dispositivo.
Il proprio account Gmail deve essere confgurato all’interno delle impostazioni del device sul
quale viene installata l’applicazione. Per fare ciò, occorre:
1. selezionare Settings (Impostazioni) dalla schermata iniziale del proprio dispositivo;
2. andare alla sezione Account (Posta, contatti, calendari);
3. selezionare Add Account (Aggiungi account);
4. selezionare Gmail;
5. inserire le informazioni del proprio account.

Al termine della confgurazione, è possibile utilizzare l’applicazione Calendario sul proprio di-
spositivo.
La sincronizzazione inizierà automaticamente.
Se impostata correttamente, sul dispositivo giungerà una notifca 30 minuti prima dell’inizio
dell’evento (il tempo di notifca può essere confgurato con Modifca evento).

PC Telefonino

2 Archiviare documenti con Google Drive.


Come Dropbox, Google Drive è una piattaforma cloud che mette a disposizione uno spazio web
in cui riporre le proprie risorse. Anche in questo caso è possibile gestire il proprio spazio online
attraverso l’installazione del relativo software o direttamente attraverso il Web.
Vista la semplicità
di utilizzo della mo-
dalità di gestione in
locale, focalizzere-
mo la nostra atten-
zione sulla gestio-
ne delle risorse da
browser. D’altra par-
te, operare da brow-
ser si rivela la scelta
migliore perché i nu-
merosi servizi mes-
si a disposizione da
Google sono utilizza-
bili esclusivamente
online.

I sistemi di cloud computing B3 145


Accedendo a Google Drive disporremo non solo di un contenitore in cui possiamo riporre risor-
se, ma anche di un sistema molto più complesso che consente di organizzare fle e cartelle,
condividere e, addirittura, creare nuovi fle.
Il menu di navigazione, posto a sinistra della schermata principale di Google Drive, permette di
esplorare le risorse.
Il menu è sovrastato dal pulsante , con il quale è possibile creare nuove risorse.
La porzione centrale della schermata accoglie i fle creati dall’utente. Spuntando un fle appena
sopra la raccolta compariranno alcuni pulsanti che permettono di compiere operazioni sul fle
selezionato. In particolare, Google Drive ci permette di: condividere, spostare, rimuovere, visua-
lizzare l’anteprima. Tramite il pulsante Altro viene aperto un menu a tendina da cui accedere a
ulteriori operazioni, tra cui: Scarica, Apri con, Rinomina ecc.

Anche in questo caso,


condividere risulta mol-
to semplice. Seleziona-
ta la risorsa, e attivato
il relativo pulsante, vie-
ne proposta una scher-
mata da cui:
■ attivare il link per la
risorsa in modo da
renderla pubblica;
■ condividere la risor-
sa solo con alcune
persone.

Nel primo caso viene mostrato il link pubblico della risorsa. Chiunque possegga tale link può
interagire (in base a differenti livelli di permesso) con la risorsa corrispondente.
La seconda possibilità consente di inserire l’indirizzo email delle persone con cui condividere la
risorsa, automaticamente rintracciabile nella cartella Condividi con me del proprio Google Drive.
La principale innovazione, rispetto a Dropbox o ad altri sistemi di archiviazione cloud, consiste
nella possibilità di creare fle direttamente da browser accedendo alle piattaforme che “simula-
no” i software di offce automation. In particolare, è possibile caricare fle e cartelle dal proprio
computer e creare:
■ cartelle;
■ documenti di testo (fle di editor di testi);
■ presentazioni – insieme di slide da presentare a video;
■ fogli di lavoro – foglio di calcolo;
■ moduli compilabili;
■ disegni.
Le fgure presentate a pagina seguente
permettono di analizzare le scherma-
te principali dei maggiori applicativi da
uffcio messi a disposizione da Google
Drive.
Un riferimento a parte merita l’oggetto
Modulo.

146 Sezione B Internet e cloud computing


3 Progettare sondaggi e questionari con Modulo di Google.
Google mette a disposizione degli utenti l’applicativo Modulo. Questa peculiare app consente
di creare una pagina web contenente campi compilabili online dagli utenti. Pertanto, quando
un’azienda o un ente hanno la necessità di raccogliere informazioni, possono utilizzare lo stru-
mento Modulo. Una delle funzionalità più importanti di questa app è quella di fornire, in tempo
reale, la casistica delle risposte date dagli utenti.
I campi di utilizzo del Modulo di Google sono infniti: dal monitorare le iscrizioni a un corso
di formazione, alla realizzazione di un questionario per verifcare il livello di gradimento di un
prodotto/servizio, aziende ed enti dispongono di un potente e semplice strumento di analisi.
La videata che compare attivando la creazione di un modulo è visibile a pagina seguente.

I sistemi di cloud computing B3 147


Google mette a disposizione degli utenti la possibilità di impostare alcuni aspetti del modulo:
dal titolo alla descrizione, passando per il tema. La parte in alto a destra propone dei pulsanti
che consentono di gestire gli aspetti generali del modulo:
■ tavolozza dei colori: imposta un colore o un’immagine di fondo;
■ anteprima: visualizza il modulo dal punto di vista degli utenti che dovranno compilarlo;
■ impostazioni: riguardano aspetti generali e di presentazione;
■ invia: consente di inviare per email o condividere il modulo attraverso i social;
■ altro: ulteriori aspetti di gestione del modulo.
Le domande permettono di raccogliere informazioni attraverso nove differenti tipologie di quesi-
to. Nella seguente tabella riportiamo, per ogni tipologia, la modalità di creazione della domanda
e la visualizzazione fnale.

Modalità: crea/modifca Modalità: Anteprima

A differenza della domanda precedente, qui il testo si


sviluppa su più righe.

148 Sezione B Internet e cloud computing


Modalità: crea/modifca Modalità: Anteprima

I sistemi di cloud computing B3 149


Per ogni tipologia di domanda, una serie di pulsanti posti sotto la stessa permettono di dupli-
carla, eliminarla o renderla obbligatoria in fase di compilazione.
L’immagine a lato mostra un’ulteriore pulsantiera che ti accompagna durante la creazione del
modulo, è posta a destra della domanda su cui stai lavorando e pertanto ti consente di inserire
al di sotto della stessa:
■ un’ulteriore domanda;
■ un titolo o una descrizione;
■ un’immagine;
■ un video (da Youtube);
■ una sezione (consente di dividere il modulo in più parti).
Terminata la costruzione del modulo, il passo successivo è quello di renderlo pubblico e, quindi,
comunicare agli utenti a cui è rivolto il link relativo. Il pulsante Invia consente di accedere e
condividere questo link. Le risposte degli utenti sono conservate nel modulo stesso.
Nella parte superiore del modulo è presente il link Risposte che gestisce la modalità con cui le
risposte devono essere trattate.
Si possono vedere direttamente i sin-
goli moduli compilati (nella modalità
Privato) o le risposte complessive
(nella modalità Riepilogo) e per alcu-
ne di esse, a seconda della tipologia
di domanda, viene presentata una
rappresentazione grafca.

5 G Suite a scuola
Il maggior vantaggio nell’utilizzo di una piattaforma cloud, per gestire
i file, è l’estrema facilità di condivisione dei documenti con altre perso-
ne senza ricorrere necessariamente a un programma di posta.
In Google Drive abbiamo appena visto come sia possibile realizzare
ciò attraverso un semplice clic; inoltre, nel suo menu, Drive mette a di-
sposizione una cartella contenente tutti i file che altre persone hanno
condiviso con noi. La condivisione di uno stesso documento con più utenti con-
sente non solo di metterne in comune il contenuto, ma anche di modificarlo, se il
proprietario concede il diritto di modifica.

OSSERVA COME SI FA
3 Condivisione di un documento a scuola.
Il vostro docente assegna un compito ad alcuni di voi, mette a disposizione un documento
iniziale e vi chiede di completarlo inserendo contenuti differenti per ogni alunno. Il documento
è strutturato in modo che ognuno di voi possa inserire il contenuto nella rispettiva area asse-
gnata, come si vede nella fgura a pagina seguente.

150 Sezione B Internet e cloud computing


In fase di condivisione, il docente stabilisce gli utenti con cui condividerlo
e una delle modalità di intervento sul documento fra le seguenti:
■ Può modifcare: l’utente ha il controllo completo sul documento, può
inserire, modifcare e cancellare il contenuto;
■ Può commentare: l’utente può solo inserire commenti, senza alterare
il contenuto del documento;
■ Può visualizzare: l’utente può visualizzare il documento, senza effet-
tuare alcun intervento.
Da questo momento in poi tu e i tuoi compagni ritroverete nella cartella
Condivisi con me il fle La struttura del pc, sul quale potrete lavorare anche
tutti contemporaneamente.
Di fatto siamo in un contesto di scrittura collaborativa: tutti gli utenti che
hanno la possibilità di modifca del documento visualizzano all’interno del-
lo stesso gli interventi apportati da tutti gli altri. Drive assegna un colore
differente a ogni utente, mostra in alto l’elenco degli utenti connessi e
tramite una bandierina colorata ne evidenzia la presenza online all’interno
del documento, riportando le modifche effettuate in modo che ognuno
possa visualizzarle.

Utenti connessi che sono


al lavoro sul documento

I sistemi di cloud computing B3 151


RIPASSIAMO INSIEME
MAPPA
I SISTEMI DI CLOUD COMPUTING MODIFICABILE

Che cos’è il cloud computing?

È un insieme di risorse hardware e Il cloud storage


software distribuite nella rete, al è un modello di
servizio del cliente, per archiviare ed conservazione dei dati
elaborare informazioni e applicativi. (storage) su uno o più
server ospitati presso i
fornitori del servizio.

L’architettura del
L
cloud è una struttura Nel cloud pubblico, un service G Suite
a livelli in cui gli provider rende disponibili (in passato
utenti interagiscono al pubblico su Internet le Google Apps)
con il sistema. risorse come applicazioni e
memorizzazione di dati.
M
Google
Drive
Il livello Iaas mette
a disposizione le
risorse hardware. Il cloud privato è un
ambiente informatico
realizzato interamente
all’interno di un’azienda.
Il livello Saas mette
a disposizione il
software.

Nel cloud ibrido si attuano


dei sistemi che consentono
Il livello Paas offre di condividere risorse
un’intera piattaforma e dati fra il sistema
al servizio degli dell’azienda e quello
sviluppatori. pubblico.

152 Sezione B Internet e cloud computing


B3
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Il cloud computing rappresenta un insieme di risorse


installate sul proprio computer (A) .............................. ☐ V ☐ F

2) Il livello Iaas mette a disposizione


le strutture hardware (C) .................................................... ☐ V ☐ F

3) Il livello Saas offre tutta una serie


di servizi per gli sviluppatori (D) .................................. ☐ V ☐ F

4) L’architettura del cloud è una struttura


a livelli differenziati (B) ................................................... ☐ V ☐ F

5) Il cloud pubblico viene configurato e gestito


all’interno dell’azienda (F) ................................................ ☐ V ☐ F

6) Il cloud ibrido unisce i vantaggi


del cloud privato e di quello pubblico (H) ................ ☐ V ☐ F

7) Google Drive è un servizio


di cloud storage (I, M) ........................................................ ☐ V ☐ F

Completa le affermazioni seguenti.

8) Il livello Paas è dedicato alle possibili interazioni con gli


………………………………….. (E)

9) L’architettura di un sistema cloud si dispone a livelli,


in particolare Iaas, …………. e ............... (B, C, D, E)

10) Il cloud privato è un ambiente informatico realizzato


interamente all’………………………. di un’azienda (G)

11) Con il termine cloud ……....………… si indica un sistema per la


memorizzazione delle informazioni (I)

12) Google mette a disposizioni differenti servizi, tra cui un


servizio di …….......………. chiamato Drive (I, M)

I sistemi di cloud computing B3 153


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo B3
Vero o falso 11 Il livello SaaS:
A È rivolto agli sviluppatori
1 Google offre solo servizi di storage
e ricerca V F B Fornisce le infrastrutture hardware
C È il livello intermedio
2 Per accedere a tutti i servizi di Google
basta una sola coppia di credenziali V F D Fornisce servizi agli utenti

3 Gli eventi di Google Calendar


12 Il livello PaaS:
possono essere notificati su email V F
A È rivolto agli utenti finali
4 Gmail è un servizio di gestione
B Fornisce le risorse software
file e cartelle V F
C Fornisce gli strumenti a supporto di Saas
5 Google+ è una piattaforma social V F
D Fornisce servizi agli utenti
6 Hangout consente le videochiamate V F
7 Google Drive non permette di caricare 13 Indica gli svantaggi del cloud pubblico.
cartelle dal proprio PC V F A Costi ridotti
B Privacy dei dati
Risposta singola C Prestazioni dei computer
8 Individua i vantaggi nell’utilizzo del cloud. D Utilizzo delle risorse
A Maggiore velocità nell’utilizzo dei dati
B Riduzione dei costi 14 Indica i possibili servizi adatti a un cloud privato
C Maggiore disponibilità nell’utilizzo dei dati per un’azienda ospedaliera.
D Facilità di aumentare lo spazio A Gestione basi di dati
E Maggiori prestazioni del computer B Sistemi di protezione dei dati
C Orario del personale
9 Stabilisci se i seguenti sono vantaggi o svantaggi D Acquisti di forniture
nell’uso di piattaforme Cloud.
Vantaggio Svantaggio 15 DropBox è una piattaforma che consente di:
Meno software da installare sui PC A effettuare ricerche su Internet
Velocità di connessione alla rete B inviare email
C gestire file e cartelle
Gestione dei dati sensibili
D condividere informazioni
Utilizzo da postazioni differenti
Guasto della postazione di lavoro 16 Metti in ordine le seguenti fasi per realizzare
Minore attenzione per gli antivirus un modulo di Google:
Tempo necessario per i backup A Invia il modulo
Meno tempo da dedicare alla B Accedi con il tuo account su Google
confgurazione dei sistemi C Crea un foglio di lavoro per raccogliere le risposte
D Nuovo – moduli di Google
10 Il livello IaaS: E Personalizza e completa la domanda
A Fornisce le strutture di base F Vai a Google Drive
B È destinato agli utenti finali G Comunica il link
C Ha bisogno del supporto di altri livelli H Inserisci una nuova domanda
D Concede solo dati

154 Sezione B Internet e cloud computing


Allena le tue ABILITÀ
e le tue COMPETENZE B3
ABILITÀ 8 Crea una presentazione in Google Drive
rappresentando graficamente i risultati ottenuti
1 Scarica Dropbox sul tuo computer; dopo averlo nel questionario e comunica l’indirizzo ai tuoi
installato condividi alcuni file con i tuoi amici. compagni.

2 Attiva uno spazio su Google Drive e crea due


9 Realizza all’interno di Google Drive
cartelle Personale e Documenti.
un questionario sul livello di gradimento
degli strumenti informatici utilizzati nell’ultima
3 Nella cartella Documenti inserisci un documento lezione, che tenga conto di:
dove creare una lista dei brani musicali preferiti.
a) facilità d’uso
b) funzionalità della piattaforma
4 Condividi il documento con alcuni tuoi compagni
di classe, consentendo loro di inserire ulteriori c) pregi e difetti
brani.
10 Condividi il questionario con i tuoi
5 Accedi a Google Calendar ed esegui i seguenti compagni di classe e fallo compilare
passi. da ognuno di loro.
a) Crea il calendario “Verifiche”
b) Inserisci gli eventi relativi alle tue prossime 11 Crea un foglio di lavoro per raccogliere
verifiche scolastiche (prediponi colori differenti per le risposte del questionario.
materie differenti)
c) Inserisci un promemoria per essere avvisato il 12 Verifica i risultati ottenuti e rappresentali
giorno precedente la verifica in una presentazione di PowerPoint.
d) Comunica gli eventi ai tuoi compagni di classe
13 Inserisci la presentazione all’interno
della tua cartella Documenti di Google Drive
e rendila pubblica comunicando l’indirizzo
COMPETENZE ai tuoi compagni.
6 La tua scuola ha intenzione di utilizzare
il registro elettronico e dare la possibilità 14 Scarica il foglio di lavoro contenente
ai genitori di consultare tutta l’attività didattica le risposte in formato Excel e salvalo
dei figli. Predisponi un questionario attraverso sul tuo computer.
il modulo di Google, da destinare ai genitori,
per rilevare:
a) Il possesso degli strumenti informatici atti alla 15 Installa l’app Google Calendar sul tuo
consultazione (pc, tablet, smartphone, tipo di telefonino.
connettività a Internet)
b) Il grado di utilizzo di tali strumenti (ore giornaliere, 16 Configura il tuo account Google (gmail)
settimanali, ...) sul telefonino.
c) Il livello di conoscenza dei software necessari
(browser, e-mail, ...) 17 Sincronizza Google Calendar sul tuo telefonino
e verifica la presenza del calendario e degli
7 Comunica l’indirizzo del questionario alle famiglie eventi.
dei tuoi compagni di classe e verifica i risultati
ottenuti.

I sistemi di cloud computing B3 155


Sezione B

Traguardo COMPETENZE
Verso la certificazione

Compito di realtà 1 – LAN e WLAN


LE COMPETENZE CHE DOVRAI CERTIFICARE

Competenza Declinazione

Comprendere la struttura logico-funzionale della struttura fisica e del software


Individuare collegamenti di un computer e di reti locali, tale da consentire la scelta dei componenti più adatti
e relazioni alle diverse situazioni e le loro configurazioni, la valutazione delle prestazioni,
il mantenimento dell’efficienza.

Acquisire l’abitudine a ragionare con rigore logico, a identificare i problemi e a individuare


Risolvere problemi
possibili soluzioni.

Acquisire e interpretare Essere in grado di interpretare criticamente l’informazione ricevuta nei diversi ambiti
l’informazione e attraverso diversi strumenti comunicativi.

Organizzare il proprio apprendimento individuando, scegliendo e utilizzando


Imparare a imparare varie fonti e varie modalità di informazione e di formazione per motivare razionalmente
le scelte compiute, i parametri di valutazione e i criteri di selezione utilizzati.

➤ Identifica il problema
Un provider, al quale ti sei rivolto per avere un collegamento internet, ti ha fornito in
dotazione un modem/router wireless. Il modem oltre all’antenna per il collegamento
in wireless dispone anche di un’ulteriore porta di rete per collegare un eventuale di-
spositivo attraverso il cavo di rete. Deve essere garantito l’accesso a Internet a tutti i
dispositivi presenti all’interno della casa, in particolare:
• PC fisso del padre;
• PC fisso del fratello;
• notebook della madre;
• 4 smartphone;
• stampante di rete.
A parte gli smartphone, soltanto il portatile del padre dispone di una scheda di rete
wireless.

➤ Identifica gli strumenti utilizzati


Il modem in dotazione è quello rappresentato in figura a pagina seguente; sapresti
indicare i nomi dei vari componenti numerati?
1 ..................................... 4 .....................................
2 ..................................... 5 .....................................
3 .....................................

156 Sezione B Internet e cloud computing


1

3 5

➤ Motiva razionalmente le scelte compiute


Affronta il problema relativo alla necessità di collegare tutti i dispositivi indicati in figura.
...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

➤ Esplicita le decisioni operative


Sei giunto alla conclusione che hai bisogno del seguente ulteriore materiale:

Dispositivi attivi Dispositivi passivi

n. 1 .................................................................................. n. 4 ..................................................................................

Ora completa il seguente schema, facendo gli opportuni collegamenti.

Smartphone

PC

Notebook

Internet Stampante
PC

Internet e cloud computing Sezione B 157


Compito di realtà 2 – Corsi aziendali con G Suite
LE COMPETENZE CHE DOVRAI CERTIFICARE

Competenza Declinazione

Individuare collegamenti Acquisire la consapevolezza dei vantaggi e dei limiti d’uso degli strumenti, dei metodi
e relazioni informatici e delle conseguenze sociali e culturali di tale uso.

Acquisire l’abitudine a ragionare con rigore logico, a identificare i problemi e a individuare


Risolvere problemi
possibili soluzioni.

Acquisire e interpretare Essere in grado di interpretare criticamente l’informazione ricevuta nei diversi ambiti
l’informazione e attraverso diversi strumenti comunicativi.

Organizzare il proprio apprendimento individuando, scegliendo e utilizzando


Imparare a imparare varie fonti e varie modalità di informazione e di formazione per motivare razionalmente
le scelte compiute, i parametri di valutazione e i criteri di selezione utilizzati.

➤ Identifica il problema
Un’azienda vuole organizzare un corso di aggiornamento per i suoi dipendenti, dedica-
to all’utilizzo di un particolare software già in dotazione. La conoscenza del software è
molto differenziata fra i dipendenti; pertanto si decide di avviare due corsi in parallelo,
uno per il livello base e uno per quello avanzato. Come può l’azienda individuare quali
dipendenti avviare al corso base e quali al corso avanzato?

➤ Esplicita le scelte individuate


L’azienda sceglie quattro possibili metodi per individuare i due gruppi:
• intervista per ogni singolo dipendente (S1);
• questionario cartaceo da somministrare a tutti i dipendenti (S2);
• questionario online da somministrare a tutti i dipendenti (S3);
• destinare i dipendenti giovani al livello base e quelli più anziani al livello
avanzato (S4).
Descrivi vantaggi e svantaggi delle soluzioni individuate in precedenza.

Possibile scelta Vantaggi Svantaggi

S1

S2

S3

S4

158 Sezione B Internet e cloud computing


➤ Motiva razionalmente le scelte compiute
Quale soluzione, a tuo parere, potrebbe essere utilizzata dall’azienda per giungere
all’individuazione dei due gruppi in modo veloce e obiettivo? (Una sola scelta)

S1 S2 S3 S4

Motiva la tua scelta anche alla luce di quanto hai appreso nelle unità precedenti.
...........................................................................................................................
...........................................................................................................................

➤ Esplicita le decisioni operative


L’azienda decide di sottoporre tutti i dipendenti a un questionario online, in modo da
avere un riscontro in tempi brevi e poter svolgere un’analisi immediata dei risultati;
pertanto decide di accedere all’ambiente Drive di G Suite (ex Google Apps) e creare
(scegli la risposta opportuna):

un documento un modulo un foglio di calcolo una presentazione

La prima domanda riportata nel questionario deve fornire informazioni sul nome e
cognome del dipendente; pertanto deve essere del tipo (scegli la risposta opportuna):

paragrafo scelta multipla risposta breve scala lineare

La seconda domanda deve essere volta ad acquisire il numero di ore settima-


nali di utilizzo del software da parte del dipendente; le risposte potrebbero es-
sere rappresentate come nella figura a lato. Come organizzeresti la domanda
e quale tipologia potrebbe essere la più adeguata?
.................................................................................................................
.................................................................................................................
.................................................................................................................

Un’ulteriore informazione da acquisire riguarda l’utilizzo di alcune funzionalità specifi-


che del software; una possibile domanda potrebbe essere strutturata così:
Stabilisci il grado di utilizzo delle seguenti funzionalità Mai Raramente Di frequente
Formattazione condizionale
Filtro sui dati
Subtotale
Convalida dati
Macro

Sapresti descrivere come realizzarla?


...........................................................................................................................
...........................................................................................................................
...........................................................................................................................

Internet e cloud computing Sezione B 159


AUDIO
GLOSSARIO CLIL
CLIL Ascolta la pronuncia

What is Facebook?
Facebook is probably the best known of the social networking sites. Created in 2004 by Mark
Zuckerberg and his friends, originally as a way for students at Harvard University to get to know
each other, it’s now believed to have over a billion active users. Some of its functionality – such as
Facebook Connect, a way to sign up to other websites using your Facebook login details – appears
across thousands of other websites.
Anyone over the age of 13 can use the site, although it is known that many millions of under-13s
have accounts and it has been reported that Facebook are considering opening the site to younger
children with some extra controls for parents.
Many parents and grandparents use Facebook to keep in touch with grandchildren and family around
the world. Users create a free account that acts as a profle of them in which they share as much
or as little information as they wish. Profles are usually created using a real name, although some
people choose to use an alias or nickname, and are often accompanied by a photograph.
Companies and brands are increasingly building a presence on Facebook, and ‘apps’ such as games
and tools used within Facebook are hugely popular.

Facebook users can share messages, video links, photographs Facebook is free to join and free to use. It can
and websites. Facebook can be used as an organisational tool be used by anyone wherever they are in the
for planning and managing event invitations. world as long as they have internet access.

You can search by name or email to find people. By using various Facebook is available 24 hours a day so
privacy settings, users can choose to allow different people to people can communicate without time zone
have access to their pages or to deny them this access. differences causing a problem.

Glossary … and now answer!


• Account • Profle (Facebook) 1 What is Facebook?
an arrangement with a sort of personal page
a company or Internet with information about 2 Who created Facebook?
provider to use a you (your school, your
service they provide status, etc.) 3 Is Facebook free to join and to use?

• Grandchildren • Social networking 4 How many hours is Facebook available a day?


the son or daughter of use of Internet to make
one of your children contacts 5 Who generally uses Facebook?

160 Sezione B Internet e cloud computing


RIFLESSIVO
“Rifletti” sul tuo processo di apprendimento: scoprirai i punti di forza e i limiti delle tue conoscenze.

CON CON CON CON CON


CON
HO IMPARATO MOLTA QUALCHE POCHE SUFFICIENTE
SICUREZZA
SICUREZZA E
DIFFICOLTÀ DIFFICOLTÀ DIFFICOLTÀ SICUREZZA PADRONANZA

Che cos’è e a che cosa serve


una rete di computer

Le differenze tra i vari tipi di rete


e di segnali

Le differenze tra le varie topologie


di rete

Che cos’è Internet e perché


è così importante

Che cosa serve per collegarsi


a Internet

Che cos’è un indirizzo IP

Che cosa sono i provider

Quali sono i principali servizi


di Internet

Come utilizzare la posta elettronica

Che cos’è il cloud computing

Quali sono le varie tipologie di cloud

Come sfruttare le potenzialità


di G Suite di Google

Come gestire un calendario


e gli strumenti di Google Drive

Come realizzare splendidi moduli


con Google

COME HO IMPARATO

■ Quali strategie hai usato


per apprendere?
■ Come puoi correggere gli errori
che hai eventualmente commesso?
■ Hai raggiunto gli obiettivi
che ti proponevi?

Internet e cloud computing Sezione B 161


Sezione C
PRIMA DI INIZIARE…
Brainstorming

Completa il diagramma
1
In base alle tue attuali conoscenze, scrivi a
fianco le parole chiave che ti vengono in mente
pensando alla produzione di documenti
elettronici. Aiutati con le seguenti domande: 2
1 Che cosa si intende per videoscrittura?

2 A che cosa servono i fogli elettronici?

3 Perché è utile servirsi di software 3


per realizzare presentazioni?

4 Hai mai effettuato ricerche online?


Se sì, con quali software? 4
5 Microsoft Office viene definita una “suite”.
Sai di che si tratta?

Una volta scritte le parole chiave, discutile 5


con il tuo insegnante e con i tuoi compagni.

162
Il documento elettronico

CONOSCENZE
• Funzionalità della suite Ofce
Esegui il test • Documenti di testo formattati e generici
• Tecniche di gestione e formattazione
1 Quale tra i seguenti formati è quello di un file di
testo generico? Barra la risposta esatta.
1
2
doc
docx
di documenti testuali e fogli di calcolo
• Formule e funzioni per impostare
3 pdf calcoli
4 txt • Tecniche per realizzare presentazioni
interattive dinamiche ed efcaci
2 Associa alle seguenti icone la tipologia di software a cui fanno riferimento.

Icona Tipo di software Soluzione ABILITÀ


A 1 Fogli elettronici A • Saper riconoscere documenti di testo
formattati e generici
B 2 Presentazioni B • Saper impostare documenti formattando
adeguatamente testo e paragraf

C 3 Videoscrittura C
• Saper disporre oggetti diversi all’interno
di documenti testuali
• Saper realizzare fogli di calcolo usando
D 4 Photo editor D formule e funzioni
• Realizzare grafci su dati relativi a fogli
E 5 Sistema operativo E di calcolo
• Realizzare presentazioni interattive
F 6 Client di posta elettronica F dinamiche

COMPETENZE
3 Rifletti: ieri papà mi ha detto che dopodomani sarà Natale. Oggi mi
chiedo: che giorno sarà domani?
• Abituarsi all’uso di una suite gestendo
le interazioni tra i software
....................................................................................................................................................... • Essere in grado di interpretare
criticamente l’informazione ricevuta
nei diversi ambiti e attraverso diversi
4 Scrivi la frazione che rappresenta la parte colorata di ciascuna figura.
strumenti comunicativi

...... ......

FLIPPED CLASSROOM
Alternando attività a casa e a
scuola, cerca di rispondere alla
domanda che ti viene proposta.
...... ......

...... ......
Sapresti viaggiare a ritroso
da Microsoft a Gutenberg?

163
ACCETTI LA SFIDA?

Da Microsoft a Gutenberg: un viaggio a ritroso!


Solamente qualche anno fa la vita era del tutto differente. No, non è il solito racconto nostalgico del non-
no! È un fatto che la tecnologia ci ha inevitabilmente cambiati, e una parte del merito la dobbiamo a Bill
Gates e alla sua Microsoft, fondata nel 1975. Nel 1980 Bill ha inventato l’MS-DOS (acronimo di Micro-
soft Disk Operating System) e da allora il mondo dell’informatica è cambiato per sempre. Due anni dopo
il rivoluzionario MS-DOS, Bill Gates lanciò Windows, un nuovo sistema operativo ben più accessibile alla
massa e con cui si può lavorare su più programmi contemporaneamente
grazie, appunto, alle finestre. Pensa a come sarebbe oggi la comunicazione
senza i programmi che si aprono nelle apposite finestre.
Affronta l’esercitazione come una sfida, come se entrassi in un videogame che ti chiede di superare una
difficoltà dopo l’altra.

Il lancio della sfda


Pensa ai software che usi quotidianamente sul tuo computer e sul tuo smartphone. Sai che, per
utilizzarli, il tuo dispositivo ha bisogno del sistema operativo? Che sistema operativo hai sul tuo
computer, su quelli che usi a scuola e sul tuo smartphone? Ritieni che ci siano differenze tra i vari
sistemi operativi? Pensaci, e insieme ai compagni del tuo gruppo scrivi nella tabella singole parole
A SCUOLA

o definizioni che associ ai vari quesiti in modo da dare il via a un dibattito in classe.

Durante il dibattito, evidenzia in giallo le parole o le frasi che hai scritto che ritieni corrette, in rosso
quelle su cui hai dubbi e in verde quelle che ritieni essere oggetto di discussione.
Guarda il video che puoi reperire all’indirizzo http://tiny.cc/nldeiy e cerca di comprendere il tema
concentrando la tua attenzione sugli sviluppi del progetto, sui personaggi e su singoli aspetti che ti
incuriosiscono.
Appunta domande, dubbi, curiosità che discuterai in classe con il tuo insegnante e i tuoi compagni.
A CASA

Informazioni acquisite Dubbi Curiosità


• • •
• • •
• • •
• • •

La conduzione della sfda


Riprendi la tabella precedente e metti in comune le tue idee con quelle dei compagni del tuo gruppo.
Compila una mappa concettuale che riesca a riassumere il contenuto del video e delle informazioni
che hai acquisito con eventuali ulteriori ricerche.
A SCUOLA

OFFICE

164 Sezione C Il documento elettronico


Da solo o insieme ai compagni del tuo gruppo, svolgi un lavoro di approfondimento, provando a
effettuare ulteriori ricerche su MS-DOS e sui sistemi Apple. Cerca di far emergere le differenze tra
i diversi sistemi operativi e di evidenziare quali sono state le evoluzioni più significative, puntando
l’attenzione sull’utilizzo da parte dell’utente. Annota la fonte informativa (siti internet, libri, riviste,
dispense, ecc.) così da poter discutere in modo documentato a scuola.
Elenca in una tabella le principali caratteristiche dei sistemi operativi che hai riscontrato nella ricerca:
A CASA

Sistema operativo Caratteristiche

La conclusione della sfda


Ora facciamo un salto indietro nel tempo! Oggi usiamo Internet, i sistemi operativi, scriviamo e
calcoliamo (pensa a Office), leggiamo libri con il computer. E in passato? Come è nato il libro stam-
pato? Guarda il seguente video per approfondire il discorso:
http://tiny.cc/tmdeiy
Se, dopo la visione, qualcosa non ti è chiaro, effettua altre ricerche su Internet. Sulla base delle
informazioni che hai ricavato dalla visione del filmato, dalle risposte che hai dato ai vari quesiti e dai
lavori condotti nel tuo gruppo a scuola, prova a rispondere ai seguenti quesiti e discuti le risposte
insieme ai compagni del tuo gruppo e al tuo insegnante.

Domanda Risposta

Chi era Gutenberg?


A CASA

Che cos’è la xilografia?

Che cosa ha inventato Gutenberg?

Che cosa hanno in comune la Bibbia e


Gutenberg?

Che cosa ti ha incuriosito particolarmente?

Concludi il tuo percorso visionando il seguente filmato:


http://tiny.cc/lndeiy
Si parla di Marshall McLuhan. Hai compreso chi è e di che cosa si occupava? Prova, ora, a ricucire
il percorso fatto sinora. Siamo partiti da Microsoft, dai sistemi operativi, dai libri e siamo giunti a
Gutenberg e a McLuhan. Rielabora i tuoi appunti e tienili pronti per l’attività finale a scuola.
A SCUOLA

Insieme con i compagni del tuo gruppo, realizza una presentazione in PowerPoint che metta in luce
il percorso a ritroso sviluppato in questa lezione. Aggiungete alla presentazione le vostre interpreta-
zioni e i vostri commenti in modo da far emergere questo connubio tra presente e passato.

Il documento elettronico Sezione C 165


C1 Scrivere con
un elaboratore di testi
LABORATORI “CASE STUDIES”
Approfondisci con i casi pratici

ESERCIZI COMMENTATI
Segui la risoluzione passo passo

APPROFONDIMENTI
IMPARERAI…

Che cos’è un Come impostare Come inserire tabelle, Come stampare Come gestire
elaboratore di testi un documento e elenchi puntati e un documento un documento
come formattare tabulazioni in stampa
testi e paragraf unione

1 L’elaborazione dei testi


Gli elaboratori di testi (in inglese word processor), o programmi di videoscrit-
tura, non servono soltanto per scrivere testi, ma anche per dare ai documenti un
formato professionale e gradevole a seconda delle esigenze, sfruttando la possibi-
lità di inserire disegni, immagini e quant’altro necessiti (impaginazione).
Nella scrittura del testo, il word processor si comporta in modo simile a una mac-
china per scrivere, ma facilita l’immissione attraverso varie funzionalità, ad esem-
pio comandi di annullamento e ripetizione, cancellazione, spostamento, inseri-
mento nel punto desiderato, allineamento automatico ai margini e molte altre.

Lo sai?
2 Creare un nuovo documento: i modelli
Il cursore, una barretta Un nuovo documento appare come un foglio bianco con il cursore posizionato all’i-
verticale lampeggiante, nizio. Per ottenere documenti esteticamente validi e professionali, è importante:
indica in che punto
verranno inseriti i • definire il formato, cioè le dimensioni in altezza e larghezza del foglio di carta.
caratteri digitati da
I formati standard più comuni sono quelli della serie A (A3, A4, A5, ecc.);
tastiera. Puoi spostarlo
nel testo già inserito • impostare i margini superiore, inferiore, sinistro e destro della pagina, che mi-
usando il mouse o i surano la distanza dal bordo e definiscono lo spazio in cui non si può scrivere.
tasti freccia, o anche Ad esempio, considerando un foglio A4 (21×29,7 cm) con 2 cm di margine in
in un altro punto del
foglio privo di testo tutte le direzioni, rimane un’area di stampa di 17×25,7 cm;
facendo doppio clic su • impostare l’orientamento della pagina in orizzontale (landscape) o verticale
di esso. (portrait).
Per impostare le opzioni delle pagine puoi utilizzare la scheda LAYOUT DI PAGINA
di Word:
• per impostare il formato, fai clic sul pulsante Dimensioni e seleziona il formato
di carta che desideri;
• per impostare i margini, fai clic sul pulsante Margini, che apre un elenco di
impostazioni comuni. Se preferisci impostare i margini in piena libertà, dopo

166 Sezione C Il documento elettronico


aver fatto clic sul pulsante Margini fai clic sulla
voce Margini personalizzati: si apre la finestra di
dialogo Imposta pagina, in cui puoi specificare i va-
lori esatti di tutti i margini. Se non vuoi cambiare
le impostazioni dei margini per tutto il documen-
to, ma soltanto dal punto in cui ti trovi in poi, fai clic su Applica a: e seleziona
l’opzione Da questo punto in poi;
• per impostare l’orientamento, fai clic sul pulsante Orientamento e scegli il for- PERSONAGGI
mato orizzontale o verticale. Giuseppe Ravizza
(Novara, 1811 –
Talvolta, invece di usare un documento vuoto, potrà esserti utile partire da un Livorno, 1885) è stato
modello preimpostato. Pensa ai casi più comuni: curriculum, lettera, relazione, un inventore italiano.
A lui si deve la prima
fax, dépliant, buste e così via. macchina per scrivere,
brevettata con il nome
Un modello non è altro che un file contenente varie informazioni relative agli di cembalo scrivano.
Ravizza concepì questo
stili di paragrafo e di carattere, all’impostazione della pagina e così via. strumento per scopi
umanitari: permettere
Per usare un modello, fai clic sulla scheda FILE e seleziona Nuovo. Si apre la co- ai ciechi di scrivere.
Nacque così anche
siddetta visualizzazione Backstage, che mostra i modelli disponibili nel computer una nuova professione:
locale e anche quelli accessibili sul sito Office.com. Scegline uno, ad esempio un la dattilografia. Con il
curriculum, facendo clic su di esso per visualizzarne l’anteprima: se ti piace, fai clic passare del tempo, le
sul pulsante Crea in basso a destra: si aprirà un documento con l’indicazione dei macchine per scrivere
sono state perfezionate
campi da riempire o da cancellare ed esempi di compilazione che puoi sostituire, sempre di più; gli
mantenendo la formattazione. Quando hai terminato di impostare il documento, ultimi modelli erano
puoi salvarlo come normale documento di Word (con estensione .docx). provviste di tastiere
collegate a dispositivi
elettrici ed elettronici
che permettevano di
stampare su carta
documenti sempre più
precisi ed efficaci.

3 Gli elementi di base di un documento


GLOSSARIO
La fase di elaborazione di un documento consiste innanzitutto nel progettare il
elaborare un testo
layout, ossia la disposizione grafica di tutti gli elementi (testi e immagini) per ga- significa progettare il
rantire la massima chiarezza dei contenuti e allo stesso tempo fornire una certa layout e formattare il
vivacità in grado di attirare l’interesse del lettore. testo.

Scrivere con un elaboratore di testi C1 167


Nella figura che segue puoi vedere un documento campione in cui sono evidenzia-
ti i principali elementi del layout e le formattazioni applicate.

Allineamento Titolo: è distinto nettamente dal corpo del


centrato testo mediante un tipo di carattere diverso, più
Orientamento: la pagina è grande e colorato, e uno sfondo di paragrafo. In
disposta in verticale sul foglio questo modo si attira l’attenzione del lettore.
di carta

Margini: hanno pari


dimensioni a sinistra e a
destra, per cui la colonna
di testo risulta centrata nel
foglio

Sottotitolo: in questo caso


si tratta di una citazione, per
cui si è scelto un carattere
corsivo e un allineamento
sbandierato a destra

Allineamento a destra

Corsivo

Rientro della prima riga

Grassetto

Allineamento giustificato

Elenco numerato: utilizzato


per elenchi di voci in
successione ordinata

Paragrafi: sono spaziati


in verticale e presentano
la prima riga di testo
rientrata rispetto alle altre.
L’allineamento è giustificato a
pacchetto

Spazi tra i paragrafi

Formattazioni di carattere: il
grassetto attira l’attenzione
su alcuni termini importanti,
mentre il corsivo è utilizzato
per evidenziare termini di
particolare significato

Margine sinistro, superiore,


destro, inferiore

168 Sezione C Il documento elettronico


4 Salvare, chiudere e aprire un documento
Per salvare un documento, fai clic sul pulsante presente sulla barra degli stru-
menti rapidi, oppure fai clic su FILE e seleziona Salva.
Se selezioni Salva con nome si apre una
finestra di dialogo in cui puoi scegliere il
nuovo nome da assegnare al file, la car-
tella di destinazione e il formato di sal-
vataggio (docx, doc, pdf, rtf, ecc.).
Per chiudere il file basta fare clic sulla
scheda FILE e selezionare il comando
Chiudi. Facendo clic sul pulsante
nell’angolo superiore destro della fine-
stra dell’applicazione, chiudi la finestra
corrispondente. Se questa è l’unica fi-
nestra di dialogo aperta, verrà chiusa
anche l’applicazione, ma se sono aper-
te altre finestre con documenti, queste
non verranno chiuse e potrai continuare
tranquillamente a lavorarci.
Per aprire un file esistente, fai clic sulla
scheda FILE e seleziona Apri. Viene vi-
sualizzata una finestra di dialogo nella
quale puoi selezionare il file da aprire o
digitare il suo nome.

5 La formattazione del testo


Oltre a scrivere il testo, devi definire la forma che più ti piace e personalizzare il
tuo documento. Occorre, cioè, dare un formato ai componenti: caratteri, parole,
paragrafi e pagine. Questa operazione si chiama formattazione.
Definiamo alcuni importanti componenti del documento. Carattere: segno grafico utilizzato in
tipografia per rappresentare lettere,
segni di interpunzione, cifre e altri
simboli (grafemi)

Parola: sequenza di caratteri


preceduta e seguita da uno spazio o
da un segno di interpunzione

Frase: sequenza di parole che inizia


con una lettera maiuscola e termina
con un punto, un punto interrogativo o
un punto esclamativo

Paragrafo: porzione di testo che


termina quando si preme il tasto Invio

Scrivere con un elaboratore di testi C1 169


Lo sai? Quando leggi un libro o un giornale, puoi osservare che le lettere possono avere
forme, dimensioni, spessori e colori diversi:
I programmi di
videoscrittura hanno
un approccio del
tipo WYSIWYG (What
You See Is What You Le parole dell’esempio sono state scritte con differenti tipi di caratteri e format-
Get), che si traduce
tate diversamente.
in “quello che vedi è
quello che ottieni” e Esistono molti tipi di caratteri, che possono essere bastoni oppure con grazie, a
indica il fatto che il seconda che siano lineari o presentino dei segni nelle parti terminali.
documento stampato
sarà esattamente
come quello che vedi
sullo schermo.
A è con grazie ( font: Times New Roman) A è bastoni ( font: Franklin Gothic)
Un altro aspetto importante è la dimensione o corpo, che misura la distanza tra
il limite superiore delle lettere ascendenti (t, d, ...) e quello inferiore delle lettere
discendenti (g, q, ...). Esistono diverse unità di misura, ma principalmente si usa il
punto: 1 punto = 1/72 di pollice (pari a 0,35278 mm).

font: Times New Roman

Argilla dimensione: 38 punti

Lo sai?
Nei font proporzionali (o tipografici) la larghezza di ogni carattere può variare.
Infine, puoi definire meglio lo stile del carattere, decidendo se il tratto deve essere
Il termine spaziatura normale (si dice anche tondo), corsivo, grassetto o sottolineato. Puoi anche com-
può indicare la
larghezza dei caratteri: binare queste qualità. Ad esempio:
nei font a spaziatura
fissa ogni carattere frase in corsivo e in grassetto
ha la stessa larghezza. frase in grassetto e sottolineata
In editoria elettronica,
il termine spaziatura frase in corsivo, in grassetto e sottolineata
è usato anche per
indicare lo spazio
verticale tra i paragrafi. Tipo di carattere Dimensioni Aumenta Riduce Maiuscole/ Cancella
carattere carattere carattere minuscole formattazione

Grassetto Colore carattere

Colore evidenziatore
Corsivo
carattere

Sottollineatura Barrato Pedice Apice Effetti Carattere

Se fai clic sul pulsantino Carattere riportato nella precedente figura, si apre l’omo-
nima finestra di dialogo dalla quale puoi scegliere le stesse tipologie di formatta-
zioni previste dal gruppo Carattere, ma anche apportarne delle altre. Ora osserva
la figura riportata a pagina seguente.

170 Sezione C Il documento elettronico


Modifica
lo stile

Modifica il tipo Modifica


di carattere la dimensione

Modifica il colore Consente di


di carattere sottolineare il
testo

Effetti speciali
Osserva in particolare:
Maiuscoletto: indica
dei caratteri di forma Anteprima
maiuscola che hanno del risultato finale
però un corpo minore
dei caratteri maiuscoli
della stessa famiglia

6 Selezionare, copiare e spostare il testo


I formati possono essere definiti per singoli caratteri o per porzioni maggiori di
testo. In generale, devi selezionare l’insieme dei caratteri che vuoi formattare, che
appariranno a sfondo evidenziato, e applicare le scelte desiderate.

Per Fai così


Selezionare uno o più caratteri Trascina il mouse su di essi tenendo premuto il pulsante
o parti di testo sinistro oppure sposta il cursore con Maiusc + Freccia
Selezionare una parola Doppio clic su di essa
Selezionare parola per parola a Ctrl+Maiusc+Freccia destra o sinistra
destra o a sinistra
Selezionare parole o testo non Selezionare le parole o trascinare sul testo tenendo premuto
consecutivo il tasto Ctrl
Selezionare una frase Cliccare con il tasto sinistro del mouse dentro la frase tenen-
do contemporaneamente premuto il tasto Ctrl della tastiera
Selezionare un paragrafo Doppio clic sul margine a sinistra del paragrafo oppure triplo
clic in un punto del paragrafo
Selezionare tutto il documento Triplo clic sul margine a sinistra oppure
clic sul pulsante Selezione (scheda HOME, gruppo Modifca)
e poi su Seleziona tutto, oppure Ctrl+clic sul margine a sini-
stra, oppure Ctrl+5 (tastierino numerico) o Ctrl +A
Tagliare un testo Seleziona il testo e poi clic su oppure premi Ctrl+X
Copiare un testo Seleziona il testo e poi clic su oppure premi Ctrl+C
Incollare un testo
Seleziona il testo e poi clic su oppure premi Ctrl+V

Scrivere con un elaboratore di testi C1 171


a sinistra
7 Formattare i paragrafi
centrato
Una caratteristica che devi sempre definire per i paragrafi è l’allineamento. Un
a destra paragrafo può essere allineato a sinistra, a destra, al centro o giustificato rispetto
allo spazio che ha a disposizione (giustezza), che può essere una pagina, una ca-
giustificato
sella di testo, la cella di una tabella. Osserva i seguenti esempi:
Questo testo è allineato a sinistra (mentre a destra ha un margine
Lo sai? irregolare o a bandiera). Questo allineamento si presta a didascalie o testi
brevi.
Puoi copiare la Questo testo è centrato rispetto ai margini (si dice a epigrafe);
formattazione
applicata a un
si tratta di un allineamento adatto per titoli e testi brevi da evidenziare.
paragrafo o a una
parola senza rifare Questo testo è allineato a destra (mentre a sinistra ha un margine
tutte le operazioni irregolare o a bandiera). Questo allineamento è utile per esempio
svolte per realizzarla. nell’intestazione del destinatario di una lettera, che comprende nome,
Seleziona la parola o il
paragrafo che contiene
cognome, indirizzo.
la formattazione
che vuoi applicare e Questo testo è giustificato (cioè allineato sia a sinistra sia a destra). Il
fai clic sul pulsante programma inserisce automaticamente degli spazi per fare arrivare il testo fino
che ai margini; soltanto l’ultima riga del paragrafo può terminare in qualsiasi punto.
si trova nel gruppo
Appunti della scheda Un altro elemento importante, che può rendere più leggibile o più vario il testo,
HOME di Word,
quindi “spennella” è l’interlinea, che definisce lo spazio tra due righe di testo e può essere singola,
la zona di testo a doppia, di una riga e mezzo o di un valore specificato. Normalmente, maggiore è il
cui vuoi applicare la corpo del carattere e maggiore è l’interlinea.
formattazione.
Osserva gli esempi seguenti:
Interlinea di una riga Interlinea esatta
Interlinea singola Interlinea doppia
e mezza (18 pt)
QUI COMINCIA IL QUI COMINCIA IL QUI COMINCIA IL QUI COMINCIA IL
LIBRO DI MESSERE
LIBRO DI MESSERE LIBRO DI MESSERE
MARCO POLO DI LIBRO DI MESSERE
VENEZIA, CHE SI MARCO POLO DI MARCO POLO DI
CHIAMA MILIONE MARCO POLO DI
VENEZIA, CHE SI VENEZIA, CHE SI
VENEZIA, CHE SI CHIAMA MILIONE
Lo sai? CHIAMA MILIONE
CHIAMA MILIONE
Con lo strumento
Zoom puoi scegliere Per impostare queste caratteristiche in un paragrafo procedi come segue:
con quale percentuale
di ingrandimento • Porta il cursore all’interno del paragrafo e usa i seguenti pulsanti.
vedere un documento.
Mostra tutto
Per impostare lo zoom,
utilizza il cursore
che trovi nell’angolo Allinea Bordi
inferiore destro della a sinistra
finestra di Word,
oppure serviti del Sfondo
gruppo Zoom nella
scheda VISUALIZZA. Allinea Allinea Giustifica Interlinea Impostazioni
al centro a destra e spaziatura paragrafo paragrafo

172 Sezione C Il documento elettronico


• Facendo clic sulla freccetta in basso a destra
si apre la finestra di dialogo Paragrafo,
dove puoi impostare tutte le caratteristiche
che desideri. Puoi anche definire la spaziatu-
ra prima e dopo il paragrafo, per aumentare
o diminuire lo spazio che separa il paragrafo
dal precedente o dal successivo. Un comodo
riquadro di anteprima ti permette di verifica-
re il risultato prima di applicare le scelte di
formattazione.

8 Applicare bordi e sfondi al testo


Per evidenziare uno o più paragrafi, per esempio l’intestazione di un documento o
un riquadro con particolari informazioni, puoi racchiuderli all’interno di una cor-
nice (applicando dei bordi), oppure farli comparire su uno sfondo di colore diverso.
Per aggiungere un bordo, porta il cursorse all’interno del paragrafo o seleziona
i paragrafi interessati, poi fai clic sulla freccia del pulsante Bordo (scheda
HOME, gruppo Paragrafo): si apre un menu con vari pulsanti che consentono di
applicare il tipo di bordo desiderato (puoi attivarne più di uno). Per impostazioni
più avanzate relative ai bordi, scegli la voce Bordi e sfondo dal menu del pulsante
Bordo: viene visualizzata una finestra in cui hai a disposizione numerose opzioni
per personalizzare i bordi e lo sfondo come desideri. Facendo clic su un lato o sul Rifetti
corrispondente pulsante, nella sezione Anteprima, puoi scegliere dove applicare il
bordo. Quando scrivi un
paragrafo che si
estende su più righe
puoi notare che,
continuando a digitare,
il testo va a capo
automaticamente
rispettando
l’allineamento
impostato. Se desideri
andare a capo, ma
senza definire un
nuovo paragrafo, devi
inserire un’interruzione
di riga premendo i tasti
Maiusc+Invio.
Se, invece, vuoi inserire
un’interruzione di
pagina, premi i tasti
Ctrl+Invio.

Scrivere con un elaboratore di testi C1 173


OSSERVA COME SI FA
1 Copia il seguente brano senza apportare alcuna formattazione (usa soltanto gli a capo,
che vedi riportati nella fgura). Segui le indicazioni riportate nella tabella per ottenere il
risultato riprodotto. In alternativa, puoi utilizzare il fle con il testo presente nei mate-
MATERIALI PER riali per le esercitazioni e procedere con la formattazione.
LE ESERCITAZIONI

174 Sezione C Il documento elettronico


Fai così
Impostare • Clic sulla scheda LAYOUT DI PAGINA.
i margini • Clic sul pulsante indicato dalla freccia all’estrema sinistra del nome del gruppo Layout di pagi-
na .
• Nella fnestra di dialogo, all’interno delle caselle Superiore, Inferiore, Destro e Sinistro digita 3.
• Clic su OK.
Impostare • Clic sulla scheda HOME.
i paragraf • Clic su presente nel gruppo Modifca e scegli la voce .
• Clic sul pulsantino del gruppo Paragrafo. Nella sezione Spaziatura imposta 0 pt in Prima e
0 pt in Dopo. Clic su OK.
• Clic in un punto qualsiasi del testo per deselezionare tutto il testo.
Formattare • Guardando la fgura, inserisci le interruzioni di paragrafo (cioè gli a capo) .
i caratteri • Seleziona il testo iniziale Il Gran Sasso d’Italia.
e impostare • Clic su della casella Tipo di carattere del gruppo Carattere e seleziona Bradley Hand ITC.
gli allineamenti • Clic su della casella Dimensione carattere del gruppo Carattere e seleziona 28.
• Clic su (Grassetto) del gruppo Carattere.
• Clic su (Colore carattere) del gruppo Carattere e imposta il colore Rosso.
• Clic su (Allinea testo al centro) del gruppo Paragrafo.
• Seleziona tutto il testo Un Mondo di Natura, di Cultura, Tradizioni e Divertimento.
• Procedi come hai fatto sinora applicando le seguenti formattazioni:
• Tipo di carattere Verdana, Dimensione carattere 12, Colore carattere Blu, Allinea al centro.
• Dal primo paragrafo seleziona Gran Sasso e applica il Grassetto e il colore Rosso scuro .
• Clic all’interno della parola Appennini e applica il formato Sottolineato , poi seleziona il testo
il Corno Grande e sottolinea anche questo.
• Seleziona la parola Aquila e applica il Grassetto . Procedi allo stesso modo per le parole
Teramo e Pescara (per queste due ultime puoi semplicemente fare clic al loro interno senza
evidenziare per applicare il grassetto).
• Applica il Corsivo a “Piana di Campo Imperatore” e a “Piccolo Tibet”.
• Seleziona tutto il paragrafo che va da Nei periodi sino a sterrate di montagna ed applica insie-
me i formati Grassetto e Corsivo .
• Seleziona il testo da Luoghi sino a Rosa Canina.
• Clic su del gruppo Carattere per evidenziare il testo di giallo.
• Seleziona l’ultimo paragrafo (quello relativo alla fonte) e applica il formato Corsivo .
Copiare • Clic sulla parola Gran che avevi formattato in Grassetto e Rosso scuro.
il formato • Doppio clic su del gruppo Appunti.
• Evidenzia nel primo paragrafo il testo Gran Sasso d’Italia e nel secondo paragrafo il testo Parco
nazionale del Gran Sasso e Monti della Laga.
• Procedi con l’applicazione di questo formato selezionando tutte le altre parole che vedi in fgu-
ra. Ricorda che se non vuoi selezionare puoi semplicemente fare clic all’interno della parola:
la formattazione sarà applicata ugualmente.
• Premi il tasto Esc per disattivare la modalità copia formato.
Applicare bordi • Seleziona il testo da Il Gran Sasso sino a tradizioni e divertimento all’inizio del documento.
e sfondi • Clic su del gruppo Paragrafo e seleziona il colore Giallo, poi clic su e dal menu
ai paragraf seleziona l’ultima voce Bordi e sfondo.
• Nella scheda Bordi fai clic su Ombreggiatura, poi dalla casella Stile scegli .
clic su della casella Colore e scegli Arancione, Colore 2, 25% più scuro. Clic su OK.
Salvare • Clic su della Barra di accesso rapido e nella fnestra di dialogo che viene visualizzata digita
e stampare GranSasso1 nella casella Nome fle.
• Seleziona l’unità disco in cui vuoi salvare il documento.
• Clic sul pulsante Salva, poi sulla scheda FILE e scegli Esci.

Scrivere con un elaboratore di testi C1 175


Rifetti 9 Anteprima e stampa di un documento
Per avviare la stampa, fai clic su FILE e seleziona Stampa. Dalla finestra di dialogo
Puoi impostare le che viene visualizzata, puoi impostare alcune opzioni (scegliere la stampante da
pagine in qualsiasi
momento, ma
utilizzare, indicare il numero di copie e la parte di documento da stampare, ecc.) e
conviene farlo prima di confermare la stampa con un clic sul pulsante Stampa.
cominciare a scrivere, Prima di stampare il documento, o comunque ogni volta che vuoi controllare
così da poter avere da
subito un’idea precisa
come appare nel suo complesso, puoi dare uno sguardo all’anteprima, visibile di-
di come apparirà il rettamente accanto alle opzioni di stampa, in modo da poter correggere eventuali
documento stampato. impostazioni errate.

Opzioni
di stampa

Anteprima
di stampa

Imposta pagina

Zoom
dell’anteprima

10 Il righello e i rientri
Puoi visualizzare in testa al foglio un righello, una specie di riga che somiglia a
un metro e rappresenta la larghezza della pagina, attivando l’opzione Righello nel
gruppo Mostra della scheda VISUALIZZA. Questo strumento è estremamente utile
per formattare il testo assegnando ai paragrafi rientri, margini e tabulazioni. La
zona in grigio corrisponde ai margini, quella bianca all’area di stampa. Puoi trasci-
Rientro nare la linea che separa queste due aree per modificarne la misura. I piccoli trian-
sporgente goli grigi e il quadratino servono per definire i rientri, cioè la distanza del testo dai
Rientro
margini. Per impostare i rientri seleziona il paragrafo, o semplicemente posiziona
prima riga il cursore al suo interno, e trascina con il mouse i piccoli cursori sul righello.

Margine destro Rientro sinistro di tutte le righe Imposta rientro destro Margine destro

176 Sezione C Il documento elettronico


Le seguenti figure ti aiuteranno a comprendere i risultati ottenuti dopo l’applica-
zione dei vari rientri:
Rientro di un intero paragrafo Il rientro è la distanza tra un
paragrafo e il margine sinistro
o destro.
In questo paragrafo
abbiamo impostato
un rientro sinistro
e un rientro destro.

Rientro della prima riga In questo paragrafo ab-


biamo impostato un rientro
della prima riga.
Rientro di tutte le righe tranne la prima In questo paragrafo abbiamo
impostato un rientro
di tutte le righe tranne
la prima (detto anche
rientro sporgente).

11 Gli elenchi puntati e numerati


Un elenco si definisce numerato se le voci sono introdotte da numeri (arabi o
romani) o da lettere, in modo che sia rispettato un criterio di ordinamento. Si de-
finisce, invece, puntato se le voci sono semplicemente precedute da uno stesso
simbolo, poiché non ha importanza porre in evidenza l’ordinamento.
Elenco puntato Elenco numerato
• Il Codice da Vinci 1. Il Codice da Vinci
• Angeli e Demoni 2. Angeli e Demoni
• Il simbolo perduto 3. Il simbolo perduto
Per creare un elenco puntato o numerato, inserisci le voci dell’elenco
una sotto l’altra, selezionale e fai clic sul pulsante presenti
nella scheda HOME, gruppo Paragrafo. Se fai clic sul pulldown del pul-
sante (cioè sulla freccetta posta alla destra del pulsante) si apre un elenco dal quale
puoi scegliere il punto elenco o il tipo di numerazione che intendi assegnare. Se
vuoi creare automaticamente un elenco puntato o numerato durante la digitazio-
ne, devi digitare 1. oppure *, seguito da uno spazio o da una tabulazione e dal testo
desiderato. Quando premi Invio per aggiungere all’elenco la voce successiva, viene
inserito automaticamente il numero o il punto elenco successivo.
Facendo clic su Definisci nuovo punto elenco (o Definisci nuovo formato numero)
accedi a opzioni più dettagliate per personalizzare gli elenchi a tuo piacimento.
Per rimuovere il formato di elenco puntato o di elenco numerato (e i simboli cor-
rispondenti), seleziona l’elenco e fai clic su uno dei due pulsanti appena visti. Per
terminare l’elenco, premi due volte Invio o cancella l’ultimo numero o simbolo.
Per portare a capo il cursore all’interno di un elenco senza creare un nuovo punto
elenco premi la combinazione di tasti Maiusc+Invio.

Scrivere con un elaboratore di testi C1 177


Quando si crea un elenco annidato, si può scegliere di creare prima l’elenco e ap-
plicare poi i livelli.
Puoi usare tasti di scelta rapida per spostare su e giù nel paragrafo i livelli. Posizio-
na il cursore all’inizio del paragrafo numerato e premi i tasti Tab per scendere di
un livello, Maiusc+Tab per salire di un livello
Per inserire una tabulazione all’inizio di un paragrafo numerato (posizionati dopo
il numero e prima del testo), premi Ctrl+Tab.

OSSERVA COME SI FA
1 Disponiamo il testo su più colonne e
lavoriamo con immagini e WordArt.
Copia il seguente brano senza apportare
alcuna formattazione (usa soltanto gli a
capo, che vedi riportati nella fgura). Segui
le indicazioni riportate nella tabella che
segue per ottenere il risultato riprodotto
in fgura. Puoi utilizzare i fle forniti con i
materiali per le esercitazioni, oppure inse-
rire direttamente i testi e utilizzare imma-
gini simili cercate su Internet.

MATERIALI PER
LE ESERCITAZIONI

Fai così!
Impostare • Clic sulla scheda LAYOUT DI PAGINA.
i margini • Clic sul pulsante indicato dalla freccia all’estrema sinistra del nome del gruppo Layout di
pagina .
• Nella fnestra di dialogo, all’interno delle caselle Superiore, Inferiore digita 1 cm. e nelle casel-
le Destro e Sinistro digita 1,5 cm. Clic su OK.

178 Sezione C Il documento elettronico


Impostare • Clic sulla scheda HOME, poi clic su nel gruppo Modifca e scegli .
i paragraf • Clic sul pulsantino del gruppo Paragrafo. Nella sezione Spaziatura imposta 0 pt in Prima e
0 pt in Dopo. Clic su OK.
• Clic in un punto qualsiasi del testo per deselezionare tutto il testo.
Formattare • Seleziona tutto il testo e clic su (Giustifca) del gruppo Paragrafo.
i caratteri • Seleziona il testo da Le indicazioni sino a di origine vegetale.
e impostare • Clic su della casella Dimensione carattere del gruppo Carattere e seleziona 12 (oppure clic
allineamenti una volta su ).
e margini • Clic su (Colore carattere) del gruppo Carattere e imposta il colore Rosso.
• Posiziona il puntatore del mouse sul pulsantino in basso (rientro sinistro) della clessidra
posta sul righello e spostalo sul valore 1,5.
• Posiziona il puntatore del mouse sul pulsantino (rientro destro) della clessidra posta sulla
parte destra del righello e spostalo sul valore 15.
• Clic sul pulsante di Elenchi puntati e scegli il simbolo · come punto elenco.
• Mantenendo premuto il tasto Ctrl seleziona i paragraf Grassi saturi, Cereali, Frutta e ortaggi,
Carne, pesce, uova e legumi, Latte e derivati, Acqua.
• Clic su (Grassetto) del gruppo Carattere.
• Clic su (Allinea al centro) del gruppo Paragrafo.
• Clic su del gruppo Paragrafo e seleziona il colore Verde.
• Premi Esc per disattivare la selezione.
Dividere il testo • Seleziona tutto il testo da Grassi saturi fno a dei processi biologici.
in colonne • Clic sulla scheda Layout di pagina, poi sul pulsante di Colonne, e clic su .
Inserire immagini • Clic sulla scheda INSERISCI.
• Clic sul pulsante Immagine del gruppo Illustrazioni.
• Ricerca sul tuo computer il fle Piramide.jpg incluso tra i materiali digitali del libro (o un’imma-
gine simile anche cercata su Internet) e poi fai clic sul pulsante Inserisci.
• Clic sull’immagine inserita.
• Clic sul pulsante Posizione presente nel gruppo Disponi della scheda FORMATO.

• Clic su Altre opzioni layout, poi sulla scheda Disposizione testo, poi su Ravvicinato.
• Clic su OK.
• Sempre con l’immagine selezionata, clic sulla scheda FORMATO. Nella casella Altezza forma
del gruppo Dimensioni digita 7,7 cm. Nella casella Larghezza forma digita 7 cm.
• Sposta l’immagine verso la parte centrale bassa del foglio (aiutati guardando l’immagine) in
modo che il testo delle due colonne sia equilibrato.
Inserire • Seleziona il testo Di cosa abbiamo bisogno.
un formato
WordArt • Clic sulla scheda INSERISCI. Clic su . Clic sull’effetto Riempimento – Blu, Colore 1,
Ombreggiatura.
• Il testo viene trasformato in immagine. Clic sul suo bordo.
• Clic sulla scheda Formato.
• Clic sul pulsante Posizione presente nel gruppo Disponi della scheda FORMATO.
• Clic su Altre opzioni layout, poi sulla scheda Disposizione testo.

• Clic sul pulsante In linea con il testo. Clic su OK.


• Se il testo Le indicazioni correnti non dovesse andare automaticamente su una nuova riga
posizionati alla sinistra del testo Le e premi Invio.
Salvare • Clic su della Barra di accesso rapido e digita Alimentazione1 nella casella Nome fle.
e stampare • Seleziona l’unità disco in cui vuoi salvare il documento.
• Clic sul pulsante Salva.
• Clic sulla scheda FILE e scegli Esci.

Scrivere con un elaboratore di testi C1 179


12 Le tabelle
Uno strumento molto utile è la tabella: si tratta di un insieme di celle disposte su
righe e colonne che permette di incolonnare numeri e/o testo.
Colonna Cella

Nominativo Indirizzo Telefono


Rossi Carla Via Po, 23 – Milano 02/12345678
Riga Verdi Mario Via Adige, 51 – Roma 06/87654321

Per creare una tabella fai clic nel punto in cui desideri inserirla e procedi nel
seguente modo:
• fai clic sulla scheda INSERISCI della barra multifunzione e, nel gruppo Tabelle,
fai clic sul pulsante Tabella;
• sulla griglia che appare, trascina il puntatore del mouse per selezionare il nu-
mero di righe e di colonne di cui deve essere composta la tabella;
Quando la tabella è attiva, sulla barra multifunzione compare la barra STRUMEN-
TI TABELLA con le schede contestuali PROGETTAZIONE e LAYOUT contenenti
numerose funzionalità per la gestione e personalizzazione del layout.
Quando viene creata, la tabella si adatta automaticamente ai margini della pagina
e le dimensioni delle righe e delle colonne sono uniformi. Per passare da una cella
a un’altra puoi anche usare il tasto Tab o i tasti con le frecce.
Per aggiungere una riga o una colonna posizionati dove vuoi inserirla, fai clic
con il pulsante destro del mouse e seleziona Inserisci, poi scegli l’elemento da inse-
rire con la relativa posizione. Se vuoi inserire più righe o più colonne, selezionane
un numero equivalente e poi richiama l’inserimento. Se vuoi aggiungere una riga
in fondo alla tabella, vai nell’ultima cella in basso a destra e premi il tasto Tab.
Per cancellare righe o colonne, seleziona gli elementi da cancellare, fai clic con
il pulsante destro del mouse e seleziona Elimina.
Per modificare l’altezza di una riga, punta sul bordo che la separa dalla succes-
siva e quando il puntatore del mouse assume la forma fai clic e trascina il bordo
in basso. Procedi nello stesso modo per modificare la larghezza di una colonna.
Per selezionare una riga o una colonna posiziona il puntatore
del mouse alla sinistra della riga o in testa alla colonna e quando
il puntatore assume la forma di una freccia nera fai clic con il pul-
sante sinistro.

Stili per le tabelle


Vediamo, ora, come dare un aspetto più attraente e professionale alle tabelle.
• Fai clic all’interno della tabella e poi clic sulla scheda PROGETTAZIONE della
barra STRUMENTI TABELLA. Nel gruppo Stili tabella potrai eseguire la scel-
ta dello stile che preferisci. Questi stili comprendono numerose formattazioni
quali caratteri, bordi, sfondi e così via, che puoi applicare in modo rapidissimo
con un solo clic del mouse. Se lo desideri, puoi anche modificare uno stile esi-
stente selezionando la voce Modifica stile tabella, oppure creare uno stile del
tutto nuovo selezionando Nuovo stile tabella.

180 Sezione C Il documento elettronico


• Se, invece, vuoi applicare bordi e sfondi a singole celle, righe
o colonne puoi servirti del pulsante Sfondo e dei pulsanti del
gruppo Bordi.
• Nella scheda LAYOUT puoi raggruppare celle, dividerle, disegnare nuove celle
o cancellarle, ecc. Puoi anche impostare l’allineamento del testo in orizzon-
tale o verticale: fai clic all’interno del testo che intendi allineare e poi sul pul-
sante Orientamento testo: vedrai che anche i pulsanti posti a sinistra cambie-
ranno automaticamente in modo da facilitarti la scelta dello stile da assegnare.

OSSERVA COME SI FA
1 Realizza il seguente documen-
to seguendo le indicazioni
fornite nella tabella. Il risultato
che dovrai ottenere è quello
riportato nella fgura.
Puoi utilizzare i fle forniti con
i materiali per le esercitazioni,
oppure inserire direttamente i
testi e utilizzare immagini simili
cercate su Internet.

MATERIALI PER
LE ESERCITAZIONI

Fai così
Impostare • Clic sulla scheda LAYOUT DI PAGINA.
i margini e • Clic sul pulsante indicato dalla freccia all’estrema destra del nome del gruppo Imposta pagina
l’orientamento .
• Nella fnestra di dialogo, all’interno delle caselle Superiore, Inferiore, Destro e Sinistro digita 2.
• Clic su OK.
• Clic su della casella Orientamento e scegli Orizzontale.
Impostare • Clic sulla scheda HOME.
i paragraf • Clic su presente nel gruppo Modifca e scegli la voce .
• Clic sul pulsantino del gruppo Paragrafo. Nella sezione Spaziatura imposta 0 pt in Prima e 0 pt
in Dopo. Clic su OK.
Formattare
• Clic su (Grassetto) del gruppo Carattere.
i caratteri
e impostare • Scrivi tutto il testo presente nell’attestato senza preoccuparti degli allineamenti.
allineamenti • Lascia una riga vuota tra XII EDIZIONE – Natale 2014 e ATTESTATO DI PARTECIPAZIONE.
• Lascia due righe vuote tra Premio alla creatività e Sig._______.
• Lascia due righe vuote tra Sig._______ e Il presidente della Commissione.

Scrivere con un elaboratore di testi C1 181


• Seleziona le prime due righe relative al nome dell’associazione.
• Clic su della casella Tipo di carattere del gruppo Carattere e seleziona algerian.
• Clic su della casella Dimensione carattere del gruppo Carattere e seleziona 20.
• Clic su (Colore carattere) del gruppo Carattere e imposta il colore Blu, Colore 1.
• Clic su (Allinea testo a destra) del gruppo Paragrafo.
• Seleziona le righe di testo da Concorso sino alla riga vuota prima di Sig._____________.
• Clic su (Allinea al centro) del gruppo Paragrafo.
• Seleziona le righe di testo da Concorso sino alla riga vuota prima di Attestato.
• Clic su della casella Tipo di carattere del gruppo Carattere e seleziona Franklin Gothic Book.
• Clic su della casella Dimensione carattere del gruppo Carattere e seleziona 24.
• Clic su (Colore carattere) del gruppo Carattere e imposta Verde oliva, Colore 3, 50% più scuro.
• Clic su (Corsivo) del gruppo Carattere.
• Seleziona le righe di testo da Attestato sino alla riga vuota prima di Sig. ____________.
• Clic su della casella Tipo di carattere del gruppo Carattere e seleziona Cooper Black.
• Clic su della casella Dimensione carattere del gruppo Carattere e seleziona 24.
• Clic su (Colore carattere) del gruppo Carattere e imposta Nero, Testo 1.
• Seleziona le righe da Sig._______ sino alla riga vuota prima di Il presidente della Commissione.
• Clic su della casella Tipo di carattere del gruppo Carattere e seleziona Harrington.
• Clic su della casella Dimensione carattere del gruppo Carattere e seleziona 22.
• Il restante testo deve essere Tipo testo Calibri dimensione 14 che rimane allineato a sinistra.
• Adegua la lunghezza delle linee di Sig.______ e quella ultima per la frma del presidente della
commissione basandoti sulla fgura.
• Servendoti della barra spaziatrice, sposta il testo Il Presidente della Commissione in modo che sia
allineato con la barra sottostante (fai riferimento alla fgura per orientarti).
Inserire • Clic sulla scheda LAYOUT DI PAGINA. Clic su Filigrana dal gruppo Sfondo pagina, poi su Filigrana
immagini personalizzata, poi su Filigrana immagine. Clic sul pulsante Seleziona immagine e cerca sul tuo
e fligrane computer il fle Presepe.jpg presente tra i materiali del libro (o usa un’altra immagine simile), poi
clic sul pulsante Inserisci.
• Clic su della casella Proporzioni e scegli il valore 50%. Clic su Applica.
• Clic sulla scheda Inserisci, poi sul pulsante Immagine del gruppo Illustrazioni. Cerca sul tuo compu-
ter il fle Decorazione.jpg presente tra i materiali del libro (o un’altra immagine simile) e poi fai clic
sul pulsante Inserisci.
• Clic sull’immagine inserita e poi sul pulsante nel gruppo Disponi della scheda FORMATO. Clic
su Altre opzioni layout, poi sulla scheda Disposizione testo e poi sul pulsante Davanti al testo.
• Sempre con l’immagine selezionata, clic sulla scheda Formato. Nella casella Altezza forma del
gruppo Dimensioni digita 14,5 cm. Nella casella Larghezza forma digita 15,3 cm.
• Sposta l’immagine verso l’angolo superiore sinistro del foglio in modo che il contorno dell’immagi-
ne coincida con quelli del foglio stesso.
• Clic sulla scheda HOME. Sempre con l’immagine selezionata clic su Copia e di seguito Incolla del
gruppo Appunti per ottenere una copia dell’immagine.
• Utilizzando il pulsantino effettua una rotazione dell’immagine di 180° come riportato in fgura.
• Con l’immagine selezionata clic sulla scheda FORMATO. Nella casella Altezza forma del gruppo
Dimensioni digita 10,5 cm. Nella casella Larghezza forma del gruppo Dimensioni digita 11 cm.
• Sposta l’immagine verso l’angolo inferiore destro del foglio in modo che il contorno dell’immagine
coincida con quelli del foglio stesso.
Salvare
• Clic su della Barra di accesso rapido e digita AttestatoNatale nella casella Nome fle.
e stampare
• Seleziona l’unità disco in cui vuoi salvare il documento, clic sul pulsante Salva, poi sulla scheda
FILE e scegli Esci.

182 Sezione C Il documento elettronico


ORA TOCCA A TE
1 Lavoriamo con immagini e tabelle.
Digita, in un nuovo documento Word, la tabella visualizzata in basso seguendo le indicazioni
presenti nei riquadri. Salva il fle con il nome Regioni.docx.

Scrivere con un elaboratore di testi C1 183


13 La correzione del testo
Rifetti Normalmente quando si lavora è attivato il controllo ortografico e grammati-
cale durante la digitazione del testo. Gli errori ortografici vengono evidenziati con
Come puoi notare, una sottolineatura rossa ondulata, mentre quelli grammaticali o di forma, come la
il correttore di punteggiatura errata, le ripetizioni di uno stesso vocabolo e così via, sono contrad-
Word, come del resto
quello di tutti gli altri
distinti da una sottolineatura verde ondulata.
programmi di scrittura,
non è infallibile. Però
aiuta!

Puoi comunque impostare le opzioni per la correzione attraverso la finestra Op-


zioni di Word che si apre facendo clic sulla scheda FILE e poi sul comando Opzioni.

Sostituire una parola errata


Posiziona il cursore sulla parola sottolineata e fai clic con il pulsante destro del
mouse: viene visualizzato un menu di scelta rapida con una lista di parole che pos-
sono sostituire il termine errato. Seleziona il termine appropriato facendo clic su
di esso e la correzione verrà apportata. Puoi anche decidere di rimandare la fase di
correzione a dopo l’inserimento del testo.
• Seleziona la scheda REVISIONE della barra multifunzione: a sinistra trovi il
gruppo Strumenti di correzione, in cui devi fare clic su Controllo ortografia e
grammatica.

184 Sezione C Il documento elettronico


Si avvia il controllo e nel lato destro della finestra di Word si apre un riqua-
dro dove appaiono gli errori rilevati e una casella con una serie di proposte
di correzione. Seleziona la correzione che ti sembra più adeguata, quindi
fai clic su Cambia e la correzione verrà effettuata. Se pensi di avere ripetuto
lo stesso errore ortografico più volte nel testo, scegli Cambia tutto e il pro-
gramma lo cercherà e correggerà in tutto il testo.
Anche nel caso di errori grammaticali, segnalati con il colore blu, sono sug-
gerite possibili soluzioni.

14 Trova e sostituisci
Durante l’elaborazione di un testo può essere necessario trovare e sosti-
tuire parole con altre più significative al fine di rafforzare il messaggio o i
concetti riportati. Per far questo, puoi utilizzare uno strumento che cerca
per te le parole impostate ed eventualmente le sostituisce con altre da te scelte: le
funzioni Trova e sostituisci.
Quando attivi la funzione Trova che puoi trovare nel gruppo Modifica della scheda
HOME, compare a sinistra un riquadro denominato Spostamento nel quale devi
digitare la parola o l’espressione da trovare. Nella parte sottostante del riquadro, ol-
tre alla parola o all’espressione trovata (che è evidenziata in giallo nel documento),
viene riportata anche parte del testo precedente.
Se vuoi ricercare altri elementi, ad esempio pa-
role Maiuscole/minuscole, caratteri jolly,
parole intere e così via, devi fare clic sul pul-
santino con la freccia rivolta verso il basso pre-
sente nella casella in cui hai digitato la parola
da cercare. Scegliendo Opzioni potrai effettuare
una ricerca più accurata.
Se vuoi trovare e sostituire del testo, devi usare il pulsante Sostituisci pre-
sente nel gruppo Modifica della scheda HOME.
Inserisci nella casella Trova il testo da ricercare e nella casella Sostituisci con il
testo con il quale vuoi sostituirlo. Ora fai clic su Trova successivo. Verrà ricercata la
parola che hai indicato. Se vuoi modificarla, fai clic su Sostituisci, e se vuoi ignorar-
Lo sai?
la, seleziona Trova successivo. Se invece vuoi sostituire tutte le occorrenze, fai clic
direttamente su Sostituisci tutto e il gioco è fatto. Alla ricerca di
sinonimi e contrari
Puoi notare la presenza del pulsante Altro: se fai clic su di esso si aprirà una nuova Se ti serve un aiuto
parte di finestra che ti consentirà di scegliere altri attributi del testo che intendi per trovare un
ricercare, in modo che l’operazione possa essere condotta in modo più preciso. sinonimo e/o un
contrario, fai clic con
il pulsante destro del
mouse sulla parola e
nel menu contestuale
scegli Sinonimi. Se i
termini riportati non
soddisfano le tue
esigenze e desideri un
elenco più dettagliato,
scegli l’ultima voce:
Thesaurus.

Scrivere con un elaboratore di testi C1 185


RIPASSIAMO INSIEME
MAPPA
SCRIVERE CON UN ELABORATORE DI TESTI MODIFICABILE

Che cos’è un elaboratore di testi?

È un programma con cui si possono I modelli di Word sono


non solo scrivere testi, ma anche utili per creare nuovi
impaginare documenti con vari documenti in parte già
elementi (immagini, tabelle e così via). impostati.

Numeri e testi possono essere


Con la formattazione si disposti in modo ordinato
assegna un formato ai vari utilizzando le tabelle, formate
componenti di un testo: da un insieme di celle
caratteri, paragrafi e pagine. disposte su righe e colonne.

Per i caratteri puoi Gli elenchi possono essere formattati


impostare tipo, corpo, come puntati o numerati.
colore e vari effetti.

Per i paragrafi puoi Negli elenchi puntati le


impostare allineamento, singole voci sono introdotte
interlinea e spaziatura, da un simbolo che puoi
oltre a bordi e altri scegliere a piacimento.
formati.

Negli elenchi numerati le


Per le pagine puoi
singole voci sono introdotte
impostare dimensioni,
da un numero progressivo.
margini e altre opzioni.

186 Sezione C Il documento elettronico


C1
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Un elaboratore di testi serve a svolgere


calcoli su dati numerici (A) .............................................. ☐ V ☐ F

2) Le tabelle consentono di disporre numeri e testi


per righe e colonne (I) ........................................................ ☐ V ☐ F

3) Negli elenchi puntati le singole voci sono


ordinate con un numero iniziale (G) ............................ ☐ V ☐ F

4) Con un elaboratore di testi puoi formattare


i caratteri scegliendo un particolare colore (C) .... ☐ V ☐ F

5) La formattazione serve a definire un formato


per i vari componenti di un testo (B) ......................... ☐ V ☐ F

Completa le affermazioni seguenti.

6) Numeri e testi possono essere disposti ordinatamente


servendosi delle ……....................... (I)

7) Gli elenchi possono essere formattati in due modi: come


……...........…………. e come ..................................... (F)

8) Per i paragrafi puoi impostare allineamento, interlinea e


.............................................. (D)

9) Negli elenchi ……...........…………. le singole voci sono introdotte


da un numero progressivo (H)

10) Per creare nuovi documenti in parte già impostati puoi


utilizzare i ...................................... di Word (L)

11) Per le ..................................... puoi impostare margini, dimensioni


e altre opzioni (E)

Scrivere con un elaboratore di testi C1 187


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo C1
Risposta singola Completamento
1 I documenti di Word hanno estensione: 8 Completa le seguenti frasi.
A .bmp A Il carattere è qualunque __________
B .wrd utilizzato in tipografia per rappresentare
le __________, i __________, le __________
C .docx
e altri simboli.
D .gif
B La parola è una sequenza di __________
2 Premendo il tasto Canc: che a sinistra e a destra ha uno __________
un __________.
A cancello l'intera riga
B cancello solo gli spazi vuoti C Corpo di un carattere è sinonimo
di __________.
C cancello il carattere a destra del cursore
D cancello il carattere a sinistra del cursore
9 Completa le seguenti frasi.
3 Premendo il tasto Fine: A La combinazione di tasti Ctrl+C serve a
A chiudo il documento ______________.
B il cursore si sposta alla fine del documento B La combinazione di tasti Ctrl+V serve a
C viene scritta la parola FINE sul documento ______________.
D il cursore si sposta a fine riga C La combinazione di tasti Ctrl+X serve a
______________.
4 Premendo il tasto Invio:
D Per cancellare una parola, posiziona il
A vado a capo riga __________ all’inizio della parola e premi il tasto
B il documento viene inviato al desktop __________ fino a quando non si cancella.
C elimino una riga E Backspace cancella da __________ a __________.
D il documento viene inviato per posta elettronica
F Canc cancella da __________ a __________.
5 Prima di digitare la chiocciola @: G Tagliare e _____________un testo equivale a
A tengo premuto il tasto Alt spostarlo.
B non tengo premuto nessun tasto H Il pulsante serve a ___________.
C tengo premuto il tasto Maiusc I Il pulsante serve a __________.
D tengo premuto il tasto AltGr
L Il pulsante serve a __________.
6 Prima di digitare la parentesi tonda:
A tengo premuto il tasto Maiusc 10 Completa le seguenti frasi.
B tengo premuto il tasto AltGr A La combinazione di tasti Ctrl+G serve a
__________.
C tengo premuto il tasto Alt
D non tengo premuto nessun tasto B La combinazione di tasti Ctrl+I serve a
__________.
7 Prima di digitare la “è” accentata: C La combinazione di tasti Ctrl+S serve a
A non tengo premuto nessun tasto __________.
B tengo premuto il tasto Maiusc
C tengo premuto il tasto AltGr
D tengo premuto il tasto Alt

188 Sezione C Il documento elettronico


Allena le tue ABILITÀ
e le tue COMPETENZE C1
ABILITÀ 7 Utilizza il Thesaurus per trovare un sinonimo per
le parole “fantastico”, “universo”, “tendone”,
1 Svolgi i passi indicati di seguito. “copertura”. Trova, poi, il contrario delle seguenti
a) Apri un nuovo documento. parole: “forza”, “grande”, “minimo”.
b) Intesta il documento con “I miei professori”.
8 Svolgi i passi indicati di seguito.
c) Lascia una riga vuota.
a) Copia il seguente testo descrittivo usando come
d) Su ogni riga successiva scrivi il nome di un tipo di carattere Monotype Corsiva, 12. Durante la
calciatore, due punti e il nome della squadra. Per digitazione correggi gli errori presenti nel testo.
esempio: Totti: Roma
b) Formatta il titolo usando font, dimensione e colori
e) Assegna un colore diverso a ogni materia. a tuo piacimento.
f) Imposta l’elenco puntato. c) Imposta l’allineamento giustificato.
g) Cambia il simbolo dell’elenco puntato (prova a d) Inserisci alla fine una tabella, che compilerai dopo
cambiare anche il colore). aver letto con attenzione il testo.
h) Chiudi il programma e, alla richiesta, salva il e) Prima di stampare il tuo lavoro è bene controllare
documento nella cartella Documenti. l’intero documento, facendo clic sul pulsante
Anteprima di stampa.
2 Svolgi i passi indicati di seguito.
f) Salva e stampa il tuo lavoro.
a) Apri il documento creato per il precedente
esercizio. LA MIA INSEGNANTE
b) Trasforma l’elenco da puntato in numerato. Se ne andò veloce sui suoi piedini, sproporzionati
al corpo imponente, così piccoli che soltanto nelle
c) Applica uno sfondo al titolo.
calzolerie per l’infanzia trovava le scarpine adatte.
d) Applica un bordo alla pagina. Quando camminava sembrava che lo facesse non per
e) Salva il documento con un nuovo nome. spostarsi da un punto all’altro, ma per non precipitare
f) Chiudi il programma. in avanti, trascinata dal peso di un seno matronale. Per
quei piedini la chiamavano Cenerentola, e non certo
3 Crea un nuovo documento e inserisci i nomi dei perché vestisse di stracci, anzi amava l’eleganza vistosa,
compagni della tua classe in forma di elenco le tinte vivaci, i tessuti a grandi fori in primavera ed
numerato. Posizionati, poi, alla fine del nome del estate e a righe fortemente contrastate in autunno e
compagno che si trova in posizione 8 e premi il
in inverno. Ma, a parte questa debolezza e la facilità
tasto Invio. Che cosa succede?
di commuoversi quando leggeva le prose e i versi che
4 Riprendi l’elenco creato nell’esercizio precedente lei defniva “sublimi” e che ai ragazzi non facevano né
e cambia l’elenco da numerato a puntato. caldo né freddo, era una brava insegnante. E riservava
Cambia la caratteristica del punto elenco e ai suoi studente l’afetto che avrebbe dato ai fgli, se ne
scegli un quadratino vuoto. avese avuti.

5 Applica all’elenco creato nell’esercizio Stato anagrafco, età


precedente uno sfondo di colore giallo.
Attività lavorativa
6 Trasforma l’elenco creato nell’esercizio Corporatura
precedente in testo normale, rimuovendo i punti
elenco. Parti del corpo

Scrivere con un elaboratore di testi C1 189


9 Svolgi i passi indicati di seguito. 12 Svolgi i passi indicati di seguito.
a) Copia la seguente lettera formale, applicando i a) Prepara una tabella di questo tipo con le materie
rientri dei paragrafi. e i giorni del mese.
b) Imposta la pagina in verticale con i margini
Giorno Italiano Inglese Matematica
sinistro di 3 cm, destro di 2 cm, superiore e
inferiore di 4 cm.
c) Salva e stampa la lettera. Es. n. 1 Es. n. 2
Avvocato 1
Paolo Rossi pag. 32 pag. 20
Viale Mazzini
n° 5 Milano
Torino, 23 agosto 20.…
Oggetto: richiesta di risarcimento danni Lettura
2
Spett.le Ditta Axtom, pag. 12
in riferimento alla Vs. richiesta di risarcimento danni inoltrata
tramite il Vs. legale, avv; Franceschi, in data 12 settembre u.s.,
vengo con la presente a informarVi che il mio assistito, signor
...
Rossi, respinge ogni addebito in quanto l’incidente occorso,
nel quale è stato danneggiato un Vs. mezzo di trasporto, non è
da imputare allo stesso, bensì a imperizia del conducente del
mezzo pesante, come risulta dal verbale redatto dalla Polizia b) Salva il documento con il nome
di Stato. Compiti settembre.docx.
Distinti saluti. c) Salva il documento con il nome
Avvocato Paolo Rossi Compiti ottobre.docx.
10 Svolgi i passi indicati di seguito. d) Fai una copia del file per ogni mese dell’anno
scolastico.
a) Compila una tabella di questo tipo con i tuoi libri
preferiti. e) Compila le tabelle ogni volta che ti viene
assegnato un compito.
Autore Titolo
13 Realizza un grafico con i voti che hai riportato
in tutte le interrogazioni del primo quadrimestre
Virgilio Eneide (l’intestazione delle colonne sia la materia, quella
delle righe la data).

Omero Odissea 14 Realizza un grafico a torta che riporti il numero di


compagni nati in ogni mese dell’anno.

Manzoni I promessi sposi COMPETENZE


15 Svolgi i passi indicati di seguito.
b) Salva il documento col nome libri.docx. a) Componi una lettera familiare che abbia le
seguenti caratteristiche.
11 Svolgi i passi indicati di seguito. – destinatario: un tuo caro amico;
a) Apri il documento libri.docx. – scopo: invitarlo a passare le vacanze con te e la
b) Inserisci un’ultima colonna dal titolo Prestato. tua famiglia.
c) Se hai prestato qualche libro a un amico, indicane b) Imposta la pagina in orizzontale, con i margini
il nome nella colonna appena inserita. superiore e inferiore di 4 cm; sinistro e destro
d) Formatta automaticamente la tabella. di 3 cm.
e) Salva il documento. c) Salva e stampa la lettera.

190 Sezione C Il documento elettronico


16 Copia il testo proposto e applica tutto ciò che ritieni idoneo per realizzare documenti efficaci e accattivanti.
La presenza della barra (/) indica l’uso del tasto invio, ma puoi anche andare a capo dove ritieni necessario.

GIOVANI E TECNOLOGIA
Fonte: www.lanuovaprimapagina.it
Il tema della settimana / 08/02/2013/ Giovani e tecnologia: /Smartphone e tablet hanno /sostituito il computer / I ragazzi ap-
prezzano la comodità di poter navigare su Internet in modo rapido e con un unico dispositivo: «Ormai si può fare tutto con i cel-
lulari». / Se una decina di anni fa, il computer e il portatile hanno acquistato un posto di rilievo nelle case di quasi tutti i reggiani,
ora ad avere la meglio sono gli Smartphone e i tablet. Mi riferisco agli iPhone, che hanno avuto un successo assoluto nel pubblico
giovanile, agli iPad, usati per prendere appunti al posto del normale foglio cartaceo; e mi riferisco a tutti quei dispositivi che sem-
pre di più, prendono il posto del computer fsso o del portatile, comunque pesante da portare in borsa. Ormai tutti hanno telefoni
che ofrono la connessione Internet, permettendo di restare in contatto con amici e parenti e, per i dispositivi più tecnologici,
di navigare tra siti e pagine con totale disinvoltura e in modo a volte più rapido del normale computer. La tecnologia va avanti,
corre sempre più forte, e i ragazzi non vogliono certo rimanere indietro. Su otto ragazzi intervistati, tutti sono muniti di cellulari
avanzati, anche se alcuni continuano ad usarli per le normali funzioni di chiamate e messaggi. C’è chi si trova comodo ad usare
il proprio Smartphone per leggere e-mail e guardare le notizie, ma c’è anche chi il proprio cellulare lo usa soprattutto per andare
su Facebook e condividere foto ed eventi. Ma una cosa è certa: per queste funzioni i telefoni hanno preso il posto del computer,
che rimane per lo più un dispositivo per archiviare dati. / Alcuni non si accontentano delle applicazione e della navigazione del
proprio Smartphone, e preferiscono portare anche il tablet, comodo per prendere appunti durante le lezioni universitarie. Pochi
sono quelli che usano il loro dispositivo per le normali funzioni: chiamare e mandare sms. / Luca Poli: «La cosa più comoda e
utile degli Smartphone è poter navigare su Internet per guardare le notizie in modo rapido. Io lo uso soprattutto per guardare
le e-mail. Solo secondariamente lo uso anche per Facebook». / Veronica Curti: «Sicuramente uso il mio Smartphone anche per
andare su Internet, ma principalmente per chiamare e mandare messaggi». / Laura Cavalca: «Ormai tutti gli Smartphone ofro-
no molte applicazioni comode. Io uso queste applicazioni, ma uso il telefono anche per leggere e-mail e navigare su Internet». /
Barbara C.: «Io continuo ad usare il pc in maniera preponderante. Il mio telefono ha una basilare connessione Internet, ma io non
la uso. Lo uso per le normali funzioni di chiamata e per inviare sms. Probabilmente, se avessi un cellulare più moderno, sfrutterei
anch’io le funzioni Internet». / Redouane Bensamoud: «Il portatile, più comodo del fsso, lo uso solo come archivio dati, per sal-
vare i documenti. Per tutto il resto uso il mio iPhone, col quale vado su Internet, leggo le e-mail e vado su Facebook». / Mohamed
Barnouss: «Per navigare su Internet e studiare uso il computer. Il cellulare lo uso soprattutto per Facebook e poche altre cose». /
Sara Roncalli: «Gli smartphone non hanno ancora superato la comodità del computer. Con il telefono io mi connetto su Internet
e lo uso soprattutto per andare su Facebook». / Matteo S.: «Preferisco lo Smartphone al computer. Ormai puoi fare tutto con i cel-
lulari: connetterti ad Internet, andare su Facebook, ascoltare musica. Per prendere appunti uso il tablet. Il computer di casa lo uso
solo per guardare e-mail e stampare».

LA DOMOTICA
La Domotica o automazione domestica è l´applicazione di soluzioni tecnologiche all´ambiente domestico e più in generale
agli edifci allo scopo di realizzare soluzioni applicative che aumentino la sicurezza degli ambienti, migliorino il comfort,
semplifchino le attività quotidiane e diano maggior controllo dell’edifcio. / In pratica la Domotica consiste nel realizzare
l’impianto elettrico in modo lievemente diverso dal passato introducendo prima di tutto un elemento intelligente. Attraverso
la presenza di questa intelligenza l’abitazione o l’edifcio diventa fnalmente in grado di comunicare in modo attivo e bidirezio-
nale mediante l’utilizzo di dispositivi denominati interfacce. / La totale integrazione tra le diverse funzioni presenti (illumina-
zione, controllo temperatura, automazioni, antintrusione, etc.) permette inoltre la creazione di nuovi oggetti defniti scenari,
ovvero un insieme di azioni eseguibili contemporaneamente ed attivabili semplicemente con un unico comando da pulsante
a parete o da telecomando. / Un sistema di temporizzazione consente inoltre all’utilizzatore di programmare temporalmen-
te azioni automatiche che pertanto non dovranno più essere gestite manualmente. / Grazie al controllo remoto via GSM o
INTERNET infne, anche quando si è distanti è possibile assicurarsi che tutto sia sotto controllo e al sicuro, “interrogando”
la propria abitazione sullo stato di tutti gli elementi che la compongono o richiedendo di efettuare un’azione a distanza. / /
Esempi di scenari: / ESCO DI CASA “Spegni tutte le luci, chiudi le tapparelle e attiva l’antifurto” / RISVEGLIO “Apri al 50% le
tapparelle della camera e accendi la macchina del cafè” / / Esempi di temporizzazioni: / Tutti i giorni dal lunedì al venerdì alle
ore 7.00 attiva lo scenario “risveglio” / Tutte le sere alle ore 23.00 chiudi la valvola del gas cucina e attiva l’antifurto / Lunedì,
mercoledì e sabato alle ore 5.00 attiva lo scenario “irrigazione” / / Esempi di controllo via SMS: / SMS “Luce esterna: accendi”
(accende la luce esterna) / SMS “Temperatura soggiorno:?” (richiede la temperatura attuale dell’area soggiorno) / / Scopri
come viene realizzata la Domotica e quali solo gli elementi fondamentali QUI
Fonte: www.centrodomotica.it

Scrivere con un elaboratore di testi C1 191


C2 Calcolare con
un foglio elettronico
LABORATORI “CASE STUDIES”
Approfondisci con i casi pratici

ESERCIZI COMMENTATI
Segui la risoluzione passo passo

APPROFONDIMENTI
IMPARERAI…

A che cosa Come operare Come impostare Come formattare Come creare grafci
servono i fogli con le celle calcoli, formule il foglio di lavoro signifcativi
elettronici e funzioni e accattivanti

1 Che cos’è un foglio elettronico


Un foglio elettronico (detto anche foglio di calcolo, o spreadsheet in inglese) è
un software particolarmente utile quando si ha la necessità di organizzare e rac-
cogliere dati per effettuare calcoli, ordinarli in tabelle, elaborarli, trarne ulteriori
informazioni per poi ricavarne rappresentazioni grafiche.

Barra di accesso Schede di comandi Barra del titolo Pulsante Guida Pulsanti
rapido di Excel di controllo

Barra multifunzione

Casella nome

Cella attiva
Gruppo
di comandi

Barra della formula


Cursore per
il controllo
Schede dei fogli Pulsante Inserisci
dello zoom
della cartella di lavoro nuovo foglio di lavoro

Pulsanti
di scorrimento fogli

192 Sezione C Il documento elettronico


Diamo uno sguardo alla finestra principale di Excel, visibile nella figura a pagina
precedente. Il documento di base è la cartella (l’equivalente del documento di
Word). Appena avviato Excel, sulla barra del titolo compare Cartel1, il nome che il
programma assegna per default alla prima nuova cartella appena creata.
Una caratteristica di Excel è la barra della formula, che si trova nella parte supe-
riore della finestra di Excel ed è utilizzata per l’immissione o la modifica di formule
o valori contenuti nelle celle o nei grafici.
Molto utili sono anche le schede per la selezione dei fogli della cartella di lavo-
ro, che consentono di spostarsi rapidamente su altri fogli di lavoro facendo clic
sul nome corrispondente. La cartella contiene per default un solo foglio di lavoro
(denominato Foglio1), ma è possibile aggiungerne altri fino a un massimo di 255.

2 Il foglio di lavoro e la cella


Il foglio di lavoro non è solo quello riportato sul video: in effetti noi ve-
diamo solo una sua parte, in quanto il foglio è troppo grande per poter Intestazione Intestazione
di riga di colonna
essere visualizzato nella sua interezza. Un foglio di lavoro di Excel è
composto da 16.384 colonne per 1.048.576 righe.
Le righe sono contraddistinte da un numero progressivo, le colonne
da un codice alfabetico crescente.
L’unità base del foglio di lavoro è la cella, che si trova all’intersezione
di una riga con una colonna. Ad esempio, la cella B3 è situata all’in-
crocio della colonna B con la riga 3.

Cella attiva
Per Usa

spostarsi tra le righe e le colonne i tasti freccetta

posizionarti sull’ultima colonna Ctrl + A


Lo sai?
posizionarti sulla prima colonna Ctrl + @
Sul foglio di lavoro
posizionarti sulla prima riga Ctrl + ? puoi notare la cella
attiva, quella su cui
posizionarti sull’ultima riga Ctrl + @ agiscono i comandi
scelti e in cui vengono
tornare direttamente sulla prima cella Ctrl + Home inseriti i dati, che
è immediatamente
riconoscibile in quanto
è circondata da un
bordo più spesso.
Per rendere attiva
3 Creare un nuovo foglio di calcolo una cella, basta
selezionarla con il
Una volta avviato il programma, Excel predispone una cartella vuota di nome mouse o con i tasti di
Cartel1. direzione del cursore.
Per creare una nuova cartella di lavoro dobbiamo servirci dell’opzione Nuovo
della visualizzazione Backstage, richiamabile facendo clic sulla scheda FILE.
La visualizzazione Backstage comprende un insieme di funzionalità per esegui-

Calcolare con un foglio elettronico C2 193


re svariate operazioni sul documento. Ad
esempio, grazie all’opzione Recente puoi vi-
sualizzare l’elenco degli ultimi file aperti e
recuperare anche file erroneamente chiusi
senza salvarli.
Puoi creare una cartella vuota, oppure par-
tire da modelli di foglio già predisposti e
messi a disposizione dal programma.

PERSONAGGI
Il primo foglio 4 Salvare il lavoro e uscire dal programma
elettronico immesso
sul mercato fu Visicalc
Per salvare un file fai clic sulla scheda FILE e seleziona Salva con nome, poi scegli
(abbreviazione di una posizione nella visualizzazione Backstage; si apre quindi la finestra Salva con
Visibile Calculator), nome, che permette di salvare il file con un altro nome agendo nella casella Nome
progettato nel 1978 file, e in un’altra cartella scegliendola dalla colonna sinistra. Nella casella Salva come,
da Daniel Bricklin
(Filadelfia, 16 luglio invece, puoi impostare il tipo di file di destinazione tra quelli disponibili. Oltre al for-
1951), un informatico mato “proprietario” di Excel, la cartella di lavoro può essere salvata in altri formati.
e imprenditore
statunitense, e Robert
Frankston. Seguirono
Multiplan, Lotus 123
e l’attuale Excel che
opera in ambiente
Windows.

Daniel Bricklin

Per uscire da Excel serviti del pulsante . Se hai più cartelle aperte dovrai ripe-
tere l’operazione per ognuna di esse. Se, invece, vuoi chiudere la cartella senza
Robert Frankston chiudere l’applicazione, apri la scheda FILE e seleziona Chiudi.

5 Inserire, rinominare e cancellare


un foglio di lavoro
Per inserire un nuovo foglio di lavoro, fai clic sul pulsante Nuovo foglio oppure
usa la combinazione di tasti Maiusc+F11. Se vuoi inserire un foglio prima di quel-
lo attivo, fai clic con il pulsante destro del mouse sulla scheda del foglio attivo, o
sulla scheda del foglio prima del quale desideri inserire quello nuovo, quindi dal

194 Sezione C Il documento elettronico


menu contestuale scegli Inserisci e seleziona la voce Foglio di lavoro. Con questa
tecnica puoi anche inserire contemporaneamente numerosi fogli di lavoro: è suffi-
ciente tenere premuto il tasto Maiusc, selezionare un intervallo di fogli e utilizzare
il menu contestuale come appena descritto: vengono creati tanti fogli di lavoro
quanti ne hai selezionati, e posti davanti al primo foglio dell’intervallo.
• Per rinominare un foglio di lavoro basta fare doppio clic sulla linguetta del
foglio e digitare il nuovo nome. È buona norma assegnare ai fogli di lavoro
nomi significativi, ossia poco generici e che descrivano in qualche modo il
loro contenuto. Lo sai?
• Per eliminare un foglio di lavoro devi fare clic su di esso con il pulsante destro
del mouse e dal menu di scelta scegliere la voce Elimina.
Per ingrandire o
• Per assegnare un colore alla linguetta della scheda di un foglio, in modo da ridurre il foglio puoi
evidenziarla, fai clic su di essa con il pulsante destro del mouse e, dal menu servirti dello slider
contestuale, scegli Colore linguetta scheda, poi seleziona il colore desiderato. presente nella parte
sinistra della barra di
stato.

6 Che cosa si può inserire nelle celle


Le celle sono in grado di accogliere diversi tipi di dati.

Numeri
I fogli elettronici identificano i dati numerici come valori solo se iniziano con un
numero o con uno dei seguenti simboli speciali:
• + e = vengono ignorati se inseriti all’inizio di un numero;
• – e ( ) vengono utilizzati per introdurre i numeri negativi; ad esempio, è corret-
to digitare –56 oppure (56);
• la virgola (,) viene utilizzata come separatore decimale;
• %, posto dopo il numero, viene utilizzato per il calcolo percentuale.
L’inserimento corretto di un numero viene confermato mediante l’allineamento a
destra della cella. Durante la digitazione del numero, la cifra appare sia nella cella
sia nella barra della formula e il cursore intermittente nella cella indica dove sarà
inserito il successivo numero digitato.

Testo Ricorda
L’immissione di stringhe di testo è identica all’immissione di valori numerici. Il
testo viene allineato automaticamente a sinistra della cella. Per fare in modo che Quando si digitano
i primi caratteri
il dato numerico venga accettato come testo, devi farlo precedere da un apice '. di un testo già
inserito nella stessa
colonna, la funzione
Date di completamento
Le date vengono allineate a destra perché, proprio come con i numeri, anche con automatico completa
l’inserimento; se
esse è possibile effettuare calcoli: ad esempio, si potrà calcolare quanti giorni inter- quest’ultimo è
corrono tra due date. Le date possono essere inserite con diversi formati; per vederli, corretto, premi Invio
fai clic con il pulsante destro del mouse sulla cella per aprire il menu contestuale e per confermarlo,
altrimenti procedi
scegli Formatta celle. Nella finestra di dialogo visualizzata, seleziona nell’elenco Ca- nella digitazione.
tegoria l’opzione Data e potrai vedere tutti i tipi di formato utilizzabili.

Calcolare con un foglio elettronico C2 195


7 Lavorare con celle, colonne e righe
Spostarsi tra le celle
Tasto Funzione
Tab Sposta a destra la cella attiva all’interno dell’intervallo selezionato. Se ci si trova
sull’ultima cella di una riga, la pressione di questo tasto posiziona la cella attiva
sulla prima cella della riga successiva.
Maiusc Sposta a sinistra la cella attiva all’interno dell’intervallo selezionato. Se ci si trova
+ Tab sulla prima cella di una riga, la pressione di questa combinazione di tasti posiziona
la cella attiva sull’ultima cella della riga precedente.
Invio Sposta in basso la cella attiva all’interno dell’intervallo selezionato. Se ci si trova
sull’ultima cella di una colonna, la pressione di questo tasto posiziona la cella attiva
sulla prima cella della colonna successiva.
Maiusc Sposta in alto la cella attiva all’interno dell’intervallo selezionato. Se ci si trova
+ Invio sulla prima cella della prima riga, la pressione di questa combinazione di tasti posi-
ziona la cella attiva sulla cella più a sinistra dell’ultima riga.

Selezionare un gruppo di celle adiacenti


Seleziona la prima cella del gruppo e, tenendo premuto il
pulsante sinistro del mouse, trascina il mouse sino a copri-
re l’area di celle che ti interessa. L’area selezionata appare di
colore più intenso a eccezione della cella attiva, ossia della
cella dalla quale hai iniziato la selezione.

Selezionare un gruppo di celle non adiacenti


Mantieni premuto il tasto Ctrl e seleziona un gruppo di celle
con il metodo descritto al punto precedente. Vedrai che le
aree precedentemente selezionate continueranno a rima-
nere evidenziate. Ora, prova a spostarti nel foglio di lavoro
premendo il tasto Tab: vedrai che le celle attive di volta in
volta saranno solo quelle comprese all’interno degli inter-
valli selezionati.

Pulsante Selezionare, copiare e spostare un intero


per la selezione
dell’intero foglio
foglio di lavoro
Se fai clic sul pulsante che si trova in alto a sinistra, all’in-
crocio tra le intestazioni di riga e di colonna del foglio di la-
voro, selezioni l’intero foglio. Una volta effettuata la selezio-
ne, per copiare il foglio puoi fare clic sul pulsante Copia ,
selezionare il foglio che ti interessa dalla barra di selezione
fogli e fare clic sul pulsante Incolla . Utilizzando, invece, il
pulsante Taglia puoi effettuare lo spostamento del conte-
nuto di un foglio in un altro.

196 Sezione C Il documento elettronico


Selezionare un’intera riga o un’intera colonna
Fai clic sull’intestazione di riga o di colonna, cioè sui pulsanti che ne indicano le Lo sai?
coordinate. Per estendere la selezione a righe e/o colonne non adiacenti, tieni pre-
muto il tasto Ctrl mentre fai clic per selezionarle. Puoi anche selezionare
la zona di celle e,
tenendo premuto il
Copiare/spostare una cella o un gruppo di celle tasto Ctrl trascinare il
bordo nella zona in cui
• seleziona la cella o il gruppo di celle e serviti; desideri copiarlo. Se,
• utilizza i pulsanti Copia o Taglia in funzione dell’operazione desiderata; vuoi spostare, trascina
liberamente il bordo
• fai clic nella cella in cui effettuare la copia o lo spostamento e fai clic sul pul- senza tener premuto il
sante Incolla. tasto Ctrl.

Cancellare il contenuto di una cella o di un gruppo di celle


Seleziona la cella o il gruppo di celle desiderato e premi il tasto Canc, oppure puoi
fare clic con il pulsante destro del mouse sulla cella contenente il valore da eliminare
e scegliere Cancella contenuto dal menu contestuale. In caso di errore puoi servirti
del pulsante Annulla sulla barra di accesso rapido, oppure del pulsante Ripristina.

Inserire e cancellare colonne e righe


Per inserire una colonna:
• seleziona la colonna che si dovrà trovare a destra di quella
che stai per inserire, o fai clic all’interno di una sua cella; Ricorda
• dal gruppo di comandi Celle della scheda HOME, fai clic
sulla freccetta in corrispondenza della voce Inserisci e dal Lo stesso risultato
menu scegli Inserisci colonne foglio. La nuova colonna viene si può ottenere nel
seguente modo:
inserita a sinistra di quella selezionata. utilizza il pulsante
Per aggiungere una riga si procede in modo analogo: seleziona la riga che dovrà Formato del gruppo
Celle. Fai clic sulla
trovarsi sotto quella nuova o fai clic in una sua cella, poi fai clic sulla freccetta in freccia posta a destra
corrispondenza della voce Inserisci e scegli Inserisci righe foglio. La nuova riga vie- e scegli Altezza
ne inserita sopra quella selezionata righe o Larghezza
colonne, quindi digita
Per inserire una colonna o una riga puoi anche servirti dell’opzione Inserisci del la dimensione in
menu contestuale che puoi attivare selezionando con il pulsante destro del mouse centimetri che desideri
la colonna o la riga. Allo stesso modo, selezionando l’opzione Elimina puoi rimuo- assuma la riga o la
colonna.
vere la colonna o la riga selezionata.

Modificare la larghezza delle colonne e l’altezza delle righe


• posiziona il puntatore del mouse sulla linea di separazione tra le intestazioni
di colonna: il puntatore assume la forma di una barra con due punte;
• tenendo premuto il pulsante sinistro, spostati verso destra: la larghezza della
colonna viene modificata e la dimensione che sta assumendo viene riportata
in una piccola finestrella posta in testa alla colonna.
Per adattare automaticamente la colonna al contenuto delle sue celle, posiziona il
puntatore del mouse sulla linea di separazione tra le intestazioni di colonna e fai
doppio clic.

Calcolare con un foglio elettronico C2 197


Come per la larghezza delle colonne, è possibile modificare anche l’altezza delle
righe: la procedura è analoga, con la sola eccezione che il puntatore del mouse
deve essere posizionato sulla linea di fondo dell’intestazione di riga da modificare.

8 Formattare le celle
La formattazione di un foglio di lavoro consiste nell’impostare alcune caratte-
ristiche necessarie per controllare l’aspetto del foglio in modo da renderlo più
idoneo, professionale ed efficace nella fase di comunicazione con l’utente.

Colore riempimento Orientamento Testo a capo Stile


percentuale

Aumenta
decimali

Riduci
decimali

Bordi Colore Unisci e allinea Formato numeri Stile separatore


carattere al centro contabilità

Per formattare il contenuto di una cella puoi anche fare clic su di essa con il pul-
sante destro del mouse e dal menu selezionare Formato celle. La finestra di dia-
logo che si presenta è strutturata in schede. Nella scheda Numero puoi scegliere,
attraverso la sezione Categoria il tipo numerico che intendi visualizzare (Numero,
Valuta, Percentuale, ecc.) consente di scegliere il formato.

OSSERVA COME SI FA
1 Prospetto delle spese domestiche.
Realizza il seguente foglio di lavoro:

198 Sezione C Il documento elettronico


a. Assegna a tutto il foglio il carattere Times New Roman con dimensione 12.
b. Ampia le righe 1 e 2 e allarga le varie colonne in modo che i dati siano leggibili.
c. Unisci e centra l’intervallo di celle A1:F1 (seleziona l’intervallo A1:F1 e poi clic sul pulsante
Unisci e allinea al centro della scheda Home). Poi unisci e centra l’intervallo di celle A2:F2.
d. Assegna alla cella contenente il testo Prospetto spese anno 2016 la dimensione 16.
e. Assegna alla cella contenente il testo Spese in euro la dimensione 16.
f. Assegna il formato grassetto alla cella A1 (quella che contiene Prospetto spese anno 2016)
alla cella A2 (quella che contiene Spese in euro), alle celle della riga 3 e alle celle della co-
lonna A (mantieni premuto il tasto Ctrl quando selezioni le celle a cui applicare il grassetto).
g. Assegna alle celle da B4 a F15 il formato Numero con due cifre decimali (clic sul pulsantino
della casella di testo presente nel gruppo Numeri della scheda Home e scegli Numero).
h. Copia l’intero prospetto sul secondo foglio:
• clic sul pulsantino alla sinistra della colonna A e clic sul pulsante Copia;
• clic su Foglio2 dalla barra selezione fogli;
• clic sul pulsantino alla sinistra della colonna A e clic sul pulsante Incolla.
i. Cambia l’intestazione del secondo prospetto in Prospetto di spese dell’anno 2017.
l. Cancella il contenuto delle celle da B4 a F15.
m. Inserisci dei dati a piacere.
n. Assegna al primo foglio il nome Anno 2016 (clic con il pulsante destro del mouse sul nome
del foglio presente sulla barra di selezione fogli e dal menu scegli Rinomina).
o. Assegna al secondo foglio il nome Anno 2017.
p. Inserisci dei bordi a piacere a entrambi i fogli.
q. Applica al testo e alle celle i colori che vedi in fgura a pagina precedente.

9 Inserimento automatico dei dati: Maniglia di copiatura

il riempimento automatico
Quando si inseriscono dati di serie ben riconoscibili (come ad esempio Gennaio,
Febbraio, … oppure Lunedì, Martedì, …), anziché digitare tutti i dati si può utilizzare
il metodo del riempimento automatico: è sufficiente digitare il primo elemento
e, una volta confermato, trascinare il quadratino posto nell’angolo inferiore destro
della cella (la maniglia di copiatura) fino a quando non si inseriscono tutti i dati Lo sai?
della serie desiderati.
Il trascinamento può avvenire in tutte le direzioni. Ad esempio, se in una cella di-
Se durante il
gitiamo Gennaio e trasciniamo in basso, nella prima cella successive verrà inserito trascinamento si
Febbraio. Se, invece, trasciniamo in alto, nella prima cella verrà inserito Dicembre. mantiene premuto
il tasto Ctrl, il valore
verrà ripetuto senza

10 Le formule
estendere la serie.
Per inserire
determinate serie
Una formula è un’equazione che coinvolge numeri, operatori matematici e va- (ad esempio i numeri
pari o i numeri dispari)
lori di celle. devi utilizzare la serie
di riempimento:
Gli operatori matematici presenti all’interno delle formule sono quelli usati nell’e- inserisci i primi due
valori, seleziona le
secuzione dei calcoli. I fogli elettronici seguono le regole di priorità tipiche della due celle e trascina la
matematica. Le parentesi inserite per i calcoli algebrici devono essere esclusiva- maniglia di copiatura.

Calcolare con un foglio elettronico C2 199


mente tonde. Ad esempio, se all’interno di una cella vogliamo inserire il valore
dell’espressione: 52 × 15 + [(10 – 2) × 13] : 2 – 12 + 2, dobbiamo digitare al suo inter-
no l’espressione così tradotta: – 52 * 15 + ((10 – 2) * 13) / 2 – 12 + 2 e confermare
con il tasto Invio.
Per indicare con una formula che in una cella dobbiamo inserire il valore della
cella D3 addizionato al valore della cella A6 e a quello della cella E3, dobbiamo
digitare al suo interno = D3 + A6 + E3 e confermare con Invio.

Gli operatori
Riportiamo di seguito i diversi tipi di operatori di calcolo utilizzabili nelle formule.

Operatore aritmetico Simbolo Esempio


Addizione + =A1+A2
Sottrazione – =A1–A2
Moltiplicazione * =A1*A2
Divisione / =A1/A2
Percentuale % =A3*25%
Elevamento a potenza ^ =A2^3
Radice quadrata RADQ =RADQ(A3)
Operatore logico Simbolo Esempio
Uguale a = (segno di uguale=) A1=A2
Maggiore di > (segno di maggiore) A1>A2
Minore di < (segno di minore) A1<A2
Maggiore o uguale a >= (segno di maggiore o uguale) A1>=A2
Minore o uguale a <= (segno di minore o uguale) A1<=A2
Diverso da <> (segno di diverso da) A1<>A2
Operatore di concatenazione di testo Simbolo Esempio
Concatena due stringhe generando una & (e commerciale) Vento”&”nord
singola stringa di testo

La barra della formula


Per lavorare con le formule e le funzioni (che stiamo per analizzare) è importante
conoscere la barra della formula, che permette la corretta gestione in fase di in-
serimento dei dati nelle celle. Tale barra è formata da tre elementi:
• la “casella nome” indica la cella selezionata nel foglio di lavoro;
• dei pulsanti che permettono di inserire o modificare i valori nella cella “attiva”
(questi pulsanti li vedrai solo nel momento in cui si inseriscono o si modificano
i dati dentro una cella),
• l’area di immissione che mostra il contenuto della cella selezionata.

× annulla ciò che è √ conferma i dati immessi nella cella


stato immesso nella
cella se non è stato fx consente di modificare la formula e
ancora confermato visualizzare sulla sinistra i nomi delle
con Invio funzioni più usate, per creare nuove formule

200 Sezione C Il documento elettronico


11 Le funzioni
Le funzioni sono formule predefinite che eseguono calcoli sui dati selezionati
ed eseguono particolari azioni sul foglio di lavoro.

Le funzioni iniziano con il simbolo = e sono composte da:


• un nome di funzione (SOMMA, MEDIA, MAX e così via);
• uno o più argomenti, racchiusi tra parentesi tonde, che indicano valori
costanti e/o indirizzi di cella;
• gli operatori di riferimento; sono segni che servono a indicare le zone da inse-
rire nel calcolo. In particolare, l’operatore di intervallo (:) indica da... a.., men-
tre l’operatore di unione (;) indica e, quindi una cella da aggiungere al calcolo.
Vediamo alcuni esempi.

Nome funzione: SOMMA Nome funzione: SOMMA


Argomento: A5:A8 Argomento: A5:A8 e D1
Operatore di riferimento : Operatori di riferimento : e ;

=SOMMA(A5:A8) =SOMMA(A5:A8;D1)

Questa funzione utilizza due argomenti:


Questa funzione utilizza un solo argomento, 1. A5:A8
cioè A5:A8. Pertanto, verrà effettuata la 2. D1
somma dei valori contenuti nelle celle da Pertanto, verrà effettuata la somma dei valori contenuti nelle celle
A5 a A8. da A5 a A8 e poi verrà aggiunto il valore contenuto nella cella D1.
L’operatore di intervallo : fa quindi L’operatore di unione ; fa quindi riferimento a una zona di celle
riferimento a una zona di celle adiacenti. non adiacenti.

Le funzioni sono divise per categoria a seconda della tipologia di calcolo cui fanno
riferimento (matematiche, statistiche, logiche, ecc.). Nel seguito diamo uno sguar-
do alle principali.

Le funzioni matematiche
Diamo uno sguardo alle più comuni funzioni matematiche.

Funzione Descrizione Esempi


ARROTONDA(num; num_cifre) Arrotonda un numero a un dato =ARROTONDA(2,15; 1) restituisce 2,2
numero di cifre. Arrotonda per =ARROTONDA(2,149; 1) restituisce 2,1
difetto le cifre <5 e per eccesso le =ARROTONDA(-1,475; 2) restituisce -1,48
cifre ≥ 5. =ARROTONDA(21,5; -1) restituisce 20
• Num è il numero da arrotondare =ARROTONDA(626,3; -3) restituisce 1000
• num_cifre è il numero di cifre =ARROTONDA(-50,55; -2) restituisce -100
a cui si vuole arrotondare (0
arrotonda all’intero più vicino, 1
al primo decimale, 2 al secondo,
-1 alla decina più vicina, ecc.)

Calcolare con un foglio elettronico C2 201


Funzione Descrizione Esempi
INT(num) Arrotonda un numero per difetto =INT(8,9) restituisce 8
all’intero più vicino =INT(-8,9) restituisce -9
POTENZA(base; esponente) Restituisce il risultato di un numero =POTENZA(5;2) restituisce 25
elevato a potenza
QUOZIENTE(numeratore; Restituisce il quoziente di una =QUOZIENTE(5; 2) restituisce 2
denominatore) divisione =QUOZIENTE(-10; 3) restituisce -3
RADQ(num) Restituisce una radice quadrata =RADQ(16) restituisce 4
positiva. Se il numero di cui
calcolare la radice è negativo, viene
restituito un errore
SOMMA(num1;num2;...) Somma i valori =SOMMA(2:4)
somma tutte le celle delle righe 2, 3 e 4
=SOMMA(A:C)
somma tutte le celle delle colonne A, B e C

OSSERVA COME SI FA
1 Censimento italiano.
Nell’ultimo censimento la popolazione italiana era distribuita per zona e per sesso secondo i
valori riportati nella seguente tabella:

Nord-Ovest Nord-Est Centro Sud Isole

Maschi 7621324 5551923 5568595 6783667 3219998

Femmine 8144243 5895882 6032080 7193764 3422268

Avvia Excel, crea un nuovo file e realizza il seguente foglio di lavoro. Segui le indicazioni ri-
MATERIALI PER portate nella tabella Fai così per ottenere il risultato riprodotto in figura. Puoi servirti del file
LE ESERCITAZIONI Censimento.xlsx presente tra i materiali per le esercitazioni per aiutarti.

202 Sezione C Il documento elettronico


Fai così!
Inserire • Clic sulla cella B1 e digita CENSIMENTO ITALIANO.
le etichette • Premi il tasto Invio o fai clic sul pulsante presente nella barra della formula per conferma-
e adeguare re il dato. Per andare sulla prossima cella puoi anche servirti del mouse o dei tasti freccia.
la dimensione • Clic sulla cella A4 e digita Zona.
delle colonne • Continua la digitazione di tutti i dati in modo da avere la seguente situazione:

• Posiziona il puntatore del mouse tra le colonne A e B e mantenendo premuto il


pulsante sinistro del mouse, trascina verso destra per allargare la colonna A in modo che i
dati presenti siano tutti contenuti nelle celle. Con la stessa tecnica, allarga, poi, tutte le varie
colonne sino alla F.
Inserire i valori • Ricopia i dati del censimento contenuti nella tabellina all’interno dell’intervallo di celle B5:C9.
Impostare • Seleziona l’intervallo di celle B5:D11.
il formato • Nel gruppo Numeri della scheda HOME fai clic sul pulsantino della casella
delle celle e seleziona la voce Numero. Poi fai clic sul pulsante Stile separatore per inserire il separa-
tore delle migliaia, quindi fai clic due volte sul pulsante Diminuisci decimali per rimuovere
la parte decimale dei numeri.
• Seleziona l’intervallo di celle E5:F9 e nel gruppo Numeri della scheda HOME fai clic sul pul-
sante Stile percentuale .
Inserire • Clic sulla cella D5 e al suo interno inserisci la formula =B5+C5.
le formule • Fai clic sul pulsante della barra della formula per confermare la formula inserita.
e le funzioni • Punta il mouse sulla maniglia di copiatura della cella B5. Il puntatore del mouse assume la
forma di +. Tieni premuto il pulsante sinistro e trascina la selezione verso il basso sino alla
cella D9 per copiare la formula.
• Clic sulla cella B10. Clic sulla scheda Formule e clic sul pulsante Somma automatica Y .
• Nella cella comparirà la funzione =SOMMA(B5:B9).
• Conferma con il tasto Invio o con il pulsante della barra della formula.
• Punta il mouse sulla maniglia di copiatura della cella B10. Il puntatore del mouse assume
la forma di +. Tieni premuto il pulsante sinistro e trascina la selezione verso destra sino alla
cella C10 per copiare la funzione.
• Fai clic sulla cella E5 e scrivi al suo interno la formula = B5/D5 per calcolare la percentuale
di maschi presenti nel nord ovest italiano.
• Con la maniglia di copiatura della cella E5 trascina sino alla cella E9.
• Fai clic sulla cella F5 e digita al suo interno la formula = C5/D5 per calcolare la percentuale
di maschi presenti nel nord ovest italiano.
• Con la maniglia di copiatura della cella E5 trascina sino alla cella F9.
Unire le celle • Seleziona l’intervallo di celle A2:F2.
e allineare • Clic sul pulsante Unisci e allinea al centro presente nel gruppo Allineamento della scheda
al centro HOME.
• Seleziona l’intervallo di celle B11:C11 e unisci e allinea al centro anche queste.
• All’interno della cella inserisci la formula =B10+C10.

Calcolare con un foglio elettronico C2 203


Applicare bordi • Posiziona il puntatore del mouse tra le righe 2 e 3 e mantenendo premuto il pulsante sinistro
e sfondi alle celle trascina verso il basso per allargare la riga 2.
e adeguare • Clic sulla cella A2 e applica il formato grassetto, dimensione carattere 18, colore testo rosso.
la larghezza • Seleziona l’intervallo di celle A2:F11.
delle righe • Clic su del pulsante presente nel gruppo Carattere della scheda HOME e scegli Tutti
i bordi.
• Clic ancora una volta su del pulsante e scegli Bordo casella spesso.
• Mantenendo premuto il tasto Ctrl, seleziona gli intervalli di celle A4:F4 e A5:A11 e applica lo
stile grassetto.
• Seleziona l’intervallo di celle A3:A4 e poi clic sul pulsante Unisci e allinea al centro presente
nel gruppo Allineamento della scheda HOME.

• Sempre nello stesso gruppo, fai clic sui due pulsantini che allineano il testo al centro .
• Ripeti la stessa cosa per le altre celle (Maschi, Femmine, Totale per zona, ecc.). Ricorda che
puoi sempre usare il tasto F4 per ripetere l’ultima operazione effettuata.
Inserire • Clic sulla scheda INSERISCI e clic sul pulsante Immagine presente nel gruppo Illustrazioni.
un’immagine • Nella fnestra di dialogo che compare, seleziona il fle Questionario.jpg che hai scaricato dai
materiali digitali del libro, oppure inserisci un’immagine a tuo piacimento.
• Dimensiona l’immagine e sistemala vicino alla tabella.
Salvare il fle • Clic su della barra di accesso rapido e nella fnestra di dialogo che viene visualizzata
digita Censimento1 nella casella Nome fle.
• Seleziona l’unità disco in cui vuoi salvare il documento e clic sul pulsante Salva.
• Clic sulla scheda FILE e scegli Esci.

ORA TOCCA A TE
MATERIALI PER 1 Prospetto delle spese domestiche.
LE ESERCITAZIONI
Scarica dai materiali per le esercitazioni il file Spese1.xlsx e apporta le modifiche seguenti.
a. Salvalo sul tuo disco con il nome SpeseSecondaVersione.
b. Inserisci dopo la colonna Alimentari una colonna con intestazione Varie.
c. Utilizzando un’area selezionata inserisci i seguenti valori: 1000; 1100; 2000; 2100; 900;
800; 850; 950; 700; 1000; 1050; 1250.
d. Applica a tutti i valori presenti nella tabella il formato Contabilità in Euro.
e. Inserisci dopo ogni trimestre una riga vuota.
f. Inserisci nella cella A7 il testo Totale trimestrale.
g. Allarga la colonna A.
h. Copia il contenuto della cella A7 nelle celle A11, A15 A19.
i. Inserisci nella cella B7 la somma delle celle B4, B5, B6.
l. Usando la tacca di copiatura, copia il contenuto della cella B7 nell’intervallo di celle da C7
a G7.
m. Ripeti la stessa operazione per ogni trimestre.
n. Applica uno sfondo di un colore che desideri e il formato grassetto alle celle che contengo-
no i totali trimestrali.
o. Inserisci nella cella H3 il testo Totale mensile.
p. Inserisci nella cella H4 la somma da B4 a G4.
q. Utilizzando la tacca di copiatura copia la stessa formula fno alla cella H19 evitando le righe
che contengono i totali trimestrali.

204 Sezione C Il documento elettronico


r. Fai in modo che il testo presente nel prospetto abbia lo stesso formato.
s. Fai in modo che i numeri presenti nel prospetto abbiano lo stesso formato (Contabilità).
t. Inserisci nella cella A20 il testo Totale generale.
u. Inserisci alla fne di ogni colonna il totale generale delle spese sostenute per ogni settore
durante tutto l’anno e formattalo con sfondo nero e testo bianco.
v. Inserisci in fondo al foglio di calcolo il tuo nome e cognome.
w. Salva il lavoro.
x. Chiudi la cartella di lavoro SpeseSecondaVersione.
Il risultato finale è il seguente:

2 Vendite di un caseifcio in Euro e Dollari


Sei titolare di una ditta che esporta prodotti caseari. Avvia Excel e realizza la seguente tabella
che riporta le vendite in kg dell’ultima settimana.

a. Inserisci quattro nuove righe prima dell’intestazione della tabella.


b. Unisci le celle dell’intervallo A1:AH e digita all’interno il testo: Vendite settimanali.

Calcolare con un foglio elettronico C2 205


c. Digita nella cella A3 il testo “Cambio Euro/Dollaro =” e nella cella B3 il valore del cambio,
per esempio puoi impostare il valore 1.2263 (ma in seguito puoi sostituirlo con un altro).
d. Salva il foglio elettronico con il nome Caseifcio.
e. Dopo l’inserimento delle righe, l’intestazione della tabella deve partire dalla riga 5. Rea-
lizza la tabella riportata qui usando la maniglia di copiatura per inserire i giorni della setti-
mana. Non inserire le diciture Formula perché al loro posto dovrai inserire delle formule/
funzioni di Excel.
f. Inserisci la formula per le Vendite in Euro tenendo presente che si ottengono sommando i
prodotti tra i Kg venduti per il relativo prezzo unitario. Utilizza la maniglia di copiatura per
copiare la formula in tutte le celle interessate.
g. Inserisci la formula per le Vendite in Dollari tenendo presente che il cambio si trova nella
cella B3 e la formula si ottiene moltiplicando le Vendite in Euro per il cambio. Utilizza la
maniglia di copiatura per copiare la formula in tutte le celle interessate.
h. Nelle celle dei totali inserisci le formule relative al Totale Vendite in Euro e al Totale Vendite
in Dollari.
i. Formatta le celle in modo che in quelle che contengono gli importi appaia il simbolo della
relativa moneta con due decimali.
l. Inserisci nell’intestazione il seguente testo: Questo prospetto è stato svolto da Nome e
Cognome.
m. Inserisci un nuovo foglio contenente un grafco a torta costruito considerando le vendite
giornaliere in Kg per le sole mozzarelle di bufala.
n. Copia l’intera tabella su un secondo foglio e sostituisci nella nuova tabella la colonna re-
lativa al prezzo unitario con una colonna denominata Media contenente le formule relative
alle medie settimanali.
o. Assegna a questo foglio il nome Media.
p. Rinomina il foglio1 in Dollari.
q. Fai in modo che il prospetto stia tutto in una pagina e stampala.
r. Salva il fle.

I riferimenti assoluti e relativi


Sul foglio di lavoro i riferimenti di cella per default vengono inseriti come relativi,
ovvero relativi alla posizione della formula o della funzione. Questo vuol dire che
è possibile trascinare la formula o la funzione per applicarla ad altre celle modi-
ficandola ed adattandola automaticamente alla nuova posizione. Trascinando il
pulsante di riempimento sulla colonna i riferimenti di cella verranno aggiornati
riga per riga. Ad esempio: il riferimento relativo alla cella A1 diventerà nelle sotto-
stanti celle A2; A3; A4; ecc. Viceversa, trascinando il pulsante di riempimento oriz-
zontalmente sulla riga, verranno incrementati i valori di riferimento alla colonna,
pertanto il riferimento alla cella A1 diventerà B1; C1; E1; ecc.
Se vogliamo impedire che trascinando la maniglia di copiatura si modifichino i ri-
ferimenti alle celle, bisogna imputare nella cella le coordinate con riferimento as-
soluto. Con questa impostazione, effettuando qualsiasi spostamento, il riferimen-
to rimarrà invariato sempre verso la stessa cella (le coordinate di riferimento non
verranno pertanto modificate con il trascinamento del pulsante di riempimento).
La tabella seguente riassume i vari riferimenti utilizzabili.

206 Sezione C Il documento elettronico


Con la scrittura Fai riferimento
B5 alla cella posta all’intersezione tra la colonna B e la riga 5.
B5:B10 all’intervallo di celle delimitato dalla cella B5 e dalla cella B10.
B6;C9 alle celle B6 e C9.
8:8 a tutte le celle della riga 8.
8:12 alle celle delle righe da 8 a 12.
G:G a tutte le celle della colonna G.
G:L a tutte le celle delle colonne da G a L.
$B$3 a un riferimento assoluto. In caso di copiatura la cella B3 rimane costante.
a un riferimento misto. In caso di copiatura la colonna B rimane costante e viene
$B6
aggiornata la sola riga.
a un riferimento misto. In caso di copiatura la riga 5 rimane costante e viene
B$5
aggiornata la sola colonna.

A caccia di errori nelle formule


Quando una formula non viene eseguita perché non vengono rispettate le rigide
regole del programma, viene visualizzato nella cella interessata un valore di errore.

Se appare Signifca che


Il valore è troppo grande per poter essere visualizzato nella cella. La soluzio-
#######
ne? Aumenta la larghezza della colonna.
#DIV/0! Una formula sta tentando di dividere per zero: operazione non possibile.
#NOME! La formula fa riferimento a un nome non riconosciuto.
È stato usato un tipo sbagliato di argomento; per esempio stai cercando di
#VALORE!
sommare testi e numeri.
#NULL! È stata specifcata l’intersezione di due aree che, invece, non si intersecano.
#NUM! Stai utilizzando un tipo non valido per l’operazione richiesta.
Il valore non è disponibile e viene presentato quando vengono omessi alcuni
#N/D!
elementi di una funzione.
#RIF! La formula contiene un riferimento a una cella non valido.

Come si inseriscono le funzioni


Prima di procedure con l’analisi delle altre funzioni, devi sapere che le funzioni
possono essere digitate manualmente all’interno delle celle oppure possono essere
inserite seguendo la seguente procedura guidata. Supponiamo di voler inserire
nella cella C8 la seguente funzione: =MEDIA(A1:A6).
• clic nella cella C8;
• fai clic sul pulsante Inserisci funzione della barra della formula
• dall’elenco riportato nella casella Oppure selezionare una categoria, scegli Usa-
te di recente e dalla casella Selezionare una funzione scegli MEDIA e fai clic su
OK: viene visualizzata la finestra di dialogo mostrata a pagina seguente.

Calcolare con un foglio elettronico C2 207


• se l’intervallo proposto in Num1 non
dovesse coincidere con quello da noi
richiesto, fai clic sul pulsante e se-
leziona sul foglio l’intervallo di celle che
desideri;
• fai clic sullo stesso pulsante per torna-
re alla finestra di dialogo della funzione
che, ora, riporterà il nuovo intervallo e
il valore calcolato;
• fai clic sul pulsante OK.

Le funzioni statistiche
Diamo uno sguardo alle principali funzioni statistiche.
Funzione Descrizione Esempi
CONTA.NUMERI(valore1; valore2; ...) Conta il numero di celle che =CONTA.NUMERI(A2:A7)
contengono numeri e i numeri Conta il numero di celle che contengono
all’interno dell’elenco di argomenti numeri nell’intervallo compreso tra A2
e A7
CONTA.SE(valore1; valore2; ...) Conta il numero di celle che =CONTA.SE(A2:A5;”mele”)
soddisfano un determinato criterio Conta il numero di celle contenenti “mele”
nell’intervallo compreso tra A2 e A5
CONTA.PIU.SE(intervallo_criteri1; Applica criteri alle celle su più
criteri1; intervallo_criteri2; intervalli e conta quante volte
criteri2…) vengono soddisfatti tutti i criteri

=CONTA.PIÙ.SE(B2:D2;”=Sì”)
Conta quante volte Bianchi ha superato i
test T1, T2 e T3. Il risultato (solo in T1) è
quindi 1.
=CONTA.PIÙ.SE(B2:B5;”=Sì”;C2:C5;”=Sì”)
Conta quanti studenti hanno superato
entrambe le quote T1 e T2 (Neri e Rossi).
Quindi il risultato è 2
CONTA.VALORI(valore1; valore2; ...) Conta il numero di celle non vuote =CONTA.VALORI(A2:A7) Conta il numero di
in un intervallo celle non vuote nell’intervallo compreso tra
A2 e A7.
MAX(valore1; valore2; ...) Restituisce il valore maggiore di =MAX(A2:A6) restituisce Il valore più
un insieme di valori grande nell’intervallo A2:A6
MEDIA(valore1; valore2; ...) Restituisce la media aritmetica =MEDIA(A2:A6) restituisce la media dei
degli argomenti numeri contenuti nelle celle comprese tra
A2 e A6.

208 Sezione C Il documento elettronico


MEDIA.SE(intervallo;criteri; Restituisce la media aritmetica di =MEDIA.SE(B2:B5;”<100”)
[intervallo_media]) tutte le celle di un intervallo che Prima effettua la somma di tutti i valori
soddisfano un criterio specifcato minori di 100 compresi nell’intervallo
B2:B5 e poi calcola la media.
Il parametro intervallo_media rappresenta
l’insieme effettivo di celle di cui calcolare
la media. Se è omesso, viene utilizzato il
valore intervallo.
MIN(valore1; valore2; ...) Restituisce il valore minimo di un =MIN(A2:A6) restituisce Il valore più
insieme di valori piccolo nell’intervallo A2:A6

Le funzioni logiche
Funzione Descrizione Esempi
SE(test logico; valore_se_vero; Consente di valutare una =SE(B5<>0;C3*2;C5*3)
valore_se_falso) condizione e, in base al Se il valore della cella B5 è diverso da zero, allora
• test logico rappresenta la risultato, eseguire una tra nella cella A7 inserisci il valore della cella C3
condizione da verifcare; le due alternative possibili moltiplicato per 2, altrimenti inserisci il valore della
• valore_se_vero indica il cella C5 moltiplicato per 3.
risultato da inserire nella =SE(C6>0;“Non devi pagare”; “Devi pagare”)
cella se la condizione è vera; Se il valore della cella C6 è maggiore di zero, allora
• valore_se_falso indica il nella cella A7 inserisci “Non devi pagare”, altrimenti
risultato da inserire nella inserisci “Devi pagare” (nota che se il contenuto da
cella se la condizione è falsa visualizzare è un’etichetta, questa va racchiusa tra
virgolette).
=SE(B1<100; SOMMA(C1:C6);0)
Se il valore della cella B1 è minore di 100, allora
nella cella A7 inserisci la somma dei valori
dell’intervallo di celle C1:C6, altrimenti inserisci 0.
E(logico1, logico2,… logicoN) Determina se tutte le =E(A2>10,A2<100)
condizioni in un test sono Visualizza VERO se A2 è maggiore di 10 E minore di
logico1 è l’argomento o
VERO 100, altrimenti visualizza FALSO.
condizione che viene verifcato
insieme a logico2 e a eventuali =SE(E(A2<A3,A2<100); A2; “Il valore non è
successivi compreso nell’intervallo.”)
Visualizza il valore nella cella A2 se è minore di A3
E minore di 100, altrimenti visualizza il messaggio
“Il valore non è compreso nell’intervallo”.
NON(logico) Inverte il valore logico =NON(B2>10)
dell’argomento. B2 NON è maggiore di 10
O(logico1, logico2,… logicoN) Determina se tutte le =O(A2>10,A2<100)
logico1 è l’argomento o condizioni in un test sono Visualizza VERO se A2 è maggiore di 10 O minore di
condizione che viene verifcato VERO 100, altrimenti visualizza FALSO.
in alternativa a logico2 e a
=SE(O(A2>10,A2<100), A3, “Il valore non è
eventuali successivi
compreso nell’intervallo”)
Visualizza il valore nella cella A3 se è maggiore di 10
O minore di 100, altrimenti visualizza il messaggio
“Il valore non è compreso nell’intervallo”.

Calcolare con un foglio elettronico C2 209


OSSERVA COME SI FA
1 Costruiamo un convertitore di basi numeriche: da base 10 a un’altra minore di 10.
Sappiamo che per convertire un numero in base
10 in un’altra base minore di 10 (ad esempio in
base 2) occorre dividere il numero da convertire
per la base di destinazione (nel nostro caso per
2) e prendere il resto di questa divisione come
cifra del numero convertito. Le divisioni si devo-
no ripetere fno a quando il quoziente ottenuto
è ancora divisibile per la base di destinazione.
Avvia Excel, crea un nuovo fle e realizza il se-
guente foglio di lavoro. Segui le indicazioni ri-
portate nella tabella Fai così per ottenere il ri-
sultato riprodotto qui. Per comodità puoi servirti
del fle Convertitore.xlsx presente tra i materiali
per le esercitazioni.
MATERIALI PER
LE ESERCITAZIONI

Fai così
Inserire • Clic sulla cella A1 e digita CONVERSIONE DI UN NUMERO DA BASE 10 IN ALTRA BASE MINORE
le etichette DI 10.
e i dati iniziali. • Clic sulla cella B3 e digita NUMERO IN BASE 10 poi clic in F3 e digita BASE IN CUI CONVERTIRE.
Adeguare • Clic sulla cella B6 e digita QUOZIENTE poi clic sulla della F6 e digita RESTO.
la dimensione • Clic sulla cella B19 e digita IN BASE, poi clic su C19 e digita 10, poi clic sulla cella D19 e
delle colonne digita = infne clic su F19 e digita IN BASE.
e formattare • Fai doppio clic tra le colonne B e C per allargare in maniera automatica la colonna B e, poi, fai
doppio clic tra le colonne F e G per allargare la colonna F.
• Allarga manualmente la colonna E in quanto nella cella E19 sarà riportato il risultato della
conversione per cui questa cella deve essere suffcientemente ampia per contenere il risultato.
Unire le celle • Seleziona l’intervallo di celle A1:G1 poi uniscile e allineale al centro.
e allineare • Posizionati tra le righe 1 e 2 e trascina verso il basso per allargare la riga 1.
al centro • Allinea il testo al centro e imposta il formato grassetto.
e formattare • Imposta la dimensione del carattere a 14.

Applicare bordi • Mantenendo premuto il pulsante Ctrl seleziona i seguenti gruppi di celle:
e sfondi alle celle B3:C3 – F3:G3 – B6 – E6 – B8:B17 – E8:E17 – A19:C19 – E19:G19
e formattazioni • Applica il bordo a tutte le celle, poi il formato grassetto e, infne, il formato allineamento del
testo al centro.
• Applica alle celle i colori di testo e sfondo che desideri.
Inserire formule • Clic sulla cella B8 e digita la funzione =INT(QUOZIENTE(C3;$G$3)) che fornisce la parte intera
e funzioni del quoziente della divisione tra C3 ed G3. La cella G3 deve essere in riferimento assoluto in
quanto il valore per cui dividere è sempre quello e non deve aggiornarsi in fase di copiatura
della funzione nelle altre celle.
• Clic sulla cella F8 e digita la funzione =RESTO(C3;$G$3) per calcolare il resto della divisione
tra il dividendo contenuto in C3 e il divisore contenuto in G3.
• Non possiamo ancora copiare le funzioni perché, ora, il nuovo quoziente non è più quello
contenute in C3 ma quello appena calcolato che si trova in B8. Quindi fai clic sulla cellaB9 e
digita la funzione =INT(QUOZIENTE(B8:$G$3))
• Punta il mouse sulla maniglia di copiatura della cella B9 e trascina la selezione verso il basso
sino alla cella B17 per copiare la funzione.
• Clic sulla cella F9 e digita la funzione =RESTO(B8;$G$3).
• Punta il mouse sulla maniglia di copiatura della cella F9 e trascina la selezione verso il basso
sino alla cella F17 per copiare la funzione.

210 Sezione C Il documento elettronico


• Clic sulla cella A19 e digita la formula =C3 in quanto vogliamo che venga riportato lo stesso
valore presente in C3.
• Clic sulla cella G19 e digita la formula =G3 in quanto vogliamo che venga riportato lo stesso
valore presente in G3.
• Ora dobbiamo prendere tutti i resti partendo dall’ultimo. Per far questo fai clic su E19 e digita
la funzione =CONCATENA(F17;F16;F15;F14;F13;F12;F11;F10;F9;F8) che concatena tutti i
resti partendo dall’ultimo che è presente nella cella F17.
Per ottenere una corretta conversione devono essere soddisfatte però alcune condizioni:
• il quoziente e il resto possono essere calcolati solo se le celle C3 e G3 non sono vuote;
• il quoziente e il resto possono essere calcolati solo se il valore presente nella cella G3 è
diverso da 0 (una divisione per 0 è una divisione impossibile);
• il quoziente e il resto possono essere calcolati solo se il valore presente nella cella C3
contiene un numero in base 10 rappresentabile con le dieci cifre contenute nell’intervallo
F8:F17. La base minima è 2 e il numero massimo rappresentabile con dieci cifre in base 2 è
il numero 210 – 1 cioè 1023
• nelle celle A19 e G19 deve comparire il dato solo se le celle C3 e F3 non sono vuote.
Quindi occorre impostare delle condizioni che in Excel si esprimono con la funzione E:
=SE(E(C3<1024;C3<>””;$G$3<>””;$G$3<>0);INT(QUOZIENTE(C3;$G$3));””)))
che deve essere così interpretata: se le celle C3 e G3 non sono vuote, ossia sono diverse dallo
spazio bianco (<>””) E il numero nella cella C3 è minore di 1024 E il numero nella cella G3 è
diverso da zero (<>0) allora calcola il quoziente C3/G3 altrimenti lascia la cella B8 vuota. Tutte
le condizioni presenti nella parentesi che segue la E devono essere TUTTE soddisfatte affnché
possa essere calcolato il quoziente.
Clic sulla cella B9 e sostituisci la funzione presente con la seguente:
=SE(E(B8<>0;B8<>””);INT(QUOZIENTE(B8;$G$3));0)
Inserire i dati • Inserisci un valore nella cella C3 ed osserva il risultato della conversione. Osserva bene il
risultato. In base al valore da convertire, il risultato della conversione potrebbe contenere zeri
non signifcativi (quelli presenti a sinistra del numero). Saresti in grado di non farli visualizza-
re? Apporta le modifche che ritieni necessarie!
Salvare e stampare • Salva il fle selezionando l’unità disco in cui vuoi posizionarlo e poi esci dal programma.

2 Costruiamo un foglio di calcolo per effettuare la somma di due numeri binari.


Consideriamo due numeri binari di 5 cifre. Il risultato, pertanto, sarà un numero con, al più, 6 cifre.
Il foglio che vogliamo ottenere è il seguente:

Calcolare con un foglio elettronico C2 211


Fai così
Inserire • Clic sulla cella D2 e digita SOMMA DI DUE NUMERI BINARI.
le etichette • Clic sulla cella C5 e digita Riporti, clic sulla cella C7 e digita Num1, clic su C9 e digita Num2 e
e i dati iniziali infne clic su C11 e digita Somma.
Unire le celle • Seleziona l’intervallo di celle C1:I3 poi uniscile e allineale al centro e poi applica il formato
e allineare grassetto.
al centro • Posizionati sulle righe 4, 8 e 10 e stringile servendoti del trascinamento.
e formattare
Applicare bordi • Mantenendo premuto il pulsante Ctrl seleziona i seguenti gruppi di celle: B3:C3 – F3:G3 – B6 –
e sfondi alle celle E6 – B8:B17 – E8:E17 – A19:C19 – E19:G19
e formattazioni • Applica il bordo a tutte le celle, poi il formato grassetto e, infne, il formato allineamento del
testo al centro.
• Applica alle celle i colori di testo e sfondo che desideri.
Inserire formule • Clic sulla cella B8 e digita la funzione =INT(QUOZIENTE(C3;$G$3)) che fornisce la parte intera
e funzioni del quoziente della divisione tra C3 ed G3. La cella G3 deve essere in riferimento assoluto in
quanto il valore per cui dividere è sempre quello e non deve aggiornarsi in fase di copiatura
della funzione nelle altre celle.
• Clic sulla cella F8 e digita la funzione =RESTO(C3;$G$3) per calcolare il resto della divisione
tra il dividendo contenuto in C3 e il divisore contenuto in G3.
• Il nuovo quoziente non è più quello contenute in C3 ma quello appena calcolato che si trova in
B8. Fai clic sulla cellaB9 e digita la funzione =INT(QUOZIENTE(B8:$G$3))
• Punta il mouse sulla maniglia di copiatura della cella B9 e trascina la selezione verso il basso
sino alla cella B17 per copiare la funzione.
• Clic sulla cella F9 e digita la funzione =RESTO(B8;$G$3).
• Punta il mouse sulla maniglia di copiatura della cella F9 e trascina la selezione verso il basso
sino alla cella F17 per copiare la funzione.
• Clic sulla cella A19 e digita la formula =C3 in quanto vogliamo che venga riportato lo stesso
valore presente in C3.
• Clic sulla cella G19 e digita la formula =G3 in quanto vogliamo che venga riportato lo stesso
valore presente in G3.
• Ora dobbiamo prendere tutti i resti partendo dall’ultimo. Per far questo fai clic su E19 e digita
la funzione =CONCATENA(F17;F16;F15;F14;F13;F12;F11;F10;F9;F8) che concatena tutti i
resti partendo dall’ultimo che è presente nella cella F17.
Inserire formule Per ottenere una corretta conversione devono essere soddisfatte però alcune condizioni:
e funzioni • il quoziente e il resto possono essere calcolati solo se le celle C3 e G3 non sono vuote;
• il quoziente e il resto possono essere calcolati solo se il valore presente nella cella G3 è diver-
so da 0 (una divisione per 0 è una divisione impossibile);
• il quoziente e il resto possono essere calcolati solo se il valore presente nella cella C3 contie-
ne un numero in base 10 rappresentabile con le dieci cifre contenute nell’intervallo F8:F17. La
base minima è 2 e il numero massimo rappresentabile con dieci cifre in base 2 è il numero 210
– 1 cioè 1023;
• nelle celle A19 e G19 deve comparire il dato solo se le celle C3 e F3 non sono vuote.
• Quindi occorre impostare delle condizioni che in Excel si esprimono con la funzione E:
=SE(E(C3<1024;C3<>””;$G$3<>””;$G$3<>0);INT(QUOZIENTE(C3;$G$3));””)))
• che deve essere così interpretata: se le celle C3 e G3 non sono vuote, ossia sono diverse dallo
spazio bianco (<>””) E il numero nella cella C3 è minore di 1024 E il numero nella cella G3 è
diverso da zero (<>0) allora calcola il quoziente C3/G3 altrimenti lascia la cella B8 vuota. Tutte
le condizioni presenti nella parentesi che segue la E devono essere TUTTE soddisfatte affnchè
possa essere calcolato il quoziente.
• Clic sulla cella B9 e sostituisci la funzione presente con la seguente:
=SE(E(B8<>0;B8<>””);INT(QUOZIENTE(B8;$G$3));0)

212 Sezione C Il documento elettronico


Inserire i dati • Inserisci un valore nella cella C3 ed osserva il risultato della conversione. Osserva bene il
risultato. In base al valore da convertire, il risultato della conversione potrebbe contenere zeri
non signifcativi (quelli presenti a sinistra del numero). Saresti in grado di non farli visualizzare?
Apporta le modifche che ritieni necessarie!
Salvare e stampare • Salva il fle selezionando l’unità disco in cui vuoi salvare il documento e poi esci dal programma.

ORA TOCCA A TE
1 Lavoriamo con medie e percentuali.
a. Campionato di calcio
Dopo una serie di incontri fra 5 squadre di calcio di un girone, sono stati riportati i risultati qui
descritti:

Totale IN CASA FUORI CASA


Squadra Punti MEDIA INGLESE
partite Vittorie Pareggi Sconftte Vittorie Pareggi Sconftte
A 2 3 1 1 3 2 Formula
B 2 0 4 2 0 2 Formula
C 1 0 5 0 3 3 Formula
D 0 2 4 1 1 4 Formula
E 2 2 2 2 3 1 Formula

i Calcola le partite totali effettuate.


ii Calcola i punti per ogni squadra: 3 punti per la vittoria, 1 per il pareggio, 0 per la sconftta.
iii Ordina i dati per punti decrescenti (classifca del girone).
iv Calcola la media inglese di ogni squadra.

Regola per calcolare la media inglese: Vittoria Pareggio Sconftta


La media inglese è un particolare tipo di coeffciente che determina la In casa 0 –2 –3
classifca di una squadra di calcio tenendo conto del fattore campo.
Fuori casa 2 0 –1
b. Calcolo bonus dei rappresentanti
Riporta la seguente situazione in un foglio di lavoro di Excel:

Rappresentanti Fatturato € % sul totale Bonus Premio


Gianfranco 18000 Formula Formula Formula
Mario 35000 Formula Formula Formula
Paolo 72500 Formula Formula Formula
Stefano 65500 Formula Formula Formula
Totale Formula Formula Formula Formula
Calcola:
i Il bonus: a chi ha fatturato più di 20.000 euro verrà dato un bonus di 750 euro, in caso
contrario il bonus non verrà corrisposto.
ii Il premio: a chi ha fatturato più di 50.000 euro verrà dato un premio pari al 10% della dif-
ferenza fra il fatturato ottenuto e 50.000 euro, o 0 altrimenti.
iii Il fatturato totale.
iv Le percentuali sul fatturato totale di ciascun rappresentante.
Dopo aver impostato i calcoli:
i Ordina i dati in base al fatturato (ordine decrescente).
ii Rappresenta grafcamente il fatturato prima con i valori assoluti in euro tramite un isto-
gramma, poi con i valori percentuali tramite un diagramma a torta.

Calcolare con un foglio elettronico C2 213


12 I grafici
Il grafico è un metodo di rappresentazione visiva dei dati contenuti nel foglio di
lavoro. La visualizzazione di dati sotto forma di grafico li rende maggiormente
comprensibili e consente di individuarne più rapidamente la natura e le relazioni.

I tipi di grafici
I fogli di calcolo dispongono di un potentissimo strumento molto utile per gene-
rare grafici di vario tipo in modo semplice ed efficace. La scelta del tipo di grafico
dipende dai dati che si intende rappresentare. Ad esempio:
Gli istogrammi consentono di visualizzare le variazioni dei dati
del tempo e sono molto utili per confrontare più voci (o serie)
di una stessa categoria o fra categorie diverse. Le categorie
sono solitamente disposte lungo l’asse x, mentre i valori è possi-
bile trovarli sull’asse y.
Il grafico riporta sull’asse X le categorie cioè le classi della scuola
e per ognuna vengono rappresentati i diversi hobbies. Sull’asse Y
è rappresentato il numero di studenti per ciascun hobby.
I grafici a linee si usano per tracciare i dati che in un foglio di
lavoro sono disposti in colonne o in righe. Sono particolarmen-
te utili per visualizzare le tendenze di una o più serie di dati.
Questo tipo di grafico è ideale per la presentazione di dati in pe-
riodi di tempo. Ad esempio, per rappresentare fenomeni demo-
grafici, meteorologici, ecc.

I grafici a torta sono ideali per rappresentare una serie di dati


proporzionale rispetto alla somma degli elementi; ogni fetta
della torta rappresenta una categoria di dati. È consigliato usare
un grafico a torta quando è presente un’unica serie di dati da uti-
lizzare e nessun valore è negativo.

Gli elementi di un grafico

Titolo
del grafico

Legenda

Etichetta
dati

Titolo
dell’asse

214 Sezione C Il documento elettronico


Creare un grafico
• Seleziona l’area del foglio che contiene i dati che intendi rappresentare sul grafico.
• Fai clic sulla scheda INSERISCI e nel gruppo Grafici seleziona il tipo di grafico che
intendi realizzare. Excel ti mostra i sottotipi selezionabili: quando posizioni il pun-
tatore del mouse sul sottotipo ti verrà presentata sul foglio di lavoro un’anteprima
del grafico in modo da aiutarti nella scelta. scegli quello che ti interessa e selezio-
nalo con un clic. Se fai clic sul pulsante Grafici consigliati Excel ti suggerisce i
grafici più adatti ai dati che hai selezionato.
Appena creato il grafico, viene visualizzata la scheda contestuale Strumenti grafico,
che consente di aggiungere altri elementi quali titoli, etichette e permette anche di
cambiare il layout del grafico. Se questa barra non è visualizzata, fai clic in un punto Lo sai?
qualsiasi del grafico per attivarla.
Una volta creato un grafico, attraverso le schede Progettazione e Formato puoi mo-
Gli elementi del
dificarne l’aspetto. Per applicare un layout predefinito, fai clic in un punto qual- grafico possono essere
siasi del grafico e, nel gruppo Layout grafici della scheda Progettazione, fai clic sul selezionati con un clic
layout che intendi utilizzare. del pulsante destro del
mouse e selezionando
Se invece vuoi applicare uno stile di grafico predefinito, fai clic in un punto qual- le opzioni Formato
siasi del grafico e, nel gruppo Stili grafici della scheda PROGETTAZIONE, fai clic area del grafico,
sullo stile che desideri. Formato assi, ecc.

Per modificare manualmente il layout degli elementi del grafico, vai nel grup-
po Selezione corrente della scheda FORMATO, fai clic sulla freccia della casella
Elementi grafico e seleziona l’elemento che desideri.
Con il gruppo Layout grafici della scheda PROGETTAZIONE puoi inserire vari
altri elementi per personalizzare ulteriormente il tuo grafico. Fai clic sul pul-
sante Aggiungi elemento grafico e seleziona l’elemento che desideri aggiungere.
Per formattare tutti gli elementi del grafico selezionati, nel gruppo Selezione cor-
rente fai clic su Formato selezione e poi seleziona le opzioni di formattazione che
desideri.
Per modificare la forma di un elemento del grafico selezionato, nel gruppo Stili
forma della scheda FORMATO fai clic sullo stile desiderato, oppure puoi anche
fare clic su Riempimento forma, Contorno forma o Effetti forma e poi selezionare
le opzioni di formattazione desiderate.
Puoi anche formattare il testo contenuto in un elemento del grafico selezio-
nato attraverso gli oggetti WordArt presenti nel gruppo Stili WordArt. Ricorda
che, una volta applicato uno stile WordArt, non potrai più rimuoverlo; potrai
solo selezionarne un altro oppure fare clic su Annulla nella barra di accesso
rapido per tornare al formato precedente.

Calcolare con un foglio elettronico C2 215


RIPASSIAMO INSIEME
MAPPA
CALCOLARE CON UN FOGLIO ELETTRONICO MODIFICABILE

Che cos’è un foglio elettronico?

È un programma utile per effettuare


calcoli, ordinamenti, elaborazioni e
Con Excel puoi realizzare
rappresentazioni grafiche di dati.
vari tipi di grafici, tra cui
istogrammi, grafici a linee, a
torta e altri ancora.

I dati sono inseriti in fogli di


lavoro strutturati in righe e colonne
che, intersecandosi, formano le celle.

I dati si possono formattare


impostando tipo di carattere,
colore, bordo, modalità di
Le celle possono visualizzazione e così via.
contenere dati di vario
tipo: numeri, testo, date.

Nelle formule, oltre ai


Nelle celle si possono normali operatori matematici
inserire anche formule, si possono utilizzare le
cioè equazioni con numeri, funzioni, formule predefinite
operatori matematici e valori che eseguono calcoli e
attingibili da altre celle. particolari azioni sul foglio
di lavoro.

Per indicare le celle in una formula


si possono utilizzare riferimenti
relativi (che si aggiornano spostando
la cella di destinazione) o assoluti
(che restano sempre invariati).

216 Sezione C Il documento elettronico


C2
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Con Excel si possono effettuare calcoli,


ordinamenti, elaborazioni e rappresentazioni
grafiche di dati (A) ............................................................... ☐ V ☐ F

2) Le celle sono formate dall’intersezione delle righe


e delle colonne nei fogli di lavoro (C) ....................... ☐ V ☐ F

3) Si possono formattare i dati impostando anche


il tipo di carattere utilizzato (D) .................................. ☐ V ☐ F

4) Le funzioni sono formule predefinite che eseguono


calcoli e altre particolari azioni (G) ............................ ☐ V ☐ F

5) Non è possibile inserire delle date nelle celle


del foglio elettronico (E) ................................................... ☐ V ☐ F

6) I riferimenti relativi non si aggiornano quando


si sposta la cella di destinazione (H) .......................... ☐ V ☐ F

Completa le affermazioni seguenti.

7) Tra i tipi di grafici che si possono realizzare con Excel ci


sono i grafici a ……................ e quelli a ........................ (B)

8) I dati si possono ............................................. impostando tipo di


carattere, colore e così via (D)

9) I fogli di lavoro sono strutturati in ....................... e .....................,


che intersecandosi formano le ........................... (C)

10) Nelle celle si possono inserire anche ................................., ovvero


equazioni con numeri, operatori e valori di altre celle (F)

11) I riferimenti ..................................... rimangono sempre


invariati, cioè non si aggiornano spostando la cella
di destinazione (H)

Calcolare con un foglio elettronico C2 217


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo C2
Risposta singola 10 Premendo il tasto invio all’interno di una selezione
di celle si va:
1 Un file Excel può contenere:
A a sinistra rispetto alla cella attiva
A un numero qualsiasi di fogli di lavoro
B a destra rispetto alla cella attiva
B 3 fogli di lavoro
C sopra la cella attiva
C fino a 3 fogli grafici e 1 foglio macro
D sotto la cella attiva
D fino a 255 fogli di qualsiasi tipo
2 In un foglio di calcolo si possono inserire contem-
11 La formula = A3 + B1 – 5 è:
poraneamente più fogli selezionandoli con il tasto: A corretta: restituisce la somma dei contenuti delle
celle A3 e B1 diminuita di 5
A Maiusc B Alt C Ctrl D Alt Gr
B sbagliata
3 Una cella è:
C corretta se si toglie il segno = all’inizio
A l’intersezione tra una riga e una colonna
B il file che si utilizza per i calcoli 12 Copiando dalla cella A5 nella cella B5 la formula
=SOMMA(A$1:A$4)
C l’area che si usa per consultare le informazioni
A nella cella B5 risulterà la somma dei valori delle
4 Le righe e le colonne sono identificate: celle da A1 a A4
A le righe da un numero, le colonne da una lettera B nella cella B5 risulterà la somma dei valori delle
dell’alfabeto celle da B1 a B4
B le righe da una lettera dell’alfabeto, le colonne da C non risulterà niente perché la formula SOMMA non
un numero esiste
C sia le righe sia le colonne sono identificate da una
lettera dell’alfabeto e da un numero 13 Data la struttura: A B
la formula per calco- 1 25 12
5 Premendo la combinazione di tasti Ctrl + B si va: lare A1 + B1 è: 2 5 80
A sull’ultima riga B sull’ultima colonna A A1 + B1 3 9 11
C sulla prima riga D sulla prima colonna B = SOMMA(A1 + B1)
6 Premendo la combinazione di tasti Ctrl + ? si va: C non è possibile fare operazioni tra valori inseriti
A sull’ultima riga B sull’ultima colonna nella stessa riga
C sulla prima riga D sulla prima colonna D = A1 + B1

7 In una tabella, è possibile selezionare celle tra lo- 14 Data la struttura: A B


ro non contigue: la formula per calco- 1 30 10
A solo nella produzione di grafici, tenendo premuto il lare la somma dei sei 2 24 54
tasto Alt valori:
3 144 47
B tenendo premuto il tasto ctrl durante la selezione A non è possibile
C no, non è possibile B = SOMMA(A1:B3)
C = ADDIZIONO(A1;A2;A3;B1;B2;B3)
8 Quale tasto occorre tenere premuto per seleziona-
re un gruppo di celle adiacenti? 15 Il simbolo del pulsante della sommatoria serve a:
A Maiusc B Ctrl C Alt D Nessun tasto A immettere in una cella una formula generica scelta
da una lista
9 Premendo i tasti Maiusc + Tab all’interno di una
B sommare in una cella i valori di un gruppo di celle
selezione di celle si va:
definibile dall’utente
A a sinistra rispetto alla cella attiva
C immettere in una cella la somma dei valori delle
B a destra risetto alla cella attiva celle della colonna
C sopra la cella attiva
D sotto la cella attiva

218 Sezione C Il documento elettronico


Allena le tue ABILITÀ
e le tue COMPETENZE C2
ABILITÀ 5 il signor Rossi assiste a una sfilata e acquista per
il suo negozio le seguenti merci:
1 La ditta “tizio & Caio” produce cinque articoli di-
– 150 maglioni a 15,00 euro cadauno;
versi (Articolo1, Articolo2, ecc.).
– 180 t-shirt a 30,00 euro cadauna;
Costruisci un foglio di lavoro che riporti le vendite – 250 cappotti a 150,00 euro cadauno;
mensili di ogni articolo, i totali riferiti ai singoli – 100 gonne a 70,00 euro cadauna.
articoli e ai singoli mesi e i valori medi di vendita
Tutte le merci saranno vendute con un ricarico
per ogni articolo. Costruisci, infine, il relativo
dell’80%. crea un foglio di lavoro che contenga:
grafico.
– il prezzo di acquisto di ogni partita di merce;
2 Riporta in due colonne di un foglio di calcolo le – il prezzo di vendita di ogni partita di merce;
temperature massime e minime di un mese della – il ricavo conseguito dalla vendita della merce;
tua città. – l’utile derivante dalla vendita.
Calcola l’escursione termica e riporta quest’ultima 6 L’amministratore del condominio “Fabrizio” di Roma
in un grafico. ha sostenuto nell’anno 2014 le seguenti spese:
– acqua 3.000,00 euro;
COMPETENZE – luce 2.500,00 euro;
– riscaldamento 4.000,00 euro;
3 Una concessionaria di automobili rileva in un fo-
– gas 2.000,00 euro;
glio elettronico le vendite di tre tipi di autovetture
– spese varie 10.000,00 euro.
(Panda, Punto e 500) effettuate nei quattro trime-
stri dell’anno. In base al regolamento, tutte le spese devono
essere ripartite fra i condomini in base ai millesimi
Il numero di autovetture vendute per trimestre è:
di proprietà riportati nella seguente tabella:
Trimestre Panda Punto 500
Piano Condominio Millesimi Anticipo
Primo 115 150 20
1 Rossi 100 150,00
Secondo 80 98 180
1 Gialli 80 200,00
Terzo 72 154 12
1 Verdi 120 100,00
Quarto 150 189 100
2 Neri 100 250,00
Predisponi il foglio elettronico calcolando i totali 2 Salerno 200 100,00
delle vendite riferite ai singoli trimestri e ai singoli 2 Manca 100 100,00
tipi di automobili. costruisci, infine, il grafico relativo
3 Sempronio 70 300,00
scegliendo un diagramma a barre.
3 Gallo 130 150,00
4 Viene condotta un’indagine sulla popolazione sco- 3 Resta 100 100,00
lastica di una regione, composta da 2400 ragazzi e costruisci un foglio di calcolo che preveda:
2550 ragazze, in relazione all’attività extrascolasti-
ca svolta. Dall’indagine emergono i seguenti dati: a) la suddivisione delle spese per i singoli condomini;
b) il conguaglio che i condomini devono versare;
Attività Maschi Femmine
c) il totale delle spese e degli anticipi.
Sport 1400 2000
Musica 500 350
7 Un docente di informatica deve attribuire la va-
lutazione quadrimestrale ai suoi alunni. Per farlo
Lettura 100 70 decide di svolgere quattro compiti in classe e tre
Altre attività 350 100 interrogazioni per alunno.
Nessuna 50 30 Costruisci un foglio di calcolo che consenta
all’insegnante di registrare i voti riportati nelle
Predisponi il foglio elettronico calcolando le prove scritte e in quelle orali e che, alla fine,
percentuali rispetto ai totali. costruisci, infine, il calcoli la media quadrimestrale per lo scritto e per
grafico relativo scegliendo un istogramma. l’orale e la media generale.

Calcolare con un foglio elettronico C2 219


C3 Comunicare con un
programma di presentazione
LABORATORI “CASE STUDIES”
Approfondisci con i casi pratici

ESERCIZI COMMENTATI
Segui la risoluzione passo passo

APPROFONDIMENTI
IMPARERAI…

Come costruire Come inserire elementi Come inserire Come inserire animazioni
presentazioni originali, immagini e collegamenti ipertestuali personalizzate e
effcaci e funzionali video per presentazioni per realizzare ipertesti transizioni
interattive e multimediali

1 Presentazioni con PowerPoint


Microsoft PowerPoint è un programma di grafica appartenente alla categoria
degli strumenti di presentazione che consente di assemblare in modo rapido e in-
tuitivo testi, colori, immagini, disegni, forme, video per creare presentazioni di
tipo multimediale, efficaci per qualsiasi argomento e in qualsiasi situazione.
All’avvio del programma viene visualizzato l’elenco dei file aperti di recente, insie-
me ai modelli disponibili per creare nuove presentazioni.

Lo sai?

I file di PowerPoint
vengono salvati con
l’estensione .pptx,
ma nella finestra Se fai clic su Presentazione vuota, PowerPoint propone una nuova presentazione
Salva con nome
puoi anche scegliere
standard, a cui è assegnato per default il nome Presentazione standard1 (visibile
altri formati; ad sulla barra del titolo). Nella figura a pagina seguente puoi vedere l’interfaccia di
esempio, l’estensione base del programma con i suoi elementi principali.
.ppsx si utilizza per
presentazioni che si
possono avviare anche
se PowerPoint non è
installato (avviandole
2 Le sei regole d’oro
da PowerPoint si
possono anche Una presentazione è composta da una serie di diapositive digitali predispo-
modificare). ste in modo da poter essere visualizzate in base all’ordine prescelto dal relatore.

220 Sezione C Il documento elettronico


Riquadro struttura: è una finestra composta da due Riquadro diapositiva: riporta il testo e gli
schede, Struttura e Diapositive; offre uno schema elementi grafici delle singole diapositive; è molto
generale di tutto il lavoro e la possibilità di spostare utile per intervenire in modo semplice quando
l’ordine di visualizzazione, eliminare diapositive e così occorre modificare i contenuti delle diapositive
via. In particolare, la scheda Diapositive visualizza le stesse. In questo riquadro, infatti, è possibile
immagini delle diapositive come immagini in anteprima. digitare i vari testi delle singole diapositive.

Apre il riquadro
per i commenti

Apre il riquadro
per le note
Visualizzazione normale: viene
utilizzata per inserire testo e
grafica nelle diapositive

Sequenza diapositive: mostra in forma ridotta


tutte le diapositive. È utile per ordinare e
organizzare la sequenza delle diapositive e per
avere una panoramica completa del lavoro svolto.

Visualizzazione di lettura: consente di scorrere le diapositive


singolarmente. È utile per verificare l’effetto delle animazioni e
della grafica e dare uno sguardo completo alla presentazione.

Visualizzazione presentazione: consente di vedere a tutto


schermo la presentazione reale. Questa visualizzazione esegue la
presentazione partendo dalla diapositiva corrente, se è attivata la
visualizzazione normale, mentre esegue la presentazione partendo
dalla diapositiva selezionata se è attiva la sequenza diapositive.

Comunicare con un programma di presentazione C3 221


Vuoi creare una presentazione in grado di sbalordire il pubblico? Inizia a dare uno
sguardo alle regole esposte nella tabella.

Sei regole per ottenere una buona presentazione

Regola Che cosa signifca Come si applica


1. Sinteticità Evidenziare i punti più • Limita il testo di ciascuna diapositiva a non più di sei righe.
importanti • Per ogni riga scrivi un massimo di sei/sette parole.
2. Visibilità Tutti gli spettatori • La dimensione del testo deve essere adeguata e mai inferiore a
devono riuscire a vedere 18 punti. Ad esempio, potresti utilizzare dimensioni di 44 punti
agevolmente il testo per i titoli, 32 punti per il testo principale e 28 punti per il testo
secondario.
3. Omogeneità Conferire un aspetto • Utilizza al massimo tre tipi di carattere in una diapositiva.
ordinato alla • Mantieni uno stile unico per tutta la presentazione.
presentazione
4. Sfondi idonei Scegliere lo sfondo più • Ad esempio, per le presentazioni su schermo utilizza uno sfondo
opportuno per ogni tipo di scuro sfumato, mentre per il testo usa colori brillanti.
presentazione
5. Semplicità Le immagini spiegano più • Utilizza immagini e/o elementi grafci per mettere in risalto i punti più
delle parole importanti.
6. Movimento La curva di attenzione • Evita di usare più di tre diapositive consecutive contenenti solo testo.
dopo i primi 20 minuti • Aggiungi, se possibile, tabelle, grafci, suoni, animazioni e così via.
è praticamente azzerata

Ricorda
3 Creare e aprire una presentazione
Per creare un nuovo file (nel nostro caso, una nuova presentazione)
Puoi cambiare tema
durante la lavorazione basta aprire la scheda FILE e selezionare Nuovo, mentre per aprire
delle diapositive, ma una presentazione già salvata devi selezionare Apri.
presta attenzione
perché ogni tema
contiene stili di testo I temi delle diapositive
specifici, per cui
il testo formattato Per creare presentazioni dall’aspetto professionale, con diapositive
secondo un tema può ricche di colori coordinati e sfondi, tipi di carattere ed effetti abbi-
non risultare gradevole nati, puoi applicare un tema. A questo scopo, seleziona la scheda
con gli stili previsti da
un tema diverso. PROGETTAZIONE per visualizzare i temi disponibili, con le loro
varianti.

Quando posizioni il puntatore del mouse sul tema, quest’ultimo viene visualizza-
to direttamente nel riquadro della diapositiva. Facendo clic con il pulsante destro
del mouse sulla casella di un tema puoi aprire un menu che ti inviterà a scegliere
se applicare il tema a tutte le diapositive o soltanto a quelle selezionate.
Se lo desideri, puoi anche cambiare i colori del tema che hai selezionato, sceglien-
do una delle varianti visibili nella scheda PROGETTAZIONE. Puoi anche persona-
lizzare i colori di ciascuna variante.

222 Sezione C Il documento elettronico


I layout automatici GLOSSARIO
layout
Una volta scelto il tema, occorre scegliere il layout, ossia la struttura grafica della La struttura grafica
diapositiva. della diapositiva, ossia
Attiva la scheda HOME e fai clic sul pulsante Layout presente nel gruppo Diaposi- il modo in cui vengono
disposti i segnaposto
tive: appariranno le anteprime dei layout disponibili. necessari a contenere
In ogni layout la diapositiva viene suddivisa in aree specifiche dette segnaposto, testi, immagini, disegni
ognuna delle quali è predisposta per accogliere particolari oggetti che dovranno e altri tipi di elementi.
apparire sulla diapositiva. Il testo e i paragrafi possono essere for-
mattati seguendo le stesse procedure descritte nell’unità dedicata
al wordprocessor.
Segnaposto

4 Operare con le diapositive


Tra le operazioni svolte più frequentemente vi sono quelle per l’inserimento, l’eli-
minazione e la duplicazione di una diapositiva, riepilogate nella tabella seguente.
Per... Procedi così
Inserire una nuova
diapositiva
Usa il pulsante della scheda HOME. Se fai clic sulla parte superiore del pulsante verrà
inserita una nuova diapositiva con il layout Titolo e contenuto, mentre se fai clic sulla parte inferio-
re del pulsante ti verranno proposti una serie di layout tra cui scegliere.
Rimuovere una Selezionala e premi il tasto Canc. Puoi anche selezionarne più di una (servendoti degli ormai noti
diapositiva tasti Ctrl o Maiusc) e cancellarle contemporaneamente, sempre premendo il tasto Canc. Oppure
puoi selezionare una o più diapositive con il pulsante destro del mouse all’interno del riquadro
Struttura (quello a sinistra dove sono riportate le miniature) e, dal menu contestuale, scegliere
Elimina diapositiva.
Duplicare selezionala con il pulsante destro del mouse all’interno del riquadro Struttura e, dal menu conte-
una diapositiva stuale, scegli Duplica diapositiva.
Nascondere Selezionala con il pulsante destro all’interno del riquadro Struttura e scegli Nascondi diapositiva
una diapositiva dal menu contestuale. È facile individuare le diapositive nascoste, poiché in visualizzazione strut-
tura il numero a esse corrispondente risulta barrato in diagonale. Le diapositive nascoste non
vengono cancellate, ma solo escluse dalla presentazione.
Se desideri ripristinare la visualizzazione di una diapositiva nascosta, devi ripetere il procedimen-
to appena descritto e selezionare Nascondi diapositiva

Come molte apparecchiature video e TV, anche PowerPoint usa il formato HD


e widescreen. Per scegliere il formato attiva la scheda PROGETTAZIONE e se-
leziona Dimensioni diapositiva nel gruppo Personalizza. Se usi diapositive cre-
ate in versioni precedenti di PowerPoint, o esegui una presentazione su moni-
tor o proiettori non recenti, puoi riportare le dimensioni delle diapositive a 4:3
selezionando Standard (4:3). Puoi anche impostare dimensioni personalizzate.

Comunicare con un programma di presentazione C3 223


Inserire gli oggetti
Alcuni layout automatici di diapositiva consentono l’inserimento di diversi tipi di
oggetti operando direttamente in un menu grafico riportato a destra. Puoi inse-
rire immagini, tabelle, grafici, video. Se posizioni il puntatore del mouse sui vari
pulsanti presenti nel segnaposto, un tooltip (suggerimento) ti indica la funzione
svolta. Per l’inserimento e la gestione di questi oggetti, segui le stesse modalità
Ricorda
che sono state indicate nelle unità dedicate a elaboratori di testi e fogli elettronici.

Se premi il tasto
F5 farai partire
la presentazione
5 Avviare la presentazione
dall’inizio, ossia dalla Per avviare la presentazione fai clic sulla scheda PRESENTAZIONE e poi sul pul-
prima slide.
sante Dalla diapositiva corrente o Dall’inizio.

Il passaggio da una diapositiva a un’altra si ottiene facendo clic con il pulsante


Lo sai? sinistro del mouse oppure utilizzando i tasti PagGiù o PagSu della tastiera, oppure
il pulsante destro del mouse per far apparire il menu contestuale. Per uscire dalla
Se durante la presentazione, premi il tasto Esc.
presentazione fai clic La presentazione può essere visualizzata partendo da una diapositiva qualsiasi e
con il pulsante destro non necessariamente dalla prima o da quella selezionata: a tal fine, sempre nella
del mouse, troverai
nel menu la voce scheda PRESENTAZIONE, fai clic su Imposta presentazione. Nella finestra che ap-
Opzioni puntatore che pare, scegli nella sezione Diapositive presentazione se visualizzare tutte le slide o
ti permette di scegliere soltanto alcune (Da... a...).
alcuni particolari in
merito al cursore, ad
Nella sezione Tipo presentazione scegli con quale modalità mostrare le diapositive:
esempio la penna o il • Con relatore (schermo intero) consente di mostrare le diapositive a schermo in-
pennarello o, ancora,
un evidenziatore al fine tero. L’avanzamento delle diapositive può avvenire manualmente, oppure im-
di poter scrivere sulle postando intervalli autonomi attraverso il comando Prova intervalli presente
diapositive in fase di nella scheda PRESENTAZIONE;
presentazione. Puoi
anche usare la gomma • Scorrimento individuale (finestra) consente di eseguire la presentazione
in modo da rendere all’interno di una finestra caratterizzata da menu e comandi utili per sempli-
la presentazione ficare lo scorrimento delle
sempre più dinamica e
interattiva.
diapositive;
• Presentazione continua
(schermo intero) consente
di eseguire la presentazione
a schermo intero in modo
continuo. Se selezioni que-
sta opzione, viene automati-
camente selezionata anche
la casella Effettua ciclo con-
tinuo fino a Esc nella sezione
Opzioni presentazione.

224 Sezione C Il documento elettronico


OSSERVA COME SI FA
1 Creiamo una presentazione per la nostra scuola.

Per Fai così


Impostare un tema e • Apri PowerPoint e fai clic direttamente sulla casella del tema Fasce per selezionarlo (o un al-
formattare i caratteri tro tema di tuo gusto), quindi fai clic sul pulsante Crea per creare una nuova presentazione
con il tema selezionato già applicato. Viene creata una presentazione denominata Presenta-
zione standard1 con la diapositiva Titolo già pronta.
• Se le tonalità di colore standard tipiche del tema non ti piacciono, attiva la scheda PROGET-
TAZIONE e nel gruppo Varianti scegli una variante di tuo gusto.
Impostare un tema e • Ora cominciamo a inserire i testi. Clic nel segnaposto Fare clic per inserire il titolo e digita
formattare i caratteri La mia scuola.
• Clic nel segnaposto Fare clic per inserire il sottotitolo e digita il nome e l’indirizzo della
scuola.
• Seleziona il nome della scuola, attiva la scheda HOME e fai clic su della casella Dimen-
sione carattere del gruppo Carattere, poi seleziona 80.
Inserire la seconda • Attiva la scheda HOME.
slide e assegnarle • Clic sulla parte inferiore del pulsante presente nel gruppo Diapositive e scegli una
un layout slide Titolo e contenuto.
• Clic nel segnaposto Fare clic per inserire il titolo e digita Uno sguardo d’insieme.
• Clic sulla voce Fare clic per inserire il testo e digita le seguenti voci (premendo Invio dopo
ognuna): Tradizione, Cultura, Inserimento nel mondo del lavoro, Didattica innovativa.
• Seleziona tutte le voci inserite e clic su (Grassetto) del gruppo Carattere.
Inserire la terza slide
e assegnarle • Clic sulla parte inferiore del pulsante e scegli una slide Titolo e contenuto.
un layout • Clic nel segnaposto Fare clic per inserire il titolo e digita Perché scegliere la nostra scuola?
• Seleziona il segnaposto che contiene il titolo appena inserito e clic su (Grassetto) del
gruppo Carattere.
• Clic sulla voce Fare clic per inserire il testo e digita il seguente testo: Perché è una delle
poche scuole che offre la possibilità di utilizzare le nuove tecnologie sin dal primo anno grazie
alla presenza di numerosi laboratori.
• Perché al centro dell’attenzione dei docenti c’è la persona e non solo lo studente!

Comunicare con un programma di presentazione C3 225


Inserire immagini
e impostare • Clic sulla scheda INSERISCI e poi clic su per cercare nel tuo computer delle immagini
le dimensioni che siano attinenti con la scuola. Nel caso non dovessi averle, cercale su Internet e poi
procedi al loro inserimento con il pulsante Inserisci.
• Con l’immagine selezionata nella diapositiva si attiva la scheda FORMATO della barra STRU-
MENTI IMMAGINE.
• Nel gruppo Dimensioni fai clic nelle caselle Altezza forma e Larghezza forma e sostituisci i
valori presente con 8 e 6, rispettivamente. Se vedi che i valori digitati non vengono mante-
nuti, probabilmente è attiva l’opzione Blocca proporzioni. Per disattivarla, fai clic sul pul-
santino del gruppo Dimensioni e nel riquadro Formato immagine togli la spunta a Blocca
proporzioni. A questo punto puoi digitare nuovamente i valori desiderati nelle caselle Altezza
e Larghezza.
• Trascina l’immagine al centro della slide, in basso.
Inserire • Osserva l’immagine della quarta slide riportata all’inizio dell’esercizio e realizzala seguendo
la quarta slide le indicazioni già fornite per le precedenti diapositive.
Salvare ed eseguire • Clic su della barra di accesso rapido e nella fnestra di dialogo visualizzata digita LaMia-
la presentazione Scuola1 nella casella Nome fle.
• Seleziona l’unità disco in cui vuoi salvare il documento e poi clic sul pulsante Salva.
• Premi il tasto F5 della tastiera per avviare la presentazione.
• Clic sulla scheda FILE e scegli Esci.

6 La grafica SmartArt: gli organigrammi


Gli SmartArt sono oggetti grafici utili per rappresentare le informazioni. In par-
ticolare, un organigramma è un diagramma schematico molto sfruttato per
rappresentare relazioni tra persone e oggetti (ad esempio un albero genealogico).

Per creare uno SmartArt, attiva la scheda INSERISCI e nel gruppo Illustrazioni fai
clic sulla casella SmartArt .
La finestra di dialogo Scegli Elemen-
to Grafico SmartArt è suddivisa in tre
sezioni: in quella più a sinistra puoi
scegliere la tipologia di oggetto che in-
tendi realizzare, in quella centrale puoi
vedere le varianti della tipologia che
hai selezionato e nell’ultima viene ri-
portata un’anteprima e una descrizio-
ne dell’oggetto che hai scelto. Una volta
fatta la scelta, conferma con OK.
Servendoti dei pulsanti presenti nel
gruppo Carattere della scheda HOME,
puoi applicare le formattazioni del te-
sto così come fai normalmente nei segnaposto di una diapositiva.
Per applicare un nuovo stile al diagramma devi selezionarlo (nota che viene visua-
lizzata la barra STRUMENTI SMARTART), quindi usa il pulsante Cambia colori per
impostare il colore o la combinazione di che ti piace di più. Gli altri pulsanti della
barra STRUMENTI SMARTART ti aiutano nel caso in cui desideri cambiare il tipo

226 Sezione C Il documento elettronico


di diagramma, aggiungere nuove forme, spostare le forme e molto altro.
Per aggiungere un nuovo elemento all’organigramma, sempre nella
barra STRUMENTI SMARTART attiva la scheda PROGETTAZIONE e
serviti del pulsante Aggiungi forma presente nel gruppo Crea elemento
grafico. Per eliminarne uno, selezionalo e premi il tasto Canc. Fai delle
prove: vedrai che sarà tutto molto semplice e divertente.

7 Realizzare ipertesti
Quando il contenuto della presentazione richiede un collegamento tra due diapo-
sitive, il richiamo di un’altra presentazione, o di un documento realizzato con un
programma diverso, o di un indirizzo di Internet, è possibile aggiungere un colle-
gamento ipertestuale (link). I collegamenti ipertestuali possono essere creati a
partire da un qualsiasi oggetto, incluso il testo e le immagini. Questi tipi di collega-
mento vengono riconosciuti in quanto il posizionamento del puntatore del mouse
su di essi fa assumere al puntatore stesso la classica forma di mano con l’indice
alzato. I testi che rappresentano collegamenti ipertestuali appaiono sottolineati e
di colore diverso.
Per realizzare un collegamento ipertestuale:
• fai clic sull’oggetto o evidenzia il testo interessato;
• fai clic sul pulsante Collegamento ipertestuale presente nel gruppo Col-
legamenti della scheda INSERISCI. Viene visualizzata una finestra di dialogo
che ti permetterà di inserire il collegamento che desideri.

Se vuoi creare un collegamento a un


file o a una pagina web esistente,
digita il nome del file nella casella
Indirizzo o ricercalo nell’elenco.

Se vuoi realizzare un collegamento


a una specifica diapositiva presente
nel file, seleziona dall’elenco la
diapositiva da collegare.

Per creare un collegamento a un file


non ancora creato.

Per creare un collegamento che


consenta di inviare un messaggio di
posta elettronica.

Comunicare con un programma di presentazione C3 227


OSSERVA COME SI FA
1 Costruiamo un ipertesto per la presentazione di un museo cittadino.

Per Fai così


Impostare un • Clic sulla scheda PROGETTAZIONE e nel gruppo Temi seleziona il tema Sfaccettatura. Se le
tema e formattare tonalità di colore standard tipiche di questo tema non ti piacciono, puoi usare il pulsante Colori
i caratteri presente nello stesso gruppo Temi per scegliere una variante. Puoi anche scegliere un tema
diverso, se lo desideri.
• Clic nel segnaposto Fare clic per inserire il titolo e digita Il museo della mia città.
• Clic nel segnaposto Fare clic per inserire il sottotitolo e digita Un viaggio nella cultura e nell’arte.
• Seleziona il titolo e clic su del gruppo Carattere per applicare il grassetto al testo selezionato.
• Clic su (Colore carattere) del gruppo Carattere e imposta un rosso di tuo gusto.
Inserire la seconda
slide e assegnarle • Clic sulla scheda HOME e poi clic sulla parte inferiore del pulsante del gruppo Diapositive
un layout e crea una nuova slide con il layout Titolo e contenuto.
• Clic nel segnaposto Fare clic per inserire il titolo e digita Tra i grandi artisti italiani abbiamo... poi
clic su (Allinea al centro) del gruppo Paragrafo.
• Clic sulla voce Fare clic per inserire il testo e comincia a digitare i nomi degli artisti: Giotto,
Michelangelo, Raffaello, Tiziano.
• Clic sul bordo del segnaposto che contiene l’elenco puntato che hai appena digitato poi clic su
del gruppo Paragrafo e dal menu scegli il valore 2.
• Clic su (Grassetto) del gruppo Carattere e su per impostare il colore rosso.
Inserire la terza
slide e assegnarle • Clic sulla parte inferiore del pulsante e crea una nuova slide con layout Titolo e contenuto.
un layout • Clic nel segnaposto Fare clic per inserire il titolo e digita Giotto, poi clic su (Grassetto) del
gruppo Carattere e su per impostare il colore Rosso.
• Clic su della casella Dimensione carattere del gruppo Carattere e seleziona 44, poi clic su
(Allinea al centro) del gruppo Paragrafo.
• Clic sulla voce Fare clic per inserire il testo e digita il seguente testo: Giotto di Bondone, forse
diminutivo di Ambrogio o Angiolo, conosciuto semplicemente come Giotto (Vespignano, 1267
circa – Firenze, 8 gennaio 1337), è stato un pittore e architetto italiano. Il Vasari racconta come
Giotto fosse capace di disegnare una perfetta circonferenza senza bisogno del compasso, la fa-
mosa “O” di Giotto. Si narra che Cimabue avesse scoperto la bravura di Giotto mentre disegnava
delle pecore su un sasso. Indietro
• Clic su Elenchi puntati per togliere l’elenco puntato e poi applica il formato Grassetto sulle
parole che vedi in fgura.

228 Sezione C Il documento elettronico


Inserire immagini • Seleziona il segnaposto che contiene il testo su Giotto e rimpiccioliscilo in modo da ricavare
e impostare le un po’ di spazio per inserire un’immagine (osserva la fgura per orientarti).
dimensioni • Se non hai a disposizione sul tuo computer un’immagine del pittore Giotto,
cercala su Internet con un motore di ricerca, poi clic sulla scheda INSERISCI e su .
• Seleziona l’immagine inserita e serviti dei pulsantini di ridimensionamento per rimpicciolirla e
disporla nella parte destra della slide.
Inserire la quarta, • Seguendo la stessa procedura appena descritta, inserisci altre tre slide sempre con lo stesso
la quinta e la layout: una per Michelangelo, una per Raffaello e una per Tiziano. Applica le stesse formatta-
sesta slide zioni e inserisci al loro interno le immagini relative a questi artisti. Fai riferimento alle fgure
precedenti per digitare il testo di ogni slide.
Inserire • Ritorna sulla slide n. 2 e seleziona il testo Giotto.
i collegamenti
ipertestuali • Clic sulla scheda INSERISCI e poi clic su .
• Nella fnestra Inserisci collegamento ipertestuale fai clic su . Nel riquadro Selezionare una
posizione nel documento fai clic sulla slide n. 3, poi clic su OK.
• Vai nella slide n. 3 e fai clic all’interno della parola Indietro che si trova in fondo.
• Fai clic ancora una volta su e nella fnestra Inserisci collegamento ipertestuale fai

clic su . Nel riquadro Selezionare una posizione nel documento fai clic sulla slide n. 2 e
poi clic su OK.
• Ripeti il procedimento per tutte le altre slide.
Salvare la
presentazione
• Clic su della barra di accesso rapido e nella fnestra assegna il nome Museo1 nella casella
Nome fle.
• Seleziona l’unità disco in cui vuoi salvare il documento e poi clic sul pulsante Salva.
• Premi il tasto F5 della tastiera per avviare la presentazione.
• Clic sulla scheda FILE e scegli Esci.

ORA TOCCA A TE
1 Crea una presentazione che illustri sinteticamente il mondo animale. Usa 8 slide.
In particolare, la presentazione dovrà prendere in esame i seguenti argomenti:
Mammiferi, Pesci, Uccelli, Rettili, Anfbi, Insetti. Cerca dati e immagini su Internet
o sui libri di testo. Realizza una diapositiva iniziale con l’elenco dei temi trattati,
poi le singole diapositive. Successivamente, a ciascun punto dell’elenco della
diapositiva iniziale (mammiferi, pesci e così via), assegna un collegamento iperte-
stuale che colleghi alla diapositiva dove è trattato quel determinato argomento.

2 Crea una presentazione che illustri le principali fonti energetiche. Usa 10 slide.
Il contenuto della presentazione dovrà riguardare: le fonti di energia rinnovabili e
non rinnovabili, la produzione di energia elettrica, il ruolo del sole nella produzio-
ne di energia, i costi dei consumi energetici, come abbattere i costi dell’energia,
l’impatto ambientale.

3 Crea una presentazione che illustri il sistema solare. Usa una slide per il titolo,
una per il sommario e una per ogni pianeta che compone il sistema solare. La
presentazione deve essere di tipo ipertestuale, ossia dall’indice deve essere pos-
sibile fare clic sul nome del pianeta per visualizzare la pagina relativa. Correda le
slide di un appropriato sistema per ritornare all’indice generale.

Comunicare con un programma di presentazione C3 229


8 Stampare diapositive
Attiva la scheda FILE e seleziona l’opzione Stampa. Nella finestra di stampa puoi
scegliere varie impostazioni, ad esempio se stampare tutte le diapositive o sol-
tanto alcune, e anche il layout di stampa, un’eventuale cornice, gli stampati (fogli
contenenti da 2 a 6 diapositive) e così via.

9 Creare animazioni personalizzate


Dopo avere applicato una combinazione di animazioni alla nostra presentazione,
anche se il risultato è già soddisfacente, possiamo ancora apportare alcune modi-
fiche o aggiunte particolari per personalizzare la presentazione.
Ad esempio, se fai clic sulla scheda ANIMAZIONI vedrai che nel gruppo anima-
zioni si attivano tutti gli effetti che è possibile attribuire. Se fai clic sul pulsantino
posto sotto la piccola barra di scorrimento nel gruppo Animazione, si aprono le
categorie dei vari effetti disponibili.

Prova a selezionare dal gruppo Entrata l’effetto Spirale: dopo la


selezione, vedrai subito la riproduzione dell’effetto.
Puoi anche visualizzare l’animazione associata agli elementi
della diapositiva facendo clic su Anteprima in alto a sinistra.
Dopo aver assegnato l’animazione, a fianco del titolo viene mo-
strato un pulsante che riporta un numero progressivo indicante
l’ordine di riproduzione.
Nel gruppo Intervallo è presente la voce Inizio
che riporta, per default, Al clic del mouse; ciò
indica che l’effetto viene avviato con un clic
del mouse, mentre le stelle che affiancano il
nome dell’oggetto animato all’interno della finestra Riquadro animazione indica-
no il tipo di effetto (nel caso in cui il riquadro dell’animazione non fosse visibile,
basta fare clic sull’omonimo pulsante presente nel gruppo Animazione avanzata).
Se vuoi modificare qualche elemento, selezionalo con il mouse e scegli un altro ef-
fetto dal menu Aggiungi animazione. Nel menu che compare seleziona la categoria
che ti interessa e l’effetto che desideri. Partirà così in automatico l’anteprima del
nuovo effetto.
Analogamente, se vuoi aggiungere un altro effetto, fai clic sull’elemento della dia-
positiva che desideri modificare e scegli l’effetto desiderato dal menu del pulsante.
L’effetto viene aggiunto all’elenco degli effetti con un numero progressivo, e verrà
riprodotto per ultimo.
Se vuoi modificare l’ordine di un effetto, puoi selezionarlo e trascinarlo con il
mouse nella nuova posizione.
Per l’avvio di un effetto sono disponibili tre opzioni: Al clic del mouse, Con prece-
dente, Dopo il precedente. Per impostare la modalità di avvio basta selezionare

230 Sezione C Il documento elettronico


l’elemento o un gruppo di elementi e poi fare clic sulla freccia verde della casella
Inizio (come mostrato in figura). Al clic del mouse significa che l’effetto viene av-
viato quando si fa clic con il mouse.
Tramite l’opzione Con il precedente l’effetto viene invece avviato automaticamente
all’avvio dell’effetto precedente. A un effetto di questo tipo è associato il numero
d’ordine 0.
Infine, per impostare l’effetto in modo che venga avviato automaticamente dopo
l’effetto dell’elemento precedente, seleziona l’opzione Dopo il precedente. A secon-
da dell’avvio che hai scelto, varierà l’icona accanto all’effetto. Fai clic sulla scheda
PRESENTAZIONE (scegliendo Dall’inizio, oppure Dalla diapositiva corrente) per
controllare il risultato delle modifiche alla presentazione. Premi, infine, il tasto
Esc per tornare alla visualizzazione normale.

10 Impostare la transizione
delle diapositive
In una presentazione veicolata attraverso lo schermo è utile inserire effetti che Lo sai?
evochino nello spettatore una sensazione di continuità.
Puoi usare il tasto
La transizione è un particolare effetto speciale che consente un passaggio ar- Maiusc o il tasto Ctrl a
seconda che tu debba
monioso da una diapositiva alla successiva. o meno selezionare
diapositive contigue
Attiva la scheda TRANSIZIONI e potrai scegliere, come mostrato in figura, un o non contigue. Una
volta selezionate le
tipo di transizione da una diapositiva alla successiva. I vari tipi di transizione diapositive, procedi
sono raggruppati nelle seguenti categorie: Delicate, Divertenti, Contenuto dinami- con l’assegnazione
co (le puoi vedere facendo clic sul pulsante con la freccia verso il basso nel gruppo dell’effetto di
Transizione alla diapositiva). transizione.

Puoi intervenire sulla durata della transizione (Durata), sul suono (Suono) che ver-
rà emesso durante la transizione e sull’avviamento della stessa (Passa alla dia-
positiva successiva: con un clic del mouse, dopo: 00:00:00). Una volta effettuate le
scelte, scegli Applica a tutte per applicare la transizione a tutte le diapositive della
tua presentazione, oppure fai clic sul pulsante Anteprima per vedere l’anteprima.
In qualsiasi momento puoi cambiare il tipo di transizione fissato per una diapo-
sitiva: basta visualizzarla, aprire il riquadro Tran-
sizioni e selezionare un altro tipo di transizione
dall’elenco.
Puoi svolgere le stesse operazioni anche in Sequen-
za diapositive: in questo caso viene visualizzata la
stessa barra TRANSIZIONI con cui puoi richiama-
re gli effetti delle transizioni appena visti. In questa
visualizzazione puoi selezionare le diapositive per
le quali vuoi definire una transizione.

Comunicare con un programma di presentazione C3 231


RIPASSIAMO INSIEME
MAPPA
PROGRAMMI DI DI PRESENTAZIONE MODIFICABILE

Che cos’è un programma


di presentazione?

È un programma di grafica che


Inserendo collegamenti
consente di creare presentazioni
ipertestuali si possono collegare
multimediali.
diapositive ad altre diapositive,
o a risorse su Internet.

Una presentazione è composta


da una serie di diapositive
Il layout definisce
digitali predisposte per la
la struttura grafica
visualizzazione in base a un
della diapositiva.
ordine preciso.

Nei layout si usano i


Quali sono le regole per segnaposto, aree predisposte
creare presentazioni efficaci? ad accogliere particolari
oggetti destinati ad apparire
1. Sinteticità sulla diapositiva.
2. Visibilità
3. Omogeneità
4. Sfondi idonei
Che cosa sono gli SmartArt?
5. Semplicità
6. Movimento Sono elementi di PowerPoint
con cui si possono creare
organigrammi, cioè diagrammi
schematici per rappresentare
Il passaggio da una relazioni tra persone e oggetti.
diapositiva a un’altra
può essere gestito con In PowerPoint è
transizioni animate. possibile creare
animazioni anche
personalizzate.

232 Sezione C Il documento elettronico


C3
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Con i collegamenti ipertestuali si possono collegare due


diapositive della stessa presentazione (G) ................. ☐ V ☐ F

2) Il layout è una funzione per eseguire


calcoli su valori numerici (H) ........................................... ☐ V ☐ F

3) PowerPoint consente di creare organigrammi (F) ... ☐ V ☐ F

4) L’uso di sfondi idonei è una delle regole


per creare presentazioni efficaci (C) ........................... ☐ V ☐ F

5) Si può passare da una diapositiva a un’altra


con transizioni animate (D) ............................................. ☐ V ☐ F

6) La visualizzazione delle diapositive avviene


sempre in modo casuale (B) .............................................. ☐ V ☐ F

7) In PowerPoint si possono creare


animazioni personalizzate (E) .......................................... ☐ V ☐ F

Completa le affermazioni seguenti.

8) Nei layout si usano i ….........…................, aree predisposte per


accogliere oggetti da visualizzare sulla diapositiva (I)

9) Il passaggio da una diapositiva a un’altra può essere gestito


con ............................................. animate (D)

10) La prima regola per creare presentazioni efficaci è:


........................... (C)

11) Per collegare una diapositiva a una risorsa su Internet si


possono usare i ................................. ipertestuali (G)

12) Un programma di presentazione è un tipo particolare


di programma di ............................ (A)

Comunicare con un programma di presentazione C3 233


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo C3
Risposta singola 5 Quale procedura consente di aggiungere gradi
di trasparenza a forme quali le frecce, in modo
1 In una buona presentazione occorre: che sia possibile intravedere lo sfondo della
A mantenere stili diversi per tutta la presentazione diapositiva?
in funzione dell’argomento A utilizzare il pulsante Stile 3D sulla barra
B mantenere uno stile unico per tutta la STRUMENTI DISEGNO
presentazione B utilizzare il pulsante Imposta colore trasparente
C non applicare stili grafici sulla barra degli strumenti IMMAGINE
C utilizzare il dispositivo di scorrimento Trasparenza
2 Quale procedura è ottimale per la creazione di nel riquadro Formato forma
layout per le diapositive?
A creare layout per diapositive, stampati e note 6 Quale procedura consente di riprodurre
con la finestra di dialogo Layout Schema continuamente in più diapositive un file audio
diapositiva in visualizzazione Schema inserito?
diapositiva A nel riquadro attività Animazione personalizzata
B per ogni nuova diapositiva selezionare un layout visualizzare le opzioni relative agli effetti audio
nel riquadro Attività layout diapositiva e impostare la riproduzione del file audio per il
numero desiderato di diapositive
C applicare temi dalla scheda PROGETTAZIONE
B utilizzando la funzionalità Registra suono, fare
3 Quale procedura consente di applicare un clic sul pulsante Registra e riprodurre il file audio
tema diverso a una sezione di diapositive della mentre si scorre l’intera presentazione
presentazione rispetto alle altre? C utilizzando la funzionalità Riproduzione brano CD,
A selezionare le anteprime delle diapositive impostare la riproduzione del numero desiderato
della sezione desiderata, quindi applicare una di brani del CD
combinazione di colori diversa
7 Utilizzando un effetto di animazione
B selezionare le anteprime delle diapositive della personalizzato, quale procedura consente di
sezione desiderata, quindi applicare un tema visualizzare il testo su una diapositiva una lettera
diverso alla volta?
C selezionare una delle diapositive della sezione A applicare la combinazione animazioni Dissolvenza
da modificare, personalizzare i caratteri e i colori, in entrata un elemento alla volta
quindi utilizzare Copia formato per applicarli alle
B applicare un effetto entrata, quindi impostarlo su
altre diapositive della sezione
Per lettera nella finestra di dialogo Opzioni effetto
D nessuno dei precedenti
C applicare l’effetto entrata Entrata veloce al testo,
quindi impostarne la velocità su Molto lento
4 Quale procedura consente di inserire nel modo
più rapido in una presentazione le fotografie 8 Lo schema di una diapositiva si richiama dalla
digitali relative alle vacanze? scheda:
A applicare un layout con più immagini a svariate A FILE B STRUMENTI
diapositive, poi utilizzare l’icona delle immagini
C PRESENTAZIONE D VISUALIZZA
disponibile nelle diapositive per importare le
immagini
Vero o falso
B scegliere Immagine dalla scheda INSERISCI,
fare clic su Da file, quindi selezionare 9 Un’animazione non può essere impostata
un gruppo di immagini per ogni diapositiva. su un’immagine V F
C scegliere Immagine dalla scheda INSERISCI,
10 i pulsanti di azione non possono essere
quindi fare clic su Nuovo album foto
inseriti nello schema della diapositiva V F
11 i pulsanti di azione sono tutti già predisposti
con un collegamento preimpostato V F

234 Sezione C Il documento elettronico


Allena le tue ABILITÀ
e le tue COMPETENZE C3
ABILITÀ COMPETENZE
1 Svolgi la seguente MATERIALI PER 3 Crea una presentazione che illustri l’esperimento
esercitazione. LE ESERCITAZIONI di Torricelli basandoti sul seguente testo.
a) Scarica dai materiali per le esercitazioni la
presentazione elaboratore_elettronico e aprila. Assicurati di avere a portata di mano:
b) Inserisci alcune immagini nella diapositiva n. 1; se Bacinella
si sovrappongono al testo, ponile in secondo piano. Metro
c) Vai sulla diapositiva n. 2 e anima l’oggetto Tubo di 90 cm.
raffigurante l’elaboratore elettronico.
Mercurio
d) Vai sulla diapositiva n. 3 e cambia il tipo, la
dimensione e il colore dei vari caratteri utilizzando Per approfondire l’argomento partiamo con
parlare della storia di questo esperimento e dello
una combinazione a tuo piacimento.
sperimentatore stesso. Evangelista Torricelli è un
e) Salva la presentazione nei formati .pptx e .ppsx. matematico e fisico italiano, nato In Emilia Romagna
nel 1608, e morto in Toscana nel 1647. Nella scuola
2 Svolgi la seguente esercitazione.
dei Gesuiti fu avvicinato alla matematica, e approfondì
a) Apri PowerPoint e crea una nuova presentazione. questa materia a Roma nel Collegio della Sapienza.
b) Nella prima diapositiva inserisci il titolo La mia A 36 anni pubblicò il libro “Opera Geometrica”, nel
scuola e nel secondo segnaposto della diapositiva quale spiegò il principio del barometro, individuando
inserisci il nome e l’indirizzo della scuola. il cosiddetto “vuoto torricelliano” e costituendo
c) Usa un carattere di dimensioni maggiori per il quello che ora è chiamato il “tubo di Torricelli”. Il
nome della scuola nella prima slide. primo strumento mai realizzato capace di misurare
la pressione atmosferica. Questi strumenti ora più
d) Applica un’ombreggiatura alla scritta La mia
sofisticati vengono chiamati barometri e vengono usati
scuola. Ora crea una seconda diapositiva
per rilevare utili dati atmosferici grazie al cambio di
all’interno della quale devi inserire un elenco pressione atmosferica.
puntato. Scegli il layout adatto.
Esperimento: prendere un tubo di 80/90 cm, e di 1
e) Digita il seguente testo:
cm di diametro sigillato ad un’estremità. Riempire
• Il POF con mercurio e tenerlo con l’apertura verso il basso
• La nostra mission tenuta chiusa, in una bacinella piena di mercurio.
• Inserimento nel mondo del lavoro Se si apre l’imboccatura inferiore del nostro tubo,
• Didattica innovativa si creerà un sistema di vasi comunicanti, grazie alla
f) Cambia in 1,5 il valore di interlinea tra le voci quale sapremo che la pressione interna nel tubo
dell’elenco appena digitato. è la stessa di quella esercitata dall’atmosfera sul
g) Aggiungi alla presentazione una terza slide con mercurio contenuto nel contenitore. Il mercurio nella
bacinella è soggetto alla pressione esterna, quello nel
titolo Perché scegliere la nostra scuola?
tubo no. Se si fissa il tubo ad un sostegno, si potrà
h) Nella terza slide inserisci il testo seguente: notare che il mercurio contenuto nel tubo scenderà
Questo istituto offre la possibilità di cimentarsi con ad un livello che indicheremo con h, che è uguale a
le nuove tecnologie sin dall’inizio del primo anno un dato livello, chiamato h, che equivale a 76 cm. Al
attraverso lo studio dell’informatica. livello del contenitore agiscono due forze: la pressione
i) Metti in grassetto il testo appena digitato. atmosferica (dal basso verso l’alto) e la pressione
l) Inserisci sotto il testo un’immagine a tua scelta. idrostatica della colonnina di mercurio (dall’alto
verso il basso) che sono in equilibrio (perché uguali e
m) Applica uno sfondo di colore chiaro a tutte le
contrarie). La pressione atmosferica della colonna di
diapositive realizzate.
mercurio è in media uguale alla pressione al livello del
n) Imposta un effetto di transizione a tutte le mare. Con questo possiamo giungere alla conclusione
diapositive. e dire che: P (hg) = p × g × h (hg) = 13579 kg/cubo
o) Imposta adeguate animazioni per l’inserimento × 9,8 m/s2 × 0,76 m = 1,013 × 105 Pa (Pascal). La
delle varie immagini e testi. pressione del mercurio = peso specifico del mercurio
p) Imposta la stampa della presentazione, scegliendo × forza di gravità × altezza raggiunta dal mercurio.
un adeguato numero di diapositive per pagina.
q) Salva la presentazione con il nome LaMiaScuola.

Comunicare con un programma di presentazione C3 235


Sezione C

Traguardo COMPETENZE
Verso la certificazione

Compito di realtà – Una dieta sana ed equilibrata


LE COMPETENZE CHE DOVRAI CERTIFICARE

Competenza Declinazione

Individuare collegamenti Saper utilizzare consapevolmente e con spirito di integrazione i vari strumenti proposti
e relazioni nella suite Office.

Acquisire l’abitudine a ragionare con rigore logico, a identificare i problemi e a individuare


Risolvere problemi
possibili soluzioni.

Acquisire e interpretare Essere in grado di interpretare criticamente l’informazione ricevuta nei diversi ambiti
l’informazione e attraverso diversi strumenti comunicativi.

Organizzare il proprio apprendimento individuando, scegliendo e utilizzando


Imparare a imparare varie fonti e varie modalità di informazione e di formazione per motivare razionalmente
le scelte compiute, i parametri di valutazione e i criteri di selezione utilizzati.

➤ Identifica il problema
Un uomo in sovrappeso si reca da un dietologo perché desidera
tornare in forma. Al primo incontro, dopo la visita e tramite
un’intervista al paziente, il medico individua lo schema ali-
mentare che dovrà costituire la dieta giornaliera per i primi
due mesi: la dieta mediterranea, sana e equilibrata. Dob-
biamo aiutare il dietologo a realizzare tutta la documentazio-
ne da fornire al paziente.

➤ Identifica gli strumenti utilizzati


Occorre fornire al paziente:
• un opuscolo in cui si delineano proprietà e benefici del modello
alimentare adottato;
• il modello di un diario alimentare che il paziente dovrà compilare
giornalmente
• tabelle e grafici con i valori nutrizionali degli alimenti previsti da
questa dieta;
• una presentazione in cui si espone la dieta mediterranea in
modo chiaro e conciso.
Quali strumenti software utilizzi per realizzare il materiale richiesto?

236 Sezione C Il documento elettronico


➤ Raccogli criticamente le informazioni
Dovendo costruire i materiali previsti al punto precedente, dovrai ricercare e confron-
tare varie informazioni. Serviti di Internet o di altri materiali e supporti che ritieni utili.
fare una scelta oculata, comincia effettuando alcune ricerche su Internet. Se vuoi,
puoi fare riferimento al seguente sito:
http://www.benessere360.com/dieta-mediterranea.html

per reperire le informazioni che ti occorrono.

➤ Motiva razionalmente le scelte/azioni compiute


Come hai fatto a inserire le tabelle realizzate con Excel all’interno dei documenti di
Word? Ti sei posto il problema di aggiornare automaticamente le tabelle presenti nei
documenti di Word quando vengono aggiornate quelle originali che sono presenti nel
foglio di Excel?

...........................................................................................................................

...........................................................................................................................

...........................................................................................................................

...........................................................................................................................

Quali accorgimenti hai apportato per rendere il materiale realizzato accattivante e


gradevole da consultare?

...........................................................................................................................

...........................................................................................................................

...........................................................................................................................

...........................................................................................................................

➤ Allarga i tuoi orizzonti


Supponi che il dietologo abbia spiegato al paziente i principi della dieta a zona. Sa-
presti aggiungere alla documentazione realizzata un opuscolo in cui dettagli le carat-
teristiche di questa dieta e la metti a confronto con quella mediterranea? Intanto,
enuncia le principali differenze tra le due diete:

Dieta a zona Dieta mediterranea

......................................................................................... .........................................................................................

......................................................................................... .........................................................................................

......................................................................................... .........................................................................................

Il documento elettronico Sezione C 237


AUDIO
GLOSSARIO CLIL
CLIL Ascolta la pronuncia

The leading open source office suite for word processing,


spreadsheets, databases, graphics, presentations and more
Writer Calc
The replacement for Microsoft Word. Writer’s highly The replacement for Microsoft Excel, Calc creates spreadsheets
compatible formats and the ability to export PDFs and forms with all the features of Excel—and then some. Calc’s
make it stand out from other word processors. You can special feature is the ability to automatically format information
even open and edit Word fles in Writer! for graphing and save fles as PDFs or Excel fles.

Math Impress
Create and edit mathematical The replacement for Microsoft
formulae with this easy-to-use, PowerPoint. Create impressive
open-source tool. Math makes presentations and slideshows
it easy to format mathematical with Impresses’ easy-to-use
equations and export them to other interface. In addition to Power
programs, including Libre Offce Point’s features, Impress can
and Microsoft Offce programs. create PDF fles and Flash fles.

Libre
Ofce

Base
Draw The replacement for
Microsoft Access, Base helps
Similar to Microsoft Visio or CorelDraw, you create and maintain
Draw is an easy-to-use graphics editor databases and build forms
that lets you create and edit vector and reports in open source,
graphics, diagrams and charts. highly accessible formats.

Source: http://www.openoffce.us.com/

Glossary … and now answer!


• export • spreadsheet 1 What is Writer?
convert in another calculation program 2 What formats can be used to save a fle using Calc?
format
• slideshow
3 Impress is the Microsoft equivalent of?
• impressive sequence of images
that impresses on a computer 4 What is Base?
• replacement • wordprocessor 5 What product is similar to Microsoft Visio?
substitute for software for writing 6 What is Math?

238 Sezione C Il documento elettronico


RIFLESSIVO
“Rifletti” sul tuo processo di apprendimento: scoprirai i punti di forza e i limiti delle tue conoscenze.

CON CON CON CON CON


CON
HO IMPARATO MOLTA QUALCHE POCHE SUFFICIENTE
SICUREZZA
SICUREZZA E
DIFFICOLTÀ DIFFICOLTÀ DIFFICOLTÀ SICUREZZA PADRONANZA

Come formattare un testo

Come impostare e formattare


i paragrafi

Come inserire elenchi puntati


e numerati

Come inserire interruzioni


e correggere il testo

Come lavorare con tabelle,


immagini e grafici

Come gestire un documento


in stampa unione

Come lavorare con le celle di Excel

I tipi di dato inseribili in una cella di


un foglio di calcolo e come gestirli

Che cosa sono formule e funzioni


e come devono essere gestite

Che cosa sono i riferimenti assoluti


e relativi e come vanno impostati

Come formattare il foglio di lavoro


in maniera manuale e condizionale

Come realizzare grafici

Come costruire una presentazione


con PowerPoint

Come inserire animazioni


personalizzate e transizioni di pagina

COME HO IMPARATO

■ Quali strategie hai usato


per apprendere?
■ Come puoi correggere gli errori
che hai eventualmente commesso?
■ Hai raggiunto gli obiettivi
che ti proponevi?

Il documento elettronico Sezione C 239


Sezione D
PRIMA DI INIZIARE…
Brainstorming

Completa il diagramma
1
In base alle tue attuali conoscenze, scrivi a
fianco le parole chiave che ti vengono in mente
pensando all’attività di programmazione.
Aiutati con le seguenti domande: 2
1 Che cos’è un problema?
2 Quali tecniche usi per
risolvere un problema?
3
3 Usi le mappe concettuali
a scuola? Se hai risposto sì,
perché lo fai? Se hai risposto no,
perché dovresti farlo? 4
4 Hai mai sentito parlare di Coding?
5 Usi le app sul tuo smartphone? Sai che
cosa sono le app?
5
Una volta scritte le parole chiave, discutile con
il tuo insegnante e con i tuoi compagni.

240
Algoritmi e linguaggi
di programmazione
CONOSCENZE
• Le tecniche per la modellizzazione
Esegui il test di un problema
• Il concetto di algoritmo
1 Inserisci le cifre date nei cerchi vuoti in modo da ottenere lungo
ciascun segmento un totale sempre uguale a 60.
• La struttura di un programma
in linguaggio C/C++
2 4 6 8 10 • Le strutture di controllo
dei linguaggi C/C++
24

ABILITÀ
30 18 • Individuare strategie risolutive
• Individuare i dati di input e di output
• Formalizzare una strategia risolutiva
secondo formalismi specifci
• Codifcare algoritimi
in linguaggio C/C++
26 22
COMPETENZE
2 Osservando le prime due bilance in perfetto equilibrio, sai dire quanti
quadrati sono necessari per equilibrare la terza bilancia?
• Utilizzare le strategie del pensiero
negli aspetti didattici e algoritmici per
afrontare situazioni problematiche
elaborando opportune soluzioni
• Analizzare dati e interpretarli
sviluppando deduzioni e
ragionamenti sugli stessi anche con
l’ausilio di rappresentazioni grafche
• Saper usare le tecniche di
3 Con quale numero continua la serie in basso?
formalizzazione algoritmica in
relazione all’analisi dei dati e alla
2 4 8 10 20 22 ? modellizzazione di specifci problemi
scientifci

4 Quanti quadratini mancano per completare la figura e di che colore


sono?

FLIPPED CLASSROOM
Alternando attività a casa e a
scuola, cerca di rispondere alla
domanda che ti viene proposta.

Perché è importante programmare?

241
ACCETTI LA SFIDA?

Saper programmare non è più da nerd, è cool!


“The software is eating the world”. Il software sta divorando il mondo: non solo le nostre vite, ma anche le
scelte che facciamo ogni giorno e l’economia stessa che le influenza dipendono da software e computer.
Saper programmare un software significa avere il potere di influenzare le vite di, potenzialmente, miliardi
di persone e, indirettamente, le economie di tutto il mondo. Recentemente qualcuno ha paragonato il
saper programmare nel XXI secolo a ciò che ha rappresentato la letteratura nel mondo dopo l’invenzione
della stampa.
Un paragone che può sembrare azzardato, ma che inizia ad avere un senso se osserviamo come il
software stia diventando il linguaggio per descrivere l’economia, la scienza, la medicina e i modelli su
cui si basa il funzionamento delle aziende. Non è assurdo pensare che, nell’arco delle future genera-
zioni, le aziende che non avranno persone in grado di creare o comprende software a tutti i livelli della
loro organizzazione si troveranno in una posizione di notevole svantaggio competitivo. Uno svantaggio
simile a quello in cui si sono trovate le aziende del XVII secolo che non avevano al loro vertice persone
in grado di leggere e di scrivere.
Affronta l’esercitazione come una sfida, come se entrassi in un videogame che ti chiede di superare una
difficoltà dopo l’altra.

Il lancio della sfda


Hai riflettuto su quanto riportato nel testo introduttivo? Hai mai programmato un computer, anche
per gioco? Usi applicazioni sul tuo smartphone? Pensa alla programmazione, all’uso che ne fai o
che ne vorresti fare, al dispositivo e ai software che usi per programmare, all’importanza che dai loro
nella tua vita, e scrivi nella tabella singole parole o definizioni che associ ai vari quesiti in modo da
A SCUOLA

dare il via a un dibattito in classe.

Durante il dibattito, evidenzia in giallo le parole o le frasi che hai scritto che ritieni corrette, in rosso
quelle su cui hai dubbi e in verde quelle che ritieni essere oggetto di discussione.
Guarda i video che puoi reperire ai seguenti indirizzi:
http://tiny.cc/mpdeiy
http://tiny.cc/8pdeiy
Cerca di comprendere il tema, concentrando la tua attenzione su che cos’è il pensiero computa-
zionale e che cos’è il coding. Appunta domande, dubbi, curiosità che discuterai in classe con il tuo
A CASA

insegnante e i tuoi compagni.

Informazioni acquisite Dubbi Curiosità


• • •
• • •
• • •

La conduzione della sfda


Riprendi la tabella precedente e metti in comune le tue idee con quelle dei compagni del tuo gruppo.
Provate, insieme, a effettuare ulteriori ricerche e a fare dei collegamenti con altri argomenti di altre
discipline. Al termine compilate una mappa concettuale che riassuma il contenuto del video e delle
informazioni che avete acquisito.

242 Sezione D Algoritmi e linguaggi di programmazione


A SCUOLA

PROGRAMMA

Sulla base delle nuove informazioni acquisite a scuola con i tuoi compagni e il tuo docente, rivedi
i video proposti nella prima fase e fai una ricerca su Internet o reperisci altro materiale da cui puoi
A CASA

ottenere (da solo o insieme al tuo gruppo) altre informazioni sul pensiero computazionale e il co-
ding. Appuntati gli indirizzi dei siti che hai visitato così da discuterne a scuola in modo documentato
e porta con te il materiale che hai utilizzato (libri, dispense, riviste, ecc.).

La conclusione della sfda


Hai mai sentito parlare di Scratch? Guarda il seguente video per approfondire il discorso:
http://tiny.cc/wqdeiy
Se, dopo la visione, qualcosa non ti è chiaro, effettua altre ricerche su
Internet. Se vuoi, prova a usare Scratch e divertiti.
Sulla base delle informazioni che hai ricavato dalla visione dei filmati,
delle risposte che hai dato ai vari quesiti e dei lavori condotti nel tuo grup-
po a scuola, prova a rispondere ai seguenti quesiti. Discuti le risposte
insieme ai compagni del tuo gruppo e al tuo insegnante.

Domanda Risposta
A CASA

Che cos’è Scratch?

Perché è utile iniziare sin da piccoli a utilizzare


Scratch?

Se dovessi utilizzarlo, cosa ti piacerebbe produrre?

Che cosa ti ha incuriosito di questo prodotto?

Saresti in grado di far muovere il gattino in avanti


e farlo tornare indietro quando tocca il bordo? Se
la tua risposta è affermativa, realizza il codice,
stampalo, ritaglialo e incollalo nella colonna a
destra.

Confronta le tue risposte con quelle dei compagni del tuo gruppo e affrontate insieme la discussione.
Nei vari filmati si è anche parlato di problem solving. Secondo te, a che cosa serve il pensiero com-
A SCUOLA

putazionale e perché rappresenta una risorsa per uno studente?


................................................................................................................................................
................................................................................................................................................
................................................................................................................................................

Algoritmi e linguaggi di programmazione Sezione D 243


D1 L’informatica
e il problem solving

LABORATORI “CASE STUDIES”


Approfondisci con i casi pratici

IMPARERAI…

Che cos’è un problema Come si analizza il testo Quali sono i principali Che differenza c’è fra
e di quali fasi si compone di un problema metodi per trovare la risolutore ed esecutore
la sua strategia di soluzione di un problema
soluzione

1 L’informatica e il trattamento
delle informazioni
Con l’enorme diffusione dei computer e delle tecnologie a essi associate, il termi-
ne informatica ha assunto sempre maggiore rilevanza. Spesso, però, si tende a
usarlo in modo generico, per indicare tutto ciò che ha a che fare con il computer.
In realtà, soltanto alcune attività associate al computer rientrano in senso vero
nell’informatica. Ad esempio, non vi rientrano le attività di semplice utilizzo delle
apparecchiature.
Utilizzare un programma
Realizzare programmi
Sì No Navigare su Internet
Realizzare archivi elettronici
INFORMATICA Installare un programma
Sviluppare soluzioni tecnologiche
Assemblare un computer
...
...

I computer contengono informazioni digitalizzate, cioè rappresentate median-


te numeri. Inseriti in un computer, pertanto, una lettera dell’alfabeto, un colore,
un’immagine, un suono, un video diventano numeri.
Lo sai?
Perché? Che vantaggio offre questa trasformazione? Prova a riflettere su quali azio-
ni – fra quelle elencate di seguito – puoi o effettuare o meno senza un computer:
L’informatica è un
campo di studio Posso Non posso
molto giovane. I primi
computer risalgono Ingrandire in tempi brevissimi una foto cartacea
infatti alla seconda Ingrandire in tempi brevissimi una foto digitale
metà del 1900,
e a quell’epoca Aumentare la luminosità di un disegno cartaceo
l’informatica non Aumentare la luminosità di un disegno digitale
era considerata una
disciplina separata Modifcare un colore su una tela senza sovrapporre colori
dalla matematica.
Effettuare velocemente dei calcoli

244 Sezione D Algoritmi e linguaggi di programmazione


È facile intuire che nel formato digitale l’informazione può essere ripresa, ma-
nipolata, modificata, corretta, alterata e così via: è dunque possibile svolgere un
elevato numero di operazioni, a differenza di quanto è possibile fare con l’infor-
mazione espressa nella forma tradizionale.
La rappresentazione numerica rende possibile trasformare l’informazione me-
diante opportuni calcoli numerici. Ad esempio:
• la lettera ‘A’ dell’alfabeto viene trasformata nel numero 65, mentre la lettera
‘a’ nel numero 97; pertanto, il passaggio dal maiuscolo al minuscolo avviene
semplicemente effettuando una somma;
• una foto digitale è rappresentata da diversi numeri, che ne descrivono la di-
mensione e i colori; effettuare un fotoritocco significa modificare i numeri at-
traverso opportune operazioni aritmetiche.
Il computer svolge le stesse operazioni aritmetiche che sappiamo svolgere noi esseri
umani. Qual è dunque il vantaggio di fare svolgere tali operazioni al computer?
Il primo è sicuramente la velocità con cui il computer esegue le operazioni: tieni
presente che riesce a fare una somma in qualche miliardesimo di secondo.
Il secondo è rappresentato dal fatto che i procedimenti sono automatizzabili e ri-
petibili, fornendo nel tempo e con sicurezza sempre gli stessi risultati. Prendiamo
in considerazione l’esempio della foto digitale: esistono programmi che consen-
tono di eseguire con un semplice clic complesse procedure di fotoritocco, appli-
cando molteplici operazioni aritmetiche. E considera che tali procedure possono
essere ripetute sulla foto originale quante volte si vuole, generando con certezza
sempre gli stessi risultati.
Dopo queste premesse, come possiamo dunque definire l’informatica? Possiamo
dire che:

l’informatica è una scienza che riguarda gli aspetti del trattamento dell’infor-
mazione tramite procedure automatizzabili e ripetibili nel tempo.

Riprendendo l’esempio dell’immagine digitale, possiamo affermare che si occupa


veramente di informatica solo chi realizza il programma per il fotoritocco.
Sì No
Realizzare programma Utilizzare un programma
INFORMATICA
per il fotoritocco per il fotoritocco

2 I problemi e il problem solving:


la strategia risolutiva
L’essere umano è fortemente dipendente dai problemi. Tutti, fin dalla più tenera
età, ci poniamo problemi di natura molto varia: come camminare con sicurezza
sulle nostre due gambe; come, partendo da un luogo, raggiungerne un altro; e così
via. Alcuni problemi riguardano l’utilizzo delle informazioni, cioè in qual modo,
partendo da alcune informazioni date, ne possiamo raggiungere altre ignote. Ad
esempio, come trovare il maggiore fra due numeri; dato un elenco di nomi e nu-
meri di telefono, trovare il numero di una data persona; dati a e b, risolvere l’equa-
zione ax + b = 0; e così via.

L’informatica e il problem solving D1 245


Alcuni problemi possono apparire più semplici, altri più complessi, altri ancora
assurdi. Ma che cos’è un problema? Sfogliando il dizionario leggiamo che:

un problema è un quesito che chiede di trovare uno o più elementi ignoti (la
soluzione), partendo dagli elementi noti da esso forniti.

Il concetto di “problema” può essere applicato sia a situazioni della nostra quoti-
dianità, sia a situazioni relative a discipline specifiche, come la matematica o la
fisica.

La strategia risolutiva di un problema


GLOSSARIO Non è semplice trovare una soluzione a un problema. Spesso pensiamo di averla
Brainstorming
trovata ma, dopo un’attenta verifica, ci rendiamo conto che essa non fornisce i ri-
È una tecnica utilizzata sultati che ci attendevamo. Siamo quindi costretti a trovare una nuova soluzione,
per affrontare il e la cerchiamo per tentativi: se un tentativo non ha successo si riprova con un al-
processo di ricerca
della soluzione di un
tro, magari sfruttando i punti validi della soluzione fallita e facendo tesoro dell’in-
problema e consiste successo precedente. Il lavoro mentale volto alla ricerca di una strategia risolutiva
nell’organizzare è una fase complessa e ricca, della quale ci occuperemo più avanti.
riunioni in cui ogni
partecipante può
proporre una soluzione Una strategia risolutiva è un insieme di passi da compiere per giungere alla
e discutere quelle soluzione di un problema.
proposte dagli altri.

Strategia risolutiva

? Problema
Passo 1

Passo 2
SOLUZI
Passo N ONE

La soluzione o risultato finale è l’obiettivo che vogliamo raggiungere.

Per poter risolvere un problema sono necessarie alcune informazioni iniziali, che
chiamiamo dati iniziali. Consideriamo ad esempio l’emissione di un biglietto fer-
roviario da parte di un addetto presso un’agenzia viaggi, il signor Gino. La situa-
zione può essere schematizzata nel seguente modo:

? Problema:
Emettere un biglietto ferroviario Strategia risolutiva Risultato finale

Dati iniziali Passo 1


■ Stazione di pa
rtenza
■ Sta zione di arrivo Passo 2
■ Data di partenza
■ Numero di perso
ne in partenza
Passo N
■ Orario ferroviar
io
i treni
per la consultazione de

246 Sezione D Algoritmi e linguaggi di programmazione


Il cliente, entrando in agenzia, effettua la seguente richiesta:
“Vorrei un biglietto per due persone da Roma a Milano per il 20 marzo”.
Una volta ottenuto il biglietto, il cliente attuerà la verifica del risultato. Il suo
criterio di verifica consisterà nell’osservare attentamente il biglietto, verificando
le informazioni in esso contenute; in questo caso il cliente controllerà che:
• la stazione di partenza coincida con Roma;
• la stazione di arrivo sia Milano;
• la data corrisponda al 20 marzo;
• il numero di persone sia 2.

? Problema:
Emettere un biglietto ferroviario
Strategia risolutiva Risultato finale

Passo 1

Passo 2
Dati iniziali
■ Da Roma Passo N
■ A Milano
■ Il 20 marzo
■ Per 2 persone Verifica
dei risultati

La tabella che segue riassume sinteticamente le fasi di cui è composto il processo


di risoluzione di un problema.

Fasi del processo di risoluzione di un problema


1. Analisi del problema L’identifcazione dell’obiettivo da raggiungere e dello stato inizia-
le, ossia dell’insieme dei dati iniziali oggettivi e signifcativi dei
quali si dispone.
2. Progettazione La specifcazione delle azioni da intraprendere per risolvere il
della strategia risolutiva problema, ossia per trasformare i dati iniziali in dati fnali.
3. Verifca della soluzione Il raggiungimento dello stato fnale della strategia risolutiva,
consistente nel verifcare che i risultati ottenuti siano risponden-
ti agli obiettivi iniziali.
Rifetti
Se la verifica dà esito negativo, bisogna ripetere il percorso: compiere di nuovo
l’analisi, modificare il progetto di soluzione ed eseguire nuovamente la verifica. Il suffisso -ing nella
locuzione inglese
problem solving
Il problem solving rafforza il significato
di un’azione in corso
Un’accezione più ampia del processo di risoluzione del problema è conosciuta di svolgimento, a
come problem solving. indicare la situazione
psicologica nella
quale si viene a
Il termine inglese problem solving indica l’insieme dei processi per analizzare trovare una persona
e individuare un metodo opportuno che consenta di risolvere positivamente quando, in conformità
situazioni problematiche. Il problem solving si basa sul concetto del divide et a una varietà di
dati e di richieste,
impera, cioè sulla scomposizione del problema in sottoproblemi più semplici, in deve affrontare un
modo da poter ricavare la soluzione più agevolmente. problema.

L’informatica e il problem solving D1 247


RISOLUZIONE
Stato iniziale Stato finale
L’insieme dei fatti (strada seguita) Prodotto della
iniziali è detto soluzione sono i
DATI INIZIALI NO DATI FINALI
NO o
NO RISULTATI
(strade scartate)
NO

Criterio di verifica

Questa tecnica di risoluzione dei problemi si applica:


• fissando, durante il processo risolutivo, una serie di sottobiettivi, ciascuno dei
quali individua sottoproblemi su cui portare l’attenzione;
• procedendo in una scomposizione attraverso raffinamenti successivi, che
deve essere spinta a definire uno o più sottoproblemi facilmente risolvibili.
Se, per esempio, il problema è quello di “preparare una deliziosa torta Sacher”, è
possibile individuare prontamente i seguenti sottoproblemi:
• preparare l’impasto per una torta al cioccolato;
• preparare le varie farciture della torta;
• farcire la torta;
• guarnire la torta.
Ogni sottoproblema, a sua volta, potrebbe essere suddiviso in ulteriori sottopro-
blemi, sino a raggiungere un livello ritenuto di semplice soluzione. Per esempio, il
sottoproblema “preparare le varie farciture della torta” potrebbe essere ulterior-
mente scomposto in:
• preparare la marmellata di albicocche;
• preparare la glassa (cioccolato fuso);
• preparare la panna per accompagnare la torta.

Torta Sacher

Preparare l’impasto Preparare la farcitura Farcire la torta Guarnire la torta

Preparare
Preparare
la marmellata Preparare la panna
il cioccolato fuso
di albicocche

In una successiva fase di dettaglio, può anche accadere che alcuni sottoproblemi
rilevati durante la loro individuazione non necessitino di essere dettagliati, poiché
non sono scomponibili (nel nostro esempio, potremmo non preparare la marmel-
lata di albicocche, ma utilizzarne una acquistata in un supermercato). In tal caso
il sottoproblema può essere eliminato. Procedendo in questo modo non corriamo
il rischio di dover tenere sotto controllo troppe cose da fare contemporaneamente.

248 Sezione D Algoritmi e linguaggi di programmazione


3 L’analisi della formulazione dei problemi
Come abbiamo detto, per elaborare una strategia risolutiva di un problema è mol-
to importante la fase dell’analisi preliminare, che ha lo scopo di portare a formu-
lare con chiarezza il problema, cioè a capire il problema correttamente.
Ecco alcune regole da seguire per una corretta formulazione di un problema:
1. esplicitare l’incognita;
2. eliminare i dettagli inutili e ambigui;
3. individuare il criterio di verifica della soluzione;
4. astrarre il problema;
5. individuare i vincoli.
Nel seguito esaminiamo brevemente ciascuna singola regola.
1 Esplicitare l’incognita, per individuare correttamente gli obiettivi
Quando un problema è espresso in modo confuso, oppure non si riescono a indi-
viduare gli obiettivi, una prima e ovvia necessità è quella di comprendere l’inco-
gnita del problema.
Un esempio di problema mal formulato, in cui non si individuano gli obiettivi, è il
seguente:
“Calcolare il Massimo Comun Divisore”.
Tale problema non potrà mai essere risolto, in quanto mancano le informazioni
iniziali, cioè i valori numerici sui quali calcolare il Massimo Comun Divisore. Oc-
corre pertanto riformularlo.
Il problema dell’emissione del biglietto ferroviario, descritto in precedenza, sa-
rebbe stato mal formulato e privo di obiettivi se la richiesta del cliente fosse stata
espressa in uno dei seguenti modi:
• “Vorrei un biglietto per due persone”;
• “Vorrei un biglietto per il 20 marzo”;
• “Vorrei un biglietto per Milano”.
Occorre quindi procedere con un’operazione di riassetto del testo.
2 Eliminare i dettagli inutili e ambigui rilevati nell’enunciato del problema
Chiariamo il concetto con un esempio. Analizziamo il testo del seguente problema:
“Identificare l’insieme delle operazioni che deve svolgere un cuoco professio-
nista per cucinare la pasta”.
Il problema è molto semplice nella sua natura, ma è formulato in maniera am-
bigua. Intanto non si parla di “cuocere” la pasta (il problema sarebbe fin troppo
semplice!), ma di “cucinare” la pasta. Non si dice, però, come la pasta debba essere
cucinata (alla carbonara? Al pomodoro? In altro modo?): decidiamo pertanto di
fissare come obiettivo quello di cucinare la pasta al pomodoro. Proseguendo con
l’analisi rileviamo che il testo del problema fornisce un’informazione superflua:
non ha alcuna importanza, infatti, che il cuoco sia professionista. Ora siamo in
grado di riformulare correttamente il problema:
“Identificare l’insieme delle operazioni che un cuoco deve svolgere per prepa-
rare la pasta al pomodoro”.
L’informatica e il problem solving D1 249
3 Individuare il criterio di verifica della soluzione, cioè il modo con cui
verificare che la soluzione ottenuta sia effettivamente quella cercata
Il criterio di verifica consiste nel provare che la soluzione ottenuta non sia in
contrasto con gli obiettivi prefissati e con i dati iniziali.
4 Astrarre il problema
Lo sai?
Non è opportuno tentare di risolvere un problema specifico semplicemente cer-
cando una soluzione specifica, ma, piuttosto, è utile seguire un percorso di astra-
Astrazione è un zione del problema.
termine di origine
latina che deriva
dal verbo “astrarre” Il termine astrazione indica il procedimento mentale attraverso il quale si so-
(composto di abs, stituisce un insieme di oggetti con un concetto, più generale, che descrive gli
“da”, e trahere,
“trarre”, ovvero “trarre
oggetti in base a proprietà ad essi comuni.
da”, “distogliere”,
“separare”). Considera i due problemi esposti nella tabella che segue. La loro differente formu-
lazione permette di comprendere il concetto di astrazione.

Problema specifco Problema astratto


Trovare il minimo tra i numeri 4, 8, 2 Trovare il minimo tra i numeri dati A, B, C
Il problema è ben posto e non richiede Possiamo invece ipotizzare di cercare una
precisazioni. Però la strategia risolutiva por- strategia risolutiva che consenta di determina-
terà sempre alla stessa soluzione, il valore re la soluzione per qualsiasi terna di valori. In
2, in quanto la formulazione consente di questo caso deve essere effettuata un’analisi
prendere in considerazione sempre e solo i più approfondita per determinare, in tutte le
tre numeri indicati. situazioni possibili, il minore dei tre valori dati.

5 Individuare i vincoli
Per individuare i vincoli di un problema bisogna prendere in considerazione in
modo preciso e sistematico tutti gli aspetti che entrano in gioco nel quesito, evi-
Rifetti denziando le specifiche e i vincoli richiesti.
• Esempio: “Trovare il minimo e il massimo fra tre numeri positivi A, B, C”.
Il vincolo stabilisce
una scelta da • Vincolo1: l’analisi del problema deve concentrarsi solo su 3 numeri.
effettuare, in un • Vincolo2: A, B e C devono essere positivi; un numero negativo potrebbe infi-
preciso momento, ciare la soluzione finale.
che determinerà tutti
i passi successivi da È facile intuire che i dati in uscita saranno influenzati dai dati in ingresso, cioè che il
svolgere. valore del minimo e del massimo dipenderanno esclusivamente dai valori di A, B, C.

Dati in ingresso Dati in uscita


A
Minimo
B
Massimo
C Strategia risolutiva
del problema

250 Sezione D Algoritmi e linguaggi di programmazione


OSSERVA COME SI FA
Esaminiamo alcuni semplici problemi per i quali la fase di analisi risulta praticamente ovvia
o, comunque, prevedibile. Per questo motivo, nella descrizione dell’analisi riporteremo solo la
descrizione di che cosa si vuole fare. L’osservazione di questi problemi è utile per iniziare a
comprendere come muoversi durante la fase di comprensione del testo e di defnizione delle
specifche funzionali, ossia dei dati di input e di output.

1 Facciamo una telefonata.


Desideriamo chiamare un abbonato con il telefono. Dopo aver composto il numero sull’appa-
recchio telefonico si possono verifcare i seguenti casi: l’abbonato risponde, per cui la telefo-
nata viene eseguita con successo, oppure la telefonata non può essere effettuata perché il
telefono è occupato o l’abbonato non risponde.
Dati iniziali
■ Numero da comporre.
Dati fnali
■ “Telefonata riuscita”.
■ “Telefonata non riuscita”.

2 Troviamo il maggiore tra due numeri.


Vogliamo trovare il maggiore tra due numeri interi che chiamiamo X e Y. Il procedimento da
seguire è piuttosto semplice, poiché ci si può servire di una semplice sottrazione. Infatti:
■ se X – Y > 0, il maggiore è X;
■ se X – Y < 0, il maggiore è Y;
■ se X – Y = 0, X e Y sono uguali.

Dati iniziali
■ Due numeri interi X e Y.

Dati fnali
■ X, se X – Y > 0;
■ Y, se X – Y < 0.

3 Calcoliamo il prodotto di due numeri interi.


Dobbiamo considerare due numeri interi, che indichiamo con X e Y, e trovare il loro prodotto. Il
semplice procedimento dettato dalla matematica prevede che si possa utilizzare l’addizione.
Infatti:
■ se Y = 0, il prodotto è 0;
■ se Y > 0, il prodotto è X + X + ... + X (per Y volte).

Dati iniziali
■ Due numeri interi X e Y.

Dati fnali
■ 0, se Y = 0;
■ X * Y, se Y > 0.

L’informatica e il problem solving D1 251


4 Troviamo il massimo fra tre numeri.
Per cercare il massimo fra tre numeri, che chiamiamo a, b e c, è suffciente procedere in que-
sto modo: confrontare a con b e trovare il massimo tra questi due; quindi, una volta ottenuto
questo valore, basta confrontarlo con il numero c per ottenere il massimo valore fra i tre forniti.
Dati iniziali
■ Tre numeri interi a, b, c.

Dati fnali
■ Il valore massimo.

5 Convertiamo una temperatura da gradi Fahrenheit a gradi Celsius e viceversa.


Nella scala Celsius delle temperature il punto di congelamento dell’acqua è situato a 0 gradi
Celsius, mentre quello di ebollizione è a 100 gradi Celsius.
Nella scala Fahrenheit il punto di congelamento dell’acqua è 32 gradi Fahrenheit, mentre il
punto di ebollizione si trova a 212 gradi Fahrenheit, suddividendo così la distanza fra i due
estremi in 180 gradi. L’unità di questa scala, il grado Fahrenheit (°F) è 5/9 di un grado Celsius.
Notiamo che la temperatura di 32 °F corrisponde a 0 °C.
Quindi, un metodo per convertire gradi Celsius in gradi Fahrenheit è quello di moltiplicare per
9/5 e aggiungere 32, mentre per convertire gradi Fahrenheit in gradi Celsius occorre sottrarre
32 e moltiplicare per 5/9.

Dati iniziali
■ Un numero intero X che rappresenta i gradi.
■ Un’opzione di conversione Opz (ad esempio, 1 signifca convertire da gradi Celsius in gradi
Fahrenheit e 2 da Fahrenheit in Celsius).

Dati fnali
■ Un numero corrispondente ai gradi ottenuti.

6 Cerchiamo il numero telefonico di un utente in un elenco.


Un modo piuttosto semplice per iniziare potrebbe essere quello di osservare la prima coppia
(nome, numero telefonico). Se il nome è uguale a quello cercato, allora il numero telefonico
corrispondente è quello cercato e il problema è risolto. Se questa prima coppia non soddisfa
la nostra condizione, dobbiamo passare alla coppia successiva, ma occorre tenere conto che
non dobbiamo oltrepassare l’ultima coppia presente in elenco. Se ciò dovesse accadere, signi-
fcherebbe che il valore cercato non è presente nell’elenco.
Dati iniziali
■ Un insieme ordinato di coppie (nome, numero telefonico) e un nome da ricercare che indi-
chiamo con X.

Dati fnali
■ Il numero telefonico corrispondente all’utente caratterizzato dal nome X (se l’utente è
presente nell’insieme).
■ Visualizzazione di un messaggio con cui si informa che l’utente non è incluso nell’elenco
(se l’utente non è presente).

252 Sezione D Algoritmi e linguaggi di programmazione


4 La modellizzazione del problema
Quando si affronta un problema da risolvere, è frequente rappresentare grafica-
mente la situazione analizzata in modo da poter evidenziare sinteticamente gli
elementi utili alla risoluzione del problema, le loro proprietà e le relazioni esistenti
tra di essi. Queste rappresentazioni vengono definite modelli.

Dato un problema da risolvere, si definisce modello relativo al problema in esa-


me la rappresentazione semplificata della situazione analizzata, che evidenzi tut-
ti gli elementi fondamentali e determinanti utili alla risoluzione del problema.

La modellizzazione del problema è il risultato grafico e schematico ottenuto gra-


zie a un processo di astrazione compiuto sul problema stesso. In un’accezione più
ampia, i modelli sono spesso usati nella vita quotidiana; per esempio, quando di-
ciamo che una persona è di un certo tipo indichiamo un modello del suo compor-
tamento che è nella nostra mente e consente di prevedere il comportamento della
persona in una certa situazione. Realtà Modello
La creazione di un modello inizia con lo studio del interpretazione
fenomeno nella realtà; le osservazioni derivanti
dallo studio vengono quindi filtrate per cogliere ne
ve z io
gli aspetti più importanti del fenomeno. Poi si co- rif a
ica m
f or
struisce il modello, lo si fa “funzionare” e si con- s
tra
trolla se e quanto i risultati ottenuti corrisponda-
no con la realtà. Successivamente, il modello potrà
essere riconsiderato e modificato per renderlo più
efficiente. Rappresentazione
della realtà

Classificazione dei modelli


Esistono molte tipologie di modelli. In base al loro uso, i modelli si classificano in:
• modelli descrittivi o statici: si limitano a riprodurre con eventuali semplifi-
cazioni la realtà, senza presupporre l’uso che ne verrà fatto (esempio: lo sche-
ma descrittivo di una lavatrice nel suo complesso). Rientrano in questa classe
i modelli grafici e quelli tabellari;
• modelli predittivi: forniscono gli elementi necessari della realtà di interesse
per prevederne l’evoluzione, lasciando spazio a eventuali scelte (esempio: la
descrizione dei possibili programmi di lavaggio della lavatrice);
• modelli prescrittivi: impongono un comportamento particolare in previsio-
ne dell’obiettivo da raggiungere (esempio: la sequenza di comandi che si devo-
no specificare per ottenere un particolare tipo di lavaggio).
In base alla loro natura, i modelli si classificano in:
• modelli analogici: forniscono una rappresentazione fedele della realtà in
scala ridotta e riproducono qualitativamente un certo sistema riducendone
proporzionalmente la dimensione (esempi: modellini di autovetture, plastici,
cartogrammi);

L’informatica e il problem solving D1 253


• modelli simbolici o matematici: forniscono una rappresentazione astratta
della realtà a cui si riferiscono mediante un’equazione o un insieme di equa-
zioni che legano le grandezze (esempio: un circuito elettrico con l’indicazione
di resistenza, tensione e corrente messe in relazione dalla legge di Ohm);
• modelli logici: forniscono un insieme di regole logico-funzionali che, se se-
guite, permettono di emulare integralmente la realtà di interesse. Gli algorit-
mi rientrano in questa categoria.
Nell’ambito della risoluzione dei problemi, i modelli più utilizzati sono quelli de-
scrittivi, suddivisi in grafici, tabellari e simbolici.
Pensiamo al disegnatore di un aliante. Una volta costruito l’apparecchio, decide di
modificare le ali. Costruisce fisicamente un modello di una nuova forma delle ali
e ne saggia le caratteristiche nella galleria del vento. In base ai risultati ottenuti, la
forma viene modificata e il modello viene sottoposto a un nuovo test nella galleria
del vento. Si esaminano di nuovo i risultati e si apportano le modifiche ritenute
utili, e così via fino a quando non si raggiunge il risultato desiderato. L’utilizzo di
un modello matematico, in questo caso, potrebbe aiutare ulteriormente il dise-
gnatore. Infatti, la manipolazione dei modelli in forma simbolica è decisamente
più facile che in forma fisica: molto spesso è sufficiente modificare il valore di una
variabile o di una costante, o ritoccare un’equazione, oppure modificare i dati di
input e così via.

Costruzione di due modelli d’esempio


Il percorso più breve per andare da casa a scuola
Diamo ora uno sguardo al modello costruito per risolvere il seguente problema:
“Individuare il percorso più breve per andare dall’abitazione A alla scuola S
secondo il grafico riportato”.

B C

A S
abitazione scuola
D
Rifetti

La rappresentazione
3D di un soldato
all’interno di un Conoscendo la lunghezza di ogni tratto di strada tra i due incroci, si tratta di ac-
videogioco è da certare quale sia il percorso più breve tra ABCS, ABCDS, ADCS e ADS.
considerarsi un
modello analogico
Supponendo che AB = 240 m, BC = 200 m, CD = 220 m, AD = 330 m, DS = 220 m e CS
o simbolico/ = 190 m, è semplice calcolare la distanza. Il modello, già nel suo aspetto grafico,
matematico? aiuta la comprensione del problema.

254 Sezione D Algoritmi e linguaggi di programmazione


Lo sviluppo nel tempo di una popolazione
Quando si studia un problema, ci si può servire di diverse tipologie di modelli.
Costruiamo ora un modello relativo al seguente problema:
“Studiare una popolazione virtuale composta da persone che vivono all’infinito”.
Supponiamo che al tempo t0 le persone considerate siano tutte esenti dalla malat-
tia M. Al tempo t1 aggiungiamo alla popolazione un numero D1 di individui con
una malattia contagiosa M che si trasmette da 1 persona ammalata a 1 persona
sana in 1 unità di tempo. Assumiamo D1 = 10; allora, al tempo t2 le persone am-
malate saranno 20, a t3 saranno 40, a t4 saranno 80 e così via. Il numero di persone
ammalate viene riprodotto dalla seguente equazione:
Dtn = Dt1 ∗ 2 n−1

Utilizziamo un modello tabellare per vedere la diffusione nel tempo della malattia
all’interno della popolazione.

Tempo Ammalati
t0 0
t1 10
t2 20
t3 40
t4 80
t5 160
ecc.

Ora perfezioniamo il modello, supponendo che la malattia sia capace di provocare


la morte del 30% delle persone colpite entro 1’unità di tempo dopo l’infezione. Al-
lora si verificherà la seguente situazione:

Tempo Ammalati Morti


t0 0 0
t1 10 0
t2 (10 * 2) – 3 = 17 10 * 0.3 = 3
t3 (17 * 2) – 5.1 = 28.9 17 * 0.3 = 5.1
t4 (28.9 * 2) – 8.7 = 49.1 28.9 * 0.3 = 8.7
t5 (49.1 * 2) – 14.7 = 83.5 49.1 * 0.3 = 14.7
ecc.

Il numero di persone ammalate presenti in un dato istante tn all’interno della no-


stra popolazione-modello può ora venire calcolato nel seguente modo:
Dtn = Dt1 ∗ ( 2 − 0.3 )n−1

L’informatica e il problem solving D1 255


OSSERVA COME SI FA
1 Somma di lunghezze.
In un libro per la scuola elementare abbastanza diffuso viene proposto il seguente esercizio:
Somma le seguenti lunghezze: 3.5 km, 23 hm, 125 cm, 59 mm.
■ Svolgi l’esercizio come, secondo te, dovrebbe essere svolto nelle intenzioni degli autori.
■ Ti sembra un esercizio ben posto? Perché?
■ Quale sarebbe un modo “corretto” per rispondere al quesito?

Risposta
59 mm + 1250 mm + 2300000 mm + 3500000 mm = 5801309 mm
(oppure: 3.5 km + 2.3 km + 0.00123 km + 0.00059 km = 5.801309 km, oppure...)

■ L’esercizio è diseducativo: non ha senso sommare lunghezze espresse in unità di misura


così diverse senza tenere conto delle precisioni delle misure.
■ Si dovrebbe rispondere 5.8 km tenendo conto che 125 cm e 59 mm sono trascurabili in
quanto le altre misure sono approssimate alle centinaia di metri (il valore esatto può diffe-
rire dal valore indicato di qualche decina di metri, valore che “assorbe” l’aggiunta di valori
dell’ordine del metro).

2 Spese di viaggio.
Per un viaggio Daniela, Riccardo e Anna hanno speso, rispettivamente, 550 euro, 300 euro e
350 euro. Affnché il costo del viaggio sia distribuito equamente fra i tre, quanti soldi devono
dare a Daniela, rispettivamente, Riccardo e Anna? Scegli la risposta corretta:
A 100 euro, 50 euro
B 75 euro, 25 euro
C 125 euro, 100 euro
D 250 euro, 200 euro

Risposta
La spesa totale è di 1200 euro, per cui ciascuno deve metterci 400 euro. Riccardo e Anna
devono dare a Daniela la differenza tra quanto hanno messo e questa cifra: risposta (A).

Mentalmente si sarebbe potuto operare anche così: Riccardo ha speso meno di tutti; Anna
ha speso 50 euro più di lui, Daniela 250 euro; in tutto hanno speso 300 euro in più; la spesa
individuale di ciascuno deve essere pari a quanto ha speso Riccardo più 1/3 di questa cifra,
ossia 100 euro; Riccardo deve metterli tutti; Anna solo 50.

256 Sezione D Algoritmi e linguaggi di programmazione


3 Pavimentazione di una stanza.
Utilizzando piastrelle rettangolari le cui dimensioni sono esattamente 20 cm e 40 cm, è possi-
bile pavimentare (usando solo piastrelle intere) una stanzetta rettangolare che abbia dimensio-
ni esatte di 2.10 m per 1.60 m?

Risposta
(1) Prima verifchiamo se l’area della stanza contiene esattamente per un numero intero di
volte l’area di una piastrella. Può essere comodo esprimerci in dm per le lunghezze e in dm2
per le aree.
Area Piastrella = 2*4 = 8. Area Pavimento = 21 * 16 = 336.
Area Pavimento / Area Piastrella = 336/8 = 42.
Quindi l’area del pavimento contiene esattamente 42 volte l’area di una piastrella.
(2) Ma ciò non basta. Infatti non possiamo disporre 42 piastrelle in modo da pavimentare la no-
stra stanza, in quanto affancando piastrelle di questo tipo non riusciamo a coprire esattamente
il lato di 210 cm: sommando ripetutamente 20 e 40 otteniamo comunque un multiplo di 20, e
210 non è multiplo di 20.
Per risolvere il nostro problema non è suffciente confrontare le “estensioni” di piastrella e
pavimento, ma occorre tenere conto anche delle loro “forme”. Nella “modellizzazione” della
situazione se ci fermiamo al punto (1) trascuriamo un aspetto determinante della “realtà” e la
nostra conclusione (“è possibile in quanto il pavimento contiene esattamente 42 piastrelle”)
sarebbe errata. Sarebbe stato suffciente fermarsi al punto (1), per concludere negativamente,
solo se il risultato della divisione non fosse risultato intero.

4 Rappresentazione di frequenze su una cartina.


Gli alunni di una scuola vogliono rappresentare su
una cartina dell’Italia disegnata su un cartellone la
frequenza con cui si verifca un certo fenomeno nelle
diverse regioni. Riccardo, Anna e Daniela propongono,
in ordine, i tipi di rappresentazione corrispondenti alle
fgure qui riportate.
L’insegnante propone alla classe una discussione per
scegliere la rappresentazione migliore. Quali aspetti
dovrebbe cercare di far emergere?

Risposta
Nel tipo di cartina centrale, il passaggio a una regione in cui il fenomeno considerato si presen-
ta con una frequenza maggiore corrisponde al passaggio a una fgura in cui i punti sono più ftti:
vi è una analogia tra frequenza del fenomeno e densità della punteggiatura.
Tutte le rappresentazioni sono formalmente corrette, ma quella centrale è quella più effciente
in quanto consente di individuare più facilmente le zone in cui il fenomeno è più intenso e
quelle in cui lo è meno, con un colpo d’occhio, appoggiandosi sulle nostre capacità percettive.
Le altre costringono invece a un continuo riferimento alla legenda per gestire la corrispondenza
tra percentuali e “tratteggio” o “colorazione”.
La terza rappresentazione, quella a colori, probabilmente è più bella, ma in questo caso non è
il modello migliore.
Se, invece, non avessimo avuto a che fare con la rappresentazione di valori numerici o, comun-
que, di fenomeni ordinabili, sarebbe stata forse più gradevole ed effcace (e meno fuorviante)
una rappresentazione a colori.
Sarebbe bene che questa osservazione fosse collegata ad altre analoghe, che l’insegnante
dovrebbe fare in altre occasioni (quale tipo di diagramma scegliere per questo fenomeno, come
scegliere le scale su questo grafco, con quante cifre signifcative riportare questi dati, ...). È
importante tenere conto delle fnalità delle diverse attività di modellizzazione.

L’informatica e il problem solving D1 257


Ricorda 5 I metodi per trovare la strategia risolutiva
Trovare la strategia risolutiva è un’attività creativa. Persone competenti diverse
Gli aggettivi efficace potrebbero ideare strategie risolutive diverse che raggiungano gli stessi risultati
ed efficiente non sono finali: alcune di queste strategie saranno efficaci ed efficienti, altre meno, alcune
sinonimi: una strategia
si dice “efficace” più eleganti, altre meno, e così via.
quando consente
di raggiungere il
risultato voluto; una I diversi metodi
strategia “efficiente”,
in più, consente di
Quando i problemi sono semplici, l’attività di ricerca e descrizione della strategia
raggiungere il risultato risolutiva è immediata e priva di qualsiasi complicazione. Quando, invece, i pro-
con un dispendio blemi cominciano a essere più complessi, occorre agire con metodo.
minimo di risorse.
Nella ricerca della soluzione di un problema non si possono definire criteri, ma
si possono proporre suggerimenti e strategie, che possono essere utilizzati in un
rilevante numero di situazioni problematiche.
Rifetti Per trovare la soluzione di un problema, quindi, è possibile ricorrere a diversi
metodi.
Per calcolare l’area • Conoscere il tema oggetto del problema. È indiscusso il grande vantaggio
di un triangolo è offerto dalla conoscenza dell’argomento relativo al problema preso in esame.
necessario conoscere Per questo motivo riportiamo ciò come primo metodo per reperire un’adegua-
la formula.
ta tecnica di risoluzione.
• Procedere per tentativi. Il più delle volte, il problema non si risolve “al primo
Rifetti colpo”, ma questo non deve portare a scoraggiarsi. Se l’idea avuta non conduce
alla soluzione, non la si deve abbandonare immediatamente; o meglio, prima
Se si vuole realizzare un di farlo è consigliabile controllare che tale idea non abbia, comunque, dei “fon-
piatto senza conoscere damenti di verità” sfruttabili nella ricerca della nuova idea di risoluzione. Una
la ricetta, bisogna volta effettuato questo accertamento, si abbandona la strada percorsa e se ne
necessariamente
procedere per tentativi. trova un’altra. Individuare una strategia risolutiva non significa aver trovato
la soluzione al problema: se la soluzione trovata è complessa, tortuosa e di
difficile interpretazione, è opportuno “raffinarla” per quanto possibile o ricer-
carne una alternativa. Ciò perché, in definitiva, la soluzione migliore è sempre
Rifetti la più semplice.
• Servirsi dell’esperienza e di metodi risolutivi già sperimentati. È assolu-
Se si vuole realizzare tamente sbagliato affrontare i problemi come casi isolati. “L’esperienza fa ma-
un piatto noto, la estri”, si dice. I problemi, nella loro complessità, hanno spesso elementi in co-
strategia migliore è
servirsi di una ricetta mune tra loro, che possono essere sfruttati per adattare alle nuove situazioni
già collaudata. problematiche metodi risolutivi già individuati e sperimentati. È importante,
quindi, ricercare l’analogia con i problemi già risolti.
• Ripercorrere il cammino all’indietro (backtracking). Spesso accade che,
Rifetti nel cammino percorso durante la ricerca della soluzione, ci accorgiamo che
la strada seguita non porta a nessuna soluzione. In questo caso è opportuno
Lavorando sul prototipo ripercorrere i propri passi, tornare indietro fino a un punto del cammino dal
di un’automobile
quale si possa ripartire per un’altra strada.
spesso occorre
riprendere aspetti che
durante le prove sono
risultati non idonei.

258 Sezione D Algoritmi e linguaggi di programmazione


• Scindere il problema in sottoproblemi. A volte risolvere un problema par-
tendo dai soli dati iniziali è estremamente difficile. È buona norma individua- Rifetti
re in un problema dei problemi più piccoli, in modo da concentrarsi sulla loro
risoluzione che, ovviamente, sarà più semplice rispetto a quella del problema L’automobile è
generale. Questa tecnica ha origini remote, ispirate al divide et impera degli costituita da numerosi
antichi romani, ed è alla base, come abbiamo detto, del problem solving. sistemi elettrici,
meccanici, idraulici;
ognuno di essi va
L’applicazione dei metodi affrontato inizialmente
in modo separato,
I metodi di risoluzione appena descritti non sono da utilizzare in alternativa tra poi diventeranno un
tutt’uno.
loro. L’approccio migliore è sempre quello “composto” che prevede l’utilizzo com-
binato, per quanto possibile, dei vari metodi a disposizione.

6 Risolutore ed esecutore
Nell’intero processo di risoluzione di un problema esistono sempre due momenti
distinti:
• quello della risoluzione, consistente nell’individuazione di una strategia per
raggiungere l’obiettivo;
• quello dell’esecuzione di tutte le azioni necessarie descritte nel procedimen-
to di risoluzione.
Quando si risolve un problema è quindi possibile fare riferimento a due tipi di
attori: il risolutore e l’esecutore.

Il risolutore è la persona che definisce e costruisce la strategia risolutiva per


un dato problema, poiché svolge attività di studio e di ricerca legate all’analisi
e alla progettazione.

La diagonale divide il rettangolo in due


triangoli rettangoli congruenti, ciascuno
dei quali ha per cateti le dimensioni
del rettangolo stesso e per ipotenusa
? Problema
Calcolare la lunghezza della
la diagonale. Possiamo applicare il
teorema di Pitagora
Strategia risolutiva
diagonale di un rettangolo
conoscendo le dimensioni
del rettangolo ■ Prendere la misura della base
■ Prendere la misura dell’altezza
D=? ■ Calcolare il quadrato della base
a D = a2 + b2 ■ Calcolare il quadrato dell’altezza
■ Sommare i due quadrati ottenuti
■ Calcolare la radice quadrata della
somma dei quadrati
■ Visualizzare il risultato conseguito

b
Risolutore

L’informatica e il problem solving D1 259


GLOSSARIO L’esecutore è un’entità generica che sa soltanto eseguire le azioni elementari sug-
Esecutore (processore) gerite dal risolutore. Non è necessario che l’esecutore conosca gli scopi o il sen-
Colui che esegue le so complessivo della strategia risolutiva: il suo compito è quello di comprendere,
azioni descritte dal interpretare ed eseguire correttamente le azioni descritte dal risolutore sui dati
risolutore per giungere
concretamente alla
iniziali per giungere ai dati finali.
soluzione.
Strategia risolutiva
■ Prendere la misura della base
■ Prendere la misura dell’altezza
■ Calcolare il quadrato della base
Dati iniziali ■ Calcolare il quadrato dell’altezza Dati finali
■ Base = 5 ■ Sommare i due quadrati ottenuti 13
■ Altezza = 12 ■ Calcolare la radice quadrata della
somma dei quadrati
■ Visualizzare il risultato conseguito

ESECUTORE
25
144
169
13

L’esecutore è, quindi, un’entità generica capace di attuare il procedimento risolu-


tivo. Ma che cosa significa “entità generica”? E, in particolare, chi può svolgere il
compito di esecutore? Diamo uno sguardo alla seguente figura.

Strategia risolutiva
■ Prendere la misura della base
■ Prendere la misura dell’altezza
■ Calcolare il quadrato della base
■ Calcolare il quadrato dell’altezza
■ Sommare i due quadrati ottenuti
Risolutore: Luigi ■ Calcolare la radice quadrata della
somma dei quadrati
■ Visualizzare il risultato conseguito
Risu
lt
? Problema fina ati
Dati iniziali
li

Esecutore: Gino

Verifica dei risultati

Quando Luigi formula la strategia risolutiva si colloca nella condizione di risolu-


tore e quando esegue materialmente le azioni diventa l’esecutore. Non è necessa-
rio che i due ruoli siano assunti sempre dallo stesso soggetto.

260 Sezione D Algoritmi e linguaggi di programmazione


Supponiamo che il problema sia quello di raccogliere delle mele da un albero. Se
Luigi affidasse a Gino il compito di raccoglierle, assumerebbe il ruolo del risoluto-
re, con Gino in quello dell’esecutore.
Finché la strategia risolutiva di un problema viene descritta in termini informali
(proprio come tra gli esseri umani), può rimanere l’ambiguità circa la sua attuabi-
lità da parte dell’esecutore (la sua effettività).
In questo caso Luigi non dovrà stare particolarmente attento al modo in cui darà
le indicazioni a Gino poiché, essendo ambedue esseri umani, potranno utilizzare
le varie accezioni messe a disposizione dalla lingua parlata per farsi comprendere.
Quando, però, l’esecutore è il computer, non sarà più possibile descrivere la stra-
tegia risolutiva utilizzando un linguaggio naturale. L’esecutore “computer” è ca-
ratterizzato da:
• il linguaggio che è in grado di interpretare (che non prevede né sinonimi, né
accezioni, né ambiguità);
• l’insieme di azioni che è in grado di compiere;
• l’insieme delle regole che a ogni frase corretta del linguaggio (costrutto lingui-
stico) associano le relative azioni da compiere. Lo sai?
Per questo motivo, il risolutore deve descrivere l’insieme delle azioni previste
dalla strategia risolutiva secondo un ordine logico ben preciso e in una forma Un programma
che l’esecutore “computer” sia in grado di interpretare correttamente, ovvero il rappresenta una
strategia risolutiva
programma: non ambigua di un
problema.
Programma
■ Prendi la misura della base
■ Prendi la misura dell’altezza
...
(tutte queste azioni sono descritte
da istruzioni scritte usando un
linguaggio di programmazione)
Risolutore: Luigi

Risu
lt
? Problema fina ati
Dati iniziali
li

Esecutore: Computer

Verifica dei risultati

L’informatica e il problem solving D1 261


RIPASSIAMO INSIEME
MAPPA
L’INFORMATICA E IL PROBLEM SOLVING MODIFICABILE

Che cos’è l’informatica?

È una scienza che riguarda gli aspetti del trattamento dell’informazione


tramite procedure automatizzabili e ripetibili nel tempo.

L’esecutore è colui
Che cos’è un problema? che esegue le
Un problema è un quesito che chiede di trovare azioni descritte dal
uno o più elementi ignoti (la soluzione), risolutore per giungere
partendo da elementi noti. concretamente alla
soluzione del problema.

La strategia risolutiva è un insieme


di passi da compiere per giungere
Il modello di un problema è la
alla soluzione di un problema.
rappresentazione semplificata
della situazione analizzata.

Quali sono le fasi


dell’analisi? Quali sono i metodi per
trovare la strategia risolutiva?
1) Esplicitare l’incognita,
per individuare
correttamente gli Raccogliere informazioni sul H
obiettivi tema oggetto del problema
2) Eliminare i dettagli
inutili e ambigui I
Procedere per tentativi
rilevati nell’enunciato
del problema L
Servirti dell’esperienza
3) Individuare il criterio
di verifica della M
Backtracking
soluzione
4) Astrarre il problema
N
5) Individuare i vincoli Suddividere in sottoproblemi

262 Sezione D Algoritmi e linguaggi di programmazione


D1
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Nell’informatica le stesse procedure portano


a risultati differenti nel tempo (A) ............................. ☐ V ☐ F

2) Un problema può avere più soluzioni (B) .................. ☐ V ☐ F

3) La strategia risolutiva porta alla soluzione


del problema (D) ..................................................................... ☐ V ☐ F

4) L’esecutore è deputato a svolgere i passi necessari


per giungere alla soluzione del problema (C) .......... ☐ V ☐ F

5) I dettagli ambigui sono necessari alla soluzione


finale (E) .................................................................................... ☐ V ☐ F

6) La rappresentazione semplificata di una situazione


analizzata si definisce problema (B, F) ....................... ☐ V ☐ F

Completa le affermazioni seguenti.

7) Il metodo di risolvere un problema suddividendolo


in ........................................ è alla base del problem solving (N)

8) L’.................................. esegue le azioni descritte dal ............................


per giungere alla soluzione del problema (C)

9) Per controllare che una soluzione sia adeguata al problema è


necessario individuare un criterio di ……………................…. (E)

10) Il modello di un problema è la …...................………...... semplificata


della situazione analizzata (F)

11) Il ripercorrere i propri passi (in inglese ….....…………………………)


è un metodo utile per trovare la strategia risolutiva
di un problema (M)

L’informatica e il problem solving D1 263


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo D1
Associazioni 8 L’astrazione è:
1 Completa la tabella associando ogni elemento A un procedimento mentale che partendo da un
della colonna di sinistra a un elemento della concetto specifico ne ricava uno generico
colonna di destra. B un procedimento mentale che partendo da un
concetto generico ne ricava uno specifico
A Analisi 1 Specifca le azioni C un procedimento mentale attraverso il quale si
B Dati iniziali 2 Accertamento dello stato fnale sostituisce un insieme di concetti con un oggetto
C Progettazione 3 Identifca obiettivo più generale
D nessuno dei precedenti
D Verifca 4 Insieme dei dati a disposizione
9 Un modello è:
A B C D A una rappresentazione grafica che illustra la
situazione analizzata evidenziando analiticamente
gli elementi utili allo scopo dell’analisi
Vero o falso B la rappresentazione completa della situazione
analizzata
2 I modelli predittivi forniscono gli elementi
necessari della realtà di interesse per C il risultato grafico e schematico ottenuto con un
prevederne l’evoluzione V F processo di astrazione compiuto sul problema
D una rappresentazione grafica che deve precedere
3 I modelli prescrittivi impongono un lo studio della realtà
comportamento particolare: in previsione
dell’obiettivo da raggiungere si parte da 10 Il modellino di un animale preistorico è:
una verità assodata V F A analogico B simbolico
4 I modelli analogici forniscono una C descrittivo D predittivo
rappresentazione fedele della realtà in scala
ridotta: si procede partendo dal particolare 11 L’algoritmo fa parte dei modelli:
per giungere all’universale V F A iconici B logici
C matematici D predittivi
5 I modelli simbolici danno una rappresentazione
astratta della realtà a cui si riferiscono 12 La suddivisione dei problemi in sottoproblemi è
mediante un’equazione o un insieme anche conosciuta con:
di equazioni che legano le grandezze V F
A divide et elabora B drug and drop
C divide et impera D taglia e incolla
Risposta singola
13 Il backtracking consiste nel:
6 Per poter risolvere un problema è necessario: A ripercorrere i vari passi seguiti per giungere a
A conoscere i dati iniziali definire una soluzione rigorosa
B comprendere la natura dei dati finali B controllare tutta l’analisi del problema svolta
C conoscere i dati finali C ricontrollare il procedimento seguito
D conoscere la matematica D ripercorrere il cammino all’indietro
7 Quali tra i seguenti sono problemi correttamente
formulati?
Risposta aperta
A in albergo: “vorrei prenotare una stanza per
domani” 14 Chiarisci il concetto di problem solving.
B allo stadio: “vorrei cinque biglietti per la partita” 15 Quali sono le caratteristiche fondamentali di un
C in lavanderia: “Mi stiri questi pantaloni e il gatto” risolutore? E quelle di un esecutore?
D alla stazione: “Potrebbe farmi un biglietto di
andata e ritorno?” 16 Per quale motivo il risolutore non umano non può
comprendere soluzioni che non siano rigorose?

264 Sezione D Algoritmi e linguaggi di programmazione


Allena le tue ABILITÀ
e le tue COMPETENZE D1
ABILITÀ 5 Realizza un modello per risolvere il seguente
problema:
1 Determina dati iniziali e finali dei seguenti
problemi: Tre amici hanno acquistato 3 bottiglie di vino
ciascuno, spendendo 100 euro a testa.
a) dato un numero N intero, determinare il prodotto
Ogni bottiglia è stata scelta almeno una
di tutti i numeri interi compresi tra 1 e N.
volta, tranne una che è stata scelta tre volte;
b) dato un insieme di numeri interi, disporli in ordine quale tra le 9 bottiglie, che hanno il seguente
crescente costo, è stata scelte 3 volte?
c) determinare il numero di volte in cui una
bottiglia 1 costo: 11 euro
determinata parola compare all'interno di un
brano di testo bottiglia 2 costo: 19 euro
d) determinare il valore dell’espressione bottiglia 3 costo: 22 euro
(a+3*b) – (b+5)*a
bottiglia 4 costo: 28 euro
2 Analizza i seguenti problemi e individua il metodo bottiglia 5 costo: 50 euro
o i metodi più adatti per trovare la strategia
risolutiva: bottiglia 6 costo: 59 euro
a) si vuole ricoprire un campo di calcio col manto più bottiglia 7 costo: 67euro
adatto per resistere ad un torneo invernale
b) hai la necessità di installare sul tuo smartphone 6 Individua dati iniziali e finali e formalizza un
un'app per effettuare dei fotoritocchi, quale modello per il seguente problema:
scegli?
All'interno di un cantiere lavorano due operai.
c) si vuole realizzare un impianto elettrico all'interno La paga giornaliera del secondo è pari a 3/4
di un appartamento di quella del primo. Il secondo operaio
d) bisogna installare una serie di ascensori ha lavorato cinque giorni in meno del primo
all'interno di un ospedale e ha riscosso 450 euro, mentre il primo
e) un comune di una città deve realizzare l'impianto ne ha riscossi 800. Trovare la paga giornaliera
semaforico su tutto il territorio dei due operai e il numero delle giornate
di lavoro.
3 individua, all'interno di alcuni settori lavorativi,
almeno cinque esempi riferiti a chi fornisce la
strategia e chi la esegue (ad esempio architetto 7 Individua dati iniziali e finali e formalizza un
– costruttore). modello per il seguente problema:
In un luna park vuoi partecipare a un tiro
COMPETENZE al bersaglio e acquisti 20 tiri con la condizione
di pagare 250 centesimi per ogni colpo
4 Realizza un modello matematico per risolvere il fallito e, viceversa, di riceverne 460 per
seguente problema: ogni colpo centrato. Alla fine riesci a vincere
due automobili, A e B, poste a una distanza d 21 euro (2100 centesimi). Quanti colpi
l’una dall’altra, iniziano a muoversi, nello stesso sono stati centrati?
istante, su una traiettoria rettilinea con versi
opposti; la velocità di A è v1 e quella di B è v2;
entrambe si muovono con velocità costanti.
Dopo quanto tempo e a che distanza dai
rispettivi punti di partenza le due automobili si
incontreranno?

L’informatica e il problem solving D1 265


D2 Dal problema
all’algoritmo

ESERCIZI COMMENTATI
Segui la risoluzione passo passo

IMPARERAI…

Che cos’è Che cosa Come si rappresenta Come si rappresenta Come si Come si
un algoritmo sono le azioni un algoritmo con un un algoritmo con lo rappresentano rappresenta
e le istruzioni diagramma a blocchi pseudolinguaggio variabili e il processo di
costanti valutazione di
nell’informatica un’espressione
matematica

1 Costruire strategie risolutive non ambigue


Come costruire strategie risolutive che siano eseguibili
da un automa
Come hai imparato, una volta che abbiamo analizzato un problema, dobbiamo
progettare la strategia risolutiva. Dobbiamo, cioè, ideare una serie di passi ele-
mentari (azioni) che, eseguiti in sequenza, conducano a risolvere il problema. La
procedura – che non deve essere ambigua – è definita con il termine algoritmo.
Vedremo in seguito la definizione di tale concetto, per il momento cerchiamo di
comprenderne il significato.
L’algoritmo deve indicare in modo chiaro, preciso, rigoroso e sistematico le azioni
da eseguire una dopo l’altra senza dare adito ad ambiguità di interpretazione da
parte di chi lo esegue. Un esempio di algoritmo è una ricetta in cui sono indicati i
passi da seguire per ottenere sempre lo stesso piatto. Più sarà dettagliata e precisa
la ricetta, meno problemi di interpretazione porrà, più il risultato sarà fedele a
quanto richiesto.

Ricette che non sono algoritmi Ricette che sono algoritmi


... ...
Aggiungere acqua quanto basta Aggiungere ½ litro di acqua
Far cuocere il tempo necessario Far cuocere 40 minuti alla temperatura di 160°
... ...

Un algoritmo deve essere pensato per essere eseguito da un automa, cioè da qual-
cosa che non è in grado né di pensare né di prendere decisioni personali, ma sem-
plicemente di eseguire alla lettera quanto gli viene indicato. L’esempio più em-
blematico è quello di un robot posizionato al centro della stanza a cui si vuole
ordinare di accendere la luce: non basta impartirgli il comando “Vai e accendi la

266 Sezione D Algoritmi e linguaggi di programmazione


luce”, in quanto tale comando non rappresenta un’istruzione elementare, ma è un
comando complesso, che va scomposto in comandi elementari. Pertanto è neces-
sario predisporre un algoritmo rigoroso che, tenendo conto della posizione inizia-
le del robot, lo porti a realizzare l’obiettivo.

Algoritmo Esecuzione
Fai 5 passi in avanti
Svolta a destra
Fai 15 passi in avanti
Alza il braccio a 90°
Premi il tasto verde

Proviamo a costruire un algoritmo


Partiamo da una strategia risolutiva e vediamo come costruire un algoritmo. Pos-
siamo prendere in considerazione qualsiasi problema, di tipo matematico o preso
dalla vita di tutti i giorni, poiché le considerazioni che faremo hanno validità gene-
rale. Consideriamo il seguente problema.

OSSERVA COME SI FA
1 Cucinare la pasta.
Problema
Cucinare la pasta asciutta per la propria famiglia.
Come puoi immaginare, è ben diverso cucinare pasta asciutta per 2 persone o per 8. È evi-
dente che manca un dato iniziale importantissimo: il numero di persone da cui è composta la
nostra famiglia. Indichiamo genericamente con N questo dato iniziale. Elaboriamo quindi una
prima versione della strategia risolutiva.

Dati iniziali: prima versione


N: numero di persone da cui è composta la propria famiglia.

Dati fnali
P: piatti di pasta asciutta.

Strategia risolutiva: prima versione

1. Inizio 2. Prendere 3. Aggiungere 4. Accendere il fuoco e 5. Attendere

6. Aggiungere 7. Versare 8. Attendere 9. Scolare 10. Fine

nella pentola sia cotta togliendo l’acqua risolutiva

Dal problema all’algoritmo D2 267


Analisi della prima versione della strategia risolutiva
A prima vista questa strategia risolutiva sembrerebbe suffciente a raggiungere la soluzione del
nostro problema, ma osserviamola meglio.
Nel passo 2 si parla di “pentola adeguata”. Ma che cosa signifca “adeguata”? Ciò che può
essere adeguato per una persona, potrebbe non esserlo per un’altra. Questo aggettivo pertanto
risulta ambiguo e, quindi, non eseguibile dall’esecutore “stupido” da noi indicato. Ambigue sa-
rebbero anche le espressioni: “una pentola suffciente” oppure “una pentola giusta”. È ambigua
anche l’espressione: “una pentola per N persone”. Come fa l’esecutore a stabilire quanto deve
essere grande una pentola per N persone? Possiamo spiegarglielo trasformando il passo 2 nel
modo seguente.

Trasformazione del passo 2


2. Prendere una pentola da N * L, litri dove L è il numero di litri a persona (ad esempio L = 0,5,
cioè mezzo litro a persona) e N è il numero delle persone.
L ora è un nuovo dato iniziale, che andiamo ad aggiungere all’insieme dei dati iniziali del nostro
problema.

Trasformazione dei dati iniziali


N: numero di persone da cui è composta la propria famiglia.
L: litri di acqua per persona.
Non sempre è immediatamente chiaro quali siano i dati iniziali di un problema, anzi, spesso si
arriva a determinarli soltanto durante la stesura della strategia risolutiva. Riscriviamo, allora,
anche il passo 3.

Trasformazione del passo 3


3. Aggiungere N * L litri di acqua nella pentola.
I passi 2 e 3, così riscritti, ci aiutano a formalizzare la strategia risolutiva e a dare rigore alle
nostre descrizioni.
Osserviamo, ora, il passo 5: non è suffcientemente dettagliato. Che cosa vuol dire, per un
esecutore (stupido), “attendere che l’acqua bolla”? Occorre essere più precisi e scrivere quale
temperatura deve essere esattamente raggiunta dall’acqua prima che in essa sia aggiunto il
sale.

Trasformazione del passo 5


5. Attendere fnché la temperatura dell’acqua (misurata con un termometro) raggiunge i 100
gradi centigradi.
Anche gli altri passi devono essere riscritti per evitare ambiguità: occorre essere precisi nella
descrizione del da farsi. Una possibile riscrittura della strategia risolutiva, considerando tutti i
dati iniziali necessari, può essere la seguente.

Dati iniziali: versione defnitiva


N: numero di persone
L: litri di acqua per persona
G: quantità di pasta per persona
S: grammi di sale per persona
T: tempo di cottura

Dati fnali
P: piatti di pasta asciutta

268 Sezione D Algoritmi e linguaggi di programmazione


Strategia risolutiva: versione defnitiva

1. Inizio 2. Prendere 3. Aggiungere 4. Accendere il 5. Attendere fnché


strategia una pentola da N * L litri fuoco e mettere la temperatura

6. Aggiungere 7. Versare 8. Attendere 9. Scolare la 10. Fine strategia

nella pentola

Analisi della versione defnitiva della strategia risolutiva


La strategia risolutiva (descritta da un risolutore) è ora rigorosa, nel senso che non è ambigua,
è completa ed è suffcientemente dettagliata. Solo in questo modo l’esecutore può compiere
le azioni necessarie a risolvere il problema.
Il problema appena analizzato è ben formulato; infatti, per quanto detto:
1. l’obiettivo fnale è “cucinare la pasta asciutta” ed è, pertanto, esplicito;
2. il criterio di verifca è presente: consiste nel controllare che il risultato sia: “pasta asciutta
correttamente cucinata: cioè al dente, non scotta, giustamente salata ecc.”;
3. i dati iniziali indispensabili per proseguire nel processo risolutivo sono tutti presenti.
L’assenza anche di uno solo di tali dati non consentirebbe all’esecutore di cucinare la pasta.

Riflettendo sul problema appena presentato notiamo che la strategia risolutiva


descrive come cucinare qualsiasi tipo di pasta e non solo spaghetti o farfalline. Si
dice che tale soluzione è generale.

Una strategia risolutiva è generale quando risolve problemi simili, cioè, proble-
mi che fanno parte di una stessa famiglia o classe di problemi.

Nel nostro caso la classe di problemi è: “cucinare pasta asciutta”. Se, ad esempio,
dobbiamo risolvere un’equazione di secondo grado, descriveremo come risolvere
qualunque equazione di secondo grado e non solo una equazione specifica. Que-
sto a condizione che ci forniscano, ogni volta, i coefficienti dell’equazione di cui
vogliamo trovare le radici.

Dal problema all’algoritmo D2 269


OSSERVA COME SI FA
1 Trasporto della capra, del lupo e del cavolo da una sponda a un’altra di un fume.
Problema
Un contadino deve trasportare al di là di un fume il suo lupo, la sua capra e una cesta di cavoli,
avendo a disposizione una barca poco capiente che può trasportare solo lui in compagnia di una
delle due bestie o lui insieme alla sola cesta di cavoli.
Dati inziali Dati fnali
Contadino Lupo
Lupo Capra
Capra Cavoli
Cavoli
Barca poco capiente
Analisi del problema
Se il contadino lasciasse su una delle due rive del fume il lupo insieme alla capra, questi la
ucciderebbe per mangiarsela; allo stesso modo, non potrebbe lasciare capra e cavoli insieme
senza di lui, perché la bestia li mangerebbe sicuramente. La presenza del contadino è impor-
tante perché il lupo non nuoccia alla capra e la capra non tocchi i cavoli.
Strategia risolutiva
1. Inizio strategia risolutiva
2. Porta la capra sull’altra sponda
3. Torna indietro
4. Porta il cavolo sull’altra sponda
5. Porta la capra indietro
6. Porta il lupo sull’altra sponda
7. Torna indietro
8. Porta la capra sull’altra sponda
10. Fine strategia risolutiva

2 Calcolo del Massimo Comun Divisore.


Problema
Calcolo del Massimo Comun Divisore secondo il procedimento euclideo.

Analisi del problema


Abbiamo imparato che il Massimo Comun Divisore (MCD) di due numeri è il più grande divisore
comune a entrambi; ad esempio: MCD (18, 12) = 6; MCD (5, 10) = 5; MCD (4, 3) = 1. Ci è stato
insegnato anche a calcolarlo scomponendo in fattori i due numeri e prendendo i fattori comuni
con esponente minore. Per esempio, per calcolare MCD (18, 12) scomponiamo in fattori i due
numeri: 18 = 32 * 2 e 12 = 3 * 22, quindi prendiamo i fattori comuni con esponente minore:
MCD = 2 * 3 = 6.
Il metodo euclideo delle divisioni successive serve per determinare il Massimo Comun Diviso-
re di due numeri naturali non nulli a e b.

Dati iniziali
a, b: numeri naturali non nulli di cui calcolare il Massimo Comun Divisore.

Dati fnali
MCD: Massimo Comun Divisore dei numeri a e b.
Illustriamo il funzionamento di questo metodo mediante due esempi.

Primo esempio: supponiamo di voler determinare il MCD di 2079 e 987


Operiamo nel modo seguente:
■ dividendo 2079 per 987 otteniamo come quoziente 2 e come resto 105; abbiamo, quindi:
2079 = 987 * 2 + 105;

270 Sezione D Algoritmi e linguaggi di programmazione


■ dividiamo ora 987 per 105. Abbiamo: 987 = 105 * 9 + 42;
■ procediamo dividendo 105 per 42: 105 = 42 * 2 + 21;
■ dividiamo ora 42 per 21. Abbiamo: 42 = 21 * 2 + 0.
Siamo pervenuti a un resto nullo. L’ultimo divisore, in questo caso 21, è il MCD cercato. Quindi
MCD (2079, 987) = 21.
Secondo esempio: calcoliamo MCD (2835, 1540)
Operiamo nel modo seguente:
■ dividiamo 2835 per 1540. Abbiamo: 2835 = 1540 * 1 + 1295;
■ dividiamo 1540 per 1295. Abbiamo: 1540 = 1295 * 1 + 245;
■ dividiamo 1295 per 245. Abbiamo: 1295 = 245 * 5 + 70;
■ dividiamo 245 per 70. Abbiamo: 245 = 70 * 3 + 35;
■ dividiamo 70 per 35. Abbiamo: 70 = 35 * 2 + 0.
Il resto è 0, per cui MCD (2835, 1540) = 35.
Strategia risolutiva
1. Inizio strategia risolutiva
2. Acquisisci i valori di a e b
3. Calcola il resto della divisione di a e b
4. Se il resto è diverso da zero, ricomincia dal passo 3 utilizzando come a il valore attuale di
b e come b il valore del resto, altrimenti prosegui al passo successivo
5. Il Massimo Comun Divisore è uguale al valore attuale di b
6. Fine strategia risolutiva

3 Calcolo della soluzione di un’equazione di primo grado.


Problema
Calcolo della soluzione dell’equazione ax + b = 0.
Prendiamo in esame il metodo già conosciuto per risolvere un’equazione di primo grado, o
meglio un’equazione algebrica razionale intera di primo grado (a una incognita). Consideriamo
l’equazione nella sua forma generale (ricorrendo, cioè, a coeffcienti letterali).
Dati iniziali Dati fnali
a, b: coeffcienti dell’equazione. x: soluzione dell’equazione.
Aggiungendo a entrambi i membri dell’uguaglianza –b (regola del trasporto) otteniamo:
ax = – b
Infne, dividendo entrambi i membri per a, otteniamo la soluzione:
x = – b/a
Naturalmente il coeffciente a dovrà essere diverso da zero, affnché l’equazione sia determina-
ta (in questo esercizio daremo per scontato che il coeffciente a sia diverso da zero.
Ad esempio:
2x – 8 = 0
2x = 8 (regola del trasporto)
x = 8/2 (dividendo entrambi i membri per 2).
Quindi la soluzione dell’equazione data è: x = 8/2 = 4.

Strategia risolutiva
1. Inizio strategia risolutiva
2. Acquisisci i valori di a e b
3. Applica la regola del trasporto al coeffciente b
4. Dividi –b per a e assegna il risultato a x
5. Visualizza il valore di x
6. Fine strategia risolutiva

Dal problema all’algoritmo D2 271


2 Azioni e istruzioni
Sappiamo che una strategia risolutiva è caratterizzata da una serie di passi. Per
essere più precisi, al termine passo dobbiamo sostituire quello di azione.

Si definisce azione un evento di cui sono noti il soggetto, detto esecutore, l’og-
getto, o gli oggetti, su cui l’esecutore deve agire e la trasformazione prodotta su
di essi in un’unità finita di tempo.

La frase “Daniela mangia una mela” puntualizza un’azione, in quanto, in un’unità


finita di tempo, Daniela (esecutore) opera una trasformazione sulla mela (oggetto).
Se poniamo l’accento sull’azione svolta e su come Daniela mangia una mela, risulta
evidente che tale azione è composta da azioni più semplici. Nel dettaglio, infatti,
l’azione in questione si può scomporre nel seguente modo:
• Daniela prende una mela;
• Daniela sbuccia la mela;
• Daniela taglia a fette la mela;
• Daniela mastica la mela.
Le azioni devono avvenire in sequenza, una dopo l’altra (non si ritiene possibile
che Daniela tagli a fette la mela e, contemporaneamente, la mastichi).

Un’azione si dice elementare quando non può essere scomposta in altre azioni
più semplici. L’azione elementare, detta anche istruzione, è interpretabile in
modo univoco dall’esecutore e direttamente eseguibile. Ciò significa che l’ese-
cutore comprende in modo univoco che cosa deve fare e sa come farlo.

Prendiamo in esame il problema seguente.


Problema
“Prelevare una somma di denaro dal bancomat”.
Specifiche funzionali
Dati inziali Dati fnali
C: Codice segreto
Banconote
I: Importo da prelevare

Per descrivere la strategia risolutiva possiamo utilizzare la seguente sequenza or-


dinata di azioni elementari.
1. Inizio 2. Introdurre 3. Digitare 4. Digitare 5. Ritirare

6. Prelevare 7. Fine

risolutiva

Ora abbiamo a disposizione tutti gli elementi per poter comprendere il concetto
di algoritmo.

272 Sezione D Algoritmi e linguaggi di programmazione


3 Il concetto di algoritmo Lo sai?
Un procedimento risolutivo di un problema è un algoritmo quando può essere
descritto per mezzo di un insieme finito di azioni elementari univocamente Il termine algoritmo
interpretabili e definite, che formano una successione ordinata e finita di deriva dal nome del
matematico arabo
passi, la cui esecuzione si arresta per fornire i risultati del problema partendo del IX secolo Abu
dai valori assunti dai dati iniziali. Ja’far Mohammed Ibn
Musa al-Kowarizm (in
arabo significa “padre
Le caratteristiche fondamentali di un algoritmo di Ja’far, Maometto,
fglio di Mosè, nativo
Affinché si possa parlare di algoritmo è necessario che vengano rispettate le carat- di Kowarizm”; e
teristiche fondamentali viste in precedenza. Un algoritmo deve essere: Kowarizm è il nome
dell’odierna città russa
• finito: la strategia risolutiva descritta dall’algoritmo deve essere composta da Khiva). Nell’anno 825
questo personaggio
un numero finito di azioni elementari. L’algoritmo, inoltre, deve prevedere un pubblicò due opere:
solo inizio e una sola fine; una di aritmetica e
• univoco o non ambiguo o preciso: ogni azione deve essere definita nei suoi una intitolata Kitab
Al-jabr Wal Muqabala.
effetti rigorosamente e senza ambiguità per l’esecutore;
Dalla parte centrale
• generale: deve essere valido non solo per un particolare problema, ma per tut- di quest’ultimo titolo
ti i problemi di una stessa classe; ebbe origine il termine
• completo: deve considerare tutti i casi possibili che si possono verificare algebra, mentre il
termine algoritmo
durante l’esecuzione e, per ogni caso, indicare la strada da seguire; deriva da modifiche e
• osservabile nei risultati: deve esserci riscontro oggettivo del risultato. adattamenti del nome
Nell’esempio del problema “cucinare la pasta” otteniamo della pasta da del matematico.
mangiare;
• deterministico: a ogni unità finita di tempo l’esecutore deve scegliere e com-
piere una e una sola azione. Si dice anche che, partendo dagli stessi dati ini-
ziali, l’esecuzione dell’algoritmo deve fornire sempre gli stessi risultati finali.

L’efficienza di un algoritmo
PERSONAGGI
Come abbiamo già visto, per la risoluzione di un problema è possibile trovare di-
verse strategie risolutive alle quali corrispondono altrettanti algoritmi. Il parame-
tro che consente di preferire una strategia, e quindi un algoritmo, rispetto a un’al-
tra è l’efficienza.
Un algoritmo si dice efficiente quando:
• è corretto, cioè produce il risultato atteso; Leonardo da Pisa,
• è veloce in termini di tempo impiegato per produrre il risultato; un grande matematico
• è parsimonioso in termini di risorse utilizzate per produrre il risultato. vissuto intorno agli inizi
del XIII secolo e noto
Ora riconsideriamo il problema (e l’algoritmo) del “prelievo dal bancomat”. Le con il soprannome di
azioni descritte in quel semplice algoritmo sono perfettamente applicabili se: Fibonacci, riferendosi
alle scoperte del
• il bancomat funziona correttamente; matematico arabo
• il codice segreto viene inserito correttamente. Abu Ja’far Mohammed
ibn Musa al-Kowarizm
In altre parole, l’algoritmo che descrive la soluzione del problema non è completo! era solito semplificare
Trasformiamolo, allora, nel modo riportato di seguito. Per semplicità supponiamo il suo nome in:
che, in caso di inserimento errato del codice segreto, il bancomat non consenta di “algoritmo diceva
che...”.
digitarlo di nuovo.

Dal problema all’algoritmo D2 273


L’algoritmo completo per risolvere il problema “Prelievo dal bancomat”
1. Verificare che il bancomat
funzioni correttamente
Non è in servizio È in servizio

9. Cercare un altro bancomat 2. Introdurre la carta nel lettore

3. Digitare il codice segreto

4. Verificare che il codice


sia corretto
Non è corretto È corretto

8. Operazione terminata 5. Digitare l’importo da prelevare

6. Prelevare le banconote

7. Ritirare la carta dal bancomat

4 Rappresentazione degli algoritmi


Per rappresentare un algoritmo possiamo ricorrere:
• al formalismo dei diagrammi a blocchi (detti anche DaB e flow-chart);
• al formalismo dello pseudolinguaggio (detto anche linguaggio di progetto).

I diagrammi a blocchi
Un diagramma a blocchi è una descrizione grafica di un algoritmo, realizzata me-
diante appositi simboli, che mette in evidenza il flusso di esecuzione delle istruzio-
ni utilizzando i simboli riportati nella seguente tabella.

Il simbolo indica nei diagrammi a blocchi

INIZIO l’inizio dell’algoritmo.

FINE la fne dell’algoritmo.

un’azione o un blocco di azione.

l’ordine in cui eseguire i vari passi.

una condizione che può essere vera o falsa.

I
la possibilità di inserire (input) un valore all’interno dell’algoritmo.

O
la possibilità di produrre (output) informazioni e/o risultati
rivolti all’esterno.

274 Sezione D Algoritmi e linguaggi di programmazione


Per usare correttamente questi simboli occorre tenere presen-
te che:
INIZIO
• all’inizio si può seguire una sola direzione e alla fine si può
FINE
giungere da un’unica strada:

I O
• un blocco di azione, di input o di output ha una sola frec-
cia che vi arriva e una sola che parte da esso;

• solo il simbolo della condizione prevede due frecce in usci-


ta, ma ne ha sempre solo una in entrata:

Lo pseudolinguaggio
Per indicare le azioni, negli algoritmi analizzati finora abbiamo utilizzato la lin-
gua italiana, un linguaggio naturale. Questo tipo di linguaggio, però, pur essen-
do molto utile per chiarire le idee sul problema, non si presta bene a una precisa
descrizione dell’algoritmo, poiché prevede sinonimi, ambiguità e, talvolta, anche
eccezioni, metafore, allegorie.
Se dobbiamo affermare che uno studente è molto volenteroso, possiamo anche
Lo sai?
utilizzare gli aggettivi: zelante, operoso, attivo, alacre, sollecito, dinamico, solerte
e così via. Inoltre, se proviamo a leggere la frase:
Non esiste uno
“Ieri sera ho visto Riccardo con un conoscente” pseudolinguaggio
standard e
vediamo che può essere interpretata in due modi diversi. Vale a dire: convenzionalmente
“Ieri sera ho visto Riccardo che era in compagnia di un conoscente” usato: gli autori
definiscono
oppure: spesso un proprio
pseudolinguaggio
“Ieri sera ho visto Riccardo mentre ero in compagnia di un conoscente”. che utilizzano nelle
loro pubblicazioni,
Un altro esempio di ambiguità è dato dalle istruzioni: inoltre ciascun
programmatore
• prendere una pentola adeguata può essere portato
• aggiungere dell’acqua nella pentola a utilizzare una
propria variante. Ogni
che abbiamo visto all’inizio di questa unità esaminando la strategia risolutiva del pseudolinguaggio ha
problema “Cucinare la pasta asciutta per la propria famiglia”. un proprio lessico, una
propria sintassi e una
propria semantica,
Lo pseudolinguaggio è un linguaggio formale, ossia un linguaggio che utilizza ma la progettazione
simboli ai quali corrisponde uno e un solo significato in qualsiasi contesto. La di questo tipo di
descrizione formale dell’algoritmo in pseudolinguaggio si dice pseudocodice. formalismo è volta alla
comprensibilità e alla
L’attività di scrittura dello pseudocodice prende il nome di pseudocodifica. leggibilità del codice;
la sintassi sarà quindi
Scopo principale della pseudocodifica è portare il risolutore a esprimere le proprie meno rigorosa rispetto
a un vero linguaggio
istruzioni in una forma naturale, utilizzando frasi ed espressioni elementari della e le parole chiave
lingua italiana. Ciò permette di concentrarsi sulla risoluzione logica del problema, saranno evocative,
invece che sulla forma e sui vincoli da rispettare nella sua enunciazione. in modo da rendere
più intuitiva la sua
Nel seguito riportiamo alcune delle principali regole da tenere presenti durante interpretazione.
l’utilizzo dello pseudolinguaggio.

Dal problema all’algoritmo D2 275


Regole principali per l’utilizzo dello pseudolinguaggio
Regola dello pseudolinguaggio Esempio
Le parole chiave o parole riservate sono scritte in maiuscolo e SCRIVI
non possono essere impiegate per altri usi. I verbi all’imperativo LEGGI
sono usati solo per evidenziare l’ordine che il programmatore ESEGUI
impone all’esecutore.
I nomi assegnati ai dati composti da una sola lettera sono scritti A
in maiuscolo K
I nomi composti invece da più caratteri sono scritti con la sola Somma
iniziale maiuscola e rigorosamente senza spazi Totale
Contatore

Il simbolo di assegnamento fra dati e/o espressioni è ← A ← K (corrisponde a A=K)


B ← A + C (corrisponde a B = A + C)
Per scrivere un messaggio in output si usa l’istruzione SCRIVI, cui SCRIVI(“Ciao a tutti”)
segue tra parentesi il testo del messaggio posto rigorosamente tra
doppi apici
Per visualizzare a schermo una variabile si usa l’istruzione SCRIVI, SCRIVI(Totale)
cui segue tra parentesi la variabile SCRIVI(K)
Per visualizzare contemporaneamente un messaggio e il valore di SCRIVI(“La somma è pari a ”, Somma)
una variabile si usa l’istruzione SCRIVI, al cui interno si inserisce SCRIVI(“La media calcolata è ”, Media)
il messaggio racchiuso tra doppi apici seguito da una virgola e dal
O addirittura unire il tutto e formare un’unica
nome della variabile.
istruzione di output:
SCRIVI(“La somma è pari a ”, Somma, “ e la
media calcolata è ”, Media)
Per inserire un valore (input) all’interno di una variabile si utilizza LEGGI(A)
l’istruzione LEGGI, cui seguono tra parentesi i dati che indicano LEGGI(B)
il valore. Anche in questo caso è possibile acquisire più valori
Oppure:
all’interno di un’unica istruzione di input separati dalla virgola
LEGGI(A, B)
Il simbolo // è utilizzato per inserire i commenti per le varie istru- SCRIVI(X) // SCRIVI è l’istruzione di output
zioni. I commenti verranno ignorati dall’esecutore, ma sono utili
per la comprensione dell’algoritmo.

Lo pseudolinguaggio, quindi, viene usato per esprimere con chiarezza e semplicità


la soluzione logica di un problema di elaborazione dati. Di per sé non può essere im-
messo direttamente in un calcolatore per essere eseguito; deve prima essere tradot-
to in un codice scritto in un linguaggio di programmazione che possa essere inter-
pretato dal computer (per esempio il linguaggio C o C++, il linguaggio Java o altri).

5 Rappresentazione di variabili e costanti


Consideriamo il seguente problema di tipo matematico.
Problema
“Calcolare e visualizzare l’area della superficie di un triangolo.”
Procediamo alla sua risoluzione, servendoci della descrizione della strategia riso-
lutiva in italiano, corredandola dell’analisi.

276 Sezione D Algoritmi e linguaggi di programmazione


Analisi
L’area di un triangolo si ottiene moltiplicando la misura della base per quella
dell’altezza e dividendo il prodotto ottenuto per due. Per risolvere il problema è
necessario conoscere, pertanto, le due misure.
Dati inziali Dati fnali

Base: misura della base del triangolo


Area: misura dell’area del triangolo
Altezza: misura dell’altezza del triangolo

Strategia risolutiva
1. Inizio 2. Acquisisci in 3. Acquisisci in 4. Moltiplica il valore di Base per il

5. Comunica 6. Fine

di Area risolutiva

Base, Altezza e Area individuano tre variabili.

Variabili e tipi di dati


Il concetto di variabile è utilizzato in molti problemi, tipicamente nei problemi
matematici. È quindi un concetto molto importante anche nell’informatica. Pos-
siamo pensare a una variabile come a un contenitore aperto, all’interno del quale
è possibile inserire dei valori e sostituirli con altri dello stesso tipo.

Una variabile è un contenitore di un particolare dato il cui contenuto può esse-


re modificato durante l’esecuzione del procedimento risolutivo.

La variabile è caratterizzata da:


• un nome che identifica univocamente la cella di memoria e, quindi, il dato in
essa contenuto (per esempio: Base); è buona norma utilizzare nomi che con-
sentano di richiamare immediatamente il significato della variabile;
• un valore che il dato può assumere (per esempio: 10);
• un tipo, cioè l’insieme di valori che il dato può assumere, per esempio valori
interi (l’operazione che definisce il tipo di dato di una variabile prende il nome
di tipizzazione o dichiarazione).

Un tipo di dato è un’entità caratterizzata dai seguenti elementi:


– un insieme X di valori che rappresenta il dominio del tipo di dato;
– un insieme di operazioni su X.

Nel nostro esempio la variabile Base è individuata dalla terna (Base, 10, INTERO),
dove: Base è il nome, 10 è il valore, INTERO è il tipo.

Dal problema all’algoritmo D2 277


I tre aspetti di una variabile
Ricorda
Nome Valore Tipo

In base agli oggetti


che rappresentano, i
dati si classificano in (Base, 10, INTERO)
generale come segue:
• numerici: È molto importante specificare il tipo delle variabili. All’interno dell’algoritmo lo
sono quelli che
contengono indicheremo sempre specificandolo in maiuscolo. Oltre al tipo INTERO possiamo
numeri (la misura avere il tipo REALE, per i valori numerici con la virgola, il tipo BOOLEANO, che
dell’altezza, rappresenta solo due valori (o VERO o FALSO), il tipo CARATTERE, che identifica
dell’area, la
costante 2, la un semplice carattere, il tipo STRINGA, che contiene una serie di caratteri la cui
costante 127,78) lunghezza è stabilita fra parentesi tonde; ad esempio, STRINGA(30) indica che la
e che possono lunghezza può essere al massimo di 30 caratteri.
essere utilizzati
per effettuare
le operazioni Penseremo alla costante, invece, come a un contenitore a cui è associato un
matematiche. Sono, identificatore e un valore che non può essere modificato, nel senso che potrà
quindi, astrazioni
dei corrispondenti
essere utilizzato ma non modificato, rimanendo così fisso per tutta l’esecuzione
insiemi di numeri del procedimento risolutivo. Una costante ha, quindi, un valore statico predefi-
della matematica; nito. Un esempio di costante è il valore π.
• alfanumerici (detti
anche stringhe):
sono dati che Lo pseudolinguaggio che utilizzeremo in questo corso prevede che le risorse uti-
contengono caratteri lizzate nell’algoritmo debbano essere scritte in maiuscolo se composte da una sola
(cifre, lettere
dell’alfabeto, segni
lettera (ad esempio A, K), con l’iniziale maiuscola se composte da più caratteri (ad
di interpunzione, esempio Somma, Totale) e senza spazi. Inoltre scriveremo gli identificatori delle
caratteri speciali). costanti interamente in maiuscolo e senza spazi. Pertanto:
Possono anche
essere formati da • PIGRECO, MASSIMO, MINIMO sono tutti identificatori di costanti;
sole cifre, ma su di • Somma, Media, NumeroMax sono identificatori di variabili.
essi non è possibile
effettuare calcoli Al fine di evitare confusione, utilizzeremo nomi di una sola lettera solo per indica-
matematici (per re variabili.
esempio, che senso
avrebbe sommare Variabili e costanti sono normalmente rappresentate come contenitori adibiti a
due numeri contenere temporaneamente (cioè per tutto il corso dell’esecuzione dell’algorit-
telefonici?). Esempi mo) determinati valori.
di dati alfanumerici
sono, pertanto, il
numero di codice
fiscale, il nome di
un cliente, il CAP, la
parola “Appennino”,
il carattere ‘A’ e così
via.
Variabile Costante

Classificazioni dei dati


Variabili e costanti, quindi, sono utilizzati per rappresentare dati, i quali all’inter-
no dell’algoritmo sono classificati sulla base del loro aspetto funzionale:
• dati di input: sono quelli che vengono forniti dall’esterno e servono per la riso-
luzione del problema (ad esempio il valore della Base e dell’Altezza);

278 Sezione D Algoritmi e linguaggi di programmazione


• dati di output: sono quelli che vengono comunicati all’esterno come soluzio-
ne del problema (per esempio il valore dell’Area);
• dati di lavoro (o dati intermedi): sono quelli che vengono utilizzati durante
l’esecuzione del processo risolutivo.

6 Espressioni e loro valutazione


Un’espressione è un costrutto che combina uno o più valori (ad esempio varia- Rifetti
bili e/o costanti), utilizzando operatori. Le operazioni sono interpretate (valu-
tate) secondo particolari regole di precedenza e di associazione, producendo È il singolo linguaggio
un valore. L’ordine di precedenza tra operatori può normalmente essere modifi- di programmazione
cato mediante l’utilizzo di parentesi. che stabilisce le regole
di un’espressione.

Il processo di valutazione di un’espressione


Immaginiamo di dover calcolare il volume di una piramide: occorre moltiplicare il
valore dell’area della base (AreaBase) per il valore dell’Altezza e dividere il risultato
per tre. Si utilizza quindi l’espressione matematica:
• AreaBase * Altezza / 3
In questa espressione:
• AreaBase, Altezza e 3 sono operandi;
• * e / sono operatori.
Quando un esecutore considera un’espressione che contiene più operatori, per
calcolarne il valore deve stabilire l’ordine di esecuzione dei vari operatori e poi
eseguire i calcoli veri e propri. Questo processo prende il nome di processo di valu-
tazione e l’esecutore prende il nome di valutatore.

Nel processo di valutazione si stabilisce dapprima l’ordine di esecuzione dei


vari operatori, cioè in quale ordine gli operatori presenti devono essere applicati
agli operandi dell’espressione, e poi si eseguono le operazioni.

Si parla di precedenza degli operatori intendendo che ogni operatore ha la sua


priorità e, quindi, può avere o meno precedenza rispetto a un altro operatore. Per
calcolare il valore della nostra espressione potremmo prima moltiplicare il valore
di AreaBase per quello di Altezza (cioè associare * ad AreaBase e ad Altezza) e poi
dividere il prodotto per 3. È come se utilizzassimo le parentesi tonde nel seguente
modo:
(AreaBase * Altezza) / 3
In alternativa, potremmo dividere il valore di Altezza per 3 (cioè associare / ad
Altezza e al 3) e poi moltiplicare il tutto per il valore di AreaBase. È come se utiliz-
zassimo le parentesi tonde nel seguente modo:
AreaBase * (Altezza / 3)

Dal problema all’algoritmo D2 279


Il risultato in matematica non cambierebbe. Questo invece non è vero in informa-
tica, per i motivi precedentemente esposti di finitezza delle rappresentazioni. Per
esempio, se Altezza = 1 e AreaBase = 6 avremo che AreaBase * (Altezza / 3) = 6 *
0,333 = 1,999998, mentre (AreaBase * Altezza) / 3 = 6 / 3 = 2.
Quindi:
(AreaBase * Altezza ) / 3 ≠ AreaBase * (Altezza / 3)
Consideriamo, ora, l’espressione:
Base + Altezza / 2
Poiché gli operatori + e / hanno differenti priorità (/ ha priorità maggiore, cioè
viene associato per primo), vi è differenza se associamo prima l’operatore + alla
Base e all’Altezza e poi dividiamo per 2, oppure se prima associamo l’operatore /
all’Altezza e al 2 e poi aggiungiamo la Base. Pertanto:
(Base + Altezza) / 2 ≠ Base + (Altezza / 2)
Inserendo opportunamente le parentesi, forziamo l’esecutore a valutare l’espres-
sione esattamente come desideriamo.

L’ambiente di valutazione delle espressioni


Prendiamo in esame l’espressione:
(Base * Altezza) / 2
Sappiamo che l’ordine di valutazione è stabilito dalla priorità degli operatori * e /
che, in questo caso, è la stessa. Per calcolare il risultato, occorre attribuire i valori
alle variabili in gioco. Supponiamo che la variabile Base abbia un valore intero
pari a 10 e la variabile Altezza un valore intero pari a 30. Formalmente, potremmo
definire un insieme così strutturato:

Nome Valore Tipo

{(Base, 10, INTERO), (Altezza, 30, INTERO)}

Il valore dell’espressione è, pertanto, 150 (quindi di tipo intero). Alla luce di queste
considerazioni possiamo affermare quanto segue.

L’insieme delle terne:


{(NomeVariabile1, Valore1, Tipo1), (NomeVariabile2, Valore2, Tipo2), ...,
(NomeVariabileN, ValoreN, TipoN)}
utilizzato per valutare un’espressione costituisce il suo ambiente di valutazione.

280 Sezione D Algoritmi e linguaggi di programmazione


Nella valutazione di una generica espressione, occorre, quindi, tenere conto del
suo ambiente di valutazione.
Consideriamo l’espressione:
A+B*7
In base all’ordine stabilito dalla priorità degli operatori, tale espressione viene va-
lutata come se fosse:
A + (B * 7)
e vale:
• 31 se valutata nell’ambiente: {(A, 3, INTERO), (B, 4, INTERO)};
• 19 se valutata nell’ambiente: {(A, 5, INTERO), (B, 2, INTERO)};
• 8 se valutata nell’ambiente: {(A, 1, INTERO), (B, 1, INTERO)}.

Ambiente di valutazione
{(A, 3, INTERO), (B, 4, INTERO)}

Espressione Valore
Valutatore
A+B*7 dell’espressione: 31

Priorità e proprietà
degli operatori

Dal problema all’algoritmo D2 281


RIPASSIAMO INSIEME
MAPPA
DAL PROBLEMA ALL’ALGORITMO MODIFICABILE

L’algoritmo è un procedimento risolutivo di un problema formato da


un insieme finito di azioni elementari univocamente interpretabili.
Le azioni devono formare una successione ordinata e finita di passi
che, partendo dai valori assunti dai dati iniziali, si arresta per
fornire i risultati del problema.

La strategia Il diagramma a blocchi Lo pseudocodice


risolutiva prevede (DaB) rappresenta descrive un algoritmo
l’individuazione dei graficamente, in pseudolinguaggio.
dati iniziali, l’elenco attraverso dei simboli
delle azioni da convenzionali, la
eseguire e la verifica sequenza delle
dei dati finali. istruzioni da eseguire.

Una variabile è un identificatore


Un’azione è un evento di a cui è associato un insieme
cui sono noti il soggetto prefissato di possibili valori che
(esecutore), l’oggetto, o gli ne definiscono il tipo.
oggetti, su cui l’esecutore
deve agire e la trasformazione
prodotta su di essi in un’unità
finita di tempo. A una costante è associato un
un valore che non può essere
modificato nel corso di un
procedimento risolutivo.

Un’istruzione è
un’azione che
non può essere
scomposta in altre
azioni più semplici.

282 Sezione D Algoritmi e linguaggi di programmazione


D2
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Un algoritmo definisce una sequenza di azioni


non necessariamente ordinata (A) ............................... ☐ V ☐ F

2) Un’istruzione corrisponde a una o più azioni (D) .. ☐ V ☐ F

3) Il diagramma a blocchi rappresenta graficamente


la sequenza di istruzioni da eseguire per risolvere
un problema (E) .................................................................. ☐ V ☐ F

4) Il valore di una variabile non può essere


modificato durante l’esecuzione di un
procedimento risolutivo (F) ........................................... ☐ V ☐ F

5) Lo pseudocodice rappresenta solo i problemi


matematici (H) .................................................................... ☐ V ☐ F

6) Una costante può contenere un valore che varia durante


l’esecuzione di un procedimento risolutivo (G) ...... ☐ V ☐ F

Completa le affermazioni seguenti.

7) La strategia risolutiva di un problema prevede l’individuazione


dei ..................... iniziali, l’elenco delle .............................. da
eseguire e la verifica dei dati …………………………… (B)

8) Un’istruzione corrisponde a un’ …...........……… che non può essere


scomposta in altre .......................... più semplici (D)

9) Una ………………………contiene un valore che non può essere


modificato nel corso di un procedimento risolutivo (G)

10) La descrizione formale di un algoritmo in pseudolinguaggio


si chiama …………………………… (H)

11) Nel …..............…………….. a ……………….. le istruzioni sono


rappresentate attraverso particolari simboli grafici (E)

Dal problema all’algoritmo D2 283


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo D2
Risposta singola 9 Al termine dell’esecuzione del seguente blocco
1 Un’azione elementare: Ao0
AoA*8
A può essere scomposta in azioni basilari
B non può essere scomposta in azioni più semplici la variabile A contiene il valore:
C è anche detta operazione A 0 B 40 C 15
D non è compresa in modo univoco dall’esecutore D non si sa, poiché non è noto il valore che aveva la
variabile A prima dell’esecuzione dell’istruzione
2 Il problema: “Determinare il volume di una
piramide quadrata di altezza 12,4 cm”: 10 La variabile A vale 3 e la variabile B vale 2.
Stabilisci quale valore assume la variabile C dopo
A non può essere risolto, poiché non sono
l’esecuzione dell’istruzione:
esplicitamente definiti i risultati richiesti
B non può essere risolto, poiché non è scindibile in CoA+B–3
azioni elementari A –2 B 0 C 1 D 2
C non può essere risolto, poiché non è presente un 11 La variabile A vale 3 e la variabile B vale 2.
dato significativo Stabilisci quale valore assume la variabile C dopo
D può essere risolto in un numero finito di azioni l’esecuzione del seguente blocco:
elementari
Co2
E nessuna delle precedenti affermazioni è corretta CoA+B–3
3 Quale tra le seguenti non è una caratteristica A –2 B 0 C 1 D 2
degli algoritmi?
A finitezza B generalità
C completezza D razionalità
Vero o falso
4 La caratteristica della non ambiguità di un 12 il tipo di dato è definito esclusivamente in funzione
algoritmo fa riferimento al fatto che: del valore che il dato stesso può assumere V F

A un algoritmo deve essere valido per tutti i problemi 13 i dati numerici sono per forza senza
di una classe decimali V F
B ogni azione deve essere rigorosamente definita 14 il peso specifico dell’acqua
nei suoi effetti è rappresentato con una variabile V F
C a ogni unità finita di tempo l’esecutore deve
scegliere e compiere una e una sola azione 15 il linguaggio dei diagrammi a blocchi viene
utilizzato per descrivere un algoritmo V F
D la strategia risolutiva descritta dall’algoritmo deve
essere composta da un numero finito di azioni 16 linguaggio di progetto e pseudolinguaggio
5 L’operazione che definisce il tipo di dato di una sono sinonimi V F
variabile prende il nome di: 17 il numero dei mesi dell’anno può essere
A assegnazione B inizializzazione memorizzato all’interno di una costante V F
C tipizzazione D dichiarazione 18 l’indirizzo di un’abitazione
6 I dati alfanumerici sono anche detti: è di tipo stringa V F
A costanti B stringhe 19 il numero di telefono di un amico
C booleani D reali è di tipo stringa V F
7 Una sequenza di caratteri prende il nome di:
A alfanumerica B stringa
C variabile D costante Completamento
8 Al termine dell’esecuzione dell’istruzione: 20 Completa la seguente frase:
A o A * 8 la variabile A contiene il valore: Un ___________ deve essere ________________
A 0 B 40 C 15 cioè deve terminare e le sue istruzioni devono
D non si sa, poiché non è noto il valore che aveva la essere non _____________ in quanto non devono
variabile A prima dell’esecuzione dell’istruzione lasciare adito ad __________________.

284 Sezione D Algoritmi e linguaggi di programmazione


Allena le tue ABILITÀ
e le tue COMPETENZE D2
ABILITÀ 4 Date le variabili A = 5, B = 10, C = 12 qual è il
risultato delle seguenti assegnazioni?
1 Dato il seguente ambiente di valutazione:
C o A ________________
(A,10), (B, 20), (C, 15)
A o B ________________
qual è il nuovo ambiente di valutazione nei
B o C ________________
seguenti casi?
a) A o 10 * B 5 Scrivi gli algoritmi risolutivi dei seguenti
b) AoA*B problemi:
c) C o A + 10 * B • risolvi l’equazione di primo grado ax = b
d) A o A + 10 * B
e) BoA
• calcola l’area e la misura di una circonferenza
noto il raggio
f) AoA
6 Valuta la seguente espressione e completa la
2 Scrivi accanto a ogni identificatore se può essere tabella:
dichiarato come costante o variabile:
Espressione: A o X / Y
Pigreco
AltezzaTriangolo Ambiente di valutazione Valore fnale
PesoPersona
(X,10,INTERO) (Y,2,INTERO) (A,____, INTERO)
PesoSpecificoAcqua
(X,10,_______) (Y,2.5,_______) (A,____, _______)
Età
(X,66,INTERO) (Y,10,________) (A,____, _______)
EtàMaggiorenne
(X,50.6,_________) (Y,2.3,INTERO) (A,____, INTERO)
3 Per i seguenti esercizi:
(X,_______,________) (Y,12 ,_______) (A,____, _______)
• individua le costanti e le variabili
• individua i dati in input e in output COMPETENZE
• descrivi l’evoluzione dell’ambiente di valutazione
7 Scrivi gli algoritmi risolutivi dei seguenti
• riporta la strategia risolutiva problemi:
a) Calcola il doppio di un numero fornito in input
b) Scambia il contenuto di due variabili
• calcola il doppio di un numero fornito in input
c) Calcola la misura dell’ipotenusa di un triangolo • scambia il contenuto di due variabili
rettangolo noti i cateti • calcola la misura dell’ipotenusa di un triangolo
d) Ottieni una bibita da un distributore automatico rettangolo noti i cateti
e) Prepara un piatto di spaghetti al sugo • calcola l’area di un rettangolo note le misure della
f) Scatta una fotografia base e dell’altezza
g) Travasa un contenitore d’acqua in 30 bottiglie da 8 Stabilisci dati iniziali, strategia risolutiva e dati
un litro finali del problema fare il caffè con la moka.
h) Aggiorna l’orario di un orologio digitale
i) Aggiorna la data di un orologio digitale 9 Stabilisci dati iniziali, strategia risolutiva e dati
finali del problema salvare un file su una USB.
j) Cambia un pneumatico (forato) di un’auto
k) Sintonizzati sul programma televisivo di tuo 10 Stabilisci dati iniziali, strategia risolutiva e dati
interesse finali del problema farcire il panino.
l) Registra dalla radio una canzone con il registratore
11 Stabilisci dati iniziali, strategia risolutiva e dati
finali del problema catturare un pokemon.

Dal problema all’algoritmo D2 285


D3 Costruiamo algoritmi con la
programmazione strutturata
LABORATORI “CASE STUDIES”
Approfondisci con i casi pratici

ESERCIZI COMMENTATI
Segui la risoluzione passo passo
IMPARERAI…

Quali tipi di istruzioni Che cos’è la Come si formalizza Che cos’è


sono presenti programmazione ogni istruzione con un l’algebra di Boole
in un algoritmo strutturata diagramma a blocchi e e che ruolo svolge
con lo pseudolinguaggio nell’informatica

1 Le istruzioni di un algoritmo:
classificazione per tipo
Le istruzioni presenti in un algoritmo possono essere classificate in base al loro
tipo o comportamento. In generale possiamo suddividerle in istruzioni di inizio e
fine, istruzioni operative e istruzioni di controllo.
ISTRUZIONI

Di inizio e di fine Operative Di controllo

Input Output Sequenza Iterazione

Assegnazione Selezione

Nei paragrafi seguenti riporteremo per ogni tipo di istruzione la specifica dell’at-
tività eseguita e la formalizzazione secondo il simbolismo dei diagrammi a
blocchi e dello pseudolinguaggio.

2 Le istruzioni di inizio e fine


e le istruzioni operative
Le istruzioni di inizio e fine
Abbiamo visto che un algoritmo deve prevedere un solo inizio e una sola fine che
indicano, rispettivamente, quale istruzione dell’algoritmo debba essere eseguita
inizialmente e quale determini la fine dell’esecuzione.

286 Sezione D Algoritmi e linguaggi di programmazione


Diagramma a blocchi Pseudolinguaggio

INIZIO Ricorda
<NomeAlgoritmo>
ALGORITMO <NomeAlgoritmo>
INIZIO Per descrivere
... la sintassi di un
linguaggio formale ci
FINE si serve generalmente
FINE di un metalinguaggio:
la BNF (Backus-
Naur Form o Forma
Normale di Backus).
Per rendere lo studio
Le istruzioni operative semplice ed efficace,
nella nostra trattazione
Le istruzioni operative sono quelle che corrispondono ad azioni direttamente impiegheremo
eseguibili dall’esecutore e servono per acquisire i dati iniziali, effettuare le elabo- solo alcuni simboli
razioni e comunicare i risultati finali. Si classificano in istruzioni di assegnazio- propri della BNF e
pochissime regole. In
ne, di input e di output. particolare:
– le parole chiave del
linguaggio saranno
L’istruzione di assegnazione scritte in grassetto;
– le parole racchiuse
Per attribuire un valore a una variabile facciamo uso dell’istruzione di assegna- tra parentesi
zione (o assegnamento), caratterizzata dall’operatore binario identificato dal angolari (< >)
simbolo ←. L’istruzione di assegnazione ha due termini: uno a sinistra e uno a de- rappresentano
stra del simbolo ←. Il termine di sinistra (LValue) è sempre il nome di una variabile le categorie
sintattiche, ossia
o di una costante, mentre quello di destra (RValue) può essere una costante, una elementi generali
variabile o, più in generale, un’espressione. del linguaggio che
saranno sostituiti
Sintassi dell’istruzione operativa di assegnazione con opportune
occorrenze. Per
Diagramma a blocchi Pseudolinguaggio esempio, se A, B e
C sono tre variabili,
istruzioni valide che
rispettano la sintassi
<Variabile> ← <Espressione> <Variabile> ← <Espressione> <Nome Variabile> =
<Espressione> sono
A = C 1 2*D
oppure
C = 0 oppure
A = C ecc.;
L’assegnazione viene eseguita se il risultato della valutazione di <Espressione>, posta – i blocchi racchiusi
a destra dell’operatore ←, appartiene all’insieme dei possibili valori che può assume- tra parentesi quadre
re la <Variabile> posta a sinistra di ←, altrimenti l’assegnazione non viene effettuata. ([ ]) indicano
l’opzionalità, ossia
Quando si dichiara una variabile, viene riservato dello spazio in memoria per po- che tali blocchi
tervi memorizzare un valore (numerico, carattere, stringa e così via). Di norma possono anche non
questo spazio in memoria viene fornito così com’è, senza “pulizia” (preceden- essere presenti;
– i blocchi racchiusi
temente può essere stato utilizzato da una o più variabili). Quindi, se abbiamo tra parentesi
dichiarato una variabile intera, non è detto che questa contenga per forza il valore graffe { } indicano
zero, anche se può capitare. È utile, perciò, dopo aver dichiarato una variabile, la possibilità di
ripetizione.
assegnarle un valore iniziale; tale operazione prende il nome di inizializzazione.
Inizializzare significa proprio “assegnare il primo valore” a una variabile non an-
cora usata. Dopo l’inizializzazione, in qualunque punto dell’algoritmo potremo
dire con certezza quanto vale la variabile.

Costruiamo algoritmi con la programmazione strutturata D3 287


La dichiarazione degli identificatori
Lo sai? All’interno di uno pseudocodice, l’utilizzo delle variabili e delle costanti deve es-
sere preceduto dalla loro dichiarazione.
Dichiarazione e
inizializzazione sono
Dichiarazione di una costante
due fasi distinte che Per dichiarare una costante occorre utilizzare la parola chiave COSTANTI segui-
in alcuni linguaggi ta dal nome della costante, dal simbolo ← e dal valore da assegnare:
possono essere
eseguite all’interno di
un’unica istruzione. Pseudolinguaggio Esempio

COSTANTI <Costante> ← <Valore> COSTANTI PIGRECO ← 3,14

Pertanto, la dichiarazione di una costante prevede necessariamente anche la sua


inizializzazione con un valore che rimarrà invariato nel corso dell’algoritmo.
Dichiarazione di una variabile
Per dichiarare una variabile occorre utilizzare la parola chiave VARIABILI se-
guita dall’identificatore della variabile, dal segno di due punti e dal tipo di ap-
partenenza. In una stessa istruzione di dichiarazione è possibile dichiarare più
variabili dello stesso tipo, separandole con una virgola:
Pseudolinguaggio Esempio
Lo sai?
VARIABILI Somma: INTERO
VARIABILI <Variabile>{,<Variabile>}:<Tipo>
VARIABILI Media, Tasso: REALE
I diagrammi a blocchi,
invece, non prevedono
la dichiarazione L’istruzione di input
preventiva degli
identificatori: una L’istruzione di input è un particolare tipo di istruzione di assegnazione: consente
variabile o costante di assegnare a una variabile un valore fornito dall’esterno, modificando di conse-
può essere utilizzata guenza l’ambiente di valutazione della variabile.
direttamente all’interno
di un’espressione o Sintassi dell’istruzione operativa di input
anche di un’istruzione
di input/output. Diagramma a blocchi Pseudolinguaggio

I
<Variabile>{,<Variabile>} LEGGI(<Variabile>{,<Variabile>})

L’istruzione di output
L’istruzione di output consente di comunicare un valore o un messaggio all’e-
sterno; non modifica in alcun modo l’ambiente di valutazione delle variabili.
Sintassi dell’istruzione operativa di output
Diagramma a blocchi Pseudolinguaggio

O
(<Messaggio>), (<Variabile>) SCRIVI([<Messaggio>]), ([<Variabile>])

288 Sezione D Algoritmi e linguaggi di programmazione


OSSERVA COME SI FA
1 L’istruzione di assegnazione.
Riprendiamo l’analogia scatola–variabile e riportiamo di seguito alcuni esempi utili per com-
prendere l’istruzione di assegnazione.
<Variabile> ← <Costante>
Assegniamo alla variabile Z il valore 0, alla variabile Cognome il valore Rossi e alla variabile
Lettera il valore A.

0 Rossi A
e era
Z nom Lett
Cog

La rappresentazione dell’assegnazione secondo il formalismo del diagramma a blocchi e dello


pseudolinguaggio è la seguente:

Diagramma a blocchi Pseudolinguaggio

VARIABILI
Z←0 Z: INTERO
Cognome: STRINGA(20)
Lettera: CARATTERE
Cognome ←“Rossi”
...
Z←0
Lettera ←‘A’ Cognome ← “Rossi”
Lettera ← ‘A’

Da notare che il valore stringa (cioè Rossi) deve essere racchiuso tra virgolette, mentre il valore
carattere (cioè A) va racchiuso tra apici singoli. Inoltre, quando si dichiara una variabile di tipo
stringa, è necessario specifcare tra parentesi quadre qual è la dimensione massima consenti-
ta (nel nostro caso 20 caratteri).
<Variabile> ← <Variabile>
Assegniamo alla variabile K il valore contenuto nella variabile A nell’ambiente {(K, 5, INTERO), (A,
8, INTERO)}. Ora vediamo grafcamente le condizioni delle variabili prima e dopo l’assegnazione.

Prima Dopo

5 8 8 8
K A K A

Diagramma a blocchi Pseudolinguaggio


VARIABILI
K, A: INTERO
K←A
...
K←A

Costruiamo algoritmi con la programmazione strutturata D3 289


La “scrittura” di una variabile, cioè l’assegnazione di un valore alla variabile stessa, rappresen-
ta un’operazione distruttiva: nel nostro caso, il vecchio valore della variabile K, cioè 5, viene
irrimediabilmente perso e sostituito con il nuovo valore, cioè 8, ceduto dalla variabile A. La “let-
tura” di una variabile, cioè il processo di valutazione, non è distruttiva: la variabile, nel nostro
caso A, continua a mantenere lo stesso valore, 8.
<Variabile> o <Espressione>
Assegniamo alla variabile K il risultato della somma dei valori contenuti nelle variabili P e Q
nell’ambiente {(K, 0, intero), (P, 8, intero), (Q, 6, intero)}.
Il processo di assegnazione è illustrato nella seguente fgura.

14 8 6
K P Q

14 = 8 + 6
Formalizzando, abbiamo:
Diagramma a blocchi Pseudolinguaggio
VARIABILI
K, P, Q: INTERO
KoP+Q
...
KoP+Q

Per eseguire l’istruzione si valuta l’espressione P + Q, recuperando i valori presenti in P e Q


e facendone la somma, poi si pone il risultato nella variabile K dopo avere eliminato il valore
precedentemente presente.
Dato che la valutazione di un’istruzione di assegnazione avviene “da destra verso sinistra”, è
possibile utilizzare istruzioni che assegnano una variabile a se stessa. Diamo uno sguardo
alle seguenti rappresentazioni:

Diagramma a blocchi Pseudolinguaggio


VARIABILI
K: INTERO
KoK+1
...
K o K +1

Supponiamo che il valore iniziale della variabile K sia 3. Si valuta l’espressione K + 1, recupe-
rando il valore di K (cioè 3) e sommandogli 1. Si pone il risultato nella variabile K eliminando il
valore precedentemente presente. Pertanto, il valore fnale della variabile K è 4.

2 Esempi di istruzioni di input.


Ora esaminiamo alcuni esempi di istruzioni operative di input. Supponiamo di voler acquisire in
input (dalla tastiera) il valore della variabile Lato. L’istruzione:

Diagramma a blocchi Pseudolinguaggio

I
Lato LEGGI(Lato)

290 Sezione D Algoritmi e linguaggi di programmazione


nell’ambiente {(Lato, ?, INTERO)} rappresenta l’ordine impartito all’esecutore di introdurre un
valore inserito dalla tastiera all’interno della variabile Lato.

5
LEGGI(Lato)
5
Quando il computer incontra l’istruzione
LEGGI, attende che l’utente inserisca Lato
un dato da tastiera
A digitazione avvenuta, confermata
dalla pressione del tasto Invio, il dato
viene trasferito nella variabile Lato

A input effettuato, il nuovo ambiente di valutazione sarà {(Lato, 5, INTERO)}.


Con una istruzione operativa di input è possibile acquisire il valore di più variabili. Per esempio,
l’istruzione:

Diagramma a blocchi Pseudolinguaggio

I
Base, Altezza LEGGI(Base, Altezza)

nell’ambiente {(Base, ?, INTERO), (Altezza, ?, INTERO)} rappresenta l’ordine impartito all’ese-


cutore di introdurre un valore inserito dalla tastiera all’interno della variabile Base e, dopo la
pressione del tasto Invio, di introdurre un valore nella variabile Altezza.

8
e
Bas
8
LEGGI(Base, Altezza)

Quando il computer incontra l’istruzione 9


LEGGI, attende che l’utente inserisca
due dati da tastiera
9
A digitazione avvenuta, confermata dalla pressione del
zza
tasto Invio, il dato viene trasferito nella variabile Base e Alte
il computer si pone nuovamente in attesa per permettere
all’utente di inserire il valore della variabile Altezza

3 Esempi di istruzioni di output.


Vediamo ora alcuni esempi di istruzioni di output. Supponiamo di voler “scrivere” un messaggio
sul monitor del computer. La sola cosa che occorre ricordare è che il messaggio in questione
deve essere racchiuso tra virgolette.

Diagramma a blocchi Pseudolinguaggio

“Ciao, come stai?” SCRIVI(“Ciao, come stai?”)

Costruiamo algoritmi con la programmazione strutturata D3 291


La precedente istruzione scrive sul monitor la frase Ciao, come stai? Vediamo in che modo
viene eseguita:

SCRIVI(“Ciao, come stai?”)


Ciao, come stai?
Quando il computer incontra questa
istruzione, visualizza sullo schermo quanto
racchiuso tra virgolette

Per scrivere sul monitor il contenuto di una variabile basta scrivere tra parentesi il suo nome.

Diagramma a blocchi Pseudolinguaggio

Lato SCRIVI(Lato)

Vediamo in che modo viene eseguita.

SCRIVI(Lato) 5
5
Quando il computer incontra l’istruzione
SCRIVI(Lato), accede alla locazione di Lato
memoria riservata alla variabile Lato e ne
visualizza il contenuto sul monitor

Ora supponiamo di voler scrivere sul monitor un messaggio e il contenuto di una variabile.
Occorre scrivere il messaggio racchiuso tra virgolette, seguito da una virgola e dal nome della
variabile.

Diagramma a blocchi Pseudolinguaggio

O
“Il lato misura
cm”, Lato SCRIVI(“Il lato misura cm”, Lato)

SCRIVI(“Il lato misura cm”, Lato) Il lato misura cm 5


5

Lato

292 Sezione D Algoritmi e linguaggi di programmazione


3 Le strutture di controllo
Le strutture di controllo consentono di scegliere percorsi differenti durante l’e-
secuzione in funzione del verificarsi o meno di determinate condizioni. Si suddi- Rifetti
vidono in strutture di sequenza, di selezione e di iterazione.
L’applicazione di tale
La programmazione strutturata e il teorema di Böhm-Jacopini regola fa in modo
che ciascun blocco
Le strutture di controllo sono gli strumenti fondamentali per un metodo di strut- sia isolato dagli
turazione degli algoritmi che ha l’obiettivo di rendere più facile la loro costruzio- altri, nel senso che
non è possibile, per
ne, la loro lettura e la loro eventuale modifica. esempio, saltare
Tale metodologia di programmazione, che prende il nome di programmazione dall’interno di uno
strutturata, considera un algoritmo come un insieme di blocchi di istruzioni, all’interno di un altro.
Esso, cioè, impedisce
ognuno fornito di un solo ingresso e di una sola uscita e organizzati tra di loro di usare l’istruzione
secondo le tre istruzioni di controllo. A tale proposito, due matematici italiani, del tipo VAI A..., che
Corrado Böhm e Giuseppe Jacopini, nel 1966 enunciarono il seguente teorema: contraddistingue
la programmazione
chiamata a salti, molto
Teorema di Böhm-Jacopini: qualunque algoritmo può essere realizzato utiliz- utilizzata agli albori
zando i soli costrutti sintattici fondamentali: sequenza, selezione e iterazione. della programmazione.

Sequenza Selezione Iterazione

4 La sequenza Ricorda
La sequenza è la più semplice fra le tre strutture di controllo fondamentali. Si
utilizza quando le azioni devono essere eseguite ordinatamente una dopo l’altra B1, B2 e BN possono
senza alcuna possibilità di scelta. Le istruzioni vengono scritte una dopo l’altra, e essere blocchi
verranno poi eseguite una dopo l’altra nell’ordine con cui sono scritte. semplici o composti.
Un blocco semplice
In generale tale costrutto si rappresenta nel seguente modo: è, ad esempio,
un’istruzione di
Sintassi del costrutto sequenza assegnazione, di
I/O o una delle
Diagramma a blocchi Pseudolinguaggio altre istruzioni
fondamentali. Un
<B1> INIZIO blocco composto è un
<B1> insieme di più blocchi
semplici. In base a
<B2>
<B2> quest’ultimo concetto,
... anche un intero
<BN> algoritmo strutturato
<BN> FINE è una struttura
sequenziale.

Costruiamo algoritmi con la programmazione strutturata D3 293


OSSERVA COME SI FA
1 Scambiare il contenuto di due variabili A e B.
A prima vista la soluzione immediata sembrerebbe:
■ prendi il contenuto di B e mettilo in A;
■ prendi il contenuto di A e mettilo in B.
Naturalmente questa soluzione è errata, in quanto l’esecuzione della prima azione comporta
la perdita immediata del contenuto della variabile A. Per risolvere questo problema dobbiamo
servirci di una terza variabile C in cui “salvare temporaneamente” il contenuto di A. È un po’
come se volessimo scambiare il contenuto di due bottiglie contenenti una del vino e l’altra
dell’acqua: non possiamo versare il vino contenuto nella bottiglia all’interno dell’altra, in quan-
to quest’ultima è già piena d’acqua: per farlo, è necessario utilizzare una terza bottiglia. In
dettaglio, quindi, le azioni da compiere sono le seguenti:
■ prendi il contenuto di A e mettilo in C;
■ prendi il contenuto di B e mettilo in A;
■ prendi il contenuto di C e mettilo in B.
Vediamole grafcamente, ricorrendo all’analogia con le scatole. Supponendo che l’ambiente di
valutazione sia il seguente:
{(A, 2, INTERO), (B, 6, INTERO), (C, 0, INTERO)}
inizialmente avremo:

2 6 0
A B C

Prendi il contenuto di A e copialo in C (C conterrà una copia del valore di A).

2 6 2
A B C

Nuovo ambiente di valutazione:


{(A, 2, INTERO), (B, 6, INTERO), (C, 2, INTERO)}
Prendi il contenuto di B e copialo in A (A conterrà una copia del valore di B).

6 6 2
A B C

Nuovo ambiente di valutazione:


{(A, 6, INTERO), (B, 6, INTERO), (C, 2, INTERO)}

294 Sezione D Algoritmi e linguaggi di programmazione


Prendi il contenuto di C e copialo in B (B conterrà una copia del valore di C).
Lo sai?

Con un diagramma
a blocchi si vogliono
cogliere gli aspetti
6 2 2 essenziali di un
A B C algoritmo; questo
significa, ad esempio,
“trascurare” alcuni
Ambiente di valutazione terminale: messaggi ovvi che
{(A, 6, INTERO), (B, 2, INTERO), (C, 2, INTERO)} nel programma
scritto in linguaggio
Analisi dei dati di programmazione
saranno invece
Nome Funzione Tipo Descrizione indicati, come i
messaggi “Inserisci
A I/O INTERO Primo valore da scambiare. Dopo lo scambio diviene variabile di output il primo numero” e
“Inserisci il secondo
B I/O INTERO Secondo valore da scambiare. Dopo lo scambio diviene variabile di output
numero” che
C L INTERO Variabile di lavoro che consentirà di effettuare lo scambio precedono la lettura
dei dati. Per questo
Formalizzazione dell’algoritmo motivo, in tutti gli
INIZIO
Scambia algoritmi presenti
ALGORITMO Scambia in questo libro, i
messaggi “ovvi”
VARIABILI O
potranno anche non
“Inserisci
A, B, C: INTERO il primo numero” essere presenti.
INIZIO
SCRIVI(“inserisci il primo numero”) I
B
LEGGI(A)
SCRIVI(“inserisci il secondo numero”)
O
LEGGI(B) “Inserisci
il secondo numero”
CoA
AoB I

BoC A
SCRIVI(A)
SCRIVI(B)
CoA
FINE

AoB

BoC

O
A

O
B

FINE

Costruiamo algoritmi con la programmazione strutturata D3 295


ORA TOCCA A TE
1. Qual è il risultato prodotto dal seguente algoritmo? Enuncia il problema risolto. Com-
pleta, riordina e collega opportunamente i blocchi in modo da ottenere il diagramma
a blocchi fnale.

ALGORITMO Uno
VARIABILI O

X, Y, Z: INTERO FINE
INIZIO
I
SCRIVI(“Inserisci due numeri”) O

LEGGI(X, Y)
ZoX+Y
SCRIVI(Z) INIZIO
____
FINE

2. Qual è il risultato prodotto dal seguente algoritmo? Enuncia il problema risolto. Com-
pleta, riordina e collega opportunamente i blocchi in modo da ottenere il diagramma
a blocchi fnale.

ALGORITMO Due
VARIABILI
FINE P1 o
A, B, P1, P2, Somma: INTERO
INIZIO I O

SCRIVI(“Inserisci due numeri”) Somma


LEGGI(A, B)
P1 o 3 * A INIZIO
P2 o 2 * B ____ P2 o
Somma o P1 + P2 O
SCRIVI(Somma)
FINE

3. Qual è il risultato prodotto dal seguente algoritmo? Enuncia il problema risolto. Com-
pleta, riordina e collega opportunamente i blocchi in modo da ottenere il diagramma
a blocchi fnale.

ALGORITMO Tre
I O
VARIABILI A, B Sorpresa
A, B, Sorpresa: INTERO
INIZIO
SCRIVI(“Inserisci due numeri”) INIZIO
____
LEGGI(A, B)
O
Sorpresa o (A + B) / 2 FINE
SCRIVI(Sorpresa)
FINE

296 Sezione D Algoritmi e linguaggi di programmazione


4. Qual è il risultato prodotto dal seguente algoritmo? Enuncia il problema risolto. Com-
pleta, riordina e collega opportunamente i blocchi in modo da ottenere il diagramma
a blocchi fnale.

ALGORITMO Quattro
COSTANTI PIGRECO ←
PIGRECO ← 3.14 I O

VARIABILI R
R, Circ, Area: INTERO
INIZIO
Area ← FINE
SCRIVI(“Inserisci la misura del raggio”)
LEGGI(R)
O
Circ ← 2 * R * PIGRECO INIZIO
____
Area ← R * R * PIGRECO
SCRIVI(Circ, Area)
FINE

5. Qual è il risultato prodotto dal seguente algoritmo? Realizza il diagramma a blocchi e


compila la tabella delle variabili. Completa, riordina e collega opportunamente i bloc-
chi in modo da ottenere il diagramma a blocchi fnale.

ALGORITMO Cinque
I O
VARIABILI “Inserisci la
Somma somma di denaro”
Somma, Interesse: REALE
INIZIO
INIZIO _____ ← _____
SCRIVI(“Inserisci la somma di denaro”) ____
LEGGI(Somma)
Interesse ← Somma * 0.30 O

SCRIVI(“Interesse calcolato = ”, Interesse) FINE


FINE

All’interno dell’algoritmo esiste un valore che potrebbe essere dichiarato come costan-
te? Se la risposta è affermativa, individualo e correda lo pseudocodice di questa nuova
dichiarazione.

5 La selezione
Rifetti
Selezione binaria
Il costrutto di selezione binaria permette di effettuare una scelta fra due possibili
alternative. Per effettuare la scelta, dobbiamo valutare una condizione. Un esem-
pio tratto dalla vita di tutti i giorni potrebbe essere il seguente:
SE pioverà ALLORA prenderò l’autobus ALTRIMENTI farò una passeggiata.
In termini più generali possiamo scrivere:
La selezione
SE SI VERIFICA LA CONDIZIONE porta l’esecutore
ALLORA ESEGUI ISTRUZIONE1 a intraprendere
necessariamente una
ALTRIMENTI ESEGUI ISTRUZIONE2. delle due strade.

Costruiamo algoritmi con la programmazione strutturata D3 297


La sintassi di questo costrutto, chiamato più precisamente costrutto di selezio-
ne binaria, è la seguente.
Sintassi del costrutto di selezione binaria
Diagramma a blocchi Pseudolinguaggio

SE (<Condizione>)
V F ALLORA
<Condizione>
<B1>
<B1> <B2> ALTRIMENTI
<B2>
FINESE

Anche in questo caso, <B1> e <B2> possono essere blocchi semplici o composti.
Quindi, se la <Condizione> è Vera, si esegue il blocco <B1>, altrimenti (cioè, se la
<Condizione> è Falsa) si esegue il blocco <B2>.

Selezione unaria
Il costrutto di selezione può presentarsi anche con un solo ramo, cioè senza l’al-
ternativa ALTRIMENTI. Questo caso, chiamato di selezione unaria, si rappre-
senta sintatticamente nel seguente modo.
Sintassi del costrutto di selezione unaria
Diagramma a blocchi Pseudolinguaggio

V F SE (<Condizione>)
<Condizione>
ALLORA
<B1> <B1>
FINESE

L’indentazione
Lo sai? Hai notato i “rientri” utilizzati per i SE, gli ALLORA, gli ALTRIMENTI? E che
ogni SE ha un suo FINESE corrispondente? E che la parola chiave ALTRIMENTI
Praticamente tutti gli inizia esattamente nella stessa colonna in cui inizia la parola chiave ALLORA?
ambienti di sviluppo Le istruzioni vengono incolonnate in questo modo per indicare la loro dipenden-
dei linguaggi di
programmazione za. Si evidenzia, in tal modo, che un’istruzione è contenuta in un’altra. È buona
presentano una abitudine curare questi incolonnamenti, poiché così facendo si garantisce una
funzionalità di buona leggibilità dello pseudocodice. Questa tecnica è conosciuta come inden-
indentazione
automatica del codice tazione, e il suo utilizzo viene considerato come una norma fondamentale di
(spesso applicata buona programmazione. La tecnica è basata sull’idea di usare gli spazi bianchi
automaticamente (ossia i rientri) allo scopo di separare più chiaramente le istruzioni e, in partico-
durante l’editing).
lare, di rappresentare esplicitamente le relazioni di annidamento.

298 Sezione D Algoritmi e linguaggi di programmazione


Consideriamo il frammento 1. SE(Età < MaggioreEtà)
di pseudocodice riportato 2. ALLORA
qui a fianco; l’indentazione 3. SE(Età < EtàMinima)
rende chiaro il fatto che la 4. ALLORA
condizione della riga 3 vie- 5. SCRIVI(“Mi dispiace, non hai l’età per lavorare”)
ne valutata solo se ha avuto 6. ALTRIMENTI
esito positivo quella della 7. SCRIVI(“Puoi lavorare solo come apprendista”)
riga 1, ovvero che la secon- 8. FINESE
da selezione è annidata nel- 9. ALTRIMENTI
la prima. SCRIVI(“Tutto ok! Puoi lavorare”)
10.
11. FINESE

OSSERVA COME SI FA
1 Dato in input un numero intero N, comunicare se è positivo o negativo.
Analisi del problema
Si parte dal concetto che un numero positivo è maggiore o uguale a zero. Quindi, non dobbiamo
far altro che acquisire un numero dall’esterno e confrontarlo con zero: se il numero è maggiore
o uguale a zero, allora è positivo, altrimenti è negativo.

Analisi dei dati NOME FUNZIONE TIPO DESCRIZIONE


N I INTERO Valore da verifcare
Messaggio O INTERO Numero positivo oppure negativo

Formalizzazione dell’algoritmo

Diagramma a blocchi Pseudolinguaggio

INIZIO
PosNeg ALGORITMO PosNeg
VARIABILI
I N: INTERO
N
INIZIO
LEGGI(N)
V F SE(N ≥ 0)
Nv0
ALLORA
“Il numero
O
“Il numero
O
SCRIVI(“Il numero è positivo”)
è positivo” è negativo” ALTRIMENTI
SCRIVI(“Il numero è negativo”)
FINESE
FINE FINE

Test
È superfuo corredare l’esercizio della tavola di traccia: non abbiamo alcun bisogno di control-
lare la correttezza di questo algoritmo. È fn troppo chiaro!

Costruiamo algoritmi con la programmazione strutturata D3 299


2 Dato in input un numero intero N, comunicare se è negativo, positivo o nullo.
Analisi del problema
L’analisi del problema è simile alla precedente, con un controllo in più. Se il numero richiesto
in input è maggiore di zero, allora è positivo, ma se così non è, non possiamo affermare che il
numero è negativo: potrebbe essere nullo. Controlliamo, quindi, se il numero è minore di zero.
Se il numero non è maggiore o minore di zero, allora è nullo.

Analisi dei dati NOME FUNZIONE TIPO DESCRIZIONE


N I INTERO Valore da verifcare
Messaggio O STRINGA Numero positivo, negativo o nullo

Formalizzazione dell’algoritmo

Diagramma a blocchi Pseudolinguaggio

ALGORITMO PosNeg2
INIZIO
PosNeg2
VARIABILI
N: INTERO
I INIZIO
N LEGGI(N)
SE(N > 0)
V F ALLORA
N>0
SCRIVI(“Il numero è positivo”)
O V F ALTRIMENTI
“Il numero N<0 SE(N < 0)
è positivo”
O O ALLORA
“Il numero “Il numero SCRIVI(“Il numero è negativo”)
è negativo” è nullo”
ALTRIMENTI
SCRIVI(“Il numero è nullo”)
FINESE
FINE FINESE
FINE

Test
Anche per questo problema è superfuo compilare la tavola di traccia.
Questo esercizio presenta un costrutto selezione all’interno di un altro. Quindi, nel ramo “altri-
menti” del primo costrutto di selezione, se ne esegue un altro. Un costrutto inserito in un altro
dello stesso tipo si dice annidato. I costrutti in cascata sono, invece, due o più costrutti di ugual
tipo che devono essere eseguiti in successione.

3 Realizzare un algoritmo che risolva l’equazione lineare Ax = B e comunichi all’utente se


è un’equazione determinata, indeterminata o impossibile.
Analisi del problema
Un’equazione lineare si risolve separando i termini che contengono l’incognita dagli altri termini
mediante l’applicazione delle proprietà dell’uguaglianza. Nel nostro caso la soluzione si ottiene
dividendo il termine noto per quello associato all’incognita. Equazioni del tipo 0 = 0 sono inde-
terminate, mentre equazioni con 0 = B dove B ≠ 0 sono impossibili.

Analisi dei dati NOME FUNZIONE TIPO DESCRIZIONE


A I INTERO Valore del coeffciente A
B I INTERO Valore del coeffciente B
Soluzione O REALE Soluzione dell’equazione

300 Sezione D Algoritmi e linguaggi di programmazione


Formalizzazione dell’algoritmo ALGORITMO Equazione
VARIABILI
A, B: INTERO
Soluzione: REALE
INIZIO
LEGGI(A, B)
SE(A ≠ 0)
ALLORA
Soluzione o B / A
SCRIVI(“La soluzione è”, Soluzione)
ALTRIMENTI
SE(B ≠ 0)
ALLORA
SCRIVI(“L’equazione non ammette soluzioni”)
ALTRIMENTI
SCRIVI(“L’equazione ammette infnite soluzioni”)
FINESE
FINESE
FINE

Diagramma a blocchi
INIZIO
Equazione

I
A, B

V F
A≠0

Soluzione o B/A V F
B≠0
O O
O
“La soluzione è”, “L’equazione non “L’equazione ammette
Soluzione ammette soluzioni” infinite soluzioni”

FINE

Test

ISTRUZIONE A B SOLUZIONE ? OUTPUT


LEGGI(A, B) 2 6
A≠0 V
Soluzione o B/A 3
SCRIVI(“La soluzione è”, Soluzione) La soluzione è 3

LEGGI(A, B) 0 5
A≠0 F
B≠0 V
SCRIVI(“L’equazione non ammette soluzioni”) L’equazione non ammette soluzioni

LEGGI(A, B) 0 0
A≠0 F
B≠0 F
SCRIVI(“L’equazione ammette infinite soluzioni”) L’equazione ammette infinite soluzioni

Costruiamo algoritmi con la programmazione strutturata D3 301


ORA TOCCA A TE
1 Considera il seguente frammento di pseudocodice:

LEGGI(J)
SE(J < 0) FINE
ALLORA
O
J o J +1
ALTRIMENTI
Jo0
FINESE INIZIO
____
SCRIVI(J)

Che cosa viene stampato? Realizza il relativo diagramma a blocchi aiutandoti con i blocchi qui
presenti.

2 Modifchiamo il precedente frammento di pseudocodice nel seguente modo:

LEGGI(J)
SE(J > 0)
FINE
ALLORA
J o J +1 O

ALTRIMENTI
Jo0
FINESE INIZIO
SCRIVI(J) ____

Che cosa succede ora? Qual è il valore fnale di J? Realizza il relativo diagramma a blocchi
aiutandoti con i blocchi qui presenti.

3 Modifchiamolo ancora:

LEGGI(I)
O
LEGGI(J)
SE(I > 0)
ALLORA FINE I
I
SE(J > 0)
O
ALLORA
Jo1 Jo
FINESE
ALTRIMENTI INIZIO
____ Io
Io1
FINESE
SCRIVI(I) i>
SCRIVI(J)

Che cosa succede ora? Qual è il valore di I e di J? Realizza il relativo diagramma a blocchi aiu-
tandoti con i blocchi qui presenti.

302 Sezione D Algoritmi e linguaggi di programmazione


4 Il seguente pseudocodice risolve il problema di trovare il massimo tra due numeri interi.
In esso, però, è presente un errore; sei in grado di trovarlo?

ALGORITMO Massimo I O

VARIABILI
Num1, Num2, Max: INTERO
I
INIZIO FINE I
SCRIVI(“Inserisci il primo numero”)
LEGGI(Num1) O

Max ←
SCRIVI(“Inserisci il secondo numero”)
LEGGI(Num2)
SE(Num1 > Num2) INIZIO
____ ← Num1
ALLORA
Max ← Num2
ALTRIMENTI _ > Num2
Max ← Num1
FINESE O I
I
SCRIVI(“Il valore massimo è ”, Max)
FINE

Riporta il diagramma a blocchi corretto, ricostruendo e completando i blocchi qui presenti.


Rifetti

La selezione multipla
Per risolvere i problemi in cui si opera una scelta tra più di due alternative, in
dipendenza del valore assunto da un certo parametro, è molto utile utilizzare il
La selezione multipla
costrutto di selezione multipla, presente in quasi tutti i linguaggi di programma- presenta all’esecutore
zione. La sintassi è la seguente. una gamma di scelte
di cui solo una potrà
Sintassi del costrutto di selezione multipla essere intrapresa.

Diagramma a blocchi Pseudolinguaggio

NEL CASO CHE <Selettore> SIA


<Valore1>: <B1>
<Valore1> Altrimenti
<Selettore> <Valore2>: <B2>

<Va
>
re2

lore


alo

N>
<V

<ValoreN>: <BN>
<B1> <B2> <BN> <BN+1>
[ALTRIMENTI
<BN+1>]
FINECASO

dove:
• <Selettore> è il nome di una variabile il cui contenuto costituisce l’elemen-
to che discrimina la scelta;
• <Valore1> è un possibile valore della variabile, che naturalmente deve ricade-
re nell’insieme di definizione della variabile stessa.

Costruiamo algoritmi con la programmazione strutturata D3 303


OSSERVA COME SI FA
1 Realizzare un algoritmo che scriva il nome dei poligoni in base al numero dei lati (il
numero dei lati non può essere superiore a 12).
Analisi del problema
Il problema è semplice: occorre prima leggere il numero dei lati; quindi, in base al valore acqui-
sito, se è minore o uguale a 12, scrivere a quale tipo di poligono corrisponde un certo numero
di lati, altrimenti segnalare l’input non valido.

Analisi dei dati

NOME FUNZIONE TIPO DESCRIZIONE


Lati I INTERO Numero di lati del poligono
Messaggio O STRINGA Tipo di poligono o messaggio di errore

Formalizzazione dell’algoritmo

ALGORITMO Poligoni
VARIABILI
Lati: INTERO
INIZIO
SCRIVI(“Inserisci il numero dei lati”)
LEGGI(Lati)
NEL CASO CHE Lati SIA
3: SCRIVI(“Triangolo”)
4: SCRIVI(“Quadrilatero”)
5: SCRIVI(“Pentagono”)
6: SCRIVI(“Esagono”)
7: SCRIVI(“Ettagono”)
8: SCRIVI(“Ottagono”)
9: SCRIVI(“Ennagono”)
10: SCRIVI(“Decagono”)
11: SCRIVI(“Endecagono”)
12: SCRIVI(“Dodecagono”)
ALTRIMENTI
SCRIVI(“Inserimento errato”)
FINECASO
FINE

304 Sezione D Algoritmi e linguaggi di programmazione


6 L’algebra booleana e il suo ruolo PERSONAGGI

nella programmazione strutturata


Le espressioni che un computer valuta non sono unicamente di tipo aritmetico.
In fase di programmazione capita spesso di incontrare espressioni di tipo logico
il cui risultato può essere esclusivamente Vero o Falso. All’interno del costrutto di
selezione l’esecutore deve stabilire con esattezza se una condizione risulta vera o
falsa e spesso si ritrova davanti a una condizione articolata con operatori logici il
cui valore finale è determinato proprio dalle regole dell’algebra di Boole. George Boole
(1815-1864),
Osserva il seguente esempio: matematico e logico
inglese, ha posto le
SE (Voto<11) AND (Voto>5) basi della moderna
logica simbolica,
ALLORA fondamentale per il
SCRIVI(“Prova superata”) funzionamento del
computer e per la sua
ALTRIMENTI
programmazione. In
SCRIVI(“Prova non superata”) precedenza la logica
FINESE era stata intesa come
studio del modo di
ragionare, secondo
l’impostazione ricevuta
In un formalismo matematico avremmo scritto la condizione nella seguente forma: da Aristotele, il
5 < Voto < 11 grande filosofo greco
vissuto tra il 384
e il 322 a.C. Boole
intuì la mancanza
Proposizioni ed enunciati di un formalismo
matematico che
Una proposizione è un costrutto linguistico autonomo di senso compiuto, permettesse di
esprimere i concetti
composto per lo meno da un soggetto e da un predicato. della logica e lavorò
per colmare questa
lacuna. Il risultato
Un enunciato è una particolare proposizione che può assumere solo due stati fu la costruzione del
possibili (Vero/Falso, V/F). La verità o falsità di un enunciato sono i valori di sistema algebrico
conosciuto con il nome
verità dell’enunciato. di algebra booleana,
che ha trovato poi
Consideriamo le tre frasi seguenti: applicazioni più
vaste di quelle che lo
“Ora il sole splende” stesso Boole poteva
immaginare.
“Londra è la capitale d’Italia”

“4 è un numero pari”.
Queste tre frasi sono enunciati:
• il primo ha valore Vero se ora il sole effettivamente splende e valore Falso in
caso contrario;
• il secondo ha valore Falso;
• il terzo ha valore Vero.
È facile intuire che un enunciato può essere esclusivamente vero o falso, mai en-
trambi.

Costruiamo algoritmi con la programmazione strutturata D3 305


Attenzione, le seguenti sono proposizioni, ma non enunciati:
“Prendimi il libro”

“Gli uomini si spostano in treno”

“Che ore sono?”


Per esse, infatti, non è possibile stabilire i rispettivi valori di verità.

Enunciati atomici e composti


Gli enunciati per i quali si può immediatamente affermare se sono veri o falsi
prendono il nome di enunciati semplici (o atomici).

Una combinazione di enunciati legati da particolari operatori, detti connetti-


vi logici, prende il nome di enunciato composto (o molecolare).

I connettivi sono così definiti proprio perché connettono i vari enunciati.


L’enunciato:
“Stasera studierò o andrò al cinema”
è un enunciato composto, poiché è formato dai sottoenunciati “Stasera studierò”
e “andrò al cinema” legati dal connettivo “o”; il suo valore di verità sarà definito
dalla valutazione dei sottoenunciati e dal connettivo che li congiunge.

I connettivi logici elementari


Valutare gli enunciati composti significa associare a ognuno il valore Vero o Fal-
so, partendo dall’analisi degli enunciati semplici che li compongono e applicando
semplici regole di composizione.
Accenniamo brevemente ai seguenti connettivi logici:
AND (congiunzione) OR (disgiunzione) NOT (negazione).
Costruiamo, per ognuno di essi, particolari tabelle dette tavole di verità, in cui p
e q rappresentano due enunciati e sono illustrate tutte le possibili combinazioni
di valori in funzione delle quali l’enunciato composto assume un certo valore. In
alcuni linguaggi i valori Vero e Falso sono rappresentati, rispettivamente, con 1 e
0.

Il connettivo AND (prodotto logico)


p q p AND q
Il connettivo logico AND viene anche detto prodotto logico, poiché il risultato si
F F F può ottenere effettuando il prodotto algebrico delle due variabili che rappresen-
F V F tano gli enunciati in ingresso. Il valore di verità di p AND q è dato dalla tabella
V F F riportata qui a lato.
L’enunciato p:
V V V
“Io ascolto un CD”

306 Sezione D Algoritmi e linguaggi di programmazione


e l’enunciato q:
“Io mangio un panino”
danno origine all’enunciato p AND q:
“Io ascolto un CD e mangio un panino”
che è vero, effettivamente, se sto facendo entrambe le cose.
Come si vede, l’unico caso in cui p AND q è vero è quando sia p che q sono veri.

Il connettivo OR (somma logica)


Il connettivo logico OR è anche detto somma logica, poiché il risultato si può
p q p OR q
ottenere effettuando la somma algebrica delle due variabili che rappresentano
gli enunciati in ingresso. Il valore di verità di p OR q è dato dalla tabella ripor- F F F
tata a lato. F V V
L’enunciato p: V F V
“Io vado al cinema” V V V
e l’enunciato q:
“Io ascolto un CD”
danno origine all’enunciato p OR q:
“Io vado al cinema o ascolto un CD”
che è vero se faccio almeno una delle due cose.
Basta che p sia vero, oppure che q sia vero, perché p OR q sia anch’esso vero.

Il connettivo NOT o negazione logica


Il connettivo logico NOT è anche detto negazione logica, poiché inverte, cioè p NOT p
“complementa” il valore della variabile in ingresso. Fornisce in uscita il valore “op-
posto” al valore della variabile in ingresso, che per tale motivo viene detto valore F V
complementato o valore negato. Il valore di verità di NOT p è dato dalla tabella V F
riportata a lato.
L’enunciato p:
“Io vado al cinema”
dà origine all’enunciato NOT p (scritto anche come !p in alcuni contesti):
“Io non vado al cinema”
che è falso se “Io vado al cinema” è vero, ed è vero se “Io vado al cinema” è falso.

Altri connettivi logici


Il connettivo XOR o disgiunzione esclusiva
I connettivi AND, OR e NOT svolgono le funzioni logiche elementari. Ne esiste un
altro che prende il nome di disgiunzione esclusiva e che nella teoria degli insiemi
corrisponde alla differenza simmetrica.

Costruiamo algoritmi con la programmazione strutturata D3 307


p q p XOR q
Questo connettivo esclude che la proposizione risultante possa essere vera se en-
trambe le proposizioni componenti hanno lo stesso valore di verità. Un esempio di
F F F disgiunzione esclusiva è fornito dalla proposizione seguente:
F V V
“O è giorno o è notte”.
V F V
Il corrispondente connettivo si indica con XOR e la sua tabella di verità è quella
V V F qui riportata.

I connettivi NAND e NOR


Oltre alle funzioni logiche AND, OR e NOT, esistono altre funzioni logiche elemen-
tari di uso comune, che possono essere definite in funzione delle prime. Fra queste
vi sono la funzione NAND (NOT AND) e NOR (NOT OR), che si ottengono, come
suggerisce il nome stesso, come negazione logica, rispettivamente, delle funzioni
AND e OR.

Gli operatori relazionali


Nell’ambito della logica booleana è possibile usare gli operatori relazionali (=, ≠,
<, >, ≤, ≥).
Vediamo alcune equivalenze: Dire Equivale a dire
Un ultimo appunto. Spesso in matema-
tica utilizziamo la notazione: A≠B NOT (A = B)

A≤X≤B A≥B (A > B) OR (A = B)

per affermare che X è compreso tra A e A≤B (A < B) OR (A = B)


B. Come tradurlo con gli operatori bo-
A>B (NOT (A = B)) AND (NOT (A < B))
oleani, visto che la logica dei computer
non accetta tale notazione? A<B (NOT (A = B)) AND (NOT (A > B))
È presto detto:
A≤X≤B
equivale a:
(X ≥ A) AND (X ≤ B), oppure: (A ≤ X) AND (X ≤ B)
La notazione: 2 ≤ X ≤ 8 equivale a: (X ≥ 2) AND (X ≤ 8), oppure: (2 ≤ X) AND (X ≤ 8)
Tale relazione sarà vera, ovviamente, per X = 2, 3, 4, 5, 6, 7, 8.

Regole di precedenza
Si possono combinare più operatori logici per ottenere espressioni logiche più
complesse. Come nell’algebra tradizionale, anche nell’algebra di Boole sono defi-
nite precise precedenze tra gli operatori.
Pertanto, è necessario ricordare che:
• NOT ha precedenza più alta di AND e OR; ad esempio: NOT a AND NOT b OR
NOT c equivale a (NOT a) AND (NOT b) OR (NOT c);
• AND ha precedenza più alta di OR, ad esempio: a AND b OR c equivale a
(a AND b) OR c.

308 Sezione D Algoritmi e linguaggi di programmazione


OSSERVA COME SI FA
1 Supponiamo di voler calcolare il valore di verità del seguente enunciato composto:
(p AND q) OR ((NOT p) AND (NOT q))

a) Si assegnano i valori di ingresso alle varie occorrenze di p e di q.

p p AND q q OR NOT p AND NOT q


V V
V F
F V
F F

b) Si negano i valori di p e q.

p p AND q q OR NOT p AND NOT q


V V F F
V F F V
F V V F
F F V V

c) Si calcolano i valori del primo AND.

p p AND q q OR NOT p AND NOT q


V V V F F
V F F F V
F F V V F
F F F V V

d) Si opera allo stesso modo con il secondo AND.

p p AND q q OR NOT p AND NOT q


V V V F F F
V F F F F V
F F V V F F
F F F V V V

e) Si calcola infne l’OR utilizzando come valori di ingresso le due colonne AND.

p p AND q q OR NOT p AND NOT q


V V V V F F F
V F F F F F V
F F V F V F F
F F F V V V V

Nella colonna OR, che è il “connettivo principale”, troviamo il risultato del nostro enunciato.

Costruiamo algoritmi con la programmazione strutturata D3 309


2 Realizzare un algoritmo che, date in input le misure di tre lunghezze, stabilisca se pos-
sono essere le misure dei lati di un triangolo.
Analisi del problema
In un triangolo la somma di due lati qualsiasi è maggiore del terzo. Perciò, affnché tre numeri a,
b, e c possano essere considerati misure dei lati di un triangolo, dovranno essere soddisfatte
le tre condizioni: a + b > c, a + c > b, b + c > a.
Per risolvere il problema faremo uso di una variabile booleana (che chiameremo TuttoOK) che
avrà la funzione di “interruttore”: all’inizio dell’algoritmo si inizializza la variabile TuttoOK al va-
lore VERO. Se le condizioni a + b > c, a + c > b, b + c > a sono soddisfatte, e quindi le misure
inserite possono essere le misure dei lati di un triangolo, la variabile TuttoOK mantiene il suo
valore VERO, ma se una delle condizioni non viene verifcata, alla variabile TuttoOK viene asse-
gnato il valore FALSO. Al termine della verifca delle tre condizioni, occorre controllare il valore
della variabile TuttoOK: se il valore è VERO allora signifca che le tre lunghezze possono essere
le misure dei lati di un triangolo, altrimenti no.

Analisi dei dati


NOME FUNZIONE TIPO DESCRIZIONE
A I INTERO Valore della prima lunghezza
B I INTERO Valore della seconda lunghezza
C I INTERO Valore della terza lunghezza
TuttoOK L BOOLEANO Indica se le misure possono o meno essere quelle dei lati di un triangolo
Messaggio O STRINGA Lunghezze possono essere lati del triangolo o non possono essere

Formalizzazione dell’algoritmo

ALGORITMO Triangolo
VARIABILI
A, B, C: INTERO
TuttoOK: BOOLEANO
INIZIO
TuttoOK o VERO
SCRIVI(“Inserisci le tre misure dei lati (maggiori di zero)”)
LEGGI(A, B, C)
SE(A + B ≤ C)
ALLORA
TuttoOK o FALSO
FINESE
SE(A + C ≤ B)
ALLORA
TuttoOK o FALSO
FINESE
SE(C + B ≤ A)
ALLORA
TuttoOK o FALSO
FINESE
SE(TuttoOK = VERO) // si poteva anche scrivere SE(TuttoOK)
ALLORA
SCRIVI(“Le tre lunghezze possono essere lati di un triangolo”)
ALTRIMENTI
SCRIVI(“Le tre lunghezze non possono essere lati di un triangolo”)
FINESE
FINE

310 Sezione D Algoritmi e linguaggi di programmazione


INIZIO
Triangolo

TuttoOK o VERO

O
“Inserisci
le tre lunghezze”

I
A, B, C

V F
A+B≤C

TuttoOK o FALSO

V F
A+C≤B

TuttoOK o FALSO

V F
C+B≤A

TuttoOK o FALSO

V F
TuttoOK = VERO
O O
“Le tre lunghezze “Le tre lunghezze
possono essere non possono essere
lati di un triangolo” lati di un triangolo”

FINE

3 Realizzare un algoritmo che, letti tre valori da tastiera a, b e c con a ≤ b ≤ c, stabilisca


se possono essere le misure dei lati di un triangolo e, in caso affermativo, visualizzi il
tipo (scaleno, isoscele, equilatero) e lo stampi a video.
Analisi del problema
È necessario acquisire tre valori che rispettino la condizione a ≤ b ≤ c poiché sappiamo che tre
segmenti rappresentano i lati di un triangolo se il lato maggiore è minore della somma degli

Costruiamo algoritmi con la programmazione strutturata D3 311


altri due. Per questo accertamento ci serviremo ancora di una variabile booleana che fungerà
da “interruttore”.
Una volta accertato che le tre misure possono essere quelle dei lati di un triangolo, occorrerà
stabilire il tipo di triangolo che possono formare. In particolare:
■ se i lati sono tutti uguali si tratta di un triangolo equilatero;
■ se solo due lati sono uguali si tratta di un triangolo isoscele;
■ altrimenti si tratta di un triangolo scaleno.

Analisi dei dati

NOME FUNZIONE TIPO DESCRIZIONE


A I INTERO Valore della prima lunghezza
B I INTERO Valore della seconda lunghezza
C I INTERO Valore della terza lunghezza
Trovato L BOOLEANO Indica se le misure possono o meno essere quelle dei lati di un triangolo
Tipo di triangolo oppure messaggio di errore. I valori 1, 2 o 3
TipoTriangolo O INTERO
rappresentano rispettivamente Equilatero, Isoscele o Scaleno

Formalizzazione dell’algoritmo

ALGORITMO TipoTriangolo
VARIABILI
A, B, C: INTERO
Trovato: BOOLEANO
TipoTriangolo: INTERO
INIZIO
Trovato o FALSO
SCRIVI(“Inserisci le tre misure dei lati maggiori di zero”)
LEGGI(A, B, C)
SE(A + B > C)
ALLORA
Trovato o VERO
SE((A = B) AND (B =C))
ALLORA
TipoTriangolo o 1
ALTRIMENTI
SE((A = B) OR (B = C) OR (A = C))
ALLORA
TipoTriangolo o 2
ALTRIMENTI
TipoTriangolo o 3
FINESE
FINESE
FINESE
SE(Trovato) // equivale a SE(Trovato = VERO)
ALLORA
SCRIVI(“Le misure formano un triangolo ”)

312 Sezione D Algoritmi e linguaggi di programmazione


NEL CASO CHE TipoTriangolo SIA
1:SCRIVI(“Equilatero”) INIZIO
2:SCRIVI(“Isoscele”) TipoTriangolo
3:SCRIVI(“Scaleno”)
FINECASO
Trovato o FALSO
ALTRIMENTI
SCRIVI(“Le tre misure non sono lati di un triangolo”)
O
FINESE “Inserisci
FINE le tre lunghezze”

I
A, B, C

V F
A+B>C

Trovato o VERO

V A = B AND F
B= C

V A = B OR B= C F
TipoTriangolo o 1
OR A = C

TipoTriangolo o 2 TipoTriangolo o 3

V F
Trovato = VERO
O O
“Le misure “Le misure
formano non sono lati
un triangolo” di un triangolo”

1 3
TipoTriangolo
O O
“Equilatro” 2 “Scaleno”

O
“Isoscele”

FINE

Costruiamo algoritmi con la programmazione strutturata D3 313


RIPASSIAMO INSIEME
ALGORITMI E PROGRAMMAZIONE STRUTTURATA
MAPPA
MODIFICABILE
Le istruzioni di un algoritmo
sono di tre tipi:
Quali sono le
– di inizio e fine; istruzioni operative?
– operative;
– di assegnamento;
– di controllo.
– di input;
– di output.
Teorema di Böhm-Jacopini:
qualsiasi algoritmo può
essere scritto utilizzando Quali sono le
esclusivamente tre istruzioni di controllo?
costrutti sintattici
fondamentali: sequenza, – di sequenza;
selezione e iterazione. – di selezione;
– di iterazione.

Secondo quali regole vengono


valutate le espressioni logiche?

Le regole dell’algebra di Boole. L’indentazione usa gli spazi bianchi (i


rientri) per separare più chiaramente
le istruzioni, evidenziando le relazioni
Una proposizione è un di annidamento.
costrutto linguistico
autonomo di senso compiuto,
composto almeno da un
soggetto e da un predicato.

Quali sono i connettivi


Un enunciato è una
logici elementari?
particolare proposizione che
può assumere solo due stati – OR
possibili (Vero/Falso). – AND
– NOT

314 Sezione D Algoritmi e linguaggi di programmazione


D3
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) L’indentazione è una tecnica necessaria


per una buona leggibilità di un programma (H) ..... ☐ V ☐ F

2) Non tutti gli algoritmi possono essere realizzati


con la programmazione strutturata (A) ..................... ☐ V ☐ F

3) Il costrutto sequenza consente di disporre


le istruzioni una di seguito all’altra (D) ................... ☐ V ☐ F

4) Il costrutto di selezione può avere istruzioni


solo su uno dei due rami (D) ......................................... ☐ V ☐ F

5) Un enunciato può assumere solo i valori


vero o falso (G) .................................................................. ☐ V ☐ F

6) OR è un connettivo logico elementare (I) ................ ☐ V ☐ F

Completa le affermazioni seguenti.

7) Il teorema di ...............-Jacopini riguarda l’uso di tre


.................................. sintattici fondamentali (A)

8) Le espressioni logiche si valutano tramite l’algebra


di ..................... (E)

9) I connettivi logici elementari sono OR, ........... e NOT (I)

10) Le istruzioni di input e …………………. rientrano nelle istruzioni


operative (C)

11) L’enunciato è una particolare ………………………… che assume solo


valori vero o falso (F, G)

12) L’indentazione è utile soprattutto nei casi di relazioni di


……………………… (H)

Costruiamo algoritmi con la programmazione strutturata D3 315


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo D3
Scelta multipla 6 Nella disgiunzione XOR:

1 Le istruzioni operative sono quelle che: A la proposizione risultante è vera se entrambe le


proposizioni sono vere
A corrispondono ad azioni direttamente eseguibili
B la proposizione risultante è vera se solo una delle
dall’esecutore
due proposizioni è vera
B servono per acquisire i dati iniziali
C la proposizione risultante è vera se entrambe le
C non sono utilizzate per effettuare le elaborazioni proposizioni sono false
D comunicano i risultati finali
Vero o falso
2 Le istruzioni di controllo:
A si suddividono in istruzioni di input e di output 7 Le istruzioni operative fanno parte
delle istruzioni di controllo V F
B si classificano in istruzioni operative e dichiarative
C consentono di instradare percorsi differenti 8 Il simbolo = rappresenta l’operatore
durante l’esecuzione di assegnazione V F
D consentono di instradare il percorso definito dal 9 L’assegnazione modifica l’ambiente
programmatore di valutazione V F
10 La codifica è la traduzione dell’algoritmo
3 Per trasformare l’algoritmo in un insieme di in un linguaggio di programmazione V F
istruzioni comprensibili dal computer occorre:
11 Il programma è un algoritmo scritto
A il diagramma a blocchi in pseudocodifica V F
B lo pseudocodice
12 L’analisi dei dati di un problema si svolge
C il linguaggio di programmazione con l’ausilio della tabella delle variabili V F
D la BNF
13 La manutenzione del software
4 Il teorema di Böhm-Jacopini afferma che: è una fase di esclusiva manutenzione V F

A in ogni algoritmo è possibile utilizzare le istruzioni Completamento


di salto
B in un algoritmo non possono essere inseriti cicli 14 I dati ___________ corrispondono alle variabili
infiniti di input, mentre i dati _________ a quelle di
C ogni algoritmo può essere espresso solo _________. Le variabili di __________ non sono ne
attraverso le strutture di sequenza, selezione e di input ne di output
iterazione
15 La _____________ consente di determinare
5 Che cos’è l’indentazione? una _________ per intraprendere soltanto una
A una tecnica che consente di scrivere le istruzioni _________ percorribile.
in maniera incolonnata così da indicare la loro
dipendenza 16 __________ fornisce un __________falso se
B una tecnica che consente di scrivere le istruzioni almeno un __________ è falso
una sotto l’altra per indicare il flusso del controllo
C una tecnica che consente di scrivere le istruzioni 17 Una ___________ prevede all’interno della sua
tramite i diagrammi a blocchi ____________ di inizializzarne il ___________
attraverso l’operatore di ______________
D una tecnica che consente di scrivere
pseudocodice leggibile

316 Sezione D Algoritmi e linguaggi di programmazione


Allena le tue ABILITÀ
e le tue COMPETENZE D3
ABILITÀ 6 Le seguenti pseudoistruzioni presentano degli
errori. Riscrivile correttamente.
Sequenza SCRIVI(‘Area =’)
1 Associa alla tre pseudoistruzioni i corrispondenti LEGGI(“Lato”)
simboli della diagrammazione a blocchi: A=2
LEGGI(Ricavo) __________ X: = INTERO
A←5 Nome: = STRINGA(25)
__________
SCRIVI(A) __________ 7 Dopo aver trovato gli errori presenti nel seguente
blocco di pseudoistruzioni, traducilo secondo il
2 Associa alle tre pseudoistruzioni i corrispondenti formalismo dei diagrammi a blocchi.
simboli della diagrammazione a blocchi
scrivendoli uno di seguito all’altro come a VARIABILI
formare un algoritmo. X, Y: INTERO
.....
LEGGI(Base)
X = 120
LEGGI(Altezza)
Y ← ‘5’
Area ← (Base * Altezza)/2 K←X*Y
SCRIVI(“L’area è ”) X←X–Y
SCRIVI(Area) SCRIVI(‘Il risultato è’ K)

3 Modifica l’esercizio precedente introducendo 8 Dopo aver trovato gli errori presenti nel seguente
nel diagramma i blocchi che determinano blocco di pseudoistruzioni, traducilo secondo il
l’inizio e la fine del procedimento. Poi, accorpa formalismo dei diagrammi a blocchi
le due ultime pseudoistruzioni in modo da
VARIABILE
ottenere una sola istruzione di output.
A, B : CARATTERI
4 Traduci il seguente blocco C, D: INTERI
in pseudoistruzioni. Qual A ← 10
è il valore della variabile X INIZIO
visualizzato? A←C+D
B ←20 A←A^2
Nuovo ← C + D
C ←C + 2
X ←A + B LEGGI(Variab)
C ← C + Variab
O SCRIVI(‘Il risultato è’, Variab)
FINE

5 Il seguente blocco di O
9 Trasforma le seguenti descrizioni rigorose in
K pseudocodice e in diagramma a blocchi.
istruzioni deve richiedere
da tastiera il valore della • Acquisisci in input (leggi) il valore del lato
variabile K, moltiplicarla ponendolo in L
K←K*2
per due e dopo il calcolo • Esegui l’operazione L * 4
visualizzare sul video il • Poni il risultato nella variabile P
valore ottenuto. Sono K ←3
presenti, però, tre errori.
• Stampa il valore di P
Sapresti correggerli?
I
X

Costruiamo algoritmi con la programmazione strutturata D3 317


10 Trasforma le seguenti descrizioni rigorose in 15 Indica l’output prodotto dal seguente algoritmo:
pseudocodice e in diagrammi a blocchi.
ALGORITMO Due
• Leggi il numero dei lati e la misura del lato VARIABILI
ponendoli in N e L
A, B, C, D: INTERO
• Esegui l’operazione L * N
INIZIO
• Poni il risultato nella variabile P
LEGGI(A)
• Stampa il valore di P B←A+2
LEGGI(B)
11 Trasforma il seguente codice in diagramma a
blocchi. C←A+B
SCRIVI(C)
VARIABILI L, N, P: INTERO
D ← (A – B) + C
LEGGI (N, L)
SCRIVI(D)
P←N*L
FINE
SCRIVI(P)
16 Trova il valore della variabile A visualizzato al
12 Trasforma il seguente codice in diagramma a termine del seguente algoritmo:
blocchi.
ALGORITMO Uno
VARIABILI A, B, C: INTERO
VARIABILI
LEGGI (A, B)
A: INTERO
C←A
INIZIO
A←B
LEGGI(A)
B←C
A←A*3
SCRIVI(A, B)
A ← (A + 2) – (A * 3)
13 Il seguente diagramma a LEGGI(A)
INIZIO
blocchi presenta simboli non SCRIVI(A)
chiari e al loro interno sono FINE
presenti istruzioni non scritte Leggi(X)
correttamente. Correggilo e 17 Scrivi un algoritmo che, dati in input tre numeri,
riporta anche lo pseudocodice. ne determini la media.
Leggi(Y)
18 Scrivi un algoritmo che determini l’area del
cerchio circoscritto a un quadrato.
W=X+Y
19 Scrivi un algoritmo che, date in input la base
e un lato di un triangolo isoscele, ne determini
perimetro e area.
Scrivi (W)
Selezione
FINE
20 Scrivi un algoritmo che, dati in input due numeri,
li scriva in ordine crescente.
14 Indica l’output prodotto dal seguente algoritmo:
ALGORITMO Uno
21 Scrivi un algoritmo che, dato in input un numero,
stabilisca se è pari o dispari.
VARIABILI
A: INTERO 22 Scrivi un algoritmo che, dati due numeri A e B,
INIZIO calcoli la somma di quello che ha valore assoluto
maggiore e del doppio di quello che ha valore
LEGGI(A)
assoluto minore.
A←A*3
A ← (A + 2) – (A * 3) 23 Scrivi un algoritmo che, dati in input tre numeri,
SCRIVI(A) determini:
FINE a) il maggiore; b) il minore;
c) la differenza tra il maggiore e il minore.

318 Sezione D Algoritmi e linguaggi di programmazione


24 Scrivi un algoritmo che, dato in input un numero c) non è vero che 11 sia un numero primo
intero, determini se è multiplo di un numero X d) il Tevere bagna Roma
anch’esso intero e richiesto in input. e) il rombo è un particolare parallelogramma
25 Dato un numero intero inferiore a mille, 34 Scrivi la negazione dei seguenti enunciati:
determina il numero di centinaia, decine e unità. a) il signor Rossi è sposato
Ad esempio, 123 è composto da un centinaio,
due decine e tre unità. b) ieri ero a Roma
c) i Beatles si esibiscono a Milano
26 Dati tre numeri determina la somma dei quadrati d) oggi ho studiato
dei due più piccoli.
35 Dati i seguenti enunciati:
Selezione multipla p = Gigi è partito per Milano,
q = Gigi è studente
27 Calcola la somma spesa da un cliente tenendo
conto delle seguenti condizioni: Scrivi gli enunciati:
a) per spese inferiori a euro 50, sconto 10%; not p, not q, p AND q, p OR q,
p AND NOT q, NOT p AND q, NOT p OR NOT q
b) per spese inferiori a euro 100, sconto 20%;
c) per spese superiori a euro 100, sconto 30%. 36 Con riferimento agli enunciati p e q dell’esercizio
precedente, nella ipotesi che sia p vera, q
28 Scrivi un algoritmo che, dato in input il numero falsa, stabilisci il valore di verità dei seguenti
corrispondente al mese dell’anno, visualizzi il enunciati:
numero di giorni di cui l’anno è composto. p AND q, p OR q, p AND NOT q,
NOT p AND q, NOT p OR NOT q
29 Scrivi un algoritmo che, dati in input due numeri
interi, visualizzi, a scelta dell’utente, il risultato 37 Ripeti l’esercizio precedente nelle seguenti
di una delle quattro operazioni fondamentali ipotesi:
(addizione, sottrazione, moltiplicazione, a) p vera, q vera b) p falsa, q vera
divisione).
c) p falsa, q falsa
30 Date le misure dei lati di un rettangolo a, b 38 Individua gli enunciati semplici e i connettivi dei
fornite da tastiera, scrivi un programma che seguenti enunciati composti:
calcoli il perimetro, l’area o la diagonale del
a) piove e non fa freddo
rettangolo secondo la richiesta dell’utente.
(Supponi che l’utente possa inserire come scelta: b) piove oppure la nebbia è molto fitta
1 = perimetro, 2 = area o 3 = diagonale). c) Gigi e Daniele sono interrogati in matematica
d) Il numero 7 non è primo e non è pari
Logica booleana
39 Scrivi sotto forma simbolica sia gli enunciati
31 Riconosci tra le seguenti espressioni linguistiche semplici che quelli composti dell’esercizio
quali sono enunciati e quali no: precedente e di ciascuno indica il valore di
a) il numero 5 è divisore del numero 24 verità.
b) 10 è un numero composto
40 Considera i seguenti enunciati:
c) attenti alla punteggiatura
p = Anna è amica di Lisa
d) il numero 7 è un numero dispari q = Lisa è amica di Anna
e) zitto, arriva il preside E scrivi in forma simbolica i seguenti enunciati
f) Roma è la capitale d’Italia composti:
g) Gigi è un bel ragazzo a) Anna non è amica di Lisa
b) Lisa e Anna sono amiche
32 Attribuisci un valore di verità agli enunciati
individuati al punto precedente. c) Lisa e Anna non sono amiche
d) Anna è amica di Lisa o Lisa è amica di Anna
33 Attribuisci un valore di verità ai seguenti
enunciati: e) Anna è amica di Lisa o Lisa non è amica di Anna
a) 9 + 4 = 12 f) Anna non è amica di Lisa e Lisa è amica di Anna
b) 5 è un numero primo

Costruiamo algoritmi con la programmazione strutturata D3 319


41 Costruisci le tabelle di verità delle seguenti 49 Scrivi un algoritmo che calcoli le radici di
espressioni logiche: un’equazione di secondo grado.
a) d = NOT ((a OR c) OR b) OR (a AND c)
50 Calcola l’imponibile relativo all’acquisto di una
b) d = NOT (a OR NOT b) AND NOT c certa merce, noti la quantità acquistata, il prezzo
c) c = (a OR b) OR NOT (a AND b) unitario e lo sconto, tenendo presente che lo
d) d = (a AND (b OR c)) AND NOT c sconto viene applicato soltanto per quantità
superiori a un valore dato.
42 Calcola le tavole di verità delle seguenti
51 Un interessante algoritmo: stabilisci la data
espressioni booleane:
della Pasqua per qualsiasi anno. Traduci in
a) (a AND b) XOR c pseudocodice i seguenti passi:
b) a AND b OR c a) assegna alla variabile y l’anno preso in
c) a AND (b OR c) considerazione;
d) a OR b AND c b) assegna alla variabile n la differenza tra 1900 e y;
c) assegna alla variabile a il resto della divisione tra
COMPETENZE la variabile n e 19;
d) assegna alla variabile b il quoziente della divisione
43 Scrivi un algoritmo che, dati in input il cognome, il
tra (7a + 1) e 19;
nome e l’anno di nascita di una persona, fornisca in
output la sua età. e) assegna alla variabile m il resto della divisione tra
(11a + 4 – b) e 29;
44 Dati un numero di giorni, uno di ore, uno di minuti f) assegna alla variabile q il quoziente della divisione
e uno di secondi, calcola il numero di secondi tra n e 4;
corrispondente.
g) assegna alla variabile w il resto della divisione tra
Esempio: (n + q + 31 – m) e 7;
Giorni = 2, Ore = 3, Minuti = 23, Secondi = 7 h) la data della Pasqua è data da 25 – m – w. Se il
q N = 184987 risultato ottenuto è positivo, il mese in cui cadrà
la Pasqua è aprile. Se il risultato è negativo, il
45 Supponiamo di essere andati da un contadino a mese sarà marzo e il giorno potrà essere stabilito
comprare il vino. Il contadino ci vende il vino a secondo la seguente tabella:
1,70 euro il litro. Costruisci un algoritmo che,
ricevuto il numero di litri acquistati, comunichi Risultato Data
l’importo da pagare.
0 31 marzo
46 Per produrre una vernice sono necessari 10 –1 30 marzo
grammi di additivo ogni chilo di prodotto fino a
–2 29 marzo
10 chili e 5 grammi al chilo per i chili eccedenti.
Stabilisci la quantità di additivo in base al ... ...
quantitativo di vernice richiesto.
–9 22 marzo
47 In un condominio si decide di calcolare una
tassa una tantum rispetto alle dimensioni 52 Sullo stipendio dei dipendenti di una ditta viene
dell’appartamento, espresse in metri quadri, applicata una trattenuta fiscale in base alla
in ragione di euro K per ogni metro quadro. seguente tabella:
All’importo così calcolato viene aggiunta una Scaglione 1 Trattenuta 5%
quota fissa di euro X e una percentuale del T%. Scaglione 2 Trattenuta 10%
Scrivi un algoritmo che, dati in input i valori di K, Scaglione 3 Trattenuta 15%
X e T, determini l’ammontare della tassa. Scaglione 4 Trattenuta 25%
Scaglione 5 Trattenuta 35%
48 Progetta un algoritmo che data una quantità Scrivi un algoritmo che, dato in input lo scaglione di
di soldi in lire letta da tastiera restituisca la appartenenza di un dipendente, calcoli la trattenuta
quantità corrispondente in euro (/2000) o in da versare.
dollari(/2500), a seconda del valore assunto da
una variabile moneta di tipo carattere.

320 Sezione D Algoritmi e linguaggi di programmazione


53 Un negoziante, per incrementare le sue vendite, 56 Dimostra l’equivalenza delle seguenti due
prevede di applicare uno sconto progressivo espressioni Booleane:
sull’importo della fattura, in base al numero di a) R = a OR a AND b OR c AND b OR NOT(c AND b)
pezzi acquistati, secondo la seguente tabella:
b) S = a OR c
Numero pezzi acquistati Sconto
57 Facendo uso degli operatori dell’algebra
1 10% booleana, dimostra che l’espressione
3 20% NOT(NOTa AND b AND c OR NOTa AND c AND
NOTb OR NOTa AND NOTd OR NOTb AND c AND d
5 30%
OR NOTb AND c OR NOT( b AND d))
10 35%
assume il valore VERO solo quando a e b sono
> 10 40% contemporaneamente VERE oppure quando d è
vera e contemporaneamente c è FALSA
Calcola lo sconto praticato e la somma che il
cliente dovrà pagare. 58 Ricava, dalla seguente tabella di verità, la
relativa funzione booleana:
54 Per aumentare il numero di visitatori di una
mostra, si decide di far pagare il biglietto
d’ingresso differenziato in base all’età. a b c y
Precisamente: 0 0 0 0
Età Prezzo del biglietto 0 0 1 0
Inferiore a 5 anni Gratuito 0 1 0 0
Fino a 10 anni euro 2 0 1 1 0
Da 11 a 17 anni euro 4 1 0 0 0
Da 18 a 26 anni euro 5 1 0 1 1
Oltre 26 anni euro 7 1 1 0 0
Scrivi un algoritmo che, data in input l’età, 1 1 1 1
visualizzi l’importo del biglietto da pagare.
60 Realizza la tabella di verità di un componente
55 Un’agenzia immobiliare, per incrementare le digitale che possiede le seguenti caratteristiche
sue vendite, decide di abbassare i prezzi degli a) due ingressi d s
appartamenti e affigge la seguente tabella:
b) due uscite u0 e u1 così definite: quando s=0 si ha
Distanza dal centro Prezzo al mq u0=d e u1=0, mentre quando s=1 si ha u0=0 e
u1=d
Centro euro 1.500
Zona 1 euro 1.200 61 Immagina di aver un circuito logico con tre
ingressi a,b ed s, ed una uscita y. L’uscita y
Zona 2 euro 1.400 viene collegata all’ingresso a o b a seconda
Zona 3 euro 1.300 che il valore di s sia 0 o 1, rispettivamente. Un
simile dispositivo prende il nome di multiplexer.
Periferia euro 1.000 Realizza la tabella di verità.
Scrivi un algoritmo che, date in input le
dimensioni dell’appartamento in mq e la
zona di appartenenza, determini il prezzo
dell’appartamento. Infine, per determinare il
prezzo complessivo di vendita, deve essere
aggiunta la percentuale dell’X% relativa alla
provvigione spettante all’agenzia.

Costruiamo algoritmi con la programmazione strutturata D3 321


D4 L’iterazione nella
programmazione strutturata

LABORATORI “CASE STUDIES”


Approfondisci con i casi pratici

IMPARERAI…

Il concetto di iterazione Il costrutto iterativo Il costrutto iterativo Il costrutto iterativo


nella programmazione precondizionale postcondizionale defnito
strutturata

1 Il costrutto iterativo e la potenza di calcolo


Pur avendo a disposizione strutture sequenziali e di selezione, rimangono nume-
rose situazioni che sono “intrattabili” con tali strumenti. In tutti gli esempi visti
in precedenza, la sequenza di istruzioni eseguita dall’algoritmo è sempre stata la
stessa a ogni esecuzione: il risultato finale dipendeva solo dal valore delle variabili
e dai pochissimi dati inseriti dall’utente.
I problemi risolti sono stati del tipo:
“Dati in input tre numeri A, B e C, fornire in output la loro somma”.
Per cui non abbiamo fatto altro che acquisire dall’esterno i valori di A, B e C, som-
marli e visualizzare il risultato.
E se invece avessimo dovuto fare la somma di 100 numeri? Avremmo utilizzato
Lo sai? 100 variabili? Avremmo realizzato un algoritmo simile al seguente?

INIZIO
Se si devono inserire
LEGGI (A)
dei valori attraverso
una sequenza in input LEGGI (B)
la cui lunghezza non LEGGI (C)
è nota a priori, per far LEGGI (D)
cessare l’inserimento
si utilizza uno specifico LEGGI (E)
valore che prende il
nome di tappo. Il suo Certamente no! E ancora: se al posto di 100 numeri volessimo sommare N numeri,
scopo è quello di far con N richiesto in input e che, quindi, può variare da esecuzione a esecuzione?
terminare la sequenza
e quindi impedire Anche in questo caso dovremmo ricorrere a una struttura di controllo diversa da
l’inserimento di quelle viste finora. La struttura che permette di risolvere i casi qui esemplificati è
ulteriori valori. l’iterazione.

322 Sezione D Algoritmi e linguaggi di programmazione


Il costrutto iterativo (detto anche ciclo) viene utilizzato quando un’istruzione
(o un gruppo di istruzioni) deve essere eseguita finché non si verifica una deter- Rifetti
minata condizione.
All’interno dei cicli
Le istruzioni che determinano l’esecuzione dei cicli rivestono particolare impor- spesso è necessario
tanza nella programmazione, in quanto consentono l’esecuzione ripetitiva di tenere traccia del
numero di iterazioni
gruppi di istruzioni per un determinato numero di volte o fino al raggiungimento effettuate. Per ottenere
di un determinato risultato. Sono queste istruzioni, in definitiva, che consentono tale risultato, si ricorre
principalmente di utilizzare in modo efficace la potenza di calcolo degli elabora- a variabili definite
solitamente contatori
tori elettronici. o accumulatori.
Nella programmazione strutturata vengono utilizzati due costrutti iterativi:
• il costrutto iterativo precondizionale;
• il costrutto iterativo postcondizionale.

2 Il costrutto iterativo precondizionale


Cominciamo ad analizzare la prima struttura di controllo, chiamata iterativa
precondizionale (o iterativa con controllo in testa) poiché, come dice il nome
stesso, il controllo della condizione viene effettuato prima di eseguire le istruzioni
che compongono il ciclo.

Sintassi del costrutto iterativo precondizionale

Diagramma a blocchi Pseudolinguaggio

F
<Condizione> Lo sai?
MENTRE(<Condizione>) ESEGUI
V <B1> L’uso del MENTRE
FINEMENTRE richiede alcune
<B1> precauzioni: è
necessario considerare
con attenzione le
condizioni di ingresso
e quelle di uscita del
ciclo. Se le condizioni
di ingresso sono mal
formulate, il computer,
Durante l’esecuzione di questa istruzione si valuta la <Condizione>: se è vera, si in fase di esecuzione,
non entrerà mai nel
esegue il blocco <B1> e si ritorna a valutare la <Condizione>. Questa esecuzione ciclo. D’altra parte,
ciclica continua fino a quando la <Condizione> risulta falsa e, in tal caso, si passa se esiste un errore di
a eseguire l’istruzione successiva al FINEMENTRE. logica all’interno del
ciclo, si corre il rischio
L’espressione logica presente in <Condizione> viene detta guardia del ciclo, men- che l’esecuzione “entri
tre il blocco di istruzioni <B1> viene detto corpo del ciclo. in loop”, ossia che
si resti intrappolati
all’infinito all’interno
del ciclo.

L’iterazione nella programmazione strutturata D4 323


OSSERVA COME SI FA
1 Realizzare un algoritmo che, dati in input N numeri interi, ne determini la somma e la
media.

Analisi del problema


Con un problema così formulato, l’utilizzo del costrutto sequenza per la sua realizzazione è
praticamente impossibile. Non conosciamo a priori quanti sono i numeri di cui fare la somma e,
quindi, non sappiamo quante variabili utilizzare. Il costrutto iterazione, invece, non pone limiti e,
come tale, è l’unico che ci permette la risoluzione di questo tipo di problemi. In questo esercizio
però, prima di impostare l’iterazione, dobbiamo chiedere all’utente quanti sono i numeri che biso-
gna sommare. È questa una richiesta essenziale per una valida esecuzione del costrutto: se non
la facessimo, non sapremmo quando fermarci.
Alla fne del ciclo è necessario controllare che sia stato inserito almeno un numero. Se ciò non
accade, le variabili Somma e Conta rimangono impostate al loro valore iniziale pari a zero e il
calcolo della media avverrebbe effettuando una divisione tra due variabili che contengono zero.
Per evitare questo inconveniente si effettua un controllo sulla variabile Conta.

Formalizzazione dell’algoritmo

ALGORITMO SommaMedia1 INIZIO


VARIABILI SommaMedia1
Num, Somma, Conta: INTERO
Media: REALE
INIZIO Lo sai?
Somma @ 0
Somma @ 0
Conta @ 0
SCRIVI(“Quanti numeri vuoi inserire?”) Nel blocco iterativo
Conta @ 0 deve esserci
LEGGI(N)
l’istruzione che
MENTRE(Conta < N) ESEGUI
modifica la condizione
SCRIVI(“Inserisci un numero”) (nel nostro caso
LEGGI(Num) O
Conta @ Conta + 1),
“Quanti numeri
Somma @ Somma + Num altrimenti, una volta
vuoi inserire?”
Conta @ Conta + 1 iniziato, il ciclo verrà
FINEMENTRE ripetuto all’infinito;
SE(Conta = 0) I in questa evenienza
ALLORA N diremo di trovarci in un
Media @ 0 caso di loop infinito.
ALTRIMENTI
Media @ Somma / Conta F
FINESE
Conta < N
SCRIVI(“La somma è”, Somma) V V F
SCRIVI(“La media è”, Media) Conta = 0
O
FINE “Inserisci
un numero”
Media @ 0 Media @ Somma/Conta

I
Num
O

“La somma è ”, Somma

Somma @ Somma + Num


O

“La media è ”, Media


Conta @ Conta + 1

FINE

324 Sezione D Algoritmi e linguaggi di programmazione


2 Realizzare un algoritmo che, data in input una sequenza di numeri chiusa dallo zero, determi-
ni la loro somma e la media.

Analisi del problema


Questo problema rappresenta una variante del precedente. In questa versione, pur non conoscendo a
priori quanti sono i numeri di cui fare la somma, non dobbiamo preoccuparci di farlo conoscere all’inizio:
si continuerà a inserire numeri fno a quando non verrà inserito lo zero (dato tappo). Una volta digitato
lo zero si uscirà dal ciclo e potremo visualizzare la somma e la media. Le differenze salienti con la pre-
cedente versione sono le seguenti:
■ Non è necessario utilizzare un contatore di ciclo poiché non è necessario contare i numeri inseriti
per verifcare la condizione presente nel ciclo (la guardia del ciclo). Nell’algoritmo, però, utilizze-
remo ugualmente una variabile Conta che avrà sempre la funzione di contatore, ma non per con-
sentirci di uscire dal ciclo, bensì per contare quanti numeri sono stati inseriti al fne di calcolare
correttamente la media.
■ La lettura del numero viene inserita due volte: una esterna al ciclo che ci permette di entrare nel ci-
clo (nel caso in cui il numero inserito sia diverso dal tappo, ossia dallo zero) e una interna (cioè quel-
la inserita nel corpo del ciclo) che ci permette di digitare numeri fno a quando non digitiamo lo zero.

Analisi dei dati NOME FUNZIONE TIPO DESCRIZIONE


Num I INTERO Numero richiesto in input
Somma O INTERO Somma dei numeri inseriti in input
Media O REALE Media dei numeri inseriti in input
Conta L INTERO Contatore del ciclo

Formalizzazione dell’algoritmo
ALGORITMO SommaMedia2 INIZIO
VARIABILI SommaMedia2
Num, Somma, Conta: INTERO
Media: REALE Somma @ 0
INIZIO
Somma @ 0
Conta @ 0
Conta @ 0
SCRIVI(“Inserisci un numero”) O
LEGGI(Num) “Inserisci
un numero”
MENTRE(Num ≠ 0) ESEGUI
Somma @ Somma + Num I
Conta @ Conta + 1 Num
SCRIVI(“Inserisci un numero”)
LEGGI(Num)
FINEMENTRE F
Num & 0
SE(Conta = 0)
ALLORA V V F
Media @ 0 Conta = 0
Somma @ Somma + Num
ALTRIMENTI
Media @ 0 Media @ Somma/Conta
Media @ Somma / Conta
FINESE Conta @ Conta + 1
SCRIVI(“La somma è”, Somma) O
O “La somma è ”, Somma
SCRIVI(“La media è”, Media) “Inserisci
FINE un numero”
O
“La media è ”, Media
I
Num
FINE

L’iterazione nella programmazione strutturata D4 325


3 Realizzare un algoritmo che, data in input una sequenza di numeri chiusa dallo zero, ne
determini la somma e la media. Nel caso in cui l’utente non digiti lo zero, non sarà co-
munque possibile inserire più di 50 numeri.

Analisi del problema


Questo problema rappresenta un’altra variante dei precedenti. Anche in questa versione conti-
nueremo a inserire numeri fno a quando non digiteremo lo zero, il cui inserimento provocherà
l’uscita dal ciclo consentendo la visualizzazione della somma e della media. La differenza con
il precedente problema consiste nel fatto che non possiamo inserire più di 50 numeri. Pertanto,
occorre prestare attenzione al caso in cui l’utente non abbia ancora digitato lo zero ma abbia
inserito 50 numeri, eventualità che porterà comunque a terminare l’inserimento. Per far questo
dobbiamo apportare una modifca al ciclo che, in questo caso, prevederà due condizioni legate
dall’operatore logico AND: la prima verifcherà che il numero inserito sia diverso da zero e la
seconda accerterà che la quantità di numeri inseriti sia minore di 50.
Formalizzazione dell’algoritmo ALGORITMO SommaMedia3
VARIABILI
Num, Somma, Conta: INTERO
Media: REALE
INIZIO
Somma @ 0
Conta @ 0
SCRIVI(“Inserisci un numero”)
LEGGI(Num)
MENTRE((Num ≠ 0) AND (Conta ≠ 50)) ESEGUI
Somma @ Somma + Num
Conta @ Conta + 1
INIZIO SCRIVI(“Inserisci un numero”)
SommaMedia3
LEGGI(Num)
FINEMENTRE
Somma @ 0 SE(Conta = 0)
ALLORA
Conta @ 0 Media @ 0
ALTRIMENTI
“Inserisci
O Media @ Somma / Conta
un numero” FINESE
SCRIVI(“La somma è”, Somma)
Num
I SCRIVI(“La media è”, Media)
FINE

Num & 0 F
AND Conta & 50

V V F
Conta = 0
Somma @ Somma + Num
Media @ 0 Media @ Somma/Conta

Conta @ Conta + 1
O
“La somma è ”, Somma
O
“Inserisci
un numero” O
“La media è ”, Media
I
Num
FINE

326 Sezione D Algoritmi e linguaggi di programmazione


4 Realizzare un algoritmo che, data in input una sequenza di N numeri, determini il massi-
mo tra essi.

Analisi del problema


Acquisiamo innanzitutto il numero N di numeri e successivamente, attraverso un ciclo precon-
dizionale, chiediamo all’utente di inserire N volte i numeri da analizzare. Per quanto riguarda la
ricerca del massimo, ipotizziamo che il primo numero inserito sia il massimo (ed effettivamente
lo è, essendo il primo!). In seguito, per ogni numero della sequenza inserito, confrontiamo tale
numero con l’ipotetico massimo che abbiamo stabilito. Se il numero inserito risulta maggiore
del massimo, aggiorniamo il massimo, altrimenti il numero inserito viene ignorato e si passa
all’analisi del successivo.
Analisi dei dati

NOME FUNZIONE TIPO DESCRIZIONE


N I INTERO Numero di elementi da inserire
Num I INTERO Numero richiesto in input
Max O INTERO Massimo elemento presente nella sequenza di numeri inseriti
Conta L INTERO Contatore del ciclo

Formalizzazione dell’algoritmo INIZIO


Massimo
ALGORITMO Massimo
VARIABILI
Conta @ 1
N, Num, Max, Conta: INTERO
INIZIO
O
Conta @ 1 “Quanti numeri
SCRIVI(“Quanti numeri vuoi inserire?”) vuoi inserire?”
LEGGI(N)
MENTRE(Conta ≤ N) ESEGUI I
N
SCRIVI(“Inserisci un numero”)
LEGGI(Num)
SE(Conta = 1)
ALLORA F
Conta ≤ N
Max @ Num
ALTRIMENTI V O

SE(Num > Max) O


“Il massimo è ”, Max
ALLORA “Inserisci
un numero”
Max @ Num
FINESE FINE
I
FINESE Num
Conta @ Conta + 1
FINEMENTRE
SCRIVI(“Il massimo è”, Max) V F
Conta = 1
FINE

Max @ Num V F
Num > Max

Max @ Num

Conta @ Conta + 1

L’iterazione nella programmazione strutturata D4 327


ORA TOCCA A TE
1 Analizza il seguente pseudocodice:

ALGORITMO Uno INIZIO


VARIABILI Uno
I, R: INTERO
I@0
INIZIO
I@0
MENTRE(I > 2) ESEGUI F
I>2
R@R+1
FINEMENTRE V R@5
R@5
R@R+1
FINE FINE

■ il blocco del ciclo MENTRE (cioè l’istruzione R @ R + 1) sarà mai eseguito?


■ Se la risposta è no, per quale motivo?

2 Analizza il seguente pseudocodice:


INIZIO
ALGORITMO Due Due
VARIABILI
I@0
I, R: INTERO
INIZIO R@0
I@0
R@0
MENTRE(I ≤ 10) ESEGUI F
I ≤ 10
R@R+1
I@I+1 V
FINEMENTRE R@R+1 R@5
R@5
O
SCRIVI(R) I@I+1 R
FINE
FINE
■ Quante volte viene eseguito il ciclo MENTRE?
■ Qual è il valore della variabile R all’uscita dal ciclo (cioè subito dopo l’esecuzione dell’istru-
zione FINEMENTRE)? Qual è il valore visualizzato della variabile R?

3 Quale sequenza produce in output il seguente pseudocodice?


INIZIO
ALGORITMO Tre
Tre
VARIABILI
I: INTERO I@1
INIZIO
I@1
MENTRE(I > 19) ESEGUI F
I > 19
SCRIVI(I)
I@I+1 V
FINEMENTRE O FINE
I
FINE

Se il valore di I fosse partito da 0, quale sequenza I@I+1


sarebbe stata prodotta in output?

328 Sezione D Algoritmi e linguaggi di programmazione


4 Analizza il seguente pseudocodice: 5 Considera il seguente pseudocodice:

ALGORITMO Quattro ALGORITMO Cinque


VARIABILI VARIABILI
I, R: INTERO Numero1, Numero2, Effetto: INTERO
INIZIO INIZIO
I@1 LEGGI(Numero1, Numero2)
R@0 Effetto @ 0
MENTRE(I ≤ 10) ESEGUI MENTRE(Numero1 ≠ 0) ESEGUI
R@R+1 SE(Numero1 MOD 2 ≠ 0)
I@I+2 ALLORA
FINEMENTRE Effetto @ Effetto + Numero2
SCRIVI(R) FINESE
FINE Numero1 @ Numero1 / 2
Numero2 @ Numero2 * 2
■ Quante volte viene eseguito il ciclo MENTRE? FINEMENTRE
■ Qual è il valore della variabile R all’uscita dal ciclo? SCRIVI(Effetto)
■ Qual è il valore visualizzato della variabile R? FINE
■ Quale ritocco apporteresti alla variabile I affnché il
ciclo non venga mai avviato? ■ Qual è l’output prodotto dallo pseudocodice nel caso
■ Quale ritocco apporteresti alla variabile I affnché il in cui i valori delle variabili di input siano Numero1 =
ciclo venga eseguito una sola volta? 37 e Numero2 = 41?
■ Realizza il corrispondente diagramma a blocchi. ■ Qual è l’output prodotto dallo pseudocodice nel caso
in cui i valori delle variabili di input siano Numero1 =
31 e Numero2 = 17?
■ Che cosa rappresenta il risultato fornito in output?
■ Realizza il corrispondente diagramma a blocchi.

3 Il costrutto iterativo postcondizionale


Nel costrutto iterativo postcondizionale (oppure con controllo in coda) il control-
lo della condizione viene effettuato dopo l’esecuzione delle istruzioni che com-
pongono il ciclo.
Diamo uno sguardo alla descrizione sintattica illustrata nella seguente figura.

Sintassi del costrutto iterativo postcondizionale


Diagramma a blocchi Pseudolinguaggio

<B1> avvita un bullone

RIPETI
<B1>
FINCHÉ (<Condizione>)
F F
<Condizione> tutti avvitati

V V

L’iterazione nella programmazione strutturata D4 329


Dopo aver eseguito per la prima volta il ciclo, si valuta la <Condizione>: se è falsa,
si riesegue il blocco <B1>, altrimenti (ossia, se la <Condizione> è vera) si esce dal ci-
clo e si passa a eseguire l’istruzione successiva al FINCHÉ. Ovviamente, anche in
questo caso l’espressione logica presente in <Condizione> rappresenta la guardia
del ciclo, mentre il blocco di istruzioni <B1> è il corpo del ciclo.
L’istruzione iterativa postcondizionale presenta notevoli differenze rispetto a
quella precondizionale; esaminiamole con attenzione:
Istruzione iterativa MENTRE Istruzione iterativa RIPETI FINCHÉ

1. La condizione viene controllata prima di eseguire il blocco B1. 1. La condizione viene controllata dopo aver eseguito il blocco B1.

2. Il blocco B1 può non essere mai eseguito. 2. Il blocco B1 è eseguito almeno una volta.

3. Il blocco B1 è eseguito fntantoché la condizione rimane vera. 3. Il blocco B1 è eseguito fntantoché la condizione rimane falsa.

OSSERVA COME SI FA
1 Realizzare un algoritmo che stampi i numeri interi dispari minori o uguali a N, con N
letto da tastiera.
Analisi del problema
Innanzitutto occorre acquisire in input il numero N. Successivamente si inizializza un contatore
e si verifca se il suo valore è pari o dispari (attraverso la funzione MOD per il calcolo del resto di
una divisione intera). Se il valore è dispari, allora si visualizza il valore del contatore, altrimenti
lo si ignora. Il procedimento continua fno a che il valore del contatore si mantiene inferiore a N.
Analisi dei dati
NOME FUNZIONE TIPO DESCRIZIONE
N I INTERO Quantità di numeri da inserire in input
Conta O INTERO Contatore del ciclo
INIZIO
Dispari
Formalizzazione dell’algoritmo
O
ALGORITMO Dispari “Inserisci il valore di N”
VARIABILI
I
N, Conta: INTERO N
INIZIO
SCRIVI(“Inserisci il valore di N”) Conta @ 1
LEGGI(N)
Conta @ 1
RIPETI V F
Conta MOD 2 = 1
SE(Conta MOD 2 = 1)
ALLORA Conta
O

SCRIVI(Conta)
FINESE
Conta @ Conta + 1
Conta @ Conta + 1
FINCHÉ(Conta > N)
FINE
F
Conta > N
V

FINE

330 Sezione D Algoritmi e linguaggi di programmazione


2 Realizzare un algoritmo che calcoli il prodotto di due numeri interi utilizzando la sola
operazione di somma.

Analisi del problema


Dopo aver richiesto in input due numeri A e B strettamente positivi, si tratta di sommare il nu-
mero A con se stesso per un numero di volte pari al numero B. Per poter individuare il numero
di volte che deve essere eseguita la somma e, quindi, per comprendere quando ci si deve fer-
mare, decrementeremo di uno il valore del numero B ogni volta che viene eseguita la somma.
Questa operazione si interromperà quando il valore di B sarà uguale a 0.
Analisi dei dati

NOME FUNZIONE TIPO DESCRIZIONE


A I INTERO Valore del moltiplicando
B I INTERO Valore del moltiplicatore
Prodotto O INTERO Valore del prodotto

Formalizzazione dell’algoritmo
INIZIO
ProdottoAB
ALGORITMO ProdottoAB
VARIABILI
O
A, B, Prodotto: INTERO “Inserisci I valori
di A e B”
INIZIO
SCRIVI(“Inserisci i valori di A e B”)
I
LEGGI(A, B) A, B
Prodotto @ 0
RIPETI
Prodotto @ Prodotto + A Prodotto @ 0

B@B–1
FINCHÉ(B = 0)
SCRIVI(“Il prodotto è”, Prodotto) Prodotto @ Prodotto + A
FINE

B@B–1

F
B=0

V
O

“Il prodotto è ”, Prodotto

FINE

L’iterazione nella programmazione strutturata D4 331


ORA TOCCA A TE
1 Analizza il seguente pseudocodice: INIZIO
Uno
ALGORITMO Uno
VARIABILI A@5
A: INTERO
INIZIO
A@A*2
A@5
RIPETI O
A
A@A*2
SCRIVI(A)
F
FINCHÉ(A > 50) A > 50
FINE V
Qual è l’output fornito? Quante volte viene eseguito il ciclo? FINE

2 Analizza il seguente pseudocodice: INIZIO


Due
ALGORITMO Due
VARIABILI
A@5
A: INTERO
INIZIO
A@5 A@A*2
RIPETI
A@A*2 F
A > 50
FINCHÉ(A > 50)
V
SCRIVI(A)
O
FINE A

Qual è l’output fornito? Quante volte viene eseguito il ciclo?


FINE

3 Analizza il seguente pseudocodice: INIZIO


Tre
ALGORITMO Tre
VARIABILI A@5
A: INTERO
INIZIO
A@A*2
A@5
RIPETI
F
A@A*2 A < 50
FINCHÉ(A < 50)
V
SCRIVI(A)
O
FINE A

Qual è l’output fornito? Quante volte viene eseguito il ciclo?


FINE

332 Sezione D Algoritmi e linguaggi di programmazione


4 Il seguente algoritmo presenta un loop infnito. Individua l’errore. INIZIO
Quattro
ALGORITMO Quattro
VARIABILI Y@7
X, Y: INTERO
INIZIO X@1
Y@7
X@1
RIPETI Y@Y
Y@Y
Y@Y+1 Y@Y+1

FINCHÉ(Y = 0)
F
SCRIVI(X) Y=0
FINE
V
O
X

FINE

5 Trova il valore delle variabili I e R alla fne dell’ese- 6 Trova il valore delle variabili I e R alla fne dell’ese-
cuzione del seguente pseudocodice attraverso la cuzione del seguente pseudocodice attraverso la
tavola di traccia: tavola di traccia:
ALGORITMO Cinque ALGORITMO Sei
VARIABILI VARIABILI
I, R: INTERO I, R: INTERO
INIZIO INIZIO
I@1 I@1
R@0 R@3
RIPETI RIPETI
R@R+1 SE(I ≠ 2)
SE(R ≠ 2) ALLORA
ALLORA R@R–1
I@0 ALTRIMENTI
ALTRIMENTI R@R+1
I@1 FINESE
FINESE I@I+1
FINCHÉ(I ≠ 0) FINCHÉ(I < 0)
FINE FINE

Quante volte viene eseguito il ciclo RIPETI? Realizza il corrispondente diagramma a blocchi.
Realizza il corrispondente diagramma a blocchi.

L’iterazione nella programmazione strutturata D4 333


Le istruzioni iterative precondizionale e postcondizionale
a confronto
Analizziamo l’esercizio relativo all’algoritmo SommaMedia2 che abbiamo visto in
precedenza. Puoi notare che vi è stata la necessità di inserire due volte il blocco di
istruzioni:

SCRIVI(“Inserisci un numero”)

LEGGGI(Num)

Il primo blocco, al di fuori del ciclo, era necessario per acquisire il primo valore
di Num da valutare all’interno del costrutto precondizionale, mentre il secondo
blocco (all’interno del ciclo) ha consentito di acquisire tutti i restanti valori sui
quali calcolare Somma e Media.

Sempre all’interno di questo algoritmo abbiamo considerato la circostanza in cui


il dato tappo (zero) venga inserito per primo e unico elemento: se si dovesse veri-
ficare questa ipotesi, l’algoritmo non entrerebbe mai nel ciclo procedendo diretta-
mente verso la fine.

Il costrutto postcondizionale, in questo caso, semplifica la soluzione per due


motivi:

• evita di inserire due volte lo stesso blocco di istruzioni; in effetti almeno un


valore si rende necessario e si può inserire direttamente all’interno del ciclo,
Lo sai? in quanto la condizione verrà poi valutata dal costrutto postcondizionale alla
fine del blocco;

È doveroso ricordare
• in caso di inserimento del primo valore come dato tappo (zero), la variabile
che il nostro approccio Somma verrà comunque calcolata ma rimarrà a zero (Somma ← 0 + 0), mentre
metodologico/ la variabile Conta verrà incrementata di uno. L’immediata uscita dal ciclo (la
didattico prevede un
ciclo postcondizionale
condizione risulterà subito vera) porterà a determinare subito la Media che
in cui il blocco viene avrà anche essa il valore 0 (Media ← 0 / 1).
ripetuto finché la
condizione rimane
falsa.
Questo significa che il costrutto postcondizionale è sempre preferibile a quello
I moderni linguaggi precondizionale? La risposta è no, in realtà dipende dal tipo di problema e di so-
di programmazione luzione da adottare.
mettono a disposizione
istruzioni iterative
postcondizionali che
Ribadiamo però che, nel caso in cui almeno una istruzione o un blocco di istruzio-
iterano quando la ni debba essere eseguito necessariamente almeno una volta, il costrutto postcon-
condizione è vera. dizionale è da considerare più utile.

334 Sezione D Algoritmi e linguaggi di programmazione


Algoritmo con costrutto
Algoritmo con costrutto precondizionale
postcondizionale

INIZIO
SommaMedia2

Somma @ 0
INIZIO
SommaMedia2
Conta @ 0
Somma @ 0

Conta @ 0 O

“Inserisci un numero”
O
“Inserisci
un numero”
I

I Num
Num

Somma @ Somma + Num


F
Num & 0
V V F Conta @ Conta + 1
Conta = 0
Somma @ Somma + Num
Media @ 0 Media @ Somma/Conta F
Num = 0
Conta @ Conta + 1
O
V
O “La somma è ”, Somma
“Inserisci Media @ Somma / Conta
un numero”
O
“La media è ”, Media O
I “La somma è ”, Somma
Num
FINE
O
“La media è ”, Media

FINE

Dall’osservazione dei precedenti esempi si può evincere come un algoritmo con


costrutto iterativo postcondizionale possa essere trasformato in uno con costrut-
to precondizionale semplicemente duplicando il blocco interno al ciclo e negando
la condizione. Rimarchiamo ancora una volta il fatto che i due costrutti iterano in
modo differente (il postcondizionale per falso e il precondizionale per vero); le con-
dizioni dell’iterazione, nei due casi, sono una la negazione dell’altra.

RIPETI MENTRE NOT(<Condizione>) ESEGUI


<B1> <B1>
FINCHÉ(<Condizione>) FINEMENTRE

L’iterazione nella programmazione strutturata D4 335


4 Il costrutto iterativo definito
In precedenza abbiamo esaminato delle strutture di controllo iterative nelle quali
la condizione di fine era data dalla valutazione di un’espressione e quindi il nume-
ro dei cicli dipendeva dal verificare ogni volta l’esito della condizione: vera o falsa.
Pertanto erano iterazioni il cui numero non poteva essere stabilito a priori (itera-
zioni indefinite). Esiste invece un costrutto iterativo applicabile nel momento in
cui il numero di cicli è noto all’inizio (iterazioni definite).
Alcuni esempi di processi descrivibili con iterazioni indefinite e definite sono pre-
sentati nella tabella che segue.
Iterazioni indefnite Iterazioni defnite
Mentre diluvia, pensa a studiare Inserisci 40 foto nell’album
Mescola la crema, fnché si addensa Per 5 giorni devi prendere la medicina
Mentre la terra è secca, innaffa la pianta Invia 100 email di Buon Natale agli amici
Finché non ti senti dissetato, continua a bere Scrivi 20 lettere

La struttura iterativa definita (chiamata anche iterativa enumerativa) è un


costrutto iterativo derivato da quello precondizionale e permette di ripetere un
blocco di istruzioni non in base al valore di verità di una condizione, ma in base
al numero di volte che si vuole ripetere il blocco. In questo particolare costrutto
iterativo precondizionale la condizione di arresto è indicata dal valore massimo
che può raggiungere una variabile, denominata indice, utilizzata come contatore.
La sintassi di questa nuova istruzione è la seguente.

Sintassi dell’istruzione iterativa definita o enumerativa


Diagramma a blocchi Pseudolinguaggio

Lo sai?
F
<Condizione>
La struttura iterativa
definita viene sempre PER <Indice> @ <Inizio> A <Fine> ESEGUI
V <B1>
rappresentata
all’interno del FINEPER
diagramma a <B1>
blocchi attraverso
il costrutto iterativo
precondizionale.

In questa struttura l’<Indice>, che serve da controllo per la ripetizione, assume ini-
zialmente il valore indicato da <Inizio>. Una volta entrati nel ciclo si procede con
l’esecuzione del blocco di istruzioni racchiuso tra le parole chiave PER e FINEPER.
L’esecuzione di questo blocco viene ripetuta e a ogni iterazione viene incrementa-
to il valore dell’<Indice>. Il ciclo continua a essere eseguito fintantoché l’<Indice>
si mantiene minore o uguale al valore di <Fine>. La ripetizione del blocco, di con-
seguenza, si arresta quando l’<Indice> diviene maggiore di <Fine>.

336 Sezione D Algoritmi e linguaggi di programmazione


Diamo uno sguardo agli algoritmi risolutivi del problema seguente:
dati in input 5 numeri, visualizzare la loro somma e la loro media.
Le due versioni proposte di seguito sono state realizzate utilizzando, rispettiva-
mente, la struttura di controllo iterativa precondizionale e quella iterativa defini-
ta e indicizzata.
Struttura iterativa precondizionale Struttura iterativa definita e indicizzata
ALGORITMO SommaMedia1 ALGORITMO SommaMedia2
VARIABILI VARIABILI
Num, Somma, Conta: INTERO Num, Somma, Conta: INTERO
Media: REALE Media: REALE
INIZIO INIZIO
Somma ← 0 Somma ← 0
Conta ← 0 PER Conta ← 0 A 4 ESEGUI
MENTRE(Conta < 5) ESEGUI LEGGI(Num)
LEGGI(Num) Somma ← Somma + Num
Somma ← Somma + Num FINEPER
Conta ← Conta + 1 Media ← Somma / Conta
FINEMENTRE SCRIVI(“La somma è”, Somma)
Media ← Somma / Conta SCRIVI(“La media è”, Media)
SCRIVI(“La somma è”, Somma) FINE
SCRIVI(“La media è”, Media)
FINE

Osserviamo le differenze:
1. in questo costrutto la variabile Conta, pur avendo la funzione di contatore, è
più propriamente definita come variabile indice;
2. la variabile indice Conta non necessita dell’inizializzazione (cioè dell’asse-
gnazione del suo valore di partenza) esterna al costrutto, in quanto viene ini-
zializzata durante l’impostazione del ciclo. Non è così nel costrutto MENTRE,
dove, invece, notiamo l’inizializzazione della variabile (Conta ← 0);
3. la variabile indice non necessita dell’incremento. Nell’algoritmo, infatti, non
troviamo l’istruzione Conta ← Conta + 1, che è sottintesa nel costrutto;
4. il ciclo PER si comporta esattamente come il ciclo MENTRE in quanto, se il
valore di INIZIO è maggiore di FINE, non viene mai eseguito.
A completamento di questo costrutto vi sono alcune caratteristiche sintattiche,
che consentono di:
• decrementare il valore dell’<Indice>, anziché incrementarlo, attraverso la dici-
tura INDIETRO:
PER Conta ← 13 INDIETRO A 5 ESEGUI

l’<Indice> Conta viene inizializzato a 13 e decrementato a ogni ciclo fino al


valore 5;
• stabilire il valore dell’incremento o decremento dell’<Indice>, di default unita-
rio, attraverso la parola PASSO:
PER Conta ← 0 A 50 PASSO 2 ESEGUI

l’<Indice> Conta viene inizializzato a 0 e incrementato, a ogni ciclo, di 2, fino al


valore 50; conterrà, quindi, solo numeri pari.

L’iterazione nella programmazione strutturata D4 337


RIPASSIAMO INSIEME
L’ITERAZIONE NELLA PROGRAMMAZIONE STRUTTURATA

MAPPA
MODIFICABILE
Che cosa rappresenta il costrutto di iterazione?

Il costrutto di iterazione o costrutto iterativo (o


ciclo) viene utilizzato quando un’istruzione (o un
gruppo di istruzioni) deve essere eseguita finché
Qual è la sintassi
non si verifica una determinata condizione.
del costrutto
iterativo
precondizionale?

Qual è la sintassi del costrutto


iterativo postcondizionale?
F
<Condizione>

V
<B1>
RIPETI
<B1>
<B1>

F FINCHÉ(<Condizione>)
<Condizione>

MENTRE(<Condizione>) ESEGUI V
<B1>
FINEMENTRE

Qual è la sintassi del


costrutto iterativo definito?

F
<Condizione>

V PER <Indice> ← <Inizio> A <Fine> ESEGUI


<B1>
<B1> FINEPER

338 Sezione D Algoritmi e linguaggi di programmazione


D4
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Il costrutto iterativo viene utilizzato quando


vi è la necessità di ripetere più volte
le stesse istruzioni (A) .................................................... ☐ V ☐ F

2) Il costrutto iterativo precondizionale prevede


il controllo in testa (B) .................................................. ☐ V ☐ F

3) Il blocco di istruzioni del costrutto iterativo


postcondizionale potrebbe non essere mai
eseguito (D) ......................................................................... ☐ V ☐ F

4) Il costrutto iterativo definito prevede


la condizione del ciclo all’inizio (C) .......................... ☐ V ☐ F

Completa le affermazioni seguenti.

5) Il costrutto iterativo prevede l’iterazione di un blocco di


……………………. (A)

6) Il costrutto iterativo …………………………………. prevede il controllo


alla fine del blocco (D)

7) Il costrutto iterativo definito prevede il controllo


in …....…………… (C)

8) Il costrutto iterativo precondizionale itera quando


la ……………………. è vera (B)

9) Il costrutto iterativo postcondizionale itera quando


la condizione è .................. (D)

L’iterazione nella programmazione strutturata D4 339


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo D4
Risposta singola 11 Il blocco del costrutto PER… viene
eseguito almeno una volta V F
1 Relativamente ai cicli, che cos’è un dato tappo?
A un valore prestabilito che ha il compito di 12 Il ciclo PER… itera per vero V F
introdurre la sequenza 13 Il ciclo PER... contiene un indice
B un valore prestabilito che ha il compito di chiudere da incrementare nel blocco interno V F
la sequenza
14 Il termine RIPETI si utilizza nel costrutto
C un valore prestabilito che ha il compito di definito V F
segnalare un errore all’interno della sequenza
15 Il termine FINCHÉ si utilizza nel costrutto
2 Relativamente ai cicli MENTRE e RIPETI: indefinito V F
A entrambi si usano solo se è noto il numero di 16 Il costrutto PER… Consente di
iterazioni decrementare l’indice V F
B entrambi i cicli eseguono almeno una volta il
gruppo di azioni contenute al loro interno
17 Il costrutto PER… Consente di
incrementare l’indice di 10 unità alla volta V F
C il valore di verità del ciclo RIPETI è opposto a
quello del ciclo MENTRE equivalente
Completamento
3 Relativamente ai costrutti iterativi:
A qualsiasi tipo di ciclo può essere risolto mediante
18 Un algoritmo ___________ è una tipologia
di ____________ costituito da una sequenza
il ciclo MENTRE
di azioni che viene ripetuta, finché è necessaria
B il ciclo RIPETI e il ciclo PER non possono mai la ripetizione stessa (un ______________).
essere eliminati per risolvere le iterazioni
C il ciclo PER può essere utilizzato anche come 19 Chi realizza un _________________ deve essere
costrutto iterativo postcondizionale certo che esista almeno un _______________
in cui la precondizione di permanenza diventi
4 Nel ciclo PER: falsa per fare in ____________che l’algoritmo
A non si deve incrementare il contatore di ciclo termini, altrimenti potrebbe entrare in stato
B il contatore assume il nome di variabile indice di ____________ infinito.
C l’incremento del contatore può essere solo
unitario
20 Il costrutto PER viene utilizzato ogni volta
che è noto a priori il _______________di cicli
D la condizione è posta in coda da eseguire. Nel _____________ MENTRE
la condizione di uscita era dettata da una
5 La guardia del ciclo nel costrutto definito:
condizione generica, nel ____________ PER
A non esiste la condizione di uscita è stabilità da un
B itera per vero __________ e cioè una variabile intera che
C itera sull’indice memorizza il numero di volte che il ciclo è stato
__________________
D azzera l’indice

Vero o falso 21 Che cosa si intende con guardia del ciclo?

6 L’iterazione deve avere una fine V F 22 Che differenza c’è tra un ciclo indefinito e un
ciclo definito?
7 Il costrutto postcondizionale itera per vero V F
8 Il costrutto precondizionale itera per vero V F 23 Sapresti individuare l’aspetto critico di un ciclo?
9 Il costrutto precondizionale è sempre 24 Che differenza c’è tra la guardia del ciclo
da preferire a quello postcondizionale V F
precondizionale e postcondizionale?
10 Il termine MENTRE viene utilizzato solo
per il costrutto precondizionale V F

340 Sezione D Algoritmi e linguaggi di programmazione


Allena le tue ABILITÀ
e le tue COMPETENZE D4
ABILITÀ 13 Scrivi un algoritmo che, dopo l’immissione di N
numeri interi, consenta di:
1 Scrivi un algoritmo che, dati in input N numeri,
a) contare quanti sono i numeri positivi
determini, per ognuno di loro, il loro valore
effettuandone la somma;
assoluto.
b) contare quanti sono i numeri negativi
2 Scrivi un algoritmo che visualizzi i primi 100 effettuandone la somma;
numeri pari. c) visualizzare i conteggi effettuati.

3 Generalizza l’esercizio precedente facendolo 14 Scrivi un programma che visualizzi tutti i numeri
operare su N numeri. da 10 a 100 multipli di 3.

4 Scrivi un algoritmo che visualizzi i primi N numeri 15 Scrivi un programma che visualizzi tutti i numeri
dispari. da 10 a 100 multipli di 3 e di 5.

5 Scrivi un algoritmo che legga N numeri interi (con 16 Scrivi un programma che legga da tastiera N
N < 100) e calcoli la somma dei soli numeri numeri reali (N richiesto da tastiera) ed effettui i
dispari. seguenti calcoli visualizzandone il risultato:
a) minimo b) massimo c) media dei valori.
6 Scrivi un algoritmo che, dati in input N numeri
interi e un numero X, determini: 17 Data una sequenza di N numeri interi, calcola la
a) quanti numeri sono maggiori di X somma dei pari e il prodotto dei dispari.
b) quanti sono minori di X
c) quanti sono uguali a X
18 Data la successione 1, 2, 4, 8, 16, 32..., in
cui ogni elemento è il doppio del precedente,
stabilisci qual è il primo termine maggiore di un
7 Scrivi un algoritmo che, dati in input N numeri
valore intero N introdotto.
interi, determini il massimo e il minimo.
19 Osserva il seguente algoritmo espresso in
8 Scrivi un algoritmo che, data una sequenza di
pseudocodifica:
numeri chiusa dallo zero, determini il valore
massimo, il valore minimo e la posizione dei due INIZIO
valori nell’ambito della sequenza (lo zero non LEGGI(Numero)
deve essere considerato). I@1
MENTRE(I < Numero) ESEGUI
9 Dati i voti riportati da alcuni studenti in una SCRIVI(I)
prova, stabilisci quanti sono insufficienti e quanti I@I+1
sufficienti FINEMENTRE
FINE
10 Scrivi un algoritmo che, dati in input N valori
interi positivi, calcoli la media aritmetica e la Ora:
media geometrica. a) enuncia il problema che risolve;
b) trasforma il ciclo iterativo MENTRE in un ciclo
11 Stampa i multipli di un numero intero A compreso iterativo RIPETI;
tra due numeri interi X e Y.
c) trasforma il ciclo iterativo MENTRE in un ciclo
iterativo determinato;
12 Data una serie di altezze, conta le persone che
hanno altezza compresa tra due valori limite d) se alla variabile Numero viene assegnato il valore
inseriti in input. zero, quante volte viene ripetuto il ciclo? (Serviti
della tavola di traccia)

L’iterazione nella programmazione strutturata D4 341


20 Scrivi un algoritmo che calcoli la somma dei COMPETENZE
quadrati dei primi K numeri naturali successivi a
un numero naturale N, noti K e N. 30 Dati N numeri reali, calcola la media aritmetica e
indica il valore per il quale si registra il massimo
21 Scrivi un algoritmo che, dati in input N numeri, scostamento.
determini il fattoriale di ognuno.
31 Scrivi un algoritmo che, servendosi
22 Scrivi un algoritmo che calcoli il quadrato dei esclusivamente delle operazioni di addizione e
primi N numeri naturali. sottrazione, calcoli rispettivamente il prodotto
e il quoziente di due numeri interi positivi X e Y.
(Per risolvere il problema serviti della seguente Per quanto riguarda il quoziente, accertati di non
regola: il quadrato di un numero x diverso da zero incorrere in forme indeterminate.
è uguale alla somma dei primi x numeri dispari. Ad
esempio: il quadrato di 5 è dato da 1 + 3 + 5 + 7 32 Supponendo che l’esecutore conosca le quattro
+ 9 = 25). operazioni, scrivi un algoritmo per il calcolo della
potenza xy di due interi non negativi x e y ricevuti
23 Scrivi un algoritmo che calcoli la radice quadrata in ingresso. Riscrivi poi l’algoritmo nel caso in
(intera) di un numero naturale N. cui l’esecutore conosca solo le operazioni di
Suggerimento somma e sottrazione.
Considera un intero X dopo l’altro a partire da
1, e calcolane il quadrato X * X: fermati appena
33 Date N lettere maiuscole, conta le vocali e le
consonanti.
tale quadrato supera N. Il precedente numero
considerato (X – 1) è il risultato.
34 Calcola il Minimo Comune Multiplo tra due
numeri interi positivi A e B procedendo nel
24 Scrivi un algoritmo che letto un numero A in input,
seguente modo: confronta i due valori e somma
generi e visualizzi i primi 100 valori della seguente
al valore più piccolo se stesso, confronta la
successione:
somma ottenuta con l’altro valore, somma un
5 + A, 10 + A, 15 + A, 20 + A, ... altro valore alla somma più piccola finché le due
somme diventano uguali.
25 Per ognuna delle seguenti successioni di numeri, Esempio: A = 3 B = 5.
costruisci l’algoritmo che le genera:
3 + 3|5 6|5 + 5 9 + 3|10 2|10 + 5
a) 1, 3, 5, 7, 9, ..., 99 12 + 3|15 15|15
b) 1, 4, 9, 16, 25, ..., 2500
c) 1, –2, 3, –4, 5, –6, ..., –100 35 Dato un numero reale N e uno intero M, calcola
la potenza di N alla M con M ≥ 0.
d) 1/2, 2/3, 3/4, 4/5, ..., 99/100
Variante: supponi che M possa assumere valori
26 Una ditta produce pacchetti di sale. Tali negativi.
pacchetti devono contenere 1 kg di sale con una
tolleranza in più o in meno del 2%. Costruisci un 36 Si vuole automatizzare il calcolo delle ore
algoritmo che, data in ingresso la sequenza dei lavorative settimanali da retribuire a ciascun
pesi dei pacchetti (che termina con 0), fornisca: dipendente di una ditta. Scrivi un algoritmo che,
date in input l’ora di entrata e l’ora di uscita dal
a) il numero di pacchetti di peso corretto, sottopeso cartellino personale, calcoli approssimativamente
e sovrappeso; il totale delle ore da retribuire.
b) il peso totale della merce nei pacchetti a norma e
il peso totale nei pacchetti fuori norma. 37 Vogliamo gestire un conto corrente bancario.
Realizza un algoritmo che, una volta inserito
27 Scrivi un algoritmo che acquisisca in input un il saldo iniziale, richieda le varie operazioni
numero intero e lo visualizzi in formato binario. (versamento, prelevamento) e la somma.
L’algoritmo dovrà:
28 Scrivi un algoritmo che acquisisca in input un a) segnalare eventuali scoperti e, in caso siano
numero intero e lo visualizzi in formato ottale. presenti, non permettere l’operazione;
b) visualizzare il numero di versamenti e la somma
29 Scrivi un algoritmo che acquisisca in input un complessivamente versata;
valore binario (sequenza di 0 e 1) e visualizzi il c) visualizzare il numero di prelievi e la somma
corrispondente numero in base 10. complessivamente prelevata;
d) visualizzare il saldo finale.

342 Sezione D Algoritmi e linguaggi di programmazione


38 Scrivi un algoritmo per il calcolo delle prime Risultato Data
N terne di numeri triangolari. Ricordiamo che 0 31 marzo
le terne di numeri triangolari sono legate dalla
–1 30 marzo
seguente relazione:
–2 29 marzo
... ...
–9 22 marzo

42 Scrivi un algoritmo che prenda in ingresso


due numeri interi, di cui il primo rappresenta
il valore della base (compreso tra 2 e 16)
mentre il secondo un numero (num) decimale da
trasformare nella corrispondente base. Esempio:
39 Scrivi un algoritmo che stampi le prime N righe base = 2 num = 22 –> 10110
del triangolo di Tartaglia. Esempio:
base = 8 num = 33 –> 41
1
base = 16 num = 46 –> 2E
1 1
1 2 1 43 Realizza un algoritmo che data in ingresso una
sequenza binaria ( composta da 0 e 1) e una
1 3 3 1
base ( possibili valori 4,8,16) rappresenti il
1 4 6 4 1 numero nella base indicata (utilizzare la tecnica
1 5 10 10 5 1 del raggruppamento di bit). Esempio:
1 6 15 20 15 6 1 sequenza: 100011001100
base = 8 –> 4314
40 Scrivi un algoritmo per la rappresentazione delle
prime N righe del triangolo di Floyd. Per esempio, base = 16 –>8CC
se N = 5 il triangolo stampato sarà il seguente: 44 Realizza un algoritmo per poter analizzare una
1 sequenza di numeri. Dati N numeri interi letti
2 3 da tastiera, si vogliono calcolare e stampare su
4 5 6 schermo diversi risultati:
7 8 9 10 a) quanti sono i numeri positivi, nulli e negativi
11 12 13 14 15 b) quanti sono i numeri pari e dispari
c) se la sequenza dei numeri inseriti e crescente,
41 Un interessante algoritmo: stabilisci la data decrescente oppure né crescente né decrescente.
della Pasqua per qualsiasi anno. Traduci in Suggerimento: una sequenza è crescente se ogni
pseudocodice i seguenti passi: numero è maggiore del precedente, decrescente
a) assegna alla variabile y l’anno preso in se ogni numero è minore del precedente, né
considerazione; crescente né decrescente in tutti gli altri casi.
b) assegna alla variabile n la differenza tra 1900 e y;
45 Scrivi un algoritmo per calcolare il minimo comune
c) assegna alla variabile a il resto della divisione tra multiplo (MCM) di due numeri interi positivi. Dati
la variabile n e 19; due numeri interi N1 e N2, il minimo comune
d) assegna alla variabile b il quoziente della divisione multiplo è il più piccolo numero M che è divisibile
tra (7a + 1) e 19; (con resto pari a zero) sia per N1 che per N2.
e) assegna alla variabile m il resto della divisione tra Suggerimento. Siano N1 e N2 due numeri interi
(11a + 4 – b) e 29; con N1 maggiore di N2. Il MCM è il primo multiplo
f) assegna alla variabile q il quoziente della divisione di N1 divisibile (con resto uguale a zero) per N2.
tra n e 4;
g) assegna alla variabile w il resto della divisione tra 46 Consideriamo due numeri binari rappresentati in
(n + q + 31 – m) e 7; binario puro su N bit, con N inserito da tastiera.
h) la data della Pasqua è data da 25 – m – w. Se il Successivamente i due numeri sono inseriti da
risultato ottenuto è positivo, il mese in cui cadrà tastiera un bit alla volta a partire dal bit meno
la Pasqua è aprile. Se il risultato è negativo, il significativo. Scrivi un algoritmo per eseguire
mese sarà marzo e il giorno potrà essere stabilito la somma dei due numeri. Il programma deve
secondo la seguente tabella: visualizzare il risultato delle somma e indicare se
si è verificata la condizione di overflow.

L’iterazione nella programmazione strutturata D4 343


D5 Scratch:
programmare giocando
LABORATORI “CASE STUDIES”
Approfondisci con i casi pratici

ESERCIZI COMMENTATI
Segui la risoluzione passo passo
IMPARERAI…

Le prime nozioni Come codifcare Come creare Come realizzare


su un linguaggio algoritmi semplici animazioni simpatici videogame
di programmazione

Lo sai? 1 Scratch
Ogni giorno eseguiamo varie operazioni con lo
Utilizzare Scratch è
semplicissimo, non
smartphone, il tablet, il computer a scuola, a casa,
serve nemmeno al lavoro e quando facciamo la spesa. Con questi
installare software strumenti, tutte le operazioni sono semplici da
sul tuo PC. Con svolgere grazie alle interfacce intuitive e amiche-
l’ultima versione
basta collegarsi al voli. Devi sapere che dietro ogni applicazione c’è
sito https://scratch. un linguaggio di programmazione grazie al qua-
mit.edu/ per trovare le il computer “comprende” ciò che gli indichiamo
un ambiente già
predisposto a creare di fare. Sicuramente i linguaggi di programmazione
i primi programmi e possono apparire a prima vista più complessi rispetto alle pratiche che compiamo
provare i tanti esempi quotidianamente nelle nostre attività digitali, ma è proprio grazie a quella com-
messi a disposizione.
plessità che riusciamo a realizzare ciò che desideriamo.
Ma è davvero così importante capire il linguaggio di programmazione? Spesso si
tende a individuare un gruppo ristretto di persone interessate e impegnate nella
programmazione, mentre per gli altri questo campo resta solitamente inesplora-
to. Ma non tutti i linguaggi di programmazione sono difficili da utilizzare, anzi
ce ne sono alcuni assolutamente semplici e divertenti, e uno di questi è proprio
l’oggetto del nostro studio: Scratch è un software open source che può essere
utilizzato senza la necessità di possedere le competenze di un programmatore, in
quanto il suo utilizzo è comple-
tamente grafico e programmare
in Scratch significa semplice-
mente lavorare con mattonci-
ni colorati chiamati Scratch
block (un po’ come quelli della
Lego) che, uniti insieme, realiz-
zano un programma.

344 Sezione D Algoritmi e linguaggi di programmazione


2 Gli elementi di Scratch
Pulsante di Pulsante per Barra Avvia il Arresta il Strumenti Schede per Categorie
collegamento la scelta della dei progetto progetto per la modificare blocchi
al sito di lingua menu gestione script, costumi,
Scratch dello sprite suoni e sfondi

Stage
grande

Stage
(palco-
scenico)
Il luogo dove
prendono
vita gli
oggetti di
Scratch
Quest’area ha una
molteplice funzionalità:
Posizione del consente di collegare i
puntatore blocchi per creare degli
del mouse script (area dello script)
oppure di modificare gli
aspetti grafici degli sprite o
Lista degli sfondi a seconda del
sfondi tipo di elemento selezionato

Pulsanti
per creare
o scegliere
uno sfondo
tra quelli
esistenti

Lista degli sprite: Pulsanti nuovo Stage Area blocchi (area delle Area script: qui Coordinate
contiene un’anteprima sprite: per creare piccolo azioni): qui sono visibili vengono trascinati dello sprite
e le informazioni di o scegliere uno tutti i blocchi relativi e collegati i
tutti gli sprite presenti sprite tra quelli alle azioni che ogni blocchi per creare
nell’animazione presenti sprite deve compiere le animazioni

3 Lo stage
Lo stage è il luogo dove le tue storie, i giochi e le
animazioni prendono vita, il luogo dove gli sprite
si muovono e interagiscono tra di loro. Misura 480
unità in larghezza e 360 unità in altezza ed è pensa-
to come un sistema di assi cartesiani con origine nel
suo centro che, quindi, ha coordinate x = 0 e y = 0.
Per scoprire le coordinate x-y dei vari punti dello sta-
ge, muovi il mouse e osserva i valori x-y mostrati nel
riquadro posto nella parte inferiore
dello stage.

Scratch: programmare giocando D5 345


4 Componiamo la scena
Gli sprite
Tutto ruota intorno al concetto di sprite, un oggetto grafico su cui eseguire le varie
istruzioni. Quando avvii Scratch e inizi un nuovo progetto, nello stage viene visua-
lizzato Cat, lo sprite che rappresenta la mascotte di questo meraviglioso software.
Possiamo inserire altri sprite, cancellarli, duplicarli, disegnarli e così via.
Per...
Inserire uno sprite
dalla libreria
di Scratch 1. Fai clic sul pulsante per aprire la libreria degli sprite;
2. Dalla fnestra scegli lo sprite che ti
piace. Puoi scorrere tutti gli sprite
previsti nella libreria, oppure puoi
scegliere la categoria riportata
nella colonna sinistra per vedere
solo quelli relativi alla categoria
che hai selezionato.
3. Per inserire lo sprite puoi fare
doppio clic su di esso, oppure
puoi selezionarlo e fare clic sul
pulsante OK.
4. Se non vuoi inserire nessuno
sprite, fai clic sul pulsante
Annulla.
Disegnare
un nuovo sprite
Se vuoi creare un nuovo sprite devi fare clic sul pulsante per aprire
l’editor di disegno messo a disposizione
da Scratch.
Utilizzando gli strumenti presenti potrai
disegnare e colorare come se stessi
usando Paint. Nota che, quando disegni,
automaticamente il tuo disegno viene
riportato nello stage.

Cancellare All’interno dello stage, fai clic con il pulsante destro


uno sprite del mouse sullo sprite che vuoi cancellare e dal
menu di scelta rapida scegli cancella, oppure

fai clic sulle forbici poste nella


barra degli strumenti e poi fai clic sullo sprite che
così scomparirà.

346 Sezione D Algoritmi e linguaggi di programmazione


Duplicare uno sprite

Nella barra degli strumenti fai clic sul pulsante e poi sullo sprite che intendi
duplicare. Vedrai che lo sprite duplicato viene riportato nella lista degli sprite con un nuovo
nome. Invece di usare la barra degli strumenti, puoi sempre fare clic con il pulsante destro del
mouse sullo sprite che vuoi duplicare e, dal menu di scelta rapida, scegliere Duplica.
Ridimensionare Dalla barra degli strumenti, seleziona il pulsante
uno sprite Espandi lo sprite o Riduci lo sprite e fai clic sullo sprite
tante volte fno a quando non ottieni la dimensione che
desideri.

Rinominare 1. Nella lista degli sprite, fai clic sullo sprite al quale vuoi cambiare
uno sprite il nome.
2. Fai clic sulla lettera i posta in alto a sinistra per aprire la fnestra
delle informazioni sullo sprite (le proprietà).
3. Nella casella di testo in cui, nel nostro caso, è inserito Sprite1
inserisci il nuovo nome.
4. In questa schermata puoi notare altre informazioni che vedremo
in dettaglio appena ci serviranno.
5. Per chiudere la fnestra delle
informazioni, fai clic sul pulsantino
con la freccia posto alla sinistra dello
sprite.

Gli sfondi
Dopo aver scelto gli sprite, è importante scegliere uno sfondo per impostare
un vero e proprio scenario. Per farlo devi semplicemente fare clic sul pulsan-
te Scegli uno sfondo dalla libreria dalla lista degli sfondi e scegliere un nuovo
sfondo così come hai fatto per gli sprite. Anche in que-
sto caso puoi disegnarne uno tuo utilizzando l’editor,
o inserire un’immagine come sfondo, utilizzando i pul-
santi posti alla destra di Scegli uno sfondo dalla libre-
ria. Puoi anche inserire più di uno sfondo, così potrai
cambiarli nel corso della tua storia o del tuo videogame.

Quando fai clic sul pulsante nella barra delle sche-


de, vedrai comparire, al centro, la scheda Sfondi; se
fai clic su di essa vedrai comparire tutti gli sfondi inseriti. Se vuoi cancellare
uno sfondo puoi fare clic sul pulsante posto nell’angolo superiore destro, op-
pure fare clic su di esso con il pulsante destro del mouse e scegliere Cancella.

5 Costruiamo i primi script


Dopo aver inserito sprite e sfondo, possiamo cominciare con le anima-
zioni. Tutte le operazioni che gli sprite possono effettuare sono raccol-
te all’interno di varie categorie, ognuna delle quali contraddistingue i
propri blocchi Scratch con colori differenti. Ogni categoria rappresenta

Scratch: programmare giocando D5 347


un insieme di operazioni legate alla funzionalità da assegnare allo sprite; avremo
quindi blocchi legati al movimento, al suono, all’aspetto fisico e così via. Con questi
blocchi si costruiscono gli script.

Uno script è un insieme di azioni, strutturate secondo una precisa logica, che
occorre impostare su uno sprite per ottenere un determinato comportamento.

OSSERVA COME SI FA
Apri Scratch e seleziona il Cat presente nella lista degli sprite. Nell’area dei blocchi vedrai com-
parire i blocchi azzurri, ossia quelli relativi alla categoria Movimento. Sei pronto per costruire
la prima animazione?
Per... far muovere lo sprite in avanti

Devi fare così Situazione nell’area script Questo è il risultato

1. Fai clic sulla categoria e trascina


nell’area script il blocco per far
muovere di 10 passi (corrispondenti a 10 pixel) il
nostro sprite.
2. Se desideri fargli fare più passi, fai doppio clic
all’interno del numero 10 e sostituiscilo, per
esempio, con 100 .
3. Fai clic sul blocco inserito e vedrai che lo sprite si
muove.

Per... ritardare i movimenti dello sprite

Devi fare così Situazione nell’area script Questo è il risultato

1. Fai clic sulla categoria .


2. Trascina nell’area script il blocco .
3. Trascina questo blocco e incastralo tra i due blocchi

. L’operazione è molto semplice


in quanto, quando trascini, vedrai che tra i due
blocchi azzurri appare una linea bianca

a indicare che, se lasci il


pulsante del mouse, il blocco sarà inserito al centro.
4. Inserisci un altro blocco
e aggancialo alla fne dello script.
5. Fai clic su uno qualsiasi dei quattro blocchi per
attivare l’animazione. L’esecuzione dello script è
comprovata da una cornice gialla che lo circonda
per intero.

348 Sezione D Algoritmi e linguaggi di programmazione


Per... azionare lo script dalla bandierina verde

Devi fare così Situazione nell’area script Questo è il risultato


Senza far clic ogni volta su un blocco per
azionare lo script, possiamo fare in modo
che l’attivazione avvenga facendo
clic sul pulsante . Per fare questo,
procedi come segue.
1. Trascina dalla categoria

il blocco
e incastralo in testa allo script.

Per... far visualizzare un messaggio dallo sprite

Devi fare così Situazione nell’area script Questo è il risultato


Vogliamo che il nostro micio ci dica che
sta andando avanti, prima di fare 100
passi, e che sta tornando indietro prima
di fare –100 passi.
1. Trascina dalla categoria
il blocco
e incastralo prima del blocco
.
2. Cambia la scritta “Hello!” con “Ora
vado avanti”.
3. Trascina un altro blocco
e incastralo
prima del blocco ,
quindi cambia “Hello!” con “Ora
torno indietro”.
4. Trascina un altro blocco
e incastralo
alla fne dello script, quindi cambia
“Hello!” con “OK tutto fatto”.

Per... far chiedere un dato in input dallo sprite

Devi fare così Situazione nell’area script Questo è il risultato


Facciamo in modo che lo sprite ci
chieda il nostro nome prima di iniziare a
spostarsi.
1. Trascina dalla categoria
il blocco
e
aggancialo sotto il blocco

Scratch: programmare giocando D5 349


2. Cambia la scritta “What’s your
name?” con “Ciao, come ti chiami?”.
3. Una volta in esecuzione, lo sprite ci
invita a digitare il nome all’interno di
una casellina e, dopo averlo digitato,
dobbiamo confermare facendo clic
sul pulsantino con la spunta posto a
destra della casella.
4. Il nome che hai digitato viene
memorizzato all’interno del blocco
che, come puoi evincere dal
colore, si trova nella categoria
.

Per... far visualizzare un valore richiesto in input dallo sprite

Devi fare così Situazione nell’area script Questo è il risultato


E ora un’interessante variante dell’istruzione
di input appena vista. Vogliamo che lo sprite,
dopo aver chiesto il nostro nome, ci saluti.
Per esempio, se alla richiesta “Ciao, come ti
chiami?” rispondiamo “Marco”, subito dopo
dovrà essere visualizzato un fumetto con scritto
“Ciao Marco!”.
1. Trascina dalla categoria il
blocco .
2. Trascina nell’area script dalla categoria
il blocco
.
3. Con un doppio clic, sostituisci “Hello” con
“Ciao” (fai bene attenzione a inserire uno
spazio bianco dopo “Ciao”, altrimenti il nome
inserito (Marco) verrà attaccato.
4. Trascina dalla categoria
il blocco (che, come abbiamo
detto, contiene la risposta fornita dall’utente
in un’istruzione di input) inserendolo
all’interno della casella in cui è presente

“world” .
5. Trascina questo operatore all’interno della
casellina del blocco dove è
presente “Hello!”

;
6. Per vedere il risultato fnale è importan-
tissimo inserire un blocco
subito dopo questo blocco appena costruito.

350 Sezione D Algoritmi e linguaggi di programmazione


Per... far ruotare uno sprite

Devi fare così Situazione nell’area script Questo è il risultato

1. Trascina dalla categoria


il blocco

e aggancialo sotto il blocco

. Questo
nuovo blocco, così come molti altri di
Scratch, prevede una lista dalla quale
puoi scegliere le opzioni proposte.
2. Trascina dalla categoria
il blocco e
sostituisci il valore presente con 180.
3. Crea un duplicato di questo blocco di
rotazione e inserisci ognuno sotto
i blocchi .
4. Sostituisci il valore –100 all’interno
del blocco con 100
in quanto, avendo inserito il comando
di rotazione, non è più necessario
impostare un valore negativo per far
camminare lo sprite all’indietro.

Per... far rimbalzare uno sprite e fargli eseguire un gruppo di azioni più di una volta

Devi fare così Situazione nell’area script Questo è il risultato


Per eliminare un blocco dallo script devi
sganciarlo, trascinandolo con il mouse,
e portarlo verso l’area blocchi: al rilascio
del pulsante il blocco scomparirà.
Se devi eliminare un blocco che si
trova all’interno, devi prima isolarlo
sganciandolo da quelli che si trovano in
testa e in coda.
Per procedere con questa animazione
devi eliminare un po’ di blocchi visti
nell’animazione precedente. Devi
lasciare quelli riportati nella colonna
a destra. Inoltre, nel blocco Dire,
sostituisci “Ora vado avanti” con “Ora
guarda cosa faccio”.

Scratch: programmare giocando D5 351


Devi fare così Situazione nell’area script Questo è il risultato

1. Sgancia il blocco dallo


script.
2. Trascina dalla categoria
il blocco
e aggancialo
sotto il blocco
.

3. Ora aggancia il blocco .


4. Se lasciassimo tutto così, il nostro sprite
farebbe 100 passi e basta. Noi invece,
vogliamo che lui continui a camminare
e, quando tocca il bordo, rimbalzi e
torni indietro. Per far questo dobbiamo
racchiudere il blocco

all’interno di un blocco che


si trova nella categoria . Per
racchiuderlo basta trascinarci sopra il
blocco “per sempre”, come puoi vedere
nell’immagine qui a destra.
5. Come puoi osservare nell’ultima colonna,
può accadere che dopo il rimbalzo lo script
ritorni indietro a testa in giù! Per ovviare
a questa situazione devi aprire la fnestra
delle proprietà dello sprite e cambiare lo
stile di rotazione facendo clic sul pulsante
evidenziato in fgura.

Per... gestire più eventi legati a uno sprite

Devi fare così Situazione nell’area script Questo è il risultato


Nella precedente animazione lo sprite
continuava a rimbalzare da sinistra a destra.
E se durante il suo cammino volessimo fare in
modo di far apparire un messaggio quando si
preme un tasto? Gli eventi da gestire diventano
allora due: il primo si avvia quando si fa clic
sulla bandierina e il secondo si avvia solo se si
fa clic su un pulsante che sceglieremo.

352 Sezione D Algoritmi e linguaggi di programmazione


La realizzazione è molto semplice: lo sprite
avrà due script: il primo è quello identico
all’animazione precedente che, comunque,
riportiamo.
Il secondo inizia con il blocco

presente
nella categoria . Questo blocco
contiene una lista dalla quale puoi scegliere il
tasto che attiva lo script.

ORA TOCCA A TE
1 Giochiamo con i suoni.
Apri Scratch e inserisci uno sprite che ti piace. Crea uno script che:
■ fa muovere lo sprite di 100 passi;
■ fa suonare il tamburo n. 2 Grancassa per 2 battute;
■ fa muovere lo sprite di altri 100 passi;
■ fa suonare il tamburo n. 7 Tamburello per 2 battute;
Lo script deve essere azionato quando fai clic sulla bandierina verde.

2 Facciamo ballare uno sprite.


Apri Scratch e inserisci uno sprite che ti piace. Crea uno script che:
■ fa muovere lo sprite di 100 passi in avanti;
■ fa suonare il tamburo n. 2 Grancassa per 2 battute;
■ fa muovere lo sprite di 100 passi indietro;
■ fa suonare il tamburo n. 2 Grancassa per 2 battute;
■ fa muovere lo sprite di 100 passi in avanti;
■ fa suonare il tamburo n. 2 Grancassa per 2 battute;
■ fa muovere lo sprite di 100 passi in indietro;
■ fa suonare il tamburo n. 2 Grancassa per 2 battute.

3 Facciamo ballare uno sprite in una discoteca


Riprendi l’esercizio precedente e fai ballare lo sprite inserendo uno sfondo adatto al contesto
di ballo; fallo ruotare continuamente sino a quando non decidi di terminare l’esecuzione.

4 Facciamo parlare lo sprite mentre balla.


Riprendi l’esercizio precedente e fai in modo che lo sprite dica qualcosa di diverso ogni volta
che si sposta.

Scratch: programmare giocando D5 353


6 I costumi degli sprite
Come abbiamo detto, appena crei un nuovo progetto, Scratch visualizza il micio
all’interno dello stage. Se fai clic sulla scheda Costumi noterai altri sprite: sono
i costumi, ossia rappresentazioni grafiche dello stesso personaggio. Molti sprite
presenti nella libreria, sono forniti di costumi, che servono a simulare molte ani-
mazioni attraverso il cambiamento dell’aspetto dello sprite e non della sua forma.
Se guardi bene l’immagine capirai immediatamente che i due costumi del nostro
micio potrebbero essere utilizzati per simulare una camminata: basterà sovrap-
porli e programmarli adeguatamente! Per esempio, se nello script che ci ha per-
messo di far rimbalzare lo sprite aggiungiamo il blocco
presente nella categoria possiamo simulare la camminata del nostro
micio. Esegui lo script e vedrai questa nuova animazione!
Gli sprite previsti da Scratch possono avere an-
che più di un costume o potrebbero non averne
affatto. Per aggiungere un costume basta fare
clic sulla scheda Costumi e poi sul pulsante
per aprire la finestra che contiene tutti gli spri-
te. Quando per uno sprite hai previsto più di
due costumi, per passare a uno specifico di essi
puoi anche utilizzare il blocco:

Nella lista vedrai i nomi di tutti i costumi che hai previsto per il tuo sprite.

7 Codifichiamo gli algoritmi


Le variabili
In Scratch una variabile è un contenitore che può ospitare qualsiasi va-
lore (numeri, lettere, stringhe). Per creare e gestire le variabili devi fare
clic sulla categoria e poi sul pulsante , che vi-
sualizza una finestra all’interno della quale devi assegnare un nome alla
variabile e decidere se la stessa deve fare riferimento solo allo sprite
corrente o a tutti gli sprite. Una volta creata la variabile, la situazione
è quella riportata nella seguente figura:

354 Sezione D Algoritmi e linguaggi di programmazione


Blocco Scratch Diagramma a blocchi A che cosa serve

Conta ← 0 Assegna alla variabile Conta il valore 0.

Conta ← Conta + 1 Incrementa la variabile Conta di un’unità.

O
Conta Visualizza sullo schermo il valore della variabile Conta.

Non ha una rappresentazione nei diagrammi a blocchi.


Serve a nascondere la visualizzazione del valore della
variabile Conta all’interno dello stage.

Gli operatori
Una volta definita una variabile, si possono usare diversi operatori per impo- Lo sai?
stare espressioni e condizioni più complesse. Tutti gli operatori di Scratch sono
contenuti nella categoria , al cui interno si possono trovare i blocchi Se fai clic con il
per eseguire le quattro operazioni di base, gli operatori booleani (AND , pulsante destro del
OR e NOT ), gli operatori logici ( , , ) da mouse su un blocco
binario, ti apparirà un
inserire nei blocchi condizionali e altri ancora. Come puoi osservare, gli operato- menu dal quale potrai
ri binari si presentano graficamente con il simbolo dell’operazione da compiere cambiare l’operazione
posto tra due spazi bianchi, all’interno dei quali si possono inserire manualmente da svolgere.
Se vuoi scrivere
dei valori numerici (per esempio ), trascinare le variabili precedentemente un’espressione
dichiarate ( ) o scrivere delle espressioni ( ). annidata, trascina
Supponiamo di voler realizzare un piccolo script per il calcolo dell’area di un trian- un blocco binario
all’interno dello spazio
golo. Il primo passo da fare è quello di creare le variabili (base, altezza, area), quindi bianco.
assegnare i valori (base e altezza) e calcolare il valore dell’area nella variabile area.

Diagramma a blocchi Script Scratch Risultato


INIZIO
AreaTriangolo

base ← 8

O
base

altezza ← 3

O
altezza

area ← (base * altezza) / 2

O
area

FINE

Scratch: programmare giocando D5 355


Ora costruiamo una variante del precedente algoritmo utilizzando le istruzioni di
input/output, ossia facendo in modo che i dati di base e altezza vengano forniti du-
rante l’esecuzione dello script. Inseriamo nello stage lo sfondo Winter, inseriamo lo
sprite Penguin1 e, di seguito, inseriamo il costume Penguin1 talk-a.

Diagramma a blocchi Script Scratch Risultato

INIZIO
AreaTriangolo

I
base, altezza

area ← (base*altezza) / 2

O
area

FINE

La selezione
La possibilità di eseguire determinate istruzioni invece di altre in base alla valuta-
zione di una specifica condizione è demandata ai due blocchi di selezione presenti
nella categoria .

Diagramma a blocchi Script Scratch

V F
<Condizione>

<Istruzione1>

V F
<Condizione>

<Istruzione1> <Istruzione2>

356 Sezione D Algoritmi e linguaggi di programmazione


OSSERVA COME SI FA
Per questi esercizi abbiamo previsto lo sprite Gobo e lo sfondo Slopes.

1 Problema: dato in input un numero intero N, comunicare se è positivo o negativo.


Diagramma a blocchi:

INIZIO
PosNeg

I
N

V F
N*0
O O
“Il numero “Il numero
è positivo” è negativo”

FINE

Script Scratch Risultato

Scratch: programmare giocando D5 357


2 Problema: dato in input un numero intero N, comunicare se è negativo, positivo o nullo.
Diagramma a blocchi:
INIZIO
PosNeg2

I
N

V F
N>0
O V F
“Il numero N<0
è positivo”
O O
“Il numero “Il numero
è negativo” è nullo”

FINE

Script Scratch Risultato

Rifetti bene su questo script ed eseguilo più


di una volta. Hai notato che c’è qualcosa che
non va? La prima volta che esegui lo script, la
situazione è quella riportata qui nella fgura a
destra. Se lo riesegui, il costume non cambia,
cioè la richiesta di inserire un numero ti verrà
posta da Gobo con la bocca aperta e non
da quello iniziale con la bocca chiusa. Come
mai? Confronta l’esercizio precedente con
questo: volutamente, per farti rifettere, non
è stato messo in testa allo script il blocco

358 Sezione D Algoritmi e linguaggi di programmazione


ORA TOCCA A TE
1 Codifca in Scratch il seguente algoritmo. Esegui lo script INIZIO
assegnando alla variabile A i valori proposti e poi scrivi il Sorpresa
risultato ottenuto.
I
A=9 A

A = –8 V F
A>0

A=0 A←A+1 A ←0

O
A

FINE

8 L’iterazione e i suoni
Anche in Scratch le azioni possono essere eseguite più volte in base al verificarsi
di alcune determinate condizioni, utilizzando gli appositi blocchi iterativi presenti
nella categoria .

Diagramma a blocchi Script Scratch

Controlla se la condizione è falsa, nel qual caso esegue i blocchi inseriti


all’interno per poi tornare a controllare la condizione. Se la condizione è vera,
abbandona la ripetizione dei blocchi interni e continua eseguendo i blocchi
F successivi. Visto che Scratch itera per falso, occorre negare la condizione
<Condizione>
presente nel diagramma a blocchi.
V

<Istruzioni>

Esegue i blocchi inseriti al suo interno per il numero di volte specifcato. La


differenza rispetto al costrutto precedente è che non si possono inserire
espressioni logiche (ad esempio, non si può scrivere ripeti n<0 volte, ma è
corretto impostare un ciclo ripeti n*2 volte). Quando si devono valutare condizioni
contenenti espressioni logiche, si deve usare il ciclo precedente.

Non ha una rappresentazione algoritmica. Esegue i blocchi inseriti al suo interno


all’infnito. Per interrompere il ciclo occorre fare clic sul pulsante di arresto
oppure inserire all’interno una condizione per arrestare lo script.

Scratch: programmare giocando D5 359


OSSERVA COME SI FA
1 Problema: realizzare la somma di N numeri.

Diagramma a blocchi Script Scratch

INIZIO
Somma

Somma @ 0

Conta @ 0

I
N

F
Conta < N

V
I
Num

Osserva con molta attenzione!


1. Nell’algoritmo la condizione del ciclo è Conta < N, mentre
Somma @ Somma + Num qui abbiamo dovuto negare questa condizione che, così,
diviene Conta ≥ N per il motivo che abbiamo indicato
quando abbiamo introdotto i costrutti iterativi. Scratch,
Conta @ Conta + 1 inoltre, non prevede l’operatore ≥, per cui occorre inserire
due condizioni: Conta > N OR Conta = N.
2. Abbiamo inserito un suono. Per andare nella galleria dei
suoni devi fare clic sulla scheda Suoni e poi sul pulsante
indicato in fgura per scegliere un nuovo suono:
O

Somma Una volta inserito il suo nome,


lo ritroverai nella lista del blocco
produci suono.

FINE

360 Sezione D Algoritmi e linguaggi di programmazione


2 Problema: codifcare in Scratch l’algoritmo che risolve il gioco in cui il computer “pensa”
un numero compreso tra 1 e 50 e il giocatore deve indovinarlo seguendo i suggerimenti
forniti dal computer ogni volta che effettua un tentativo. Il gioco non può prevedere più di
10 tentativi.

Script Scratch Risultato

Scratch: programmare giocando D5 361


ORA TOCCA A TE
1. Realizza uno script che codifchi l’algoritmo rappresentato dal INIZIO
diagramma a blocchi qui a destra: Uno

Utilizzando il metodo che permette di visualizzare il valore delle variabili


all’interno dello stage, rispondi alle seguenti domande: I@0

■ Quante volte viene eseguito il ciclo?


R@0

■ Qual è il valore della variabile R all’uscita del ciclo?


F
I ≤ 10

■ Qual è il valore della variabile I all’uscita del ciclo? V

R@R+1
■ Qual è il valore visualizzato della variabile R?
I@I+1

Realizza lo script in Scratch.


R@5

O
R

FINE

9 Un semplice videogame
Ti proponiamo ora una versione semplificata ma funzionale di un
famoso gioco che, come hai capito benissimo, consiste nel colpire
con la pallina i mattoncini colorati facendola rimbalzare sulla baset-
ta nera.
La realizzazione con Scratch è semplice: ormai sai bene che ogni og-
getto che interagisce nella scena è un singolo sprite (pallina, basetta
nera, fascia gialla e i singoli mattoncini). Gli sprite in questione sono
graficamente molto semplici e sono stati realizzati grazie a un editor
di immagini messo a disposizione da Scratch. Ognuno di essi deve
essere dotato del relativo script (che puoi vedere nelle figure a pagina seguente).
Partiamo dalla basetta, alla quale deve essere consentito solo un movimento la-
terale dovuto alla pressione delle frecce laterali. Lo script è molto semplice e, per
quanto già visto in precedenza, non ha bisogno di ulteriori chiarimenti.
Il secondo script deve essere assegnato a ogni singolo mattoncino, in quanto con-
sente di farlo sparire dalla scena nel momento in cui lo stesso viene colpito dallo
sprite pallina. Nello stesso istante viene prodotto anche un suono.
Il terzo script è assegnato allo sprite pallina che ne effettua i movimenti, preveden-
do un cambio di direzione nel momento in cui tocca lo sprite basetta. Il movimen-
to della pallina, e quindi il gioco, si arresta quando la stessa tocca la linea gialla di
fondo.

362 Sezione D Algoritmi e linguaggi di programmazione


Primo script Secondo script Terzo script

10 Creare nuovi blocchi


Selezionando Altri Blocchi nelle categorie degli script si possono creare nuovi bloc-
chi allo scopo di semplificare e alleggerire gli script: un nuovo blocco di fatto rac-
chiude i blocchi visti finora e può essere inserito e trattato all’interno degli script
come un blocco unico. La funzionalità del nuovo blocco è proprio quella di creare
un gruppo di istruzioni da riutilizzare più volte all’interno dei programmi, un
concetto che richiama quello di funzione o procedura (che potrebbe esserti
ancora sconosciuto).
Supponiamo di voler creare uno script per realizzare un pentagono utilizzan-
do lo strumento penna e facendo in modo che lo spostamento dello sprite
tracci la figura. Al nuovo blocco dobbiamo assegnare un nome, in questo caso
pentagono. Il sistema ci propone quindi di definire il funzionamento del nuo-
vo blocco aggiungendo gli opportuni blocchi di base. La figura accanto mo-
stra la definizione del nuovo blocco pentagono.
Allo stesso modo procediamo a creare un nuovo blocco esagono per disegna-
re un esagono. Riportiamo qui accanto anche il relativo script.
Per visualizzare i movimenti dello sprite procediamo a costruire lo script
principale richiamando i nuovi blocchi definiti in precedenza.

Per comprendere le potenzialità di questa metodologia di programmazione facciamo


un ulteriore esempio: supponiamo di voler ripetere più volte la creazione del pentagono
in punti differenti all’interno del script. Senza la definizione di un nuovo blocco, do-
vremmo ripetere lo stesso gruppo di istruzioni (anche numerose) più volte nel program-
ma invece, col nuovo blocco basta riportare lo stesso unico blocco nei punti richiesti.

Scratch: programmare giocando D5 363


RIPASSIAMO INSIEME
SCRATCH

Che cos’è Scratch? Programmare in Scratch


significa lavorare con
È un software open source che può essere
mattoncini detti Scratch
utilizzato senza la necessità di possedere le
Block che, uniti insieme,
competenze di un programmatore, in quanto
realizzano un programma.
il suo utilizzo è completamente grafico.

Nello stage interagiscono e si


Lo stage rappresenta il luogo
muovono gli sprite, oggetti grafici su
dove prendono vita storie,
cui eseguire le istruzioni.
giochi e animazioni.

Un costume è una variante grafica


di uno stesso sprite. Infatti, uno
sprite può essere rappresentato da più
Uno script è un insieme di immagini.
azioni, strutturate secondo
una precisa logica, che occorre Movimento H
impostare su uno sprite per
Aspetto I
ottenere un determinato
comportamento.
Suono L

Penna M

Variabili e liste N
In quante e quali
categorie si suddividono O
Controllo
le istruzioni di Scratch?

Operatori P

Situazioni Q

Sensori R

Altri blocchi S

364 Sezione D Algoritmi e linguaggi di programmazione


D5
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro Svolgi il test
interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Per utilizzare Scratch è necessario inserire


righe di codice (A) ............................................................ ☐ V ☐ F

2) Lo stage rappresenta l’elemento animato


su cui eseguire le istruzioni (B) ................................... ☐ V ☐ F

3) Lo sprite può essere rappresentato


da differenti costumi (F, G) .......................................... ☐ V ☐ F

4) Gli Scratch Block sono dei blocchi colorati


da incastrare (E) ................................................................ ☐ V ☐ F

5) Uno script è una sequenza di blocchi incastrati


opportunamente (C) .......................................................... ☐ V ☐ F

6) Controllo e Situazioni sono categorie


di istruzioni di Scratch (O, Q) ..................................... ☐ V ☐ F

Completa le affermazioni seguenti.

7) Con Scratch si può lavorare senza conoscere alcun …………………….


di programmazione (A)

8) Lo …………….. identifica un oggetto grafico sul quale eseguire le


istruzioni (F)

9) Lo ……………..rappresenta la scena nella quale eseguire le


animazioni (B)

10) Il costume è una variante grafica dello stesso …………………… (G)

11) I blocchi vengono incastrati in modo adeguato per animare lo


………………. (E)

12) Il programma realizzato con i blocchi prende il nome di


…………………………….. (C)

Scratch: programmare giocando D5 365


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo D5
Risposta singola 8 Un costume rappresenta:
A una nuova scena
1 Lo stage rappresenta:
B un colore differente dello sprite
A un elemento preposto al movimento
C una veste grafica dello sfondo
B l’insieme dei blocchi
D una immagine differente dello sprite
C il luogo dove viene creata la scena
D lo sfondo della scena 9 Un valore acquisito da tastiera viene posto:
A all’interno di una variabile utente
2 Lo sprite ha il compito di:
B nelle proprietà dello sprite
A animare la scena
C in alto nella scena
B modificare lo stage
D nella variabile predefinita
C configurare lo script
D avviare il programma
Vero o falso
3 Per posizionare lo sprite nella posizione x20 e
y100, l’istruzione è contenuta nella categoria: 10 Uno sprite è composto da un solo costume V F
A Aspetto
11 Lo sfondo non può essere modificato V F
B Movimento
C Controllo 12 È possibile acquisire valori interi in input V F
D Operatori 13 La categoria Situazioni è indispensabile
per l’avvio dello script V F
4 Per modificare il costume dello sprite, l’istruzione
è contenuta nella categoria: 14 La categoria Controllo è indispensabile
A Aspetto per l’avvio dello script V F
B Movimento
15 La categoria Movimento contiene
C Controllo le principali strutture di controllo V F
D Operatori
16 La categoria Penna consente di scrivere
5 Lo script si avvia: messaggi in output V F
A facendo clic sulla bandierina
17 La categoria Altri Blocchi consente
B premendo invio di creare blocchi personalizzati V F
C facendo doppio clic sui blocchi dell’area script
D premendo qualsiasi tasto
18 Non è possibile eseguire due cicli annidati V F

6 L’istruzione per acquisire un valore in input si


Completamento guidato
trova nella categoria:
A Movimento 19 Completa la seguente frase con i termini riportati
B Aspetto La capacità di scrivere __________per computer
C Operatori è una parte molto importante delle capacità
necessarie nella società moderna. Quando
D Sensori
le persone imparano a scrivere programmi
7 L’istruzione per fornire un messaggio in output si usando Scratch imparano allo stesso tempo
trova nella categoria: importanti_______________ per la soluzione
dei problemi, per creare _____________ e per
A Movimento
comunicare le loro idee.
B Aspetto
(strategie programmi progetti)
C Operatori
D Sensori

366 Sezione D Algoritmi e linguaggi di programmazione


Allena le tue ABILITÀ
e le tue COMPETENZE D5
ABILITÀ 5 Combinazione di due traslazioni
1 Rotazione sul posto Predisponi uno stage con uno sprite e uno
sfondo a tuo piacimento. Realizza, utilizzando gli
Predisponi uno stage con uno sprite e uno sfondo
appositi blocchi, il seguente script, attraverso il
a tuo piacimento. Realizza il seguente script
quale si può fare in modo che lo sprite esegua
utilizzando gli appositi blocchi:
contemporaneamente due traslazioni indipendenti.
Quando si preme sul tasto a Quando si clicca su bandierina verde
Ripeti 24 volte Vai a x:-270 y:0
Ruota in senso orario di 15 gradi Punta in direzione 90
Fine ripeti Ripeti per sempre
Ferma lo script Fai 2 passi
Rimbalza quando tocchi il bordo
2 Inseguimento della direzione
FineRipeti
Predisponi uno stage con uno sprite e uno sfondo
a tuo piacimento. Realizza il seguente script 6 Movimenti condizionati
utilizzando gli appositi blocchi: Predisponi uno stage con uno sprite e uno sfondo
a tuo piacimento. Realizza il seguente script,
Quando si clicca bandierina verde
utilizzando gli appositi blocchi, attraverso il quale
Ripeti per sempre
si può muovere lo sprite mediante movimenti
Punta verso puntatore del mouse
subordinati a condizioni che vengono valutate in
Fine ripeti
base allo stato delle variabili di sistema.
3 Movimenti combinati: rotazione e traslazione Quando si preme il tasto freccia destra
Predisponi uno stage con uno sprite e uno sfondo Punta in direzione 90°
a tuo piacimento. Realizza il seguente script, Se < posizione x < 100 >
utilizzando gli appositi blocchi, attraverso il quale, Fai 10 passi
combinando movimenti, si possono ottenere Altrimenti
spostamenti qualsiasi dello sprite nello stage. Vai dove x è -100
Ferma lo script
Quando si clicca su bandierina verde Quando si preme il tasto freccia sinistra
Vai a x:0 y:-100 Punta in direzione -90°
Punta in direzione 90 Se < posizione x > -100 >
Ripeti per 360 volte Fai 10 passi
Ruota in senso antiorario di 1 grado Altrimenti
Fai 2 passi Vai dove x è 100
FineRipeti Ferma lo script
Ferma lo script
4 Movimenti combinati: rotazione e traslazione COMPETENZE
Riprendi l’esercizio precedente e apporta le 7 Inserire un numero e dire se è pari o dispari (se il
modifiche indicate dal seguente algoritmo: numero/2 ha resto 0, è pari).
Quando si clicca su bandierina verde 8 Inserire numeri positivi e negativi e contarli; il
Pulisci programma termina quando si inserisce lo zero e
Vai a x:0 y:-100 visualizza quanti numeri positivi e negativi sono
Punta in direzione 90 stati inseriti.
Penna giù 9 Inserire il lato di un quadrato: calcolare e
Ripeti per 360 volte visualizzare l’area, il perimetro e la diagonale
Ruota in senso antiorario di 1 grado (lato * √2).
Fai 2 passi
FineRipeti 10 Dati N numeri, visualizzare il più grande. Il
Penna su programma chiede all’utente quanti ne vuole
Ferma lo script inserire e mostra il maggiore.

Scratch: programmare giocando D5 367


D6 I linguaggi C e C++: le basi

ESERCIZI COMMENTATI
Segui la risoluzione passo passo

FILE SORGENTI

LABORATORIO MULTIMEDIALE
IMPARERAI… Test di esecuzione del codice

Come realizzare Come creare Come implementare Come utilizzare


semplici programmi e gestire le istruzioni di input gli operatori
in C e C++ le variabili e output matematici, logici
e di confronto

1 Dall’algoritmo al programma
L’algoritmo non è direttamente eseguibile dall’esecutore. Per renderlo eseguibile,
è necessario rappresentarlo in un sistema formale che consenta di comunicarlo al
computer. Questo significa trasformare l’algoritmo in un insieme di istruzioni ben
definite, che vanno scritte in modo chiaro e non ambiguo. Nel caso dei computer,
il sistema formale che consente di codificare, cioè di tradurre nel linguaggio adot-
tato l’algoritmo risolutivo, è il linguaggio di programmazione. L’attività di codi-
fica viene indicata con il termine implementazione, molto usato in informatica
con il preciso significato di concretizzazione di un’astrazione.

L’algoritmo tradotto prende il nome di programma. La disciplina che si occu-


pa dell’automatizzazione dei processi risolutivi dei problemi prende il nome di
programmazione.

? Problema
Analisi

Algoritmo

Codifica in un
linguaggio di
progarammazione
Programma

368 Sezione D Algoritmi e linguaggi di programmazione


2 La programmazione in C/C++
I linguaggi di programmazione descrivono dei sistemi rigorosi (dal punto di vista
sintattico e semantico) per rappresentare gli algoritmi. Il linguaggio C (e la sua
evoluzione per la programmazione a oggetti, il linguaggio C++) rappresenta un ot-
timo linguaggio di programmazione, facile e intuitivo da usare, ma che allo stesso
tempo consente di realizzare programmi anche complessi. La tabella che segue ne
riassume le principali caratteristiche.

Le principali caratteristiche del linguaggio C


È general purpose (multiuso), ossia può essere impiegato per codifcare progetti software
di natura diversa, da quelli real time (in tempo reale) a quelli che operano su basi di dati, da
quelli tecnico-scientifci fno alla realizzazione di moduli per il sistema operativo.
È strutturato, di tipo imperativo (o procedurale).

È case sensitive, ossia distingue tra lettere minuscole e maiuscole; la variabile “PIPPO”, ad
esempio, è diversa dalle variabili “Pippo” e “pippo”.
Produce programmi effcienti: essendo nato per implementare sistemi operativi, evita, ove
possibile, qualsiasi operazione che possa determinare un decadimento del livello di effcienza
del programma eseguibile.
Produce programmi di dimensioni ridotte: ha, infatti, una sintassi che si presta alla concisio-
ne e alla scrittura di codice compatto.
È facilmente portabile e perciò multipiattaforma: può infatti essere compilato su un’ampia
gamma di computer (questo fatto è degno di nota, perché il problema dei linguaggi imperativi
compilati è che generalmente sono legati alla piattaforma su cui vengono compilati).

Dal codice sorgente al codice eseguibile


Per eseguire un programma in C/C++, occorre seguire delle semplici regole:
• dotarsi di una ambiente di sviluppo: nel nostro caso abbiamo scelto Dev-C++,
in quanto è gratuito e facilmente scaricabile da Internet; puoi seguire le fasi di
installazione nell’infografica;
• scrivere un file sorgente, cioè una serie di istruzioni che rispettino le regole
sintattico/semantiche del linguaggio;
• compilare il codice sorgente, verificando che il codice sia privo di errori: in
caso di errori, occorre intervenire seguendo le indicazioni fornite dal sistema;
se invece la fase di compilazione non riscontra errori, viene generato un file
intermedio definito file oggetto;
• in maniera automatica, dopo la fase di compilazione, interviene un software
chiamato linker che “collega” il file oggetto con le librerie standard del linguag-
gio dichiarate nel codice sorgente creando il file eseguibile con estensione .exe;
le librerie sono file che contengono il codice necessario al funzionamento di
alcune istruzioni;
• mandare in esecuzione il file eseguibile, cioè lanciarlo o eseguirlo.

I linguaggi C e C++: le basi D6 369


INFOGRAFICA

Paradigmi di programmazione
EVOLUZIONE DI PARADIGMI E LINGUAGGI Ogni linguaggio di
programmazione è solitamente ispirato e riconducibile a un particolare
paradigma di programmazione. La storia dei paradigmi di programmazione
ben si presta a essere rappresentata con un albero genealogico; spesso, infatti,
un nuovo paradigma nasce come evoluzione di un altro, aggiungendo nuovi
concetti ma conservando quelli fondamentali del precedente, eventualmente
ponendoli in una nuova prospettiva.
Ad esempio, la programmazione strutturata (teorema di Böhm-Jacopini) ha
introdotto le strutture di controllo (sequenza, selezione e iterazione) e ha
“vietato” l’uso dell’istruzione di salto incondizionato (goto).

Linguaggi procedurali e non procedurali

Linguaggi procedurali Nella programmazione avviene nella programmazione procedurale). L’idea


procedurale il programmatore analizza il problema è quella di pervenire alla soluzione dettagliando la
ponendosi dal punto di vista del computer che è in conoscenza della realtà e il problema (i fatti), mediante
grado di eseguire solamente istruzioni semplici e, di un determinato linguaggio di specifica e descrivendo
conseguenza, adotta un approccio di tipo divide et poi le regole di deduzione o inferenza da applicare. Ci
impera, suddividendo applicazioni complesse in passi si basa su un algoritmo generale per la risoluzione di
di piccola entità. Questo approccio è stato formalizzato una classe di problemi; il problema particolare, poi,
in molti modi ed è ben supportato da molti linguaggi va risolto dandone una descrizione compatibile con
che forniscono al programmatore un ambiente in cui l’algoritmo generale.
sono facilmente definibili procedure e funzioni. Questo approccio è particolarmente usato per la
simulazione di sistemi economici, fisici, biologici e così
Linguaggi non procedurali Nella via, ma con un’efficienza inferiore, in termini di tempi
programmazione non procedurale (o dichiarativa) di esecuzione, a quella che in genere si riesce a ottenere
ci si concentra esclusivamente sul “cosa” richiede il con i corrispondenti programmi realizzati utilizzando
problema e non sul “come” ottenere i risultati (come linguaggi procedurali.

Il termine paradigma (dal greco paradeigma) è utilizzato


dalla filosofia della scienza con il suo originario signifi-
cato di insieme di teorie standard e metodi che assieme
rappresentano un modo di organizzare la conoscenza
(Thomas Kuhn).
Un paradigma di programmazione è uno stile fonda-
mentale di programmazione, ovvero un insieme di stru-
menti concettuali forniti da un linguaggio di programma-
zione per la stesura di programmi. Pertanto, definisce e
determina il modo in cui il programmatore concepisce e
percepisce il programma.

370 Sezione D Algoritmi e linguaggi di programmazione


1 Paradigma imperativo 2
Paradigma orientato
agli oggetti

Il paradigma imperativo si adatta bene al modo in cui La programmazione orientata agli oggetti (Object-
gli esseri umani ragionano nel risolvere molti problemi. Oriented o OO) è ideale per lo sviluppo di sistemi
Tutto ciò che si deve fare è specificare i dati e le relative software complessi, ad esempio le interfacce grafiche.
manipolazioni, controllandone la sequenza. La base Il concetto chiave è quello di oggetto, una metafora
del paradigma imperativo è, pertanto, la manipolazione, tratta dal mondo reale. A ogni oggetto vengono
totalmente specificata e controllata, dei dati in passi associate informazioni e determinate funzionalità,
successivi. Il paradigma è fondato sul concetto di e gli oggetti possono interagire gli uni con gli altri.
imperio (comando), vale a dire su un’esplicita richiesta L’automobile, ad esempio, è un oggetto con alcune
inviata all’esecutore per produrre un cambiamento caratteristiche essenziali (colore, cilindrata, marca e
di stato degli oggetti presenti nell’ambiente in cui così via) e alcune funzionalità (cioè alcune cose che sa
l’esecutore dovrà agire (ad esempio, l’istruzione fare, come accelerare, frenare, accendere il motore e
A o B + 4 produce un cambiamento di stato dell’area così via). Programmare a oggetti, in definitiva, significa
di memoria contenente la variabile A, nel senso che il progettare un insieme di oggetti software per creare un
precedente valore assunto da questa variabile viene modello che risolva il problema che si sta affrontando.
ora sostituito con il valore prodotto dalla somma della Il principale vantaggio di questo approccio è che rende
variabile B con 4). In tale contesto, il programmatore più naturale la stesura di un programma. Tra i linguaggi
rappresenta il processo di calcolo come una sequenza object oriented ricordiamo il C++, il C# e JAVA.
di azioni. La costruzione della soluzione si basa su
tre concetti cardine: la memoria, le azioni e i cicli.
Tra i linguaggi imperativi
ricordiamo il FORTRAN, il
PASCAL, il COBOL e il C,
oltre al BASIC (con alcune
distinzioni).

3 Paradigma funzionale 4 Paradigma logico

Il paradigma funzionale si basa su un insieme di Nel paradigma logico il programmatore giunge alla
definizioni di funzioni, rispecchiando il concetto soluzione esprimendo, con una serie di assiomi, il
matematico di funzione o applicazione tra insiemi. complesso dei fatti che devono essere veri all’interno
Alla base vi è il concetto di composizione di funzioni: della realtà esaminata e di regole logiche (tipicamente
il risultato di una funzione diviene l’ingresso di una regole di inferenza, come “se A e B sono vere, allora
nuova funzione, e così via sino a ottenere il risultato. è vera C”). Il risultato scaturisce dal conseguente
L’esecuzione del programma avviene in seguito alla processo di calcolo. Programmare secondo il
richiesta di valutare un’espressione. Per ottenere il paradigma logico significa, quindi, formalizzare le
valore di una funzione è necessario specificare il proprie conoscenze relative al problema da risolvere e
valore dei suoi argomenti. In questo caso si dice che comunicarle al sistema. L’esecuzione di un programma
la funzione viene applicata agli argomenti e la coppia si ottiene ponendo un quesito al sistema; la risposta
(funzione, lista di argomenti) è un’espressione che consiste nella verifica della verità o della falsità
prende il nome di applicazione. La valutazione di dell’affermazione contenuta nel quesito, sulla base
un’applicazione comporta, quindi, la valutazione delle delle conoscenze specificate. Tra i linguaggi logici
espressioni che fungono da argomenti. Tra i linguaggi ricordiamo il PROLOG.
funzionali ricordiamo il LISP.

I linguaggi C e C++: le basi D6 371


Il processo è descritto graficamente in modo sintetico nel diagramma seguente.

File che permette


di utilizzare nel programma
le funzioni standard
di input/output

Editor
di testi File File
intestazione libreria

File File
sorgente Processore Compilatore Linker eseguibile
nomeFile.c nomeFile.exe
oppure
nomeFile.cpp
File
oggetto
nomeFile.obj

Un file C ha estensione .c, mentre un file C++ ha estensione .cpp; impareremo le


differenze salienti dei due linguaggi nel corso dell’unità.

3 L’alfabeto del C/C++


Lo sai? Il linguaggio C/C++ ha un alfabeto che è formato da:
1. le lettere alfabetiche minuscole e maiuscole;
I linguaggi di 2. le dieci cifre decimali (dallo 0 al 9);
programmazione
sono linguaggi
3. i caratteri speciali(punteggiatura, simboli matematici, parentesi, ...).
formali e, come tali, Utilizzando l’alfabeto del linguaggio, il programmatore può definire le parole da
richiedono precise
regole di scrittura (un
utilizzare nel programma sorgente. Naturalmente tali parole devono essere valide,
linguaggio formale non ossia essere riconosciute come formalmente valide dal compilatore del linguaggio.
ammette ambiguità o Il C/C++ prevede le seguenti categorie lessicali:
eccezioni come una
lingua naturale, perciò • parole chiave: parole riservate, a cui il compilatore associa un significato par-
occorre essere molto ticolare e che non possono essere utilizzate per altri scopi;
precisi nella scrittura
delle istruzioni e • identificatori: nomi creati dal programmatore per identificare variabili, co-
seguire alla lettera le stanti e funzioni;
regole sintattiche). • commenti;
• segni di punteggiatura e operatori.

Le parole chiave
Il linguaggio C/C++ consente la realizzazione di programmi utilizzando un insie-
me di parole chiave che non possono essere utilizzate dal programmatore
come identificatori. Lo standard ha definito il seguente insieme di parole chiave:

372 Sezione D Algoritmi e linguaggi di programmazione


auto break case char
const continue default do Lo sai?
double else enum extern
Occorre tenere
foat for goto if presente che queste
int long register return rappresentano solo
le parole chiave di
short signed sizeof static base del linguaggio,
il quale a sua volta
struct switch typedef union utilizza delle librerie
in cui sono definiti
unsigned void volatile while
altri termini importanti
che impareremo a
conoscere più avanti.
Gli identificatori
Gli identificatori sono i nomi definiti dal programmatore per riferirsi in modo uni-
voco a oggetti di categorie diverse:
• variabili;
• costanti;
• funzioni.

Le variabili sono contenitori di valori; ogni variabile può contenere un singolo


valore, che può cambiare nel tempo. Ogni variabile ha un “tipo”, che viene stabi-
lito una volta per tutte e non può essere modificato.

Le costanti servono a identificare valori che non cambiano nel tempo; per tale
motivo non possono essere considerate dei contenitori, ma solo nomi utilizzati
per identificare valori che rimangono costanti per tutta la durata del programma.

Le funzioni (in C function) rappresentano i sottoprogrammi, cioè dei pezzi di


programmi che possono essere riutilizzati più volte senza doverli riscrivere.

In C/C++ tutti gli identificatori devono iniziare con una lettera o con un carattere
di underscore “_” e non possono iniziare con una cifra numerica. Possono contene-
re un numero qualsiasi di lettere, cifre o underscore, ma non spazi.
Ad esempio, NON sono identificatori validi:

2parole spazio aperto @mio_mobile 100€


Ricorda
mentre sono validi i seguenti:
x spazio_aperto sopra SOTTO Il C/C++ è un
utente1 _primo SeCoNdO euro100 linguaggio case
sensitive, in cui si fa
distinzione tra lettere
Tutti gli identificatori presenti in un programma devono essere diversi tra loro, maiuscole e minuscole.
indipendentemente dalla categoria a cui appartengono.

I linguaggi C e C++: le basi D6 373


INFOGRAFICA

Installiamo l’ambiente Dev-C++


UN AMBIENTE DI SVILUPPO GRATUITO E FUNZIONALE Dev-C++ è
un ambiente di sviluppo (IDE, Integrated Development Environment) gratuito
e liberamente utilizzabile per sviluppare nei linguaggi C e C++ (e anche in altri
linguaggi di programmazione). Mette a disposizione un editor di codice e tutto
quello che serve per iniziare a programmare, dal compilatore agli strumenti per il
controllo del codice. Il programma è liberamente scaricabile da Internet, ma in ogni
caso il pacchetto di installazione è incluso anche nel CD-ROM allegato al libro.

1 Inserisci il CD-ROM
allegato al volume.

2 Crea nella radice del tuo disco


fisso (C:\) una cartella di nome
App1 e copia al suo interno l’intero
contenuto del CD-ROM.

3 Nella nuova cartella appena creata


troverai il programma di installazione
dell’ambiente di sviluppo Dev-C++.
Ora non ti resta che avviare il
programma e seguire la procedura di
installazione nei vari passaggi. Appare la richiesta di accettare la licenza
5
GNU: procedi facendo clic sul pulsante
4 Scegli il file da utilizzare in base al Accetta.
tipo di computer in uso e fai doppio
clic su di esso. Dopo alcuni istanti
compare una finestra che ti chiede
di selezionare la lingua. Seleziona
l’italiano (naturalmente nessuno
ti impedisce di utilizzare un’altra
lingua, se preferisci) e fai clic su OK
per proseguire.

374 Sezione D Algoritmi e linguaggi di programmazione


6 Ora devi selezionare i componenti da 8 Inizia così il trasferimento dei file
installare per personalizzare il tuo all’interno della cartella di destinazione.
ambiente di lavoro. Lascia inalterato Una barra verde indica l’avanzamento
quanto proposto e fai clic su Avanti. della copia.

9 Al termine del trasferimento dei file


7 Ora puoi personalizzare la cartella di appare una nuova finestra che riepiloga
destinazione, quella in cui verranno l’esito. Fai clic sul pulsante Fine.
memorizzati tutti i file. Scegli il
percorso che preferisci e poi fai clic sul
pulsante Installa.

10 La procedura a questo punto si conclude.


Se tutto è andato bene, vedrai aprirsi la
finestra dell’ambiente di sviluppo, e potrai
iniziare a programmare in C/C++.
Lo sai?

Nonostante la scelta dell’italiano in fase di


installazione, il programma potrebbe apparire
ancora in inglese; in questo caso, apri il menu
Tools e seleziona Environment Options, quindi
scegli nuovamente la lingua italiana tra le opzioni.

I linguaggi C e C++: le basi D6 375


INFOGRAFICA

Hello World!
IL PRIMO PROGRAMMA CON DEV-C++ Prima di digitare il nostro primo
programma, possiamo creare un modello personalizzato in modo che l’ambiente
Dev-C++ ci proponga automaticamente una parte del programma già scritta
all’inizio di ogni nostro lavoro. Ciò è particolarmente utile in questa fase in cui ti
accingi a imparare e a usare questo bellissimo linguaggio.

1 Esegui il programma Dev-C++. Quando si apre la finestra vuota, occorre


compiere un’operazione preliminare: fai clic sul menu Strumenti e scegli Opzioni
dell’Editor: Viene visualizzata una finestra a schede. Attiva in alto la scheda
Codice e sotto la scheda Sorgente Predefinito, quindi inserisci nella parte centrale
il codice come illustrato qui. Al termine, fai clic sul pulsante OK.

C C++

2 Ora siamo pronti per sviluppare il primo programma in C/C++. Apri il menu File
e seleziona Nuovo, quindi l’opzione File Sorgente.

376 Sezione D Algoritmi e linguaggi di programmazione


3 Viene visualizzata la finestra dell’editor, 5 Tornato nella finestra del codice, digita
in cui sono presenti le righe di codice da prima dell’istruzione return 0; la seguente
noi definite in fase di personalizzazione. istruzione: printf(“Hello world!”);
Osserva che il titolo della scheda creata è
SenzaTitolo1 (il numero indicato varia in
base a quante schede hai creato finora).
Ora dobbiamo assegnare un nome al file
che stiamo creando.

6 Per eseguire il programma devi prima


compilarlo, ossia attivare il compilatore
che trasforma il codice sorgente in
formato binario in modo che possa essere
eseguito. Pertanto, fai clic sul pulsante
Compila oppure premi il tasto F9. Puoi
4 Per assegnare un nome al file, fai clic sul vedere il risultato della compilazione nella
menu File e seleziona Salva Come: nella figura: non abbiamo commesso errori, per
finestra di dialogo che si apre potrai cui la compilazione è andata a buon fine.
digitare il nome che intendi assegnare al
file, scegliere il formato (.c o .cpp) e l’unità
disco o cartella in cui memorizzarlo. Scegli
il formato corrispondente al linguaggio
che vuoi usare in questa fase. Ad esempio,
se hai scelto il linguaggio C seleziona il
formato C source files (*.c) e inserisci il
nome Helloworld.

7 Siamo pronti per eseguire il programma.


Fai clic sul pulsante Esegui oppure
premi il tasto F10. Il risultato sarà il
seguente:

Lo sai?

Lo sai? Puoi anche effettuare


compilazione ed esecuzione
“in un colpo solo” utilizzando il
Se noti che alcuni particolari della finestra di Dev-C++ non pulsante Compila & Esegui
sono stati tradotti in italiano, non preoccuparti: sono piccoli oppure premendo il tasto F11.
difetti dell’interfaccia che non influiscono sul funzionamento.

I linguaggi C e C++: le basi D6 377


4 La struttura di un programma
In un programma scritto in C/C++ vi è una funzione che deve essere sempre pre-
sente, perché il compilatore inizia l’esecuzione proprio da essa. Si tratta della
funzione main(), alla quale è assegnato il compito di gestire il controllo generale
dell’attività del codice. Non tratteremo in questo volume le funzioni, ti basti sapere
che all’interno di un programma possono esserci diverse funzioni e il main rappre-
senta la funzione principale che deve necessariamente comparire nel programma.
La seguente figura illustra le parti che compongono un programma; non soffermarti
sui singoli contenuti, ma sulla struttura complessiva:

Direttive al preprocessore Funzione main


Rappresentano il modo per indicare al È la funzione principale di ogni programma C/C++ e, come
compilatore le librerie che dovranno essere tale, deve sempre essere presente, in quanto l’esecuzione
usate nel programma. Tutte le direttive non del programma inizia proprio con questa funzione. Le
devono terminare con il punto e virgola (;). parentesi tonde poste dopo il nome main rappresentano il
simbolo di riconoscimento di una funzione. Pertanto, tutti
i nomi di funzione devono sempre avere questa notazione.

#include <stdio.h>
#include <stdlib.h>
Sezione dichiarativa
int main() È la sezione dove si dichiarano le variabili che saranno
usate dalle istruzioni presenti nella funzione main.
Devi sapere fin da subito che nel linguaggio C, a
{ differenza di altri linguaggi di programmazione, non
è obbligatorio dichiarare le variabili in una sezione
int a, b, somma; specifica del programma, così come stiamo indicando,
ma è buona norma dichiararle all’inizio così da ottenere
un codice ordinato che faciliterà la ricerca e la correzione
printf("Inserire il primo numero: "); degli errori.
scanf("%d", &a);
printf("Inserire il secondo numero: ");
scanf("%d", &b);
somma = a + b;
printf("La somma di %d e %d e` : %d\n", a, b, somma); Le parentesi graffe
return 0; racchiudono l’intero
blocco di codice.
}

Sezione esecutiva (o corpo del programma)


Lo sai?
È la zona in cui vengono scritte le istruzioni che devono essere eseguite.
Nota che ogni istruzione termina con un punto e virgola (;).
Per garantire una buona leggibilità del codice:
• scrivere una sola istruzione per riga;
Hai notato che nella funzione main
• introdurre nell’istruzione degli spazi, che vengono ignorati dal le istruzioni sono un po’ spostate a
compilatore; destra rispetto alle parentesi graffe?
Ricorda comunque che le istruzioni lunghe possono essere scritte su più Quando si scrive un programma, le
righe successive, dato che è il punto e virgola a segnalare al compilatore la istruzioni vengono fatte rientrare per
fine dell’istruzione. indicare la loro “dipendenza”, cioè per
evidenziare quando sono “contenute”
in un’altra. La tecnica di questi
incolonnamenti è detta indentazione
ed è buona abitudine curarla perché
migliora la leggibilità del codice.

378 Sezione D Algoritmi e linguaggi di programmazione


5 I commenti
Per una maggiore leggibilità del codice, anche nel linguaggio C/C++ è consigliabile
utilizzare i commenti.
Nel linguaggio C, i commenti si indicano utilizzando la simbologia /* in apertura e
la simbologia */ in chiusura. In C ogni commento può estendersi anche su più righe.
Nel linguaggio C++, invece, i commenti si indicano in modo analogo a come si fa
con lo pseudolinguaggio, introducendoli con la simbologia //. In C++ ogni com-
mento non può estendersi oltre una riga. Lo sai?
DIFFERENZE TRA C E C++
In alcuni ambienti
C C++ di sviluppo, dopo
l’esecuzione del
Inizio commento /* // programma la finestra
si chiude impedendo
Fine commento */ Fine riga di visualizzare quanto
è riportato sullo
Note Può estendersi su più righe Può estendersi su un’unica riga schermo; bisogna
quindi ricorrere
Somma = a+b; /* questo commento // commento su un’unica riga ad istruzioni come
si sviluppa su diverse righe */ // altro commento su un’unica riga system(“PAUSE”) o
getchar(), che mettono
in attesa il programma.
Se utilizzi invece una
versione recente di
6 Il primo programma in C/C++ DEV-C++, il sistema
si metterà in attesa
Nelle precedenti infografiche abbiamo installato l’ambiente e realizzato un mo- da solo fino a quando
non sarà premuto un
dello standard dal quale iniziare a scrivere il nostro programma. Successivamente tasto; non occorre
abbiamo proceduto a inserire qualche istruzione dando vita al primo programma quindi inserire alcuna
Hello Word!. Ora esaminiamo nel dettaglio il programma. specifica istruzione.

C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
/* Questo programma scrive la frase Hello world! in C */ {
printf("Hello world! in C "); // Questo programma scrive la frase Hello world! in C++
return 0; cout << "Hello world! in C++ ";
} return 0;
}

L’esecuzione di questi due programmi visualizza sul monitor:

Diciamo subito che l'istruzione


return 0;
deve essere posta alla fine del main per consentire una chiusura efficiente del pro-
gramma. Approfondirai questa istruzione nello studio delle funzioni il prossimo
anno, per ora ti basti sapere che è indispensabile.

I linguaggi C e C++: le basi D6 379


Consideriamo ora la direttiva:
Lo sai? #include <stdio.h>

Questa direttiva consente di inserire nel file sorgente i file header, ossia specifici
I programmi che
ci accingiamo a
“file di intestazione”, con estensione .h, che contengono informazioni necessarie
sviluppare non hanno al programma, in particolare le definizioni delle variabili, delle espressioni costan-
un’interfaccia grafica ti e delle funzioni. Questi file costituiscono le librerie standard del linguaggio.
come quella di uno Ad esempio, il file header stdio.h (STandarD Input/Output) contiene le definizioni
smartphone o di un
tablet ma presentano, delle funzioni di input e di output (I/O) della libreria standard del C.
in esecuzione, una
schermata con sfondo Il C++ non prevede di specificare all’interno della direttiva #include l’estensione
nero e testo bianco. Si (.h) del file di libreria; ecco perché basta scrivere #include <iostream> e non #inclu-
chiamano applicazioni
console per de <iostream.h>.
distinguerle da quelle A differenza del C, il C++ utilizza uno spazio dei nomi, in inglese namespace, per
con interfaccia grafica. determinare i nomi degli identificatori; per questo motivo è necessario indicare il
La funzione system
può essere utilizzata namespace std (standard) per fare riferimento alle librerie standard del C++.
anche per assegnare
un titolo alla finestra DIFFERENZE TRA C E C++
console utilizzando il
seguente formato: C C++
system("TITLE NomeFinestra"); File di libreria per le istruzioni
di input/ouput
stdio.h iostream
e sostituendo a
NomFinestra il nome #include <iostream>
Istruzione di inclusione #include <stdio.h>
da visualizzare. #include “iostream”
della libreria #include “stdio.h”
I fle di inclusione non hanno il .h fnale

C C++
Ricorda Spazio dei nomi Non previsto namespace
Istruzione per l’utilizzo
dello spazio dei nomi standard
Non prevista using namespace std;
Se la direttiva è
racchiusa tra parentesi
angolari, il file
corrispondente verrà Dichiariamo le variabili
cercato nelle apposite
cartelle definite dal
compilatore, mentre
Una variabile rappresenta, per un linguaggio di programmazione, un’area della
se la si racchiude tra memoria centrale dedicata a gestirne il contenuto per tutta la durata del pro-
doppi apici, il file verrà gramma.
cercato dapprima
nella cartella corrente:
quest’ultima soluzione Per poter memorizzare all’interno di una variabile un determinato valore, non ba-
viene adottata sta assegnare alla variabile un nome: è necessario indicarne anche il tipo. In C/
quando si scrivono
funzioni sviluppate
C++, il tipo della variabile va specificato quando essa viene dichiarata.
appositamente I tipi fondamentali previsti dal linguaggio sono i seguenti, ciascuno dei quali
per realizzare un consente di memorizzare dati appartenenti a insiemi ben precisi.
programma e le si
vuole racchiudere tutte
Tipo di variabile Insieme dei valori C
in un’apposita cartella.
int numeri interi
float numeri reali a 32 bit
double numeri reali a 64 bit
char caratteri alfanumerici (trattati di fatto come interi)

380 Sezione D Algoritmi e linguaggi di programmazione


DIFFERENZE TRA C E C++
Ricorda
C C++
Non esiste. Si rimedia simulando variabili bool. Può assumere esclusi-
booleane con variabili intere: in un’espres- vamente i valori vero (true) o È buona norma
Tipo booleano sione logica, 0 equivale a “false”, mentre assegnare alle variabili
falso (false).
un qualsiasi valore diverso da 0 equivale a nomi mnemonici
che permettano di
“true”.
ricordare facilmente
il significato del dato
rappresentato.
OSSERVA COME SI FA
Dichiarare una variabile
Per dichiarare una variabile occorre digitare dapprima il tipo di dato, poi il nome della variabile
e chiudere l’istruzione con il punto e virgola (;).
Nella fgura che segue si vede che è possibile dichiarare più variabili all’interno di una stessa
istruzione e anche assegnare alle variabili un valore iniziale. Ricorda
Le seguenti, ad esempio, sono tutte dichiarazioni di variabili valide in C/C++:

Dichiara la variabile intera “x” Dichiara le variabili “primo” e “secondo”, entrambe Nello pseudocodice
di tipo int, di cui la prima ha valore iniziale 6 abbiamo mantenuto
int x; separate le fasi
int primo = 6, secondo; Dichiara la variabile “tappo” di tipo int di dichiarazione e
e le assegna il valore iniziale 10 inizializzazione delle
int tappo = 10;
variabili. In C/C++
float pgreco = 3.14; Dichiara la variabile “pgreco” di tipo float possono essere
e le assegna il valore iniziale 3,14 contenute all’interno
char frase[20];
della stessa istruzione.
Dichiara una variabile stringa di nome “frase”, che potrà
contenere un testo lungo al massimo 20 caratteri

ORA TOCCA A TE
1 Dichiara opportunamente le variabili per contenere i seguenti valori:
■ media aritmetica
■ potenza di due
■ frazione
■ acceso/spento
■ peso di una persona
■ giorno del mese
■ secondi
■ numero di telefono

Dichiariamo le costanti
Con il qualificatore const è possibile definire costanti tipizzate, ossia che accettano
un valore ammissibile per il tipo di dato al quale è associato. Ad esempio:
const float PGRECO = 3.14; Definisce la costante in virgola mobile PGRECO e le assegna il valore: 3,14

const char C = 'a'; Definisce la costante carattere C e le assegna il valore: a

const int POSTI = 100; Definisce la costante intera POSTI e le assegna il valore: 100

Definisce la costante stringa ERRORE, che può contenere


const char ERRORE[20] = "Rilevato errore!"; fino a 20 caratteri, e le assegna il valore: Rilevato errore!

I linguaggi C e C++: le basi D6 381


Hai potuto notare che l’operatore di assegnamento in C/C++ è il simbolo =, a dif-
ferenza di quanto accade nei casi del diagramma a blocchi e dello pseudocodice,
in cui è rappresentato dal simbolo ←.
Il risultato dell’assegnamento è il valore prodotto dalla valutazione della parte a
Ricorda
destra del segno di uguale e ha come effetto collaterale l’assegnazione di tale valore
alla regione di memoria denotata dalla parte a sinistra.
Come si evince dagli Ecco alcuni esempi:
esempi, il significato
del segno = qui non
ha niente a che vedere a = 5; assegna come valore alla variabile a il numero 5
con il significato che orazio = 'a'; assegna come valore alla variabile orazio il carattere a
ha in matematica,
poiché serve ad pluto = orazio; assegna come valore alla variabile pluto il valore della variabile orazio
assegnare un valore a = a + 7; incrementa di 7 il valore della variabile a
e non a effettuare
confronti. b = 4 + 25; assegna come valore alla variabile b la somma di 4 e 25

ORA TOCCA A TE
1 Individua gli eventuali errori all’interno delle seguenti dichiarazioni:
■ int x=3.2:
■ foat y=3,5;
■ int anno=2015;
■ foat int=4.6;
■ char giorno=”L”;
■ int x,y=5=x;
Apporta le dovute correzioni.

7 La gestione dell’output e dell’input in C/C++


La gestione dell’output in C
Cominciamo a sviluppare alcuni semplici programmi per mettere alla prova le co-
noscenze finora acquisite. Per poterlo fare, abbiamo bisogno di introdurre la fun-
zione printf, implementata all’interno della libreria stdio.h. L’istruzione:

printf("Presentiamo qualcosa a video");

invia al dispositivo di output (monitor) il messaggio posto tra doppi apici.

La funzione printf, oltre a visualizzare semplici stringhe di testo, può essere utiliz-
zata anche per visualizzare il contenuto di variabili. Ad esempio:

int a = 20;
printf("Valore della variabile a = %d", a);

Il primo argomento della funzione prevede il messaggio da visualizzare sul moni-


tor; si tratta come previsto di una stringa, ma al suo interno compare lo specifica-
tore di formato %d. Il suo compito è segnalare al compilatore che in quella posi-

382 Sezione D Algoritmi e linguaggi di programmazione


zione deve essere visualizzato un numero intero decimale presente nella variabile
indicata dopo la stringa. Il risultato sarà pertanto la visualizzazione del messaggio:
Ad esempio, il frammento di codice:

int alunni=30;
float peso=68.4;

printf("La classe Terza D ha %d studenti e il loro peso medio è %f kg.", alunni, peso);

produce sul monitor il messaggio:


Lo specificatore di formato, se pur strettamente legato al tipo di dato che deve
rappresentare, non modifica il tipo di dato contenuto nella variabile, ma semplice- Ricorda
mente specifica come tale contenuto debba essere visualizzato; il codice:
char lettera='A'; È importante l’ordine
printf("la lettera %c ha un valore numerico pari a %d", lettera,lettera); in cui compaiono le
variabili, strettamente
correlato all’ordine
visualizza sul monitor il messaggio: in cui compaiono
In questo caso, la variabile lettera viene stampata due volte con due valori differen- gli specificatori di
ti: quello simbolico (%c) e quello numerico (%d). formato.
Nella tabella seguente sono mostrati i principali specificatori di formato disponi-
bili in C/C++.

I PRINCIPALI SPECIFICATORI DI FORMATO IN C/C++

Specifcatore di formato Espressione Visualizza sul monitor

%c char carattere singolo


%d (%i) int intero decimale con segno
%f foat o double reale con segno
%p pointer valore di una variabile puntatore
%s array of char stringa (sequenza) di caratteri
%u int intero senza segno

Vediamo un esempio:

#include <stdio.h>
int main()
{
float vel=72.5,vel1=213.7,vel2=1234.66;
printf("Velocita' : %f Km/h \n",vel);
printf("Velocita' : %f Km/h \n",vel1);
printf("Velocita' : %f Km/h \n",vel2);
return 0;
}

I linguaggi C e C++: le basi D6 383


I caratteri \n rappresentano una sequenza speciale, il cui compito è di indicare
al programma di passare a nuova riga; se queste sequenze fossero state omesse,
nell’esempio precedente il programma avrebbe visualizzato l’output interamente
su un’unica riga.

La gestione dell’input in C
La funzione scanf consente di acquisire una sequenza di caratteri (lettere o cifre)
dalla tastiera (il dispositivo di ingresso standard, stdin) e di memorizzarli all’inter-
no di opportune variabili. Ad esempio, l’istruzione:
scanf("%d",&a);

legge un valore intero (come indicato dallo specificatore di formato %d) e lo memo-
rizza nella variabile a. Quando il programma, durante l’esecuzione, raggiunge l’istru-
zione scanf, si ferma e lascia all’utente la possibilità di digitare qualcosa sulla tastie-
ra. Il programma non prosegue fino a che l’utente non inserisce qualcosa e preme il
tasto Invio. Una volta acquisito il dato, il suo valore viene memorizzato nella varia-
bile a e il programma procede con le istruzioni successive. In questo modo, a ogni
esecuzione l’utente può inserire valori diversi, producendo risultati diversi.

Il simbolo & (“e commerciale” o, in inglese, ampersand) posto davanti al nome


della variabile indica che il dato deve essere memorizzato nella locazione di
memoria assegnata alla variabile stessa. Si tratta di una questione particolar-
mente insidiosa, perché l’omissione di & non provoca alcun messaggio di er-
rore da parte del compilatore, ma comporta inevitabilmente errori nei risultati.

Diamo uno sguardo al seguente esempio. Abbiamo utilizzato gli specificatori di


formato per scanf() in modo analogo a quello descritto per la funzione printf().

#include <stdio.h>
/* Il seguente programma acquisisce in input un numero intero e fornisce in output il doppio e il triplo */
int main()
{ Osserva con attenzione: se
non avessimo inserito questo
int n, doppio, triplo; spazio all’interno della stringa,
avremmo inserito il dato in input
printf("Inserisci un numero "); esattamente alla fine della parola
numero e il risultato non sarebbe
scanf("%d", &n); stato ben leggibile
doppio = n*2;
triplo = n*3;
printf("\nIl doppio di %d e' %d\n",n, doppio);
printf("\nIl triplo di %d e’ %d\n",n, triplo);
return 0;
}

La funzione scanf() elabora la stringa di controllo da sinistra a destra e a ogni se-


gnaposto cerca di interpretare i caratteri ricevuti in ingresso in relazione all’iden-
tificatore. Se vengono specificati più valori nella stringa di controllo, si presuppo-

384 Sezione D Algoritmi e linguaggi di programmazione


ne che questi vengano immessi da tastiera separandoli con spazio o tabulatore
oppure premendo Invio dopo l’immissione di ciascuno. Ad esempio, l’istruzione:
scanf("%d %d",&i,&j);

acquisisce due numeri interi e li memorizza, rispettivamente, nelle variabili i e j. I


due valori possono essere inseriti separandoli con uno spazio (o un numero qual-
sivoglia di spazi o di tabulazioni), oppure andando a capo ogni volta.
Questo significa che, se volessimo inserire i dati 3 e 4, potremmo digitarli in una
delle due forme seguenti:
3 4
oppure:
3
4

ORA TOCCA A TE
1 Individua gli errori nel seguente frammento di codice e apporta le dovute correzioni

int x,y,z;
printf(inserisci due numeri );
scanf("%f",y);
scanf("%d",&z);
x=y+z;
printf("Risultato=%",&x);

8 Le istruzioni di input/output in C++


All’inizio di questa unità abbiamo introdotto il linguaggio C++ come un’evoluzio-
ne del linguaggio C. In tale evoluzione vi è la necessità di astrarre oggetti reali con
nuovi tipi di dati.
Pertanto gli oggetti reali, come monitor e tastiera, divengono due oggetti virtuali
con cui il linguaggio interagisce attraverso i due operatori di ridirezione << e >>
che specificano la direzione del flusso. In particolare:

<< x >> y

Queste due figure rappresentano due istruzioni simboliche e ci consentono di


interpretare i due operatori come una specie di freccia: nella prima il valore della
variabile x viene inviato (operatore di ridirezione dell’output <<) al monitor in
modo da visualizzarne il contenuto, mentre nella seconda quanto digitato sulla
tastiera viene inserito (operatore di ridirezione dell’input >>) all’interno della
variabile y.

I linguaggi C e C++: le basi D6 385


In C++ gli oggetti reali monitor e tastiera prendono rispettivamente il nome di cout
(console output) e cin (console input):
cout << x cin >> y
È possibile inviare al monitor anche stringhe di testo. Ad esempio, l’istruzione:
cout << "Ciao a tutti";
visualizza sul monitor la stringa Ciao a tutti.
Se invece si vuole visualizzare il contenuto di una variabile x, la sintassi è la se-
guente:
cout << x;
Lo sai?
È consentito utilizzare un unico cout per visualizzare contemporaneamente diver-
si elementi:
Come hai potuto
notare, in C++ cout << "Variabile x=" << x << " e variabile y=" << y << endl;
scompaiono gli
specificatori di In questo esempio, supposto di sostituire i contenuti delle variabili x e y rispettiva-
formato e la gestione
dell’input/output è mente con i valori 10 e 15, avremo visualizzato a video:
molto più semplice.
Variabile x=10 e variabile y=15
la parola chiave endl è utile per portare il cursore a capo su una riga, alla stregua
della sequenza di escape \n vista in precedenza.
Per accettare i dati inseriti dall’unità di input predefinita, in genere la tastiera, si
utilizza la funzione cin seguita dall’operatore >>. Ad esempio, l’istruzione:
cin >> numero;

consente di accogliere all’interno della variabile numero il valore digitato da tastiera.

DIFFERENZE TRA C E C++


C C++
Istruzione di
printf(….) cout <<…
output
Esempio di
output di 2
printf("Variabile x=%d e variabile y=%d \n", x, y); cout << "Variabile x=" << x << " e variabile y=" << y << endl;
variabili di tipo
intero x, y
Posizionamento
"\n" "\n" oppure endl
a nuova riga
Istruzione di
scanf(…) cin >>…
input
Esempio di
input di una
variabile w
scanf("%f", &w); cin >> w;
di tipo foat

386 Sezione D Algoritmi e linguaggi di programmazione


OSSERVA COME SI FA
1 Realizziamo un programma che acquisisce un valore e subito dopo lo visualizza sullo
schermo.

C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
int dis; {
printf("Inserisci distanza "); int dis;
scanf("%d",&dis); cout << "Inserisci distanza";
printf("Hai inserito distanza pari a %d \n",dis); cin >> dis;
return 0; cout << "Hai inserito distanza pari a " << dis << endl;
} return 0;
}

2 Il seguente algoritmo calcola il perimetro e l’area di un rettangolo note le misure intere


della base e dell’altezza:

PSEUDOCODICE C++
ALGORITMO Perimetro_Area_Rettangolo #include <iostream>
VARIABILI
using namespace std;
base, altezza, perimetro, area: INTERO
int main()
INIZIO
SCRIVI("Inserisci la misura della base") {
LEGGI(base) int base, altezza, perimetro, area;
SCRIVI("Inserisci la misura dell’altezza") cout << "Inserisci la misura della base ";
LEGGI(altezza) cin >> base;
perimetro o 2*(base+altezza)
cout << "Inserisci la misura dell’altezza ";
area o base*altezza
cin >> altezza;
SCRIVI("Il perimetro del rettangolo è ", perimetro)
SCRIVI("L'area del rettangolo è ", area) perimetro = 2*(base + altezza);
FINE area = base*altezza;
cout << "Il perimetro del rettangolo e' " << perimetro
<< endl;
cout << "L'area del rettangolo e' " << area << endl;
return 0;
}

I linguaggi C e C++: le basi D6 387


9 Gli operatori in C/C++
Gli operatori aritmetici
Nel precedente paragrafo abbiamo realizzato semplici espressioni matematiche
per il calcolo del perimetro e dell’area, utilizzando gli operatori di somma e pro-
dotto. Nella seguente tabella riportiamo i restanti operatori. Vedremo che alcuni
di essi possono essere applicati a due operandi (operatori binari), altri a un solo
operando (operatori unari).

Simbolo Operatore Risultato

+ addizione addiziona due operandi o concatena due stringhe

– sottrazione sottrae il secondo operando dal primo


GLOSSARIO * moltiplicazione moltiplica i due operandi
eccezione
In informatica, indica divide il primo operando per il secondo; applicato a variabili di tipo intero
l’occorrenza di diversi produce un risultato troncato della parte decimale; se l’operazione va
tipi di condizioni o / divisione sotto il limite inferiore (underfow) il risultato è 0; se eccede il limite
eventi che alterano superiore (overfow) il risultato viene approssimato al valore massimo
il normale flusso rappresentabile; se il secondo operando è zero, si solleverà un’eccezione
di controllo ed fornisce il resto della divisione tra due operandi interi; ha delle limitazioni:
esecuzione di un % resto (modulo) – non può essere utilizzato con operandi in virgola mobile;
programma. – se il secondo operando è zero, si solleverà un’eccezione

Vediamo un esempio.

C C++
#include <stdio.h> #include <iostream>
int main( ) using namespace std;
{ int main( )
int dividendo = 100, divisore = 22, quoziente, resto; {
int dividendo = 100, divisore = 22, quoziente, resto;
quoziente = dividendo / divisore;
quoziente = dividendo / divisore;
resto = dividendo % divisore;
resto = dividendo % divisore;
printf("100/22= %d con resto %d", quoziente, resto);
cout << "100/22= " << quoziente << " con resto "
return 0; << resto << endl;
} return 0;
}
Il precedente frammento di codice produce sul monitor il messaggio:
100/22 = 4 con resto 12

Gli operatori unari


Gli operatori aritmetici unari si applicano a un solo operando e ne modificano il
valore. Si distinguono i seguenti:
incremento: ++
Ad esempio:
p++; equivale a: p = p+1

388 Sezione D Algoritmi e linguaggi di programmazione


decremento: ––
Ad esempio:
p––; equivale a: p = p–1

Questi operatori possono essere posti prima dell’operando (prefissi) o dopo


l’operando (postfissi) e il loro effetto varia a seconda di tale posizione: l’operatore
prefisso modifica l’operando prima di utilizzarne il valore, mentre l’operatore
postfisso modifica l’operando dopo averne utilizzato il valore.
Vediamo un esempio. Con:
Postfisso: si assegna prima il valore della variabile x
x = 10; alla variabile y e poi si incrementa la variabile x.
y = x++; In altri termini, equivale a:
y = x;
x++;
si ottiene y = 10 e x = 11.
Invece, con:
Prefisso: prima si incrementa la variabile
x = 10; x e poi si assegna il valore alla variabile y.
In altri termini equivale a:
y = ++x; x++;
y = x;
si ottiene y = 11 e x = 11.

OSSERVA COME SI FA
1 I seguenti frammenti di codice chiariscono la funzione degli operatori unari ++ e – –.

C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
int i = 15, a; {
a = (i++)*2; int i = 15, a;
printf("Post incremento %d , %d \n ", a, i); a = (i++)*2;
i = 15; cout <<"Post incremento "<< a << ", " << i << endl;
a = (++i)*2; i = 15;
printf("Pre incremento %d , %d \n ", a, i); a = (++i)*2;
return 0; cout <<"Pre incremento " << a << ", " << i << endl;
} return 0;
}

Per comprendere il signifcato del risultato, devi ricordare che:


■ se l’operatore di incremento viene usato come prefsso (++i), il valore della variabile viene
incrementato prima della valutazione dell’espressione e quindi l’espressione viene valuta-
ta usando il valore incrementato;
■ se l’operatore di incremento viene usato come postfsso (i++), il valore della variabile viene
incrementato dopo la valutazione dell’espressione e quindi l’espressione viene valutata
usando il valore non incrementato.

I linguaggi C e C++: le basi D6 389


In dettaglio, nella prima operazione viene effettuato prima il prodotto e poi l’istruzione succes-
siva conferma l’aumento della variabile i, mentre nella seconda operazione il pre-incremento
viene effettuato prima del prodotto. Vediamo ancora un esempio.

C C++
#include <stdio.h> #include <iostream>
using namespace std;
int main() int main()
{ {
int i, n; int i, n;
i = 4; i = 4;
n = i; n = i;
printf("Valore di n all'inizio: %d\n", n); cout << "Valore di n all’inizio: =" << n << endl;
n = i++; n = i++;
printf("Valore di n dopo i++: %d\n", n); cout << "Valore di n dopo i++:" << n << endl;
n = ++i; n = ++i;
printf("Valore di n dopo un ulteriore ++i: %d\n", n); cout <<"Valore di n dopo un ulteriore ++i: " << n << endl;
n += i*(n-4); n += i*(n-4);
printf("Valore finale di n: %d\n", n); cout << "Valore finale di n:" << n << endl;
return 0; return 0;
} }

La variabile n ha inizialmente lo stesso valore di i, ovvero vale 4.


Viene poi eseguita l’istruzione n = i++. Siccome l’operatore ++ segue il nome della variabile,
prima viene memorizzato in n il valore di i, poi il valore di i viene incrementato. Ecco così che
n vale ancora 4, mentre i adesso vale 5.
Successivamente, si ha n = ++i; in questo caso l’operatore ++ precede il nome della variabile,
quindi prima viene calcolato il valore di i (era 5, ora diventa 6) e poi il risultato è memorizzato
in n (che quindi adesso vale 6).
Infine, l’espressione i*(n-4) ovvero 6 x (6 – 4) = 12 viene sommata al precedente valore di
n (come è specificato dall’operatore += ); a questo punto dunque il valore di n, che era 6,
diviene 12 + 6 = 18.

ORA TOCCA A TE
1 Senza caricare il listato all’interno del compilatore, sapresti indicare l’output del se-
guente programma?

int main()
{
int x = 5, y = 6;
x = y++;
y = ++x;
x++;
cout << "Valore di x = " << x << endl;
cout << "Valore di y = " << y << endl;
return 0;
}

390 Sezione D Algoritmi e linguaggi di programmazione


Gli operatori di confronto (relazionali)
Gli operatori di confronto sono tutti operatori binari e richiedono operandi di
tipo fondamentale. Producono sempre un risultato booleano: true se la relazione
è verificata, false altrimenti. Sono i seguenti:
(a == b) true se a è uguale a b
(a != b) true se a è diversa da b
(a < b) true se a è strettamente minore di b
(a > b) true se a è strettamente maggiore di b
(a <= b) true se a è minore o uguale a b
(a >= b) true se a è maggiore o uguale a b

Gli operatori logici


Gli operatori logici richiedono come operandi delle espressioni booleane e pro-
ducono un risultato booleano. Sono i seguenti:
|| OR
&& AND
! NOT

Gli operatori && e || non valutano l’operando destro se non è necessario al risul-
tato, quindi il risultato dell’operatore può essere indipendente dal valore dell’ope-
rando destro. Ad esempio:
Poiché l’operando sinistro ha valore true, l’operando destro non
(3>1) || (x>7) viene valutato (qualunque sia il suo valore, il risultato è true)

Ecco le tavole di verità degli operatori logici: X Y X && Y X || Y !X


false false false false true
false true false true true
true false false true false
true true true true false

Gli operatori di assegnamento


In un’operazione di assegnamento il valore dell’operando di destra viene assegnato
alla locazione di memoria cui fa riferimento l’operando di sinistra. Oltre all’opera-
tore di assegnamento “=” visto in precedenza, il C/C++ prevede delle forme di asse-
gnazione compatte, costituite in realtà, oltre che dall’operatore di assegnazione,
anche da un operatore matematico.
La seguente tabella presenta le forme compatte di assegnamento.
Assegnamento esteso Assegnamento compatto
x=x+y x += y
x=x–y x –= y
x=x*y x *= y
x=x/y x /= y
x=x%y x %= y

I linguaggi C e C++: le basi D6 391


RIPASSIAMO INSIEME
MAPPA
I LINGUAGGI C E C++: LE BASI MODIFICABILE

Un programma è un algoritmo tradotto


in un linguaggio di programmazione
Da che cosa sono costituiti comprensibile al computer.
i linguaggi C e C++?

Parole chiave, identificatori,


commenti, segni di
punteggiatura e operatori.

Commenti in C/C++ Come si dichiara una variabile?

in C: /* (inizio commento) tipo Identificatore;


e */ (fine commento) tipo Identificatore1, Identificatore2, ....;
tipo Identificatore=valore;
in C++: // (per tutta la riga)

Istruzioni di input/output in C/C++

Come si visualizza l'output Come si visualizza l'output


sullo schermo in C? sullo schermo in C++?

printf("Messaggio "); cout << "Messaggio ";


printf("%d",X); cout << x;
printf ("Valore = %d",x); cout << "Valore = " << x;

Come si acquisisce l'input Come si acquisisce l'input


da tastiera in C? da tastiera in C++?

scanf("%d",&x); cin >> x;

392 Sezione D Algoritmi e linguaggi di programmazione


D6
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Algoritmo e programma sono sinonimi (I) ................ ☐ V ☐ F

2) Il linguaggio C non possiede parole chiave (A) ..... ☐ V ☐ F

3) L’istruzione int z; dichiara una variabile intera


di nome z (H) ...................................................................... ☐ V ☐ F

4) Il simbolo // indica l’inizio di un commento


in C++ (B) ............................................................................ ☐ V ☐ F

5) L’istruzione cin >> z; visualizza sullo schermo


il valore contenuto nella variabile z (G) ................... ☐ V ☐ F

6) L’istruzione cout >> ‘‘Benvenuto’’; produce


un errore (F) ........................................................................ ☐ V ☐ F

Completa le affermazioni seguenti.

7) In C il ……………………. inizia col simbolo /* (B)

8) Il nome assegnato a una variabile viene definito


……………………………. (H)

9) L’istruzione …………….>> x ; acquisisce un valore da tastiera (G)

10) La seguente istruzione acquisisce un valore reale


da tastiera in C e lo assegna alla variabile altezza:
scanf("%.....",……………); (E)

11) La seguente istruzione del C stampa a video il contenuto


della variabile altezza: printf("%.....", ………….); (D)

12) La seguente istruzione del C++ stampa a video il contenuto


della variabile altezza: cout…………………; (F)

I linguaggi C e C++: le basi D6 393


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo D6
Risposta multipla 6 Individua quale delle affermazioni seguenti è
FALSA in riferimento agli statement:
1 Indica, tra le seguenti, qual è la giusta sequenza
A Sono istruzioni.
per ottenere un file eseguibile:
B Sono righe che rappresentano dichiarazioni
A editing codice sorgente, linker, compilatore
di oggetti e risorse che saranno usate nel
B editing codice sorgente, compilatore, debug programma.
C compilatore, editing codice sorgente, linker C Sono righe che racchiudono le istruzioni del
D editing codice sorgente, compilatore, linker programma che governano l’elaborazione.
D Sono particolari tipi di errore visualizzati
2 Individua quale delle affermazioni seguenti dal compilatore.
è FALSA in riferimento alle istruzioni di
dichiarazione per il preprocessore: 7 Quale delle seguenti affermazioni è FALSA in
A vengono chiamate dichiarative di precompilazione riferimanto agli specificatori di formato?
o direttive al preprocessore A Sono introdotti dal simbolo %.
B iniziano con il carattere # seguito dalla parola B Identificano il tipo di dato che deve essere
chiave dalla dichiarazione della direttiva stampato.
C non terminano con il punto e virgola C Indicano che in quel punto deve essere stampato
D terminano con il punto e virgola un numero in forma percentuale.
D All’interno di un’istruzione printf convertono
3 Che cosa sono i file header? e formattano il valore ottenuto dall’espressione
A file opzionali per la compilazione che segue la stringa di formato.
B file che contengono le librerie del C
8 Dopo l’istruzione a = x++
C file da integrare nel codice sorgente in caso di
errore A a e x contengono lo stesso valore
D file per inserire un’intestazione iniziale al sorgente B a ha un valore più grande di x
C a ha un valore più piccolo di x
4 In fase di esecuzione del programma, qual è D dipende dal contenuto di x
la differenza se si utilizza la direttiva #include
<stdio.h> o la direttiva #include “stdio.h”? 9 Indica l’espressione corretta per il calcolo della
A non c’è nessuna differenza media:
B vengono attivate librerie differenti A a+b+c+d/4 B a+(b+c+d)/4
C la libreria viene ricercata in percorsi differenti C (a+b+c+d/4 D (a+b+c+d)/4
D la libreria, nel secondo caso, viene ignorata se
non è presente 10 Qual è il risultato della seguente espressione?

int Totale, x = 1;
5 Con il qualificatore const è possibile definire
costanti tipizzate. Che cosa significa? Totale = ++x + 15 * x-- + x++;

A ogni costante simbolica è associata a un tipo A 31 B 32 C 30 D 16


di dato
B ogni costante esplicita è associata a un tipo 11 L’istruzione x% = 2 assegna a x
di dato A il 2% di x
C le costanti possono assumere dati di diversi tipi B il resto della divisione 2/x
D le costanti possono modificare il tipo del valore C 0 oppure 1
che contengono D un numero maggiore di 1

394 Sezione D Algoritmi e linguaggi di programmazione


Allena le tue ABILITÀ
e le tue COMPETENZE D6
ABILITÀ COMPETENZE
1 Trova gli errori presenti nel seguente codice. 4 Scrivi un algoritmo che, dati in input tre numeri,
ne determini la media.
#include <iostream.h>
int main( ) 5 Scrivi un algoritmo che determini l’area del
cerchio circoscritto a un quadrato.
{
float a, b; /* questo è un commento corretto. 6 Scrivi un algoritmo che, date in input le A

a = 100; // questo commento è valido // dimensioni AB e BC del triangolo


isoscele rappresentato in figura, ne
b = 10 */ questo commento è valido /* determini perimetro e area. B C

return 0;
}
7 Scrivi un algoritmo che calcoli la radice
dell’equazione di primo grado ax = b.
2 In ognuna delle seguenti dichiarazioni di costanti 8 Supponiamo di essere andati da un contadino a
c’è almeno un errore: trovali. comprare il vino a 1,70 euro il litro. Costruisci un
algoritmo che, ricevuto in ingresso il numero di
const char C "a";
litri acquistati, fornisca l’importo da pagare.
const int POSTI = 100,00;
const char[2] MESS = "Buongiorno!"; 9 Scrivi un algoritmo che, data in input la misura
di un angolo in gradi (G), primi (P) e secondi (S),
const PGRECO = 3,14;
determini la sua ampiezza espressa in secondi.
char const C = 'a';
int POSTI =100; 10 Scrivi un algoritmo che, dati un numero di giorni,
uno di ore, uno di minuti e uno di secondi, calcoli
const char ERRORE "Rilevato errore' il numero N di secondi corrispondente (per
esempio: giorni = 2, ore = 3, minuti = 23, secondi
3 Qual è l’output prodotto dal seguente =7 N = 184 987).
programma?
#include <stdio.h>
11 Per produrre una vernice sono necessari 10 g di
additivo ogni kilogrammo di prodotto fino a 10 kg
int main() e 5 g al kilogrammo per i kilogrammi eccedenti.
{ Costruisci un programma che calcoli la quantità
int a=5, b=6, c; di additivo necessaria in base al quantitativo di
vernice richiesto.
printf("++a = %d\n", ++a);
printf("a = %d\n", a); 12 Scrivi un algoritmo che determini il numero
di scatti effettuati da un utente telefonico e
printf("a++ = %d\n", a++);
l’ammontare della sua bolletta. Vengono forniti in
printf("a = %d\n", a); input i seguenti dati:
c = ++b; a) il numero di scatti emersi dalla lettura della
printf("b = %d\n", b); bolletta precedente;
printf("c = %d\n", c); b) il numero di scatti emersi dalla lettura della
c = b++; bolletta attuale;
printf("b = %d\n", b); c) il costo di uno scatto.
printf("c = %d\n", c); Ricorda che, per determinare il valore della
bolletta, occorre aggiungere un canone fisso, il
return 0;
cui importo viene anch’esso fornito in input.
}

I linguaggi C e C++: le basi D6 395


D7 Le strutture di controllo
nei linguaggi C e C++
FILE SORGENTI

LABORATORIO MULTIMEDIALE
Test di esecuzione del codice

IMPARERAI…

Come si codifcano Come realizzare Come utilizzare


le strutture di programmi validi consapevolmente i
controllo in C/C++ ed effcaci in C/C++ diversi costrutti iterativi

1 Il costrutto di selezione:
l’istruzione if … else
Il costrutto di selezione è uno dei principali costrutti della programmazione impe-
rativa: permette di scegliere tra istruzioni (o gruppi di istruzioni) diverse a seconda
del valore di verità di certe variabili, così come spesso regoliamo il nostro com-
portamento sulla base del verificarsi o meno di determinate condizioni (“Se piove
prendo l’autobus, altrimenti vado in bicicletta”).
In C/C++ il costrutto di selezione viene implementato attraverso l’istruzione if ...
else. Si tratta di un’istruzione molto intuitiva, soprattutto se si considera il signifi-
cato delle particelle inglesi if, in italiano “se”, ed else, “altrimenti”.

Pseudocodice Diagrammi a blocchi C/C++

SE (<Condizione>) if <Condizione>
V F {
<Condizione>
ALLORA
Istruzione/i da eseguire se il
<B1> valore di Condizione è true;
<B1>
FINESE }

Pseudocodice Diagrammi a blocchi C/C++

SE (<Condizione>) if <Condizione>
V F {
<Condizione>
ALLORA
Istruzione/i da eseguire se il
<B1> valore di Condizione è true;
<B1> <B2>
ALTRIMENTI }
<B2> else
FINESE {
Istruzione/i da eseguire se il
valore di Condizione è false;
}

396 Sezione D Algoritmi e linguaggi di programmazione


Le istruzioni da eseguire, sia che la condizione risulti vera, sia che risulti falsa,
possono essere una o più di una (“Se piove prendo l’ombrello ed esco in autobus,
altrimenti metto la tuta e vado in bicicletta”).
A titolo di esempio, risolviamo un semplice problema: dato in input un numero N,
stabilire se è divisibile per 3.

C
#include <stdio.h>
int main()
{
int n;
printf("Inserire un numero ");
scanf("%d",&n);
if ((n % 3) == 0)
printf("Il numero inserito e' divisibile per 3\n");
else
{
printf("Il numero inserito non e' divisibile per 3\n");
printf("Riesegui il programma e prova con un altro numero \n");
}
return 0;
}

C++
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "Inserire un numero ";
cin >> n;
if ((n % 3) == 0)
cout << "Il numero inserito e' divisibile per 3"<< endl;
else
{
cout << "Il numero inserito non e' divisibile per 3" << endl;
cout << "Riesegui il programma e prova con un altro numero" << endl;
}
return 0;
}

La condizione all’interno dell’istruzione if verifica se il resto (operatore %) della di-


visione fra il numero inserito da tastiera e il valore 3 fornisce un valore uguale a 0.
Se la condizione è vera, di fatto il numero risulta divisibile per 3, altrimenti no.
All’interno di un’istruzione if è possibile inserire qualsiasi tipo di istruzione, anche
una nuova istruzione if: si parla, in tal caso, di if annidate o nidificate.

Le strutture di controllo nei linguaggi C e C++ D7 397


Quando si utilizzano istruzioni if annidate, occorre sempre controllare con grande
accuratezza quale azione else verrà associata a ciascuna if. Cerchiamo di capire
che cosa accade nel seguente esempio:
C C++
if (voto < 10) if (voto < 10)
if (voto < 5) printf("Sei totalmente insufficiente! \n"); if (voto < 5) cout << "Sei totalmente insufficiente "<< endl;
else printf("Bene. Continua! \n"); else cout << "Bene continua" << endl;

L’assenza di indentazione e la presenza di più istruzioni su una stessa riga rendono


il codice non facilmente leggibile. In queste circostanze un programmatore poco
esperto può avere difficoltà a comprendere il flusso di esecuzione, non capendo
a quale istruzione if faccia riferimento l’istruzione else finale. Il principio base, in
queste situazioni, stabilisce che un’istruzione else è sempre riferita all’ultima istru-
zione if presente nel codice.

OSSERVA COME SI FA
1 Vogliamo sapere se un numero introdotto da tastiera risulti divisibile per 2, 3, 5, 7.

PSEUDOCODICE
ALGORITMO Divisibili
VARIABILI
n: INTERO
INIZIO
SCRIVI("Inserire un numero")
LEGGI(n)
SE(n MOD 2 = 0)
ALLORA
SCRIVI("Il numero inserito è divisibile per 2")
ALTRIMENTI
SE(n MOD 3 = 0)
ALLORA
SCRIVI("Il numero inserito è divisibile per 3")
ALTRIMENTI
SE(n MOD 5 = 0)
ALLORA
SCRIVI("Il numero inserito è divisibile per 5")
ALTRIMENTI
SE(n MOD 7 = 0)
ALLORA
SCRIVI("Il numero inserito è divisibile per 7")
ALTRIMENTI
SCRIVI("Il numero inserito non è divisibile per 2, 3, 5, e 7")
FINESE
FINE

398 Sezione D Algoritmi e linguaggi di programmazione


C
#include <stdio.h>
int main()
{
int n;
printf("Inserire un numero ");
scanf("%d",&n);
if((n % 2) == 0)
printf("Il numero inserito e' divisibile per 2\n");
else
if((n % 3) == 0)
printf("Il numero inserito e' divisibile per 3\n");
else
if((n % 5) == 0)
printf("Il numero inserito e' divisibile per 5\n");
else
if((n % 7) == 0)
printf("Il numero inserito e' divisibile per 7\n");
else
printf("Il numero inserito non e' divisibile per 2,3,5,7\n");
return 0;
}

C++
#include <iostream>
using namespace std;
int main()
{
int n;
cout << "Inserire un numero ";
cin >> n;
if((n % 2) == 0)
cout << "Il numero inserito e' divisibile per 2" << endl;
else
if((n % 3) == 0)
cout << "Il numero inserito e' divisibile per 3" << endl;
else
if((n % 5) == 0)
cout << "Il numero inserito e' divisibile per 5" << endl;
else
if((n % 7) == 0)
cout << "Il numero inserito e' divisibile per 7" << endl;
else cout << "Il numero inserito non e' divisibile per 2,3,5,7" << endl;
return 0;
}

Le strutture di controllo nei linguaggi C e C++ D7 399


Per come è strutturato il precedente programma, il verifcarsi di una condizione esclude le re-
stanti successive; pertanto, in presenza di un numero divisibile anche per altri valori, il sistema
fornirà solo la prima soluzione che soddisfa la condizione tralasciando le restanti (gli else suc-
cessivi non vengono valutati). Se ad esempio introduciamo il valore 105, che è divisibile per 3,
5 e 7, il programma, appena ha verifcato che esso è divisibile per 3, termina l’elaborazione e
le restanti condizioni non vengono prese in considerazione.

ORA TOCCA A TE
1 Il seguente programma assegna alla variabile magico un numero casuale tra 0 e 9,
attraverso la funzione rand(), e richiede in input un numero. Se si indovina il numero
generato, viene emesso un messaggio di vincita, altrimenti un messaggio di errore.
Completa il codice con le parti mancanti.

C C++
#include <stdlib.h> #include <iostream>
#include <math.h> #include <math.h>
int main() using ______________ std;
{ int main()
int magico, __________ {
magico = rand() % 10; /* genera un numero casuale */ int magico, x;
printf("Indovina il numero"); magico = rand() % 10; // genera un numero casuale
scanf________________); cout << "indovina il numero";
if(_________ == ______) ____ >> x;
printf("ESATTO"); if(_______________)
else cout << "ESATTO";
printf("ERRORE"); else
return 0; cout << "ERRATO";
} cout << "Numero generato=" << magico << _____;
return 0;
}

2 Il seguente programma riceve in input un valore intero non negativo compreso fra 0 e
30 e visualizza sul monitor le frasi:
■ “Valore non corretto” se il valore inserito è al di fuori del campo di variazione consentito;
■ “Hai passato l’esame e puoi registrarlo!” se il valore inserito è compreso fra 21 e 30;
■ “Dovrai sostenere l’orale se vuoi passare”, se il valore inserito è compreso fra 16 e 20;
■ “Mi dispiace… respinto!”, se il valore inserito è minore o uguale a 15.
Il codice presenta però errori diffusi. Sapresti individuarli? (La sequenza logica delle istruzioni è
corretta: gli errori sono esclusivamente sintattici.) Sapresti intervenire anche sull’indentazione?

C
#include <stdio.h>;
int main()
{
int voto;
sprintf("Inserire il voto: \n");
scanf("%d", &voto);
ifs((voto<0)||(voto>30))

400 Sezione D Algoritmi e linguaggi di programmazione


printf("Valore non corretto!\n");
else if(voto>20)
printf("Hai passato l’esame e puoi registrarlo!\n");
else if(voto>=16)
printf("Dovrai sostenere l\’orale se vuoi passare!\n");
else
printf("Mi dispiace... respinto! \n");
return 0;
}

C++
#include <iostream>;
using namespace std;
int main()
{
int voto;
cout << "Inserire il voto: ";
cin >> voto;
if((voto<0)||(voto>30))
cout << "Valore non corretto!" << endl;
else if(voto>20)
cout << "Hai passato l\'esame e puoi registrarlo!" << endl;
else if(voto>=16)
cout <<"Dovrai sostenere l\'orale se vuoi passare!" << endl;
else
cout << "Mi dispiace... respinto!" << endl;
return 0;
}

3 Il seguente programma C presenta degli errori e non è scritto secondo le regole dell’in-
dentazione. Riscrivilo in modo che sia corretto e più facilmente leggibile.

C
#include <stdio.h>;
int main( )
{
int h;
printf("Inserisci un numero ");
scanf("%d", &x);
if(h=3);
printf(Numero uguale a tre);
x+;
else
printf(Numero diverso da tre);
int return 0;
}

Le strutture di controllo nei linguaggi C e C++ D7 401


2 L’istruzione di selezione multipla: switch
Esistono problemi la cui soluzione richiede una serie di scelte successive. Poiché
utilizzare numerosi if in cascata può essere problematico, una soluzione semplice
ed efficiente è servirsi del costrutto selezione multipla. Riportiamo la sintassi
algoritmica di questa struttura selettiva.

Formalismo pseudolinguaggio Esempio

NEL CASO CHE <Selettore> SIA


<Valore1>: <B1>
<Valore1> Altrimenti
<Selettore> <Valore2>: <B2>

<V
>
re2

alo
alo

reN
<V

>
<B1> <B2> <BN> <BN+1>
<ValoreN>: <BN>
[ALTRIMENTI
<BN+1>]
FINECASO

La selezione multipla è implementata in C/C++ con l’istruzione switch in base alla


forma generale riportata qui di seguito:

switch(<Selettore>)
{
case <Valore1>;
<Istruzioni1>
break;
.......
case <ValoreN>;
<IstruzioniN>
break;
default:
<IstruzioniDefault>
}

Facciamo subito un esempio risolvendo il seguente problema: dato in input un nu-


mero, visualizzare il giorno della settimana corrispondente.

402 Sezione D Algoritmi e linguaggi di programmazione


C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
int giorno; {
printf("inserisci giorno: "); int giorno;
scanf("%d",&giorno); cout << "inserisci giorno: ";
switch(giorno) cin >> giorno;
{ switch(giorno)
case 1: printf("Lunedi\' \n"); {
case 2: printf("Martedi\'\n"); case 1: cout << "Lunedi\' " << endl;
case 3: printf("Mercoledi\'\n"); case 2: cout << "Martedi\' " << endl;
case 4: printf("Giovedi\'\n"); case 3: cout << "Mercoledi\' " << endl;
case 5: printf("Venerdi\'\n"); case 4: cout << "Giovedi\' " << endl;
case 6: printf("Sabato\n"); case 5: cout << "Venerdi\' " << endl;
case 7: printf("Domenica\n"); case 6: cout << "Sabato " << endl;
} case 7: cout << "Domenica " << endl;
return 0; }
} return 0;
}

Una volta acquisito il valore intero della variabile giorno, il controllo passa al case
corrispondente. Se, ad esempio, inseriamo il valore 4, viene eseguita l’istruzione
case 4, ma anche quella dei case successivi: come si può vedere nella finestra di
output, sono state eseguite tutte le istruzioni relative anche ai case 5, 6 e 7.
Si dice che il linguaggio C/C++ prevede il fall-through automatico tra le clausole
dello switch: anche quando una clausola viene eseguita, il controllo passa cioè
alle clausole case successive (default compreso) e non si esce dallo switch.
Può capitare di dover eseguire le istruzioni corrispondenti a uno solo dei casi pre-
senti e saltare alla fine dello switch. Per farlo, in C/C++ si utilizza l’istruzione break
da inserire all’interno di ogni case.
È possibile che case differenti facciano riferimento allo stesso blocco di istruzioni e
in tal caso, per evitare di ripetere i blocchi, si mettono di seguito i case interessati;
un esempio è riportato nel prossimo “Osserva come si fa”.

Le strutture di controllo nei linguaggi C e C++ D7 403


INFOGRAFICA

Il linguaggio C:
dalla nascita allo standard
UN LINGUAGGIO STORICO La storia del linguaggio C ha segnato
tappe fondamentali per l’informatica, quali lo sviluppo del sistema
operativo UNIX e la diffusione della programmazione con linguaggi
ad alto livello, dai grandi sistemi di calcolo (mainframe) fno ai
personal computer.

PARTE 1 Le origini PARTE 2 Gli anni ’60 e ’70

UNIX Le origini del linguaggio C risalgono 1969 Ken Thompson iniziò a


alle origini del sistema operativo UNIX, lavorare su un computer di nome
infatti il linguaggio è stato sviluppato proprio PDP-7, utilizzando il linguaggio
su questo sistema operativo. Anzi, lo stesso assembler. L’idea era quella di
sistema operativo UNIX e i suoi programmi scrivere un linguaggio ad alto livello
sono scritti in C. per l’implementazione di sistemi
Il progetto del linguaggio C è sempre stato operativi. Thompson prese spunto dal
ambizioso: questo linguaggio, infatti, non era CPL (Combined Programming Language) e dal
nato solo per la programmazione dei sistemi BCPL (Basic CPL – 1967) per creare il linguaggio
operativi, ma per potenti programmi di calcolo, B, che però risultò ancora troppo pesante per
elaborazione di testi e database. E il progetto è l’hardware disponibile all’epoca.
stato pienamente tradotto in realtà.

404 Sezione D Algoritmi e linguaggi di programmazione


1972 Dennis Ritchie, 1973 – 1980 Il linguaggio C si diffuse
collaboratore di anche su architetture Honeywell 635
Thomson, ottimizzò e IBM 360/370, grazie al lavoro del
ulteriormente il B ricercatore Stephen Johnson che sviluppò
(creando una prima il compilatore pcc, e grazie a un libro di
versione chiamata NB) riferimento scritto da Brian Kernighan e
restituendogli alcune Dennis Ritchie nel 1978 e intitolato The C
funzionalità del BCPL e programming language, ma comunemente
inventando quello che chiamato “Il libro bianco”.
oggi viene chiamato
linguaggio C, che
permise di riscrivere
quasi totalmente lo
UNIX di Thomson,
questa volta per un
computer più avanzato,
il PDP-11.

Dagli anni ’80 ai


PARTE 3 giorni nostri: sviluppo
dello standard

1980 – 1988 I compilatori erano basati


principalmente sul ppc di Johnson, ma
nacquero anche molti compilatori indipendenti
che non erano conformi al pcc, ma permisero
la diffusione del linguaggio C su tutti i
computer più popolari. Per questo il comitato
ANSI (American Standards Institute) X3J11,
nel 1983, iniziò a sviluppare uno standard
per il linguaggio C, aggiungendo importanti
caratteristiche e ufficializzando molte di quelle
presenti nei diversi compilatori esistenti.

1989 Si arrivò così allo standard ISO/IEC


9899-1990 (chiamato ANSI C89), che venne
usato come base per tutti i compilatori
dell’epoca e poi dei successivi.

Evoluzione degli standard Alla prima


versione dello standard per il linguaggio C ne
sono seguite diverse altre, fino al 2011 quando
fu pubblicato lo standard ISO/IEC 9899:2011,
chiamato in breve C11.

Le strutture di controllo nei linguaggi C e C++ D7 405


OSSERVA COME SI FA
1 Dati in input due numeri corrispondenti a un mese e a un anno, determinare il numero
di giorni di cui è composto quel mese di quell’anno (considerando gli anni bisestili).

C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
int mese,anno,giorniMese; {
printf("Inserisci il mese(1..12) e anno "); int mese,anno,giorniMese;
scanf("%d %d", &mese, &anno); cout << "Inserisci il mese(1..12) e anno ";
switch (mese) cin >> mese >> anno;
{ switch (mese)
case 1: case 3: case 5: case 7: case 8: case 10: case 12: {
giorniMese = 31; case 1: case 3: case 5: case 7: case 8: case 10: case 12:
break; giorniMese = 31;
case 4: case 6: case 9: case 11: break;
giorniMese = 30; case 4: case 6: case 9: case 11:
break; giorniMese = 30;
case 2: break;
if(anno % 4 == 0 && anno != 1900) case 2:
giorniMese = 29; if(anno % 4 == 0 && anno != 1900)
else giorniMese = 29;
giorniMese = 28; else
break; giorniMese = 28;
} break;
printf("il mese in questione ha %d giorni\n", giorniMese); }
return 0; cout << "il mese in questione ha giorni" << giorniMese
<< endl;
} return 0;
}

Quando ci sono più case diversi che si riferiscono


a un blocco di istruzioni uguali, si evita di ripetere
ogni volta tale blocco e si scrivono i rami case
che a esso si riferiscono uno accanto all’altro
(ciascuno seguito da due punti)

406 Sezione D Algoritmi e linguaggi di programmazione


ORA TOCCA A TE
1 Completa opportunamente il seguente codice. 2 Completa opportunamente il seguente codice.

switch(myVar) #include <iostream>


{ using namespace std;
case 1: int _____()
case 2: {
printf("myVar e' uguale a _____________ "); int n;
break; cout << "Inserisci un numero intero ";
case 3: cin >> n;
printf("myVar e' uguale a _____________ "); switch(_____)
break; {
case 4: case 1:
printf("myVar e' uguale a _____________ "); cout << ______________;
break; break;
} case 0:
cout << ______________;
break;
}
return 0;
}

3 Il costrutto di iterazione
Il linguaggio C/C++ dispone di tre tipi diversi di istruzioni iterative: while, do ...
while e for.

L’istruzione while
L’istruzione while prevede che il controllo in testa: si tratta quindi di un costrutto
pre-condizionale.
La sua sintassi è la seguente:

Pseudocodice Diagrammi a blocchi C/C++

MENTRE(<Condizione>) ESEGUI while(<Condizione>)


<B1> {
FINEMENTRE F
<Condizione> <B1>
}
V

<B1>

Le strutture di controllo nei linguaggi C e C++ D7 407


Vediamo subito un semplice esempio che consente di comprendere l’uso del co-
strutto while.

OSSERVA COME SI FA
1 Dato in input un numero, calcolare la somma di tutti i suoi predecessori e del numero
stesso.

C C++
#include <stdio.h> #include <iostream>
using namespace std;
int main( ) int main( )
{ {
int num, k, sommaNumeri; int num, k, sommaNumeri;
k = 1; k = 1;
sommaNumeri = 0; sommanumeri = 0;
printf("Inserire un numero positivo "); cout << "Inserire un numero positivo ";
scanf("%d", &num); cin >> num;
while(k <= num) while(k <= num)
{ {
sommaNumeri += k; sommaNumeri += k;
k++; k++;
} }
printf("La somma dei numeri da 1 a %d cout << "La somma dei numeri da 1 a " << num << "
e\' %d \n", num, sommaNumeri); e\' " << sommaNumeri << endl;
return 0; return 0;
} }

Il ciclo viene eseguito mentre la condizione espressa nelle parentesi risulta vera e termina ap-
pena il valore di k supera quello di num e quindi la condizione k <= num diviene falsa.

ORA TOCCA A TE
1 Enuncia il testo del problema risolto dal seguente programma C.

#include <stdio.h>
int main()
{
int a, i, t;
float r;
t = 0;
i = 0;
printf ("Inserisci un numero: ");

408 Sezione D Algoritmi e linguaggi di programmazione


scanf("%d",&a);
while (a >= 0)
{
i++;
t += a;
r = (float)t/i;
printf ("La media attuale e\': %.3f\n", r);
printf ("Inserisci un numero: ");
scanf("%d",&a);
}
printf ("La media finale e\': %.3f\n", r);
return 0;
}

2 Enuncia il testo del problema risolto dal seguente


programma C.

#include <stdio.h>
int main()
{
int a, t;
t = 0;
printf ("Inserisci un numero: ");
scanf("%d",&a);
while (a >= 0)
{
t += a;
printf("Somma attuale =: %d\n", t);
printf ("Inserisci un numero: ");
scanf("%d",&a);
}
printf ("Somma finale =: %d\n", t);
return 0;
}

Anche i costrutti iterativi possono essere annidati. Se due while sono annidati uno
dentro l’altro, supponendo che quello esterno preveda n ripetizioni e quello inter-
no m, le istruzioni del while più interno saranno eseguite per un numero di volte
dato dal prodotto n × m.

Le strutture di controllo nei linguaggi C e C++ D7 409


OSSERVA COME SI FA
1 Calcoliamo il fattoriale dei numeri compresi tra 1 e 10 (ricorda che il fattoriale di un
numero intero n è il prodotto di quel numero per tutti i suoi predecessori, dunque:
n! = 1 × 2 × ... × n).

C C++
#include <stdio.h> #include <iostream>
int main( ) using namespace std;
{ int main( )
int fatt, x=1, i; {
while (x <= 10) int fatt, x=1, i;
{ while (x <= 10)
fatt = 1; {
i = 1; fatt = 1;
while (i <= x) i = 1;
fatt *= i++; while (i <= x)
printf("fattoriale di %d =%d\n", x, fatt); fatt *= i++;
x++; cout << "fattoriale di" << x << "=" << fatt << endl;
} x++;
return 0; }
} return 0;
}

Il primo ciclo scandisce i numeri da 1 a 10, mentre il secondo (interno al primo) calcola il fat-
toriale per ognuno di essi.
Osserva che il blocco di istruzioni del while interno prevede una sola istruzione, pertanto non
necessita di parentesi graffe. La corretta indentazione ci fa vedere immediatamente l’unica
istruzione presente al suo interno.

L’istruzione do … while
Diversamente dall’istruzione while, che valuta la condizione prima di iniziare il
ciclo iterativo, l’istruzione do ... while valuta la condizione alla fine del ciclo stesso:
è dunque un costrutto post-condizionale. Per questo motivo, il corpo del ciclo
do ... while viene sempre eseguito almeno una volta.

È doveroso ricordare che il nostro approccio metodologico/didattico prevede un


ciclo postcondizionale in cui il blocco viene ripetuto finché la condizione rima-
ne falsa. Il linguaggio C/C++ mette invece a disposizione un costrutto iterativo
postcondizionale che itera quando la condizione è vera. Pertanto, dovendo fare
un parallelo fra pseudocodice e linguaggio C/C++ utilizzeremo la negazione della
condizione per esprimere in C/C++ lo stesso significato semantico dell’algoritmo:

410 Sezione D Algoritmi e linguaggi di programmazione


Pseudocodice Diagrammi a blocchi C/C++

RIPETI do
<B1> {
FINCHÉ(<Condizione>) <B1>
<B1>
} while(<Negazione Condizione>)

F
<Condizione>

Supponendo di realizzare un programma in cui si devono inserire dei numeri fino


a quando viene digitato 0 (zero), avremo:

Pseudocodice C/C++

RIPETI do
SCRIVI(“Inserisci un numero, 0 per terminare”) {
LEGGI(Num) cout << "Inserisci un numero, 0 per terminare ";
FINCHÉ(Num = 0) cin >> Num;
} while(Num != 0);

Lo pseudocodice prevede di iterare sulla condizione falsa e quindi per tutti i nu-
meri che non sono uguali a 0 e termina quando la condizione è vera. Il C/C++
invece itera per vero e cioè quando i numeri sono diversi da 0 e termina quando la
condizione è falsa. Così facendo possiamo considerare equivalenti i due costrutti.

OSSERVA COME SI FA
1 Il seguente programma rifuta valori non consentiti dell’input e ne itera la richiesta fno
a quando il dato non soddisf la condizione prevista.

C
#include <stdio.h>
int main( )
{
int n;
do
{
printf("Inserire un valore intero compreso tra 10 e 20: ");
scanf("%d", &n);
} while(n < 10 || n > 20);
printf("Il numero inserito e\' %d\n",n);
return 0;
}

Le strutture di controllo nei linguaggi C e C++ D7 411


C++
#include <iostream>
using namespace std;
int main( )
{
int n;
do
{
cout << "Inserire un valore intero compreso tra 10 e 20: ";
cin >> n;
} while(n < 10 || n > 20);
cout << "Il numero inserito e\' " << n << endl;
return 0;
}

Qualsiasi valore minore di 10 o maggiore di 20 rende vera la condizione iterando la richiesta di


inserire un valore valido, cioè compreso tra 10 e 20.
Come si vede dal codice, dal ciclo while si esce solo quando l’utente inserisce un valore valido:
si tratta di un tipico esempio di validazione dell’input dell’utente.

2 Dato in input un numero intero positivo che indica la misura del raggio, fornire in output
la misura della circonferenza.
Abbiamo già analizzato questo problema; vediamo ora come fare per accettare in input soltanto
valori soddisfacenti, che nel nostro caso sono soltanto numeri interi positivi.

C C++
#include <stdio.h> #include <iostream>
using namespace std;
int main() int main()
{ {
int r; int r;
float circ; float circ;
r = –1; /* inizializzazione per entrare nel ciclo r=-1; // inizializzazione per entrare nel ciclo
la prima volta */ la prima volta
while (r<0 || r>32767) while (r<0 || r>32767)
{ {
printf("Inserire la misura del raggio "); cout << "Inserire la misura del raggio ";
scanf("%d", &r); cin >> r;
if ((r<0) || (r>32767)) if ((r<0) || (r>32767))
printf("Il valore del raggio deve essere positivo cout << "Il valore del raggio deve essere positivo
minore di 32767"); minore di 32767";
} /* fine del while */ } // fine del while
circ= 2*3.14*r; circ= 2*3.14*r;
printf("Circonferenza = %f", circ); cout << "Circonferenza = " << circ << endl;
return 0; return 0;
} }

412 Sezione D Algoritmi e linguaggi di programmazione


Vediamo, ora, lo stesso esercizio svolto con l’istruzione do ... while:

C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
{
int r;
int r;
float circ;
float circ;
do do
{ {
printf("Inserire la misura del raggio "); cout << "Inserire la misura del raggio ";
scanf("%d", &r); cin >> r;
if (r<0 || r>32767) if (r<0 || r>32767)
printf("Il valore del raggio deve essere positivo cout << "Il valore del raggio deve essere positivo
minore di 32767\n"); minore di 32767" << endl;
} while ((r<0) || (r>32767)); } while ((r<0) || (r>32767));
circ= 2*3.14*r;
circ= 2*3.14*r;
cout << "Circonferenza e' "<< circ << endl;
printf("Circonferenza è %f", circ);
return 0;
return 0; }
}

Come si vede, è sempre possibile passare da un ciclo pre-condizionale a uno post-condizionale.


In questo caso, il ciclo postcondizionale è utile in quanto si deve eseguire almeno una volta l’o-
perazione di scanf (è necessario leggere prima il valore e poi verifcare se rispetta la condizione
richiesta) e si evita l’inizializzazione fttizia (r = –1) necessaria se si utilizza l’istruzione while.

3 Scrivere un programma in C/C++ che calcoli il massimo comune divisore (MCD) di due
numeri applicando l’algoritmo euclideo.
L’algoritmo originale di Euclide per il calcolo del MCD è basato sulle sottrazioni successive: dati
due numeri naturali a e b, si controlla se b è zero; se lo è, a è il MCD. Se non lo è, si divide a
per b e si assegna a r il resto della divisione (operazione indicata nel seguito con “a modulo
b”). Se r = 0, allora si termina affermando che b è il MCD cercato; altrimenti, occorre assegnare
ad a il valore di b e a b il valore di r e ripetere la divisione.

C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
int x, y, t; {
do /* Lettura dati di input con controllo di validità */ int x, y, t;
{ do // Lettura dati di input con controllo di validità
printf("Inserisci due interi maggiori di zero:\n"); {
scanf("%d %d", &x, &y); cout << "Inserisci due interi maggiori di zero:";
} while (x <= 0 || y <= 0); cin >> x >> y;
while (x != y) } while (x <= 0 || y <= 0);
{ while (x != y)
if (x < y) {

Le strutture di controllo nei linguaggi C e C++ D7 413


{t = x; x = y; y = t;} if (x < y)
x = x – y; {t = x; x = y; y = t;}
} x = x - y;
printf("Il Massimo comune divisore e\' %d\n", x); }
return 0; cout << "Il Massimo comune divisore e\' " << x << endl;
} return 0;
}

L’istruzione for
L’istruzione for viene utilizzata per codificare la cosiddetta ripetizione enume-
rativa o ripetizione con contatore: istruzioni cicliche che devono essere ripetute
per un numero prestabilito di volte.
La sua sintassi semplificata è la seguente:

for(<Inizializzazione_Indice>; <Condizione_di _permanenza_del_ciclo>; [<Incremento>])


{
<Istruzioni>
}

Schematicamente:

inizializzazione
modifica
test

for (i=0; i<10; i=i+1)


{
..............
}
} blocco di istruzioni da eseguire ciclicamente

La semantica dell’istruzione for è la seguente:


1. si inizializza la variabile i a 0;
2. si valuta la condizione i<10;
3. se la condizione dà come risultato true:
a. si esegue il blocco istruzioni;
b. si incrementa la variabile i;
4. se la condizione dà come risultato false (cioè i ha valore 10), si esce dal ciclo e
il controllo passa all’istruzione successiva al for.

414 Sezione D Algoritmi e linguaggi di programmazione


OSSERVA COME SI FA
1 Supponiamo di voler ottenere la somma di cinque numeri interi immessi dall’utente. Il
codice è il seguente:

C C++
#include <stdio.h> #include <iostream>
int main( ) using namespace std;
{ int main( )
int i, numero, somma = 0; {
for (i = 1; i <= 5; i++) int i, numero, somma=0;
{ printf("Inserire il %d numero ", i); for (i = 1; i <= 5; i++)
scanf("%d", &numero); { cout << "Inserire il " << i << " numero ";
somma += numero; cin >> numero;
} somma += numero;
printf("\nLa somma e\' %d\n", somma); }
return 0; cout << "La somma e\' " << somma << endl;
} return 0;
}

Per analizzare il funzionamento del programma costruiamo la sua tabella di traccia, ossia la
tabella nella quale vengono registrati gli stati successivi del programma istruzione dopo istru-
zione (lo stato di un programma in un dato istante è l’insieme dei valori contenuti in ciascuna
delle sue variabili in quell’istante):

numero
Fasi i somma Considerazioni
(in input)
stato prima del ciclo 0
assegnazione iniziale ciclo for 1 0 inizializzazione (i = 1)
1° iterazione 2 5 5
2° iterazione 3 6 11
3° iterazione 4 3 14
4° iterazione 5 1 15
5° iterazione 6 2 17 termine ciclo (i > 5)
printf(…) 6 2 17 stampa il contenuto di somma

Le strutture di controllo nei linguaggi C e C++ D7 415


2 Dati in input due interi n > 0 e k > 0, stampare i primi n multipli di k.

C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
int i, n, k, p; {
do int i, n, k, p;
{ printf("Inserisci un numero > 0 : "); do
scanf("%d",&n); { cout << "Inserisci un numero n > 0 : ";
} while (n <= 0); cin >> n;
do } while (n <= 0);
{ printf("Inserisci un altro numero > 0 : "); do
scanf("%d",&k); { cout << "Inserisci un altro numero k > 0 : ";
} while (k <= 0); cin >> k;
for (i=1; i<=n; i++) } while (k <= 0);
{ p = k*i; for (i=1; i<=n; i++)
printf("%d\n", p); { p = k*i;
} cout << p << endl;
return 0; }
} return 0;
}
3 Dati in input due interi n > 0 e k > 0, stampare la somma k+k2+k3+ ... +kn.
C C++
#include <stdio.h> #include <iostream>
using namespace std;
int main() int main()
{ {
int i, n, k, p, s; int i, n, k, p, s;
do do
{ printf(“Inserisci un numero > 0 : “); { cout << “Inserisci un numero n > 0 : “;
scanf("%d",&n); cin >> n;
} while (n <= 0); } while (n <= 0);
do do
{ printf(“Inserisci un altro numero > 0 : “); { cout << “Inserisci un altro numero k > 0 : “;
scanf("%d",&k); cin >> k;
} while (k <= 0); } while (k <= 0);
s = 0; s = 0;
p = 1; p = 1;
for (i=1; i<=n; i++) for (i=1; i<=n; i++)
{ {
p = p*k; p = p*k;
s = s+p; s = s+p;
} }
printf("%d\n", s); cout << s << endl;
return 0; return 0;
} }

416 Sezione D Algoritmi e linguaggi di programmazione


4 Dati in input cinque numeri, visualizzare il maggiore di essi, la loro media e la radice
quadrata della loro somma.

C
#include <stdio.h>
#include <math.h>
int main()
{
int i, a, max, somma;
float r; Lo sai?
max = 0;
for (i=0; i<5; i++) La libreria math.h
si rende necessaria
{
tutte le volte in
printf ("Inserisci il numero %d: ",i+1); cui è richiesta una
scanf("%d",&a); particolare funzione
matematica, in questo
if(max < a) caso la funzione sqrt
max = a; che calcola la radice
quadrata.
somma += a;
}
r = somma / 5.0;
printf ("Il valore massimo inserito e\': %d\n", max);
printf ("La radice quadrata della somma e\': %.3f\n", sqrt(somma));
printf ("La media e\': %.3f\n", r);
return 0;
}

C++
#include <iostream>
#include <math.h>
using namespace std;
int main()
{
int i, a, max=0, somma=0;
float r;
for (i=0; i<5; i++)
{

Le strutture di controllo nei linguaggi C e C++ D7 417


cout << "Inserisci il numero " << i+1 << ": ";
cin >> a;
if(max < a)
max = a;
somma += a;
}
r = somma / 5.0;
cout << "Il valore massimo inserito e\': " << max << endl;
cout << "La radice quadrata della somma e\': " << sqrt(somma) << endl;
cout << "La media e\': " << r << endl;
return 0;
}

5 Dato in input un numero intero positivo maggiore di 2, visualizzare il corrispondente


numero di Fibonacci.
Ricorda che i numeri della successione di Fibonacci sono defniti dalla seguente equazione di
ricorrenza:
FIB(N) = 1 per N = 0 e per N = 1
FIB(N) = FIB(N–1) + FIB(N–2) per N > 1
Pertanto, i primi numeri di Fibonacci sono:
1 1 2 3 5 8 13 21 34 55
N 0 1 2 3 4 5 6 7 8 9

Ne segue che il numero di Fibonacci corrispondente a N = 5 è 8, quello per N = 2 è 2, ecc.

C C++
#include <stdio.h> #include <iostream>
int main() using namespace std;
{ int main()
int i, n, fibonacciA, fibonacciB;
{
char continuo;
do int i, n, fibonacciA, fibonacciB;
{ char continuo;
do do
{ {
printf("\nInserisci N ");
do
scanf("%d",&n);
{
} while (n < 0);
fibonacciA = 0; cout << "Inserisci N ";
fibonacciB = 1; cin >> n;
for (i = 0; i < n; i++) } while (n < 0);
{ fibonacciA = 0;
fibonacciB += fibonacciA;
fibonacciB = 1;
fibonacciA = fibonacciB - fibonacciA;
} for (i = 0; i < n; i++)

418 Sezione D Algoritmi e linguaggi di programmazione


printf("\nIl numero di Fibonacci con N=%d e\' %d\n", {
n, fibonacciB); fibonacciB += fibonacciA;
printf("\nContinui [s/n]? ");
fibonacciA = fibonacciB - fibonacciA;
scanf("\n%c", &continuo);
}
} while ((continuo == 's') || (continuo == 'S'));
return 0; cout << "Il numero di Fibonacci con N=" << n
} << " e\' " << fibonacciB << endl;
cout << "Continui [s/n]? ";
cin >> continuo;
} while ((continuo == 's') || (continuo == 'S'));
return 0;
}

ORA TOCCA A TE
1 Enuncia il testo del problema risolto dal seguente programma C.

C
#include <stdio.h>
int main()
{
int n, a, b, c;
printf("Inserire un numero: ");
scanf("%d", &n);
a = 1;
b = 1;
printf("%d %d ", a, b);
for (i=2; i<n; i++)
{
c = a+b;
printf("%d ", c);
a = b;
b = c;
}
return 0;
}

Le strutture di controllo nei linguaggi C e C++ D7 419


RIPASSIAMO INSIEME
MAPPA
LE STRUTTURE DI CONTROLLO IN C E C++ MODIFICABILE

Come si realizza
il costrutto
precondizionale?
Come si realizza
while(<Condizione>)
il costrutto
{
postcondizionale?
<Istruzioni>
} do Come si realizza il costrutto
{ iterativo definito?
<Istruzioni>
} for(<Inizializzazione_Indice>;
while(<Condizione>); <Condizione_di _permanenza_
del_ciclo>; [<Incremento>])
{
<Istruzioni>
}
Qual è la sintassi della
struttura di selezione?

if(<Condizione>)
{ Qual è la sintassi della
<Istruzioni> /* da eseguire se struttura di selezione multipla?
il valore di Condizione
switch(<Espressione>)
è true */
{
}
case valore1:
else
<Istruzioni1>
{
break;
<Istruzioni> /* da eseguire se
......
il valore di Condizione
case valoreN:
è false */
<IstruzioniN>
}
break;
default:
<IstruzioniDefault>
}

420 Sezione D Algoritmi e linguaggi di programmazione


D7
Conoscenze
Se non sai rispondere ai quesiti, vai al riquadro TEST
Svolgi il test interattivo
della mappa indicato dalle lettere azzurre.

Indica se le affermazioni seguenti sono vere o false.

1) Il costrutto di selezione si traduce con


la parola chiave if (B) ..................................................... ☐ V ☐ F

2) La clausola else del costrutto di selezione


è obbligatoria (B) .............................................................. ☐ V ☐ F

3) Il numero di case della struttura switch


deve essere maggiore di tre (C) .................................... ☐ V ☐ F

4) L’istruzione while può essere utilizzata solo all’inizio


del ciclo (A, D) ................................................................... ☐ V ☐ F

5) Il ciclo for viene utilizzato quando è noto a priori


il numero di iterazioni (E) ............................................. ☐ V ☐ F

6) L’istruzione di incremento deve necessariamente


essere presente all’interno del ciclo for (E) ............. ☐ V ☐ F

Completa le affermazioni seguenti.

7)
while (……==0)
{
cin >> …………;
cin >> …………;
r=a%b;
}
Il precedente codice effettua il calcolo del ……………….
fra due valori inseriti da tastiera. Esce dal ciclo quando
il resto è …………… (A)

8) La parola chiave ………………. si utilizza nel costrutto di


selezione multipla (C)

Le strutture di controllo nei linguaggi C e C++ D7 421


Metti a punto le tue
CONOSCENZE TEST
Svolgi il test interattivo D7
Risposta singola 7 La differenza tra i cicli while e do ... while è:
1 L’istruzione for(x=0;x<0;x++) A nessuna: è solo un modo differente di scrivere
A provoca un errore i cicli
B esegue il blocco una volta soltanto B il while è più veloce da eseguire
C non è corretta C la condizione viene esaminata in momenti
D non esegue mai il blocco interno differenti rispetto al blocco

2 Tra le seguenti istruzioni ce n’è una priva di D nel primo si itera per vero, mentre nel secondo per
errori, mentre le altre presentano un errore falso
ciascuna. Sapresti identificare quella corretta e 8 In C, il ciclo postcondizionale si rappresenta con
trovare gli errori presenti nelle altre? l’istruzione:
A while(x=0)
A do … while B while C default
B while(s<5)
D switch E case F if … else
C while(x<4 AND x>6)
9 In C, il ciclo precondizionale si rappresenta con
D while(x=='c' OR x=="b") l’istruzione:
E while(NOT z=0)
A do … while B while C default
F while(if > 6)
D switch E case F if … else
3 Un blocco è:
A un insieme di istruzioni all’interno di un ciclo
10 Qual è il valore della variabile i alla fine del ciclo
for(i=0; i<5; i++)?
B costituito dalle direttive del preprocessore
A 7 B 5 C 4 D 6
C un insieme di istruzioni racchiuso tra parentesi
graffe
D l’insieme delle istruzioni condizionali Vero o falso
4 Un gruppo di istruzioni if si dicono “in cascata” se: 11 switch è un’istruzione di selezione V F

A contengono all’interno un blocco 12 In un costrutto switch, la presenza


dell’istruzione break è sempre necessaria V F
B contengono almeno una else if
C hanno un ciclo all’interno 13 Il ciclo for prevede una una variabile indice V F
D hanno un costrutto switch 14 Entrambi i costrutti while e do .. while
5 Il C prevede il fall-through automatico tra le iterano per vero V F
clausole dello switch. Questo significa che:
15 Il ciclo do..while è sempre da preferire
A il case verificato non esclude i restanti al while V F
B il case verificato esclude tutti gli altri 16 L’istruzione if prevede sempre un else V F
C il case verificato termina l’esecuzione
dell’intera istruzione 17 Il blocco di un istruzione if non può
contenere un ciclo al suo interno V F
D la switch deve necessariamente prevedere
un default 18 L’istruzione for non prevede una condizione V F
6 All’interno dell’istruzione switch, in quale ramo
19 Il costrutto for può essere sempre
occorre inserire il caso non previsto?
trasformato in un costrutto while V F
A do … while B while C default
20 L’istruzione break è necessaria
D switch E case F if … else per evitare di eseguire altri case V F

422 Sezione D Algoritmi e linguaggi di programmazione


Allena le tue ABILITÀ
e le tue COMPETENZE D7
ABILITÀ Si hanno allora i casi seguenti:
1 Scrivi un programma in C/C++ che, dati in input I. se ∆s = 0 e ∆x = 0, allora il sistema è
due numeri, li scriva in ordine crescente. indeterminato;
II. se ∆s = 0 e ∆x ≠ 0, allora il sistema è impossibile;
2 Scrivi un programma in C/C++ che, dato in input
III. se ∆s ≠ 0, allora le soluzioni del sistema sono:
un numero, stabilisca se è pari o dispari.
∆x ∆y
3 Scrivi un programma in C/C++ che, date in input x= ; y= ]
le misure dei lati di un triangolo, determini se il ∆s ∆s
triangolo è scaleno, equilatero o isoscele. 12 Scrivi un programma in C/C++ che, dato in input
4 Scrivi un programma in C/C++ che, dati in input il numero corrispondente al mese dell’anno,
due numeri interi X e Y, visualizzi il valore di visualizzi il numero di giorni di cui è composto
X+N*B dove N è un numero compreso tra 2 e 50. (ad esempio: input 11 output 30).
5 Progetta un programma in C/C++ che, data una 13 Scrivi un programma in C/C++ che, dati in
quantità in lire letta da tastiera restituisca la input due numeri interi, visualizzi, a scelta
quantità corrispondente in euro (/2000) o in dell’utente, il risultato di una delle quattro
dollari(/2500), a seconda del valore assunto da operazioni fondamentali (addizione, sottrazione,
una variabile moneta di tipo carattere. moltiplicazione, divisione).
6 Scrivi un programma in C/C++ che, dati in input 14 Date le misure a, b dei lati di un rettangolo, fornite
due numeri A e B, calcoli la somma di quello da tastiera, scrivi un programma che calcoli il
che ha valore assoluto maggiore e del doppio di perimetro, l’area o la diagonale del rettangolo
quello che ha valore assoluto minore. secondo la richiesta dell’utente. (Si suppone che
l’utente possa inserire come scelta: 1 = perimetro,
7 Scrivi un programma in C/C++ che calcoli le 2 = area oppure 3 = diagonale.)
radici di un’equazione di secondo grado.
15 Un negoziante, per incrementare le sue vendite,
8 Calcola la somma spesa da un cliente in un prevede di applicare uno sconto progressivo
negozio di abbigliamento tenendo conto delle sull’importo della fattura in base al numero di
seguenti condizioni: pezzi acquistati, secondo la seguente tabella:
a) per spese inferiori a euro 50, sconto 10%;
b) per spese inferiori a euro 100, sconto 20%; Numero pezzi acquistati Sconto (%)
c) per spese superiori a euro 100, sconto 30%. 1 10
3 20
9 Calcola l’imponibile relativo all’acquisto di una
5 30
certa merce, noti la quantità acquistata, il prezzo
unitario e lo sconto, tenendo presente che lo 10 35
sconto viene applicato soltanto per quantità >10 40
superiori a un valore dato. Costruisci un programma che calcoli, dato in
input un importo, lo sconto praticato e la somma
10 Scrivi un programma in C/C++ che, dati in input
che il cliente dovrà pagare.
tre numeri, determini:
a) il maggiore; 16 Per aumentare il numero di visitatori di una
mostra, si decide di far pagare il biglietto
b) il minore;
d’ingresso differenziato in base all’età.
c) la differenza tra il maggiore e il minore. Precisamente:
11 Sia dato un sistema lineare a due incognite. Età Prezzo del biglietto
Scrivi un programma che, acquisiti da tastiera i inferiore a 5 anni gratuito
coefficienti a, b e a’, b’ e i termini noti c, c’ delle fno a 10 anni €2
equazioni, risolva il sistema con il metodo di
da 11 a 17 anni €4
Cramer.
da 18 a 26 anni €5
[Metodo di Cramer. Siano: ∆s = ab’ – a’b,
oltre 26 anni €7
∆x = cb’ – c’b
∆y = ac’ – a’c.

Le strutture di controllo nei linguaggi C e C++ D7 423


Scrivi un programma in C/C++ che, data in 28 Scrivi un programma che legga da tastiera N
input l’età, visualizzi il prezzo del biglietto numeri reali (N richiesto da tastiera) e calcoli,
corrispondente. visualizzando i risultati:
17 Un’agenzia immobiliare, per incrementare le a) minimo b) massimo c) media dei valori
vendite, decide di abbassare i prezzi degli 29 Dato un numero intero inferiore a mille, si
appartamenti e affigge la seguente tabella: desidera sapere il numero di centinaia, decine e
unità che contiene (ad esempio, 123 è composto
Distanza dal centro Prezzo al m2 da un centinaio, due decine e tre unità).
Centro € 1.500
30 Dati N numeri reali, costruisci un programma che
Zona 1 € 1.200 calcoli la loro media aritmetica e dica qual è il
Zona 2 € 1.400 valore di essi per il quale si registra il massimo
scostamento.
Zona 3 € 1.300
Periferia € 1.000 31 Scrivi un programma in C/C++ che, servendosi
esclusivamente delle operazioni di addizione e
Scrivi un programma in C/C++ che, date in
sottrazione, calcoli rispettivamente il prodotto
input le dimensioni dell’appartamento (in
e il quoziente di due numeri interi positivi X e
m2) e la zona di appartenenza, determini il
Y (immessi da tastiera). Per quanto riguarda il
prezzo dell’appartamento e calcoli poi il prezzo
quoziente, accertati di non incorrere in forme
complessivo di vendita, ottenuto aggiungendo
indeterminate.
una percentuale del X% relativa alla provvigione
spettante all’agenzia. 32 Supponendo che l’esecutore conosca le
quattro operazioni, scrivi un programma in C/
18 Scrivi un programma in C/C++ che, dati in
C++ per il calcolo della potenza xy di due interi
input N numeri, determini, di ciascuno, il valore
non negativi x e y ricevuti in ingresso. Riscrivi
assoluto.
poi il programma in C/C++ nel caso in cui
19 Scrivi un programma in C/C++ che visualizzi i l’esecutore conosca solo le operazioni di somma
primi 100 numeri pari. e sottrazione.
20 Scrivi un programma in C/C++ che visualizzi i 33 Dati un numero reale N e uno intero M, con
primi N numeri pari (generalizzazione dell’esercizio M >= 0, calcola la potenza di N alla M. Modifica
precedente). poi il programma per fare in modo che M possa
assumere anche valori negativi.
21 Scrivi un programma in C/C++ che legga N
numeri interi (con N < 100) e calcoli la somma 34 Scrivi un programma in C/C++ che, dati in input
dei soli numeri dispari tra questi. N numeri, determini, per ognuno di essi, tutti i
fattori primi.
22 Scrivi un programma in C/C++ che, dati in input
N numeri interi e un numero X, determini: 35 Scrivi un programma in C/C++ che, dati in input
a) quanti numeri sono maggiori di X; N numeri, determini il fattoriale di ognuno.
b) quanti sono minori di X; 36 Scrivi un programma in C/C++ che, dati in input N
c) quanti sono uguali a X. numeri interi, determini la percentuale tra di essi
dei positivi, dei negativi, dei pari e dei dispari.
23 Scrivi un programma in C/C++ che, dati in input
N numeri interi, determini il massimo e il minimo 37 Scrivi un programma in C/C++ che calcoli
tra di essi. il quadrato dei primi N numeri naturali.
(Suggerimento: il quadrato di un numero x diverso
24 Scrivi un programma in C/C++ che, data una da zero è uguale alla somma dei primi x numeri
sequenza di numeri chiusa dallo zero, determini il dispari; ad esempio: il quadrato di 5 è dato da
massimo e il minimo e fornisca la loro posizione 1 + 3 + 5 + 7 + 9 = 25.)
nell’ambito della sequenza (lo zero non deve
essere considerato). 38 Scrivi un programma in C/C++ che, dato in input
un numero intero positivo A, determini quanti
25 Scrivi un programma in C/C++ che verifichi se un termini successivi (partendo dal primo) della
numero è primo. successione definita da:
26 Scrivi un programma in C/C++ che visualizzi i x0 = a + 1
primi N numeri primi. xi = xi–1 + 1 per i = 1, 2, …
27 Scrivi un programma che visualizzi la somma dei occorre sommare, per superare strettamente un
primi N numeri primi (con N letto da tastiera). limite dato in input.

424 Sezione D Algoritmi e linguaggi di programmazione


39 Scrivi un programma in C/C++ che, letto un 47 Realizza un programma in C/C++ che, per un
numero A in input, generi e visualizzi i primi 100 dato valore di X, calcoli il valore del polinomio:
valori della successione:
Pol = anxn + an-1xn-1 + ... + a1x + a0
5 + A, 10 + A, 15 + A, 20 + A, …
48 Si vuole automatizzare il calcolo delle ore
40 Per ognuna delle seguenti successioni di numeri, lavorate settimanalmente da ciascun dipendente
costruisci il programma in C/C++ che la genera: di una ditta. Scrivi un programma in C/C++ che,
a) 1, 3, 5, 7, 9, … , 99 dati in input gli orari di entrata e di uscita della
settimana riportati nel cartellino personale,
b) 1, 4, 9, 16, 25, … , 2500 calcoli, approssimativamente, il totale delle ore
c) 1, –2, 3, –4, 5, –6, …, –100 da retribuire.

d) ½, 2/3, ¾, 4/5, …, 99/100 49 Si dispone di un elenco degli studenti di una


scuola, che riporta per ciascuno di essi il nome
41 Scrivi un programma in C/C++ che legga da input e la classe frequentata. L’elenco è ordinato per
una sequenza arbitraria di numeri a1, a2, a3, a4, ... classi. Costruisci un programma che conti gli
e restituisca nella variabile SOMMA la seguente studenti di ogni classe. (Per “classe” si intende
espressione: SOMMA = a1 + a22 + a3 + a42 + ... l’anno di corso frequentato: 1, 2, 3, 4, 5, e non la
(dove n2 rappresenta n elevato al quadrato). sezione. Non è noto a priori quante e quali siano
42 Scrivi un programma in C/C++ che legga da input le classi presenti nella scuola.)
una sequenza arbitraria di numeri a1, a2, a3, a4, ... 50 L’elenco degli studenti di una scuola riporta,
e restituisca nella variabile SOMMA l’espressione: accanto al nome, la classe e la sezione. L’elenco
SOMMA = (a1*a2) + (a3*a4) + ... è ordinato per classe e per sezione. Costruisci un
43 Scrivi un programma in C/C++ che legga da programma che, date una sezione e una classe,
input una sequenza arbitraria di numeri a1, a2, calcoli quanti studenti la frequentano e quanti
a3, a4, ... e restituisca nella variabile SOMMA la frequentano lo stesso anno.
seguente espressione: 51 Un interessante programma in C/C++: stabilisci
SOMMA = (a1*a2*a3) + (a4*a5*a6) + ... la data della Pasqua per qualsiasi anno. Segui i
44 Scrivi un programma in C/C++ che stampi le seguenti passi:
prime N righe del triangolo di Tartaglia. ■ assegna alla variabile y l’anno preso in considera-
Esempio: zione;
1 ■ assegna alla variabile n la differenza tra 1900 e y;
1 1 ■ assegna alla variabile a il resto della divisione tra
1 2 1 la variabile n e 19;
1 3 3 1 ■ assegna alla variabile b il quoziente della divisione
tra (7a + 1) e 19;
1 4 6 4 1
■ assegna alla variabile m il resto della divisione tra
1 5 10 10 5 1 (11a + 4 – b) e 29;
1 6 15 20 15 6 1 ■ assegna alla variabile q il quoziente della divisione
tra n e 4;
COMPETENZE ■ assegna alla variabile w il resto della divisione tra
45 Ogni giorno, vengono registrate la temperatura (n + q + 31m) e 7;
massima e minima di ogni città capoluogo di ■ la data della Pasqua si ottiene da 25 – m – w. Se il
provincia della tua regione. Scrivi un programma risultato ottenuto è positivo, il mese in cui cade la
in C/C++ che, dati in input, per ciascuna di esse, Pasqua è Aprile. Se il risultato è negativo, il mese
il nome e le temperature massima e minima del è Marzo e il giorno potrà essere stabilito grazie alla
giorno, visualizzi il nome della città più calda e di tabella:
quella più fredda.
Risultato Data
46 Si dispone di un elaboratore capace di calcolare
soltanto il precedente e il successivo di un 0 31 marzo
numero. Scrivi per questa macchina, in C/C++, –1 30 marzo
un programma che calcoli la somma di due –2 29 marzo
numeri X e Y. (Suggerimento: la somma richiesta
... ...
può essere ottenuta aggiungendo a X tante unità
quante se ne possono togliere a Y.) –9 22 marzo

Le strutture di controllo nei linguaggi C e C++ D7 425


Sezione D

Traguardo COMPETENZE
Verso la certificazione

Compito di realtà – Father & songs


LE COMPETENZE CHE DOVRAI CERTIFICARE

Competenza Declinazione

Individuare collegamenti Saper utilizzare consapevolmente e con spirito di integrazione gli strumenti di analisi dei
e relazioni problemi e i linguaggi di programmazione per l’implementazione di strategie risolutive.

Acquisire l’abitudine a ragionare con rigore logico, a identificare i problemi e a individuare


Risolvere problemi
possibili soluzioni.

Acquisire e interpretare Essere in grado di interpretare criticamente l’informazione ricevuta nei diversi ambiti
l’informazione e attraverso diversi strumenti comunicativi.

Organizzare il proprio apprendimento individuando, scegliendo e utilizzando


Imparare a imparare varie fonti e varie modalità di informazione e di formazione per motivare razionalmente
le scelte compiute, i parametri di valutazione e i criteri di selezione utilizzati.

➤ Identifica il problema
Tuo padre è un appassionato di musica e in un lungo periodo di tempo ha collezio-
nato brani musicali sui differenti supporti audio che si sono susseguiti negli ultimi
quarant’anni. Pertanto si ritrova con un notevole quantitativo di musica registrato su:
• musicassette;
• vinile 33 giri;
• vinile 45 giri;
• cd audio.
Nel tentativo di mettere ordine e catalogare tutta la musica, ti chiede una mano per
realizzare un sistema che possa aiutarlo.

➤ Identifica l’obiettivo del problema


Definisci in modo preciso l’obiettivo da conseguire per risolvere il problema, spuntan-
do quelle che secondo te rappresentano le scelte adatte per raggiungerlo:
• catalogare la musica per genere;
• catalogare la musica per supporto audio;
• condividere la musica con gli amici;
• registrare tutte le informazioni dei brani e dei relativi supporti;

426 Sezione D Algoritmi e linguaggi di programmazione


• realizzare una ricerca veloce della musica (per genere, autore, titolo, ecc.);
• vendere parte della discografia;
• identificare facilmente il supporto audio all’interno della collezione;
• avere contatti con altri appassionati di musica.

Descrivi in poche righe, in modo chiaro e completo, l’obiettivo da raggiungere per


risolvere il problema:

...........................................................................................................................

...........................................................................................................................

➤ Esplicita i dati
Individua i dati iniziali e quelli finali del problema.

Dati iniziali Dati fnali

......................................................................................... .........................................................................................

......................................................................................... .........................................................................................

......................................................................................... .........................................................................................

......................................................................................... .........................................................................................

Il problema si presta a essere scomposto in sottoproblemi che possono essere af-


frontati inizialmente in modo separato, per ottenere alla fine che tutto il sistema
funzioni. Completa il diagramma riportato qui sotto (elimina o aggiungi blocchi come
ritieni opportuno in base alle considerazioni che hai fatto).

Father & songs

Acquisizione dei dati


............................ ............................ ............................
della discografia

Algoritmi e linguaggi di programmazione Sezione D 427


➤ Individua i dettagli inutili e ambigui
Individua, fra le seguenti informazioni, quelle che ritieni essenziali e quelle che con-
sideri inutili:
• durata del brano;
• data di acquisto del brano;
• autore del brano;
• genere musicale;
• reperimento del brano (acquistato, regalato, ...).
Sapresti indicare l’ambiguità presente nella frase riportata di seguito?
Tutti i brani devono essere catalogati, per ognuno di essi si vogliono sapere tutte le in-
formazioni disponibili.

...........................................................................................................................

...........................................................................................................................

➤ Individua i vincoli
Prova ora a individuare i vincoli che determineranno la strategia risolutiva.

Vincolo Descrizione

V1 Ogni brano deve necessariamente appartenere a una categoria musicale

V2 Per ogni brano si devono registrare le seguenti informazioni:


• titolo
• …............…............
• …............…............
• …............…............

V3 …............…..............................................................................................................

V4 …............…..............................................................................................................

V5 …............…..............................................................................................................

........... …............…..............................................................................................................

➤ Definisci la strategia risolutiva


Descrivi in poche righe la strategia che adotterai per la soluzione del problema e indi-
ca eventualmente i metodi che hai utilizzato nella sua ricerca.

...........................................................................................................................

...........................................................................................................................

...........................................................................................................................

428 Sezione D Algoritmi e linguaggi di programmazione


➤ Progetta il sistema
In merito al sottoproblema relativo all’acquisizione dei dati della discografia, definisci i
passi della strategia risolutiva sotto forma di pseudocodice e di diagramma a blocchi.

Pseudocodice Diagramma a blocchi

ALGORITMO Acquisizione_discografia INIZIO


VARIABILI ......................
.........................
INIZIO
SCRIVI("Quanti brani vuoi inserire?")
LEGGI(totale_brani)
.........................
.........................
.........................
.........................
.........................
.........................
.........................
FINE
FINE

➤ Realizza il programma
Realizza il programma in C o in C++ corrispondente al precedente algoritmo.
int main()
{
.........................................
.........................................
.........................................
return 0;
}

➤ Verifica la soluzione
Testa il raggiungimento dello stato finale della strategia risolutiva verificando che
i risultati ottenuti siano rispondenti agli obiettivi iniziali.
Elenca alcuni test che potrai effettuare per verificare i risultati.

Test Risultati ottenuti Esito


Ricerca brano per titolo non presente nella discografia Nessun brano Ricerca esatta

Ricerca brano per titolo presente nella discografia Nessun brano Ricerca errata

...............................................

...............................................

...............................................

...............................................

Algoritmi e linguaggi di programmazione Sezione D 429


AUDIO
GLOSSARIO CLIL
CLIL Ascolta la pronuncia

Applications and apps


You may have heard people talking about using a program, an application, or an app. But what
exactly does that mean? Simply put, an app is a type of software that allows you to perform
specifc tasks.

Desktop applications
Applications for desktop or laptop computers
are sometimes called desktop applications.
Apps in the operating system
When you open an application, it runs inside the
operating system until you close it. Most of the time,
you will have more than one application open at the
same time, which is known as multi-tasking.

Devices Mobile apps


App is a common term for an application, especially for Applications for mobile devices are called mobile apps.
simple applications that can be downloaded inexpensively In particular, a mobile app is software that runs on a
or even for free. Desktop and laptop computers aren’t handheld device (phone, tablet, e-reader, iPod, etc.) than
the only devices that can run applications. You can also can connect to wif or wireless carrier networks, and has
download apps for mobile devices like smartphones and an operating system that supports stand-alone software.
tablets, and even some TVs.

Glossary … and now answer!


• Download • Program 1 What is an app?
to move information to your a series of instructions that 2 What can you do with an app?
computer from another makes a computer perform an
computer system or the Internet action or a particular type of 3 What is a mobile app?
work
• Operating system 4 What is a stand-alone software?
the software that tells the parts • Stand-alone
5 What is an operating system?
of a computer how to work not connected to anything else, or
together and what to do not depending on anything else 6 What is multi-tasking?

430 Sezione D Algoritmi e linguaggi di programmazione


RIFLESSIVO
“Rifletti” sul tuo processo di apprendimento: scoprirai i punti di forza e i limiti delle tue conoscenze.

CON CON CON CON CON


CON
HO IMPARATO MOLTA QUALCHE POCHE SUFFICIENTE
SICUREZZA
SICUREZZA E
DIFFICOLTÀ DIFFICOLTÀ DIFFICOLTÀ SICUREZZA PADRONANZA

Che cos’è un problema e quali sono


le strategie da usare per risolverlo

Che cos’è un algoritmo


e come si rappresenta

Che cosa sono le variabili


e le costanti

Come si valutano le espressioni

Che cosa sono e a che cosa servono


le strutture di controllo

A utilizzare in modo corretto


il costrutto selezione

A utilizzare in modo corretto


i vari costrutti iterativi

A utilizzare gli operatori


dell’algebra relazionale

Come creare semplici animazioni


e codificare algoritmi con Scratch

Le caratteristiche dei linguaggi C e C++

Come gestire l’I/O in C e C++

A codificare le strutture di controllo


in C e C++

COME HO IMPARATO

■ Quali strategie hai usato


per apprendere?
■ Come puoi correggere gli errori
che hai eventualmente commesso?
■ Hai raggiunto gli obiettivi
che ti proponevi?

Algoritmi e linguaggi di programmazione Sezione D 431


Indice analitico
A funzione main, 378 D G
gestione input e output,
Abbonamento podcast, 127 382 Dato, 26 G Suite, 141
Addizione con numeri binari, identificatori, 373 alfanumerico, 278 a scuola, 150
14-15 istruzione switch, 402 di input, 278 Giochi online, 129
ADSL (Asymmetric, Digital istruzioni di input e output, iniziale, 246 Gmail, 141
Subscriber Line), 108 385 numerico, 278 Google, 122
Aero Peek, 78 istruzioni iterative, 407 Desktop, 70-71 Google Drive, 138
Aero Snap, 79 operatori, 388 Dev-C++; installazione, 374 Grafici con Excel, 214
Algebra, 273 parole chiave, 372 Diagramma a blocchi, 274 Grassetto, 170
booleana, 305 strutture di controllo, 396 Divisione con numeri binari, Guardia del ciclo, 323
Algoritmo, 266, 273 Cache, 121 18 GUI (interfaccia utente
selezione, 297 Calendar, 141 DNS (Domain Name System), grafica), 70
selezione binaria, 297 Canale di comunicazione, 106 118
selezione multipla, 303 Case sensitive, linguaggio, Dropbox, 138
selezione unitaria, 298 373 DVD-ROM, 57 H
sequenza, 293 Cavo coassiale, 107
strutture di controllo, 293 Cavo di rete, 107 Hangout, 141
tipi di istruzioni, 286 Chat line, 125 E Hard disk, 55
Allineamento del testo, 172 Chiavetta USB, 56 Hardware, 44
Ambiente di valutazione, 280 Cifre binarie, 9 Efficacia, 258 HDMI (High Definition
Analogico, 47 Client-server, architettura, Efficienza, 258 Multimedia Interface),
AND (prodotto logico), 306 121 Elenco numerato, 177 porta, 47
App Bar, 72 Cloud computing, 134 Elenco puntato, 177 Home page, 122
Archiviazione, 80 Cluster, 55 Email, 124 Host, 103
Area di notifica, 78 Codice ASCII, 38-39 Enunciato, 305 Hosting, 137
Aristotele, 8 Codice, 27 eReader, 61 Housing, 137
ARPA (Advanced Research Codifica, 368 Esecutore, 259 HTTP (Hypertext Transfer
Project Agency), 116 Collegamento ipertestuale in Espressione, 279 Protocol), 121
ARPANet, 116 PowerPoint, 227 Estensione del file, 80 Hub, 111
ASCII (American Standard Complemento alla base, Ethernet, 110
Code for Information 28-31 Excel
Interchange), 38-39 Compressione dei file, 81 tipi di grafici, 214 I
Astrazione, 250 Comunità virtuali, 127 barra della formula, 200
completamento IaaS (Infrastructure as a
Azione, 272 Condizione, 323 Service), 135
Connessione a Internet, 119 automatico celle, 195
errori nelle formule, 207 Icona, 71
Connettivo logico, 306 IEEE (Institute of Electrical
B Conoscenza, 26 formule, 199
funzioni, 201 and Electronic Engineering),
Conversione 32
Backtracking, 258 da binario a decimale, 9-13 riferimenti assoluti e
Banda larga, 108 relativi, 206 Indirizzo email, 124
da binario a esadecimale, Indirizzo IP, 118
BIOS (Basic Input-Output 20-21
System), 53, 69 Informazione, 26, 244
da decimale a binario, Interfaccia grafica, 68
Bit, 9, 49 12-13 F Interlinea, 172
Blog, 129 da decimale a esadecimale,
Boot, 69 Facebook, 129 Internet Service Provider, 119
19 Feed RSS, 126 Internet, 116
Bps (bit per secondo), 106 da esadecimale a binario,
Brainstorming, 246 Fibra ottica, cavo, 107 origini, 116
20-21 File, 80 ricerche, 122
Broadcasting, 109 da esadecimale a decimale.
Browser, 117 Flash Memory card, 56 Interruzione di pagina, 173
20 Foglio elettronico, 192 IP (Internet Protocol), 116
Bus, 53-54 Copiare testo, 171
Byte, 49, 55 Font, 170 Ipertesti in PowerPoint, 227
Corsivo, 170 Formattazione testo, 169 Ipv4, 118
Costante, 277 Formule in Excel, 199 Ipv6, 118
Costrutto iterativo, 322 Frequenza di clock, 48, 245 ISO 8859, codice, 39
C definito, 336 FTTH (Fiber to the Home), 109 Istruzione, 272
C/C++, programmazione, 369 postcondizionale, 329 FTTS (Fiber to the Street), 109 di assegnazione, 287
commenti, 379 precondizionale, 323 Funzioni di Excel, 201 di input, 288
costrutto di selezione CPU (Central Processing Unit), logiche, 209 di output, 288
if … else, 396 48 matematiche, 201 operativa, 287
file header, 380 Criterio di verifica, 250 statistiche, 208 Iterazione, 322

432
L Pannello di controllo, 86 Scheda madre, 45-46 V
Parola, 27 Scheda SD (Secure Digital),
LAN, 111 Percorso del file, 80 56 Valori di verità, 305
LCD (Liquid Chrystal Periferiche, 46-47 Scheda SSD (Solid-state Variabile, 277
Display), 59 Personal Computer (PC), Drive), 56 Velocità di trasferimento, 55
LED (Light Emitting Diode), 59 60-61 Scratch, programma, 344 Verifica del risultato, 247
Libreria standard del Phishing, 125 creazione di un nuovo VGA (Video Graphics Array),
linguaggio, 380 Pi greco U, 278 blocco, 363 porta, 47
Linguaggio di Podcasting, 126 iterazione, 359 Videoscrittura, 165
programmazione, 368 Podcatcher, 126 operatori, 355 Vincolo di un problema, 250
case sensitive, 373 Posta elettronica, 124 script, 347 Virgola fissa, 31-32
Link, 122 PowerPoint Segnale Virgola mobile, 32-37
Loop infinito, 324 avvio presentazione, 224 analogico, 106 Virus, 4
ipertesti, 227 binario, 106 VoIP, 108
SmartArt, 226 digitale, 106
M temi diapositive, 222 Silicon Valley, 48
Mantissa, 32
Problem solving, 247 Sistema di numerazione, 6 W
Problema, 246 addizionale, 6
Memoria, 48-53 algoritmo, 266 binario, 9 Web, 117
ausiliaria, 54 astrazione, 250 decimale, 8 Webchat, 125
cache, 53 formulazione, 249 esadecimale, 19 Wi-MAX, 120
centrale, 48 modellizzazione, 253 posizionale, 7 Windows, 68-87
di massa, 48, 54-57 programma, 261 Sistema operativo, 68 applicazioni, 74
ottica, 56-57 strategia risolutiva, 258 Social network, 129 barre laterali, 72
Menu contestuale, 70 tema oggetto, 258 Software, 44 Charms Bar, 72
Mezzo trasmissivo, 106 vincoli, 250 Sottrazione con numeri Wireless, 107, 119
Microprocessore, 48 Processo di valutazione, 279 binari, 16-17 WLAN (Wireless Local Area
Modellizzazione del Programma, 261, 368 Stampante, 59-60 Network), 120
problema, 253 Programmazione, 368 3D, 60 Word processor, 165
Modello a salti, 293 Standard IEEE 754, 32-33 Word, programma, 167
analogico, 253 strutturata, 293 Start, pulsante, 76 anteprima e stampa,
descrittivo, 253 Proposizione, 305 Store di Windows, 74 176
logico, 253 Protocollo di comunicazione, Storia del computer, 50-51 bordi e sfondi, 173
matematico, 253 103, 116 Strategia risolutiva, 246, 258 correttore del testo, 184
predittivo, 253 Provider, 119 Strutture di controllo, 293 elenchi puntati e numerati,
prescrittivo, 253 PS/2, porta, 47 Supercomputer, 60 177
Moltiplicazione con numeri Pseudocodice, 275 Swipe, 72 formattazione testo, 169
binari, 18 Pseudocodifica, 275 Switch, 111 gestione documenti, 169
Motore di ricerca, 122 Pseudolinguaggio, 274 modelli, 166
Multicasting, 109 rientri, 176
tabelle, 180
T trova e sostituisci, 185
N R Tablet PC, 61 WWW (World Wide Web),
RAM (Random Access Tastiera, 57 117
Netbook, 61 Memory), 49 Tavola di verità, 306 ricerche, 122
Newsletter, 129 Registro, 48 TCP (Transmission Control WYSIWYG (What You See Is
Nome mnemonico, 381 Rete Protocol), 116 What You Get), 170
Normalizzazione, 32 a maglia completa, 110 Telecomunicazione, 102
NOT (negazione logica), 307 ad anello, 110 Telematica, 102
Notazione polinominale a bus, 110 Teorema di Böhm-Jacopini, X
(espansa), 9 a stella, 110 293
Notazione sottrattiva, 6 Riferimenti assoluti e relativi Topologia di rete, 109 XOR (disgiunzione esclusiva),
in Excel, 206 307
ROM (Read Only Memory), 53
O RSS (Really Simple U
Operando, 279 Syndication), 126 Z
UNICODE, codice, 39
Operatore, 279 Unità aritmetico-logica, Zero, numero, 7
OR (somma logica), 307 48 Zoom, 172
S Unità di controllo, 48
SaaS (Software as a Service), URL (Uniform Resource
P 135 Locator), 121
PaaS (Platform as a Sercive), Scanner, 58 USB (Universal Serial Bus),
135 Scheda di rete, 110 porta, 46

433

Potrebbero piacerti anche