Connessione

Recuperare la parola d'ordine

Ultimi argomenti
» Virtualbox VS le periferiche USB
Mar Apr 06, 2010 11:49 am Da dandeciani

» PROGRAMMA: BINARY CODE
Mar Dic 23, 2008 5:28 pm Da Thalionwen

» saluti a tutti
Mar Dic 23, 2008 5:12 pm Da Thalionwen

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Prima Parte]
Sab Nov 29, 2008 9:44 am Da ya89

» un semplice ciao
Sab Nov 29, 2008 9:38 am Da ya89

» Aiuto per alice 7 mega
Ven Nov 14, 2008 2:03 pm Da root

» FORUM: I nuovi banner
Ven Nov 14, 2008 12:48 pm Da Thalionwen

» Zooming Ricorsivo, questo sconosciuto.
Ven Nov 14, 2008 12:43 pm Da Thalionwen

» GUIDA : LEZIONE 4 : UTILIZZARE GLI ARRAY IN C#
Ven Nov 14, 2008 11:54 am Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Terza e Ultima Parte]
Gio Nov 13, 2008 10:41 pm Da ab89

» GUIDA : CAP 1 LEZIONE 1 Elementi di base dei programmi in C [Seconda Parte]
Mar Nov 11, 2008 10:59 pm Da ab89

» [PS2] Dark Cloud
Mar Nov 11, 2008 4:50 pm Da ab89

» [PC] Sacred 2
Lun Nov 10, 2008 8:49 pm Da ab89

» GUIDA : CAP 1 LEZIONE 3 INTRODUZIONE AGLI ARRAY
Lun Nov 10, 2008 11:37 am Da ab89

» TEST PER MODERATORI O ASPIRANTI MODERATORI
Dom Nov 09, 2008 2:42 pm Da ab89

» Problema con formattazione di un disco non allocato
Dom Nov 09, 2008 12:25 pm Da ab89

» GUIDA : UNA PRIMA INTRODUZIONE AL C
Sab Nov 08, 2008 1:53 pm Da ab89

» GUIDA : CAP 1 LEZIONE 2 LE VARIABILI IN C#
Ven Nov 07, 2008 9:58 pm Da ab89

» GUIDA : PROLOGO
Ven Nov 07, 2008 7:21 pm Da ab89

» GUIDA : ELENCO LEZIONI
Ven Nov 07, 2008 5:12 pm Da ab89

Migliori postatori
ab89
 
Thalionwen
 
Eine The Phantom
 
Reaulece
 
ya89
 
root
 
Infernet89
 
Pablomares
 
melania.zeri
 
ieschfor
 

Flusso RSS

Yahoo! 
Google Reader 
MSN 
AOL 
NewsGator 
Rojo 
Bloglines 



GUIDA : CAP 1 LEZIONE 2 LE VARIABILI IN C#

Vedere l'argomento precedente Vedere l'argomento seguente Andare in basso

GUIDA : CAP 1 LEZIONE 2 LE VARIABILI IN C#

Messaggio Da ab89 il Ven Nov 07, 2008 9:58 pm

Le variabili in C#

Le variabili

Prima di affrontare le variabili in C# sarebbe meglio definire cosa è una variabile.
Una variabile sostanzialmente è un contenitore di valori.
Una variabile può essere definita come una contenitore di numeri, o di caratteri, però una volta che una variabile viene definita essa può contenere solamente elementi del tipo di definizione.

Definizione di una variabile in C#

La definizione del tipo di una variabile in C# è la seguente :

[tipo variabile] [nome variabile] ;

Esempio :

Codice:

int x;


Dove int è il tipo della variabile, in questo caso Intero, ossia numeri interi positivi e negativi.
Mentre x è il nome della variabile.
Infine da notare che alla fine di ogni istruzione in C# va posto il ; .

Leggere un valore da tastiera e inserirlo in una variabile

Il primo programma proposto nella lezione precedente mostrava come mandare in output su Console una scritta. Ora vediamo invece come leggere un valore inserendolo da tastiera.

