ottobre 2017 - Exabyte

Scienza, tecnologia e società

lunedì 30 ottobre 2017

Come acquistare un dominio per il tuo blog o sito web

ottobre 30, 2017 0
Quando si decide di aprire un blog o creare un proprio sito web, il primo passo da fare è sicuramente quello di acquistare un dominio personalizzato.

COS'E' UN DOMINIO

Con acquistare un dominio, si intende il processo di acquisto di un nome da associare in maniera univoca al nostro sito.
Questo nome univoco è composto da un dominio di secondo livello che corrisponde al nome del nostro sito che effettivamente abbiamo scelto (nel nostro caso è "exabyteblog") e da un suffisso detto dominio di primo livello come ad esempio i suffissi .it o .com.
Fino a qualche tempo fa la scelta del dominio di primo livello era importante e necessario per identificare la tipologia del sito a cui ci si collegava. Adesso la cosa è diventata meno rilevante e la scelta è più libera, ma se ad esempio ci riferiamo ad un pubblico internazionale sarà ad più opportuno scegliere un dominio .com, altrimenti si potrà virare per un più economico .it.

All'acquisto di un dominio solitamente, ma non sempre, si associa l'acquisto di uno spazio di hosting personale, cioè il dotarsi di un quantitativo di memoria online in cui caricare tutti file ed elementi che compongono il nostro sito.

L'ACQUISTO

Per prima cosa specifichiamo che qualsiasi persona può acquistare un dominio e non ci sono limiti numerici su domini (ovviamente parliamo di domini diversi) che un soggetto può acquistare.
Chi acquista un dominio non diventa il proprietario, ma ne diventa l'assegnatario per un determinato periodo di tempo selezionato. Solitamente i domini vengono venduti a rinnovi annuali, è quindi importante ricordarsi ogni anno di rinnovare il proprio acquisto in modo da evitare che alla scadenza qualcuno si impossessi del nostro nominativo.
Il prezzo medio delle varie offerte online è di circa 10€dominio/anno.

DA CHI ACQUISTARE

Ci sono molte aziende, italiane e non, che offrono a prezzi ragionevoli un servizio affidabile. Eccone alcune:
Continua...

giovedì 26 ottobre 2017

26/10 Amazon: Offerte del giorno

ottobre 26, 2017 0
Le migliori offerte presenti oggi su Amazon.it:

Cuffie Bluetooth NUBWO S8 utlizzabili anche tramite cavo e compatibili con Android, iOS, Windows in offerta 18,99€ (sconto del 70%).

Aukey quick charge 2.0 powerbank da 16000mAh con un'uscita fino a 5V/2,4A+ e un'uscita Quick Charge 2.0, in offerta a 16,99€ (sconto del 40%).
Continua...

lunedì 23 ottobre 2017

#4 Blocchi di selezione if/else e switch - Guida alla programmazione in C

ottobre 23, 2017 0

Clicca qui per leggere la lezione sulla libreria stdio.h.

Iscriviti al nostro canale Telegram: clicca qui

Indice guide #1 Introduzione
#2 Le variabili
#3 La libreria Stdio.h
#4 Blocchi di selezione if/else e switch
#5 Costrutti ciclici while, do/while, for

Dopo aver visto la libreria stdio.h e aver imparato ad utilizzare le sue due funzioni fondamentali scanf e printf, possiamo andare a vedere un primo costrutto base del linguaggio C, ovvero i blocchi di selezione if/else e switch.

Cosa sono i blocchi di selezione

Come abbiamo già visto, il nostro codice una volta compilato e avviato, esegue in modo sequenziale le istruzioni che abbiamo scritto. Tuttavia, a seconda del tipo di programma che dobbiamo scrivere, non sempre questo modo di procedere è sufficiente per giungere ad una soluzione.
Più frequentemente l’algoritmo ha dei punti in cui il comportamento dipende dal valore dei dati che si stanno elaborando. I linguaggi di programmazione mettono quindi a disposizione dei costrutti che consentono di controllare il flusso di esecuzione delle istruzioni.

Il concetto di condizione

Prima di andare avanti è necessario introdurre e chiarire il concetto di condizione.
  • condizione di uguaglianza: viene espressa con il simbolo ' == ' ed è verificata se e solo se le variabili interessate dalla condizione sono uguali.
  • condizione di disuguaglianza: viene espressa con il simbolo ' != ' ed è verificata se e solo se le variabili interessate dalla condizione sono diverse.
  • condizione di maggioranza/minoranza : viene espressa con i simboli ' < ' (minoranza) e ' > ' (maggioranza) ed è verificata se e solo se il contenuto della variabile alla sinistra del simbolo è maggiore/minore del contenuto della variabile a destra del simbolo.
    Possiamo inserire anche il simbolo ' = ' successivamente a quello di maggioranza/minoranza per rendere il concetto di maggiore uguale/minore uguale.
Ovviamente andremo a riprendere queste concetto di condizioni, subito dopo aver introdotto i costrutti if/else, con degli esempi.

Il costrutto if/else

Il costrutto if/else non fa altro che riportare una condizione, tramite un espressione, che se verificata, esegue il codice all'interno dell'istruzione if.
Se invece la condizione espressa non è soddisfatta verrà eseguito il codice contenuto nell'istruzione else.
Vediamo subito la sintassi:

