HW3.pdf

‫تمرین سری سوم‬
‫درس مبانی برنامه نویسی‬
‫موعد ارسال‪ :‬شنبه ‪ 12‬اردیبهشت ‪1394‬‬
‫تمرین سری سوم درس مببنی برنبمه نویسی‬
‫موعد ارسبل‪ :‬شنبه ‪ 21‬اردیبهشت ‪2931‬‬
‫نکات کلی‬
‫‪ ‬هَعذ زحَیل ساعر ‪$ 11:11‬ظْز‪ #‬رٍس ضٌثِ ‪ 11‬اردیثْطر ‪ 1911‬تَدُ ٍ تِ ّیچ عٌَاى زوذیذ ًخَاّذ ضذ‪.‬‬
‫‪ ‬زأخیز زا ‪ 1‬ساعر‪ ،‬تِ اسای ّز ‪ 9‬دقیقِ هَجة کسز ضذى ‪ً "1‬وزُ‪ ،‬اس ‪ 1‬ساعر زا ‪ 11‬ساعر هَجة کسز ضذى‬
‫‪ً "12‬وزُ‪ ،‬اس ‪ 11‬ساعر زا ‪ 11‬ساعر‪ ،‬تِ اسای ّز ‪ 1‬دقیقِ هَجة کسز ضذى ‪ً "1‬وزُی دیگز ٍ تیي ‪ 11‬ساعر‬
‫زا ‪ 14‬ساعر تاعث کسز ضذى ‪ً "12‬وزُ هیضَد ‪ .‬اس ‪ 14‬ساعر زا ‪ 11‬ساعر ًیش‪ ،‬تِ اسای ّز ‪ 1.1‬دقیقِ هَجة‬
‫کسز ضذى ‪ "1‬درصذ ًوزُ ی دیگز هی ضَد‪ $ .‬تذیْی اسر کِ تا زاخیز تیص اس ‪ 11‬ساعر ‪ً "122‬وزُ اس ضوا‬
‫کسز ضذُ ٍ دیگز اس ایي زوزیي ًوزُ ای ًوی گیزیذ ‪#‬‬
‫‪ ‬قطع تَدى ایٌسزًر خَاتگاُ‪ ،‬کٌذی خایگاُ ایٌسزًسی داًطکذُ‪ ،‬زوام ضذى کارذ ایٌسزًر ٍ … ّیچکذام دلیل‬
‫هَجْی تزای زأخیز ًیسسٌذ‪ .‬تٌاتزایي خیطٌْاد هیضَد جَابّای خَد را در دانشکده ارسال کٌیذ‪.‬‬
‫‪ّ ‬زگًَِ رًٍَضر‪ ،1‬تزای هٌثع رًٍَضر ٍ ّوچٌیي ًسخِّای رًٍَیسی ضذُ ‪ً -1‬وزُ در خی خَاّذ داضر‪.‬‬
‫‪ ‬زالش تزای اسسفادُ اس هٌاتع سیسسن هاًٌذ کارذ صذا ٍ خزیٌسز ٍ ‪ ...‬هٌجز تِ دریافر ًوزُی صفز هیضَد‪.‬‬
‫‪ ‬سَاالذ خَد را در صفحِ درس هثاًی تزًاهِ ساسی در سایر ‪ piazza.com‬هطزح کٌیذ‪.‬‬
‫زوزیي سزی سَم درس هثاًی تزًاهِ ًَیسی‬
‫‪1‬‬
‫کدی یا ّواى کُح‬
‫‪1‬‬
‫مسئله ‪.2‬جمع چند الیه‬
‫هجوَعِ ّای هعوَلی کِ در ایي سَال تِ آى ّا هجوَعِ ّای یک الیِ هیگَیین‪ ،‬هجوَعِ ّایی ّسسٌذ کِ اعضای آى ّا فقط‬
‫عذد ّسسٌذ‪ .‬در ایي سَال تا هجوَعِ ّای چٌذالیِ سزٍکار دارین کِ اعضای آى عالٍُ تز عذد هیزَاًٌذ هجوَعِ دیگزی ّن تاضٌذ‬
‫کِ هوکي اسر در دل آى ّا ًیش هجوَعِ دیگزی تاضذ‪.‬‬
‫تِ تیاى دیگز یک هجوَعِ چٌذالیِ هجوَعِ ایسر کِ اعضای آى هیزَاًٌذ عذد ٍ یا یک هجوَعِ چٌذالیِ دیگز تاضٌذ ٍ یک‬
‫هجوَعِ یک الیِ هجوَعِ ایسر کِ اعضای آى فقط عذد ّسسٌذ ٍ عضَ هجوَعِ ًذارد‪.‬‬
‫‪ّ$‬ز هجوَعِ یکالیِ‪ ،‬هجوَعِ چٌذالیِ ّن ّسر اها ّز هجوَعِ چٌذالیِ هجوَعِ یک الیِ ًیسر‪#.‬‬
‫تزای جوع یک هجوَعِ چٌذ الیِ تِ اسای ّز هجوَعِ چٌذالیِ عضَ آى‪ ،‬حاصل جوع آى هجوَعِ چٌذ الیِ را قزار هیذّین ٍ‬
‫ایي عذد ّا را تا سایز اعذاد عضَ هجوَعِ جوع هیکٌین‪.‬‬
‫تِ عٌَاى ٍرٍدی یک هجوَعِ چٌذ الیِ دادُ هیضَد‪ .‬هیخَاّین جوع اعضای هجوَعِ ٍ الثسِ جوع ّوِ اعضای هجوَعِ ّای زَ‬
‫درزَ آى را تِ دسر آٍرین‪ .‬تزای چاج جوع یک هجوَعِ تِ ایي صَرذ عول هیکٌین کِ اگز ّوِ اعضای آى عذد تَدًذ‪ ،‬جوع آى‬
‫عذد ّا را چاج هیکٌین‪ .‬در غیز ایي صَرذ اتسذا ایي کار را تزای ّوِ هجوَعِ ّای درٍى آى ‪$‬تِ زززیة قزار گزفسٌطاى اس سور‬
‫چح تِ راسر‪ #‬اًجام هیذّین ٍ ٍقسی جوع ّوِ هجوَعِ ّای درًٍص را تِ دسر آٍردین ٍ چاج کزدین‪ ،‬آى ّا را تا ّن ٍ ّوچٌیي‬
‫سایز اعذاد عضَ هجوَعِ جوع هیکٌین‪ .‬تزای ّز هجوَعِ ای کِ دیذُ هی ضَد‬
‫هیزَاًیذ فزض کٌیذ هجوَعِ زْی ًذارین ٍ اعذاد ّوِ ًاهٌفی ّسسٌذ‪.‬‬
‫ورودی نمونه‬
‫خروجی نمونه‬
‫‪6‬‬
‫}‪{1, 2, {3, {4, 5 ,{6}} ,7}, 8‬‬
‫‪15‬‬
‫‪25‬‬
‫زوزیي سزی سَم درس هثاًی تزًاهِ ًَیسی‬
‫‪1‬‬
‫‪36‬‬
‫‪1‬‬
‫‪1‬‬
‫‪6‬‬
‫‪41‬‬
‫‪1‬‬
‫‪41‬‬
‫}}‪{{12, 23, {4, 0, {1}, {1}}}, 0, {1‬‬
‫‪6‬‬
‫}}}}‪{1, {2, {{6}}}, {{{7‬‬
‫‪6‬‬
‫‪8‬‬
‫‪7‬‬
‫‪7‬‬
‫‪7‬‬
‫‪16‬‬
‫زوزیي سزی سَم درس هثاًی تزًاهِ ًَیسی‬
‫‪9‬‬
‫مسئله ‪ .1‬نبمه هبی سری‬
‫زوزیي سزی سَم درس هثاًی تزًاهِ ًَیسی‬
‫‪1‬‬
‫طثق زصوین ّای جذیذ‪ً ،‬اهِ ّایی کِ تیي دسسیارّای آهَسضی ٍ اسساد هثادلِ هیضًَذ تایذ تِ صَرذ رهش ضذُ تاضٌذ‪ .‬خس السم‬
‫اسر کِ هسي یک ًاهِ ّن رهشگذاری ضَد ٍ ّن تسَاى آى را رهشگطایی کزد‪.‬‬
‫در عولیاذ هعوَلی رهشًگاری عٌاصز اصلی سیز ٍجَد دارًذ‪:‬‬
‫هسي آضکار )‪ :(plain text‬هسي اٍلیِ کِ تِ صَرذ هعوَلی ٍ تزای ّوِ قاتل فْن اسر ٍ رٍی آى عولیاذ رهشًگاری اًجام هی‬
‫ضَد‪.‬‬
‫هسي رهش )‪ :(cypher text‬ایي هسي تِ صَرذ رهش ضذُ اس یک هسي آضکار تِ دسر آهذُ اسر کِ اطالعاذ اٍلیِ را تِ صَرذ‬
‫هخفی دارد‪ .‬تا رهشگطایی ایي هسي هیزَاى تِ هسي اصلی آضکار دسر خیذا کزد‪.‬‬
‫تزای رهشًگاری رٍش ّا ٍالگَریسن ّای هخسلفی ٍجَد دارد‪ .‬یکی اس ایي رٍش ّا اسسفادُ اس حزف ّای جایگشیي هی تاضذ کِ تزای‬
‫زعییي حزٍف جایگشیي اس هٌطق ّای هخسلفی هی زَاى اسسفادُ کزد‪ .‬اصطالحاذ سیز در دًیای رهشًگاری تِ کار هی رٍد ‪:‬‬
‫رهشگذاری )‪ : (encrypt‬ساخسي هسي رهش اس رٍی هسي آضکار تز اساس رٍش هطخص !‬
‫رهشگطایی )‪ :(decrypt‬تِ دسر آٍردى هسي آضکار اس رٍی هسي اصلی را رهشگطایی هیگَیین‪ .‬ایي عول تا اًجام عکس عول‬
‫رهشگذاری اًجام دادُ هی ضَد‪.‬‬
‫زصوین تز ایي ضذُ اسر کِ تزای رهشگذاری ٍ رهشگطایی اس ستاى خَب خایسَى اسسفادُ ضَد ٍ ّوچٌیي تِ دلیل هطغلِ سیاد‬
‫دسسیاراى اس ضوا خَاسسِ ضذُ اسر کِ تزًاهِ ای تٌَیسیذ کِ عول رهشگذاری ٍ رهشگطایی را تزای آى ّا اًجام دّذ‪.‬‬
‫تزًاهِ ای کِ هیٌَیسیذ تایذ ّز دٍ عول را اًجام دّذ‪ٍ .‬رٍدی تزًاهِ هطخص هیکٌذ کِ ّذف رهشگذاری یا رهشگطایی اسر‬
‫‪ encrypt $‬تزای رهش گذاری ٍ ‪ decrypt‬تزای رهشگطایی‪#‬‬
‫رٍش رهش کزدى ّن تِ ایي صَرذ اسر کِ فایلی تِ عٌَاى کلیذ تِ ضوا دادُ هی ضَد کِ در آى هطخص ضذُ اسر کِ کذام‬
‫کاراکسز تایذ تا کذام کاراکسز دیگز جاتِجا ضَد‪ .‬سایز کاراکسز ّای هسي کِ در فایل کلیذ جایگشیي آى ّا هطخص ًطذُ اسر‪ ،‬تِ‬
‫ّواى صَرذ اٍلیِ در هسي خزٍجی آٍردُ هیضًَذ‪.‬‬
‫هسي اصلی کِ ضوا تایذ آى را رهش گشاری یا رهش گطایی کٌیذ در فایل ”‪ “input.txt‬هی تاضذ ٍ ضوا تایذ تِ ٍسیلِ ی‬
‫فایل”‪ ”key.txt‬کِ هحسَی کلیذ هی تاضذ ‪ ،‬تا زَجِ تِ ایٌکِ ّذف رهشگشاری یا رهش گطایی اسر ‪ ،‬هسي اصلی را زغییز دادُ ٍ‬
‫حاصل را در فایل ”‪ “output.txt‬تزیشیذ ٍ فایل ”‪ “output.txt‬را تفزسسیذ ‪.‬‬
‫تِ عٌَاى هثال کارتز در ٍرٍدی عثارذ سیز را ٍارد کزدُ اسر ‪:‬‬
‫‪encrypt‬‬
‫هحسَی فایل ‪ input‬تذیي ضکل هی تاضذ‪:‬‬
‫! ‪Hello , this is input file content‬‬
‫هحسَی فایل ‪ key‬تذیي صَرذ اسر ‪:‬‬
‫‪t ---> b‬‬
‫‪c ---> w‬‬
‫‪H ---> m‬‬
‫? >‪, ---‬‬
‫‪i ---> O‬‬
‫هحسَی فایل ‪ output‬تِ صَرذ سیز خَاّذ تَد‪:‬‬
‫! ‪mello ? bhOs Os Onpub fOle wonbenb‬‬