Non sei registrato? Registrati subito cliccando QUI! E utilizza tutte le funzionalita' del sito!

[002]Variabili-Pt.2

In questa sezione si apprenderanno le basi di questo linguaggio ormai utilizzato per applicazioni web ma soprattutto da qualche anno usato come linguaggio principale del framework XNA
Regole del forum
Il C# (si pronuncia "c sharp") è un linguaggio di programmazione object-oriented sviluppato da Microsoft all'interno dell'iniziativa .NET, e successivamente approvato come standard ECMA. La sintassi del C# prende spunto da quella del Delphi (hanno il medesimo autore, ovvero Anders Hejlsberg), del C++, da quella di Java e da Visual Basic per gli strumenti di programmazione visuale e per la sua semplicità (meno simbolismo rispetto a C++, meno elementi decorativi rispetto a Java).

[002]Variabili-Pt.2

Messaggioda Takobon » 20/08/2010, 23:14

Premessa:
É passato un bel po' dall'ultima volta e per ciò mi scuso,ma ho passato un'estate infernale.Veniamo a noi...Ah si!Nella scorsa lezione vi ho illustrato le variabili(principali) in C#,mentre oggi vedremo qualche loro utilizzo,proprietà e concatenazione :3

Int:
Inutile ripetere cos'è,quindi passiamo a vedere come poterlo usare:

Non ha nessun metodo,quindi possiamo passare alle operazioni con esso.

Addizione:
Per l'addizione si userà logicamente il "+" :

int a,b;

a = 5;
b = 4;
int c = a + b;

Console.WriteLine(c);

Bene bene cosa ho fatto?
Nulla di più semplice ho dichiarato due variabili di tipo int e le ho assegnato due valori diversi (5 e 4);dopo di che ho inizializzato una terza variabile(sempre di tipo int),ma attenzione!Come valore gli ho assegnato la somma fra a e b.Infine ho stampato il valore di c attraverso il metodo Console.WriteLine e qui vorrei aprire una piccola parentesi:

Vi ricordate del metodo Console.ReadLine?Bene!Con un minimo di logica e di conoscenza dell'inglese,potrete capire che grazie a "WriteLine" potremo "stampare a video" il valore/tipo delle variabili.
In questo modo:

Console.WriteLine(Nome variabile);

oppure

Console.WriteLine("Ciao,queto è un output");

Come noterete non ho definito nessuna stringa,questo perchè il metodo accetta le variabili di tipo string,ma anche tutte le altre,anche se quest'ultime vengono convertite in stringhe(ve ne parlerò dopo).

Ritorniamo alle operazioni con le variabili di tipo int.

Poco fa vi ho mostrato l'addizione,ma mancano altre tre operazioni (: .

