SlideShare a Scribd company logo
1 of 6
Download to read offline
‫بنام‬‫ایزد‬‫خرد‬ ‫و‬ ‫جان‬
‫نویسی‬ ‫برنامه‬c#
‫نویسنده‬‫مترجم‬ ،‫امجدی‬ ‫امین‬ ‫ّد‬‫م‬‫مح‬ : ‫گردآورنده‬ ‫و‬
‫بخش‬‫پنجم‬
: ‫توابع‬Function
amjadima@gmail.com
‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#1
. ‫شوند‬ ‫می‬ ‫استفاده‬ ‫برنامه‬ ‫بیشتر‬ ‫خوانایی‬ ‫و‬ ‫راحتی‬ ‫برای‬ ‫که‬ ‫شوند‬ ‫می‬ ‫محسوب‬ ‫ای‬ ‫برنامه‬ ‫زیر‬ ، ‫توابع‬
‫کنیم‬ ‫چاپ‬ ‫را‬ ‫عکس‬ ‫یک‬ ‫معکوس‬ ‫بخواهیم‬ ‫اینکه‬ ‫برای‬ ‫فرضا‬‫یکسری‬ ‫باید‬‫مع‬ ‫برنامه‬ ‫جای‬ ‫چندین‬ ‫باشد‬ ‫قرار‬ ‫اگر‬ ‫و‬ ‫بنویسیم‬ ‫کد‬‫کوس‬
‫و‬ ‫حلقه‬ ‫چندین‬ ‫داخل‬ ‫کنید‬ ‫فرض‬ ‫حاال‬ ‫و‬ ‫نکنیم‬ ‫تکرار‬ ‫را‬ ‫کدها‬ ‫باید‬ ‫نمائیم‬ ‫چاپ‬ ‫را‬ ‫عدد‬ ‫یک‬switch‫یک‬ ‫معکوس‬ ‫بخواهیم‬ ... ‫و‬
‫چی‬ ‫به‬ ‫چی‬ ‫فهمیم‬ ‫نمی‬ ‫موقع‬ ‫همان‬ ‫و‬ ‫شد‬ ‫خواهیم‬ ‫سردرگمی‬ ‫و‬ ‫سرگیجه‬ ‫دچار‬ ، ‫کنیم‬ ‫می‬ ‫نگاه‬ ‫کدها‬ ‫به‬ ‫که‬ ‫وقتی‬ ، ‫نمائیم‬ ‫چاپ‬ ‫را‬ ‫عدد‬
!!!! ‫بوده‬ ‫چی‬ ‫به‬ ‫چی‬ ‫نیست‬ ‫یادتون‬ ‫اصال‬ ‫که‬ ‫کنیم‬ ‫نگاه‬ ‫را‬ ‫کد‬ ‫باشه‬ ‫قرار‬ ‫دیگه‬ ‫وقت‬ ‫چند‬ ‫از‬ ‫بعد‬ ‫حاال‬ ‫شده‬
‫شد‬ ‫گفته‬ ‫قبال‬ ‫که‬ ‫طور‬ ‫همان‬‫باالی‬ ‫را‬ ‫ها‬ ‫متد‬ ، ‫ه‬Main‫حتما‬ ‫باید‬ ‫و‬ ‫نویسیم‬ ‫می‬static‫و‬ ‫کالس‬ ‫به‬ ‫مربوط‬ ‫(متدهای‬ ‫باشند‬struct‫در‬
) ‫گیرد‬ ‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫بعدی‬ ‫های‬ ‫بخش‬
: ‫خروجی‬ ‫بدون‬ ‫متد‬
‫نوع‬ ‫از‬ ‫آنها‬ ‫خروجی‬ ‫و‬ ‫ندارند‬ ‫ای‬ ‫خروجی‬ ‫ها‬ ‫متد‬ ‫این‬void‫بلکه‬ ‫گردانند‬ ‫برنمی‬ ‫را‬ ‫مقداری‬ ‫متدها‬ ‫این‬ ، ‫است‬
‫را‬ ‫مقداری‬‫مسئله‬ ‫(البته‬ ‫کنند‬ ‫می‬ ‫چاپ‬ ‫آنرا‬ ‫و‬ ‫کنند‬ ‫می‬ ‫محاسبه‬ref‫و‬out)‫شود‬ ‫می‬ ‫گفته‬ ‫بعدا‬ ‫که‬ ‫مجزاست‬
: ‫مثال‬: ‫عدد‬ ‫یک‬ ‫وارون‬ ‫چاپ‬ ‫متد‬
‫ر‬ ‫عدد‬ ‫یک‬ ‫تا‬ ‫دارد‬ ‫نیاز‬ ‫متد‬ ‫این‬‫نماید‬ ‫چاپ‬ ‫آنرا‬ ‫وارون‬ ‫و‬ ‫بگیرد‬ ‫ا‬‫ندارد‬ ‫خروجی‬ ‫هیچ‬ ‫و‬
using System;
namespace Test_1
{
class Program
{
static void Inv(int n)
{
Console.Write("nInve : ");
while(n > 0)
{
Console.Write(n%10);
n /= 10;
}
Console.Write("n");
}
static void Main()
{
Inv(213545);
Console.Write("n : ");
Inv(Convert.ToInt32(Console.ReadLine()));
Console.ReadKey();
}
}
}
‫نوشتن‬ ‫برای‬Main‫متد‬ ‫فراخی‬ ‫و‬Inv‫یک‬ ‫که‬ ‫است‬ ‫کافی‬int. ‫کنیم‬ ‫پاس‬ ‫متد‬ ‫به‬ ‫آنرا‬ ‫تا‬ ‫باشیم‬ ‫داشته‬
‫(خروجی‬ ‫ندارند‬ ‫خروجی‬ ‫که‬ ‫متدهایی‬ ‫در‬void‫دستور‬ ‫با‬ ‫توان‬ ‫می‬ ، )‫دارند‬return‫مانع‬ ‫و‬ ‫شویم‬ ‫خارج‬ ‫متد‬ ‫از‬
‫به‬ ‫نیازی‬ ‫متدها‬ ‫این‬ ‫آخر‬ ‫خط‬ ‫در‬ ‫پس‬ ، ‫شویم‬ ‫متد‬ ‫کدهای‬ ‫سایر‬ ‫اجرای‬ ‫از‬return. ‫نیست‬
‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#2
: ‫خروجی‬ ‫دارای‬ ‫متدهای‬
‫ا‬ ‫زمانی‬ ‫متدها‬ ‫این‬ ‫از‬‫بلکه‬ )‫شود‬ ‫نمی‬ ‫چاپ‬ ‫اصلی‬ ‫کند(نتیجه‬ ‫چاپ‬ ‫را‬ ‫چیزی‬ ‫متد‬ ‫خواهیم‬ ‫نمی‬ ‫که‬ ‫شود‬ ‫می‬ ‫ستفاده‬
‫دهد‬ ‫می‬ ‫تحویل‬ ‫ما‬ ‫به‬ ‫و‬ ‫کند‬ ‫می‬ ‫محاسبه‬ ‫آنرا‬
: ‫ماتریس‬ ‫عناصر‬ ‫جمع‬ ‫حاصل‬ ‫محاسبه‬ ‫متد‬ : ‫مثال‬
: ‫برگرداند‬ ‫سپس‬ ‫و‬ ‫محاسبه‬ ‫را‬ ‫عناصرش‬ ‫جمع‬ ‫حاصل‬ ‫و‬ ‫بگیرد‬ ‫آنرا‬ ‫باید‬ ‫و‬ ‫دارد‬ ‫نیاز‬ ‫ماتریس‬ ‫یک‬ ‫به‬ ‫متد‬ ‫این‬
using System;
namespace Test_1
{
class Program
{
static int Sum(int[] Array)
{
int r = 0;
for (int i = 0; i < Array.Length; i++ )
{
r += Array[i];
}
return r;
}
static void Main()
{
int n = Convert.ToInt32(Console.ReadLine());
int[] a = new int[n];
for (int i = 0; i < a.Length;i++ )
{
Console.Write("a[{0}] : ",i);
a[i] = Convert.ToInt32(Console.ReadLine());
}
Console.WriteLine("Sum : " + Sum(a));
int p = Sum(a);
Console.WriteLine("Sum : {0}",Sum(a));
Console.ReadKey();
}
}
}
‫نام‬ ‫از‬ ‫وقت‬ ‫هر‬ ‫پس‬Sum‫از‬ ‫آرایه‬ ‫یک‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫پرانتز‬ ‫داخل‬ ‫و‬ ‫نمائیم‬ ‫استفاده‬int‫آن‬ ‫عناصر‬ ، ‫کنیم‬ ‫پاس‬ ‫را‬ ‫ها‬
: ‫شود‬ ‫می‬ ‫عبارت‬ ‫آن‬ ‫جایگزین‬ ‫و‬ ‫شود‬ ‫می‬ ‫برگردانده‬ ‫و‬ ‫شوند‬ ‫می‬ ‫جمع‬ ‫هم‬ ‫با‬ ‫آرایه‬
‫بنام‬ ‫ای‬ ‫آرایه‬ ‫اگر‬ ‫مثال‬a‫طول‬ ‫به‬ ‫و‬3‫عناص‬ ‫و‬‫ر‬1‫و‬4‫و‬7( ‫کدمان‬ ‫داخل‬ ‫که‬ ‫باشیم‬ ‫داشته‬Main)‫دیگری‬ ‫جای‬ ‫هر‬ ‫یا‬
، ‫بنویسیم‬Sum(a)‫مقدار‬ ،11‫آرایه‬ ‫عناصر‬ ‫جمع‬ ‫حاصل‬ ‫که‬a‫هر‬ ‫پس‬ ، ‫شود‬ ‫می‬ ‫متد‬ ‫فراخوانی‬ ‫جایگزین‬ ‫است‬
‫باشیم‬ ‫نوشته‬ ‫که‬ ‫جا‬Sum(a)‫مقدار‬11. ‫شود‬ ‫می‬ ‫آن‬ ‫جایگزین‬
‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#3
Params:
‫از‬ ‫کند‬ ‫دریافت‬ ‫ورودی‬ ‫آرگومان‬ ‫نامشخصی‬ ‫تعداد‬ ‫متدی‬ ‫بخواهیم‬ ‫اگر‬Params‫می‬ ‫استفاده‬: ‫کنیم‬
( ‫بولین‬ ‫تعداد‬ ‫هر‬ ‫بتواند‬ ‫که‬ ‫بنویسیم‬ ‫متدی‬ ‫خواهیم‬ ‫می‬ : ‫مثال‬true‫یا‬false‫عدد‬ ‫مقدار‬ ‫حاوی‬ ‫رشته‬ ‫و‬ ‫کند‬ ‫دریافت‬ )
‫مبنای‬1(‫برگرداند‬ ‫آنرا‬true‫منزله‬ ‫به‬1‫و‬false‫منزله‬ ‫به‬0‫بوده‬(
using System;
namespace Test_1
{
class Program
{
static string F(params bool[] A)
{
string r = "";
for (int i = 0; i < A.Length; i ++ )
{
if (A[i])
r += "1";
else
r += "0";
}
return r;
}
static void Main()
{
Console.WriteLine(F(true, true, false, false, true));
bool[] BoolNumber = new bool[] { true, true, false, false, true };
string result = F(BoolNumber);
Console.WriteLine(result);
Console.ReadKey();
}
}
}
‫تعریف‬ ‫ناحیه‬‫متغییرها‬:
‫آن‬ ‫بالک‬ ‫آخر‬ ‫تا‬ ‫است‬ ‫شده‬ ‫تعریف‬ ‫که‬ ‫خطی‬ ‫همان‬ ‫از‬ ، ‫است‬ ‫شده‬ ‫تعریف‬ ‫که‬ ‫ای‬ ‫ناحیه‬ ‫همان‬ ‫در‬ ، ‫شود‬ ‫می‬ ‫تغییر‬ ‫که‬ ‫وقتی‬ ‫متغیری‬ ‫هر‬
‫تعریف‬ ، ‫است‬ ‫شده‬ ‫تعریف‬ ‫آن‬ ‫در‬ ‫که‬ ‫ای‬ ‫ناحیه‬. ‫است‬ ‫شده‬ ‫شناخته‬ ‫و‬ ‫شده‬
using System;
namespace Test_1
{
class Program
{
static void F1(int A)
{
Console.WriteLine(A);
}
static void F2(int A)
{
Console.WriteLine(A);
}
static void Main()
{
int A = 20;
Console.WriteLine(A);
‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#4
for (int i = 0; i < A; i++ )
{
Console.WriteLine(i);
}
// ‫اینجا‬ ‫در‬‫نیست‬ ‫شده‬ ‫شناخته‬ ‫آی‬ ‫شماره‬
for (int j = A; j < A; j++)
{
Console.WriteLine(j);
// ‫اینجا‬ ‫در‬‫نیست‬ ‫شده‬ ‫شناخته‬ ‫آی‬ ‫شماره‬
}
// ‫اینجا‬ ‫در‬‫نیست‬ ‫شده‬ ‫شناخته‬ ‫آی‬ ‫شماره‬
// ‫اینجا‬ ‫در‬‫نیست‬ ‫شده‬ ‫شناخته‬ ‫جی‬ ‫شماره‬
Console.ReadKey();
}
}
}
‫متد‬ ‫که‬ ، ‫کنید‬ ‫توجه‬F1‫بنام‬ ‫ورودی‬ ‫آرگومان‬ ‫یک‬A‫متد‬ ‫و‬ ، ‫دارد‬F2‫داخل‬ ‫و‬ ، ‫طور‬ ‫همین‬ ‫نیز‬Main‫بنام‬ ‫متغییری‬ ‫هم‬A‫تعریف‬
‫این‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬ ‫؛‬ ‫است‬ ‫شده‬3‫همچنین‬ ‫و‬ ‫هستند‬ ‫یکدیگر‬ ‫از‬ ‫مجزا‬ ‫متغییر‬ ‫تا‬‫نمائید‬ ‫دقت‬ ‫ها‬ ‫حلقه‬ ‫شمارنده‬ ‫تعریف‬ ‫حوزه‬ ‫به‬
‫از‬ ‫قبل‬ ‫نه‬ ‫و‬ ‫حلقه‬ ‫خود‬ ‫بدنه‬ ‫شوند(در‬ ‫می‬ ‫تعریف‬ ‫حلقه‬ ‫خود‬ ‫با‬ ‫همراه‬ ‫که‬ ‫ای‬ ‫حلقه‬ ‫های‬ ‫شمارنده‬ ‫که‬‫حلقه‬ ‫خود‬ ‫بدنه‬ ‫داخل‬ ‫فقط‬ )‫حلقه‬
‫شن‬. ‫اند‬ ‫شده‬ ‫اخته‬
‫داخل‬ ‫متغییر‬ ‫و‬ ‫متدها‬ ‫ورودی‬ ‫های‬ ‫آرگومان‬ ‫مورد‬ ‫در‬Main‫ها‬ ‫این‬ ‫شوید‬ ‫مطمئن‬ ‫اینکه‬ ‫برای‬ ،‫نام‬ ‫ابتدای‬ ‫به‬ ، ‫هستند‬ ‫مجزا‬ ‫یکدیگر‬ ‫از‬
‫داخل‬ ‫متغییر‬ ‫و‬ ‫متد‬ ‫ورودی‬ ‫آرگومان‬Main: ‫کنیم‬ ‫می‬ ‫اضافه‬ ‫را‬ ‫است‬ ‫شده‬ ‫تعریف‬ ‫آن‬ ‫داخل‬ ‫که‬ ‫متدی‬ ‫اسم‬ ،
using System;
namespace Test_1
{
class Program
{
static void F1(int F1_A)
{
Console.WriteLine(F1_A);
}
static void F2(int F2_A)
{
Console.WriteLine(F2_A);
}
static void Main()
{
int Main_A = 20;
Console.WriteLine(Main_A);
for (int i = 0; i < Main_A; i++ )
{
Console.WriteLine(i);
}
for (int j = Main_A; j < Main_A; j++)
{
Console.WriteLine(j);
}
Console.ReadKey();
}
}
}
‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#5
‫کنید‬ ‫تست‬ ‫اگر‬ ‫حال‬Main_A‫داخل‬ ‫فقط‬Main،F1_A‫داخل‬ ‫فقط‬F1‫و‬F2_A‫داخل‬ ‫فقط‬ ‫نیز‬F2. ‫است‬ ‫شده‬ ‫شناخته‬
‫بین‬ ‫بالک‬ ‫از‬ ‫منظور‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬{‫و‬}. ‫است‬
‫هر‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬case‫به‬ ‫مربوط‬switch: ‫نمائید‬ ‫دقت‬ ، ‫شود‬ ‫نمی‬ ‫محسوب‬ ‫بالک‬ ‫یک‬
using System;
namespace Test_1
{
class Program
{
static void Main()
{
int a = 2;
switch(a)
{
case 0:
int p = 1;
break;
case 1:
p = 2;
int q = 12;
break;
case 2:
p = 3;
q = 3;
break;
}
Console.ReadKey();
}
}
}
‫هر‬ ‫برای‬ ‫خودمان‬ ‫که‬ ‫نوشت‬ ‫زیر‬ ‫بصورت‬ ‫را‬ ‫کد‬ ‫توان‬ ‫می‬case: ‫باشد‬ ‫حواسمان‬ ‫باید‬ ‫و‬ ‫کنیم‬ ‫ایجاد‬ ‫بالک‬
class Program
{
static void Main()
{
int a = 2;
switch(a)
{
case 0:
{
int p = 1;
break;
}
case 1:
{
//p = 2; //undefine p
int q = 12;
break;
}
case 2:
{
//p = 3; //undefine p
//q = 3; //undefine q
break;
}
}
Console.ReadKey();
}
}

More Related Content

Viewers also liked

Hot or Not: Which Fundraising Channels Are a Forecast for Success?
Hot or Not: Which Fundraising Channels Are a Forecast for Success?Hot or Not: Which Fundraising Channels Are a Forecast for Success?
Hot or Not: Which Fundraising Channels Are a Forecast for Success?Steve MacLaughlin
 
Tecnologias sociales y Ecosistemas de aprendizaje (Julio 2013)
Tecnologias sociales y Ecosistemas de aprendizaje (Julio 2013)Tecnologias sociales y Ecosistemas de aprendizaje (Julio 2013)
Tecnologias sociales y Ecosistemas de aprendizaje (Julio 2013)Freire Juan
 
ETOLOGIA_4_2_Organizacion social
ETOLOGIA_4_2_Organizacion socialETOLOGIA_4_2_Organizacion social
ETOLOGIA_4_2_Organizacion socialFreire Juan
 
NURS6600Practicum Project Presentation
NURS6600Practicum Project PresentationNURS6600Practicum Project Presentation
NURS6600Practicum Project PresentationRobin Blackwell
 

Viewers also liked (9)

GiovannaGargano_CV
GiovannaGargano_CVGiovannaGargano_CV
GiovannaGargano_CV
 
Hot or Not: Which Fundraising Channels Are a Forecast for Success?
Hot or Not: Which Fundraising Channels Are a Forecast for Success?Hot or Not: Which Fundraising Channels Are a Forecast for Success?
Hot or Not: Which Fundraising Channels Are a Forecast for Success?
 
Tecnologias sociales y Ecosistemas de aprendizaje (Julio 2013)
Tecnologias sociales y Ecosistemas de aprendizaje (Julio 2013)Tecnologias sociales y Ecosistemas de aprendizaje (Julio 2013)
Tecnologias sociales y Ecosistemas de aprendizaje (Julio 2013)
 
KIC Document 0001 (2)
KIC Document 0001 (2)KIC Document 0001 (2)
KIC Document 0001 (2)
 
memetic algorithm
memetic algorithmmemetic algorithm
memetic algorithm
 
ETOLOGIA_4_2_Organizacion social
ETOLOGIA_4_2_Organizacion socialETOLOGIA_4_2_Organizacion social
ETOLOGIA_4_2_Organizacion social
 
Philanthropy 2.0
Philanthropy 2.0Philanthropy 2.0
Philanthropy 2.0
 
Ana frank
Ana frankAna frank
Ana frank
 
NURS6600Practicum Project Presentation
NURS6600Practicum Project PresentationNURS6600Practicum Project Presentation
NURS6600Practicum Project Presentation
 

Similar to Amjadi - Ebook 5 - Function - v1

سی پلاس پلاس به عنوان زبان دومی برای یادگیری شی گرایی
سی پلاس پلاس به عنوان زبان دومی  برای یادگیری شی گراییسی پلاس پلاس به عنوان زبان دومی  برای یادگیری شی گرایی
سی پلاس پلاس به عنوان زبان دومی برای یادگیری شی گراییmrm_196
 
Radmanesh c#-1
Radmanesh c#-1Radmanesh c#-1
Radmanesh c#-1neginrmn
 
How to program with c in persian
How to program with c in persianHow to program with c in persian
How to program with c in persianmoein jazemi
 
برنامه سازی3
برنامه سازی3برنامه سازی3
برنامه سازی3mahdiehsalari
 
برنامه سازی 2- اعظم صالح-هنرستان جنت فارسان
برنامه سازی 2- اعظم صالح-هنرستان جنت فارسانبرنامه سازی 2- اعظم صالح-هنرستان جنت فارسان
برنامه سازی 2- اعظم صالح-هنرستان جنت فارسانtarasad
 
avr project , sim808l, mmc card
avr project , sim808l, mmc cardavr project , sim808l, mmc card
avr project , sim808l, mmc cardPooriaKeihani
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationMorteza Zakeri
 
python programming Python learning.pptx
python programming  Python learning.pptxpython programming  Python learning.pptx
python programming Python learning.pptxMehdiHashemi35
 
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )tahereh sharafi
 
آشنایی با زبان جاوا - مقدماتی اندروید
آشنایی با زبان جاوا - مقدماتی اندرویدآشنایی با زبان جاوا - مقدماتی اندروید
آشنایی با زبان جاوا - مقدماتی اندرویدSadegh Ghanbari Shohani
 
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از Hamid Saberi
 
روش پنلی برای بال ناکا 0009
روش پنلی برای بال ناکا 0009روش پنلی برای بال ناکا 0009
روش پنلی برای بال ناکا 0009Morteza Dalil
 

Similar to Amjadi - Ebook 5 - Function - v1 (20)

سی پلاس پلاس به عنوان زبان دومی برای یادگیری شی گرایی
سی پلاس پلاس به عنوان زبان دومی  برای یادگیری شی گراییسی پلاس پلاس به عنوان زبان دومی  برای یادگیری شی گرایی
سی پلاس پلاس به عنوان زبان دومی برای یادگیری شی گرایی
 
MIPS and QtSpim
MIPS and QtSpimMIPS and QtSpim
MIPS and QtSpim
 
Radmanesh c#-1
Radmanesh c#-1Radmanesh c#-1
Radmanesh c#-1
 
Sql tuning
Sql tuningSql tuning
Sql tuning
 
How to program with c in persian
How to program with c in persianHow to program with c in persian
How to program with c in persian
 
برنامه سازی3
برنامه سازی3برنامه سازی3
برنامه سازی3
 
برنامه سازی 2- اعظم صالح-هنرستان جنت فارسان
برنامه سازی 2- اعظم صالح-هنرستان جنت فارسانبرنامه سازی 2- اعظم صالح-هنرستان جنت فارسان
برنامه سازی 2- اعظم صالح-هنرستان جنت فارسان
 
Amjadi - Ebook 7 - Class - v1
Amjadi - Ebook 7 - Class - v1Amjadi - Ebook 7 - Class - v1
Amjadi - Ebook 7 - Class - v1
 
avr project , sim808l, mmc card
avr project , sim808l, mmc cardavr project , sim808l, mmc card
avr project , sim808l, mmc card
 
Software Fault Avoidance in Implementation
Software Fault Avoidance in ImplementationSoftware Fault Avoidance in Implementation
Software Fault Avoidance in Implementation
 
python programming Python learning.pptx
python programming  Python learning.pptxpython programming  Python learning.pptx
python programming Python learning.pptx
 
Flowchart
FlowchartFlowchart
Flowchart
 
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
بخش اول :كاربرد رايانه در برق (آموزش ساده سيمولينك )
 
C++
C++C++
C++
 
C++
C++C++
C++
 
آشنایی با زبان جاوا - مقدماتی اندروید
آشنایی با زبان جاوا - مقدماتی اندرویدآشنایی با زبان جاوا - مقدماتی اندروید
آشنایی با زبان جاوا - مقدماتی اندروید
 
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
FLEX تخصصی : ایجاد تحلیلگر لغوی در ویندوز با استفاده از
 
lunch box plugin
 lunch box plugin  lunch box plugin
lunch box plugin
 
C-1.pptx
C-1.pptxC-1.pptx
C-1.pptx
 
روش پنلی برای بال ناکا 0009
روش پنلی برای بال ناکا 0009روش پنلی برای بال ناکا 0009
روش پنلی برای بال ناکا 0009
 

More from Mohammad Amin Amjadi (15)

Seminar-Parallel Processing
Seminar-Parallel ProcessingSeminar-Parallel Processing
Seminar-Parallel Processing
 
Seminar-Architecture
Seminar-ArchitectureSeminar-Architecture
Seminar-Architecture
 
Image Cryptography and Steganography
Image Cryptography and SteganographyImage Cryptography and Steganography
Image Cryptography and Steganography
 
Az Micro
Az MicroAz Micro
Az Micro
 
my project
my projectmy project
my project
 
Rajabi
RajabiRajabi
Rajabi
 
Cloud Computing
Cloud ComputingCloud Computing
Cloud Computing
 
Amjadi
AmjadiAmjadi
Amjadi
 
rivercode.PDF
rivercode.PDFrivercode.PDF
rivercode.PDF
 
Documention
DocumentionDocumention
Documention
 
HotSpot
HotSpotHotSpot
HotSpot
 
GPGPU
GPGPUGPGPU
GPGPU
 
Lecture3
Lecture3Lecture3
Lecture3
 
Lecture2
Lecture2Lecture2
Lecture2
 
Lecture 1
Lecture 1Lecture 1
Lecture 1
 

Amjadi - Ebook 5 - Function - v1

  • 1. ‫بنام‬‫ایزد‬‫خرد‬ ‫و‬ ‫جان‬ ‫نویسی‬ ‫برنامه‬c# ‫نویسنده‬‫مترجم‬ ،‫امجدی‬ ‫امین‬ ‫ّد‬‫م‬‫مح‬ : ‫گردآورنده‬ ‫و‬ ‫بخش‬‫پنجم‬ : ‫توابع‬Function amjadima@gmail.com
  • 2. ‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#1 . ‫شوند‬ ‫می‬ ‫استفاده‬ ‫برنامه‬ ‫بیشتر‬ ‫خوانایی‬ ‫و‬ ‫راحتی‬ ‫برای‬ ‫که‬ ‫شوند‬ ‫می‬ ‫محسوب‬ ‫ای‬ ‫برنامه‬ ‫زیر‬ ، ‫توابع‬ ‫کنیم‬ ‫چاپ‬ ‫را‬ ‫عکس‬ ‫یک‬ ‫معکوس‬ ‫بخواهیم‬ ‫اینکه‬ ‫برای‬ ‫فرضا‬‫یکسری‬ ‫باید‬‫مع‬ ‫برنامه‬ ‫جای‬ ‫چندین‬ ‫باشد‬ ‫قرار‬ ‫اگر‬ ‫و‬ ‫بنویسیم‬ ‫کد‬‫کوس‬ ‫و‬ ‫حلقه‬ ‫چندین‬ ‫داخل‬ ‫کنید‬ ‫فرض‬ ‫حاال‬ ‫و‬ ‫نکنیم‬ ‫تکرار‬ ‫را‬ ‫کدها‬ ‫باید‬ ‫نمائیم‬ ‫چاپ‬ ‫را‬ ‫عدد‬ ‫یک‬switch‫یک‬ ‫معکوس‬ ‫بخواهیم‬ ... ‫و‬ ‫چی‬ ‫به‬ ‫چی‬ ‫فهمیم‬ ‫نمی‬ ‫موقع‬ ‫همان‬ ‫و‬ ‫شد‬ ‫خواهیم‬ ‫سردرگمی‬ ‫و‬ ‫سرگیجه‬ ‫دچار‬ ، ‫کنیم‬ ‫می‬ ‫نگاه‬ ‫کدها‬ ‫به‬ ‫که‬ ‫وقتی‬ ، ‫نمائیم‬ ‫چاپ‬ ‫را‬ ‫عدد‬ !!!! ‫بوده‬ ‫چی‬ ‫به‬ ‫چی‬ ‫نیست‬ ‫یادتون‬ ‫اصال‬ ‫که‬ ‫کنیم‬ ‫نگاه‬ ‫را‬ ‫کد‬ ‫باشه‬ ‫قرار‬ ‫دیگه‬ ‫وقت‬ ‫چند‬ ‫از‬ ‫بعد‬ ‫حاال‬ ‫شده‬ ‫شد‬ ‫گفته‬ ‫قبال‬ ‫که‬ ‫طور‬ ‫همان‬‫باالی‬ ‫را‬ ‫ها‬ ‫متد‬ ، ‫ه‬Main‫حتما‬ ‫باید‬ ‫و‬ ‫نویسیم‬ ‫می‬static‫و‬ ‫کالس‬ ‫به‬ ‫مربوط‬ ‫(متدهای‬ ‫باشند‬struct‫در‬ ) ‫گیرد‬ ‫می‬ ‫قرار‬ ‫بررسی‬ ‫مورد‬ ‫بعدی‬ ‫های‬ ‫بخش‬ : ‫خروجی‬ ‫بدون‬ ‫متد‬ ‫نوع‬ ‫از‬ ‫آنها‬ ‫خروجی‬ ‫و‬ ‫ندارند‬ ‫ای‬ ‫خروجی‬ ‫ها‬ ‫متد‬ ‫این‬void‫بلکه‬ ‫گردانند‬ ‫برنمی‬ ‫را‬ ‫مقداری‬ ‫متدها‬ ‫این‬ ، ‫است‬ ‫را‬ ‫مقداری‬‫مسئله‬ ‫(البته‬ ‫کنند‬ ‫می‬ ‫چاپ‬ ‫آنرا‬ ‫و‬ ‫کنند‬ ‫می‬ ‫محاسبه‬ref‫و‬out)‫شود‬ ‫می‬ ‫گفته‬ ‫بعدا‬ ‫که‬ ‫مجزاست‬ : ‫مثال‬: ‫عدد‬ ‫یک‬ ‫وارون‬ ‫چاپ‬ ‫متد‬ ‫ر‬ ‫عدد‬ ‫یک‬ ‫تا‬ ‫دارد‬ ‫نیاز‬ ‫متد‬ ‫این‬‫نماید‬ ‫چاپ‬ ‫آنرا‬ ‫وارون‬ ‫و‬ ‫بگیرد‬ ‫ا‬‫ندارد‬ ‫خروجی‬ ‫هیچ‬ ‫و‬ using System; namespace Test_1 { class Program { static void Inv(int n) { Console.Write("nInve : "); while(n > 0) { Console.Write(n%10); n /= 10; } Console.Write("n"); } static void Main() { Inv(213545); Console.Write("n : "); Inv(Convert.ToInt32(Console.ReadLine())); Console.ReadKey(); } } } ‫نوشتن‬ ‫برای‬Main‫متد‬ ‫فراخی‬ ‫و‬Inv‫یک‬ ‫که‬ ‫است‬ ‫کافی‬int. ‫کنیم‬ ‫پاس‬ ‫متد‬ ‫به‬ ‫آنرا‬ ‫تا‬ ‫باشیم‬ ‫داشته‬ ‫(خروجی‬ ‫ندارند‬ ‫خروجی‬ ‫که‬ ‫متدهایی‬ ‫در‬void‫دستور‬ ‫با‬ ‫توان‬ ‫می‬ ، )‫دارند‬return‫مانع‬ ‫و‬ ‫شویم‬ ‫خارج‬ ‫متد‬ ‫از‬ ‫به‬ ‫نیازی‬ ‫متدها‬ ‫این‬ ‫آخر‬ ‫خط‬ ‫در‬ ‫پس‬ ، ‫شویم‬ ‫متد‬ ‫کدهای‬ ‫سایر‬ ‫اجرای‬ ‫از‬return. ‫نیست‬
  • 3. ‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#2 : ‫خروجی‬ ‫دارای‬ ‫متدهای‬ ‫ا‬ ‫زمانی‬ ‫متدها‬ ‫این‬ ‫از‬‫بلکه‬ )‫شود‬ ‫نمی‬ ‫چاپ‬ ‫اصلی‬ ‫کند(نتیجه‬ ‫چاپ‬ ‫را‬ ‫چیزی‬ ‫متد‬ ‫خواهیم‬ ‫نمی‬ ‫که‬ ‫شود‬ ‫می‬ ‫ستفاده‬ ‫دهد‬ ‫می‬ ‫تحویل‬ ‫ما‬ ‫به‬ ‫و‬ ‫کند‬ ‫می‬ ‫محاسبه‬ ‫آنرا‬ : ‫ماتریس‬ ‫عناصر‬ ‫جمع‬ ‫حاصل‬ ‫محاسبه‬ ‫متد‬ : ‫مثال‬ : ‫برگرداند‬ ‫سپس‬ ‫و‬ ‫محاسبه‬ ‫را‬ ‫عناصرش‬ ‫جمع‬ ‫حاصل‬ ‫و‬ ‫بگیرد‬ ‫آنرا‬ ‫باید‬ ‫و‬ ‫دارد‬ ‫نیاز‬ ‫ماتریس‬ ‫یک‬ ‫به‬ ‫متد‬ ‫این‬ using System; namespace Test_1 { class Program { static int Sum(int[] Array) { int r = 0; for (int i = 0; i < Array.Length; i++ ) { r += Array[i]; } return r; } static void Main() { int n = Convert.ToInt32(Console.ReadLine()); int[] a = new int[n]; for (int i = 0; i < a.Length;i++ ) { Console.Write("a[{0}] : ",i); a[i] = Convert.ToInt32(Console.ReadLine()); } Console.WriteLine("Sum : " + Sum(a)); int p = Sum(a); Console.WriteLine("Sum : {0}",Sum(a)); Console.ReadKey(); } } } ‫نام‬ ‫از‬ ‫وقت‬ ‫هر‬ ‫پس‬Sum‫از‬ ‫آرایه‬ ‫یک‬ ‫بسته‬ ‫و‬ ‫باز‬ ‫پرانتز‬ ‫داخل‬ ‫و‬ ‫نمائیم‬ ‫استفاده‬int‫آن‬ ‫عناصر‬ ، ‫کنیم‬ ‫پاس‬ ‫را‬ ‫ها‬ : ‫شود‬ ‫می‬ ‫عبارت‬ ‫آن‬ ‫جایگزین‬ ‫و‬ ‫شود‬ ‫می‬ ‫برگردانده‬ ‫و‬ ‫شوند‬ ‫می‬ ‫جمع‬ ‫هم‬ ‫با‬ ‫آرایه‬ ‫بنام‬ ‫ای‬ ‫آرایه‬ ‫اگر‬ ‫مثال‬a‫طول‬ ‫به‬ ‫و‬3‫عناص‬ ‫و‬‫ر‬1‫و‬4‫و‬7( ‫کدمان‬ ‫داخل‬ ‫که‬ ‫باشیم‬ ‫داشته‬Main)‫دیگری‬ ‫جای‬ ‫هر‬ ‫یا‬ ، ‫بنویسیم‬Sum(a)‫مقدار‬ ،11‫آرایه‬ ‫عناصر‬ ‫جمع‬ ‫حاصل‬ ‫که‬a‫هر‬ ‫پس‬ ، ‫شود‬ ‫می‬ ‫متد‬ ‫فراخوانی‬ ‫جایگزین‬ ‫است‬ ‫باشیم‬ ‫نوشته‬ ‫که‬ ‫جا‬Sum(a)‫مقدار‬11. ‫شود‬ ‫می‬ ‫آن‬ ‫جایگزین‬
  • 4. ‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#3 Params: ‫از‬ ‫کند‬ ‫دریافت‬ ‫ورودی‬ ‫آرگومان‬ ‫نامشخصی‬ ‫تعداد‬ ‫متدی‬ ‫بخواهیم‬ ‫اگر‬Params‫می‬ ‫استفاده‬: ‫کنیم‬ ( ‫بولین‬ ‫تعداد‬ ‫هر‬ ‫بتواند‬ ‫که‬ ‫بنویسیم‬ ‫متدی‬ ‫خواهیم‬ ‫می‬ : ‫مثال‬true‫یا‬false‫عدد‬ ‫مقدار‬ ‫حاوی‬ ‫رشته‬ ‫و‬ ‫کند‬ ‫دریافت‬ ) ‫مبنای‬1(‫برگرداند‬ ‫آنرا‬true‫منزله‬ ‫به‬1‫و‬false‫منزله‬ ‫به‬0‫بوده‬( using System; namespace Test_1 { class Program { static string F(params bool[] A) { string r = ""; for (int i = 0; i < A.Length; i ++ ) { if (A[i]) r += "1"; else r += "0"; } return r; } static void Main() { Console.WriteLine(F(true, true, false, false, true)); bool[] BoolNumber = new bool[] { true, true, false, false, true }; string result = F(BoolNumber); Console.WriteLine(result); Console.ReadKey(); } } } ‫تعریف‬ ‫ناحیه‬‫متغییرها‬: ‫آن‬ ‫بالک‬ ‫آخر‬ ‫تا‬ ‫است‬ ‫شده‬ ‫تعریف‬ ‫که‬ ‫خطی‬ ‫همان‬ ‫از‬ ، ‫است‬ ‫شده‬ ‫تعریف‬ ‫که‬ ‫ای‬ ‫ناحیه‬ ‫همان‬ ‫در‬ ، ‫شود‬ ‫می‬ ‫تغییر‬ ‫که‬ ‫وقتی‬ ‫متغیری‬ ‫هر‬ ‫تعریف‬ ، ‫است‬ ‫شده‬ ‫تعریف‬ ‫آن‬ ‫در‬ ‫که‬ ‫ای‬ ‫ناحیه‬. ‫است‬ ‫شده‬ ‫شناخته‬ ‫و‬ ‫شده‬ using System; namespace Test_1 { class Program { static void F1(int A) { Console.WriteLine(A); } static void F2(int A) { Console.WriteLine(A); } static void Main() { int A = 20; Console.WriteLine(A);
  • 5. ‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#4 for (int i = 0; i < A; i++ ) { Console.WriteLine(i); } // ‫اینجا‬ ‫در‬‫نیست‬ ‫شده‬ ‫شناخته‬ ‫آی‬ ‫شماره‬ for (int j = A; j < A; j++) { Console.WriteLine(j); // ‫اینجا‬ ‫در‬‫نیست‬ ‫شده‬ ‫شناخته‬ ‫آی‬ ‫شماره‬ } // ‫اینجا‬ ‫در‬‫نیست‬ ‫شده‬ ‫شناخته‬ ‫آی‬ ‫شماره‬ // ‫اینجا‬ ‫در‬‫نیست‬ ‫شده‬ ‫شناخته‬ ‫جی‬ ‫شماره‬ Console.ReadKey(); } } } ‫متد‬ ‫که‬ ، ‫کنید‬ ‫توجه‬F1‫بنام‬ ‫ورودی‬ ‫آرگومان‬ ‫یک‬A‫متد‬ ‫و‬ ، ‫دارد‬F2‫داخل‬ ‫و‬ ، ‫طور‬ ‫همین‬ ‫نیز‬Main‫بنام‬ ‫متغییری‬ ‫هم‬A‫تعریف‬ ‫این‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬ ‫؛‬ ‫است‬ ‫شده‬3‫همچنین‬ ‫و‬ ‫هستند‬ ‫یکدیگر‬ ‫از‬ ‫مجزا‬ ‫متغییر‬ ‫تا‬‫نمائید‬ ‫دقت‬ ‫ها‬ ‫حلقه‬ ‫شمارنده‬ ‫تعریف‬ ‫حوزه‬ ‫به‬ ‫از‬ ‫قبل‬ ‫نه‬ ‫و‬ ‫حلقه‬ ‫خود‬ ‫بدنه‬ ‫شوند(در‬ ‫می‬ ‫تعریف‬ ‫حلقه‬ ‫خود‬ ‫با‬ ‫همراه‬ ‫که‬ ‫ای‬ ‫حلقه‬ ‫های‬ ‫شمارنده‬ ‫که‬‫حلقه‬ ‫خود‬ ‫بدنه‬ ‫داخل‬ ‫فقط‬ )‫حلقه‬ ‫شن‬. ‫اند‬ ‫شده‬ ‫اخته‬ ‫داخل‬ ‫متغییر‬ ‫و‬ ‫متدها‬ ‫ورودی‬ ‫های‬ ‫آرگومان‬ ‫مورد‬ ‫در‬Main‫ها‬ ‫این‬ ‫شوید‬ ‫مطمئن‬ ‫اینکه‬ ‫برای‬ ،‫نام‬ ‫ابتدای‬ ‫به‬ ، ‫هستند‬ ‫مجزا‬ ‫یکدیگر‬ ‫از‬ ‫داخل‬ ‫متغییر‬ ‫و‬ ‫متد‬ ‫ورودی‬ ‫آرگومان‬Main: ‫کنیم‬ ‫می‬ ‫اضافه‬ ‫را‬ ‫است‬ ‫شده‬ ‫تعریف‬ ‫آن‬ ‫داخل‬ ‫که‬ ‫متدی‬ ‫اسم‬ ، using System; namespace Test_1 { class Program { static void F1(int F1_A) { Console.WriteLine(F1_A); } static void F2(int F2_A) { Console.WriteLine(F2_A); } static void Main() { int Main_A = 20; Console.WriteLine(Main_A); for (int i = 0; i < Main_A; i++ ) { Console.WriteLine(i); } for (int j = Main_A; j < Main_A; j++) { Console.WriteLine(j); } Console.ReadKey(); } } }
  • 6. ‫بخش‬‫پنجم‬‫نویسی‬ ‫برنامه‬C#5 ‫کنید‬ ‫تست‬ ‫اگر‬ ‫حال‬Main_A‫داخل‬ ‫فقط‬Main،F1_A‫داخل‬ ‫فقط‬F1‫و‬F2_A‫داخل‬ ‫فقط‬ ‫نیز‬F2. ‫است‬ ‫شده‬ ‫شناخته‬ ‫بین‬ ‫بالک‬ ‫از‬ ‫منظور‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬{‫و‬}. ‫است‬ ‫هر‬ ‫که‬ ‫باشید‬ ‫داشته‬ ‫توجه‬case‫به‬ ‫مربوط‬switch: ‫نمائید‬ ‫دقت‬ ، ‫شود‬ ‫نمی‬ ‫محسوب‬ ‫بالک‬ ‫یک‬ using System; namespace Test_1 { class Program { static void Main() { int a = 2; switch(a) { case 0: int p = 1; break; case 1: p = 2; int q = 12; break; case 2: p = 3; q = 3; break; } Console.ReadKey(); } } } ‫هر‬ ‫برای‬ ‫خودمان‬ ‫که‬ ‫نوشت‬ ‫زیر‬ ‫بصورت‬ ‫را‬ ‫کد‬ ‫توان‬ ‫می‬case: ‫باشد‬ ‫حواسمان‬ ‫باید‬ ‫و‬ ‫کنیم‬ ‫ایجاد‬ ‫بالک‬ class Program { static void Main() { int a = 2; switch(a) { case 0: { int p = 1; break; } case 1: { //p = 2; //undefine p int q = 12; break; } case 2: { //p = 3; //undefine p //q = 3; //undefine q break; } } Console.ReadKey(); } }