متغیرها. فرمت های خروجی


متغیرها
متغیر سلولی در حافظه کامپیوتر است که نام دارد و مقداری مربوط به آن را ذخیره می کند. نوع .

کلمه "متغیر" به ما می گوید که مقدار آن می تواند در طول اجرای برنامه تغییر کند.  وقتی یک مقدار متغیر جدید ذخیره می شود، مقدار قبلی پاک می شود.


برای یک کامپیوتر، تمام اطلاعات داده های موجود در حافظه آن هستند - مجموعه ای از صفر و یک (به بیان ساده، هر اطلاعاتی در یک کامپیوتر فقط اعداد است و آنها را به همان روش پردازش می کند). با این حال، می دانیم که اعداد صحیح و کسری متفاوت عمل می کنند. بنابراین، هر زبان برنامه نویسی دارای انواع مختلفی از داده ها است که با روش های مختلفی پردازش می شوند.

به عنوان مثال،
- متغیرهای عدد صحیح – تایپ کنید int  (از عدد صحیح انگلیسی – whole)، 4 بایت در حافظه اشغال کنید؛
- متغیرهای واقعی که می‌توانند بخش کسری داشته باشند (نوع float – از انگلیسی نقطه شناور – ممیز شناور) 4 بایت در حافظه اشغال می‌کنند؛
- کاراکترها (نوع char – از کاراکتر انگلیسی – نماد)، 1 بایت در حافظه اشغال می کند.

بیایید سعی کنیم یک متغیر به برنامه خود اضافه کنیم.
قبل از استفاده از یک متغیر، باید به رایانه بگویید که فضایی در حافظه برای آن اختصاص دهد. برای انجام این کار، باید یک متغیر را تعریف کنید، یعنی مشخص کنید چه نوع مقداری را ذخیره می کند و نامی برای آن بگذارید.
همچنین در صورت لزوم می توانید مقادیر اولیه را به آن اختصاص دهید. 

