ParsX.com
پذیرش پروژه از دانشجویی ... تا سازمانی 09376225339
 
   ProfileProfile   Log in to check your private messagesLog in to check your private messages  |  FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups Log inLog in   RegisterRegister 

1 تست از کارشناسی ناپیوسته(سراسری 81)

 
Post new topic   Reply to topic    ParsX.com Forum Index -> C/C++ Programming
View previous topic :: View next topic  
Author Message
reza_telecom
بابا اينكاره


Joined: 10 Dec 2004
Posts: 108

PostPosted: Sat Dec 11, 2004 1:41 am    Post subject: 1 تست از کارشناسی ناپیوسته(سراسری 81) Reply with quote

2)در صورت اجرای برنامه زیر خروجی آن چیست؟



#include <stdio.h>
int main(){
              int i,j;
long int sum=0;
              for(j=0; j<10; ++j)
              { scanf ("%d",i);
                 sum+=i;
                 printf (" the sum of number:%d",sum);
               }
}


الف) برنامه دارای خطا است ولی حاصل 10 عدد نامشخص روی صفحه چاپ میشود.
ب)برنامه دارای خطای error بوده و اجرا نمیشود.
ج) 10 عدد از ورودی میگیرد و حاصل جمع آنها را به ترتیب چاپ میکند.
د) 10 بار مقدار sum را روی صفحه چاپ میکند.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Sat Dec 11, 2004 8:01 pm    Post subject: Reply with quote

به اين ميگن سوال !
Question
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Sat Dec 11, 2004 8:04 pm    Post subject: Reply with quote

رضا تا حالا نديدم از دكمه ارسال پاسخ استفاده كني !
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Sat Dec 11, 2004 8:58 pm    Post subject: Reply with quote

vahid wrote:
رضا تا حالا نديدم از دكمه ارسال پاسخ استفاده كني !

آقا رضا جان آقا وحید منظورشون این هست که گاهی وقتا به بقیه سوالها هم جواب بدی .
یادآوری :
می دانید که حلقه بالا 10 بار اجرا می شود وبه جای این دستورات می توان از دستورات زیر استفاده کرد زیرا این سری دستورات با هم کاملا یکسان هستند .

 #include <stdio.h>
int main(){
              int i,j;
long int sum=0;
 for(j=1; j<=10; scanf ("%d",i) , sum+=i , printf("The sum of number:%d",sum) , j++);
}


Last edited by arash on Sat Dec 11, 2004 9:01 pm; edited 2 times in total
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Sat Dec 11, 2004 8:59 pm    Post subject: Reply with quote

در مثال فوق I از نوع integer می باشد وعددی است که ما از ورودی می گیریم ، j نیز شمارده حلقه بوده و باعث می شود که حلقه for ده بار اجرا شود . و در نهایت sum که هر بار I را با مقدار قبلی sum جمع می کند ( مقدار اولیه sum صفر می باشد ) .
اولا ما ده عدد از ورودی می گیرم و دستور printf باعث می شود با هر بار اجرای حلقه مقدار sum چاپ شود . پس گزینه ج صحیح می باشد .
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Sat Dec 11, 2004 9:50 pm    Post subject: Reply with quote

اينجاست كه آرش توي كنكور منفي ميزنه !!!
آرش يك نمره منفي باقي دوستان نظري ندارند ؟
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Sun Dec 12, 2004 5:40 pm    Post subject: Reply with quote

پس دوستان نظري ندارند . من اگه بودم گزينه الف رو انتخاب ميكردم...
Back to top
reza_telecom
بابا اينكاره


Joined: 10 Dec 2004
Posts: 108

PostPosted: Sun Dec 12, 2004 7:18 pm    Post subject: Reply with quote

کاملا حق با آقا وحید است . گزینه 1 درست است.

از آنجا که دریافت عدد توسط تابع scanf باید قبل از متغیر عددی از علامت & بهره برد لذا دستور scanf سبب بروز خطا میشود. ولی برنامه اجرا میشود ( خطای نحوی ندارد) با چرخش حلقه for به تعداد 10 بار حاصل جمع 10عدد نامشخص در متغیر sum ذخیره شده و در هر مرحله چرخش چاپ را خواهیم داشت زیرا printf در حلقه قرار دارد.

با تشکر reza_telecom و به امید موفقیت امتحان آمار برای وحید.
Back to top
vahid
بي تو هرگز


Joined: 26 Nov 2004
Posts: 3067
Location: Tehran

PostPosted: Sun Dec 12, 2004 7:59 pm    Post subject: Reply with quote

البته يه مورد ديگه هم برنامه بالا خطا داره !
برنامه return نداره .
كه نبود return در توابعي كه قبل از انها از void استفاده نشده سبب بروز يك warning ميشود كه البته برنامه كامپايل هم ميشه ...
Back to top
arash
مدير بخش سي
مدير بخش سي


Joined: 27 Nov 2004
Posts: 1232
Location: www.parsx.com

PostPosted: Mon Dec 13, 2004 5:01 am    Post subject: vay Reply with quote

خوب پس اگه دقیق بخواهیم محاسبه کنیم گزینه چندم می شه ؟
به نظر همه همون گزینه الف شد دیگه نه ؟؟؟
Back to top
Display posts from previous:   
Post new topic   Reply to topic    ParsX.com Forum Index -> C/C++ Programming All times are GMT + 3.5 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum