سه شنبه 24 دی 1392
23:25
نظرات()
در ادامه همین پست؛ پاسخ نمونه سوالات استاد رحیم پور هستند. (تهیه و تنظیم: آقایان پیچگاه و عرفانیان)
(لینک دانلود نمونه سوالات استاد رحیم پور) (البته لینک دانلود نمونه سوالات در پست قبلی این بلاگ نیز موجود است)
سوال 5، پیشرفته است و نیاز String دارد که در کلاس تدریس نشده بود برای همین از آن پرسش، چشم پوشی شد.
ابتدا کد را بخوانید و یاد بگیرید و سپس تحلیل نمایید؛ فقط حفظ نکنید.
جواب سوال یک:
(لینک دانلود نمونه سوالات استاد رحیم پور) (البته لینک دانلود نمونه سوالات در پست قبلی این بلاگ نیز موجود است)
سوال 5، پیشرفته است و نیاز String دارد که در کلاس تدریس نشده بود برای همین از آن پرسش، چشم پوشی شد.
ابتدا کد را بخوانید و یاد بگیرید و سپس تحلیل نمایید؛ فقط حفظ نکنید.
جواب سوال یک:
#include<conio.h>
#include<iostream.h>
#include<math.h>
int f(int num)
{
int s=1;
for (int i=1; i<=num; i++)
{
s=s*i;
}
return s;
}
int s(int x, int n)
{
int s=0;
for (int i=1; 2*i<=n; i++)
{
s=s+(pow(-1,i)*(pow(x,2*i)/(f(2*i)));
}
return s;
}
void main()
{
clrscr();
int x,n;
cin>>x>>n;
cout<<s(x,n);
getch();
}
//This might have issues, you may contact me if you found one or so.
/* THIS IS DOWNLOADED FOR CHECKING ONLY!!!! SOURCE: DANOUSH.MIHANBLOG.COM */
#include<iostream.h>
#include<math.h>
int f(int num)
{
int s=1;
for (int i=1; i<=num; i++)
{
s=s*i;
}
return s;
}
int s(int x, int n)
{
int s=0;
for (int i=1; 2*i<=n; i++)
{
s=s+(pow(-1,i)*(pow(x,2*i)/(f(2*i)));
}
return s;
}
void main()
{
clrscr();
int x,n;
cin>>x>>n;
cout<<s(x,n);
getch();
}
//This might have issues, you may contact me if you found one or so.
/* THIS IS DOWNLOADED FOR CHECKING ONLY!!!! SOURCE: DANOUSH.MIHANBLOG.COM */
جواب سوال دو:
#include<iostream.h>
#include<conio.h>
#include<math.h>
int n;
int a[10];
int counter(int n,int x)
{
for (int i=1; i<=n; i++)
{
cout<<"Ragham "<<i<<" az taraf yekan e addad ra vared konid va Enter konid (Masalan 16 = 1 6 ) /n";
cin>>a[i];
}
int tekrar=0;
for (i=1;i<=10;i++)
{
if (a[i]==x)
{
tekrar+=1;
}
}
return tekrar;
}
void main()
{
int x;
clrscr();
cout<<"Chand raghami ast? max=10";
cin>>n;
cout<<"Addad ra vared konid";
cin>>x;
cout<<counter(n,x);
getch();
}
#include<conio.h>
#include<math.h>
int n;
int a[10];
int counter(int n,int x)
{
for (int i=1; i<=n; i++)
{
cout<<"Ragham "<<i<<" az taraf yekan e addad ra vared konid va Enter konid (Masalan 16 = 1 6 ) /n";
cin>>a[i];
}
int tekrar=0;
for (i=1;i<=10;i++)
{
if (a[i]==x)
{
tekrar+=1;
}
}
return tekrar;
}
void main()
{
int x;
clrscr();
cout<<"Chand raghami ast? max=10";
cin>>n;
cout<<"Addad ra vared konid";
cin>>x;
cout<<counter(n,x);
getch();
}
جواب سوال سه
#include<iostream.h>
#include<conio.h>
#include<math.h>
int x[4];
void sum(int M[4][4])
{
for (int i=1; i<=4; i++) //Read M[4][4]
{
x[i]=0;
for (int j=1; j<=4; j++)
{
cin>>M[i][j];
x[i]=x[i]+M[i][j];
}
}
}
void main()
{
int M[4][4];
sum(M);
for (int i=1; i<=4; i++)
{ cout<<x[i]<<" "; }
getch();
}
#include<conio.h>
#include<math.h>
int x[4];
void sum(int M[4][4])
{
for (int i=1; i<=4; i++) //Read M[4][4]
{
x[i]=0;
for (int j=1; j<=4; j++)
{
cin>>M[i][j];
x[i]=x[i]+M[i][j];
}
}
}
void main()
{
int M[4][4];
sum(M);
for (int i=1; i<=4; i++)
{ cout<<x[i]<<" "; }
getch();
}
جواب سوال چهار
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int m=0;
for(int i=1;i<=5;i++)
{
for (int j=5-i;1<=j;j--)
{
cout<<" ";
}
m=i;
for(int z=1;z<=(2*i)-1;z++)
{
cout<<m;
m+=1;
}
cout<<endl;
}
getch();
}
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
int m=0;
for(int i=1;i<=5;i++)
{
for (int j=5-i;1<=j;j--)
{
cout<<" ";
}
m=i;
for(int z=1;z<=(2*i)-1;z++)
{
cout<<m;
m+=1;
}
cout<<endl;
}
getch();
}
جواب سوال آخر:
کد عمداَ اشتباهاتی دارد که به ترتیب عبارتند از:
اگر کد اشتباه نداشت اینگونه نوشته می شد:
#include <iostream.h>
#include <conio.h>
int x=0;
void f1(int x)
{ x=x+1;
cout<<x<<" ";
}
void f2()
{ int z=0;
cout<<z<<" ";
cout<<x<<" ";
}
void f3(int &x)
{
cout<<x<<" ";
x=10;
}
void main()
{ clrscr(); int y=3; int x=3;
f1(x);
f3(y);
f1(y);
f2();
getch();
}
کد عمداَ اشتباهاتی دارد که به ترتیب عبارتند از:
- تابع f3 برگشتی ندارد درحالی که Void نیست.
- Z در تابع main تعریف نشده است.
با این تفاسیر جواب از راست به چپ چنین خواهد بود: 4, چاپ نخواهد شد(3), 4(11) ,0,0,چیزی چاپ نمی شود.
اعداد درون پرانتز جواب هستند اگر تابع ها درست نوشته شده بودند و اشتباه شماره یک موجود نبود.
اگر کد اشتباه نداشت اینگونه نوشته می شد:
#include <iostream.h>
#include <conio.h>
int x=0;
void f1(int x)
{ x=x+1;
cout<<x<<" ";
}
void f2()
{ int z=0;
cout<<z<<" ";
cout<<x<<" ";
}
void f3(int &x)
{
cout<<x<<" ";
x=10;
}
void main()
{ clrscr(); int y=3; int x=3;
f1(x);
f3(y);
f1(y);
f2();
getch();
}
و خروجی های از چپ به راست 0 0 1 1 3 4 می بود.