تبليغاتX
فناوري‌اطلاعات ، برنامه‌نويسي

برنامه نويسي ، شبكه ، سيستم عامل ، پايگاه داده ، سيستم اطلاعات جغرافيايي ، مديريت و كنترل پروژه

Information
سلام دوست عزيز . اين وبلاگ در مورد فناوري اطلاعات و علوم مرتبط با اون هست و داراي آموزش كامل و گام به گام برنامه نويسي به زبان ++C .
************************
پيشنهاد مي‌كنم از لينك‌هاي بخش مقالات فناوري اطلاعات ديدن كنيد .
************************
به اميد اينكه مطالب مفيد واقع بشه . با ارائه نظرات سازنده ي خودتون من رو در هرچه پربارتر كردن اين وب ياري كنيد .
متشكرم

مقالات فناوري اطلاعات
پیوندها
جستجوگر

طراح قالب

Powered By
BLOGFA.COM
لینک RSS
برنامه نويسي به زبان ++C (پست 79)

دستور for

نحو دستور for به صورت زير است :

for ( initialization ; condition ; update ) statement ;

سه قسمت داخل پرانتز ، حلقه را كنترل مي‌كنند . عبارت initialization براي اعلان يا مقداردهي اوليه به متغير كنترل حلقه استفاده مي‌شود . اين عبارت ، اولين عبارتي است كه ارزيابي مي‌شود پيش از اينكه نوبت به تكرارها برسد . عبارت condition براي تعيين اينكه آيا حلقه بايد تكرار شود يا خير بكار مي‌رود . يعني اين عبارت شرط كنترل حلقه است . اگر اين شرط درست باشد ، دستور statement اجرا مي‌شود . عبارت update براي پيش بردن متغير كنترل حلقه بكار مي‌رود . اين عبارت پس از اجراي statement ارزيابي مي‌شود . بنابراين زنجيره‌ي وقايعي كه تكرار را ايجاد مي‌كنند عبارتند از :

1- ارزيابي عبارت initialization
2- بررسي شرط condition . اگر نادرست باشد حلقه خاتمه مي‌يابد .
3- اجراي statement
4- ارزيابي عبارت update
5- تكرار گام‌هاي 2 تا 4

عبارت‌هاي initialization و condition و update عبارت‌هاي اختياري هستند . يعني مي‌توانيم آنها را در حلقه ذكر نكنيم .

 

نوشته شده توسط: مرضيه در پنجشنبه چهاردهم شهریور 1387|+|
در حاشيه‌ي ++C

در پست 78 برنامه نويسي به زبان ++C ، مثالي از اعداد فاكتوريل رو نوشتم . از اونجايي كه ممكنه بعضي از دوستان با مفهوم فاكتوريل آشنايي نداشته باشن ، من در اين پست مفهوم فاكتوريل رو شرح ميدم :

براي اينكه نشون بديم كه مي‌خوايم فاكتوريل يك عدد رو محاسبه كنيم ، جلوي اون عدد علامت ! قرار ميديم . مثل : !1 يا !2 يا !3 يا ...

در رياضيات محاسبه‌ي فاكتوريل يك عدد بشكل زير هست :

مثلاٌ براي گرفتن فاكتوريل از هر عددي (در اينجا عدد 5) داريم :

5! = 5 * 4 * 3 * 2 * 1 = 120

و به اين شكل خونده ميشه : پنج فاكتوريل برابر است با پنج ضربدر چهار ، ضربدر سه ، ضربدر دو ، ضربدر يك ، برابر است با صدوبيست .

و براي هر عدد ديگري هم به همين شكل عمل مي‌كنيم .

در ضمن اين نكته رو به ياد داشته باشيد كه فاكتوريل صفر برابر با يك هست : 1=!0

 

نوشته شده توسط: مرضيه در چهارشنبه سیزدهم شهریور 1387|+|
برنامه نويسي به زبان ++C (پست 78)

مثال : اعداد فاكتوريل

اعداد فاكتوريل !0 و !1 و !2 و !3 و ... با استفاده از رابطه‌هاي بازگشتي زير تعريف مي‌شوند :

0! = 1    , n! = n ( n - 1 ) !

براي مثال ، به ازاي n=1 در معادله‌ي دوم داريم :

1! = 1 ( ( 1-1 ) ! ) = 1 ( 0! ) = 1 ( 1 ) = 1

همچنين براي n=2 داريم :

2! = 2 ( ( 2-1 ) ! ) = 2 ( 1! ) = 2 ( 1 ) = 2

و به ازاي n=3 داريم :

3! = 3 ( ( 3-1 ) ! ) = 3 ( 2! ) = 3 ( 2 ) = 6