Per essere più chiari vediamo subito un esempio:
Clicca sull'immagine per ingrandirla

Varianti del construtto if/else

Oltre al costrutto utilizzato in modo standard (vedi esempio sopra) questo costrutto può essere usato con delle forme leggermente diverse, ma che tuttavia non ne modificano il concetto di fondo.
  • if senza else: con questo costrutto possiamo andare ad inserire una serie di condizioni, omettendo però la casistica di default.
    Questo modo di procedere rischia di creare qualche problema perchè non va a coprire la totalità delle casistiche possibili (se non costruito con attenzione).
    Mostriamo subito un esempio:
    Clicca sull'immagine per ingrandirla
  • NB: In generale, se si verifica la condizione in un if, questo non pregiudica il verificarsi delle condizioni successive.
  • if/else if: In questo caso il concetto è molto simile al precedente, con l'eccezione che se la condizione dell' if è verificata, non potrà esserlo quella nell'istruzione else if.
    Possiamo dire quindi che una condizione esclude l'altra (concetto di if/else), ma si mantiene la possibilità di decidere la condizione dell' istruzione else.
    Esempio:
    Clicca sull'immagine per ingrandirla

Il costrutto switch

Questo costrutto può essere visto come un aggregatore di if, tramite l'uso delle istruzioni case, break e default.
Viene solitamente utilizzato quando le condizioni da controllare sono molte, e si vuole realizzare un codice più immediato e meno prolisso.
Per utilizzare il costrutto switch è necessario scrivere:

In questo costrutto viene preso come elemento della condizione la variabile riportata nell'istruzione switch, e a seconda del valore di quest'ultima, si vanno ad eseguire le istruzioni contenute nei vari case.
Il comando break è necessario per fermare l'esecuzione dello switch una volta completato il set di istruzioni di un case.
Sarà quindi possibile o addirittura utile ometterlo, a patto di ricordare che in questo modo verranno eseguiti tutti i case successivi a quello verificato.
il comando default svolge lo stesso compito dell'else nel costrutto precedente, ovvero se nessuna delle condizioni precedenti è verificata allora verrà eseguito il set di istruzioni contenuto nel default.
NB: non è in nessun caso necessario utilizzare il comando break nelle istruzioni del default
Mostriamo due esempi per chiarire immediatamente quanto detto:
Clicca sull'immagine per ingrandirla
Clicca sull'immagine per ingrandirla

Questi esempi dovrebbero riuscire a chiarire ogni dubbio sull'utilizzo del costrutto switch.
Come possiamo vedere, nel primo caso sono stati utilizzati i break alla fine di ogni case, cosi facendo è stata eseguito solo il set di istruzioni relativo al case verificato, ignorando totalmente tutti gli altri.
invece è stato eseguito il default nel caso in cui nessuno dei case è stato verificato.
Nel secondo caso invece sono stati eseguiti tutti i case successivi al primo case verificato, incluso il default.
Prestando attenzione alle condizioni inserite nei case e all'uso dei break è quindi possibile emulare completamente i costrutti visti precedentemente, con il solo costrutto switch, che però ribadiamo essere consigliato solo nel caso in cui ci siano parecchie condizioni da controllare.

Clicca qui per continuare: Costrutti ciclici while, do/while, for

468x60
Continua...

domenica 22 ottobre 2017

Facetune: ritocca facilmente i tuoi selfie

ottobre 22, 2017 0
Siete amanti dei selfie ma ogni volta che scattate una foto c'è sempre qualche imperfezione che vi constringe ad eliminarla? Niente paura, in questa terza puntata della rubrica App della settimana, vedremo un'app (disponibile sia su iOS che su Android) che fa al caso vostro.

Con una valutazione media di 4,4 stelle su 5 complessive, Facetune permette, attraverso un'interfaccia abbastanza intuitiva, di ritoccare in maniera semplice ed efficace tutti i vostri scatti.

Per prima cosa sarà necessario aprire una foto premendo sull'apposito pulsante in alto a destra e successivamente scorrere tra i vari strumenti di modifica disponibili nella barra in basso.
Tra i vari effetti proposti, ad esempio, potremmo scegliere quello per levigare la pelle, quello per rimodellare la foto oppure lo strumento "toppa" che ci consente di fatto di mettere una toppa su un piccolo punto specifico che vogliamo nascondere.
Ecco un breve video dimostrativo:
E' importante segnalare come l'applicazione risulti veramente fluida durante il suo utilizzo, cosa non del tutto scontata per app di questo genere che solitamente sono molto pesanti e piene di banner pubblicitari.

La qualità però ha un costo:

Sul Play Store Android, però, spesso l'app è soggetta a promozioni anche molto consistenti. Più volte è stata offerta per qualche giorno anche a soli 0,10€!
Segui la nostra pagina Facebook e il nostro canale Telegram per essere subito informato sulle offerte più importanti.
Continua...

martedì 17 ottobre 2017

Modificare i server DNS su Windows 10

