نمایش نتایج 1 تا 18 از 18

نام تاپیک: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

  1. #1

    سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    سلام خدمت دوستان جواب این سوال 8 میاد یا 96 ممنون میشم راهنمایی بفرمایید

    http://tehransar.ir/pics8/e8f3105b47...a6abcf7339.jpg

    این سیستمتون هم که گیرای الکی میده مجبورم

  2. #2

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    8 بار چاپ می شود ، چون حلقه ی اول اصلا تو حلقه ی دوم دخیل نیست ( حلقه تو در تو نیست ) و هر کدام جداگانه عمل میکنن .

  3. #3

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    ممنون میشم در موردش یکم توضیح بدید چرا تو در تو نیست ؟
    اگه معیار یا نکته ای در شناسایی حلقه های تو در تو است ممنون میشم راهنمایی بفرمایید

  4. #4

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    ببینید کد شما این هست :
    for i:=-1 to 10 do;
    for k:=-2 to 5 do
    Writeln('Pascal');


    در خط اول یه حلقه داریم از 1- تا 10 که به عبارتی میشه 12 بار تکرار ، یعنی حلقه شروع میشه و در آخر همان خط بعد از do به وسیله ی سمیکالن ( ; ) به حلقه پایان داده شده .

    بعد در خط بعدی یک حلقه داریم از -2 تا 5 که به عبارتی میشه 8 دور ( 2- ، 1- ، 0 ، 1 ، 2 ، 3 ، 4 ، 5 ) و میبینیم که این بار بعد از کلمه ی do به حلقه پایان داده نشده و دستور حلقه چاپ کلمه ی pascal هست .

    پس به عبارتی اول حلقه ی اول ( i ) اجرا میشه و چون دستوری نداره هیچ عملیاتی انجام نمیده ، بعد از اون حلقه ی دوم ( j ) اجرا میشه و دستور اون هم چاپ کلمه ی پاسکال هست که به تعداد تکرار حلقه یعنی 8 بار این دستور اجرا میشه و 8 بار کلمه ی پاسکال چاپ میشه .

  5. #5

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

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

  6. #6

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

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

  7. #7

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    دوست من میشه در این مورد هم نظرتون رو بگید و بنده رو راهنمایی بفرمایید (ممنونتون میشم جواب اون تاپیک رو هم لطف کنید بدید)
    چرا جواب ها اینطوری میاد
    http://tehransar.ir/pics8/5a21330171...15e31f68c4.jpg


  8. #8
    کاربر دائمی آواتار shervin farzin
    تاریخ عضویت
    مرداد 1387
    محل زندگی
    مشهد - shervinfarzin@gmail.com
    پست
    256

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    سلام
    جواب سوال اول : جواب اين سوال بستگي به نوع كامپايلر داره . اگر كامپايلر اجازه تغيير مقدار عدد
    شمارنده رو در داخل حلقه نده پر واضحه كه با خطاي كامپايلر مواجه ميشه . اگر كامپايلر چنين
    اجازه اي رو بده نظر من اينه كه جواب صحيح در هيچ گزينه اي نيامده ، فرض كنيم حلقه تا جايي
    پيش بره كه i برابر 8 بشه . مقدار 8 وارد حلقه ميشه . در خط اول تغييراتي روي متغيير s اتفاق
    ميفته كه هيچ اهميتي در تكرار حلقه نداره . وقتي به خط دوم برسه مقدار i خواهد شده 16 ، بعد
    برميگرده به ابتداي حلقه و چك ميكنه كه آيا 16 از 30 كوچكتره يا نه ، كه هست پس حلقه ادامه
    پيدا ميكنه تا در انتهاي اين دور مقدار i بشه 2 * 16 يعني 32 . از اونجايي كه 32 از 30 كوچكتر
    نيست حلقه تمام ميشه و مقدار i يعني 32 چاپ ميشه .
    جواب سوال دوم : چون شرط حلقه هميشه صحيحه ( 1 هميشه از 10 كوچكتره و هيچ ربطي به
    مقدار i نداره ) .
    موفق باشيد .

  9. #9

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    این سوالات را چه کسی طرح کرده، و جواب ها را چه کسی داده؟!
    آخه کی متغیر حلقه در یک حلقه for را در داخل حلقه تغییر میده؟!!

    جواب سوال دوم هم الف میشه. کی گزینه ج را به عنوان جواب مطرح کرده؟!


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  10. #10

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    با سلام
    ممنون بابت جوابهاتون
    این سوالات دانشگاه پیام نور است و جواب ها رو هم از پاسخنامه سیستم گرفتم
    و سوالات رو با پاسخنامه برای دوستان قرار خواهم داد ممنون میشم در این باره به من راهنمایی برسونید هر چند که در حال حاضر این منت را بر سر من گذاشته اید
    با تشکر

  11. #11

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
    این سوالات را چه کسی طرح کرده، و جواب ها را چه کسی داده؟!
    آخه کی متغیر حلقه در یک حلقه for را در داخل حلقه تغییر میده؟!!

    جواب سوال دوم هم الف میشه. کی گزینه ج را به عنوان جواب مطرح کرده؟!
    ممنون میشم بیشتر توضیح بدید

  12. #12

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    این سوالات است
    http://companyforex.parsaspace.com/P...tudent.ir).zip

    پاسخنامه هم در ضمیمه سایت قرار دارد
    ممنون میشم جواب ها رو تصحیح بفرمایید
    اگه اشتباهات فراتر برود با مسئول اموزش این مبحث را عنوان خواهم کرد چون حق زیادی از افراد در صورت اشتباه در طرح سوالات و پاسخنامه ها اجحاف می شود
    فایل های ضمیمه فایل های ضمیمه

  13. #13

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    ممنون میشم بیشتر توضیح بدید
    در پاسکال ما اجازه نداریم متغییری رو که به حلقه اختصاص دادیم تو خود همون حلقه دستکاری کنیم و سوالی که شما عنوانش رو قرار دادی دقیقا همین کار رو انجام داده و کاملا اشتباه است .

  14. #14

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    نقل قول نوشته شده توسط علی کشاورز مشاهده تاپیک
    این سوالات را چه کسی طرح کرده، و جواب ها را چه کسی داده؟!
    آخه کی متغیر حلقه در یک حلقه for را در داخل حلقه تغییر میده؟!!

    جواب سوال دوم هم الف میشه. کی گزینه ج را به عنوان جواب مطرح کرده؟!
    میشه بیشتر توضیح بدید مخصوصا سوال دوم

    ممنون میشم به این سوال هم جواب بدید
    https://barnamenevis.org/showthread.php?t=162835

  15. #15

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    در مورد سوال اول فرض کنید کد زیر رو داریم :

    for i:=0 to 10 do 
    begin
    write('A');
    i:=i+5;
    end;


    در این کد میبینید که متغیر i به حلقه اختصاص داده شده ولی داخل حلقه ما قصد داریم در مقدار موجود در متغیر i دست ببریم که این از نظر کامپایلر پاسکال غیر قابل قبول است و پاسکال اجازه نمیدهد تا اتمام حلقه به مقدار موجود در متغیر حلقه دست ببریم ، حال آنکه کد زیر درست است چون بعد از اتمام حلقه در مقدار موجود در متغیر دست برده ایم :

    for i:=0 to 10 do 
    begin
    write('A');
    end;
    i:=i+5;



    i:=0;
    While(1<=10) do
    begin
    Write(i);
    Inc(i);
    end;

    من هم اول مثل آقای کشاورز دقت نکردم و فکر کردم شرط حلقه i هست ولی اگر دقت کنیم در داخل شرط i با 10 مقایسه نشده و اون 1 هست نه i ، که در این شرایط شرط پایان حلقه هیچ وقت اعمال نمی شود چون همیشه 1 کوچکتر از 10 می باشد و در اینجا یه حلقه ی بی نهایت داریم .
    آخرین ویرایش به وسیله Felony : پنج شنبه 14 خرداد 1388 در 22:20 عصر دلیل: شرط حلقه 1 بود نه i

  16. #16

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    پاسکال اجازه نمیدهد تا اتمام حلقه به مقدار موجود در متغیر حلقه دست ببریم
    کامپایلر ایرادی از این موضوع نمیگیره، بلکه منطق کد به هم میریزه. اگر کدی مثل این داشته باشیم:

    for i := 1 to 10 do
    begin
    writeln(i);
    i := i + 2;
    end;

    ابتدا 1 چاپ میشه، سپس مقدار i میشه 1+2=3، سپس در دور بعدی حلقه یک واحد به مقدار i اضافه میشه، یعنی i میشه 4. مقدار 4 چاپ میشه. مقدار i میشه 4+2=6. در دور جدید یک واحد به آن اضافه میشه، میشه 7. مقدار 7 چاپ میشه. i میشه 7+2=9. در دور جدید یک واحد به آن اضافه میشه، و مقدارش میشه 10. مقدار 10 چاپ میشه. اینطوری منطق حلقه بهم میریزه.
    فکر کردم شرط حلقه i هست ولی اگر دقت کنیم در داخل شرط i با 10 مقایسه نشده و اون 1 هست نه i
    آخه اون بدبختی که این رو روی صفحه کاغذ میبینه، چطور میخواد تشخیص بده که I هست یا 1؟! اینقدر سوالات تکنیکی کم هستند که طراحان سوال به فکر بازی با حروف افتادند؟!


    وَ سَيَعْلَمُ الَّذِينَ ظَلَمُوا [آل محمد حقهم] أَيَّ مُنْقَلَبٍ يَنْقَلِبُونَ - الشعراء (227)
    و ظالمین [حق آل محمد (ص) ] به زودی خواهند دانست که به کدام بازگشتگاه بازخواهند گشت.

  17. #17

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    کامپایلر ایرادی از این موضوع نمیگیره، بلکه منطق کد به هم میریزه.
    بله درسته در داخل پاسکال اجرا شد ، ولی کامپایلر دلفی ازش این ایراد رو گرفت که من اشتباه فکر کردم پاسکال هم همین ایراد رو میگیره :

    [Error] Unit1.pas(32): Assignment to FOR-Loop variable 'i'


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

    uses wincrt;
    var i:integer;
    begin
    for i := 1 to 10 do
    begin
    writeln(i);
    i := i + 2;
    end;
    end.


    آخه اون بدبختی که این رو روی صفحه کاغذ میبینه، چطور میخواد تشخیص بده که I هست یا 1؟! اینقدر سوالات تکنیکی کم هستند که طراحان سوال به فکر بازی با حروف افتادند؟!
    بله همینطوره ، هرکی این سوال رو ببینه اون اول میبینه i با 0 مقدار دهی شده و زیاد رو اون شرط تمرکز نمیکنه و جواب رو اشتباه میده .... ، زیادی تکنیکی بوده .

  18. #18

    نقل قول: سوال درباره حلقه در مسائل پاسکال (نمونه سوال)

    سلام ببخشید که این سوال رو اینجا مطرح میکنم این سوال رو یکی از دوستام پرسیده و من هم قول دادم که جوابش رو پیدا کنم سوال: برنامه ای بنویسید که دو عدد صحیح را گرفته،فاکتوریل هرکدام را به صورت مجزا محاسبه و با هم جمع کنید(به روش while) خیلی ممنون میشم اگه کمک کنین

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •