samoooolik

سام اولیک ...

samoooolik

سام اولیک ...

سئوال اول - با توجه به تعریف روبرو کدام عملیات زیر صحیح می باشد؟

c: (red,green,blue);

1-write (red);

2-write (pred(ord(red)));

3-write (succ(pred(pred(red))));

4- write (succ (c));

 --------------------------------------------------------------------------------------------------------------------------------------------------------

سئوال دوم - خروجی دستور زیر چیست؟

type 
    D=(A,B,C,E,F);
    begin
      writeln(ord(C)+Succ(A)+pred(F));

۶-۱

۳-۲

۵-۳

۴ -خطا دارد

--------------------------------------------------------------------------------------------------------------------------------------------------------

سئوال سوم -  خروجی برنامه زیر چیست؟

type

color =(red,green,blue,yellow)
var
c:color;
begin
c:=red;
write (chr(succ(c)+'A'); end;

1- green A
2- 1A
3-'A'
4- خطا دارد

اگه میشه لطفا اینو برام توضیح بدین که کدوم گزینه میشه به چه دلیل؟

نظرات 3 + ارسال نظر
مهران 31 شهریور 1385 ساعت 02:50 ب.ظ

خوب این کد ها رو تو pascal بنویس اجرا کن ببین چیه خروجیش!

k@/Eh 31 شهریور 1385 ساعت 02:58 ب.ظ http://www.ashoob.net/kaveh

زیاد پاسکال یادم نمونده مخصوصا enumerationهاش رو! منابع پاسکالم هم دست این و اونه. در نتیجه مطمئن نیستم جواب‌هام درست باشه! حتی احتمال داره هر 3 جواب غلط باشه!
سوال 1: 2
سوال 2: 4
سوال 3: 4
در کل تا جایی که یادم هست با توابع pred و succ نمی‌شد چاپ کرد و اگر حتی می‌خواستیم succ(yellow) رو چاپ کنیم باید به صورت ord(succ(yellow)) این کار رو می کردیم. یعنی عمل چاپ فقط با تابع ord مجاز بود.
در مورد گزینه 2 سوال اول که درست هست (به نظر من) ord(red) برابر 0 هست در نتیجه pred اون، برابر -1 می شه و چاپ خواهد شد!
بعضی از این موارد از یک کامپایلر تا کامپالیر دیگه متفاوته و نمی‌شه حکم کلی صادر کرد. با توجه به چیزی که توی دانشگاه‌ها خواسته می‌شه باید دید چه جوابی مد نظر هست!

مهدی 1 مهر 1385 ساعت 09:42 ق.ظ

شرمنده، من از این سوال و جواب ها چیزی سر نیاوردم !!، D:

برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد