Le basi per programmare in C#: terza puntata

All’ indirizzo https://umbriawayinfo.wordpress.com/2020/03/18/le-basi-per-programmare-in-c-seconda-puntata/ abbiamo visto in particolare i cicli e altro adesso andiamo avanti nell’ analizzare le funzionalità base offerte da questo tagliente linguaggio osservando gli armadi o i vettori o i famosi array della programmazione universale paragonabili a cassetti del nostro armadio contenenti non vestiti ma dati di ogni tipo. Questi array sono di ogni tipo, esistono anche quelli multidimensionali e un array può contenere come un vagone del treno altri array o cabine. Come gestire questi insiemi di dati? Un vettore è una grande variabile divisa al suo interno in sottovariabili se vogliamo. Il vantaggio di un vettore è che se hai una classe da gestire puoi avere il vettore classe con dentro trenta alunni con il loro valore senza dover gestire trenta variabili diverse. L’identificazione delle celle dove sono contenute le variabili avviene tramite indice e si parte da zero. Quindi se ho un armadio voti e nella prima casella memorizzo il valore di dieci per richiamare quel valore dovrò scrivere voti[0]. Ma vediamo in pratica:

qui il ciclo for gestisce un vettore di dieci caselle o variabili. Adesso facciamo un programma dove inseriti il numero di debiti avuti dagli studenti in uscita abbiamo delle risposte legate a quanti di loro saranno promossi, rimandati o bocciati.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[] debiti = new int[10];
int i;
int nstudenti;

Console.WriteLine(“benvenuti nel nostro programma”);
Console.Write(“inserisci il numero di studenti: “);

do
{
nstudenti = Convert.ToInt32(Console.ReadLine());
} while (nstudenti < 1);

for (i = 0; i < nstudenti; i = i + 1)
{
do
{
Console.Write(“inserisci il numero di debiti del ” + (i + 1) + ” ° studente: “);
debiti[i] = System.Convert.ToInt32(Console.ReadLine());
} while (debiti[i] < 0);

}

for (i = 0; i < nstudenti; i = i + 1)
{
if (debiti[i] > 3)
{
Console.WriteLine(“il ” + (i + 1) + ” ° studente è stato bocciato”);
}
else if (debiti[i] > 0)
{
Console.WriteLine(“il ” + (i + 1) + ” ° studente è stato rimandato con ” + debiti[i] + ” debiti”);
}
else
{
Console.WriteLine(“il ” + (i + 1) + ” ° studente è stato promosso”);
}
}

Console.ReadKey();
}
}
}

sotanzialmente con le condizioni IF gli fissiamo delle condizioni per cui se lo studente ha più di tre debiti va a casa ed è bocciato, se lo studente ha un numero di debiti che va da zero a tre è rimandato altrimenti viene promosso di default. Adesso vediamo come trovare un numero minimo e un numero massimo all’ interno di un vettore.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int[] numeri = new int[10];
int massimo;
int minimo;
int i;
int x;
float media;

do
{
Console.Write(“quanti numeri vuoi inserire ? “);
x = Convert.ToInt32(Console.ReadLine());
}while (x > 10);

for (i = 0; i < x; i = i + 1)
{
Console.Write(“Inserisci il ” + (i +1) +” # numero: “);
numeri[i] = Convert.ToInt32(Console.ReadLine());
}

minimo = numeri[0];
massimo = numeri[0];
media = numeri[0];

for (i = 0; i < x; i++)
{
if (numeri[i]> massimo)
{
massimo = numeri[i];
}
else
{
if (numeri[i] < minimo)
{
minimo = numeri[i];
}
}
media = media + numeri[i];
}
media = media / x ;
Console.WriteLine(“il massimo é: ” + massimo);
Console.WriteLine(“il minimo é: ” + minimo);
Console.WriteLine(“la media é: ” + media);

Console.ReadKey();
}
}
}

Adesso studiamo l’istruzione switch. Facciamo un programmino dove in virtù di una scelta fatta a video il programma esegue un blocco istruzioni , in caso di zero esce dal programma e saluta, in caso di 1 l’utente avrà la possibilità di immettere due numeri e sommarli, questo si potrebbe fare facilmente con una espressione IF :

namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
int scelta;
Console.WriteLine(“Cosa vuoi fare?”);
Console.WriteLine(“0 – ti saluto”);
Console.WriteLine(“1 – faccio la somma tra due numeri”);
Console.Write(“scelgo l’opzione: “);
scelta = Convert.ToInt32(Console.ReadLine());

if (scelta == 0)
{
Console.WriteLine(“ciao”);
}
else if (scelta == 1)
{
int n1, n2;
Console.Write(“inserisci il primo numero: “);
n1 = Convert.ToInt32(Console.ReadLine());
Console.Write(“inserisci il secondo numero: “);
n2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“la somma é ” + (n1 + n2));
}
Console.ReadKey();
}
}
}

proviamo invece a farlo con lo SWITCH:

scelta = Convert.ToInt32(Console.ReadLine());

switch (scelta)
{
case 0:
Console.WriteLine(“ciao”);
break;

case 1:
int n1, n2;
Console.Write(“inserisci il primo numero: “);
n1 = Convert.ToInt32(Console.ReadLine());
Console.Write(“inserisci il secondo numero: “);
n2 = Convert.ToInt32(Console.ReadLine());
Console.WriteLine(“la somma é ” + (n1 + n2));
break;
}

Console.ReadKey();
}
}
}

 

 

 

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google photo

Stai commentando usando il tuo account Google. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: