بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

در این قسمت میتونید به بحث در مورد کنکور کاردانی به کارشناسی بپردازید

مدیران انجمن: Parsian، rosa_127، Moh3n II، مدیران

قفل شده

سطح کنکور امسال

1- آسان
7
21%
2- متوسط
22
67%
3- سخت
4
12%
 
مجموع رأی ها: 33

roya21
کاربر ساده
کاربر ساده
پست: 52
تاریخ عضویت: سه‌شنبه 9 مهر 1392, 3:53 pm
محل اقامت: دزفول

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط roya21 » جمعه 20 تیر 1393, 7:34 pm

X=4;
Y=++x*(++x);
Switch(y) {
Case 25:cout<<"a";
Default : cout <<"b";
Case 36 :cout<<"c";
{
چرا خروجی میشه c میشود ؟
چرا خروجی bنیست؟


(دیگه الان سوال واضح است!)
کسی که با دانش خود به پیکار با جهل خویش برخیزد
به بالاترین خوشبختی می رسید

roya21
کاربر ساده
کاربر ساده
پست: 52
تاریخ عضویت: سه‌شنبه 9 مهر 1392, 3:53 pm
محل اقامت: دزفول

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط roya21 » جمعه 20 تیر 1393, 7:44 pm

فرم نرمال مین ترم عبارت f=c'(a'+ b شده

' F=a b c'+ a' b c' + a' b'c


کسی می دونه چجوری؟
کسی که با دانش خود به پیکار با جهل خویش برخیزد
به بالاترین خوشبختی می رسید

آواتار کاربر
lalaya
کاربر متوسط
کاربر متوسط
پست: 214
تاریخ عضویت: جمعه 3 شهریور 1391, 10:58 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط lalaya » جمعه 20 تیر 1393, 9:48 pm

تو تست اول چون switch ما به break ختم نشده ، دستورات بعد از default و اینجا یعنی case 36 اجرا میشه.
تو این تست مدار هم برای بدست آوردن نرمال مین ترم، کارنوی سه متغیره ش رو رسم می کنیم و تابعش رو به تفکیک سلول ها (پیچیده ترین حالت تابع) مینویسیم.

Just SMILE..it WORKS :)



آواتار کاربر
رضــــــــــا
كاربر عالي
كاربر عالي
پست: 1449
تاریخ عضویت: یک‌شنبه 16 اسفند 1388, 7:17 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط رضــــــــــا » جمعه 20 تیر 1393, 11:55 pm

roya21 نوشته شده:(دیگه الان سوال واضح است!)
توضیحاتمو سعی کردم طوری بدم که به فرد خاصی اشاره نداشته باشه. غیر از شما هم قبلاً بچه ها این مدلی سوال پرسیده بودن...
roya21 نوشته شده:

کد: انتخاب همه

X=4;
Y=++x*(++x);
Switch(y) {
Case 25:cout<<"a";
Default : cout <<"b";
Case 36 :cout<<"c";
{
حاصل Y برابر 30 می شه که هیچکدوم از case ها رو شامل نمی شه. پس default باید اجرا شه. اما چون بعد از اون break نداریم، تا رسیدن به انتهای بلاک جلو می ریم و c چاپ می شه.
roya21 نوشته شده:فرم نرمال مین ترم عبارت f=c'(a'+ b شده

' F=a b c'+ 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'
فرم نرمالش باید 4 جمله باشه. که جمله ی اول و آخر مشابه هستن و یکیشون حذف می شه.
اگر درباره ی افراد قضاوت کنید، فرصتی برای دوست داشتنشان نمی یابید

آواتار کاربر
lalaya
کاربر متوسط
کاربر متوسط
پست: 214
تاریخ عضویت: جمعه 3 شهریور 1391, 10:58 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط lalaya » شنبه 21 تیر 1393, 7:14 pm

رضــــــــــا نوشته شده:
حاصل Y برابر 30 می شه که هیچکدوم از case ها رو شامل نمی شه. پس default باید اجرا شه. اما چون بعد از اون break نداریم، تا رسیدن به انتهای بلاک جلو می ریم و c چاپ می شه.
مقدار y=++x*++x میشه همون 36. درواقع ++x دوم توی x اول هم ریخته میشه، چون تو اولویت عملگرها داریم: unary>*/% ،و نهایتاً x++x ~~> x=6++ و x*x=36

Just SMILE..it WORKS :)



آواتار کاربر
lalaya
کاربر متوسط
کاربر متوسط
پست: 214
تاریخ عضویت: جمعه 3 شهریور 1391, 10:58 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط lalaya » شنبه 21 تیر 1393, 7:58 pm

خسته نباشید دوستان، راستش دلم نمیاد PDF سوالات کنکورو ببرم پرینت بگیرم، میخوام تست که میزنم دفترچه باشه و برم تو فاز جلسه کنکور dan میخواستم مجموعه سوالات مدرسان رو بخرم ولی به نظر خیلیییی حجیمه حوصله ندارم اینهمه چیز میز بخونم، جایی رو میشناسید که دفترچه ی کنکورهای سراسری گذشته رو بصورت چاپی بفروشن؟

Just SMILE..it WORKS :)



آواتار کاربر
رضــــــــــا
كاربر عالي
كاربر عالي
پست: 1449
تاریخ عضویت: یک‌شنبه 16 اسفند 1388, 7:17 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط رضــــــــــا » شنبه 21 تیر 1393, 11:18 pm

lalaya نوشته شده:مقدار y=++x*++x میشه همون 36. درواقع ++x دوم توی x اول هم ریخته میشه، چون تو اولویت عملگرها داریم: unary>*/% ،و نهایتاً x++x ~~> x=6++ و x*x=36
خیر 30 می شه. در واقع حاصل 5 * 6 هست. می تونین تو کامپایلر ازش خروجی بگیرین.
اگر درباره ی افراد قضاوت کنید، فرصتی برای دوست داشتنشان نمی یابید

آواتار کاربر
lalaya
کاربر متوسط
کاربر متوسط
پست: 214
تاریخ عضویت: جمعه 3 شهریور 1391, 10:58 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط lalaya » شنبه 21 تیر 1393, 11:31 pm

رضــــــــــا نوشته شده:
lalaya نوشته شده:مقدار y=++x*++x میشه همون 36. درواقع ++x دوم توی x اول هم ریخته میشه، چون تو اولویت عملگرها داریم: unary>*/% ،و نهایتاً x++x ~~> x=6++ و x*x=36
خیر 30 می شه. در واقع حاصل 5 * 6 هست. می تونین تو کامپایلر ازش خروجی بگیرین.
پیوست‌ها
compile++x.PNG

Just SMILE..it WORKS :)



