تبليغاتX
******خداوندا ، عقیده هایم را از عقده هایم مصون بدار * * * هر گام به جلو يک موفقيت است و شيريني طعم موفقيت رشد و حرکت را سريعتر ميکند ****** <سلام دوست من ، منتظر نظرات و پیشنهادات گرمت هستم ،با عضويت در خبرنامه وبلاگ از تغييرات و بروزرساني هاي مهم باخبرشويد :: مدیر
<انجمن علمی مهندسی کامپیوتر پیام نور بابل>

همه چیز از دنیای کامپیوتر


آموزش سی پلاس 

به نام خدا

 

قسمت سوم

 

ساختار : while

 

شرط While (

{

 

;مجموعه دستورات

 

}

 

مثال : برنامه اي بنويسيد كه جمله اي را از ورودي دريافت كرده تعداد كاركترهاي آن را نمايش دهد ؟

 

int main()

{

 int count=0;

 cout << " tupe statement and press Enter ofr end : ";

 while(cin.get() != '\n')

   count++;

 cout << "length of statement is : " << count ;

 }

 

ساختار :do … while( )

 

do

{

 

 ;مجموعه دستورات

 

}

(شرط While (

 

 

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

 

فرق بين : while , do ... while

در   do… while   دستورات داخل حلقه حتي اگر شرط هم برقرار نباشد حداقل يك بار اجرا مي شود ولي در  while  اگر شرط برقرار نباشد دستورات داخل حلقه اجرا نمي شود .

 

ساختار : if

اگر شرط برقرار باشد دستورات داخل حلقه يك بار اجرا مي شود و اگر شرط برقرار نباشد دستورات اصلاً اجرا نمي شود .

 

انتقال كنترل غير شرطي :

break , continue , goto

 

دستور : break

اين دستور در حلقه هاي تكرار مورد استفاده قرار مي گيرد و موجب خروج از حلقه هاي تكرار مي شود .

 

دستور : continue

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

 

دستور : goto label

موجب انتقال كنترل برنامه به نقطه اي كه در قسمت برچسب ( label ) دستور قرار دارد مي شود .

برچسب همانند متغيرها نامگذاري مي شود و به (:) ختم مي شود .

 

Loop:

.

.

.

.

.

goto loop:

 

ساختار  :switch

 

Switch ( )

{

 case < 1 مقدار >

 

   ;مجموعه دستورات

 

 break;

 

 case < 2 مقدار >

 

;مجموعه دستورات

 

 break;

 

 .

 .

 .

 .

 default :

 

;مجموعه دستورات

 

}

 

در ساختار   فقط مساوي بودن مقادير مورد بررسي قرار مي گيرد .

 

از اين به بعد يك قسمت به اسم پروژه اضافه ميكنم اميدوارم خوشتون بياد مساله ها به زبان انگليسي هست براي تقويت زبان شما و آشناي شما با سطح علمي دنيا در برنامه سي پلاس . لطفاً جواب مساله رو برام ميل كنيد جواب مساله ، هفته آينده از بين بهترين جواب هايي كه برام فرستادين با نام نويسنده برنامه ميزارم تو وبلاگ .

 

E-MAIL : mehdi_c_en@yahoo.com

 

خواهشمندم با نظراتتون من رو در اين بخش كمك كنيد .

با تشكر مهدي هاشمي .

 

 

It is a well-known fact that behind every good comet is a UFO. These UFOs often come to collect loyal supporters from here on Earth. Unfortunately, they only have room to pick up one group of followers on each trip. They do, however, let the groups know ahead of time which will be picked up for each comet by a clever scheme: they pick a name for the comet which, along with the name of the group, can be used to determine if it is a particular group's turn to go (who do you think names the comets?). The details of the matching scheme are given below; your job is to write a program which takes the names of a group and a comet and then determines whether the group should go with the UFO behind that comet.

Both the name of the group and the name of the comet are converted into a number in the following manner: the final number is just the product of all the letters in the name, where "A" is 1 and "Z" is 26. For instance, the group "USACO" would be 21 * 19 * 1 * 3 * 15 = 17955. If the group's number mod 47 is the same as the comet's number mod 47, then you need to tell the group to get ready! (Remember that "a mod b" is the remainder left over after dividing a by b; 34 mod 10 is 4.)

Write a program which reads in the name of the comet and the name of the group and figures out whether according to the above scheme the names are a match, printing "GO" if they match and "STAY" if not. The names of the groups and the comets will be a string of capital letters with no spaces or punctuation, up to 6 characters long.

 

Examples:

Input

Output

COMETQ

HVNGAT

GO

ABSTAR

USACO

STAY

 

INPUT FORMAT

Line 1:

An upper case character string of length 1..6 that is the name of the comet.

Line 2:

An upper case character string of length 1..6 that is the name of the group.

 

SAMPLE INPUT

COMETQ

HVNGAT

 

OUTPUT FORMAT

A single line containing either the word "GO" or the word "STAY".

 

SAMPLE OUTPUT

GO

 

 

 

نوشته شده توسط | لينک ثابت | موضوع: برنامه نويسي ++c |

++c 

قسمت دوم

 

 

ساختار برنامه ‍C++

(فايل سرايند) incade #

int main( )

}

اعلان متغيير

 دستورات اجرايي

 return 0 ;

{

 

فايل سرايند شامل توابعي است كه اين توابع در برنامه استفاده مي شود و هر گاه بخواهيم از تابعي در برنامه استفاده كنيم بايد فايل سرايند آن را بنويسيم .

پسوند اين فايل ها .h  است .

 

 :coutشي است كه براي چاپ اطلاعات در صفحه نمايش به كار ميرود و در فايل iostream.h  قرار دارد .

cout << 1عبارت <<2 عبارت …;

 

براي چاپ متن ما بايد آن را داخل كوتيشن قرار دهيم .

cout <<" hello" ;

 

كاركتر كنترلي '\n' كه در. استفاده قرار مي گيرد مورد cout  سطر جاري را رد ميكند.

 

مثال : برنامه بنويسيد كه متن را چاپ كند .

 

# include < iostream.h >

int main ( )

{

cout << " wellcame to www.css-pnu.blogfa.com "

}

مثال : برنامه اي بنويسيد كه جمع و تفريق و مقدار صحيح را در دو سطر متفاوت نمايش دهد ؟

 

# include < iostream.h >

int main ( )

{

int x = 20 , g = 30 ;

cout << x + y << '\n' ;

cout << x – y << '\n' ;

}

 

:cin براي دريافت اطلاعات از صفحه كليد از شي  cin   كه در فايل iostream.h   قرار دارد استفاده مي شود .

cin >> 1متغيير >> 2متغيير >> … ;

cin >> x >> y ;

مثال : برنامه اي بنويسيد كه شعاع دايره را گرفته و مساحت و محيط آن را چاپ كنيد؟

 

# include < iostream.h >

int main ( )

{

int x;

cout<<"Enter a number : ";

cin>>x;

cout<<"P = "<<2 * x * 3.14;

cout<<"S = "<

{

 

:Clrscr ( )  اين تابع براي پاك كردن صفحه نمايش به كار ميرود كه در فايل conio.h  قرار دارد .

 

:gotoxy ( int x , int y )  اين تابع براي انتقال مكان نما به مختصات x , y  كهx  شماره ستون و y  شماره سطر است .

 

;cin. get  get  تابعي از شي cin  مي باشد كه براي دريافت كاركتر به كار مي رود  

 

مثال :

 h = cin.get  

اين دستور كاركتر دريافتي از صفحه كليد را در متغيير h كه از نوع char  بايد تعريف شود ، قرار مي دهيم

 

مثال : برنامه اي بنويسيد كه مقدار x را از ورودي خوانده ، y  را محاسبه كند .

 

 

 

# include < iostream.h >

int main ( )

{

  int x=10;

  cout<<(2 * (x/3))/(5*x-3);

}

 

 

دستور for :

 

for ( مقدار اوليه انديس حلقه  ; شرط حلقه ; گام حركت )

}

مجموعه دستورات داخل حلقه

                                                                                                             {

 

شرط حلقه : در هر بار اجراي حلقه كنترل مي شود و تعيين مي كند كه حلقه تا كي بايد ادامه داشته باشد .

 

گام حركت : پس از هر بار اجرا به انديس حلقه اضافه مي شود .

اگر حلقه for را بصورت زير به كار بريم حلقه تا بي نهايت ادامه پيدا خواهد كرد ، با كليد Ctrl + break  بايد از برنامه خارج شد .

 

نكته :  for كه تنها داراي يك دستور باشد در داخل كتيشن قرار نمي گيرد .

 

مثال : : برنامه اي بنويسيد كه اعداد 1 تا 100 را در خروجي نمايش دهد .

 

# include < iostream.h >

int main ( )

{

int I;

for ( I = 0 ; I <= 100 ; I ++ )

cout << I << ''  " ;

}

 

 

مثال : برنامه اي بنويسيد كه اعداد 0 تا 10 را با فاصله 1/. نمايش دهد ؟

 

# include < iostream.h >

int main ( )

{

 int i;

 For (i=0 ; i<=10 ; i+= 0.1 )

 Cout<

}

 

 

مثال : برنامه اي بنويسيد كه 10 عدد از ورودي دريافت كرده و ميانگين و جمع آنها را بدست آوريد ؟

 

# include < iostream.h >

int main ( )

{
 int  x , i , sum;

 For (i=1 ; i<=10 ; i++)

 {

   cin>>x;

   sum=sum+x;

  }

 cout<<"sum = "<

 cout<<"avg = "<

 }

 

مثال : برنامه اي بنويسيد كه حروف a تا z را چاپ كند ؟ و همچنين كداسكي آنها را نيز در كنارشان چاپ كنيد ؟

 

# include < iostream.h >

int main ( )

{

char x;

int code;

for ( ch = 'a' ; ch<='z' ; ch++)

{

 code=ch;

 cout<<"char = "<   code= "<

}

}

 

 

مثال : برنامه اي بنويسيد كه جمله اي را تا به نقطه برسد دريافت كند و تعداد كاركترهاي آنرا در خروجي چاپ كند ؟

 

# include < iostream.h >

int main ( )

{

int count;

 for ( count = 0 ; cin .get ( ) ! = '.' ; count ++ );

cout<<"length = "<

}

 

 

حلقه For تودرتو :

 

for (i = 0 ; i  < 10 ; i++)

{

…..

for ( j = 0 ; j < 10 ; j++ )  

}

.....

{

{

 

 

در اين ساختار از دستور For تودرتو نام دارد . به ازاي هر بار اجراي حلقه اوّل ، حلقه دوّم تا رسيدن به پهيان شرط اجرا مي شود ، يعني به ازاي I = 0  از حلقه اوّل ، حلقه دوم از j = 0  تا j = 5 اجرا مي شود .

 

مثال : برنامه اي بنويسيد كه يك جدول ضرب 10 * 10 نمايش دهد ؟

 

# include < iostream.h >

int main ( )

{

 int i , j ;

 For (i=1 ; i<=10 ;i++)

  { 

    For (j=1 ; j<=10 ; j++)

     cout<

   cout<<'\n';

  }

}

 

 

استفاده از كاما در حلقه for : با استفاده از اين عملگر (  كاما ) مي توان در قسمت مقدار اوليه حلقه يا گام حركت دو و يا چند عبارت را با هم تركيب كرد .

for ( I = 0 , b = 0 ; I <= 10 ; I ++ , b + = 2 )

 

در اين حلقه در قسمت مقدار اوليه به دو متغيير I , b  مقدار اوليه صفر داده شده و سپس در هر گام به I يك واحد و به b دو واحد اضافه مي شود و در هر بار اجراي حلقه شرط حلقه كنترل مي شود . 

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

نوشته شده توسط Mehdi Popo | لينک ثابت | موضوع: برنامه نويسي ++c |

برنامه نويسي ++c 

به نام خداوند بخشنده ي مهربان

1.هر دستور زبان ‍‍C++ به ; ختم ميشود .

2. حداكثر طول يك دستور 255 كاركتر است .

3. هر دستور ميتواند در يك يا چند سطر ادامه داشته باشد .

4. توضيحات در بين ; قرار ميگيرد و يا بعد از // ظاهر ميشود .

انواع داده ها

هدف از برنامه نويسي ورود داده ها به كامپيوتر، پردازش داده ها و استخراخ نتايج است، لذا نقش مهمي را در برنامه نويسي ايفا ميكنند . در C++ شش نوع داده وجود دارد . char يك بايت براي ذخيره داده هاي كاركتري مثل 'a' و 'b' و int دو بايت براي ذخيره سازي اعداد صحيح مثل 100،15

float 4بايت براي ذخيره سازي اعداد اعشاري بزرگتر از float،void،bool

همچنين ميتوانيد با استفاذه از كلمات مثل signed (يا علامت) ، unsigned (بدون علامت) long & short انواع جديدي ايجاد كرد .

اگر برنامه هاي مينويسيد كه بايد در محيط هاي مختلف استفاده شوند، سعي كنيد از كوچكترين مقدار نوع در C++ استفاده كنيد، چون هر يك از انواع داده هاي char،int،float،doable مقاديري را ميپذيرند كه ممكن است از پردازنده اي به پردازنده ديگر فرق كند . به عنوان مثال: طول متغيري از نوع int در محيط 16 بيتي مثل Dos يا Windows 3.1 شانزده بيت و در محيط 32 بيت مثل Windows N.T 32 بيت است .

متغيرها: متغيرها نامي براي كلمات حافظه اند كه داده ها در آنها قرار ميگيرند و محتويات آنها ممكن است در طول اجراي برنامه تغيير كند . براي مراجعه به اين متغييرها از نامشان استفاده ميكنند . به نام گذاري آنها از حروف "a" تا "z" و "A" تا "Z" ، ارقام ، خط ربط استفاده ميكنند به طوري كه با عدد شروع نشود . نام متغيير ميتواند هر مقداري باشد فقط 31 كاركتر اول آن حساب ميشود .

مجاز

غير مجاز

sum

2book

S_mid

.ball

Test32

S mid

count

!pen

اعلان متغييرها

متغييرها داراي نوع هستند، زيرا داده ها داراي نوع هستند و متغييرهاي فاقد نوع در C++ شناخته شده نخواهند بود .

مثال :

; نام متغيير نوع داده ها

X,y int

M,n float

P1 long int

مقدار داده ها به متغييرها :

1. هنگام نوع اعلان (تعيين نوع) متغيير

2. پس از اعلان نوع متغيير و با دستور انتساب (=)

3. دستور ورودي int x,y,5;

Char ch1,"a",ch2="b";

int f,p;

Float x1,x2;

Bool m,n;

P=f=25;

X1=28,35;

X2=34,98;

M=True;

N=fales;

int x.y;

Cin >> x >>y;

اعلان ثوابت :

ثوابت مقاديري در برنامه هستندكه قابل تغيير نيستند . براي اعلان ثوابت به دو روش عمل ميكنيم .

1. استفاده از define #

2.استفاده از دستور const

; مقدار نام ثابت #define

3.14; PI define#

مقدار = نام ثابت نوع داده const

o 2 h= int const

عملكردها

1. عملكردهاي محاسباتي

2. عملكردهاي رابطه اي

3. عملكردهاي منطقي

4. عملكردهاي بيتي

مقاديري را كه عملكردها بر روي آنها عمل ميكنند، عملوند گويند.

عملكردهاي محاسباتي :

عملگر

نام

مثال

-

تفريق

-x x-y

+

جمع

x+y

*

ضرب

x*y

/

تقسيم

x/y

%

باقي مانده

x%y

--

كاهنده

--x x--

++

افزاينده

++y y++

Int x=10 , m=20 ;

x--;

++m;

اگر عملكردهاي ++ يا - - در عبارات محاسباتي قبل از عملوند قرار گيرند، ابتدا اين عملگرها عمل كرده نتيجه آن در محاسبات شركت ميكند ولي اگر بعد از عملوند ظاهر شوند مقدار فعلي عملوند در محاسبه مورد استفاده قرار گرفته سپس عملگر بر روي عملوندعمل ميكند .

تقدم عملگرها : عملگر % و / و * داراي تقدم يكساني هستند و از عملگرهاي – و+ كه خود داراي تقدم يكساني هستند، تقدم دارند . عملگرهاي كه تقدم هاي آنها با هم يكسان است، هر كدام زودتر بيايند همان عملگر زودتر انجام ميشود .

عملگرهاي رابطه هاي

اين عملگر در دستورات شرطي براي مقايسه دو مقدار مورد استفاده قرار ميگيرد

علگرهاي منطقي

عملگر منطقي بر روي عبارت منطقي عمل ميكند . عبارت منطقي داراي ارزش درستي و نادرستي است . در زبان C++ ارزش درستي 1 و نادرستي صفر است

عملگر

نام

مثال

!

نقيض (not)

!x

&&

و (and)

x>y && m

||

يا (or)

x

 

نتيجه عملگر ! وقتي درست است كه عملوند آن داراي ارزش نادرست باشد . نتيجه عملگر وقتي درست است كه هردو عملوند ارزش درست داشته باشند . نتيجه عملگر || وقتي نادرست است كه هردو عملوند ارزش نادرست داشته باشند .

عملگرهاي تركيبي

عملگر

نام

مثال

معادل

=+

انتساب جمع

x+=y

x=x+y

=-

انتساب تفريق

x-=y

x=x-y

=*

انتساب ضرب

x*=y

x=x*y

=/

انتساب تقسيم

x/=y

x=x/y

=%

انتساب باقيمانده تقسيم

x%=y

x=x%y

 

عملگرهاي & و *

همانطور كه گفتيم متغييرها نامي براي حافظه اند و كلمات حافظه نيز داراي شماره رديف ميباشند كه ما آن را آدرس ميگوييم . با استفاده از عملگر & به آدرس متغيير ميتوان دسترسي پيدا كرد و عملگر * نيز براي دسترسي غير مستقيم به حافظه مورد استفاده قرار ميگيرد .

P=&x;

*P=5;

m=*p;

آدرس x در p قرار مي گيرد P=&x;

xp=5

جايي كه آدرس آن P است (همان x ) برابر با 5 قرار ميگيرد .

m=*P

محتويات جايي كه آدرسش در P است (5) درm قرار ميگيرد .

عملگر، عباراتي را ارزيابي كرده براساس ارزش آن عبارات (درستي يا نادرستي) نتيجه : عبارت ديگر را در متغيير قرار ميدهيد :

عبارت3 : عبارت ؟ عبارت 1= متغيير

Y=x>5 ? x*2 : x*5

عملگر پرانتز

پرانتزها عملگرهايي هستند كه براي تقدم عملگرهاي خود به كار مي وند .

پايان قسمت اول

نوشته شده توسط Mehdi Popo | لينک ثابت | موضوع: برنامه نويسي ++c |






Powered by  MyPagerank.Net
" type=text/javascript>language="javascript" >