-1 (مسئله ی 16): برنامه ای بنویسید که دستور فاکتوریل را انجام دهد . یعنی اینکه عددی را از ورودی گرفته و فاکتوریل آنرا را حساب کند .
راهنمایی :
0!=1 و a!= 1*2*3*…*a
2 (مسئله ی 17):برنامه ای بنویسید که 10 عدد از ورودی گرفته و بزرگترین آنها را مشخص کند .
-3 (مسئله ی 18 ): برنامه ای بنویسید که عددی را گرفته و مشخص کند که آیا عدد اول است یا نه .
-4 (مسئله ی 19 ): برنامه ای بنویسید که عددی را از ورودی گرفته و مشخص کند که عدد گرفته شده تام است یا نه .
(راهنمایی : عدد تام عددی است که مجموع مقسوم علیه های کوچکتر از خودش ، برابر خودش باشد )
-5 (مسئله ی 20 ): برنامه ای بنویسید که اعداد اول 1 تا 5000 را چاپ کند .
-6 (مسئله ی 21 ):برنامه ای بنویسید که عددی را گرفته و مقسوم علیه های آنرا چاپ کند . (می توانید برنامه را گسترش دهید تا تعداد و
مجموع مقسوم علیه ها را هم چاپ کند . )
-7 (مسئله ی 22):برنامه ای بنویسید که مجموع مضارب 5 را بین 1 و 100 چاپ کند .
-8 (مسئله ی 23 ):برنامه ای بنویسید که دو عدد را از ورودی بگیرد و اعداد بین آنها را چاپ کند .
-9 (مسئله ی 24 ):برنامه ای بنویسید که تعداد مضارب 7 و 5 را در بازه ی بین 1 تا 10000 چاپ کند .
(توضیح : اعداد مورد نظر هم باید مضرب 7 باشد و هم مضرب 5 )
10 (- مسئله ی 25 ):برنامه ای بنویسید که 10 عدد را گرفته و میانگین و حاصلجمع آنها ر ا به ما بدهد .
11- (مسئله ی 26 ):دنباله ی فیبوناچی به صورت زیر است :
1,1,2,3,5,8,13,21…
این دنباله به صورت زیر تعریف می شود :
Fn برنامه ای بنویسید که با دریافت مقدار صحیح n ، مقدار را برای دنباله ی فیبوناچی چاپ کند .
12 – ( مسئله ی 27) : برنامه ای بنویسید که تعدادی عدد گرفته و مجموع مربعات آن را حساب کن
تمرین 1 :
#include <iostream.h>
int main()
{
int i,n,a;
long int p;
cout<<“structur is p=n! . enter n : “<<endl;
cin>>n;
p=1;
i=1;
if(n==0)
cout<<” 0! is 1 “;
else
{
while (i<=n)
{
p=p*i;
i++;
}
cout<<n<<“! is “<<p;
}
return 0;
}
تمرین 2 :
#include <iostream.h>
int main()
{
int i,max,n,a;
cout<<“enter 10 numbers : “<<endl;
cin>>n;
max=n;
i=1;
while (i<10)
{
if (n>max)
max=n;
cin>>n;
i++;
}
cout<<max<<” is max number “;
return 0;
}
تمرین 3 :
#include <iostream.h>
int main()
{
int i,p,mod,n,a;
cout<<“enter number : “<<endl;
cin>>n;
i=1;
p=0;
while (i<=n)
{
mod=n%i;
if (mod==0)
p=p+1;
i++;
}
if (p==2)
cout<<” aval ast ! “;
else
cout<<” aval nist ! “;
return 0;
}
تمرین 4 :
#include <iostream.h>
int main()
{
int i,p,mod,n;
cout<<“enter number : “<<endl;
cin>>n;
i=1;
p=0;
while (i<n)
{
mod=n%i;
if (mod==0)
p=p+i;
i++;
}
if (p==n)
cout<<” taam ast ! “;
else
cout<<” taam nist ! “;
return 0;
}
تمرین 5 :
#include <iostream.h>
int main()
{
int i,p,mod,n,a;
while (n<=50)
{
while (i<=n)
{
mod=n%i;
if (mod==0)
p=p+1;
i++;
}
if (p==2)
cout<<n<<endl;
n++;
i=1;
p=0;
}
return 0;
}
تمرین 6 :
فقط مقسوم عليه ها :
#include <iostream.h> //tedad e magsoom aleyh ha !
int main()
{
int i,p,mod,n,a;
cout<<“enter number : “<<endl;
cin>>n;
i=1;
while (i<=n)
{
mod=n%i;
if (mod==0)
cout<<i<<” – “;
i++;
}
cout<<endl;
return 0;
}
مقسوم عليه ها ، تعداد و مجموع آنها :
#include <iostream.h>
int main()
{
int i,mod,n,a;
cout<<“enter number : “<<endl;
cin>>n;
i=1;
int s=0; //majmo
int p=0; //tedad
cout<<“Magsoom aleyh ha are : ” ;
while (i<=n)
{
mod=n%i;
if (mod==0)
{
cout<<i<<” – “;
p++;
s+=i;
}
i++;
}
cout<<endl<<“majmo magsoom aleyh ha : “<<s<<endl;
cout<<“tedad e magsoom aleyh ha : ” <<p<<endl;
cout<<endl;
return 0;
}
تمرین 7 : مجموع مضارب 1 5 بين و 100 :
#include <iostream.h>
int main()
{
int i,p,mod,n,s,a;
cout<<“enter number : “<<endl;
cin>>n;
i=1;
p=0;
s=0;
while (i<=n)
{
mod=n%i;
if (mod==0)
{
cout<<i<<” – “;
s=s+i;
p++;
}
i++;
}
cout<<endl<<“tedad : “<<p<<endl;
cout<<“majmo : “<<s<<endl;
return 0;
}
. تمرین : 8 دو عدد از ورودی گرفته و اعداد بين آنها را چاپ کند:
#include <iostream.h>
int main()
{
int i,a,b;
cout<<“enter the first number number : “;
cin>>a;
cout<< “enter the second number : ” ;
cin>>b;
if (b>a)
{
i=b;
b=a;
a=i;
}
i=b+1;
cout<<endl<<“Adad e bein : ” ;
while (i<a)
{
cout<<i<<” , “;
i++;
}
return 0;
}
تمرین 9 :
#include <iostream.h>
int main()
{
int i,n;
i=1;
int p=0; //tedad
while (i<=10000)
{
if ((i%7==0)&&(i%5 ==0))
p++;
i++;
}
cout<<“tedad : ” <<p<<endl;
return 0;
}
تمرین 10 :
#include <iostream.h>
int main()
{
int i,n;
i=1;
int s=0; //majmo
while (i<=10)
{
cin>>n;
s+=n;
i++;
}
cout<<“majmo : ” <<s<<endl;
cout<<“miangin : ” <<(s/10)<<endl;
return 0;
}
تمرین 11: دنباله ی اعداد فيبونچی :
#include <iostream.h>
int main()
{
int f1,f2,f,i,n;
i=1;
f1=1;
f2=1;
f=1;
cin>>n;
while ((i<n-1)&&(n>2))
{
f=f2+f1;
f1=f2;
f2=f;
i++;
}
cout<<“N=”<<f;
return 0;
}
تمرین 12 : مجموع مربعات تعداد ی عدد را در خروجی چاپ کند :
#include <iostream.h>
int main()
{
int s=0,i,n,a;
i=1;
cout<<“enter tedad : “;
cin>>n;
cout<<endl<<“enter numbers : “;
while (i<=n)
{
cin>>a;
s+=a*a;
i++;
}
cout<<“Majmo morabaat : S=”<<s;
return 0;
}
توابع و کلاس ها :
در این قسمت مبحث تابع را بيشتر فرا خواهيد گرفت بطوریکه بوسيله ی توابعی که معرفی خواهيم ، خوهيد توانست قدرت برنامه نویسی خود را فوق العاده
افزایش خواهيد داد .
تابع : دستور یا مجموعه ای از دستورات است که می تواند بصورت پيش فرض و یا بصورت نوشته شده توسط خود کاربر باشند ، که عمليات خاصی را بر روی
متغيری که دریافت می کنند ، انجام می دهند .
همانطور که گفته شد توابع دو گروهند :
-1 توابعی پيش ساخته و از قبل به همراه کمپایلر ++C ارائه شده اند که به آنها توابع کتابخانه ای می گویند .مثل تابع cos (گرفتن کسينوس یک ) زاویه
-2 توابعی که کاربر بر حسب ضرورت و نياز آنها را می نویسد و در برنامه ی خود استفاده می کند .
البته در مورد استفاده از توابع کتابخانه ای باید توجه کنيم که هر یک از توابع ، هریک در فایل مخصوصی جای داده شده اند که همانطور هم که در قسمت اول
گفته شد به آنها فایل های سر آیند می گویيم که دارای پسوند h. هستند . در این فایل ها ، تمام اطلاعات لازم برای اجرای یک تابع خاص وجود دارد . به
عنوان مثال برای استفاده از توابع ورودی و خروجی ( cout , cin ) باید سرفایل iostream.h را فراخوانی کنيم . یعنی همانطور که قبلا گفتيم در بالای کد خود ،
به این شکل می نویسيم :
#include <iostream.h>
توابع کتابخانه ای :
توابع ریاضی : در جدول زیر ليستی از توابع ریاضی را مشاهده می فرمایيد .
هر یک از توابع زیر یک یا چند مقدار را در داخل پرانتز می گيرند و بعد از عمليات خاصی آنرا به صورت مقداری خروجی می دهند .
مثلا : نمونه ای از کابرد تابع قدر مطلق را در زیر می بينيد . به نحوه ی کار با آن توجه کنيد :
int b=-9;
cout<<fabs(b); //will print 9 in output
شما می توانيد بر اساس خلاقيت خود یک تابع را بصورت های گوناگونی بکار ببرید :
cout<<fabs(-9)<<endl<<; //will print 9 in output