آموزش برنامه نویسی c#.net جلسه ششم

ویدئو آموزش برنامه نویسی c#.net
آموزش برنامه نویسی c#.net جلسه ششمReviewed by بردیا on Dec 6Rating: 5.0آموزش برنامه نویسی c#.net جلسه ششمدر این جلسه که قسمت ششم سری ویدئو آموزش برنامه نویسی سی شارپ هست ،راجع به آرایه های چند بعدی ،اعداد تصادفی،تایمر ها و سپس با یک پروژه کار رو پیش می بریم ویدئو این جلسه را در پایان صفحه می توانید دانلود کنید.
c#







Double [ , ]  m= new Double [5,5]

در این جلسه که قسمت ششم سری ویدئو آموزش برنامه نویسی سی شارپ هست ،راجع به آرایه های چند بعدی ،اعداد تصادفی،تایمر ها و سپس با یک پروژه کار رو پیش می بریم ویدئو این جلسه را در پایان صفحه می توانید دانلود کنید.

آرایه های چندبعدی (ماتریس ها)

برای تعریف یک آرایه نوع آرایه و نوع متغیر رو مشخص میکنیم.و اسمش را هم تعریف میکنیم.

نحوه ی تعریف آرایه:

Private void form1_load
{
Int [ ] a= new int[10] ;
}

نکته: ما زمانی از آرایه ها استفاده میکنیم که ممکن است به بیش از ده متغیر از یک نوع نیاز داشته باشیم.