Sottrazione:
(Stesso procedimento di prima,ma useremo l'operatore "-")

int a,b;
a = 5;
b = 4;
c = a - b;

Bene!Poi stampando a video avremo come valore 1.Ma se avessimo scritto invece di

c = a - b;

|
v

c = b - a ?

Bè,se vi ricordate,nella lezione passata vi dissi che il tipo int accetta un intervallo di valori compreso fra -2,147,483,648 e 2,147,483,647,quindi non avremmo nessun errore.Ma se per caso noi non volessimo dei valori negativi?Basta usare il tipo uint,dove la u sta per "unsigned" ovvero "senza segno".

Moltiplicazione:
(Operatore "*")

int a,b;
a = 5;
b = 4;

c = a * b;

Solita solfa o no?
Volevo farvi notare che anche nella programmazione si seguono le regole della somma algebrica,ossia se noi scriviamo
(5+2) * 3 avremo come risultato 21 che diverso da 5 + 2 * 3 che da come risultato 11 (:

Divisione:
(Operatore "/")

int a,b;

a = 8;
b = 2;

c = a / b;

ATTENZIONE!Come ho già detto anche nella programmazione si seguono le regole della somma algebrica,quindi se provassimo a divere un numero per 0 avremmo un'errore.


Dopo avervi mostrato come assegnare dei valori al tipo int,vediamo come ottenere dati input attraverso la tastiera.

Prima di tutto stampiamo a video come segue :

Console.WriteLine("Quanti anni hai?");

Ovviamente per poter rispondere a questa sciocca domanda avremo bisogno di poter scrivere sulla console,quindi inviare dei dati input,attraverso questo modo :

nome variabile(di tipo int) = Convert.ToInt32(Console.ReadLine());

Questa operazione non fa altro che leggere una stringa,ricevuta tramite la tastiera e la converte in un tipo int(Convert.ToInt32) e memorizzarla nella variabile che vogliamo.
Ritornando al nostro esempio



Console.WriteLine("Quanti anni hai?");
Console.ReadLine();
int age = Convert.ToInt32(Console.ReadLine());

Console.WriteLine("Hai "+ age + "anni");
Console.ReadLine();

Ciò darà

Quanti anni hai?
17
Hai 17 anni

Nulla di strano,forse nell'ultimo stampa a video,ho solo effettuato una concatenazione fra stringhe.Lo so,la variabile age è di tipo int,ma il metodo WriteLine si occupa di effettuare la conversione da int in stringa,ne riparleremo nella prossima lezione.
int age

Ora salteremo gli altri tipi di cui vi ho parlato(float,byte e bool) perchè i primi due sono come il tipo int,mentre il per il tipo bool non ci sono operazioni possibili,ma vedremo in futuro come ci sarà di aiuto.


Passiamo al tipo String:
Vi ho già mostrato come inizializzare stringhe,quindi vi mostrerò come concatenarle (:

string c = "Ciao";
string s = " e tanti saluti";


c += s;

Console.WriteLine(c);
andandolo a stampare darà come risultato "Ciao e tanti saluti" e qui vorrei farvi notare una cosa.Nel tipo int abbiamo visto che abbiamo creato una terza variabile per mostrare il risultato(volendo si poteva pure fare a meno,ma l'ho fatto per un miglior apprendimento).Nel caso delle stringhe,non avviene nessuna modifica,perchè non sono modificabili,quindi attraverso dei metodi(nel nostro caso l'oepratore +=) le due stringhe vengono concatenate e si viene a creare una nuova stringa.Quindi la variabile "c" fa riferimento ad una variabile di tipo string del tutto diversa.

Dopo questo vi mostrerò qualche utilizzo con le stringhe:

Caratteri escape:
Sono dei caratteri speciali usati per dei particolari momenti tipo se volessivo scrivere questo :

Caro Andrea,
come stai?

Cioè poter andare a capo.
Si utilizza il carattere "\n"

Esempio:

string c = "Ciao Andre,\ncome stai?";

altri caratteri escape usati sono:

Apice: \'
Doppio apice \"
Backslash \\
Carattere nullo \0
Alert \a
Backspace \b
Nuova linea \n
Carriage return \r
tab orizzont. \t
tab verticale \v

Inoltre,se volessivo assegnare come valore ad una variabile una directory,possiamo usare

Backslash \\ :

string filepath = "C:\\Programmi\\";

oppure

La chiocciola @:

string filepath = @"C:\Programmi\";

Dati input:
Se volessimo leggere dei dati input da tastiera basta usare la semplice espressione

nome variabile(tipo string) = Console.ReadLine();

Nessuna conversione?Mi sembra logico!É già di tipo string,quindi non c'è alcun bisogno di nessuna conversione (:
The end:
Bene,detto l'essensiale,nella prossima lezione vi insegnerò le varie conversioni.

Ah stavo per scordarmi i compiti a casa :P

I compiti svolti postateli nel topic che aprirò nella sezione degli esercizi.

Compiti:
1)
-Richiesta di due dati input(tipo int);
-Operare con i due dati ricevuti nel seguente modo :
Addizione + Sottrazione + Output del risultato;
Moltiplicazione + Divisione + Output del risultato;
Infine rimostrare i due risultati attraverso una tabulazione orrizzontale;

2)
Creare un'applicazione che trovi l'area e il perimetro di un triangolo.
(l'area di un triangolo è basexaltezza/ 2 );
(in questo esercizio usate il tipo float).


3)
Creare un'applicazione che chieda:
-Nome e cognome;
-Età;
-Città di nascita;
-Scuola;
-Lavoro;
Per poi mostrare il tutto in output.
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Re: [002]Variabili-Pt.2

Messaggioda Ally » 21/08/2010, 1:24

Lezioncina lunga ma sicuramente interessante =)
Leggo con calma e provo a fare gli esercizi.
ImmagineClicca qui per ingrandire
Spoiler: mostra
Figlio Illegittimo n°001 della:
ImmagineClicca qui per ingrandire
Avatar utente
Ally
Fondatori
Fondatori
 
