Skillbook Logo
foto profilo

Skill Factory

Lista post > Competenze per programmare: Mondo Reale e Mondo Digitale

Competenze per programmare: Mondo Reale e Mondo Digitale

Gino Visciano | Skill Factory - 25/02/2023 10:16:25 | in Tutorials

Nell'era della trasformazione digitale è importante capire la differenza tra "Mondo reale" e "Mondo digitale".

Oggi, mondo reale e mondo digitale, coesistono, ampliando lo spazio fisico in cui viviamo con quello cibernetico, che può essere considerato come un Universo parallelo, alternativo a quello fisico.

Il mondo reale è quello in cui viviamo, composto dalle cose che osserviamo e tocchiamo, quello digitale è il mondo delle cose che assumono la forma di numeri binari.

Il mondo digitale esiste grazie al Ciberspazio (Cyberspace), la rete delle reti, chiamta Internet, che interconnette tutti i sistemi informatici ed elettronici del mondo, su cui girano i software e le applicazioni che permettono il funzionamento di Internet e del mondo cibernetico

Il termine è stato utilizzato la prima volta nel 1982, nella forma inglese cyberspace, in un racconto di fantascienza dal titolo "Burning Chrome".

I tipi di applicazioni più conosciuti  del cyberspace sono i seguenti:

  • Social media;
  • Social network;
  • Motori di ricerca;
  • Portali;
  • Siti Web;
  • Blog;
  • E-Commerce;
  • E-Learning
  • Community;
  • Suite applicative;
  • Etc..

Qual è la diiferenza tra mondo reale e mondo digitale?

La risposta è semplice, il mondo reale è fatto di informazioni analogiche, quello digitale è fatto di cifre binarie, perché gli apparecchi elettronici possono gestire solo due stati fisici (flip-flop), che noi identifichiamo con le cifre 0 e 1, chiamate bit (Binary Digit).

Come sono fatte le informazioni analogiche?

Tutto cio che percepiamo nel mondo reale ha una forma analogica. Senza scendere in tenicismi complessi, possiamo dire che tutto quello che vedete o ascoltate, sotto forma di immagini o suoni, fatto di punti, linee oppure onde, è analogico.

Gli apparecchi elettronici, a differenza degli uomini, non possono memorizzare le immagini e i suoni in forma analogica,  ma lo possono fare in forma digitale; sequenze di cifre binarie chiamate bit.

Fisicamente i bit negli apparecchi elettronici corrispondono a sequenze di interruttori (Flip-Flop) che possono assumere lo stato 0 oppure 1.

La cosa importante è che qualunque informazione analogica può essere trasformata in digitale e viceversa.

E' vero che le informazioni digitali sono più precise di quelle analogiche?

Si, è vero. I numeri sono grandezze precise, le immagini e i suoni possono anche essere interpretati male; questo è evidente con gli orologi.


Un orologio anlagico indica le ore, i minuti e i secondi attraverso tre lancette diverse, la posizione delle lancette, quando viene letta l'ora, può essere interpretata male e la persona potrebbe leggere un informazione non esatta.

Un orologio digitale indica le ore, i minuti e i secondi attraverso cifre, in questo caso l'ora letta è sempre esatta.

In che modo le informazioni analogiche possono essere trasformate in digitali?

La risposta a questa domanda complessa, può diventare semplice se facciamo riferimento all'informatica.

Quando scrivete qualcosa con un dispositivo elettronico, utilizzate la tastiera:

Tutti i caratteri della tastiera, noi li percepiamo come informazioni analogiche, perchè sono composti da punti e linee, quindi il testo che scriviamo noi lo possiamo ricordare, il dispositivo che stiamo usando no. 

Per permettere al dispositivo elettronico di memorizzare i caratteri usati per scrivre un testo, devono essere convertiti in numeri; per questo motivo è nata la tabella dei codici ASCII (pronuncia ASKII) che associa a 256 caratteri diversi, un numero da 0 a 255:


Per approfondire la conoscenza del codice ASCII clicca qui

Ad esempio, se digitate un carattere "A" oppure un carattere "1", entrabi vengono prima convertiti nei rispettivi codici ASCII 65 e 49, successivamente i numeri decimali vengono convertiti in banario, per permettere al dispositivo elettronico di memorizzarli attraverso sequenze di 8 flip-flop (interruttori elettrici), capaci di rappresentare i bit 0 oppure 1:

 A=6510=010000012