Per leggere una valore da tastiera si utilizza la funzione ReadLine() della classe Console.
E' la stessa funzione System.Console.ReadLine() utilizzata nella lezione precedente, ma nell'esempio il valore letto non veniva salvato in alcuna variabile.

La domanda da porsi ora è : Cosa viene letto da Input, o meglio, cosa restituisce la funzione ReadLine()?

La risposta è : Una sequenza di caratteri

In C# esistono il tipo char, che rappresenta una carattere, e il tipo string che rappresenta invece una serie di caratteri (il concetto di stringa sarà approfondito più avanti).
In base a quanto detto si deduce che la funzione ReadLine() restituisce un valore di tipo string.

Ora sorge spontanea la domanda : E se devo inserire un numero e non una parola?

Ebbene si utilizzeranno le funzioni della classe System.Convert.
Questa classe contiene tutte funzioni che permettono le conversioni tra tipi, come ad esempio convertire una serie di caratteri da string a int, ovviamente la conversione deve essere possibile, ossia la stringa di input deve essere un numero sottoforma di stringa.
Per esempio :

"11"
-- conversione in intero --> 11
"5" -- converisone in intero --> 5
"mario" -- converisone in intero --> errore

I primi 2 elementi sono 2 numeri sottoforma di testo mentre il 3° è un nome e quindi il programma genera quella che viene definita un'eccezione (sostanzialmente un errore in questo caso Very Happy ).

Passiamo ora a vedere un semplice esempio di lettura di valori :

Codice:

public class myClass
{
    public static void Main()
    {
        int x;
        string tmp;

        System.Console.WriteLine("Inserisci un valore da tastiera");
        tmp = System.Console.ReadLine(); //lettura valore da tastiera
        x = System.Convert.ToInt32(tmp); //conversione del dato letto

    }
}


Mandare in output un dato

Vediamo ora come scrivere in output su Console il valore di una variabile.
Per fare questo si utilizza la funzione vista WriteLine().
Finora abbiamo visto come si fa a scrivere del semplice testo, ora vediamo come utilizzarla per scrivere in output il valore di una variabile.
La sintassi è la seguente :

WriteLine(string format, parameters object[] argv);

In sostanza format è il testo, mentre il secondo parametro parameters rappresenta l'elenco di variabili di cui mostrare il valore.
Nella stringa format vanno posti dei segnaposti "{0}" dove il numero al centro si riferisce al numero ordinato della variabile - 1, tipo se ci sono 3 variabili, la prima ha posto 0, la secondo ha posto 1 e la terza ha posto 2.

Eccovi un esempio

Codice:

public class myClass
{
    public static void Main()
    {
        int x;
        string tmp;

        System.Console.WriteLine("Inserisci un valore da tastiera");
        tmp = System.Console.ReadLine(); //lettura valore da tastiera
        x = System.Convert.ToInt32(tmp); //conversione del dato letto
        System.Console.WriteLine("Il numero letto è : {0} ", x); //output del dato letto
    }
}


Passiamo ora a vedere come risolvere un esercizietto Very Happy :

ESERCIZIO DI ESEMPIO

Problema : Scrivere un problema che letti in ingresso 2 numeri ne faccio la somma, la differenza, il prodotto e il quoziente Very Happy

Analisi

Cosa ci serve ?

  1. 2 variabili con virgola (tipo double) per la lettura dei valori
  2. 4 variabili per le 4 operazioni
Cosa si deve fare ?

  1. Leggere i due valori in ingresso
  2. Effettuare le 4 operazioni
  3. Scrivere i 4 risultati ottenuti
Codice:

using System;