Messaggi: 5354
Iscritto il: 09/08/2009, 16:07
Località: Genova
Grazie dati: 127 volte
Grazie ricevuti: 121 volte
Ruolo: Scripter
Progetto/i VX: Essence
Tool Preferito: RM2k/2k3

Re: [002]Variabili-Pt.2

Messaggioda Takobon » 21/08/2010, 1:27

Lo so XD
Ma sono mancato da molto,perciò devo recuperare il tempo perso.Alcune cose come al solito le approfondirò nelle prossime lezioni(come al solito XD),se no verrebbe un papiro XD
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Re: [002]Variabili-Pt.2

Messaggioda Kuraudo Sutoraifu » 27/08/2010, 9:58

Non sono sicuro che il comportamento del 1° esercizio sia uguale a quello richiesto, ma ho fatto così:

 Codice: Seleziona tutto
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
           
            Console.WriteLine("Inserisci il primo numero");
            int primo = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Inserisci il secondo numero");
            int secondo = Convert.ToInt32(Console.ReadLine());

            int somma = primo + secondo;
            int sottrazione = primo - secondo;
            int moltiplicazione = primo * secondo;
            float divisione = primo / secondo;
           
            int ris1 = somma + sottrazione;
            float ris2 = moltiplicazione + divisione;

            Console.WriteLine();
            Console.WriteLine("Addizione + Sottrazione = " + ris1);
            Console.WriteLine();
            Console.WriteLine("Moltiplicazione + Divisione = " + ris2);

            Console.ReadLine();
       }
    }
}


Nel secondo esercizio quali dati devono essere chiesti in input? Base ed Altezza o misura dei lati?

Il terzo esercizio è questo:

 Codice: Seleziona tutto
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Scrivi il tuo nome:");
            String name = Console.ReadLine();

            Console.WriteLine("Scrivi il tuo cognome:");
            String surname = Console.ReadLine();

            Console.WriteLine("Scrivi la tua età:");
            int eta = Convert.ToInt32(Console.ReadLine());

            Console.WriteLine("Scrivi la tua città di nascita:");
            String city = Console.ReadLine();

            Console.WriteLine("Scrivi la scuola che frequenti:");
            String school = Console.ReadLine();

            Console.WriteLine("Scrivi il lavoro che svolgi:");
            String work = Console.ReadLine();

            Console.WriteLine();

            Console.WriteLine("Il sig. " + surname + " " + name + " di anni " + eta + ", è nato a " + city + " e frequenta la scuola " + school
                + " e svolge il seguente lavoro: " + work);

            Console.ReadLine();
        }
    }
}
Avatar utente
Kuraudo Sutoraifu
Neofita
Neofita
 
Messaggi: 44
Iscritto il: 26/08/2010, 10:13
Località: Fossacesia (CH)
Grazie dati: 0 volte
Grazie ricevuti: 0 volte
Ruolo: Scripter
Tool Preferito: RpgMaker XP

Re: [002]Variabili-Pt.2

Messaggioda Takobon » 02/09/2010, 21:48