ottobre 17, 2017 0
I server DNS hanno il compito di interpretare il dominio alfanumerico digitato dagli utenti nell’indirizzo IP corrispondente al sito ricercato. Ad esempio digitando nel browser www.google.it i server DNS tradurranno la nostra richiesta in 74.125.206.94.
Ogni gestore telefonico, automaticamente, ci collega ai suoi server DNS ed è proprio per questo che potrebbe essere utile sostituirli.
Potrebbe infatti capitare che non sempre sia disponibile la corrispondenza tra l’indirizzo digitato e l’indirizzo IP concreto; questo può accadere ad esempio per motivi economici o legali (le autorità di uno stato oscurano il sito a livello nazionale). I siti che pubblicano contenuti pirata in streaming sono un esempio di come a volte ritornino accessibili semplicemente cambiando i DNS.

COME SOSTITUIRLI

Fare click destro sull’icona della connessione wifi/lan in basso a destra e aprire Centro connessioni di rete e condivisioni.
Clickare sulla propria rete come indicato in rosso.
Fare click su proprietà
Selezionare Protocollo Internet v4 (TCP/IPv4) e andare su Proprietà

Arrivati a questo punto, non modificare le impostazioni relative all'indirizzo IP ma selezionare Utilizza i seguenti server DNS e digitare i server preferiti.
I più veloci, sicuri ed utilizzati sono quelli messi a disposizione da Google:
  • Server DNS preferito: 8.8.8.8
  • Server DNS alternativo: 8.8.4.4
Continua...

Huawei presenta il nuovo Mate 10 Pro: il primo smartphone dotato di intelligenza artificiale

ottobre 17, 2017 0
Huawei presenta il nuovo Mate 10 Pro, il nuovo top di gamma che va a scontrarsi con Samsung Galaxy Note 8, LG V30 e iPhone X.
Degno di nota, a detta di Huawei, è il nuovo soc Kirin 970 che è dotato di un'elevata potenza di calcolo ed è in grado di, utilizzando reti di calcolo neurale, di riconoscere quasi instantaneamente suoni e immagini.

CARATTERISTICHE TECNICHE

Vediamo nello specifico le specifiche più importanti e il video promozionale pubblicato da Huawei:
Continua...

lunedì 16 ottobre 2017

Energia eolica per alimentare tutto il mondo

