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©;
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©;
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.
Toggle Chat
RM - Chat
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
[002]Variabili-Pt.2
Iniziato da
Takobon
, Aug 20 2010 11:14 PM
8 risposte a questa discussione
#1 OFFLINE
Inviato 20 August 2010 - 11:14 PM
http://nexuseden.tumblr.com/
Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Spoiler
#2 OFFLINE
Inviato 21 August 2010 - 01:24 AM
Lezioncina lunga ma sicuramente interessante =)
Leggo con calma e provo a fare gli esercizi.
Leggo con calma e provo a fare gli esercizi.
Spoiler
#3 OFFLINE
Inviato 21 August 2010 - 01:27 AM
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
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/
Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Spoiler
#4 OFFLINE
Inviato 27 August 2010 - 09:58 AM
Non sono sicuro che il comportamento del 1° esercizio sia uguale a quello richiesto, ma ho fatto così:
Nel secondo esercizio quali dati devono essere chiesti in input? Base ed Altezza o misura dei lati?
Il terzo esercizio è questo:
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:
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();
}
}
}
#5 OFFLINE
Inviato 02 September 2010 - 09:48 PM
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^^
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/
Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Spoiler
#6 OFFLINE
Inviato 19 September 2010 - 03:18 PM
altre lessons?
lool
Spoiler
#7 OFFLINE
Inviato 19 September 2010 - 03:33 PM
herupty, dice:
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/
Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Sono così annoiato da offrirmi come eventer per qualsiasi progetto (:NightEngine
Spoiler
#9 OFFLINE
Inviato 28 June 2011 - 10:13 AM
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
per l'operazione di radice quadrata si utilizza questo codice
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
Spoiler
1 utente(i) stanno leggendo questa discussione
0 utenti, 1 ospiti, 0 utenti anonimi