آواتار کاربر
رضــــــــــا
كاربر عالي
كاربر عالي
پست: 1449
تاریخ عضویت: یک‌شنبه 16 اسفند 1388, 7:17 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط رضــــــــــا » یک‌شنبه 22 تیر 1393, 12:34 am

Untitled.png
جالبه. تو توربو ++C این کد رو زدم، جواب 30 شد.
اما تو ویژوال استدیو که می زنم کد مشابهش رو، خروجی 36 هست.

به هر حال استدلالم اینه که اول یکی به 4 اضافه می شه که می شه 5.
بعد در x دوم، یکی به 5 اضاف می شه و می شه 6.
در نهایت 5 در 6 ضرب شده و 30 رو به ما می ده.

ولی شما می گی ابتدا این 6 روی x اول هم اعمال می شه و بعد در هم ضرب می شن.

نمی دونم.
اگر درباره ی افراد قضاوت کنید، فرصتی برای دوست داشتنشان نمی یابید

آواتار کاربر
missleili
کاربر معمولي
کاربر معمولي
پست: 138
تاریخ عضویت: سه‌شنبه 29 مرداد 1392, 11:15 am
محل اقامت: تهران

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط missleili » یک‌شنبه 22 تیر 1393, 2:53 pm

رضــــــــــا نوشته شده:
roya21 نوشته شده:(دیگه الان سوال واضح است!)
توضیحاتمو سعی کردم طوری بدم که به فرد خاصی اشاره نداشته باشه. غیر از شما هم قبلاً بچه ها این مدلی سوال پرسیده بودن...
roya21 نوشته شده:

