تالار گفتمان مانشت
طراحی و پیاده سازی PL -کامپیوتر ۹۴ - نسخه‌ی قابل چاپ

صفحه‌ها: ۱ ۲ ۳
RE: طراحی و پیاده سازی PL -کامپیوتر ۹۴ - hosein70 - 17 بهمن ۱۳۹۳ ۰۶:۲۵ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۰۴:۴۸ ب.ظ)ana9940 نوشته شده توسط:  
(17 بهمن ۱۳۹۳ ۰۴:۴۷ ب.ظ)amir2085 نوشته شده توسط:  اونجا گفتم، اینجا هم میگم
ایستا و پویا
همین که سوال در مورد زبان C بود خودش یه قضیه بود، چون فکر نمیکنم c از حوزه پویا پشتیبانی کنه
بعدش توی main متغییر c دوباره ایجاد نمی شد بلکه مقدار گلوبالش از ۳ میشد ۴
پس حوزه ایستا میشد ۱۲۴
و تنها گزینه ای که اینو داشت حوزه پویاش هم ۱۲۴ بود
نظرتون چیه؟
نه به نظر من اشتباست چون با پویا ۴۳۲ راحت بدست می اومد استا هم میشد ۱۲۳
اگه این باشه ، من میرم طراح رو می کشم!!
خودش گفته ایستا، به ما چه که C قانونش چی جوریه!!!!
آقا اینی که میگی غلطه!!!!!HuhHuhSad


طراحی و پیاده سازی PL -کامپیوتر ۹۴ - maryam.raz - 17 بهمن ۱۳۹۳ ۰۶:۴۳ ب.ظ

این سوال که تابلو بود اینقد بحث میکنید روش، نمونش هم تو کتاب مقسمی زیاده
واسه ایستا اون C خارج از main رو میگیریم واسه پویا C داخل main. چون تابع صدا زننده بوده

RE: طراحی و پیاده سازی PL -کامپیوتر ۹۴ - batouei - 17 بهمن ۱۳۹۳ ۰۶:۴۴ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۰۶:۴۳ ب.ظ)maryam.raz نوشته شده توسط:  این سوال که تابلو بود اینقد بحث میکنید روش، نمونش هم تو کتاب مقسمی زیاده
واسه ایستا اون C خارج از main رو میگیریم واسه پویا C داخل main. چون تابع صدا زننده بوده

الان بحث ما روی گزینه های اشتباه کنکوره نه خود سوالDodgy

RE: طراحی و پیاده سازی PL -کامپیوتر ۹۴ - saraghazal - 17 بهمن ۱۳۹۳ ۰۶:۵۰ ب.ظ

سلام دوستان این سوال باید گزینه یک بشه
ایستا ۱۲۳وپویا ۲۳۴
چون در حوزه ایستا اگه خود تابع متغییر رو تعریف کرده باشه از خود همون تابع استفاده میکنه c چون تعریف نشده بود از متغییر سراسری استفاده میشد ولی در حالت پویا مقدار ۴ برای c میشد چون بر میگشت به اخرین تابعی که متغییر در ان تعریف شده
من گزینه یک رو زدم

RE: طراحی و پیاده سازی PL -کامپیوتر ۹۴ - sntbrz - 17 بهمن ۱۳۹۳ ۰۷:۰۵ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۰۴:۴۷ ب.ظ)amir2085 نوشته شده توسط:  اونجا گفتم، اینجا هم میگم
ایستا و پویا
همین که سوال در مورد زبان C بود خودش یه قضیه بود، چون فکر نمیکنم c از حوزه پویا پشتیبانی کنه
بعدش توی main متغییر c دوباره ایجاد نمی شد بلکه مقدار گلوبالش از ۳ میشد ۴
پس حوزه ایستا میشد ۱۲۴
و تنها گزینه ای که اینو داشت حوزه پویاش هم ۱۲۴ بود
نظرتون چیه؟

(۱۷ بهمن ۱۳۹۳ ۰۴:۳۲ ب.ظ)freidoony نوشته شده توسط:  اون setjmp و longjmp توی C هم برا مدیریت Exception ها بود

