280 likes | 438 Views
زبان شی گرای c#. بخش اول: 1- ساختارهای کنترلی (تصمیم گیری و تکرار) 2- آرایه ها (یک بعدی و چند بعدی و آرایه های دندانه ای) 3- لیست های پیوندی فراهانی. نکته:. این زبان یک زبان تکامل یافته مبنی بر C++ است. بنابراین بسیاری از دستورات مشابه به دستورات C++ است.
E N D
زبان شی گرای c# بخش اول: 1- ساختارهای کنترلی (تصمیم گیری و تکرار) 2- آرایه ها (یک بعدی و چند بعدی و آرایه های دندانه ای) 3- لیست های پیوندی فراهانی زبان شی گرای C#
نکته: • این زبان یک زبان تکامل یافته مبنی بر C++ است. بنابراین بسیاری از دستورات مشابه به دستورات C++ است. • در ادامه به بررسی ساختارهای اولیه می پردازیم. زبان شی گرای C#
ساختارهای کنترلی if (شرط) { مجموعه دستورات1; } else { مجموعه دستور2; } ساختار تصمیم گیری If زبان شی گرای C#
ساختارهای کنترلی • ساختار if های تو در تو: if (شرط1) { دستور1; } else if(شرط2) { دستور2; } else if (شرط3) { دستور3; } else { دستور4; } زبان شی گرای C#
مثال: برنامه ای که دو عدد را ازورودی گرفته تعداد اعداد زوج بین آنها را در خروجی نمایش دهد. private void button5_Click(object sender, EventArgs e) { int x = Convert.ToInt32(textBox2.Text); int y = Convert.ToInt32(textBox3.Text); int count = 0,temp; if (x > y) { temp = x; x = y; y = temp; } for (inti = x; i <= y; i++) { if (i % 2 == 0) count++; } label2.Text += count.ToString(); } زبان شی گرای C#
ساختار تصمیم switch: switch (عبارت) { case مقدار1 } دستورات1; break; { case مقدار2 } دستورات1; break; { case مقدار3 } دستورات1; break; { default: دستورات; break; } نکته: این ساختار تنها برای بررسی حالت تساوی می باشد. زبان شی گرای C#
مثال: برنامه ای بنویسید که عددی در بازه 1 تا 7 از ورودی دریافت نموده و معادل روز هفته آن را در خروجی چاپ کند. private void button8_Click(object sender, EventArgs e) { int n = Convert.ToInt32(textBox3.Text); switch (n) { case 1: MessageBox.Show("شنبه"); break; case 2: MessageBox.Show("یک شنیه"); break; case 3: MessageBox.Show("دوشنبه"); break; case 4: MessageBox.Show("سه شنبه "); break; case 5: MessageBox.Show("چهار شنبه"); break; case 6: MessageBox.Show("پنج شنبه "); break; case 7: MessageBox.Show("جمعه"); break; } } زبان شی گرای C#
ساختار تکرار for: • فرمت کلی: )طول گام;مقدار نهایی ;مقدار اولیهFor( } مجموعه دستورات; } مثال: For(inti=0;i<=10;i++) count ++; زبان شی گرای C#
مثال: برنامه ای بنویسید که عددی را ازورودی دریافت نموده فاکتوریل آن را حساب کند. private void button7_Click(object sender, EventArgs e) { int x = Convert.ToInt32(textBox3.Text); intmul = 1; for (inti = 1; i <= x; i++) { mul *= i; } MessageBox.Show(mul.ToString()); } زبان شی گرای C#
دستور تکرار while: • قالب کلی: While(شرط) { مجموعه دستورات; } نکته: تا زمانیکه شرط برقرار باشد مجموعه دستورات اجرا خواهند شد. زبان شی گرای C#
دستور تکرار do-while: • قالب کلی: Do { }while(شرط); • نکته1: تازمانیکه شرط برقرار باشد دستور اجرا خواهد شد با این توضیح که دستورات حداقل یک بار اجرا خواهند شد. • نکته2: دستورات break و continue همانند زبان c++ عمل می کنند. زبان شی گرای C#
آرایه : • تعریف: ساختاری برای نگهداری داده های همگن. • نکته1: دسترسی به خانه های آرایه با استفاده از اندیس آنها می باشند. • نکته 2: اندیس ها از صفر شروع می شوند. زبان شی گرای C#
آرایه (ادامه ...) • قالب کلی تعریف آرایه: نوع [ ] نام آرایه = new نوع آرایه[ اندازه آرایه]; مثال: Int [ ] X = new int[10]; نکته: می توان طول آرایه را در برنامه تعیین نمود. زبان شی گرای C#
مقدار دهی اولیه به آرایه: • Int [ ] X = new int[5] }1,2,3,4,5}; • مقادیر نسبت داده شده باید دقیقا مساوی تعداد عناصر آرایه باشد. زبان شی گرای C#
چند نکته در مورد آرایه: • نحوه دستیابی به عناصر آرایه: نام آرایه[اندیس آرایه] • طول آرایه: .lenght;نام آرایه • حد بالای اندیس های آرایه: .getupperbound(0);نام آرایه زبان شی گرای C#
چند نکته در مورد آرایه(ادامه...) • مرتب سازی آرایه: Array.sort(نام آرایه); • معکوس نمودن آرایه: Array.Reverse(نام آرایه); • نکته: معکوس نمودن آرایه به طور نزولی: Array.sort(نام آرایه); Array.Reverse(نام آرایه); زبان شی گرای C#
پیمایش عناصر با foreach: • جهت پیمایش ساختار ها می توان از دستور foreach استفاده نمود. قالب کلی: Foreach(نوع ساختارمتغیر in نام ساختار) { مجموعه دستورات; } زبان شی گرای C#
آرایه چند بعدی: • قالب کلی: نوع آرایه[,..,] نام آرایه= new نوع آرایه[ طول بعد اول,…,xطول بعد nام]; مثال: Int [,] m = new int[3,5]; نکته: دسترسی به عناصر آرایه به شکل زیر می باشد: نام آرایه[اندیس بعد اول, اندیس بعد دوم,…]; زبان شی گرای C#
ایجاد آرایه ای از آرایه ها: • قالب کلی : int[][] array = new int[4][]; array[0] = new int[4]; array[1] = new int[3]; array[2] = new int[2]; array[3] = new int[1]; شکل آرایه های دندانه ای زبان شی گرای C#
نحوه ایجاد اعداد تصادفی: • Random نام متغیر = new Random(); • متد next جهت ایجاد عدد تصادفی بعدی استفاده می شود. • نام متغیرتصادفی . Next (حداکثر عددی که باید ایجاد شود); زبان شی گرای C#
مثال:برنامه ای که آرایه ای را با اندازه دلخواه و با اعداد تصادفی مقداردهی نموده مجموع مقادیر آن را نشان دهد. private void button4_Click(object sender, EventArgs e) { int[] array = new int[10]; int sum = 0; Random obj = new Random(); for (inti = 0; i < array.Length; i++) { array[i] = obj.Next(10); } for (inti = 0; i < array.Length; i++) { sum += array[i]; } label1.Text += sum.ToString(); } زبان شی گرای C#
مثال: برنامه ای بنویسید که خروجی از اعداد تصادفی را به شکل زیر تولید کند. 47 12 78 57 77 19 70 70 4130 زبان شی گرای C#
Random objrand = new Random(); int[][] array = new int[4][]; array[0] = new int[4]; array[1] = new int[3]; array[2] = new int[2]; array[3] = new int[1]; array[0][0] = objrand.Next(100); array[0][1] = objrand.Next(100); array[0][2] = objrand.Next(100); array[0][3] = objrand.Next(100); array[1][0] = objrand.Next(100); array[1][1] = objrand.Next(100); array[1][2] = objrand.Next(100); array[2][0] = objrand.Next(100); array[2][1] = objrand.Next(100); array[3][0] = objrand.Next(100); foreach (int[] s in array) { foreach (int g in s) { label1.Text += g.ToString() + " "; } label1.Text += "\r"; } زبان شی گرای C#
لیست های پیوندی: • جهت ایجاد آرایه های پویا استفاده می شود. به طوری که می توان به راحتی عنصری را حذف و یا اضافه نمود. • نکته:برای تعریف می بایست فضای نام system.collections را فراخوانی نمود. قالب کلی: Arraylist name = new arraylist(); زبان شی گرای C#
متدهای کلاس arraylist: • متد Add : یک شی را به انتهای لیست اضافه می نماید. • Arraylistname.add(object value); • متد clear : تمام اشیا arraylistرا حذف می نماید. • Arraylistname.Clear(); • متد contains: تعیین می نماید آیا مقداری درون لیست موجود است (یک متد منطقی است). • Arraylistname.contains(object item); زبان شی گرای C#
متدهای کلاس arraylist( ادامه...) • متد getrange() : زیر مجموعه ای از عناصر لیست را بر می گرداند. • Arraylistname.getrange(intindex,int count); • متد indexof : اندیس اولین وقوع یک مقدار را در لیست بر می گرداند.) • Arraylistname.indexof(object value,intstart,int count); • متد lastindexof : اندیس آخرین وقوع یک شی را بر می گرداند. • متد Insert: عنصری را داخل لیست اضافه می نماید. • Arraylistname.insert(int index, object value); زبان شی گرای C#
متدهای کلاس arraylist( ادامه...) • متد Remove : حذف شی از لیست پیوندی(اولین شی را که پیدا کند حذف می نماید.) • Arraylistname.Remove(object value); • متد Removeat : شی را در اندیس خاصی خذف می نماید. • Arraylistname.Removeat(int index); • متد Removerange : بازه ای از عناصر را حذف می نماید. • Arraylistname. Removerange(intindex,int count); زبان شی گرای C#
متدهای کلاس arraylist( ادامه...) • متد reverse : عناصر موجود در لیست را معکوس می نماید. • Arraylistname.Reverse(); • متد Sort : مرتب سازی لیست: • Arraylistname.sort(); • متد Toarray: عناصر موجود در یک لیست پیوندی را در آرایه کپی می نماید. • نام یک آرایه هم اندازه با لیست=Arraylistname.toarray(); زبان شی گرای C#