Archivi categoria: Impara a programmare

Programmazione per principianti | L’istruzione IF

L’istruzione IF merita un intero articolo dedicato perché è l’istruzione principale e la più nota tra quelle di controllo del flusso. Per controllo del flusso si intende poter prendere un percorso o un altro all’interno del nostro codice, come delle strade diverse per arrivare a destinazione. Per il momento prendiamo questo concetto per buono, lo comprenderemo di più a mano a mano che procediamo con il post.

Perché ce ne deve fregare qualcosa

L’istruzione if è di fondamentale importanza perché è la prima che ci permette di prendere delle decisioni in base al verificarsi o meno di una determinata condizione. Esattamente come facciamo quando stiamo per uscire di casa: se piove prendo l’ombrello, altrimenti esco senza.

Alla fine di questo articolo:

  • Consoceremo l’istruzione “if”
  • Avremo appreso cosa si intende per condizione booleana
  • Creato un semplice programma che usa “if”

L’istruzione IF

L’istruzione if si scrive in maniera molto simile in tutti i linguaggi. In pseudocodice possiamo scrivere:

if (<condizione>) then

               <blocco di codice A>

Else

               <blocco di codice B>

Come lo leggiamo? Semplice! Se la <condizione> è vera allora entriamo nel blocco di codice A, altrimenti (else) nel blocco di codice B. In gergo si potrebbe dire che il blocco A è il blocco “then” e il B è il blocco “else”.

Qui vediamo il concetto di controllo del flusso. Se la condizione si è verificata allora verrà eseguita una certa parte (A) del programma, altrimenti l’altra (B).

If (mi piace guidare)

               Uso la macchina;

Else

               Uso il treno;

Il blocco else, in genere, non è obbligatorio. Immaginiamo di essere sulla porta di casa e dobbiamo decidere se prendere l’ombrello o meno; possiamo scrivere qualcosa del tipo :

If (piove)

               Prendo l’ombrello;

Apro la porta;

Esco di casa;

Il blocco else non ha senso perché non devo fare nulla in più se c’è bel tempo, semplicemente evito di prendere l’ombrello.

Quali sono gli usi di If?

Quelli che abbiamo visto sono solo alcuni esempi di if per capire che azioni fare. Ma posso usare gli if anche per:

  • verificare che l’utente si sia comportato come gli stiamo chiedendo.
  • Che ci siano determinate condizioni per eseguire una operazione.
  • Per capire se ci sono stati degli errori da qualche parte e provare a “compensare” o notificare l’utente.

Pratica

Per la parte pratica e ulteriori approfondimenti seguiamo il video YT dedicato alla lezione.

Link ai precedenti episodi

Programmare da zero | istruzioni, metodi, variabili

Per muovere i primi passi nel mondo della programmazione dobbiamo fare nostri alcuni concetti di base che ci accompagneranno in tutto il nostro percorso e sono validi per tutte le tecnologie o i linguaggi di programmazione. È importante averli ben chiari perché costruiscono le fondamenta della programmazione su cui svilupperemo tutte le nostre abilità.

Alla fine di questo articolo avremmo compreso: le istruzioni, le variabili, i metodi.

Questo articolo si basa sulle nozioni introdotte nel precedente post sull’argomento: 💻 il tuo primo programma da zero.

Le istruzioni 📃

Un’istruzione è un’azione che facciamo nel nostro programma. Un programma è composto da migliaia di istruzioni che, messe insieme, servono a far fare al computer ciò che ci interessa. Che cosa possiamo fare con queste istruzioni? Dichiarare variabili, assegnare valori alle variabili, possiamo chiamare metodi o procedure o funzioni (portiamo pazienza, che cosa è una variabile lo vediamo tra pochissimo 🙂). Poi ci sono delle particolari tipologie di istruzioni che ci permettono di prendere delle decisioni e sono i cosiddetti “if”. Con le istruzioni if (che traduciamo con “se” in italiano) prenderemo una decisione, del tipo: se un valore è più grande o più piccolo di zero allora faccio una cosa altrimenti ne faccio un’altra. Ci sono anche i cicli (ma non mettiamo troppa carne al fuoco 🔥 per ora).

Le variabili 🧮

Le variabili rappresentano uno spazio della memoria del pc. Servono per riservare della RAM (Random Access Memory, quella che diciamo abbiamo 16 gigabyte di ram nel nostro PC e così via). Una variabile è un modo per riservare uno spazietto 🗃️ all’interno di tutta questa memoria , interamente riservato al nostro programma. Non stiamo parlando di disco fisso/hard disk che ci serve per far persistere qualcosa anche quando il PC si spegne. Riserviamo dello spazio per il nostro programma per uno specifico scopo perché voglio memorizzare dei valori (si dice assegnare, tecnicamente) perché li voglio utilizzare in un secondo momento. Ad esempio voglio chiedere dei numeri dall’utente (immaginiamo una calcolatrice) per poi fare delle operazioni. Chiedo gli addendi di una somma quindi salverò un addendo in una variabile, un addendo in un’altra variabile e poi li addizionerò per ottenere la somma. Ci sono due grandi categorie di linguaggi per quanto riguarda la gestione delle variabili:

  • tipizzati
  • non tipizzati.