کد: انتخاب همه

X=4;
Y=++x*(++x);
Switch(y) {
Case 25:cout<<"a";
Default : cout <<"b";
Case 36 :cout<<"c";
{
حاصل Y برابر 30 می شه که هیچکدوم از case ها رو شامل نمی شه. پس default باید اجرا شه. اما چون بعد از اون break نداریم، تا رسیدن به انتهای بلاک جلو می ریم و c چاپ می شه.
roya21 نوشته شده:فرم نرمال مین ترم عبارت f=c'(a'+ b شده

' F=a b c'+ 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'
فرم نرمالش باید 4 جمله باشه. که جمله ی اول و آخر مشابه هستن و یکیشون حذف می شه.
سلام .. ممنونم که جواب سوالات رو انقدر واضح می دید .. درسوال اول باید دقت کنیم که اول دستور defult اومده .. طبیعتا اگر جواب ما به defult ختم می شد ما bc رو به عنوان خروجی مشاهده می کردیم برای همین من فکر می کنم جواب 36 شده باشه که فقط c چاپ شده .. ولی با این حال بازهم نمی فهمم چرا جواب مون 36 میشه
پرواز را به خاطر بسپار .. پرنده مردنی است .

آواتار کاربر
soroushsh
کاربر معمولي
کاربر معمولي
پست: 132
تاریخ عضویت: سه‌شنبه 22 شهریور 1390, 11:27 pm
محل اقامت: Shiraz
تماس:

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط soroushsh » یک‌شنبه 22 تیر 1393, 6:42 pm

کد: انتخاب همه

X=4;
Y=++x*(++x);
Switch(y) {
Case 25:cout<<"a";
Default : cout <<"b";
Case 36 :cout<<"c";
{
مقدار اولیه برابر 4 هست در خط بعد ++ پیشوندی رو داریم یعنی اول مقدار x رو افزایش می ده و بعد می ره دستور بعد خوب اول x برابر می شه با 5 و بعد ضرب می شه با ++ پیشوندی دیگه که مقدار x رو برابر 6 میکنه بعد حاصل ضرب 5 و 6 که 30 میشه.توجه باید داشت که اگر ++ پسوندی بود جواب چیز دیگری میشد(یا 25 یا ....).حالا در این سوال چون در قسمت switch عدد 30 را نداریم باید دستور default اجرا در اینجا چون بعد از دستور default کلمه break نداریم دستورات بعد از اون تا break بعدی اجرا شده یا آخرین دستور اجرا شده و کلمه c نمایش داده می شود . حالا چجور برنامه شما 36 رو کامپایل میکنه؟
طولانی ترین سفرها نیز یك روز با گامی كوچک آغاز می شود
از ابتدای كار نترس به انتهای كار فكر كن

آواتار کاربر
lalaya
کاربر متوسط
کاربر متوسط
پست: 214
تاریخ عضویت: جمعه 3 شهریور 1391, 10:58 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط lalaya » یک‌شنبه 22 تیر 1393, 7:00 pm

soroushsh نوشته شده: چجور برنامه شما 36 رو کامپایل میکنه؟
مگه تو c++ نداریم که: تو تقدم عملگر ها ، plus plus و minus minus پیشوندی به عملگرهای ریاضی اولویت دارن!؟
تو خط اول داریم x=4
تو خط بعد، پرانتز در اولویته (هرچند بود و نبودش فرقی تو جواب مسئله نداره) پس اول عبارت داخل پرانتز پردازش میشه و داریم:

کد: انتخاب همه

(++x)=5
حالا x دوم plus plus میشه و داریم: حالا تو متغیر x مون مقدار 6 رو داریم و بعد پرانتز و عملگر های یکانی، اولویت میرسه به عملگر ریاضی مون: * ، و داریم:

کد: انتخاب همه

y=++x*(++x)      =    y=x*x    =     y=6*6=36
اگه بجای

کد: انتخاب همه

y=++x*(++x)
داشتیم

کد: انتخاب همه

y=x++*(x++)
اونوقت بود!! چون اولویت ضرب بالاتر از عملگرهای پسوندیه و بود و نبودشون تو حاصل عبارت بی تاثیره و تنها مقدار متغیر x رو تغییر میده.
+در ضمن همونطور که دوستمون missleili گفتن، اگه بعد از default بحای case 36 هر مقدار دیگه ای داشتیم، خود دستور default هم اجرا میشد و تو خروجی بجای c داشتیم bc
آخرین ویرایش توسط lalaya در یک‌شنبه 22 تیر 1393, 7:21 pm، در مجموع 3 بار ویرایش شده است.

Just SMILE..it WORKS :)



آواتار کاربر
lalaya
کاربر متوسط
کاربر متوسط
پست: 214
تاریخ عضویت: جمعه 3 شهریور 1391, 10:58 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط lalaya » یک‌شنبه 22 تیر 1393, 7:02 pm

رضــــــــــا نوشته شده:
Untitled.png
جالبه. تو توربو ++C این کد رو زدم، جواب 30 شد.
اما تو ویژوال استدیو که می زنم کد مشابهش رو، خروجی 36 هست.

به هر حال استدلالم اینه که اول یکی به 4 اضافه می شه که می شه 5.
بعد در x دوم، یکی به 5 اضاف می شه و می شه 6.
در نهایت 5 در 6 ضرب شده و 30 رو به ما می ده.

ولی شما می گی ابتدا این 6 روی x اول هم اعمال می شه و بعد در هم ضرب می شن.

نمی دونم.
فروم به امثال شما نیاز داره، ممنون که با وجود کنکوری نبودن درگیر سوالات بچه ها میشین.

Just SMILE..it WORKS :)



آواتار کاربر
lalaya
کاربر متوسط
کاربر متوسط
پست: 214
تاریخ عضویت: جمعه 3 شهریور 1391, 10:58 pm

Re: بچه های کنکور 93 کارشناسی ناپیوسته کامپیوتر

پست توسط lalaya » یک‌شنبه 22 تیر 1393, 7:17 pm

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 کارشناسی ناپیوسته کامپیوتر

پست توسط soroushsh » یک‌شنبه 22 تیر 1393, 7:35 pm

lalaya نوشته شده:
soroushsh نوشته شده: چجور برنامه شما 36 رو کامپایل میکنه؟
مگه تو c++ نداریم که: تو تقدم عملگر ها ، plus plus و minus minus پیشوندی به عملگرهای ریاضی اولویت دارن!؟
تو خط اول داریم x=4
تو خط بعد، پرانتز در اولویته (هرچند بود و نبودش فرقی تو جواب مسئله نداره) پس اول عبارت داخل پرانتز پردازش میشه و داریم:

کد: انتخاب همه

(++x)=5
حالا x دوم plus plus میشه و داریم: حالا تو متغیر x مون مقدار 6 رو داریم و بعد پرانتز و عملگر های یکانی، اولویت میرسه به عملگر ریاضی مون: * ، و داریم:

کد: انتخاب همه

y=++x*(++x)      =    y=x*x    =     y=6*6=36
یعنی شما میگید مقدار چون داخل پرانتزه دو بار افزایش پیدا میکنه .گیج شدم کمی fekr آره منم موافقم که بعد از default چون break نداشت bc چاپ میشه بنظرتون این کلا خطا نداره چون کلا break نداره
طولانی ترین سفرها نیز یك روز با گامی كوچک آغاز می شود
از ابتدای كار نترس به انتهای كار فكر كن

قفل شده