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

تمرین آموزش گام سوم در برنامه نویسی ++C  

در جلسه ی قبل شناخت انواع دستورالعمل‌های انتخاب و شیوۀ به‌کارگیری هر یک  را آموختیم در ادامه به ارایه ی چند تمرین در این زمینه می پردازیم...

ایران در مسابقات جهانی برنامه‎نویسی

 

تمرین 1: مثال کتاب1 (صفحه 36)
برنامه ای بنویسید که یک عدد سه رقمی از ورودی دریافت کند و مشخص کند که آن عدد ده تاب است یا خیر؟

 

#include
#include
using namespace std;
main()
{
int a,b,c,s=0;
cout << "Enter a number (3 digits):" << endl;
cin>>a;
c=a%10;
a=a/10;
b=a%10;
a=a/10;
s=a+b+c;

if(s==10)
{
cout<<"Dahtab!";
}
else
{
cout<<"Dahtab nist!";
}

 getch();
}

 

تمرین 2: [مثال کتاب2 (صفحه 46)]
مثال کتاب2 (صفحه 46)برنامه ای بنویسید که 3 عدد از ورودی دریافت کند و مشخص کند که آیا این سه عدد تشکیل یک مثلث را می دهد یا خیر؟


#include
#include
using namespace std;
main()
{
int a,b,c;
cout << "Enter lenght of side 1:" ;
cin>>a;
cout << "Enter lenght of side 2:" ;
cin>>b;
cout << "Enter lenght of side 3:" ;
cin>>c;
   
if(a{
cout<<"Yes!";
}
else
{
cout<<"No!";
}
 getch();
}

 

تمرین 3:[  چالش 1]
توضیح سوال
حتما همه شما خاطره کلاس اول ابتدایی، معلم این کلاس و چیزهایی که یاد گرفتید را هنوز هم در یاد دارید. مثل مثال های مختلفی که معلم تان برای یادگیری چهارعمل اصلی می زد تا شما درک بهتری از جمع و ضرب و تفریق و تقسیم داشته باشید. در این کلاس درس هم معلم کلاس دست به یک ابتکارجالبی زده و برای یادگیری بهتر سعی کرده دانش آموزان را به گروه های چهارنفره تقسیم کند. به دانش آموز نفراول ودوم هر گروه گفته شده که یک عدد صحیح دلخواه انتخاب کند، سپس دانش آموزسوم باید یک عدد ازحاصل محاسبه این دو عدد بگوید و دانش آموزچهارم باید فورا با اعلام کاراکترa,b,c,d عادل (+،- ،*،/) بگوید. (به ترتیب a معادل جمع و ...) چه عملیاتی بر روی این دوعدد صورت گرفته است.


ورودی
اگر نفر اول عدد 60 را وارد کرد و دانش آموز دوم عدد 25 را وارد کرد و دانش آموزی سوم عدد 35 را وارد کرد.
 

خروجی 

برنامه جواب را برای دانش آموز چهارم که کاراکتر b است، اعلام کند.


ورودی و خروجی های نمونه
 
ورودی نمونه 1                                                    ورودی نمونه 2


                 19 3 57                                                          45 5 9

 

خروجی نمونه 1                                                 خروجی نمونه 2


C                                                                         d


#include
#include
using namespace std;
main()
{
int s1,s2,s3,d;
cout << "Enter number student1:" ;
cin>>s1;
cout << "Enter number student2:" ;
cin>>s2;
cout << "Enter number student3:" ;
cin>>s3;
   
if(s3=s1+s2)
{
cout<<"student4: a";
}
if(s3==s1-s2 || s3==s2-s1)
{
cout<<"student4: b";
}
if(s3==s1*s2)
{
cout<<"student4: c";
}
if(s3==s1/s2 || s3==s2/s1)
{
cout<<"student4: d";
}
   
 getch();
}

تمرین 4: [چالش 2 ]
توضیح سوال
شرکت "جدول گستر" قراردادی با شهرداری بسته تا جدول های شهر را رنگ آمیزی کند. شهرداری در قرارداد بسته شده ذکرکرده است که پس از کنترل ترتیب رنگ آمیزی مبلغ توافق شده را پرداخت کند. شرکت جدول گستر تصمیم گرفت برای جلب رضایت شهرداری و در راستای شاد کردن فضای شهر، هم از رنگ های متنوع استفاده کند و هم از قانون شهرداری تبعیت کند. (قانون می گوید که از هر دو جدولِ کنارِ هم، باید یکی به رنگِ روشن باشد و یکی به رنگِ تیره). مامور شهرداری برای کنترل رنگ آمیزی، به صورتِ تصادفی چهار رنگِ کنارِ هم را یادداشت می کند. به این ترتیب که به هر رنگ ِ روشن یک عددِ فرد و به هر رنگِ تیره یک عدد زوج نسبت می دهد (کد هر رنگ بین 1 تا 1000 می باشد). شهرداری از ما می خواهد که برنامه ای برای کنترل این رنگ ها بنویسیم.


ورودی
یک خط که در آن چهار عدد به عنوان کد رنگ های چهار جدول کنار هم داده می شود.


خروجی
اگر رنگ آمیزیِ این چهار جدول طبق قانون بود برنامه خروجی ok را چاپ کند و اگر غیر قانونی بود deny را چاپ کند. (خروجی باید با حروف کوچک باشد)


ورودی و خروجی های نمونه
 
ورودی نمونه 1                                                    ورودی نمونه 2


                 22 42 31 45                                                          31 66 83 2  

 

خروجی نمونه 1                                                 خروجی نمونه 2

 


                                                                      deny                                                                              ok                        

 

#include
#include
using namespace std;
main()
{
int a,b,c,d;
cout << "Enter number a:" ;
cin>>a;
cout << "Enter number b:" ;
cin>>b;
cout << "Enter number c:" ;
cin>>c;
cout << "Enter number d:" ;
cin>>d;
   
if(a%2==0 && b%2!=0 && c%2==0 && d%2!=0)
{
cout<<"Yes!";
}
else if(a%2!=0 && b%2==0 && c%2!=0 && d%2==0)
{
cout<<"Yes!";
}
else
{
cout<<"No!";
}
   
     getch();
}


تمرین 5: [تمرین کتاب1]
برنامه ای بنویسید که یک عدد سه رقمی بگیرد و مشخص کند آن عدد آرمسترانگ می باشد یا خیر؟


 

#include
#include
using namespace std;
main ()
{
 int a,b,c,d,A;
 cin>>a;
 A=a;
 b=A%10;
 a=A/10;
 c=A%10;
 A=A/10;
 d=(A*A*A)+(b*b*b)+(c*c*c);
 if(d==a)
 {
             cout<<"armestrang ast.";
 }
 else
 {
          cout<<"armestran nist.";
          }
 getch ();
 }

تمرین 6: [ تمرین کتاب2]

برنامه ای بنویسید که دو عدد چهار رقمی دریافت کند و سپس برای هر عملگر جمع، تفریق، ضرب و تقسیم به ترتیب اعداد 1 تا 4 را دریافت کند و حاصل را محاسبه و نمایش دهد:


#include
using namespace std;
int main()
{
int n1,n2,a=0;
cout<<"Enter number1: ";
cin>>n1;
cout<<"Enter number2: ";
cin>>n2;
cin>>a;
if(a==1)
cout<if(a==2)
     cout<if(a==3)
      cout<if(a==4)
    cout<

}

 

 

برای کسب اطلاعات بیشتر اینجا کلیک کنید.


 بخش پژوهش های دانش آموزی سایت تبیان

تنظیم: یگانه داودی

 

 

مطالب مرتبط:

گام سوم در آموزش برنامه نویسی

دیگر جلسات آموزشی