Skill Factory
Categoria: Home
Competenze per programmare: Mondo Reale e Mondo Digitale
Gino Visciano |
Skill Factory - 25/02/2023 10:16:25 | in Home
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)
Vuoi lavorare nel mondo informatico? Mettiti in gioco!!!
Iscriviti ad un nostro corso base gratuito della durata di 160 ore, per acquisire tutto quello che ti serve per diventare un "Programmatore" oppure un "Esperto di qualità del software" oppure un "Esperto di DevOPs".
Le iscrizioni sono sempre aperte, per partecipare invia il tuo curriculum recruiting@skillfactory.it
- Per maggiori informazioni collegati al sito www.skillfactory.it
- Per partecipare ai colloqui di ammissione al corso base, invia il tuo curriculum all'indirizzo di posta: recruiting@skillfactory.it
Il candidato ideale dovrà avere un'età compresa tra 18 e 32 anni, un diploma o una laurea ad indirizzo tecnico/scientifico, buone capacità di problem solving, buone capacità di comunicazione e predisposizione al lavoro di gruppo.
La selezione è valida per i giovani disoccupati di tutta Italia.
Alla fine del corso base, tutti gli studenti che si saranno distinti ed accetteranno di lavorare con un nostro Job Partner IT, avranno l'opportunità di frequentare gratuitamente un ulteriore percorso di specializzazione della durata di 320 ore, per acquisire tutte le competenze che servono per svolgere in autonomia il ruolo professionale scelto.
Competenze per programmare: i sistemi di numerazione
Gino Visciano |
Skill Factory - 19/02/2023 17:01:17 | in Home
Introduzione ai sistemi di numerazione
I sistemi di numerazione più usati nell'ambito informatico sono:
1) il sistema decimale a base 10 perché per comporre i numeri utilizza le cifre (0,1,2,3,4,5,6,7,8,9)
2) il sistema binario a base 2 perché per comporre i numeri utilizza le cifre (0,1) chiamate bit (binary digit)
3) il sistema ottale a base 8 perché per comporre i numeri utilizza le cifre (0,1,2,3,4,5,6,7)
4) il sistema esadecimale a base 16 perché per comporre i numeri utilizza le cifre (0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F)
Il sistema decimale (dec) è quello usato dagli uomini, che contando con le dieci dita delle mani trovano più conveniente usare dieci cifre.
Il sistema binario (bin) è quello usato dai computer, che per contare hanno solo due stati, acceso=1 o spento=0, che corrispondono a interruttori elettronici chiamati flip-flop.
Sequenze di flip-flop (interruttori elettronici a due stati spento=0 e acceso=1) permettono di scrivere i numeri in forma binaria, ovvero come sequenze di bit (0/1).
I numeri binari sono difficili da ricordare perché sono composti da troppe cifre, per questo motivo spesso vengono convertiti in ottale (ott o oct) oppure in esadecimale (esa o hex).
Ad esempio, numeri binari composti da tre bit possono essere rappresentati con una sola cifra ottale:
[Bin] [Ott]
000 = 0
001 = 1
010 = 2
011 = 3
100 = 4
101 = 5
110 = 6
111 = 7
Se i numeri binari sono composti da quattro bit, allora conviene rappresentarli con una cifra esadecimale, come mostra l'esempio seguente:
[Bin] [Esa]
0000 = 0
0001 = 1
0010 = 2
0011 = 3
0100 = 4
0101 = 5
0110 = 6
0111 = 7
1000 = 8
1001 = 9
1010 = A
1011 = B
1100 = C
1101 = D
1110 = E
1111 = F
In informatica l'unità minima di misura è il byte che corrisponde ad otto bit. Questo significa che qualunque apparecchio elettronico quando legge o scrive i numeri binari lo fa con otto bit contemporaneamente.
Per rappresentare il valore di un byte composto da otto cifre binarie (bit), bastano semplicemente due cifre esadecimali.
Ad esempio:
[Byte] [Esa]
00000000 = 00
00000001 = 01
00001111 = 0F
00010000 = 10
11111111 = FF
Che cosa sono i numeri
Nell'ambito informatico capire che cosa sono i numeri è fondamentale per comprendere i sistemi di numerazione.
Tutti i numeri indipendentemente dal sistema di numerazione scelto indicano quantità di unità oppure di cose.
Ad esempio, il numero 9 decimale potrebbe indicare un insieme di nove auto:
Per indicare un insieme di nove auto in ottale il numero sarebbe 11, mentre in binario sarebbe 1001.
Come mai numeri diversi indicano la stessa quantità di cose?
Per rispondere a questa domanda dobbiamo capire che cos'è il sistema posizionale.
Il sistema posizionale
Il sistema posizionale definisce le regole da applicare per capire la quantità di unità oppure cose indicata da un numero.
Prima di tutto è importante definire il sistema di numerazione usato per scrivere i numeri, perché in questo modo possiamo conoscere il numero di cifre disponibili.
Il numero di cifre usate da un sistema di numerazione si chiama base, ad esempio la base del sistema decimae è uguale a 10 perché usa dieci cifre: 0,1,2,3,4,5,6,7,8,9.
La base del sistema esadecimale è uguale a 16 perché questo sistema usa sedici cifre: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E;F.
Attenzione le cifre A,B,C,D,E,F se le trovate in un calcolo valogno rispettivamente: 10,11,12,13,14,15.
Per capire a quale sistema di numerazione appartiene un numero, basta indicare la base come pedice, come mostra l'esempio seguente:
910
118
10012
Tutti e tre i numeri indicano 9 unità.
La prima regola del sistema posizionale ci dice che le cifre di un numero possono indicare quantità di unità diverse in base alla loro posizione nel numero; per questo motivo si parla di sistema posizionale.
Per conoscere la quantità di unità indicata da ogni cifra in un numero, bisogna moltiplicare le cifra per un valore detto peso. I valori dei pesi cambiano in base alla posizione della cifra nel numero e in base al sistema di numerazione usato.
Per ottenere i valori dei pesi corrispondenti alle posizioni delle cifre in un numero, basta calcolare la potenza seguente:
base(posizione-1)
dove base indica il numero di cifre del sistema di numerazione usato e posizione indica dove si trova la cifra nel numero.
Per il sistema decimale, la base è 10, quindi i pesi sono i seguenti:
Posizione Base Esponente Peso
1 10 1-1=0 1
2 10 2-1=1 10
3 10 3-1=2 100
4 10 4-1=3 1000
In realtà i pesi del sistema decimale sono le unità (U), le decine (D), le centinaia (C), le migliaia (M), etc., che impariamo a scuola quando facciamo la scomposizione dei numeri.
Per il sistema binario, la base è 2, quindi i pesi sono i seguenti:
Posizione Base Esponente Peso
1 2 1-1=0 1
2 2 2-1=1 2
3 2 3-1=2 4
4 2 4-1=3 8
5 2 5-1=4 16
6 2 6-1=5 32
7 2 7-1=6 64
8 2 8-1=7 128
Per il sistema ottale, la base è 8, quindi i pesi sono i seguenti:
Posizione Base Esponente Peso
1 8 1-1=0 1
2 8 2-1=1 8
3 8 3-1=2 64
4 8 4-1=3 512
Per il sistema esadecimale, la base è 16, quindi i pesi sono i seguenti:
1 16 1-1=0 1
2 16 2-1=1 16
3 16 3-1=2 256
4 16 4-1=3 4096
Adesso che conosciamo i pesi di tutti i sistemi di numerazione, possiamo fare un esempio.
Il numero decimale 255 indica duecentocinquanta cinque unità o cose, come mostra il calcolo seguente:
5 x 1 = 5
5 x 10 = 50
2 x 100 = 200
--------------------
5+50+200=255 unità
Dimostrare che i numeri 111111112 , 3778 e FF16 , indicano lo stesso numero di unità del numero 25510.
Sistema binario: 11111111
1 x 1 = 1
1 x 2 = 2
1 x 4 = 4
1 x 8 = 8
1 x 16 = 16
1 x 32 = 32
1 x 64 = 64
1 x 128 = 128
------------------------
1+2+4+8+16+32+64+128=255 unità
Sistema ottale: 377
7 x 1 = 7
7 x 8 = 56
3 x 64 = 192
------------------------
7+56+192=255 unità
Sistema esadecimale: FF
In questo caso per fare una verifica dovete ricordare che le cifre esadecimali A, B, C, D, E, F, corrispondono ai numeri seguenti:
A = 10
B = 11
C = 12
D = 13
E = 14
F = 15
Quindi
F x 1 = 15 x 1 = 15
F x 16 = 15 x 16 = 240
------------------------
15+240=255 unità
Come si convertono i numeri decimali in numeri binari, ottali ed esadecimali
Per convertire un numero decimale nel numero corrispondente ad un sistema di numerazione diverso, basta procedere nel modo seguente:
1) Definire la base del sistema di numerazione in cui volete convertire il numero decimale;
2) Dividere il numero decimale per la base del sistema di numerazione scelto fino a quando è possibile;
3) Infine, prendere l'ultimo risultato ottenuto, insieme ai resti di tutte le divisioni fatte e scriverli da sinista verso destra.
Ad esempio, convertiamo il numero decimale 255 in binario, ottale e esadecimale.
1) Sistema binario
base=2, segue:
255/2 = 127 con resto 1
127/2 = 63 con resto 1
63/2 = 31 con resto 1
31/2 = 15 con resto 1
15/2 = 7 con resto 1
7/2 = 3 con resto 1
3/2 = 1 con resto 1
da cui si ottiene che:
25510 = 111111112
2) Sistema ottale
base=8, segue:
255/8 = 31 con resto 7
31/8 = 3 con resto 7
da cui si ottiene che:
25510 = 3778
3) Sistema esadecimale
base=16, segue:
255/16 = 15 con resto 15
da cui si ottiene che:
25510 = 151516 = FF16
Matematica applicata
Laboratorio 1
Creare un programma che calcola i primi otto pesi dei seguenti sistemi di numerazione:
1) Decimale (Dec)
2) Binario (Bin)
3) Ottale (Ott)
4) Esadecimale (Esa)
Soluzione JavaScript
var input = require("readline-sync");
var base = 0;
var nomeSistemaDiNumerazione = "";
var risposta = "";
var scelta = 0;
do {
// Menu per la scelta del sistema di numerazione
console.log("1) Sistema Decimale (Dec)");
console.log("2) Sistema Binario (Bin)");
console.log("3) Sistema Ottale (Ott)");
console.log("4) Sistema Esadecimale (Esa)");
console.log("5) Esci");
scelta = parseInt(input.question("Scegli: "))
// Visualizzo un errore se la scelta non è corretta
while (scelta < 1 || scelta > 5 || isNaN(scelta)) {
console.log("Errore:scegli un numero tra 1 e 5 ...");
scelta = input.question("Scegli: ");
}
// Imposto la base e il nome del sistema di numerazione scelto
if (scelta == 1) {
base = 10;
nomeSistemaDiNumerazione = "Decimale (Dec)";
} else if (scelta == 2) {
base = 2;
nomeSistemaDiNumerazione = "Binario (Bin)";
} else if (scelta == 3) {
base = 8;
nomeSistemaDiNumerazione = "Ottale (Ott)";
} else if (scelta == 4) {
base = 16;
nomeSistemaDiNumerazione = "Esadecimale (Esa)";
}
if (scelta != 5) {
// Calcolo i primi 8 pesi in base al sistema di numerazione scelto
console.log("Pesi delle prime 8 cifre di un numero " + nomeSistemaDiNumerazione);
for (x = 0; x <= 7; x++) {
console.log((x + 1) + ") " + Math.pow(base, x));
}
risposta = input.question("Premi invio per continuare ...");
}
} while (scelta != 5);
console.log("Fine programma");
Soluzione Python
import math
base = 0
nomeSistemaDiNumerazione = ''
risposta = ''
scelta = 0
while scelta != 5:
# Menu per la scelta del sistema di numerazione
print("1) Sistema Decimale (Dec)")
print("2) Sistema Binario (Bin)")
print("3) Sistema Ottale (Ott)")
print("4) Sistema Esadecimale (Esa)")
print("5) Esci")
scelta = int(input("Scegli: "))
# Visualizzo un errore se la scelta non è corretta
while scelta < 1 or scelta > 5:
print("Errore:scegli un numero tra 1 e 5 ...")
scelta = int(input("Scegli: "))
# Imposto la base e il nome del sistema di numerazione scelto
if scelta == 1:
base = 10
nomeSistemaDiNumerazione = 'Decimale (Dec)'
elif scelta == 2:
base = 2
nomeSistemaDiNumerazione = 'Binario (Bin)'
elif scelta == 3:
base = 8
nomeSistemaDiNumerazione = 'Ottale (Ott)'
elif scelta == 4:
base = 16
nomeSistemaDiNumerazione = "Esadecimale (Esa)"
if scelta != 5:
# Calcolo i primi 8 pesi in base al sistema di numerazione scelto
print("Pesi delle prime 8 cifre di un numero " + nomeSistemaDiNumerazione)
for x in range(8):
print(str((x + 1)) + ") " + str(int(math.pow(base, x))))
risposta = input("Premi invio per continuare ...")
print("Fine programma")
Laboratorio 2
Creare un programma che converte un numero decimale in un numero:
1) Binario (Bin)
2) Ottale (Ott)
3) Esadecimale (Esa)
Soluzione JavaScript
var input = require("readline-sync");
var numero = 0;
var numeroDecimale = 0;
var numeroConvertito = "";
var base = 0;
var risultato = 0;
var resto = 0;
var cifre = [];
var cifreNumero = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'];
var nomeSistemaDiNumerazione = "";
var risposta = "";
var scelta = 0;
do {
cifre = [];
numeroDecimale = parseInt(input.question("Inserisci un numero decimale: "))
while (numeroDecimale < 0 || isNaN(numeroDecimale)) {
console.log("Errore: inserire un numero uguale a zero o mmaggiore di zero ...");
numeroDecimale = parseInt(input.question("Inserisci un numero decimale: "))
}
// Menu per la scelta del sistema di numerazione
console.log("1) Sistema Binario (Bin)");
console.log("2) Sistema Ottale (Ott)");
console.log("3) Sistema Esadecimale (Esa)");
scelta = parseInt(input.question("Scegli il sistema di converione: "))
// Visualizzo un errore se la scelta non è corretta
while (scelta < 1 || scelta > 3 || isNaN(scelta)) {
console.log("Errore:scegli un numero tra 1 e 3 ...");
scelta = parseInt(input.question("Scegli il sistema di conversione: "));
}
// Imposto la base e il nome del sistema di numerazione scelto
if (scelta == 1) {
base = 2;
nomeSistemaDiNumerazione = "Binario (Bin)";
} else if (scelta == 2) {
base = 8;
nomeSistemaDiNumerazione = "Ottale (Ott)";
} else if (scelta == 3) {
base = 16;
nomeSistemaDiNumerazione = "Esadecimale (Esa)";
}
// Converto il numero decimale nel sistema di numerazione scelto
numero = numeroDecimale;
while (numero >= base) {
risultato = Math.floor(numero / base);
resto = numero % base;
cifre.push(resto);
numero = risultato;
}
cifre.push(numero);
// stampo il numero convertito
numeroConvertito = "";
for (var x = cifre.length - 1; x >= 0; x--) {
numeroConvertito = numeroConvertito + cifreNumero[cifre[x]];
}
console.log("Numero decimale da convertire: " + numeroDecimale);
console.log("Numero convertito in " + nomeSistemaDiNumerazione + " " + numeroConvertito);
risposta = input.question("Vuoi convertire un altro numero (s/n) ? ");
while (risposta.toLowerCase() != 's' && risposta.toLowerCase() != 'n') {
console.log("Errore: inserire s oppure n ...");
risposta = input.question("Vuoi convertire un altro numero (s/n) ? ");
}
} while (risposta.toLowerCase() == 's');
console.log("Fine programma");
Soluzione Python
numero = 0
numeroDecimale = 0
numeroConvertito = ''
base = 0
risultato = 0
resto = 0
cifre = []
cifreNumero = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F']
nomeSistemaDiNumerazione = ''
risposta = 's'
scelta = 0
while risposta=='s':
cifre = []
numeroDecimale = int(input("Inserisci un numero decimale: "))
while numeroDecimale < 0:
print("Errore: inserire un numero uguale a zero o mmaggiore di zero ...")
numeroDecimale = int(input("Inserisci un numero decimale: "))
# Menu per la scelta del sistema di numerazione
print("1) Sistema Binario (Bin)")
print("2) Sistema Ottale (Ott)")
print("3) Sistema Esadecimale (Esa)")
scelta = int(input("Scegli il sistema di converione: "))
# Visualizzo un errore se la scelta non è corretta
while scelta < 1 or scelta > 3:
print("Errore:scegli un numero tra 1 e 3 ...")
scelta = int(input("Scegli il sistema di converione: "))
# Imposto la base e il nome del sistema di numerazione scelto
if scelta == 1:
base = 2
nomeSistemaDiNumerazione = 'Binario (Bin)'
elif scelta == 2:
base = 8
nomeSistemaDiNumerazione = 'Ottale (Ott)'
elif scelta == 3:
base = 16
nomeSistemaDiNumerazione = 'Esadecimale (Esa)'
# Converto il numero decimale nel sistema di numerazione scelto
numero = numeroDecimale
while numero >= base:
risultato = int(numero / base)
resto = numero % base
cifre.append(resto)
numero = risultato
cifre.append(numero)
# stampo il numero convertito
numeroConvertito = ""
for x in range(len(cifre)-1,-1,-1):
numeroConvertito = numeroConvertito + cifreNumero[cifre[x]]
print("Numero decimale da convertire: " + str(numeroDecimale))
print("Numero convertito in " + nomeSistemaDiNumerazione + " " + numeroConvertito)
risposta = input("Vuoi convertire un altro numero (s/n) ? ")
while risposta.lower() != 's' and risposta.lower() != 'n':
print("Errore: inserire s oppure n ...")
risposta = input("Vuoi convertire un altro numero (s/n) ? ")
print("Fine programma")
Come eseguire i programmi JavaScript
Per eseguire i programmi 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 i due programmi JavaScript da eseguire.
Per salvare i programmi nella cartella "laboratori", basta copiarli nel blocco note o in qualunque editor di testo e salvarli con i nomi:
1) calcola_pesi.js
2) converti_decimale.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 vengono eseguiti i programmi.
A queso punto si possono eseguire i programmi con il comando node, che è l'interprete JavaScript di node.js, come mostrano gli esempi seguenti:
node calcola_pesi
oppure
node converti_decimale
Come eseguire i programmi Python
Per eseguire i programmi scritti 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 i programmi python da eseguire.
Per salvare i programmi nella cartella "laboratori", basta copiarli nel blocco note o in qualunque editor di testo e salvarli con il nomi:
1) calcola_pesi.py
2) converti_decimale.py
Infine, per eseguire i programmi, da prompt dei comandi, entrare nella cartella laboratori ed il comando:
python calcola_pesi.py
oppure
python converti_decimale.py
Clicca qui per imparare a programmare in JavaScript
Clicca qui per approfondire l'installazione di node.js
Clicca qui per imparare a programmare in TypeScript
Clicca qui per imparare a programmare in SQL
Vuoi lavorare nel mondo informatico? Mettiti in gioco!!!
Iscriviti ad un nostro corso base gratuito della durata di 160 ore, per acquisire tutto quello che ti serve per diventare un "Programmatore" oppure un "Esperto di qualità del software" oppure un "Esperto di DevOPs".
Le iscrizioni sono sempre aperte, per partecipare invia il tuo curriculum recruiting@skillfactory.it
- Per maggiori informazioni collegati al sito www.skillfactory.it
- Per partecipare ai colloqui di ammissione al corso base, invia il tuo curriculum all'indirizzo di posta: recruiting@skillfactory.it
Il candidato ideale dovrà avere un'età compresa tra 18 e 32 anni, un diploma o una laurea ad indirizzo tecnico/scientifico, buone capacità di problem solving, buone capacità di comunicazione e predisposizione al lavoro di gruppo.
La selezione è valida per i giovani disoccupati di tutta Italia.
Alla fine del corso base, tutti gli studenti che si saranno distinti ed accetteranno di lavorare con un nostro Job Partner IT, avranno l'opportunità di frequentare gratuitamente un ulteriore percorso di specializzazione della durata di 320 ore, per acquisire tutte le competenze che servono per svolgere in autonomia il ruolo professionale scelto.
I primi 8 studenti della Skill Factory, dopo tanto impegno, finalmente hanno ottenuto la certificazione SFA-2022
Gino Visciano |
Skill Factory - 05/05/2022 16:48:32 | in Home
Finalmente, dopo tanto impegno, i primi 8 studenti del 2022, che hanno frequentato la nostra scuola, hanno raggiunto il loro obiettivo: ottenere la certificazione SFA "Java Developer".
Il percorso di accompagnamento al lavoro è durato circa 3 mesi, il tempo necessario per svolgere le seguenti fasi:
1) Colloquio di ammissione;
2) Assessment;
3) Alfabetizzazione;
4) Orientamento;
5) Specializzazione;
6) Certificazione delle competenze.
Il prossimo passo sarà quello di svolgere un tirocinio retribuito di 6 mesi, presso uno dei nostri JOB PARTNER IT che ne farà richiesta.
La certificazione Skill Factory Associate (SFA), non è un semplice attestato di fine corso, ma viene rilasciata solo agli studenti che dimostrano di aver acquisito tutte le competenze necessarie per poter svolgere il proprio ruolo professionale autonomamente in azienda, obiettivo che si raggiunge solo attraverso tante ore d'aula, con docenti esperti e tante ore di laboratorio, dove si simulano reali attività aziendali, progettate con la collaborazione dei nostri JOB PARTNER IT.
Per ottenere la certificazione SFA gli studenti della Skill Factory devono:
1) aver partecipato ad almeno l'80% delle attività d'aula e di laboratorio previste dal percorso di accompagnamento al lavoro;
2) essere idonei al lavoro di gruppo;
3) dimostrare di avere una buona capacità di comunicazione;
4) superare il colloquio tecnico finale;
5) svolgere correttamente la prova pratica di laboratorio.
I percorsi di accompagnamento al lavoro della nostra scuola sono gratuiti e ti danno l'opportunità in solo tre mesi di acquisire tutte le competenze che ti servono per lavorare in un'azienda IT.
Per partecipare al prossimo percorso di accompagnamento al lavoro in partenza presso la nostra scuola Skill Factory clicca qui e compila il modulo di richiesta per il colloquio di ammissione.
Per maggiori informazioni usa i nostri riferimenti nella sezione contatti del sito.
Skill Factory - La strada più breve per i giovani che vogliono lavorare in un'azienda IT
Gino Visciano |
Skill Factory - 08/09/2021 13:01:14 | in Home
Oggi qualunque cosa può essere fatta con un'applicazione software, per questo motivo è diventato tutto più semplice e la qualità della nostra vita è migliorata.
Le App disponibili sui nostri dispositivi mobile, hanno modificato le nostre abitudini ed i nostri comportamenti, diventando indispensabili per tutti.
Il commercio elettronico è una realtà e attraverso la cittadinanza digitale possiamo finalmente gestire a distanza anche i servizi della pubblica amministrazione utilizzando lo SPEED e della Carta d'identità elettronica.
Per questo motivo l'industria dello sviluppo software continua a crescere con un trend che sembra inarrestabile, facendo aumentare la richiesta di figure professionali da impiegare su progetti di sviluppo software, un'opportunità per tanti giovani che vogliono entrare nel mondo del lavoro.
Per acquisire gratuitamente le competenze richieste per lavorare in un'azienda di sviluppo software, basta iscriversi ad un percorso di "skill factory"!!!
Una "skill factory" è un percorso di alfabetizzazione, orientamento e specializzazione informatica gratuito, dove i giovani disoccupati possono acquisire le competenze e l'esperienza professionale per lavorare in un'azienda di sviluppo software.
Le "skill factory" hanno una durata di tre mesi, la fase di alfabetizzazione ed orientamento è uguale per tutti i discenti perché ha lo scopo di creare i prerequisiti di accesso alla fase di specializzazione.
La fase di alfabetizzazione ed orientamento viene fatta a distanza (smart working) e prevede i seguenti contenuti:
- Sistemi operativi;
- Reti di computer;
- Logica di programmazione;
- Tecnica di programmazione;
- HTML/CSS;
- JavaScript/JQuery;
- Bootstarp;
- Progettazione database relazionali;
- Linguaggio SQL;
- Formati per strutturare informazioni di tipo testo: CSV, XML, CSV.
tutti quelli che risulteranno idonei verranno orientati verso il profilo professionale più adatto alle attitudini dimostrate durante le attività di laboratorio.
La fase di specializzaizone prevede i seguenti percorsi professionali:
- Programmatore Back-end;
- Programmatore Front-end;
- Programmatore Full-stack;
- Software Tester;
- DevOps;
- Esperto di Cyber Security.
La fase di specializzazione verrà svolta in modalità blended:
- la teoriaverrà svolta a distanza, in modalità smart working;
- la pratica verrà fatta in azienda in stage.
Per partecipare alle "skill factory" in partenza il prossimo trimestre (ottobre-dicembre 2021) invia il tuo CV all'indirizzo recruiting@skillfactory.it.
Se sei registrato su Skillbook.it, puoi inviare velocemente la tua candidatura cliccando qui.
Per informazioni chiamate al numero: 3270870141.
Vino, arte e sviluppo. Due concorsi per i giovani e startup innovative
Gino Visciano |
Skill Factory - 24/06/2021 09:02:54 | in Home
Vino, cultura ed impresa sono i punti chiave del Wine Art Contest e del GranPrix proposti dal Museo dell’Arte, del Vino e della Vite, partner della Skill Factory all'interno dei progetti di Alternanza Scuola Lavoro.
Il Wine Art Contest è dedicato ai giovani che vogliono esprimersi attraverso le varie forme d’arte prendendo il vino come fonte di ispirazione.
Il primo classificato al Wine Art Contest riceverà un premio di mille euro, sono previsti riconoscimenti anche per il secondo ed il terzo calssificato.
Inoltre verranno assegnati i seguenti premi speciali:
- design e comunicazione visiva
- danza
- fotografia e video
- pittura e disegno
- musica e suoni
- canzoni.
Tutti gli artisti selezionati saranno coinvolti in workshop ed eventi del Mavv e dei partner del concorso.
Il GreenPrix invece prevede un riconoscimento per startup innovative nel settore dell’enologia.
Le migliori idea nei settori del wine, dell’agrifood, dell’enoturismo e dell’industria creativa e culturale del settore verranno premiate con percorsi di incubazione e/o accelerazione e di supporto manageriale per la consulenza contabile, fiscale, advisory legale, amministrativa, finanziaria di startup e di finanza agevolata.
Il vincitore verrà accompagnato nella crescita grazie a un supporto specialistico del valore di 26 mila euro. Le candidature sono aperte e potranno essere effettuate nell’area dedicata del sito. Le premiazioni si effettueranno il 24 settembre alla Reggia di Portici.
L’iscrizione è gratuita e può essere fatta sul sito www.contest.museoartevino.it.