من زدم اکسپشن Sad
ولی همین الان فهمیدم، توی مبحث بعدیش بوده، یعنی همروال ها :|

این دستورات هم برای اکسپشن ها کاربرد داره هم کوروتین ها.اینم توضیح انگلیسی:
Error handling
Suppose there is an error deep down in a function nested in many other functions and error handling makes sense only in the top level function.

It would be very tedious and awkward if all the functions in between had to return normally and evaluate return values or a global error variable to determine that further processing doesn't make sense or even would be bad.

That's a situation where setjmp/longjmp makes sense. Those situations are similar to situation where exception in other langages (C++, Java) make sense.


Coroutines
Besides error handling, I can think also of another situation where you need setjmp/longjmp in C:

It is the case when you need to implement coroutines.

(۱۷ بهمن ۱۳۹۳ ۰۷:۰۵ ب.ظ)sntbrz نوشته شده توسط:  
(17 بهمن ۱۳۹۳ ۰۴:۴۷ ب.ظ)amir2085 نوشته شده توسط:  اونجا گفتم، اینجا هم میگم
ایستا و پویا
همین که سوال در مورد زبان C بود خودش یه قضیه بود، چون فکر نمیکنم c از حوزه پویا پشتیبانی کنه
بعدش توی main متغییر c دوباره ایجاد نمی شد بلکه مقدار گلوبالش از ۳ میشد ۴
پس حوزه ایستا میشد ۱۲۴
و تنها گزینه ای که اینو داشت حوزه پویاش هم ۱۲۴ بود
نظرتون چیه؟

(۱۷ بهمن ۱۳۹۳ ۰۴:۳۲ ب.ظ)freidoony نوشته شده توسط:  اون setjmp و longjmp توی C هم برا مدیریت Exception ها بود

من زدم اکسپشن Sad
ولی همین الان فهمیدم، توی مبحث بعدیش بوده، یعنی همروال ها :|

این دستورات هم برای اکسپشن ها کاربرد داره هم کوروتین ها.اینم توضیح انگلیسی:
Error handling
Suppose there is an error deep down in a function nested in many other functions and error handling makes sense only in the top level function.

It would be very tedious and awkward if all the functions in between had to return normally and evaluate return values or a global error variable to determine that further processing doesn't make sense or even would be bad.

That's a situation where setjmp/longjmp makes sense. Those situations are similar to situation where exception in other langages (C++, Java) make sense.


Coroutines
Besides error handling, I can think also of another situation where you need setjmp/longjmp in C:

It is the case when you need to implement coroutines.

دقیقا گفته برای شبیه سازی exception ها که تو زبان های c++ و جاوا وجود دارن.
واقعا طراح عقده ای بوده.۱ سوال لیسپ،۱ سوال ML یه سوال تخصصی C. مگه میشه؟!!مریضه یارو جدا!


طراحی و پیاده سازی PL -کامپیوتر ۹۴ - Sse - 17 بهمن ۱۳۹۳ ۰۷:۲۲ ب.ظ

اقا دوستان اون c=4 به احتمال بالا طراح میخواسته بگه int c=4 و اشتباه تایپی بوده. چون چه اولی و چه دومی dynamic ش ۲/۳/۴ و غیر این نمیتونه باشه و اگه c=4 ایستا میشه ۱/۲/۴ و اگه int c=4 اونوقت میشه ۱/۲/۳
پس گزینه ۱/۲/۳ و ۲/۳/۴ منطقی ترین جوابه
البته از دید من Big Grin
و البته که باید حذف شه... Undecided

طراحی و پیاده سازی PL -کامپیوتر ۹۴ - nazanin2020 - 17 بهمن ۱۳۹۳ ۰۷:۲۷ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۰۷:۰۵ ب.ظ)sntbrz نوشته شده توسط:  این دستورات هم برای اکسپشن ها کاربرد داره هم کوروتین ها.اینم توضیح انگلیسی:

یعنی جواب میشه کدوم گزینه؟

