Exabyte

Scienza, tecnologia e società

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...

Post Top Ad