public class quattrOperazioni
{
    public static void Main()
    {
        double x,y; //i due valori da leggere
        double somma;
        double diff;
        double prod;
        double quoz;

        Console.WriteLine("Inserisci il primo valore da tastiera");
        x = Convert.ToDouble(Console.ReadLine()); //lettura e conversione del dato letto

        Console.WriteLine("Inserisci il secondo valore da tastiera");
        y = Convert.ToDouble(Console.ReadLine()); //lettura e conversione del dato letto

        somma = x + y;
        diff = x - y;
        prod = x * y;
        quoz = x / y;

        //scrittura dei risultati delle 4 operazioni

        Console.WriteLine("Somma = {0}", somma);
        Console.WriteLine("Sottrazione = {0}", diff);
        Console.WriteLine("Prodotto = {0}", prod);
        Console.WriteLine("Quoziente = {0}", quoz);

        Console.ReadLine();

    }
}


Analisi del codice

Prima di analizzare il codice del metodo Main() è opportuno osservare la prima riga : using System;
La direttiva using serve ad includere un namespace, sostanzialmente una libreria, che nel nostro caso è System. Questa cosa serve poter evitare di scrivere ogni volta nel codice System.[classe].[funzione] infatti se si nota nel codice appena scritto le funzioni che nell'altro codice erano scritte nel modo System.Console.ReadLine() ora omettono il namespace di appartenenza, cioè il System.

Ora passiamo all'analisi vera e propria del codice.
Come si può notare le variabili prese in considerazione a livello teorico sono poi state dichiarate anche a livello di codice.
Successivamente vengono eseguite le istruzioni di lettura dei 2 valori in ingresso.

Ora, proprio grazie al codice, osserviamo come avvengono le assegnazioni di valori a variabili.

La sintassi generale è : [variabile] = [espressione]

variabile : rappresenta la variabile alla quale fare l'assegnazione del valore restituito dall'espressione.

espressione : espressione invece rappresenta un insieme di operazioni che restituiscono un valore con lo stesso tipo della variabile alla sinistra dell'assegnazione. L'espressione può essere composta da una variabile, o da una funzione, o da una serie di variabili e funzioni relazionate tra di loro tramite degli operatori.


Esempi di assegnazioni nel codice :

x = Convert.ToDouble(Console.ReadLine()); e y= Convert.ToDouble(Console.ReadLine());

in queste 2 assegnazioni la variabile di assegnazione è composta da x, e poi y.
Le relative espressioni sono :

Convert.ToDouble(Console.ReadLine())

L'espressione è composta da due funzioni. La prima ad essere cosiderata è Convert.ToDouble(..) alla quale viene passato un parametro che ha origine dalla lettura da tastiera, quindi quando viene analizzato il parametro, viene notato che è una funzione e quindi viene eseguita, infine Convert.ToDouble(...) viene eseguita in relazione al valore ottenuto dalla ReadLine(). Per finire il valore restituito dalla Convert.ToDouble(...) è double, a virgola mobile, lo stesso tipo della variabile di assegnazione.

somma = x + y ; diff = x - y; prod = x * y; quoz = x / y;

Queste quattro istruzioni sono quattro assegnazioni.
A ognuna viene assegnato il valore di una delle quattro operazioni elementari, somma, sottrazione, moltiplicazione e divisione.

Le variabili in gioco nell'espressione sono sempre x e y entrambe double. E di conseguenza il risultato di un'operazione tra di loro sarebbe sempre e comunque double, di conseguenza il risultato deve essere assegnato ad una variabile di tipo double.

Per concludere vengono stampati a video i valori dei 4 risultati ottenuti sfruttando la funzione WriteLine() nel modo soprascritto, ossia con i segnaposti.


Siamo giunti alla fine della Lezione 2.
Cosa ne pensate?
In caso di dubbi e/o domande sono a disposizione.

ab89, Amministratore





_________________
生きるためにもあまり変過ぎるし、死ぬためにもあまり珍し過ぎる。

What D.Gray-man Character Are You?
Hosted By theOtaku.com: Animee


ab89
Admin
Admin

Numero di messaggi: 74
Età: 21
Località: Rovigo
Data d'iscrizione: 29.09.08

Scheda personaggio
PF:

Vedere il profilo dell'utente

Tornare in alto Andare in basso

Vedere l'argomento precedente Vedere l'argomento seguente Tornare in alto


Permesso del forum:
Non puoi rispondere agli argomenti in questo forum