برنامه‌ي زير همه‌ي اعداد فاكتوريل را كه از عدد داده شده كوچكترند ، چاپ مي‌كند :

int main()
{   long bound ;
    cout << " enter a positive integer : " ;
    cin >> bound ;
    cout << " factorial numbers < " << bound << " : \ n1 " ;
    long  f=1 , i=1 ;
    do
    {   cout << " ,  " << f ;
        f *= ++i ;
    }
    while ( f < bound ) ;
}

خروجي برنامه عبارت است از :

enter a positive integer : 100000
factorial numbers < 100000 :
1 , 1 , 2 , 6 , 24 , 120 , 720 , 5040 , 40320 , 362880

حلقه‌ي do..while تا وقتي تكرار مي‌شود كه شرط درون حلقه‌ي while نادرست شود . 

نوشته شده توسط: مرضيه در چهارشنبه سیزدهم شهریور 1387|+|
برنامه نويسي به زبان ++C (پست 77)

دستور do..while

ساختار do..while روش ديگري براي ساختن حلقه است . نحو آن به صورت زير است :

do statement while ( condition ) ;

به جاي condition يك شرط قرار مي گيرد و به جاي statement دستور يا بلوكي قرار مي‌گيرد كه قرار است تكرار شود . اين دستور ابتدا statement را اجرا مي‌كند و سپس شرط condition را بررسي مي‌كند . اگر شرط درست بود ، حلقه دوباره تكرار مي‌شود وگرنه حلقه پايان مي‌يابد .

دستور do..while مانند دستور while است . با اين تفاوت كه شرط اجراي حلقه به جاي اينكه در ابتداي حلقه ارزيابي گردد ، در انتهاي حلقه ارزيابي مي‌شود . يعني هر متغير كنترلي به جاي اينكه قبل از شروع حلقه تنظيم شود مي‌تواند درون آن تنظيم گردد . نتيجه‌ي ديگر اين است كه حلقه‌ي do..while هميشه بدون توجه به مقدار شرط اجرا ، حداقل يكبار اجرا مي‌شود اما حلقه‌ي while مي‌تواند اصلاٌ اجرا نشود .


مثال : محاسبه‌ي حاصل جمع اعداد صحيح متوالي با حلقه‌ي do..while

int main()
{   int  n , i=0 ;
    cout << " enter a positive integer : " ;
    cin >> n ;
    long  sum=0 ;
    do
        sum += i++ ;
    while ( i <= n ) ;
    cout << " the sum of the first " << n << " integer is " << sum ;
}

 

نوشته شده توسط: مرضيه در چهارشنبه سیزدهم شهریور 1387|+|
برنامه نويسي به زبان ++C (پست 76)

متوقف كردن يك حلقه‌ي نامتناهي

اگر از راهكارهاي خاتمه‌ي حلقه استفاده نكنيد ، حلقه براي هميشه ادامه پيدا مي‌كند و به طبع آن ، برنامه هم هيچگاه به پايان نمي‌رسد . ممكن است شرطي كه براي اجراي حلقه مي‌نويسيد هنگام اجراي برنامه هيچگاه نادرست نشود و حلقه تا بي‌نهايت ادامه يابد . در چنين مواردي از سيستم‌عامل كمك بگيريد . با فشردن كليدهاي Ctrl+C سيستم‌عامل يك برنامه را به اجبار خاتمه مي‌دهد . كليد Ctrl را پايين نگاه داشته و كليد C روي كيبورد خود را فشار دهيد تا برنامه‌ي فعلي خاتمه پيدا كند . به كد زير نگاه كنيد :

int main()
{   long bound ;
    cout << " enter a positive integer : " ;
    cin >> bound ;
    cout << " fibonacci numbers < " << bound << " : \ n0 , 1 " ;
    long  f0=0 , f1=1 ;
    while ( true )    // ERROR : INFINITE LOOP ! Press < Ctrl >+ C . )
    {   long  f2 = f0 + f1 ;
        cout << " , " << f2 ;
        f0 = f1 ;
        f1 = f2 ;
    }
}

خروجي برنامه :

enter a positive integer : 1000
fibonacci numbers < 1000 :
0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 , 233 , 377 , 610 , 987 , 159781 , 6765 , 10946 , 17711 , 28657 , 46368 , 75025 , 121393 , 196418 , 317811 , 5040 , 1346265 , 2173809 , 3524578 , 5702887 , 9227465 , 14930352 , 24157817 , 63245986 , 102334155 , 165580141 , 267914296 , 433494437 ,