ottobre 16, 2017 0
I ricercatori Anna Possner e Ken Caldeira dell'Università di Stanford, in California, hanno pubblicato sulla rivista "Proceedings of the National Academy of Sciences" uno studio in cui viene dimostrato come l'energia eolica disponibile nell'Atlantico settentrionale possa permettere di soddisfare il fabbisogno energetico mondiale.
La ricerca si pone come obiettivo quello di fornire una soluzione completa e definitiva al problema di ricerca di fonti rinnovabili e pulite che siano valide sostitute delle fonti fossili. Allestire un parco eolico nell'oceano sembrerebbe portare notevoli vantaggi. A differenza dell'installazioni attuali, queste centrali oceaniche permetterebbero di ottenere ben 4,5W di potenza per m2 in più.
Questo avverrebbe grazie a minori dispersioni e a correnti di vento stabili e non soggette ad interferenze.
La domanda annua globale è però pari a circa 18 terawatt, andrebbe quindi realizzato un sito massiccio, grande almeno 3 milioni di km2 (circa la grandezza dell'India) e ad un costo di diversi miliardi di dollari.

Iscriviti al nostro canale Telegram: clicca qui


Per realizzare un progetto del genere sarebbe dunque necessario un progetto internazionale ed una visione comune sull'utilizzo delle energie pulite. Bisogna comunque precisare che i venti oceanici sono stagionali; durante l'inverno la centrale soddisferebbe l'intera richiesta mondiale, mentre durante il periodo estivo si dimezzerebbe l'energia prodotta.
Continua...

domenica 15 ottobre 2017

Trenit: segui i tuoi viaggi con semplicità

ottobre 15, 2017 0
Dopo Tutto il Calcio, questa domenica è il turno di Trenit, un'app molto comoda per chi spesso utilizza il treno per viaggiare che sul Play Store possiede una valutazione di ben 4,7 stelle su 5 totali.

Ciò che a primo impatto caratterizza questa applicazione è la sua semplicità grafica e di utilizzo. Il menù risulta abbastanza intuitivo e permette di effettuare rapidamente la ricerca della soluzione di viaggio interessata.
Quando si apre l'app e si procede con la ricerca di un treno, ci si imbatte subito in una delle funzioni più utili: è possibile, oltre ovviamente a partenza, destinazione, giorno e orario di partenza, aggiungere informazioni sul numero e sull'età dei passeggeri. Sarà così possibile visualizzare le soluzioni di viaggio con la tariffa esatta in relazione all'età del passeggero.

Clicca sull'immagini per ingrandirle.

Come si vede dagli schreenshot in alto, è possibile ordinare tutte le soluzioni di viaggio per orario, durata o prezzo. Scegliendo poi una delle proposte, si aprirà una schermata che indicherà nome e tipologia di treno (Suburbano, regionale, Intercity ecc), il suo codice identificativo, se è garantito l'accesso al mezzo per chi è impossibilitato a camminare e se è possibile trasportare biciclette.
Sono illustrate tutte le fermate che precedono la nostra destinazione, gli orari di partenza e di arrivo per ogni fermata, gli eventuali ritardi e il binario da cui il treno transiterà. Aprendo la scheda dei prezzi, inoltre, sarà possibile avere una panoramica di tutte le tariffe relativa a quella tratta.

Importante segnalare che l'app non mostri esclusivamente treni Trenitalia, ma anche tutti quei trasporti regionali e/o locali che servono la tratta ricercata. Dal menù impostazioni è possibile anche abilitare la ricerca dei viaggi attraverso BlaBlaCar.
Continua...

venerdì 13 ottobre 2017

#3 Libreria stdio.h - Guida alla programmazione in C

ottobre 13, 2017 0

Clicca qui per leggere la lezione sulle variabili.

Iscriviti al nostro canale Telegram: clicca qui




Indice guide #1 Introduzione
#2 Le variabili
#3 La libreria Stdio.h
#4 Blocchi di selezione if/else e switch
#5 Costrutti ciclici while, do/while, for

Avendo ben chiaro il concetto di variabile possiamo fare un ulteriore passo e andare ad introdurre la libreria standard input/output, necessaria per scrivere qualsiasi programma in C.
Alla fine di questa lezione saremo quindi in grado di scrivere un primo (piccolo) programma in C.

Libreria stdio.h

Le funzioni contenute in questa libreria sono molte e non andremo a vederle tutte nello specifico (vi lascio comunque il link per andarle a leggere nel caso in cui foste particolarmente interessati).
Quelle che andremo ad analizzare adesso sono principalmente due:
  • printf: funzione utilizzata per stampare a video sul terminale
  • scanf: funzione utilizzata per acquisire dati da tastiera

Includiamo una nuova libreria nel nostro programma

Per includere una qualsiasi nuova libreria nel nostro programma è sufficiente scrivere come prima cosa
# include <libreriarichiesta>
vediamo subito un esempio sul nostro editor di testo
Clicca sull'immagine per ingrandirla

Cosi facendo, abbiamo incluso le librerie richieste e possiamo utilizzare le loro funzioni nel nostro programma.
NB: Come vedete dall’immagine i programmi C vanno scritti, dopo aver incluso le librerie, all’interno di due parentesi graffe, precedute dall’intestazione:
int main()

questo argomento, seppur molto importante, verrà affrontato in maniera molto più approfondita più avanti, quando andremo a vedere funzioni e sottoprogrammi.

Iscriviti al nostro canale Telegram: clicca qui

Funzione scanf

Come accennato prima, questa funzione serve ad acquisire dati da tastiera e ad immagazzinarli nel nostro programma, all’interno di una o più variabili.
Andiamo a vedere subito come funziona e come si usa:
scanf(“%format”, &variabile);
La funzione cosi scritta non fa altro che attendere un input da tastiera(confermato con il tasto invio), convertirlo secondo quanto scritto nel format e infine lo memorizza nella variabile richiesta.
Il simbolo ‘ & ‘ che precede il nome della variabile sta ad indicare l’indirizzo in memoria della variabile che lo segue.
Possiamo leggere quindi la funzione scanf come “attendi un input, convertilo secondo il format, e salvalo all’indirizzo di memoria dedicato alla variabile indicata”.
Riportiamo in seguito la tabella dei format necessari fino a questo punto
Esempio:
Clicca sull'immagine per ingrandirla

questo piccolo programma C non fa altro che dichiarare un int, un float e un char e acquisisce i valori di tutti e tre da tastiera.

Funzione printf

Questa funzione non fa altro che stampare tutto ciò che gli viene indicato come argomento. printf(“%format”, variabile);
La funzione cosi scritta stamperà a video sul terminale il valore della variabile richiesta. Possiamo leggere questa funzione come “stampa a video il valore della variabile indicata”.
In questo caso non è necessario riportare il simbolo ‘ & ’ , come fatto per la scanf, a meno che non si voglia stampare l’indirizzo di memoria dedicato alla nostra variabile.
Esempio:
Clicca sull'immagine per ingrandirla
qui possiamo vedere lo stesso programma precedente, con la differenza che, una volta eseguito, questo ci farà vedere sul terminale i valori che abbiamo assegnato alle variabili.

La funzione printf può essere utilizzata anche per scrivere delle semplici parti testuali all’interno del nostro programma.
Basterà utilizzare la notazione:
printf(“quello che vogliamo scrivere”);
Esempio:
Clicca sull'immagine per ingrandirla

NB: il carattere “\n” è un carattere speciale e viene usato nella printf per indicare di andare a capo.
Infine è possibile combinare i due utilizzi della printf per avere un output ancora più completo.
printf(“quello che vogliamo scrivere %format”, variabile);
In questo modo quello che vedremo a video sarà la frase tra virgolette, seguita dalla variabile indicata.
Vediamo subito un esempio:
Clicca sull'immagine per ingrandirla

A questo punto abbiamo visto tutti i possibili utilizzi della funzione printf e possiamo andare a compilare il nostro programma per vedere cosa otteniamo in output.
Clicca sull'immagine per ingrandirla
NB: è anche possibile stampare o acquisire più variabili con un’unica printf e una scanf
scanf(“%format %format %format”, &variabile1, &variabile2, &variabile3);
printf(“%format %format %format”, variabile1, variabile2, variabile3);

Clicca qui per continuare: Blocchi di selezione if/else e switch

468x60
Continua...

giovedì 12 ottobre 2017

#2 Le variabili - Guida alla programmazione in C

ottobre 12, 2017 0

Clicca qui per leggere la prima lezione.


Iscriviti al nostro canale Telegram: clicca qui

Indice guide #1 Introduzione
#2 Le variabili
#3 La libreria Stdio.h
#4 Blocchi di selezione if/else e switch
#5 Costrutti ciclici while, do/while, for

Concetto di variabile in C

Come abbiamo visto nel piccolo esempio della lezione precedente, un programma C acquisisce dati, li elabora e restituisce un risultato.
Per fare ciò è necessario andare a definire una rappresentazione univoca dei dati che vogliamo immagazzinare ed elaborare nel nostro programma.
Introduciamo quindi il concetto di variabile.
Le variabili in C servono a differenziare i dati e salvarli in memoria con dimensione (in byte) differente a seconda del tipo. Possiamo definire quindi una variabile come un’area di memoria avente:






  • nome: assegnato da noi in fase di dichiarazione;
  • indirizzo: assegnato dal compilatore e necessario per raggiungere l’area di memoria;
  • valore: assegnato da noi tramite l’inizializzazione

Dichiarare una variabile in C

Per dichiarare una variabile in C è sufficiente scrivere: tipodivariabile nomevariabile;
Ad esempio:
int d;
char c;
float f;

Questa operazione andrà a riservare un’area di memoria di n byte (a seconda del tipo dichiarato) e le assegnerà un indirizzo, che ci consentirà di accedere a quella variabile ogni volta che vorremo nel corso del programma.

Inizializzare una variabile

Una volta dichiarata una variabile questa avrà quindi un nome e un indirizzo in memoria, va assegnato quindi un valore. Per farlo è sufficiente scrivere: nomevariabile = valoredesiderato;
Ad esempio:
id = 5;
c = ‘m’;
f = 5.5;

NB: è possibile dichiarare e inizializzare una variabile con un solo comando es: int d = 5;
Questa operazione non fa altro che riempire la memoria precedentemente allocata con il valore successivo al simbolo =.
Bisogna ovviamente porre attenzione alla coerenza con quanto scritto in fase di dichiarazione; se ad esempio andassimo a scrivere:
int c;
c = 5.6;

quello che otterremo è un valore troncato al solo intero, in sostanza sarebbe come scrivere:
c = 5;
Allo stesso modo se andassimo a scrivere:
float f;
f = 5;

Il compilatore accetterà la vostra inizializzazione, ponendo il valore di f = 5.0000000 .

Una piccola nota invece va fatta per l’inizializzazione delle variabili char.
Per inizializzare correttamente una variabile char è necessario mettere il valore da assegnare tra apici (‘ ’). Esempio: 
char c;
char n;
c = ‘c’;
n = ‘2’;

Se invece scrivessimo l’inizializzazione di n come n = 2; quello che otterremo non è il valore numerico due, ma invece il carattere ASCII corrispondente a 2 nella tabella ASCII (link). Riportiamo in seguito un esempio per spiegare meglio quanto detto


Come potete vedere nonostante abbia assegnato alla variabile c il valore 48 quello che viene stampato a video è il valore 0.
Questo perché nella tabella ASCII il valore corrispondente alla codifica 48 è 0.

Assegnazione tra variabili

Come visto in precedenza il simbolo ‘ = ’ viene utilizzato per assegnare ad una variabile un valore.
Più in generale il simbolo ‘ = ‘ assegna alla variabile alla sua sinistra, il valore di quella alla sua destra.
variabiledestinazione = sorgente;
Il suddetto simbolo viene quindi utilizzato anche per assegnare ad una variabile il valore di un’altra, o di un’espressione formata da più variabili e/o valori numerici.
Esempio:
int a;
int b;
a = 4;
b = a;

Stiamo assegnando alla variabile b lo stesso valore di a.
NB: gli indirizzi in memoria della variabile a e della variabile b continuano ad essere distinti, con questa operazione stiamo uguagliando il solo valore.

Operazioni tra variabili numeriche

Le operazioni consentite tra le variabili numeriche sono:
Un’altra operazione consentita tra le variabili numeriche di C è quella del calcolo del resto, indicata con il simbolo “%”.
Questa ci permette di andare a calcolare il resto di una divisione tra due valori.
Esempio:
int a = 6;
int b = 2;
int ris = a % b;

In questo caso abbiamo che il risultato della divisione a / b è uguale a 3 con resto 0, quindi la nostra variabile ris verrà inizializzata al valore 0.

NB: cosi come nella normale matematica, in un’espressione numerica verranno eseguite prima le moltiplicazioni/divisioni e dopo le somme/sottrazioni.
Tuttavia per evitare qualsiasi errore è sempre consigliato l’uso delle parentesi, che consentiranno al compilatore di interpretare sempre in modo corretto le nostre formule.
Esempio: (a*b) + c equivale a scrivere a*b + c .

Operazioni abbreviate

Nel linguaggio C è possibile abbreviare la scrittura di alcune operazioni, cosi da renderle più semplici e veloci da scrivere.
Vediamo subito alcuni esempi:
int i = 0;
i++;
Con la codifica i++ si intende semplicemente i = i +1;
analogamente quindi la codifica i-- sarà equivalente a i = i - 1;
Generalizzando quanto detto abbiamo che:
variabile operazione= valore;
sarà equivalente a:
variabile = variabile operazione valore;
Chiariamo con un esempio:
int a = 0;
a += 5;
Equivale a:
int a = 0;
a = a +5;
Tuttavia avremo modo di apprezzare l'utilità di queste operazioni abbreviate solo più avanti.

Clicca qui per continuare: La libreria stdio.h

Continua...

mercoledì 11 ottobre 2017

Saranno i corvi a ripulire le nostre città?

ottobre 11, 2017 0
Le città di tutto il mondo vengono purtroppo quotidianamente "sporcate" (da cambiare) dagli abitanti che vi vivono. Uno dei problemi più grandi che si presentano è quello della pulizia delle strade dai mozziconi di sigaretta.

Piccoli rifiuti come questi che aumentano quotidianamente, sono ovviamente difficili da rimuovere del tutto. Dotarsi di robot/droni o utilizzare del personale umano per una mansione così specifica sarebbe troppo costoso.
La startup olandese Crowbar ha allora proposto una curiosa soluzione: addestrare i corvi.
A differenza dei comuni piccioni che abbondano in tutte le città del mondo, i corvi sono animali più intelligenti e adatti all'addestramento e non hanno problemi a vivere a contatto con l'uomo.

Iscriviti al nostro canale Telegram: clicca qui

I due progettisti industriali Ruben van der Vleuten e Bob Spikma, rifacendosi ad un progetto opensource di Joshua Klein, hanno ideato quindi i CrowBar, dei piccoli macchinari da localizzare in vari punti della città che rilasciano arachidi al corvo ogni volta che vengono depositati dei mozziconi di sigaretta.
Gli ideatori la definiscono "una soluzione economica e un modo sorprendentemente facile per rendere le nostre strade più pulite". Funzionerà davvero?
Continua...

lunedì 9 ottobre 2017

#1 Introduzione alla programmazione in C - Parte 2

ottobre 09, 2017 0

Clicca qui per leggere la prima parte della lezione

Iscriviti al nostro canale Telegram: clicca qui

Definiti i concetti fondamentali della pagina precedente, possiamo vedere come un computer riconosce il nostro codice e lo esegue.
Il codice passa attraverso il compilatore (nel linguaggio C è GCC) che si occuperà di tradurre il codice di alto livello in Assembler (sempre nel caso del linguaggio C), ovvero un linguaggio di basso livello.
Una volta ottenuto il linguaggio di basso livello corrispondente alla piattaforma di compilazione, questo può essere finalmente interpretato dalla macchina e trasformato in un file binario eseguibile.

Premesse per la compilazione

Per la programmazione in C, ma in generale per per lo sviluppo di software, è consigliabile lavorare su un ambiente Linux. (Debian, Ubuntu, Linux Mint, Arch Linux..).
In questo caso gli unici software necessari per la programmazione sono il terminale di Linux e un editor di testo. Va benissimo anche il semplice Gedit preinstallato su molte versioni di Linux, ma in alternativa è possibile utilizzare editor di testo più completi e orientati alla programmazione come SublimeText.

Se invece non si ha abbastanza dimestichezza con sistemi Linux o semplicemente non si ha voglia di installarlo e utilizzarlo è possibile programmare in C anche su sistemi Windows.
Le alternative in questo caso sono due:
  • Installazione di una Macchina Virtuale su cui far girare una distribuzione Linux a nostra scelta;
  • Installazione direttamente su Windows 10 (versioni successive all’Anniversary Update) della bash di Ubuntu abilitando le opzioni sviluppatore dalle impostazioni del nostro sistema Windows (Qui la procedura guidata).

Compiliamo il nostro primo programma C

Senza prestare particolare attenzione al codice vediamo intanto come compilare prima, ed eseguire poi, un generico programma in C.
Una volta scritto il nostro programma C sarà necessario salvarlo con estensione .c (ad esempio “prova.c”) in una cartella nota, possibilmente con un percorso non troppo complicato (altrimenti dovrete digitarlo ogni volta nel terminale per compilarlo).
Fatto ciò, in ambiente Linux o sulla bash installata in Windows, apriamo il terminale e digitiamo:
gcc /percorsodelprogramma/prova.c -o nomechevogliamo
esempio : gcc primo.c -o primo
in questo caso non scrivo il percorso del file perché è stato salvato direttamente nella cartella Home, che è quella di default del terminale.
Clicca sull'immagine per ingrandirla.

Il comando gcc serve a chiamare la compilazione al file .c che scriviamo successivamente (fate molta attenzione ad inserire sempre il percorso corretto del file .c se non salvate il file in Home).
La direttiva -o invece serve ad assegnare un nome al nostro programma binario ottenuto in seguito alla compilazione.
Una volta digitati i comandi sopra, nel caso in cui non ci fossero errori nel codice, il terminale non restituirà nulla ma avrà correttamente compilato il nostro programma, che adesso è pronto ad essere eseguito.

Eseguiamo il programma

Se la fase di compilazione è andata a buon fine vedrete che nello stesso percorso del nostro programma C è stato creato un nuovo file con il nome inserito nella direttiva -o.
Clicca sull'immagine per ingrandirla.

A questo punto basterà dare sempre sul terminale il comando:
percorsodelprogramma/nomeprogramma
esempio: ./primo
Dove con ./ si intende la cartella corrente:
Clicca sull'immagine per ingrandirla.

Il nostro programma viene quindi eseguito e possiamo verificarne i risultati dal terminale.

Clicca qui per continuare: Le variabili.

Continua...

#1 Introduzione alla programmazione in C - Parte 1

ottobre 09, 2017 0
Con questo primo articolo inauguriamo la rubrica Guida alla programmazione. La rubrica avrò lo scopo di far apprendere quali sono i più importanti e diffusi linguaggi di programmazione, ma soprattutto come e quando si utilizzano.

Il primo corso riguarderà lo studio del linguaggio C: nel corso delle varie lezioni vedremo cos'è un codice, quali sono gli elementi più importanti del C, quali tipi di strutture dati statiche o dinamiche esistono, cos'è una ricorsione e tanto altro.
Il corso è indicato soprattutto per gli studenti universitari che per la prima volta si affacciano alla programmazione in C, pertanto, l'ordine delle lezioni sarà molto simile a quello del corso di Fondamenti di Informatica di molte università italiane.
Al fine di rendere il tutto più completo ed interessante, ogni lezione sarà corredata da video esempi e da esercizi svolti e allegati a fine articolo.
Per idee, dubbi o consigli, lasciate un commento sotto a questo articolo!

Iscriviti al nostro canale Telegram: clicca qui

Indice guide #1 Introduzione
#2 Le variabili
#3 La libreria Stdio.h
#4 Blocchi di selezione if/else e switch
#5 Costrutti ciclici while, do/while, for

Cos’è la programmazione?
La programmazione non è altro che la stesura di un codice di alto livello, cioè un elenco di operazioni da far eseguire al nostro computer, scritte in un linguaggio che sia comprensibile sia al programmatore che alla macchina che esegue il codice.

Come fa un computer a riconoscere il nostro codice?

Innanzitutto specifichiamo la differenza tra linguaggio di alto livello e di basso livello.


  • Alto livello: è il codice che effettivamente andiamo a scrivere, è spesso intuitivo e facile da comprendere per il programmatore. Tra i linguaggi più utilizzati e conosciuti ad oggi troviamo il C, C++, C#, Java, Python e tanti altri.
  • Basso livello: il codice che scriviamo non viene immediatamente riconosciuto dal nostro computer, ma deve essere prima “trasformato”, tramite la compilazione (che vedremo tra poco) in modo da risultare comprensibile alla macchina.
Un’altra differenza importante per comprendere le fasi della compilazione è quella tra programmazione imperativa (programmazione C) e programmazione interpretativa (programmazione Java).
Nella prima, il codice che viene compilato su un determinato sistema operativo e un certo hardware, potrà essere eseguito solo su computer con quelle caratteristiche. L’esecuzione del codice è quindi strettamente collegata alla piattaforma che lo compila.
Nel secondo caso invece, il codice viene compilato ed eseguito non sulla nostra piattaforma ma su una macchina virtuale (JVM) che una volta scaricata, viene installata sul nostro pc e sarà uguale per tutti i sistemi operativi, evitando cosi ogni problema di compatibiltà software o hardware. Se vi siete mai chiesti come facesse il sistema operativo Android a girare su smartphone, tablet e pc con hardware così differenti adesso avete una sommaria risposta.

Perchè C?

Iniziamo dicendo che la programmazione in C è di tipo procedurale. Abbiamo scelto di approfondire il linguaggio C perché, oltre ad essere uno dei più diffusi, è sicuramente il linguaggio perfetto per chi vuole iniziare ad approcciarsi al mondo della programmazione.
Questo perché è un linguaggio estremamente potente, che ci consente di realizzare programmi di qualsiasi genere, compresi videogames, app per smartphone o addirittura parti fondamentali di sistemi operativi come il kernel.

Oltre ad essere cosi potente, C è sicuramente il linguaggio che ci mette fin da subito di fronte ai veri problemi della programmazione. Non ci vengono fornite librerie incredibilmente complete come quelle, ad esempio, di Java, quindi la maggior parte del lavoro sporco spetta al programmatore.
Concludendo possiamo dire che, se si padroneggia bene il linguaggio C, imparare gli altri sarà nettamente più semplice.

Clicca qui per continuare con la seconda parte.

Continua...

domenica 8 ottobre 2017

Tutto il calcio: lo sport a portata di app

ottobre 08, 2017 0
Questa domenica inauguriamo la rubrica App della settimana: ogni sette giorni la recensione di una nuova app su exabyteblog.it

Se siete grandi appassionati di calcio e amate seguire in qualsiasi momento la vostra squadra del cuore (e non solo), Tutto il Calcio è l'app che fa per voi.

Con una valutazione media di 4,5 stelle su 5 complessive, Tutto il Calcio permette di seguire la maggior parte (per non dire tutti) dei principali campionati mondiali, le più importanti coppe nazionali e internazionali, le partite delle nazionali e tutti i campionati italiani dalla Serie A alla Serie D.

Alla prima apertura l'applicazione vi mostrerà l'ultima giornata del campionato di Serie A, campionato che è impostato come preferito ma che è possibile sostituire con un altro, e si avrà la possibilità di scorrere tra i risultati della giornata, visualizzare la classifica delle squadre e dei marcatori.
Premendo su una delle varie partite in elenco si potrà vedere la formazione delle squadre (anche com'è disposta in campo) durante la partita, la cronaca scritta delle azioni più importanti e i video relativi al match pubblicati in quel momento su YouTube.

Premendo sulla stellina in alto a destra si accederà al menù di squadre e giocatori preferiti, sarà possibile salvare le proprie preferenze in modo da poter rapidamente visualizzare l'andamento della propria squadra nel tempo, avere una panoramica di tutte le partite future e decidere se ricevere le notifiche ad ogni gol della propria squadra preferita; per quanto riguarda i giocatori preferiti, invece, si avrà la possibilità di vedere le statistiche stagionali di gol, assist e cartellini ed inoltre, per gli amanti del fantacalcio, ogni lunedì saranno pubblicati i voti dei tre maggiori quotidiani sportivi (Gazzetta, Corriere, TuttoSport).

Iscriviti al nostro canale Telegram: clicca qui

Premendo invece sul trofeo in alto a destra, sarà possibile scorrere tra i vari campionati mondiali e scegliere i preferiti in modo da poterli trovare rapidamente. Anche per tutti gli altri campionati vale la possibilità di vedere le classifiche e tutte le informazioni relative all'incontro che interessa.

Aprendo il menù laterale, premendo in alto a sinistra, sarà possibile vedere l'elenco di tutte le partite del giorno, quelle in diretta in quel momento, vedere quali saranno trasmesse in tv e in quali canali e infine accedere ad un menù specifico dedicato ad i fanta allenatori con voti e statistiche di tutti i calciatori di Serie A.

Clicka qui per scaricare Tutto il Calcio

Continua...

sabato 7 ottobre 2017

Installare la bash di Ubuntu su Windows 10

ottobre 07, 2017 0
Grazie ad un accordo con Canonical, tutte le versioni di Windows 10 da Anniversary Update in poi, potranno integrare la bash di Ubuntu togliendo il bisogno di cercare alternative "virtualizzate".
Bash (acronimo per bourne again shell) è una shell del progetto GNU usata nei sistemi operativi Unix; si tratta di un interprete di comandi che permette all’utente di comunicare col sistema operativo attraverso una serie di funzioni predefinite, o di eseguire programmi.

Attivare la Bash

  1. Aprite Pannello di controllo-> Programmi-> Attiva o disattiva funzionalità di Windows.
  2. Cercate la voce Sottosistema Windows per Linux (Beta), mettete una spunta e cliccate OK.
  3. Attendete il download e l’installazione dei componenti necessari. Al termine potrebbe essere richiesto il riavvio del sistema operativo.

Installare la Bash

  1. Recatevi in Impostazioni-> Aggiornamento e sicurezza-> Per sviluppatori e attivate la Modalità sviluppatore.
  2. Aprite il cmd/prompt dei comandi come Amministratore
  3. Digitate il comando lxrun /install e premete Invio. Alla richiesta, digitate "s" e premete Invio;
  4. Attendete il download dei file dal Windows Store, l’estrazione degli stessi e la creazione di un account UNIX predefinito;
  5. Quando vi sarà richiesto, inserite un nome utente e una password.

Se l'operazione sarà andata a buon fine, visualizzerete il messaggio di Installazione completata.
Per avviare la bash, vi basterà aprire il menù Start e cercarlo tra i programmi installati.
Continua...

venerdì 6 ottobre 2017

Wind: 1000 minuti e 30GB a 7€

ottobre 06, 2017 0
Sono disponibili due nuove offerte per chi passa a Wind da Tim o da operatori virtuali (ad eccezione di PosteMobile). Se effettuate tante chiamate e vi capita di consumare rapidamente tutti i giga della vostra promozione, Wind Smart 5 Star e Wind Smart 7 Platinum, fanno al caso vostro.

Vediamole in dettaglio:

- Smart 5 Star


Prova Amazon Prime: spedizione rapida e gratuita



- Smart 7 Platinum

  • 1000 minuti;
  • 30GB in 4G;
  • 7€ ogni 4 settimane;
  • Costo di attivazione di 14€ (24€ se si cambia operatore prima di due anni);
  • Attivabile chiamando il 155 o andando in un centro Wind entro il 13 Ottobre;
Continua...

06/10 Amazon: offerte del giorno

ottobre 06, 2017 0
Le migliori offerte presenti oggi su Amazon.it:
  • Cuffie Bluetooth Tronsmart Encore S5 True compatibili con iPhone, Android e computer in offerta a 34,99€ (50% di sconto).
    Link all'acquisto: http://amzn.to/2fWj9Vs
  • ieGeek Action Camera Sport WiFi 1080P Full HD 14MP Impermeabile, adatta per ciclismo, scii, immersioni e nuoto. Solo oggi a 39€ invece che 129,99€ (70% di sconto).
    Link all'acquisto: http://amzn.to/2xZR4RI

Prova Amazon Prime: spedizione rapida e gratuita

Continua...

giovedì 5 ottobre 2017

05/10 Amazon: offerte del giorno

ottobre 05, 2017 0
Le migliori offerte presenti oggi su Amazon.it:
  • Carica batterie portatile da 10.000mAh compatibile con iPhone e con tutti gli smartphone Android in offerta solo per oggi a 12,99€.
     Link all'acquisto: http://amzn.to/2fM7cOr



  • Auricolari Bluetooth 4.1 con microfono resistente al sudore in offerta a 13,99€ (50% di sconto).
     Link all'acquisto: http://amzn.to/2fUoMUe




Continua...

Post Top Ad