Pembolehubah
Pembolehubah ialah sel dalam memori komputer yang mempunyai nama dan menyimpan beberapa nilai yang sepadan dengan jenis .
Perkataan "pembolehubah" memberitahu kita bahawa nilainya boleh berubah semasa pelaksanaan program. Apabila nilai pembolehubah baharu disimpan, nilai lama dipadamkan.
Untuk komputer, semua maklumat adalah data dalam ingatannya - set sifar dan satu (secara ringkasnya, sebarang maklumat dalam komputer hanyalah nombor, dan ia memprosesnya dengan cara yang sama). Walau bagaimanapun, kita tahu bahawa integer dan nombor pecahan berfungsi secara berbeza. Oleh itu, setiap bahasa pengaturcaraan mempunyai jenis data yang berbeza, yang diproses menggunakan kaedah yang berbeza.
Contohnya,
- integer pembolehubah – taip int (daripada integer Inggeris – keseluruhan), menduduki 4 bait dalam ingatan;
- pembolehubah sebenar yang boleh mempunyai bahagian pecahan (taip float – daripada titik terapung Inggeris – titik terapung) menduduki 4 bait dalam ingatan;
- aksara (taip char – daripada simbol – aksara Inggeris), menduduki 1 bait dalam ingatan.
Mari cuba tambah beberapa pembolehubah pada program kami.
Sebelum menggunakan pembolehubah, anda perlu memberitahu komputer untuk memperuntukkan ruang dalam memori untuknya. Untuk melakukan ini, anda perlu mengisytiharkan pembolehubah, iaitu, nyatakan jenis nilai yang akan disimpan dan beri nama.
Selain itu, jika perlu, anda boleh menetapkan nilai awal kepadanya.
Mari kita ambil program sebagai contoh:
menggunakan Sistem;
kelas Program {
lompang statik Utama()
{
int a = 6, b; // mengisytiharkan dua pembolehubah jenis integer, dalam pembolehubah a segera menyimpan nilai 6.
// Pembolehubah b tidak dimulakan;
// apa yang akan ada dalam ingatan dalam kes ini, kita tidak tahu.
}
}
Komputer tidak akan diperlukan jika ia tidak mempunyai keupayaan untuk menyimpan pelbagai maklumat dalam ingatannya dan boleh memproses maklumat daripada jenis yang sama menggunakan algoritma yang sama.
Untuk mencipta program yang lebih menarik, seseorang mesti belajar cara menyimpan maklumat dalam ingatan komputer. Pada masa yang sama, kita perlu belajar bagaimana untuk mengakses sel memori komputer.
Dalam pengaturcaraan, seperti dalam kehidupan, untuk merujuk kepada mana-mana bahagian memori komputer, ia berlaku mengikut nama. Menggunakan nama ini, anda boleh membaca maklumat dan menulisnya di sana.
|
Contoh
Mari cuba menulis kalkulator untuk nombor perdana.
Tugas kami ialah memaparkan beberapa ungkapan aritmetik pada skrin dan membuat komputer mengiranya.
Contohnya:
5+7=12
Selain itu, bukannya 5 dan 7, mungkin terdapat nombor yang berbeza, bergantung pada nilai pembolehubah a dan b dalam program.
Dalam pernyataan output, anda boleh memaparkan bukan sahaja teks, tetapi juga nilai pembolehubah, serta hasil ungkapan aritmetik. Selain itu, urutan keluaran mungkin berbeza. Sebagai contoh, untuk memaparkan ungkapan di atas, anda perlu menulisnya seperti ini:
Console.WriteLine(a + "+" + b + "=" + (a+b));
Jika kita ingin memaparkan nilai pembolehubah, maka kita hanya perlu menentukan namanya tanpa petikan. Jika kita ingin memaparkan hasil ungkapan aritmetik, maka cukup sekadar menulis ungkapan aritmetik dengan betul. Sila ambil perhatian:
Pembolehubah dan teks dipisahkan antara satu sama lain oleh pengendali "+ ", manakala teks ditulis dalam petikan dan pembolehubah tanpanya.
|
Masukkan pernyataan
Agar pengguna dapat menetapkan nilai pembolehubah itu sendiri, adalah perlu untuk dapat memasukkan nilai dari papan kekunci.
C# mempunyai dua pengendali input nilai: Console.Read(); and Console.ReadLine();
Baca membaca hanya satu aksara daripada nilai yang dimasukkan, atau -1 jika tiada lagi aksara yang tinggal untuk dibaca. Selain itu, kaedah ini mengembalikan kod aksara integer, jadi untuk mendapatkan pembolehubah aksara, anda perlu melakukan penukaran menggunakan Convert.ToChar() .
int x = Console.Read(); // baca kod aksara
char a = Convert.ToChar(x); // menukarkan kod yang diterima kepada nilai pembolehubah aksara
Dengan ReadLine() , anda boleh membaca urutan rentetan sebelum memasuki baris baharu. Akibatnya, kaedah mungkin mengembalikan rentetan atau null jika tiada lagi rentetan.
Sebagai contoh, entri membaca baris:
stringline = Console.ReadLine();
Untuk membaca nilai integer, anda perlu membaca rentetan dan menukarnya kepada nombor:
int a = int.Parse(Console.ReadLine());
Jika nombor pergi dalam satu baris, maka anda perlu mengira baris, & nbsp; dan dapatkan tatasusunan rentetan daripadanya menggunakan aksara ruang sebagai pemisah. Dan kemudian setiap elemen tatasusunan ditukar kepada nombor:
rentetan[] nombor = Console.ReadLine().Split(' ');
int a = int Parse(nombor[0]);
int b = int.Parse(nombor[1]);
|
Penentukan Output
Untuk mengeluarkan nilai sebenar, hanya panggil kaedah Console.Write atau Console.WriteLine :
dua kali ganda a = 0.9999;
Console.Write(a);
Tetapi kadangkala anda perlu memformatkan output nilai, adalah mudah untuk melakukan ini menggunakan kaedah String.Format , butiran lanjut di sini.
Output dengan ketepatan tertentu
Untuk memformat nombor pecahan, penentu f digunakan, nombor selepas itu menunjukkan bilangan aksara selepas pemisah.
ganda a = 12.123;
Console.WriteLine(String.Format("{0:f2}", a));
Hasilnya ialah 12,12, tetapi jika anda menggunakan nilai 0.9999, pembundaran tidak terkawal akan berlaku dan 1.00.
Oleh itu, algoritma berikut digunakan untuk membuang tanda dan bukannya membulatkan:
1) darabkan nilai asal dengan 10, seberapa banyak kali anda perlu meninggalkan tempat perpuluhan;
2) menggunakan kaedah Math.Truncate , kami hanya meninggalkan bahagian integer;
3) bahagikan nilai yang terhasil dengan 10, berapa kali yang anda perlukan untuk meninggalkan tempat perpuluhan.
Contoh untuk output dengan dua ketepatan perpuluhan:
dua kali ganda a = 0.9999;
a = a * Math.Pow(10, 2);
a = Math.Truncate(a);
a = a / Math.Pow(10, 2);
Jenis pemisah apabila mengeluarkan hasil (titik atau koma) bergantung pada tetapan serantau komputer, jadi untuk sentiasa menggunakan noktah sebagai pemisah, anda perlu menukar tetapan serantau kepada invarian, contoh yang terhasil:
CultureInfo ci = new CultureInfo("");
dua kali ganda a = 0.9999;
a = a * Math.Pow(10, 2);
a = Math.Truncate(a);
a = a / Math.Pow(10, 2);
Console.WriteLine(a.ToString(ci));
|