A6.pdf

‫پاییز ‪ 88‬دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫بِ ًام خدا‬
‫توسیي سسی ششن ساختاز ٍ شباى کاهپیَتس‬
‫‪ -1‬برا ی قرار دادى یک ‪ string‬در قسوت دادُ برًاهِ هی تَاًیذ بِ ضکل زیر عول کٌیذ‪:‬‬
‫‪.data‬‬
‫”‪.asciiz “salam‬‬
‫‪str:‬‬
‫ّر کذام از کاراکترّا در یک بایت رخیرُ هی ضَد‪.‬‬
‫برًاهِ ای بِ زباى اسوبلی بٌَیسیذ کِ ترتیب حرٍف ّرکذام از کلوات یک جولِ را برعکس کٌذ‪ .‬ایي جولِ در حافظِ قرار دارد‪.‬‬
‫برای هثال پاسخ برای رضتِ زیر را هی بیٌیذ‪:‬‬
‫‪.data‬‬
‫”‪Str: .asciiz “Computer structure and language‬‬
‫”‪Result str: “retupmoC erutcurts dna egaugnal‬‬
‫‪ -2‬برًاهِ ای بِ زباى اسوبلی بٌَیسیذ کِ جولِ ای را از حافظِ بخَاًذ‪ ،‬سپس کلوِ ای را کِ از یک حرف بیص تریي تکرار‬
‫را دارد در خرٍجی چاپ کٌذ‪ .‬حرٍف هجاز در کلوات فقط کاراکتر ّای ‪ a‬تا ‪ z‬است‪.‬‬
‫‪.data‬‬
‫”‪Str: .asciiz “computer structure and language‬‬
‫‪Result: structure‬‬
‫کلوِ ‪ structure‬بیطتریي تکرار هربَط بِ حرف ‪ tٍ u ٍ r‬است‪(.‬دٍ بار) در ایي هثال ‪ّ language‬ن دٍتا ‪ g ٍ a‬دارد در ضرایط‬
‫هساٍی برًاهِ کلوِ اٍل را چاپ کٌذ‪.‬‬
‫پاییز ‪ 88‬دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫‪ -3‬یک ‪ Procedure‬برای هحاسبِ باقیواًذُ تقسین دٍ عذد صحیح بٌَیسیذ‪ .‬برای پیادُ سازی ایي ‪ Procedure‬از یک‬
‫حلقِ ‪ ٍ While‬تفاضل دٍ عذد در حلقِ استفادُ کٌیذ‪:‬‬
‫)‪int mod(a,b‬‬
‫)‪While( a > b‬‬
‫;‪a = a –b‬‬
‫;‪return a‬‬
‫(برًاهِ ضوا بایذ هاًٌذ هثال ‪ Leaf_example‬کِ در کالس هطرح ضذُ قسوت ّایی کِ احتیاج بِ رخیرُ کردى دارد را رخیرُ‬
‫کٌذ‪).‬‬
‫‪ -4‬یک عذد کاهل عذدی است کِ هجوَع هقسَم علیِ ّای آى بِ جس خَدش برابر خَدش است‪ .‬برای هثال ‪ 6‬عذدی کاهل‬
‫است‪ .6=3+2+1 :‬با پیادُ سازی قطعِ کذ زیر کِ بِ زباى ‪ًَ C‬ضتِ ضذُ است توام اعذاد کاهل کَچکتر از ‪ n‬را بیابیذ ٍ‬
‫در حافظِ بعذ از ‪ n‬قرار دّیذ(‪ n‬در حافظِ قرار دارد) ‪:‬‬
‫)‪for (i=1;i<=n;i++‬‬
‫{‬
‫;‪sum =0‬‬
‫)‪for (j=1; j<i; j++‬‬
‫;‪If (mod (i,j) == 0) sum = sum + j‬‬
‫;‪If (sum == i) cout << sum‬‬
‫}‬
‫از ‪ procedure‬سَال قبل برای پیادُ سازی ‪ mod‬استفادُ کٌیذ‪ً (.‬یازی بِ ‪ً jal‬یست‪ .‬بذٍى پرش‪ ،‬کذ ‪ procedure‬را در هحل‬
‫هَرد ًیاز قرار دّیذ‪ ).‬بِ عٌَاى پیص فرض ‪ n=100‬در ًظر بگیریذ‪.‬‬
‫پاییز ‪ 88‬دانشگاه صنعتی شریف‪ ،‬دانشکده مهندسی کامپیوتر‬
‫تحَیل‬
‫تَجِ ‪ًَ : 1‬شتي ‪ comment‬بسای ّس دستَز الصاهی است‪.‬‬
‫تَجِ ‪ : 2‬دز صَزت استفادُ اش حلقِ هعادل آى بِ شباى ‪ C‬باید دز ‪ Comment‬ذکس شَد‪.‬‬
‫توریي ّا را با فرهت ‪ ASM‬رخیرُ کٌیذ ٍ با ًام ّای …‪ e1.asm,‬در فایل ‪ A6_SID.zip‬قرار دّیذ‪ ،‬کِ ‪ SID‬ضوارُ داًطـجَیی ضواسـت‪ٍ .‬‬
‫حذ اکثر تا پٌج شٌبِ ‪ 12‬آذز بِ آدرس زیر ایویل کٌیذ‪ .‬هَضَع ایویل را هطابق قالب زیر ٍارد کٌیذ‪.‬‬
‫‪Email: [email protected]‬‬
‫‪Subject: COL, A#Six, SID‬‬
‫ترکس ‪ :‬در صَرت کپ زدى(!) ًورُ ّر دٍ طرف صفر خَاّذ ضذ‪.‬‬