Si,il secondo esercizio richiede come dati input la misura dei lati(mi sono scordato di richiederlo ^^')

Gli esercizi sono giusti,anche se nel primo alla fine non hai usato la tabulazione,ma fa niente.


Ah la prossima volta gli esercizi postali nella sezione Esercizi di questa sezione^^
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Re: [002]Variabili-Pt.2

Messaggioda herupty » 19/09/2010, 15:18

altre lessons?
lool | +
io: ma nel chara maker non trovo l'elmo
*invio l'img*
ally: ma sono chara mack quelli del template °_°
io: lo so
io: poi riadatto qualcosina
ally: mi servono!
ally: me ne ero dimenticato °_°

io: loool tu l'hai messo e nn ti ricordi che c'è OMG
ally: evvaiiiiii
ally: posso fare i chara nel mio stileeeeeeeee

io: XD
io: (da mettere in firma)
Avatar utente
herupty
Apprendista Maker
Apprendista Maker
 
Messaggi: 640
Iscritto il: 30/12/2009, 21:16
Località: Milano
Grazie dati: 6 volte
Grazie ricevuti: 2 volte
Ruolo: Graphic
Tool Preferito: S.E.R.P.E. ;P

Re: [002]Variabili-Pt.2

Messaggioda Takobon » 19/09/2010, 15:33

herupty ha scritto:altre lessons?



Si sono in arrivo,le sto solo preparando perchè alcune le dovrò dividere in parti e riprendere più in la...

Poi è ricominciata la scuola e i professori sono impazziti asd.
http://nexuseden.tumblr.com/

ImmagineClicca qui per ingrandire

Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:

NightEngine | +
Character System
   80%

Tile System
   38%

Battle System
   0%

Script System
   0%

Particle System
   0%

Physics System
   0%
Avatar utente
Takobon
Recensori
Recensori
 
Messaggi: 407
Iscritto il: 02/11/2009, 18:17
Grazie dati: 3 volte
Grazie ricevuti: 18 volte
Ruolo: Eventer
Tool Preferito: VS+C#+Xna(Con i quali nascerà Inferdaen)

Re: [002]Variabili-Pt.2

Messaggioda herupty » 19/09/2010, 16:16

Off-Topic

Ok...
*me attende*
lool | +
io: ma nel chara maker non trovo l'elmo
*invio l'img*
ally: ma sono chara mack quelli del template °_°
io: lo so
io: poi riadatto qualcosina
ally: mi servono!
ally: me ne ero dimenticato °_°

io: loool tu l'hai messo e nn ti ricordi che c'è OMG
ally: evvaiiiiii
ally: posso fare i chara nel mio stileeeeeeeee

io: XD
io: (da mettere in firma)
Avatar utente
herupty
Apprendista Maker
Apprendista Maker
 
Messaggi: 640
Iscritto il: 30/12/2009, 21:16
Località: Milano
Grazie dati: 6 volte
Grazie ricevuti: 2 volte
Ruolo: Graphic
Tool Preferito: S.E.R.P.E. ;P

Re: [002]Variabili-Pt.2

Messaggioda herupty » 28/06/2011, 10:13

:ange perdonatemi se necroposto e faccio un doppio post :ange

come faccio a inizializzare una variabile globale, nell'rgss basta mettere $ e la variabile è utilizzabile da ovunque
a me servirebbe inizializzare una variabile, modificabile, che possa essere utilizzata, nel mio caso, da tutti i "private void"...

se io volessi una var, inizializzata col valore 0
premendo un pulsante aumenta di 1, ma premendo un altro si aggiunge dietro (tipo calcolatrice)
....
spero di essere stato chiaro ^^'

EDIT: risolto, basta creare una classe pubblica ed inserire lì dentro tutti gli eventi dei bottoni ecc...
più avanti posterò il codice =)

EDIT2: per l'operazione di radice quadrata?

EDIT3: risolto :cig
per l'operazione di radice quadrata si utilizza questo codice
 Codice: Seleziona tutto
double e = System.Math.Sqrt(n);

double per avere, in caso, un numero con la virgole
e è il nome della variabile
System.Math.Sqrt() è una funzione che permette di eseguira l'operazione suddetta
(n) il numero/variabile a cui applicare la funzione
lool | +
io: ma nel chara maker non trovo l'elmo
*invio l'img*
ally: ma sono chara mack quelli del template °_°
io: lo so
io: poi riadatto qualcosina
ally: mi servono!
ally: me ne ero dimenticato °_°

io: loool tu l'hai messo e nn ti ricordi che c'è OMG
ally: evvaiiiiii
ally: posso fare i chara nel mio stileeeeeeeee

io: XD
io: (da mettere in firma)
Avatar utente
herupty
Apprendista Maker
Apprendista Maker
 
Messaggi: 640
Iscritto il: 30/12/2009, 21:16
Località: Milano
Grazie dati: 6 volte
Grazie ricevuti: 2 volte
Ruolo: Graphic
Tool Preferito: S.E.R.P.E. ;P


Torna a Programmare in C#

SEO Search Tags

concatenare stringhe e variabili in xna      

Chi c’è in linea

Visitano il forum: Nessuno e 0 ospiti