فرض کنید بخواهیم ۱۰ آرایه از یک نوع تعریف کنیم(یعنی ۱۰۰ عدد رو در ۱۰ آرایه ۱۰تایی ذخیره کنیم):

  • راه اول: ۱۰ آرایه پشت سرهم تعریف کنیم:
  • Int [ ] a= new int [10] ;
    Int [ ] b= new int [10] ;
    .
    .
    .
    Int [ ] n= new int [10]
    

    راه دوم:

    اگر بخواهیم اندازه آرایمون بیش از ۱۰ باشد به شرطی که آرایه ها هم نوع و هم اندازه باشند از ساختاری استفاده میکنیم به نام آرایه های چند بعدی (یا اصطلاحا ماتریس.)

    ماتریس: خانه هایی از آرایه های هم نوع هستند که به صورت منطقی پشت سرهم قرار گرفتند.

    برای دسترسی به ماتریس ها باید از روال خاصی استفاده کرد

    نکته: در آرایه ها برای دسترسی به تک تک عناصر یک آرایه از حلقه استفاده میکردیم.

    (از دستور حلقه برای شمردن آرایه ها استفاده میکنیم)

     

    اگر بخواهیم به n آرایه دسترسی پیدا کنیم به چند حلقه نیاز داریم؟

    به تعداد هر آرایه به یک for  نیاز داریم (یعنی اگر n تا آرایه داشته باشیم،n تا for هم میخواهیم)

    برای اینکه برای هر آرایه بخواهیم از یک for  استفاده نکنیم،آرایه هایمان را در قالب ماتریس میریزیم(یعنی آرایمون رو تبدیل به یک ماتریس n*n میکنیم،که شامل تعدادی سطر و ستون است)

     

    نکته:برای نوشتن یا خواندن ماتریس ها از دو تا for  تودر تو استفاده میکنیم.

    For  اول برای شمردن سطرها. For  دوم برای شمردن ستون ها.

    برای تعریف آرایه های دو بعدی در c#   باید مشخص کنیم که آرایه ما دارای چند سطر و ستون است.

    ۱-نوع خانه های آرایه را مشخص میکنیم.

    ۲-نوع آرایه را انتخاب میکنیم.

  • Double [ , ]  m= new Double [5,5]

    نکته: برای مقدار دهی اولیه ماتریس ها دقیقا مشابه روش مقدار دهی در آرایه ها عمل میکنیم.

     

    میتوان آرایه ها را هم بعد از تعریف کردن مقدار دهی کرد:

  • Int [ ] a= {1 , 5 , 6} ;

     

    حال اگر بخواهیم ماتریس ها را به این روش مقدار دهی کنیم به ازای هر آرایه باید یک کروشه باز و بسته کنیم

  • Int [ , ] k= { {1,2} , {5,7} , {9,8} } ;
    Messagebox.show ( k [1,1] + ‘’  ‘’  ) ;
    

    اعداد تصادفی:

    میتوانیم برای این تابع یک بازه تعریف کنیم (مثلا اعدادی از ۱تا۱۰۰) و هر بار که این تابع رو اجرا کنیم بین اعداد ۱ تا ۱۰۰ یک عدد را بصورت تصادفی برای ما انتخاب و نمایش دهد.

    نکته: کاربرد اعداد تصادفی بیشتر در بازی های سطح اول است.

    برای اعداد تصادفی یک کلاسی داریم از نوع Random

  • Random mr= new random() ;

    حال تابع Next  رو فراخوانی میکنیم و بهش بازه میدهیم (مثلا از ۰ تا ۱۰۰ )

    این تابع یک عدد تصادفی تولید میکند و هر بار اجرا میشود یک عدد تصادفی بوجود می آید:

  • Mr.next(0 , 100 )
    Messagebox.show (mr.next (0,100) + “  “ ) ;
    

     

    مثال)

    برنامه ای بنوسید که یک ماتریس ۱۰*۱۰  را به ما نشان دهد که با استفاده از اعداد تصادفی پر شده باشد؟

  • Label1.text = “  “ ; 
    Int [ , ] h = new int [10,10] ;
    Int i , j ;
    Random mr = new random () ;
    For (i=0 ; i<10 ; i++)
        For (j=0 ; j<10 ; j++)
    h [ i , j ] = mr.next(1,100) ;
    
    for(i=0 ; i<10 ; i++)
    {
    For(j=0 ; j<10 ; j++)
    Label1.text += “  “ +h [i,j] ;
    Label1.text += “\n” ;
    }
    

     

    کار کردن با تایمر ها :

    این تابع زمانی استفاده میشود که میخواهیم مدت زمان استفاده از یک قسمت از برناممون رو مشخص کنیم.

     

    ابتدا از قسمت toolbox روی timer  دابل کلیک کرده و روی فرممون قرار میدهیم.

    و سپس یک متغیر استاتیک و سراسری هم تعریف میکنیم که شمارش تایمر رو حساب کند.

     

    مثال)

    برنامه ای بنویسید که تایمر را از ۳۰  ثانیه به صورت معکوس نمایش دهد؟

    اول یک متغیر از نوع استاتیک تعریف میکنیم:

  • Static int time = 30 ;
    
    Private void button2_click {
    Time = 30 ;
    Timer1.start() ; 
    }
    
    Private void timer1-click {
    (time>= 1 ) {
    Label2.text “زمان باقی مانده “ + time ;
    }
    Else {
    Time1.stop () ;
    Label2.text = “  زمان شما به اتمام رسیده است” ; 
    Dialogresult dr = messagebox.show ( “ آیا ادامه میدهید  “ ; “ اخطار ” ; messageboxbutton.YesNo ;
    messageboxIcon.exclamation;
    if(dr== system.windows.form.dialoresult.yes)
    {
    Time = 30 ; 
    Timer1.start () ;
        }
    }
    Time - - ;
    }
    

    Picturebox  :

    این تابع برای نمایش عکس عکسهایی با فرمت های jpg , png  و… تمامی فرمت های استاندارد عکس میباشد.

    به دو روش میتوان این تابع را مقدار دهی کرد:

    • هم از داخل منوی properties
    • هم از طریق کد نویسی

     

    ۱-۱ از منوی toolbox ,  کنترل picture   را روی صفحه میگداریم

    روی گزینه choose image کلیک کرده:

  • انتخاب عکس در picturebox

    انتخاب عکس در picturebox

    Project resources.rest :

    از عکسهایی که داخل خود پروژمون داریم استفاده میکنیم

    یا از قسمت local resource  خودمون عکس اضافه میکنیم.

  • انتخاب عکس از پروژه

    انتخاب عکس از پروژه

    نحوه قرار گرفتن عکس size mode :

  • نحوه قرار گرفتن عکس size mode

    نحوه قرار گرفتن عکس size mode

     

    مثال)

    برنامه ای بنویسید که بین یک تا شش عدد را بصورت تصادفی نشان دهد و برای هرکدام یک عدد عکس نشان دهد.(نسبت به اون عدد عکسمان هم عوض شود)

  • مثال بازی تاس به صورت گرافیکی
  • Private void button3-click {
    Random rd = new random () ;
    Picturebox1.image = image.fromfile ( “../pic/00” + rd.next (1,6) +“.jpg” ) ;
        }
    }
    

    نکته:

    قسمت اول:

    این عکسها  رو به صورت دستی توی قسمتی از پروژه کپی میکنیم:

    Document > visual studio 2012 > projects > اسم پروژمون windows forms application > bin > اینجا عکسامون رو کپی می کنیم

     

    قسمت دوم:

    یک button  میگذاریم که اعدادی بصورت تصادفی از ۱ تا ۶ تولید کند و نسبت به اون عدد شکلمان هم عوض شود.

ویدئو این جلسه رو می توانید از لینک زیر دانلود کنید


پاسخ دهید