HW1.pdf

‫مبانی ربانهم نویسی زبان پایتون ‪)40153-5( -‬‬
‫استاد رهاتیان‬
‫تمرین اول ‪ -‬موعد تحویل‪:‬‬
‫بسمه تعالی‬
‫دااگشنه صنعتی شریف (رپدیس تهران)‬
‫‪1394/12/16‬‬
‫فلوچارت‪:‬‬
‫‪ .1‬فلوچارتی طراحی کنید که با دریافت عدد صحیح ‪ n‬از کاربر ‪ ،‬فاکتوریل آن را چاپ کند‪ 10( .‬نمره)‬
‫‪ .2‬همانطور که در درس ریاضیات یک با بسط تیلور آشنا شده اید ‪ ،‬تابع کسینوس دارای بسط تیلوری‬
‫حول صفر مطابق زیر است‪:‬‬
‫‪𝑥 2 𝑥 4 𝑥 6 𝑥 8 𝑥 10‬‬
‫‪+ − + −‬‬
‫⋯‪+‬‬
‫!‪2! 4! 6! 8! 10‬‬
‫حال فلوچارتی طراحی کنید که با گرفتن عدد ‪ x‬و همچنین حد اعشار ‪ y‬از کاربر ‪ ،‬طبق بسط تیلور‬
‫‪𝐶𝑜𝑠(𝑥 ) = 1 −‬‬
‫مقدار کسینوس را محاسبه کند‪ .‬در این فلوچارت باید از حداقل جمالتی استفاده شود که مقدار‬
‫جمله آخر از حد اعشار ورودی کمتر شود‪.‬‬
‫(در طراحی این فلوچارت می توانید از فلوچارت قبل به صورت عملکرد‬
‫توابع ‪ ،‬استفاده کنید‪ 20( ).‬نمره)‬
‫برنامه نویسی‪:‬‬
‫در سواالت برنامه نویسی حتما به فرمت ورودی و خروجی های نوشته شده دقت کنید‪.‬‬
‫‪ .1‬سن کاربرها‪ 15( :‬نمره)‬
‫در این قسمت به عنوان اولین تمرین برنامه نویسی خود با زبان پایتون ‪ ،‬می خواهید برنامه‬
‫ساده ای به شکل زیر طراحی کنید‪:‬‬
‫ابتدا برنامه باید نام کاربر و سپس سال تولد او را بگیرد‪ .‬حال برنامه طبق فرمت زیر به کاربر‬
‫خوش آمد می گوید و سن وی را چاپ می کند‪.‬‬
‫‪Hello <First User name>. Welcome to Python.‬‬
‫‪You are <User age> years old.‬‬
‫‪1‬‬
‫مبانی ربانهم نویسی زبان پایتون ‪)40153-5( -‬‬
‫استاد رهاتیان‬
‫تمرین اول ‪ -‬موعد تحویل‪:‬‬
‫بسمه تعالی‬
‫دااگشنه صنعتی شریف (رپدیس تهران)‬
‫‪1394/12/16‬‬
‫حال برنامه نام و سپس سال تولد کاربر دوم را دریافت می کند و به او نیز مطابق فرمت باال‬
‫خوش آمد گفته و سن وی را چاپ می کند و در نهایت برنامه در عبارتی به شکل نمونه کاربر‬
‫برزگ تر را همراه با اختالف سنی او چاپ خواهد کرد‪.‬‬
‫‪<Older User name> is <Age Difference> years older than <Younger User name>.‬‬
‫در صورتی هم که هم سن باشند باید این موضوع به فرمت موجود در نمونه چاپ شود‪.‬‬
‫‪<First User name> and <Second User name> are at the same age.‬‬
‫ورودی‬
‫خروجی‬
‫‪Hello Ali. Welcome to Python.‬‬
‫‪You are 18 years old.‬‬
‫‪Hello Mohsen. Welcome to Python.‬‬
‫‪You are 44 years old.‬‬
‫‪Mohsen is 26 years older than Ali.‬‬
‫‪Hello Maryam. Welcome to Python.‬‬
‫‪You are 13 years old.‬‬
‫‪Hello Golnaz. Welcome to Python.‬‬
‫‪You are 13 years old.‬‬
‫‪Maryam and Golnaz are at the same age.‬‬
‫‪Ali‬‬
‫‪1376‬‬
‫‪Mohsen‬‬
‫‪1350‬‬
‫‪Maryam‬‬
‫‪1381‬‬
‫‪Golnaz‬‬
‫‪1381‬‬
‫‪ .2‬لوزی داخل مربع‪ 15( :‬نمره)‬
‫در این قسمت می خواهیم به وسیله چاپ کاراکتر "*" و "‪ "+‬و دستور چاپ لوزی های را از جنس‬
‫"‪ "+‬درون مربع های بزرگتر از جنس "*" ایجاد کنیم‪ .‬به این منظور ابتدا کاربر یک عدد به عنوان‬
‫بُعد لوزی را وارد می کند‪ .‬حال برنامه باید یک مربع بسازد که لوزی مورد نظر را بتوان داخل آن‬
‫جای داد‪ .‬لوزی هم داخل مربع با کاراکتر مربوطه باید رسم شود‪ .‬اگر برنامه قادر به ساخت چنین‬
‫لوزی نباشد باید پیغام "!‪ "Can’t draw this pattern‬نمایش داده شود‪.‬‬
‫‪2‬‬
‫بسمه تعالی‬
‫مبانی ربانهم نویسی زبان پایتون ‪)40153-5( -‬‬
‫استاد رهاتیان‬
‫تمرین اول ‪ -‬موعد تحویل‪:‬‬
‫دااگشنه صنعتی شریف (رپدیس تهران)‬
‫‪1394/12/16‬‬
‫ورودی‬
‫خروجی‬
‫*****‬
‫‪3‬‬
‫**‪**+‬‬
‫*‪*+++‬‬
‫**‪**+‬‬
‫*****‬
‫!‪Can’t draw this pattern‬‬
‫**‬
‫‪4‬‬
‫‪0‬‬
‫**‬
‫‪ .3‬اعداد اول‪ 20( :‬نمره)‬
‫همانطور که میدانید عدد اول عددی است که فقط بر خودش و عدد یک بخش پذیر باشد‪ .‬از طرفی‬
‫هم زیر مجموعه مقسوم علیه های عدد صحیح ‪ a‬را مجموعه ای از اعدادی تعریف میکنیم که‬
‫مقسوم علیه عدد ‪ a‬باشند‪.‬‬
‫حال در این فسمت از شما میخواهیم برنامه ای بنویسید که یک عدد از کاربر دریافت کند و‬
‫مشخص کند که عدد فوق اول است یا نه؟ اگر عدد اول نبود عبارت ”‪ “Not Prime Number‬و‬
‫اگر اول بود عبارت ”‪ “Prime Number‬را چاپ کند‪.‬‬
‫حال برنامه باید در زیر مجموعه مقسوم علیه های عدد وارد شده هم باید دنبال عدد های اول‬
‫بگردد و تعداد اعداد اول را چاپ کند‪.‬‬
‫(راهنمایی‪ :‬برای راحتی کار بهتر است در این برنامه از عملکرد توابع استفاده کنید‪).‬‬
‫‪3‬‬
‫بسمه تعالی‬
‫مبانی ربانهم نویسی زبان پایتون ‪)40153-5( -‬‬
‫استاد رهاتیان‬
‫تمرین اول ‪ -‬موعد تحویل‪:‬‬
‫دااگشنه صنعتی شریف (رپدیس تهران)‬
‫‪1394/12/16‬‬
‫ورودی‬
‫خروجی‬
‫‪6‬‬
‫‪Not Prime Number‬‬
‫‪2‬‬
‫‪Prime Number‬‬
‫‪Not Prime Number‬‬
‫‪3‬‬
‫‪21‬‬
‫‪110‬‬
‫‪ .4‬اعداد کامل‪ 20( :‬نمره)‬
‫همانطور که می دانید ‪ ،‬عدد کامل عددی است که مجموع مقسوم علیه های آن برابر خود آن عدد‬
‫باشد‪ .‬برنامه ای بنویسید که یک عدد از کاربر دریافت کند و مشخص کند که این عدد کامل است یا‬
‫نه؟ در صورت کامل بودن عبارت ”‪ “Complete Number‬و در صورتی که کامل نبود عدد ‪“Not‬‬
‫”‪ Complete Number‬را چاپ کند‪.‬‬
‫حال برنامه باید دو عدد دیگر از کاربر دریافت کند و تمام اعداد کامل بین این دو عدد را چاپ کند‪.‬‬
‫ورودی‬
‫خروجی‬
‫‪Complete Number‬‬
‫‪28‬‬
‫‪Not Complete Number‬‬
‫‪Not Found‬‬
‫‪4‬‬
‫‪496‬‬
‫‪6‬‬
‫‪30‬‬
‫‪27‬‬
‫‪100‬‬
‫‪150‬‬