بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
مدیران انجمن: Parsian، rosa_127، Moh3n II، مدیران
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
X=4;
Y=++x*(++x);
Switch(y) {
Case 25:cout<<"a";
Default : cout <<"b";
Case 36 :cout<<"c";
{
چرا خروجی میشه c میشود ؟
چرا خروجی bنیست؟
(دیگه الان سوال واضح است!)
Y=++x*(++x);
Switch(y) {
Case 25:cout<<"a";
Default : cout <<"b";
Case 36 :cout<<"c";
{
چرا خروجی میشه c میشود ؟
چرا خروجی bنیست؟
(دیگه الان سوال واضح است!)
کسی که با دانش خود به پیکار با جهل خویش برخیزد
به بالاترین خوشبختی می رسید
به بالاترین خوشبختی می رسید
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
فرم نرمال مین ترم عبارت f=c'(a'+ b شده
' F=a b c'+ a' b c' + a' b'c
کسی می دونه چجوری؟
' F=a b c'+ a' b c' + a' b'c
کسی می دونه چجوری؟
کسی که با دانش خود به پیکار با جهل خویش برخیزد
به بالاترین خوشبختی می رسید
به بالاترین خوشبختی می رسید
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
تو تست اول چون switch ما به break ختم نشده ، دستورات بعد از default و اینجا یعنی case 36 اجرا میشه.
تو این تست مدار هم برای بدست آوردن نرمال مین ترم، کارنوی سه متغیره ش رو رسم می کنیم و تابعش رو به تفکیک سلول ها (پیچیده ترین حالت تابع) مینویسیم.
تو این تست مدار هم برای بدست آوردن نرمال مین ترم، کارنوی سه متغیره ش رو رسم می کنیم و تابعش رو به تفکیک سلول ها (پیچیده ترین حالت تابع) مینویسیم.
Just SMILE..it WORKS
- رضــــــــــا
- كاربر عالي

- پست: 1449
- تاریخ عضویت: یکشنبه 16 اسفند 1388, 7:17 pm
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
توضیحاتمو سعی کردم طوری بدم که به فرد خاصی اشاره نداشته باشه. غیر از شما هم قبلاً بچه ها این مدلی سوال پرسیده بودن...roya21 نوشته شده:(دیگه الان سوال واضح است!)
حاصل Y برابر 30 می شه که هیچکدوم از case ها رو شامل نمی شه. پس default باید اجرا شه. اما چون بعد از اون break نداریم، تا رسیدن به انتهای بلاک جلو می ریم و c چاپ می شه.roya21 نوشته شده:کد: انتخاب همه
X=4; Y=++x*(++x); Switch(y) { Case 25:cout<<"a"; Default : cout <<"b"; Case 36 :cout<<"c"; {
وقتی می گه فرم نرمال، یعنی باید همه ی عبارات تمامی حروف رو داشته باشن (در اینجا چون تابع از سه حرف a,b,c تشکیل شده، همه عبارات باید سه حرفی باشند). برای اینکار:roya21 نوشته شده:فرم نرمال مین ترم عبارت f=c'(a'+ b شده
' F=a b c'+ a' b c' + a' b'c
کد: انتخاب همه
f=c'(a'+b)
==> f = c'a' + c'b
==> f = c'a'b + c'a'b' + c'ba+ c'ba'
اگر درباره ی افراد قضاوت کنید، فرصتی برای دوست داشتنشان نمی یابید
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
مقدار y=++x*++x میشه همون 36. درواقع ++x دوم توی x اول هم ریخته میشه، چون تو اولویت عملگرها داریم: unary>*/% ،و نهایتاً x++x ~~> x=6++ و x*x=36رضــــــــــا نوشته شده:
حاصل Y برابر 30 می شه که هیچکدوم از case ها رو شامل نمی شه. پس default باید اجرا شه. اما چون بعد از اون break نداریم، تا رسیدن به انتهای بلاک جلو می ریم و c چاپ می شه.
Just SMILE..it WORKS
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
خسته نباشید دوستان، راستش دلم نمیاد PDF سوالات کنکورو ببرم پرینت بگیرم، میخوام تست که میزنم دفترچه باشه و برم تو فاز جلسه کنکور
میخواستم مجموعه سوالات مدرسان رو بخرم ولی به نظر خیلیییی حجیمه حوصله ندارم اینهمه چیز میز بخونم، جایی رو میشناسید که دفترچه ی کنکورهای سراسری گذشته رو بصورت چاپی بفروشن؟
Just SMILE..it WORKS
- رضــــــــــا
- كاربر عالي

- پست: 1449
- تاریخ عضویت: یکشنبه 16 اسفند 1388, 7:17 pm
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
خیر 30 می شه. در واقع حاصل 5 * 6 هست. می تونین تو کامپایلر ازش خروجی بگیرین.lalaya نوشته شده:مقدار y=++x*++x میشه همون 36. درواقع ++x دوم توی x اول هم ریخته میشه، چون تو اولویت عملگرها داریم: unary>*/% ،و نهایتاً x++x ~~> x=6++ و x*x=36
اگر درباره ی افراد قضاوت کنید، فرصتی برای دوست داشتنشان نمی یابید
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
رضــــــــــا نوشته شده:خیر 30 می شه. در واقع حاصل 5 * 6 هست. می تونین تو کامپایلر ازش خروجی بگیرین.lalaya نوشته شده:مقدار y=++x*++x میشه همون 36. درواقع ++x دوم توی x اول هم ریخته میشه، چون تو اولویت عملگرها داریم: unary>*/% ،و نهایتاً x++x ~~> x=6++ و x*x=36
Just SMILE..it WORKS
- رضــــــــــا
- كاربر عالي

- پست: 1449
- تاریخ عضویت: یکشنبه 16 اسفند 1388, 7:17 pm
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
جالبه. تو توربو ++C این کد رو زدم، جواب 30 شد.
اما تو ویژوال استدیو که می زنم کد مشابهش رو، خروجی 36 هست.
به هر حال استدلالم اینه که اول یکی به 4 اضافه می شه که می شه 5.
بعد در x دوم، یکی به 5 اضاف می شه و می شه 6.
در نهایت 5 در 6 ضرب شده و 30 رو به ما می ده.
ولی شما می گی ابتدا این 6 روی x اول هم اعمال می شه و بعد در هم ضرب می شن.
نمی دونم.
اما تو ویژوال استدیو که می زنم کد مشابهش رو، خروجی 36 هست.
به هر حال استدلالم اینه که اول یکی به 4 اضافه می شه که می شه 5.
بعد در x دوم، یکی به 5 اضاف می شه و می شه 6.
در نهایت 5 در 6 ضرب شده و 30 رو به ما می ده.
ولی شما می گی ابتدا این 6 روی x اول هم اعمال می شه و بعد در هم ضرب می شن.
نمی دونم.
اگر درباره ی افراد قضاوت کنید، فرصتی برای دوست داشتنشان نمی یابید
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
سلام .. ممنونم که جواب سوالات رو انقدر واضح می دید .. درسوال اول باید دقت کنیم که اول دستور defult اومده .. طبیعتا اگر جواب ما به defult ختم می شد ما bc رو به عنوان خروجی مشاهده می کردیم برای همین من فکر می کنم جواب 36 شده باشه که فقط c چاپ شده .. ولی با این حال بازهم نمی فهمم چرا جواب مون 36 میشهرضــــــــــا نوشته شده:توضیحاتمو سعی کردم طوری بدم که به فرد خاصی اشاره نداشته باشه. غیر از شما هم قبلاً بچه ها این مدلی سوال پرسیده بودن...roya21 نوشته شده:(دیگه الان سوال واضح است!)حاصل Y برابر 30 می شه که هیچکدوم از case ها رو شامل نمی شه. پس default باید اجرا شه. اما چون بعد از اون break نداریم، تا رسیدن به انتهای بلاک جلو می ریم و c چاپ می شه.roya21 نوشته شده:کد: انتخاب همه
X=4; Y=++x*(++x); Switch(y) { Case 25:cout<<"a"; Default : cout <<"b"; Case 36 :cout<<"c"; {
وقتی می گه فرم نرمال، یعنی باید همه ی عبارات تمامی حروف رو داشته باشن (در اینجا چون تابع از سه حرف a,b,c تشکیل شده، همه عبارات باید سه حرفی باشند). برای اینکار:roya21 نوشته شده:فرم نرمال مین ترم عبارت f=c'(a'+ b شده
' F=a b c'+ a' b c' + a' b'cفرم نرمالش باید 4 جمله باشه. که جمله ی اول و آخر مشابه هستن و یکیشون حذف می شه.کد: انتخاب همه
f=c'(a'+b) ==> f = c'a' + c'b ==> f = c'a'b + c'a'b' + c'ba+ c'ba'
پرواز را به خاطر بسپار .. پرنده مردنی است .
- soroushsh
- کاربر معمولي

- پست: 132
- تاریخ عضویت: سهشنبه 22 شهریور 1390, 11:27 pm
- محل اقامت: Shiraz
- تماس:
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
کد: انتخاب همه
X=4;
Y=++x*(++x);
Switch(y) {
Case 25:cout<<"a";
Default : cout <<"b";
Case 36 :cout<<"c";
{طولانی ترین سفرها نیز یك روز با گامی كوچک آغاز می شود
از ابتدای كار نترس به انتهای كار فكر كن
از ابتدای كار نترس به انتهای كار فكر كن
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
مگه تو c++ نداریم که: تو تقدم عملگر ها ، plus plus و minus minus پیشوندی به عملگرهای ریاضی اولویت دارن!؟soroushsh نوشته شده: چجور برنامه شما 36 رو کامپایل میکنه؟
تو خط اول داریم x=4
تو خط بعد، پرانتز در اولویته (هرچند بود و نبودش فرقی تو جواب مسئله نداره) پس اول عبارت داخل پرانتز پردازش میشه و داریم:
کد: انتخاب همه
(++x)=5کد: انتخاب همه
++x=6کد: انتخاب همه
y=++x*(++x) = y=x*x = y=6*6=36کد: انتخاب همه
y=++x*(++x)کد: انتخاب همه
y=x++*(x++)کد: انتخاب همه
y=16+در ضمن همونطور که دوستمون missleili گفتن، اگه بعد از default بحای case 36 هر مقدار دیگه ای داشتیم، خود دستور default هم اجرا میشد و تو خروجی بجای c داشتیم bc
آخرین ویرایش توسط lalaya در یکشنبه 22 تیر 1393, 7:21 pm، در مجموع 3 بار ویرایش شده است.
Just SMILE..it WORKS
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
فروم به امثال شما نیاز داره، ممنون که با وجود کنکوری نبودن درگیر سوالات بچه ها میشین.رضــــــــــا نوشته شده: جالبه. تو توربو ++C این کد رو زدم، جواب 30 شد.
اما تو ویژوال استدیو که می زنم کد مشابهش رو، خروجی 36 هست.
به هر حال استدلالم اینه که اول یکی به 4 اضافه می شه که می شه 5.
بعد در x دوم، یکی به 5 اضاف می شه و می شه 6.
در نهایت 5 در 6 ضرب شده و 30 رو به ما می ده.
ولی شما می گی ابتدا این 6 روی x اول هم اعمال می شه و بعد در هم ضرب می شن.
نمی دونم.
Just SMILE..it WORKS
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
راستی منبع این تست کجا بود دوست عزیز؟ تست کنکور سراسری بود یا آزاد و اینا؟ یا تالیفی؟roya21 نوشته شده:X=4;
Y=++x*(++x);
Switch(y) {
Case 25:cout<<"a";
Default : cout <<"b";
Case 36 :cout<<"c";
{
چرا خروجی میشه c میشود ؟
چرا خروجی bنیست؟
Just SMILE..it WORKS
- soroushsh
- کاربر معمولي

- پست: 132
- تاریخ عضویت: سهشنبه 22 شهریور 1390, 11:27 pm
- محل اقامت: Shiraz
- تماس:
Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر
مگه تو c++ نداریم که: تو تقدم عملگر ها ، plus plus و minus minus پیشوندی به عملگرهای ریاضی اولویت دارن!؟lalaya نوشته شده:soroushsh نوشته شده: چجور برنامه شما 36 رو کامپایل میکنه؟
تو خط اول داریم x=4
تو خط بعد، پرانتز در اولویته (هرچند بود و نبودش فرقی تو جواب مسئله نداره) پس اول عبارت داخل پرانتز پردازش میشه و داریم:
کد: انتخاب همه
(++x)=5کد: انتخاب همه
++x=6کد: انتخاب همه
y=++x*(++x) = y=x*x = y=6*6=36کد: انتخاب همه
/(++x)طولانی ترین سفرها نیز یك روز با گامی كوچک آغاز می شود
از ابتدای كار نترس به انتهای كار فكر كن
از ابتدای كار نترس به انتهای كار فكر كن