1=4910=001100012

L'immagine seguente mostra le fasi di conversione di un messaggio ti tipo testo in binario:

Ricordate che per indicare in binario il numero 255, che corrisponde all'ultimo carattere del codice ASCII, servono otto cifre (bit); per questo motivo l'unità di misura minima dell'informatica è il byte (8 bit).

Anche le immagini composte da punti o linee e i suoni formati da onde sinusoidali, possono essere convertiti in sequenze di byte, in questo modo possono essere memorizzati dai dispositivi elettronici.

L'immagine seguente mostra forme diverse di onde sonore in forma analogica:

  

 


PRINCIPALI STRUMENTI DEL MONDO REALE E DEL MONDO DIGITALE

  • COLORI


  • IMMAGINI


  • SUONI


  • POSTA


  • LIBRI


  • CHIAVI


  • FIRME


  • SOLDI


  • MAGAZZINO


IDENTITA' DIGITALE


  • INTELLIGENZA ARTIFICIALE


  • REALTA AUMENTATA O METAVERSO


Quali rischi corriamo quando siamo connessi al mondo digitale?

Come per il modo reale, anche in quello digitale si corrono dei rischi, quindi bisogna stare molto attenti a non assumere comportamenti sbagliati.

Quando siete connessi ad Internet con la vostra identità digitale e comunicate con qualcuno, state attenti, perché non sempre chi sta dall'altra parte è realmente chi dice di essere!!!

Non fidatevi di chi vi propone cose strane, ma soprattutto prima di fare qualunque cosa che vi viene richiesta, confidatevi con qualcuno molto vicino a voi.

Un altro rischio molto diffuso quando siete interconnessi ad Internet, è quello del furto d'informazioni riservate come ad esempio:

  • Carta d'identità;
  • Informazioni di genere, politiche, religiose;
  • Password di carte di credito, bmt, conti correnti, etc..

Questa attività, chiamata "Phishing", spesso avviene attraverso l'installazione sul proprio computer di software malevoli, chiamati malware.

Per evitare questo tipo di attacchi, bisogna installare sul proprio computer un buon antivirus, non aprire allegati di mail sospette e non navigare su siti non conosciuti.

Infine attenti ai bulli, perché potreste trovarli anche nel mondo digitale.

Purtroppo in Internet, il fenomeno del cyberbullismo è molto comune; sia nella vita reale, sia in quella digitale. Anche se avete paura non dovete mai subire minacce da parte di altre persone, le conseguenze potrebbero essere molto gravi. 

Se siete vitteme o conoscete qualcuno che è vittima di bullismo o cyberbullismo, è sempre meglio denunciare subito l'accaduto a qualcuno molto vicino a voi o alla polizia!!! 


 INFORMATICA APPLICATA

Laboratorio

Creare un programma che trasforma un messaggio di tipo testo in ASCII e in binario (Byte).

Soluzione JavaScript


// Funzioni
function decimaleBinario(decimale) {
    var binario = [];
    var numero = 0;
    var posizione = 7;
    for (var x = 0; x < 8; x++) {
        binario.push(0);
    }
    numero = decimale;
    while (numero >= 2) {
        risultato = Math.floor(numero / 2);
        resto = numero % 2;
        binario[posizione] = resto;
        posizione--;
        numero = risultato;
    }
    binario[posizione] = numero;
    return binario.join('');
}
// Programma
var input = require("readline-sync");
var messaggio = "";
var risposta = "";
var riga = "";
var ascii = [];
var binario = [];
var x = 0;
do {
    ascii = [];
    binario = [];
    messaggio = input.question("Messaggio da convertire: ");
    for (var x = 0; x < messaggio.length; x++) {
        ascii.push(messaggio.charCodeAt(x));
        binario.push(decimaleBinario(messaggio.charCodeAt(x)));
    }
    console.log("Conversione del messaggio in ASCII:");
    riga = "";
    for (x = 0; x < ascii.length - 1; x++) {
        riga = riga + ascii[x] + ","
    }
    riga = riga + ascii[x] + "."
    console.log(riga);
    console.log("Conversione del messaggio in binario (Byte):");
    riga = "";
    for (x = 0; x < binario.length - 1; x++) {
        riga = riga + binario[x] + ","
    }
    riga = riga + binario[x] + "."
    console.log(riga);
    risposta = input.question("Vuoi inserire un altro messaggio (s/n)? ")
    while (risposta.toLowerCase() != 's' && risposta.toLowerCase() != 'n') {
        console.log("Errore: inserire s oppure n.");
        risposta = input.question("Vuoi inserire un altro messaggio (s/n)? ")
    }
} while (risposta.toLowerCase() == 's');

 