بیایید یک برنامه را به عنوان مثال در نظر بگیریم: <پیش> با استفاده از سیستم؛ برنامه کلاس {     استاتیک void Main()     {         int a = 6, b; // دو متغیر از نوع عدد صحیح را اعلام کرد، در متغیر a بلافاصله مقدار 6 ذخیره شد.   // متغیر b مقداردهی اولیه نشد. // در این مورد چه چیزی در حافظه خواهد بود، ما نمی دانیم.     } } اگر کامپیوتر توانایی ذخیره اطلاعات مختلف در حافظه خود را نداشته باشد و قادر به پردازش اطلاعات از همان نوع با استفاده از الگوریتم های یکسان نباشد، نیازی به کامپیوتر نیست. 
برای ایجاد برنامه های جالب تر، باید یاد بگیرید که چگونه اطلاعات را در حافظه کامپیوتر ذخیره کنید. در عین حال، ما باید یاد بگیریم که چگونه به سلول های حافظه رایانه دسترسی داشته باشیم. 
در برنامه نویسی، مانند زندگی، برای اشاره به هر بخشی از حافظه کامپیوتر، آن را با نام رخ می دهد. با استفاده از این نام، هم می توانید اطلاعات را بخوانید و هم در آنجا بنویسید.

مثال
بیایید سعی کنیم یک ماشین حساب برای اعداد اول بنویسیم.

وظیفه ما این است که مقداری عبارت حسابی را روی صفحه نمایش دهیم و کامپیوتر را وادار کنیم آن را محاسبه کند.
به عنوان مثال: 
5+7=12
علاوه بر این، به جای 5 و 7، بسته به مقادیر متغیرهای a و b در برنامه، اعداد مختلفی می تواند وجود داشته باشد.

در دستور خروجی، می توانید نه تنها متن، بلکه مقادیر متغیرها و همچنین نتیجه یک عبارت حسابی را نمایش دهید. علاوه بر این، توالی خروجی ممکن است متفاوت باشد. برای مثال برای نمایش عبارت بالا باید آن را به صورت زیر بنویسید: <پیش> Console.WriteLine(a + "+" + b + "=" + (a+b)); اگر بخواهیم مقدار یک متغیر را نمایش دهیم، فقط باید نام آن را بدون نقل قول مشخص کنیم. اگر بخواهیم نتیجه یک عبارت حسابی را نمایش دهیم، کافی است که عبارت حسابی را درست بنویسیم. لطفاً توجه داشته باشید: 
متغیرها و متن توسط عملگر "+" از یکدیگر جدا می شوند، در حالی که متن در گیومه و متغیرها بدون آنها نوشته می شود.
 

بیانیه را وارد کنید
برای اینکه کاربر بتواند خودش مقدار متغیر را تنظیم کند، لازم است که بتواند مقادیر را از صفحه کلید وارد کند. 
C# دارای دو عملگر ورودی مقدار است: Console.Read(); و Console.ReadLine();
 
Read فقط یک نویسه را از مقادیر وارد شده می خواند، یا اگر کاراکتر دیگری برای خواندن باقی نمانده باشد -1. علاوه بر این، این روش یک کد کاراکتر عدد صحیح را برمی گرداند، بنابراین برای به دست آوردن یک متغیر کاراکتر، باید با استفاده از Convert.ToChar() یک تبدیل انجام دهید.
  <پیش> int x = Console.Read(); // کد کاراکتر را بخوانید char a = Convert.ToChar(x); // تبدیل کد دریافتی به مقدار یک متغیر کاراکتری  
با ReadLine() ، می توانید یک دنباله رشته را قبل از وارد کردن یک خط جدید بخوانید. در نتیجه، اگر رشته دیگری وجود نداشته باشد، روش ممکن است یک رشته یا null را برگرداند.

به عنوان مثال، ورودی این خط را می خواند: <پیش> stringline = Console.ReadLine();
برای خواندن یک مقدار صحیح، باید رشته را بخوانید و آن را به عدد تبدیل کنید:
  <پیش> int a = int.Parse(Console.ReadLine());  
اگر اعداد در یک خط قرار می گیرند، باید خط را بشمارید، & nbsp; و با استفاده از کاراکتر space به عنوان جداکننده، آرایه ای از رشته ها را از آن دریافت کنید. و سپس هر عنصر آرایه به یک عدد تبدیل می شود: <پیش> اعداد رشته[] = Console.ReadLine().Split(' '); int a = int تجزیه (اعداد[0]); int b = int.Parse(numbers[1]);

مشخص کننده های خروجی
برای خروجی مقادیر واقعی، فقط روش Console.Write یا Console.WriteLine:
را فراخوانی کنید.   دو برابر = 0.9999; Console.Write(a);  
اما گاهی اوقات لازم است خروجی مقادیر را از قبل قالب بندی کنید، انجام این کار با استفاده از روش String.Format راحت است، جزئیات بیشتر اینجا.
خروجی با دقت خاصی
برای قالب بندی اعداد کسری از مشخص کننده f استفاده می شود که عدد پس از آن نشان می دهد که چند کاراکتر بعد از جداکننده خواهد بود. دو برابر = 12.123; Console.WriteLine(String.Format("{0:f2}"، a)); نتیجه 12،12 خواهد بود، اما اگر از مقدار 0.9999 استفاده کنید، گرد کردن کنترل نشده رخ خواهد داد و   1.00.

بنابراین، الگوریتم زیر برای دور انداختن علائم به جای گرد کردن استفاده می‌شود:
1) مقدار اصلی را در 10 ضرب کنید، به تعداد دفعاتی که باید اعشار را ترک کنید؛
2) با استفاده از روش   Math.Truncate، فقط قسمت عدد صحیح را باقی می گذاریم؛
3) مقدار به دست آمده را بر 10 تقسیم کنید،  به تعداد دفعاتی که باید اعشار را ترک کنید.

مثال برای خروجی با دقت دو اعشاری: 
دو برابر = 0.9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2);
 
نوع جداکننده هنگام خروجی (نقطه یا کاما) به تنظیمات منطقه ای رایانه بستگی دارد، بنابراین برای اینکه همیشه از نقطه به عنوان جداکننده استفاده کنید، باید تنظیمات منطقه ای را به invariant، مثال حاصل:
 
CultureInfo ci = new CultureInfo(""); دو برابر = 0.9999; a = a * Math.Pow(10, 2); a = Math.Truncate(a); a = a / Math.Pow(10, 2); Console.WriteLine(a.ToString(ci));