Professional javoblari Savol. Nimaga S#da butun sonli va Qo’zg’aluvchi nuQtali Qiymatlar uchun turli tiplar mavjud?
Javob. S# dasturning samaradorligi uchun turli tipdagi berilganlarni Qo’llaydi. Masalan, butun sonli Qiymatlar ustida bajariladigan amallar, Qo’zg’aluvchi nuQtali sonlar ustida bajariladigan amallarga Qaraganda tezroQ bajariladi. Shu sababli, agar sizga sonlarning kasr Qiymatlari kerak bo’lmasa, unda ortiQcha aniQliklar bilan hisoblashlarga, ya’ni float va double tipidagi berilganlarga zaruriyat bo’lmaydi. Bundan tashQari, xotira o’lchami ba’zi bir tipdagi berilganlarni saQlash uchun boshQa bir tipdagilarga Qaraganda kamroQ bo’lishi mumkin. Berilganlarning har xil tiplarini hisobga olgan holda, S# sistemali resurslardan samarali foydalanishga imkon beradi. Ba’zi bir algoritmlarning berilganlarning maxsus tiplarini talab Qilishlarini ham inobatga olishni unutmang (hech bo’lmaganda shunda ancha samarali ishlaydi).
Loyiha 1-1. Temperatura Qiymatini almashtirish FtoC.cs
Garchi oldingi dasturning misollari S# tilining ba’zi bir zarur xossalarini namoyish Qilsada, amalda bunday dasturlar unchalik foydali emas. Bu bosQichda S# tili bo’yicha sizning bilimlaringiz kam bo’lsada, shunga Qaramasdan siz uni amalga Qo’llay olasiz. Bu loyihada biz Farengeyt shkalasi bo’yicha berilgan temperatura Qiymatini Selsiy shkalasiga almashtirib beradigan dastur tuzamiz. Dasturda double tipidagi ikkita o’zgaruvchi e’lon Qilinadi. Ulardan birida Farengeyt shkalasi bo’yicha berilgan temperatura Qiymati, ikkinchisida esa almashtirishdan hosil bo’lgan Selsiy shkalasidagi temperatura Qiymati saQlanadi. Mumkin siz bilasiz, bunday almashtirishni bajarish uchun Quyidagi formula zarur:
S q 5G’9 * (F - 32)
bu yerda S — Selsiy shkalasidagi temperatura Qiymati (gradusda), F — Farengeyt shkalasi bo’yicha berilgan temperatura Qiymati (gradusda).
Qadamba-Qadam instruksiya FtoC.cs nomli yangi S#-fayl tuzing. (Agar dastur kompilyatsiyasi buyruQ satridan amalga oshirilmasdan, Visual CQQ IDE yordamida bajarilsa, u holda bu faylni oldin tasvirlanganidek S# loyihaga Qo’shib Qo’yish kerak.
Quyidagi dasturni faylga kiriting:
G’* Loyiha 1-1
Bu dastur Farengeyt shkalasi bo’yicha berilgan temperatura Qiymatini Selsiy shkalasiga almashtirib beradi.
FtoC.cs nomli faylni ayting *G’
using System;
class FtoC {
public static void MainO {
double f; G’G’ Farengeyt shkalasi bo’yicha berilgan temperatura Qiymatini saQlaydi double s; G’G’ Selsiy shkalasi bo’yicha berilgan temperatura Qiymatini saQlaydi
f q- 59.0; G’G’ f o’zgaruvchi -59 Qiymatini oladi
G’G’ (Farengeyt bo’yicha gradusda).
G’G’ So’ngra mavjud Qiymatlarni
G’G’ Selsiy shkalasiga almashtirish bajariladi
s q 5.0 G’ 9.0 * (f - 32.0);
Console.Write(f Q " gradus Farengeyt shkalasi bo’yicha teng ");
Console.WriteLine(s Q " gradus Selsiy shkalasi bo’yicha");
3. Visual CQQ IDE dan foydalanib (oldingi ko’rsatmalar asosida) dasturni kompilyatsiya Qiling, yoki buyruQlar satriga Quyidagi buyruQni kiriting:
C>csc FtoC.cs
4. Visual CQQ IDE dagi dasturni ishga tushiring, yoki buning uchun buyruQlar satridan, taklif etilgandan so’ng, bosh sinf nomini (mam usuli bo’lgan) kiriting:
OFtoC
Dasturning bajarilishi natijasida Quyidagi satr chiQadi:
Farengeyt shkalasi bo’yicha 59 gradus Selsiy shkalasidagi 15 gradusga.
5. Dastur Farengeyt shkalasidagi temperaturaning bitta Qiymatini (gradusdagi) Selsiy shkalasidagi temperatura Qiymatiga almashtiradi. f o’zgaruvchidagi sonni o’zgartirish bilan siz ixtiyoriy temperatura Qiymatini almashtirishingiz mumkin.
Bir daQiQalik amaliyot I. S# da Qaysi kalit so’z butunsonli berilganlar tipi uchun ishlatiladi ?
. Chto oboznachaet termin double jumlasi nimani ifodalaydi?
3. S# dasturida using System; operatorini ishlatish majburiymi?