Nei linguaggi tipizzati le variabili sono specifiche per un tipo di dato: cioè in una determinata variabile decido a priori se voglio contenere del testo (intere parole o caratteri singoli), o se voglio tenere dei numeri. Non posso usare una variabile prima per un numero e poi per del testo.

Nei i linguaggi non tipizzati, invece, il tipo di dato non è specifico. Quindi in uno spazio di memoria in un certo momento potrò metterci del testo e nel momento successivo per metterci dei numeri questo ha dei pro e dei contro non sono lo scopo di questo articolo.

Metodi ⚙️

Che cosa è un metodo? Metodo è un nome generico che raggruppa due concetti:

  • procedura
  • funzione

Un metodo raggruppa delle linee di codice per essere. Consiste nel dare un nome a un gruppo di righe di codice per essere poi riutilizzate e non doverle ripetere e scrivere da capo. Per esempio, se scrivo delle righe di codice che mi invertono le lettere in una parola e voglio riutilizzare queste righe di codice in vari punti del mio programma non dovrò riscriverle ogni volta; le posso prendere, raggruppare, dare loro un nome del tipo “inverti stringa” e ogni volta che ne ho bisogno posso richiamarle con questo nome.

Una procedura è un metodo che non restituisce un risultato. Un esempio di procedura potrebbe essere qualcosa che cambia il colore di sfondo del nostro programma. Queste righe di codice non ci danno un risultato a seguito di una operazione, ma agiscono direttamente su qualcosa (in questo caso, lo sfondo).

Le funzioni sono di righe di codice che restituiscono un risultato. Possiamo immaginare quelle funzioni che noi scriviamo che fanno per esempio delle operazioni matematiche, oppure delle operazioni che intervengono su parti di testo e ce lo restituiscono trasformato.

Video 📹

Rimando al video pubblicato sul mio canale YouTube con la spiegazione dettagliata di questi concetti, esempi di codice e realizzazione di un programma che fa uso delle nozioni appena viste.

Prerequisiti 💼

Per seguire le attività svolte nel video servono Visual Studio Code e il dotnet SDK che metto linkati qui sotto. È anche consigliato seguire il video 📽️ dell’episodio precedente (qui).

Visual Studio Code (https://code.visualstudio.com/Download)

Dotnet SDK (https://dotnet.microsoft.com/)

Programmare da zero | Imparare a programmare per principianti

Per me sono stati i videogiochi: è sempre colpa dei videogiochi. Non volevo semplicemente giocarli, volevo costruirli. E così ho capito che dovevo studiare come funzionano i computer i programmi. Perché i videogiochi sono tra i programmi più complessi, costosi e difficili da realizzare. Poi la vita è sempre ricca di sorprese e ora della fine non programmo videogiochi ma sono comunque diventato un programmatore 😊

Per te potrebbe essere l’automazione, la robotica, la domotica, i chatbot… Comunque sei qui a chiederti: come programmare da zero? Come si inizia a programmare?

Ecco qualche linea guida su come approcciarsi al vastissimo mondo della programmazione. Questo mondo è così ampio che è impossibile trattare tutto in un solo articolo.

Cos’è un programma?

Un programma non è altro che un insieme di istruzioni codificate in modo comprensibile per un pezzo di ferro (cioè Silicio, di cui sono fatti i circuiti dei PC) che prendono degli input e danno un output. Pensa per esempio a quella parte del sistema operativo (windows, mac o linux che sia) che trasforma il movimento del tuo mouse in una freccia che si muove sullo schermo.

Quale linguaggio di programmazione scegliere?


Per scrivere un programma serve un linguaggio di programmazione. Ce ne sono tantissimi, divisi in categorie, e ognuno è progettato per uno scopo preciso. Non c’è quindi in generale un linguaggio migliore, dipende sempre da cosa dobbiamo fare. Se dobbiamo fare pezzi di un sistema operativo molto probabilmente lavoreremo in C o C++. Programmi per gli smartphone con Java, C#, Swift, Objective-C. SQL se dobbiamo interagire con le basi di dati relazionali. Python è molto usato per le elaborazioni numeriche e data science.

Quindi in base al tuo progetto sceglierai lo strumento (linguaggio di programmazione) che ti metterà a disposizione le funzionalità più adeguate.

Per imparare a programmare, per conoscere le basi, i linguaggi più idonei sono quelli che mettono a disposizione la miglior documentazione e i cui strumenti siano facili da reperire e gratuiti.

Come imparo a programmare?


Per imparare a programmare ci sono moltissime opzioni on-line: i produttori di strumenti di sviluppo stessi, nei loro siti, mettono a disposizione tutorial e materiale per iniziare. Puoi quindi procedere da autodidatta, scenario che nel mondo della programmazione è molto comune. Ci sono corsi di formazione in campus sia fisici che remoti. Si spazia anche passando per corsi serali.

Non è necessario essere dei mostri in matematica (come spesso si pensa): la matematica è utile ma diventa davvero necessaria quando si devono scrivere programmi come motori di calcolo fisico o programmi a supporto di ricerca scientifica.

La maggior parte dei programmi, tuttavia, consiste nel prendere dati da uno schermo/tastiera/mouse/tocco/penna, salvarli da qualche parte e recuperarli in un secondo momento.

Costruiamo il primo programma insieme

Ma ora basta con le chiacchiere, ti mostro come creare il tuo primo programma dallo zero totale, in dieci minuti (più o meno, a seconda della velocità del tuo computer).