طراحی و پیاده سازی PL -کامپیوتر ۹۴ - amir2085 - 17 بهمن ۱۳۹۳ ۰۷:۳۷ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۰۷:۲۷ ب.ظ)nazanin2020 نوشته شده توسط:  
(17 بهمن ۱۳۹۳ ۰۷:۰۵ ب.ظ)sntbrz نوشته شده توسط:  این دستورات هم برای اکسپشن ها کاربرد داره هم کوروتین ها.اینم توضیح انگلیسی:

یعنی جواب میشه کدوم گزینه؟
همون اکسپشن هندلر

RE: طراحی و پیاده سازی PL -کامپیوتر ۹۴ - sntbrz - 17 بهمن ۱۳۹۳ ۰۷:۴۳ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۰۷:۳۷ ب.ظ)amir2085 نوشته شده توسط:  
(17 بهمن ۱۳۹۳ ۰۷:۲۷ ب.ظ)nazanin2020 نوشته شده توسط:  
(17 بهمن ۱۳۹۳ ۰۷:۰۵ ب.ظ)sntbrz نوشته شده توسط:  این دستورات هم برای اکسپشن ها کاربرد داره هم کوروتین ها.اینم توضیح انگلیسی:

یعنی جواب میشه کدوم گزینه؟
همون اکسپشن هندلر
من خودم اکسپشن زدم ولی به نظرم باید سوال دو گزینه ای بشه.چون طراح بیشعور اونقد اطلاعات نداشته که تو جفتش کاربرد داره.

طراحی و پیاده سازی PL -کامپیوتر ۹۴ - amir2085 - 17 بهمن ۱۳۹۳ ۰۸:۳۰ ب.ظ

(۱۷ بهمن ۱۳۹۳ ۰۷:۴۳ ب.ظ)sntbrz نوشته شده توسط:  
(17 بهمن ۱۳۹۳ ۰۷:۳۷ ب.ظ)amir2085 نوشته شده توسط:  
(17 بهمن ۱۳۹۳ ۰۷:۲۷ ب.ظ)nazanin2020 نوشته شده توسط:  
(17 بهمن ۱۳۹۳ ۰۷:۰۵ ب.ظ)sntbrz نوشته شده توسط:  این دستورات هم برای اکسپشن ها کاربرد داره هم کوروتین ها.اینم توضیح انگلیسی:

یعنی جواب میشه کدوم گزینه؟
همون اکسپشن هندلر
من خودم اکسپشن زدم ولی به نظرم باید سوال دو گزینه ای بشه.چون طراح بیشعور اونقد اطلاعات نداشته که تو جفتش کاربرد داره.
کو روتین که تو گزینه ها نبود، فقط goto میتونه نزدیک باشه
که فک کنم goto رو گذاشته بود برای گول زدن، از نظر مفهوم jump و این حرفا
یه جورایی با goto هم فرق اساسی داره

A goto statement in C programming language provides an unconditional jump from the goto to a labeled statement in the same function.

در حالی که تو تعریف setjmp امده:
setjmp.h is a header defined in the C standard library to provide non-local jumps

طراحی و پیاده سازی PL -کامپیوتر ۹۴ - madani426 - 19 بهمن ۱۳۹۳ ۱۲:۰۴ ق.ظ

