delegate tip nom(parametrlar);
bu yerda tip delegat bilan bog’langan metod qaytaruvchi ma’lumotlar tipidan iborat bo’lib, shunga mos qiymatlarni qabul qiladi. Bundan tashqari nom delegat nomi bo’lsa, parametrlar delegat bilan bog’langan metod argumentlariga mos paremetrlardir. Quyidagi misolda delegatlardan foydalanib arifmetik amallarni hisoblash dasturi tuzilgan:
using System; namespace Delegate1
{
public delegate double ArithDel(double a, double b);
class Program
{
public static void Main(string[]args)
{
Console.Write("m=");
double m=double.Parse(Console.ReadLine()); Console.Write("n=");
double n=double.Parse(Console.ReadLine()); ArithDel aD = Add;
double b=aD(m,n);
Console.WriteLine("result is: n+m= "+b); aD = Divisor;
b=aD(m,n);
Console.WriteLine("result is: n-m= "+b); aD = Multiple;
b=aD(m,n);
Console.WriteLine("result is: n*m= "+b);
aD = Division;
b=aD(m,n);
Console.WriteLine("result is: n/m= "+b);
Console.ReadKey(true);
}
public static double Add(double x, double y) {return x+y;} public static double Divisor(double x, double y) {return x-y;} public static double Multiple(double x, double y) {return x*y;} public static double Division(double x, double y) {return x/y;}
}
}
Anonim funksiya. Delegatga bog’langan metod ko'pincha faqat shu maqsadda(ya’ni bog’lanish maqsadida) ishlatiladi. Boshqacha qilib aytganda, mavjud metodni chaqirmay unga delegat orqali murojaat qilish mumkin. Bunday hollarda, siz alohida metodni yaratmay anonim funksiyadan ham foydalanishingiz mumkin. Anonim funksiya asosan delegat konstruktoriga berilgan nomsiz(anonim) kod blokini anglatadi. Anonim funksiyaning afzalligi bu uning soddaligidir. Uning yordamida alohida metodni e'lon qilishga hojat qolmaydi. Bunda uning yagona maqsadi ma’lumotni delegatga yetkazishdir. C# dasturlash tilida anonim funksiyalarning ikki turini mavjud: anonim metod va lambda ifoda. Anonim metodlar C# dasturlash tilining 2.0 versiyasidan boshlab, lyamda ifodalar esa 3.0 versiyasidan boshlab ishlatila boshlandi. C# dasturlash tilida anonim metodlar keng qo'llaniladi. Shuning uchun anonim metodlar C# ning muhim qismidir. Unutmaslik kerakki, anonim metodlarni aniq tushunish lambda ifodalarning xususiyatlarini yaxshiroq o’rganishga imkon beradi. Bundan tashqari, lambda ifodalarni qo'llash mumkin bo'lmagan bir qator holatlarda anonim metodlardan foydalanish mumkin. Shuning uchun ushbu bobda anonim metodlar va lambda ifodalar birgalikda muhokama qilinadi.
Anonim metod. Anonim metod - bu ma'lum bir delegat nusxasi bilan bog'langan nomsiz(anonim) kod blokini yaratishning bir usuli. Anonim metodni yaratish uchun delegate kalit so'zidan keyin kodlar blokini ko'rsatish kifoya.
Buni qanday bajarilishini aniq misollarda ko’rib chiqaylik.
Dastlabki n ta natural sonning yig’indisini hisoblang.
using System;
namespace Anonim_metod1
{
delegate void Summa();
class Program
{
public static void Main(string[] args)
{
Console.Write("Biror natural son kiriting: n=");
uint n=uint.Parse(Console.ReadLine()); // Anonim metod:
Summa s=delegate{
uint P=0;
for (uint i=1;i<=n;i++) P+=i;
Console.WriteLine("Summa="+P);
};
s(); // Anonim metodga murojaat.
Console.Write("Dastur tamom. Ixtiyoriy tugmani bosing!");
Console.ReadKey(true);
}
}
}
Maple amaliy paketi bilash ishlash
A=[1 2 3;4 5 6;7 8 9]
A =
1 2 3
4 5 6
7 8 9
>> b=A(1,2:3)
Birinchi matritsalarni e’lon qilamiz.
A=[13 12 7 9 20;-2 10 14 6 19;-5 8 -3 30 4;0 -5 17 12 -7;9 18 11 12 5]
A =
13 12 7 9 20
-2 10 14 6 19
-5 8 -3 30 4
0 -5 17 12 -7
9 18 11 12 5
Ikkinchi matritsani e’lon qilamiz.
>> B=[30 0 -4 -3 15;-9 12 -7 4 15;12 10 -6 -9 6;5 12 -9 15 -7;-8 -7 10 8 20]
B =
30 0 -4 -3 15
-9 12 -7 4 15
12 10 -6 -9 6
5 12 -9 15 -7
-8 -7 10 8 20
Hosil qilgan matritsalarni qo’shib chiqamiz.
>> A+B
ans =
43 12 3 6 35
-11 22 7 10 34
7 18 -9 21 10
5 7 8 27 -14
1 11 21 20 25
Hosil qilgan matritsalarni ayrib chiqamiz.
>> A-B
ans =
-17 12 11 12 5
7 -2 21 2 4
-17 -2 3 39 -2
-5 -17 26 -3 0
17 25 1 4 -15
Ko’paytiramiz.
>> A*B
ans =
251 182 -59 241 754
-104 199 -10 162 542
-140 398 -248 556 -103
365 303 -245 -49 -197
260 435 -286 166 487
Xulosa
Biz bu o'quv amaliyoti orqali MS DOS operatsion tizimi haqida ozmi-ko‘pmi ma’lumot oldik.Operatsion tizimlar 2 xil interfeysda bo‘ladi, ya’ni bular grafik va matnlidir. MS DOS operatsion tizimi matnli interfeys hisoblanadi chunki biz amallarni kodlar orqali amalgam oshiramiz, grafik interfeysli operatsion tizimga misol qilib windows ni olishimiz mumkin unda ishlash biroz oson. MS DOS oddiy foydalanuvchilar uchun biroz murakkabroq hisoblanadi.MS DOS operatsion tizimida ham ko‘pgina ishlar qilish mumkin, masalan fayllar ustida amallar, faylni bosmaga chiqarish, kataloglar bilan ishlash, diskni formatlash, arxivlash kabilarni amalgam oshirish mumkin.Lekin hozirgi kunda MS DOS dan deyarli foydalanilmaydi. Chunki boya aytganimizdek unda ishlash qiyinroq lekin hozirda uning o‘rnini bosadigan operatsiontizimlar juda ham ko‘plab topiladi. Lekin ba’zi operatsion tizimlarning asos qismida MS DOS operatsion tizimi yotadi. Axborot texnologiyalari kundan kunga rivojlanib bormoqda. Xususan ko’plab korxona va tashkilotlarni avtomatlashrirish, ularning ishini yanada yengillashtirish uchun bir talay dasturlar foydalanuvchilarga taqdim etilmoqda.C# dasturlash tili foydalanuvchilarga qulay bo’lgan dasturlarni ishlab chiqarish uchun mo’ljallangan, zamonaviy visual loyihalash texnologiyasi asosida obyektga yo’naltirilgan dasturlash tili hisoblanadi. Hozirgi kunda C# dasturlash tili yuqori bosqichli dasturlash tillari ichida eng samaralisi hisoblanadi. Bu til C va C++ dasturlash tillarining mantiqiy davomi bo’lib, Java dasturlash tilining ham bir qancha imkoniyatlarini o’zida mujassamlashtiradi. Bugungi kunga kelib juda ko’p rivojlangan davlatlarda ishlab chiqarilayotgan dasturlar asosini C# dasturlash tili tashkil etadi.
FOYDALANILGAN ADABIYOTLAR.
Sh. I. Razzoqov, Sh. S. Yo‘ldoshev, U. M. Ibragimov «Kompyuter
grafikasi».Toshkent.«Noshir».2013
A.Tays «Adobe Illustrator-9». Uchebniy kurs. Sankt-Peterburg. 2002 god.
G.Pankratova «Photoshop 6». Uchebniy kurs. Sankt-Peterburg. 2002 god.
Герберт Шилдт.Полное руководство С# 4.0 Москва,Санкт-Петербург Киев. 2011 г.
JosephAlbahari, BenAlbahari. C# 6.0 Справочник полное описание языка.Москва,Санкт-Петербург Киев. 2016 г.
Трей Неш. C# 2008 усконренный курс для профессионалов: -Москва: Санкт-Петербург, Киев, 2008г.
Павел Агуров. C# Сборник рецептов: -Москва: Санкт-Петербург, 2008г.
https://metanit.com/sharp/tutorial/
http://eduportai.uz/Umumivfiies/darslikiar/7/informatika 7 uzb.pdf
Do'stlaringiz bilan baham: |