Soluzione Python


import math

# Funzioni
def decimaleBinario(decimale):
    binario = []
    numero = 0
    posizione = 7
    for x in range(8):
        binario.append('0')
    numero = decimale
    while numero >= 2:
        risultato = math.floor(numero / 2)
        resto = numero % 2
        binario[posizione] = str(resto)
        posizione = posizione-1
        numero = risultato
    binario[posizione] = str(numero)
    return ''.join(binario)


# Programma
messaggio = ''
risposta = 's'
riga = ''
ascii = []
binario = []
x = 0
while risposta == 's':
    ascii = []
    binario = []
    messaggio = input("Messaggio da convertire: ")
    for carattere in messaggio:
        ascii.append(ord(carattere))
        binario.append(decimaleBinario(ord(carattere)))
    print("Conversione del messaggio in ASCII:")
    riga = ""
    for x in range(len(ascii)-1):
        riga = riga + str(ascii[x]) + ","
    x=x+1
    riga = riga + str(ascii[x]) + "."
    print(riga)
    print("Conversione del messaggio in binario (Byte):")
    riga = ""
    for x in range(len(binario)-1):
        riga = riga + binario[x] + ","
    x=x+1
    riga = riga + binario[x] + "."
    print(riga)
    risposta = input("Vuoi inserire un altro messaggio (s/n)? ")
    while risposta != 's' and risposta != 'n':
        print("Errore: inserire s oppure n.")
        risposta = input("Vuoi inserire un altro messaggio (s/n)? ")


Come eseguire il programma JavaScript

Per eseguire il programma JavaScript, bisogna installare il framework node.js sul proprio computer.

Il download del file d'installazione può essere fatto collegandosi al link: https://nodejs.org/it/download/.

Il file di download deve corrispondere al sistema operativo installato sul proprio computer.

Dopo il download eseguire il file per installare node.js.

Per verificare se il framework node.js è stato installato correttamente, dal prompt dei comandi del sistema operativo usato, eseguire il comando:
node --version

dovrebbe essere visualizzata la versione di node.js installata, come mostra l'immagine seguente:


Successivamente bisogna creare una cartella "laboratori" dove salvare il programma JavaScript da eseguire.

Per salvare il programma nella cartella "laboratori", basta  copiarlo nel blocco note o in qualunque editor di testo e salvarlo con il nome:

analogico_digitale.js

Infine, da prompt dei comandi, entrare nella cartella laboratori ed eseguire il comando:

npm install readline-sync

Questa libreria serve per permettere l'inserimento di dati da tastiera, quando viene eseguito il programma.

A queso punto si può eseguire il programma con il comando node, che è l'interprete JavaScript di node.js, come mostra l'esempo seguente:

node analogico_digitale


Come eseguire il programma Python

Per eseguire il programma Python, bisogna installare il framework python sul proprio computer.

Il download del file d'installazione può essere fatto collegandosi al link: https://www.python.org/downloads/
.

Il file di download deve corrispondere al sistema operativo installato sul proprio computer.

Dopo il download eseguire il file per installare python.

Attenzione, durante l'installazione è importante spuntare l'opzione "Add Python 3.X to PATH:



Per verificare se il framework python è stato installato correttamente, dal prompt dei comandi del sistema operativo usato, eseguire il comando:
python --version

dovrebbe essere visualizzata la versione di python installata, come mostra l'immagine seguente:


Successivamente bisogna creare una cartella "laboratori" dove salvare il programma python da eseguire.

Per salvare il programma nella cartella "laboratori", basta  copiarlo nel blocco note o in qualunque editor di testo e salvarlo con il nome:

analogico_digitale.py

Infine, da prompt dei comandi, entrare nella cartella laboratori ed eseguire il comando:

python analogico_digitale.py

 


Lezione precedente (I Sistemi di numerazione)


Per informazioni e contatti: www.skillfactory.it

analogico digitale ascii binario decimale bit byte cyberspace codice ascii flip-flop identità digitale intelligenza artificiale python javascript malware phishing cyberbullismo bullismo

Share Button
TOP