با سلام
دوستان گزینه های ایستا . پویا کاملا اشتباه بود شک ندارم چون
ایستا : ۱۲۴
پویا : ۲۳۴
ولی منم خودم گزینه ی ۱۲۴ , ۱۲۴ رو زدم که بدن اعتراض کنم سراسری ۸۷ همین تست بوود ولی با این تفاوت که int c=4 زده بود که توو حلش یخورده حلش فرق داده یعنی این متغییر c با اوون متغییر سراسری فرق میکنه
سوال لیست هم متغییر b میشد : (۲۳(۱۲۳) نمونه این سوال سراسری ۸۹ اوومده بوود

RE: طراحی و پیاده سازی PL -کامپیوتر ۹۴ - ehsansjs - 19 بهمن ۱۳۹۳ ۱۲:۲۹ ق.ظ

(۱۹ بهمن ۱۳۹۳ ۱۲:۰۴ ق.ظ)madani426 نوشته شده توسط:  با سلام
دوستان گزینه های ایستا . پویا کاملا اشتباه بود شک ندارم چون
ایستا : ۱۲۴
پویا : ۲۳۴
ولی منم خودم گزینه ی ۱۲۴ , ۱۲۴ رو زدم که بدن اعتراض کنم سراسری ۸۷ همین تست بوود ولی با این تفاوت که int c=4 زده بود که توو حلش یخورده حلش فرق داده یعنی این متغییر c با اوون متغییر سراسری فرق میکنه
سوال لیست هم متغییر b میشد : (۲۳(۱۲۳) نمونه این سوال سراسری ۸۹ اوومده بوود

درباره رشته باهات موافقم
ولی درباره حوزه نه کاملا چون چیزی که قطعی بود حالا اگه اون C رو کلا نادیده بگیریم اینه که a , b در حوزه ایستا ۱و۲ هستن و سراسری اند ودر حوزه پویا از تابع فراخواننده گرفته میشن که اون ۲و۳ واسه خودش تعریف کرده بودشون که این فقط تو یک گزینه صدق میکرد و بس
هر کی غیرشو میگه ثابت کنه لطفا

طراحی و پیاده سازی PL -کامپیوتر ۹۴ - maryam.raz - 20 بهمن ۱۳۹۳ ۰۹:۵۹ ب.ظ

من موندم این سوال ۹۴ کجاش اینقدر بحث داره نمونش تو کتاب مقسمی هست
واسه حوزه ایستا میریم سراغ بلاک در برگیرنده که میشه ۱۲۳ ، اصلا وارد main نمیشه که بخاد مقدار سی تغییر کنه
واسه حوزه پویا میریم سراغ تابع صدا زننده که میره داخل تابع F1 اونجا a,b داریم .واسه c باز میریم سراغ تابع صدا زننده بعدی که میشه تابع main و c اونجا ۴ هست پس جواب میشه ۲۳۴ که میشه گزینه ۳

طراحی و پیاده سازی PL -کامپیوتر ۹۴ - amir2085 - 20 بهمن ۱۳۹۳ ۱۰:۴۴ ب.ظ

(۲۰ بهمن ۱۳۹۳ ۰۹:۵۹ ب.ظ)maryam.raz نوشته شده توسط:  من موندم این سوال ۹۴ کجاش اینقدر بحث داره نمونش تو کتاب مقسمی هست
واسه حوزه ایستا میریم سراغ بلاک در برگیرنده که میشه ۱۲۳ ، اصلا وارد main نمیشه که بخاد مقدار سی تغییر کنه
واسه حوزه پویا میریم سراغ تابع صدا زننده که میره داخل تابع F1 اونجا a,b داریم .واسه c باز میریم سراغ تابع صدا زننده بعدی که میشه تابع main و c اونجا ۴ هست پس جواب میشه ۲۳۴ که میشه گزینه ۳

مهمان عزیز شما قادر به مشاهده پیوندهای انجمن مانشت نمی‌باشید. جهت مشاهده پیوندها ثبت نام کنید.


RE: طراحی و پیاده سازی PL -کامپیوتر ۹۴ - ely1234 - 21 بهمن ۱۳۹۳ ۰۴:۲۸ ب.ظ

(۲۰ بهمن ۱۳۹۳ ۰۹:۵۹ ب.ظ)maryam.raz نوشته شده توسط:  من موندم این سوال ۹۴ کجاش اینقدر بحث داره نمونش تو کتاب مقسمی هست
واسه حوزه ایستا میریم سراغ بلاک در برگیرنده که میشه ۱۲۳ ، اصلا وارد main نمیشه که بخاد مقدار سی تغییر کنه
واسه حوزه پویا میریم سراغ تابع صدا زننده که میره داخل تابع F1 اونجا a,b داریم .واسه c باز میریم سراغ تابع صدا زننده بعدی که میشه تابع main و c اونجا ۴ هست پس جواب میشه ۲۳۴ که میشه گزینه ۳

همینه ولی من زدم ۱ اصن دقت نکردم به ترتیبش Confused