چون هيچ شرط پايان حلقه‌اي در اين برنامه وجود ندارد ، اجراي برنامه تا بي‌نهايت ادامه خواهد يافت (تا وقتي حافظه سرريز شود) . پس كليدهاي Ctrl+C را فشار دهيد تا برنامه خاتمه يابد .

 

نوشته شده توسط: مرضيه در چهارشنبه سیزدهم شهریور 1387|+|
رمضان
سلام . فرا رسيدن رمضان ، ماه ضيافت الهي رو به همه‌ي شما تبريك مي‌گم و اميدوارم هيچ كدوم از مهموني خدا دست خالي برنگرديم .
نوشته شده توسط: مرضيه در سه شنبه دوازدهم شهریور 1387|+|
برنامه نويسي به زبان ++C (پست 75)

مثال : استفاده از تابع (0)exit

تابع (0)exit روش ديگري براي خاتمه دادن به يك حلقه است . هرچند كه اين تابع بلافاصله اجراي كل برنامه را پايان مي‌دهد :

int main()
{   long bound ;
    cout << " enter a positive integer : " ;
    cin >> bound ;
    cout << " fibonacci numbers < " << bound << " : \ n0 , 1 " ;
    long  f0=0 , f1=1 ;
    while ( true )
    {   long  f2 = f0 + f1 ;
        if ( f2 > bound )  exit ( 0 ) ;   // terminates the program immediately
        cout << " ,  " << f2 ;
        f0 = f1 ;
        f1 = f2 ;
    }
}

خروجي برنامه‌ي بالا به شكل زير است :

enter a positive integer : 1000
fibonacci numbers < 1000 :
0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 , 233 , 377 , 610 , 987

برنامه‌ي بالا پس از بدنه‌ي حلقه هيچ دستور ديگري ندارد . پس خاتمه دادن حلقه به معني پايان دادن برنامه است . برنامه نويسان ترجيح مي‌دهند از break براي خاتمه دادن به حلقه‌هاي نامتناهي استفاده كنند زيرا قابليت انعطاف بيشتري دارد .

 

نوشته شده توسط: مرضيه در دوشنبه یازدهم شهریور 1387|+|
برنامه نويسي به زبان ++C (پست 74)

مثال : اعداد فيبوناچي

اعداد فيبوناچي ... F0 , F1 , F2 , F3 به شكل بازگشتي توسط معادله‌هاي زير تعريف مي‌شوند :

F0 = 0   ,   F1 = 1   ,   Fn = Fn-1 + Fn-2  

مثلاٌ براي n=2 داريم :

F2 = F2-1 + F2-2 = F1 + F0 = 0 + 1 = 1

يا براي n=3 داريم :

F3 = F3-1 + F3-2 = F2 + F1 = 1 + 1 = 2

و براي n=4 داريم :

F4 = F4-1 + F4-2 = F3 + F2 = 2 + 1 = 3

برنامه‌ي زير همه‌ي اعداد فيبوناچي را تا يك محدوده‌ي مشخص كه از ورودي دريافت مي‌شود ، محاسبه و چاپ مي‌كند :

int main()
{   long bound ;
    cout << " enter a positive integer : " ;
    cin >> bound ;
    cout << " fibonacci numbers < " << bound << " : \ n0 , 1 " ;
    long f0=0 , f1=1 ;
    while ( true )
    {   long  f2=f0+f1 ;
        if ( f2 > bound )  break ;    // terminates the loop imadiately
        cout << " ,  " << f2 ;
        f0 = f1 ;
        f1 = f2 ;
    }
}

خروجي برنامه به شكل زير است :

enter a positive integer : 1000
fibonacci numbers < 1000 :
0 , 1 , 1 , 2 , 3 , 5 , 8 , 13 , 21 , 34 , 55 , 89 , 144 , 233 , 377 , 610 , 987

حلقه‌ي while شامل بلوكي از پنج دستور است . وقتي شرط ( f2 > bound ) درست باشد ، دستور break اجرا شده و بدون اينكه سه دستور آخر حلقه اجرا شوند ، حلقه فوراٌ پايان مي‌يابد .

توجه داشته باشيد كه از كاراكتر خط جديد 'n\' در رشته‌ي "1,n0\:" استفاده شده است . اين باعث مي‌شود كه علامت : در پايان خط فعلي چاپ شود و سپس مكان‌نما به خط بعدي روي مانيتور پرش كند و رشته‌ي 0,1 را ابتداي آن خط چاپ كند .

 

نوشته شده توسط: مرضيه در یکشنبه دهم شهریور 1387|+|
Technology
آرشیو
آمار وبلاگ
» تعداد بازدیدها:
» مرورگر:
امکانات اضافي

© All Rights Reserved by mrz-it.Blogfa.com ©