Le basi per programmare in C#: seconda puntata

All’ indirizzo https://umbriawayincrementa.wordpress.com/2020/03/18/le-basi-per-programmare-in-c-prima-puntata/ abbiamo introdotto C# adesso prosegue il nostro excursus per studiare le altre funzionalità base del linguaggio. Vediamo come possiamo fare la somma:

in questo esercizio definite tre variabili, numero uno, numero due e somma che dovrebbe raccogliere l’addizione, abbiamo i soliti metodi che interrogano l’utente per l’immissione dei dati con Console.WriteLine() e abbiamo il solito modo per catturare il valore dopo la conversione da int a stringa, dopodichè uso il metodo Console.WriteLine anche per materializzare a video la somma che non potrà essere altro che numero1 + numero2. Ora va da se che le operazioni matematiche sono intuitive utilizzando i simboli -, * e /,  ma in quest’ ultimo caso di divisione bisogna fare attenzione perchè se volessimo dividere cinque / 2 non riuscirei a vedere il risultato esatto di 2.5 e questo perchè tutte le variabili dovrebbeso essere trasformate da INTERO a numeri a virgola mobile con FLOAT. Esistono ovviamente metodi per convertire metodi come FLOAT in STRING per la stampa a video con la virgola e cioè potremmo utilizzare una istruzione come x = Convert.ToSingle(Console.ReadLine()); a questo punto facciamo un esercizio con i numeri dove immettendo due numeri sempre usando la conversion per la stampa a video abbiamo il problema di capire quale dei due numeri è maggiore dell’ altro, come fare? Possiamo usare l’istruzione condizionale IF ossia semplicemente dire al programma che se il numero uno è maggiore del numero due, stampa a video il risultato corretto con la consueta sitruzione Console.WriteLine(“il primo numero è maggiore del secondo”);

però questo programma non funziona bene al cento per cento, ma solo nella condizione in cui solo il primo numero sia maggiore del secondo avrò la risposta giusta. A questo punto sulla condizione numero1>numero due dovrò anche dirgli e se la condizione non fosse vera? E questo lo otteniamo aggiungendo la clausola ELSE, a questo punto se gli metto prima cinque e poi dieci otterrò l’esatta esecuzione del programma con la risposta corretta per ogni condizione:

Però che succederebbe se immettessi due numeri uguali adesso? Il programma avrebbe un bug non mi darebbe una risposta, quindi dobbiamo specificare un’altra condizione aggiungengo tra IF ed ELSE la clausola ELSE IF facendo attenzione a non usare il simbolo assegnazione con = ma quello di confronto con ==:

bene adesso una domanda legata all’ esportazione del programma, posso creare un eseguibile anziché usare il compilatore dell’ editor? Certo che sì. Compilare un programma significa trasformare tutte le nostre istruzioni in zero e uno, cioé in codice binario. Il computer non conosce le righe e le istruzioni che abbiamo scritto lui capisce solo il codice binario, quindi dobbiamo masticare queste istruzioni in un linguaggio per lui compatibile. Vado quindi su PROGETTO alla fine della schermata trovo l’opzione PROPRIETA’ del nostro progetto. Poi vado su APPLICAZIONE E DEFINISCO UNA SERIE DI CARATTERISTICHE per l’esportazione. Il framework di destinazione è importante perché più sono avanzati e più funzionalità hanno, se non ci sono esigenze particolari possiamo ricorrere alle versioni più vecchie. Possiamo anche definire una icona per il nostro programma con i file ICO facilmente fattibili con tool free in rete. Poi compiliamo con release e non debug e compilo e all’ interno della cartella release del progetto mi ritrovo un eseguibile con estensione punto EXE . Quindi abbiamo creato un programma perfettamente funzionante all’ esterno di visual studio, portabile  e usabile autonomamente ovunque per qualsiasi CPU. E ora i cili! Vediamo il ciclo do while. In questo ciclo prima si eseguono un gruppo di istruzioni e poi dopo si verifica la condizione, vediamo un caso dove andiamo a stampare a video i numeri successivi a una immissione di un numero, stampe che sono definite dall’ istruzione condizionale while (i<10):

per delimitare i commenti si usano i simboli /*e */ su più righe, invece avevamo visto che bypassare le righe singole al compilatore si otteneva con //. Vediamo adesso il while sempre cercando di ottenere lo stesso effetto, questo ciclo soddisfa subito la condizione iniziale:

A questo punto non ci resta vedere il ciclo for che é più compatto rispetto ai precedenti e che va utilizzato quando SAPPIAMO QUANTE VOLTE DOBBIAMO ESEGUIRE UN CICLO (mentre nel do while e while non lo sappiamo):