Drills (Session04)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

‫به نام خدایی که بی دریغ ستّار العیوب است‪...

‬‬

‫مؤلف‪ :‬سجّاد رحمانی‬

‫هرگونه کپی برداری غیرقانونی و حرام است و هیچ گونه رضایت مولف را در بر ندارد‬

‫تمرین سری ‪4‬‬


‫‪ -1‬اگر نیاز باشد در سوالی از پایتون استفاده نکنید‪ ،‬صراحتاً بیان میشود‪.‬‬

‫‪ -2‬ممکن است در جواب بعضی سواالت نیاز باشد بگویید با خطا مواجه میشویم و توضیح دهید‪[ .‬پس لزوماً قرار‬
‫نیست چیزی که خواسته شده واقعاً صحیح باشد]‬

‫پس تاکید مجدد‪ :‬اگر جایی با خطا مواجه میشه‪ ،‬کامل توضیح بدید [کاملِ کامل!]‬

‫‪ -3‬در هیچ جای این تمرین حق ندارید از مطالبی استفاده کنید که ما آموزش ندادیم‪.‬‬

‫متن سوال‬ ‫شماره‬


‫در این سوال میتوانید از پایتون استفاده کنید‬ ‫‪1‬‬
‫برنامهای بنویسید که فاکتوریل یک عدد را حساب کند (از کاربر ورودی دریافت کند و به عنوان‬
‫خروجی فاکتوریل عدد داده شده را تحویل دهد)‪.‬‬
‫در این سوال میتوانید از پایتون استفاده کنید‬ ‫‪2‬‬
‫فرض کنید کاربر لیست زیر را وارد کرده است‪:‬‬
‫]‪a=[1,2,1,2,4,4,3,4,5,6,1,2,4,3,4‬‬
‫برنامه ای بنویسید که اعضای این لیست را در قالب لیست دیگری مانند ‪ b‬قرار دهد‪ ،‬منتهی در لیست ‪b‬‬
‫نباید عنصر تکراری داشته باشیم‪[ .‬حق استفاده از ‪ set‬را در هیچجای برنامه خود ندارید]‬
‫راهنمایی‪ if i not in b :‬یعنی اگر ‪ i‬توی ‪ b‬نبود‪.‬‬
‫در این سوال میتوانید از پایتون استفاده کنید‬ ‫‪3‬‬
‫فرض کنید کاربر لیست زیر را وارد کرده است‪:‬‬
‫]‪a=[1,2,1,2,4,4,3,4,5,6,1,2,4,3,4‬‬
‫برنامه ای بنویسید که در خروجی به صورت یک دیکشنری چاپ کند که هر عدد چندبار در لیست تکرار‬
‫شده است‪ .‬مثالً برای این مثال توقع میرود خروجی به صورت زیر باشد‪:‬‬
‫}‪{1: 3, 2: 3, 3: 2, 4: 5, 5: 1, 6: 1‬‬
‫در این سوال میتوانید از پایتون استفاده کنید‬ ‫‪4‬‬
‫برنامهای بنویسید که جمع اعداد صحیح ‪ 1‬تا ‪ n‬را محاسبه کند (‪ n‬را از خود کاربر بگیرید‪ ،‬درضمن حق‬
‫استفاده از تابع ‪ sum‬را ندارید)‪.‬‬
‫در این سوال میتوانید از پایتون استفاده کنید‬ ‫‪5‬‬
‫لیستی به اسم ‪ SSE‬را به صورت زیر در نظر بگیرید‪:‬‬
‫‪SSE=[680.8244,152.36870648,78.94084143,57.31787321,46.56163016,38.9309‬‬
‫]‪6305,34.19068792,30.06387443,27.84235606,26.04820225‬‬
‫متغیر ‪ Y‬را به صورت زیر در نظر بگیرید‪:‬‬
‫‪2‬‬
‫‪Y‬‬
‫‪3‬‬
‫الف) لیستی به اسم ‪ d‬درست کنید که تک تک مولفههای لیست ‪ SSE‬را به توان ‪ Y‬برساند‪.‬‬
‫ب) به ابتدای لیست ‪ ،d‬مقدار ‪ 0‬را اضافه کنید‪.‬‬
‫پ) حال لیست دیگری به اسم ‪ Jump‬در نظر بگیرید که قرار است مولفههای آن به صورت زیر تشکیل‬
‫شود‪:‬‬
‫‪dk  dk 1‬‬
‫یعنی مثالً‪:‬‬
‫] ‪d  [ 4, 7, 6, 7‬‬
‫]‪Jump  [( 7  4),(6  7),( 7  6)]  [ 3, 1,1‬‬
‫ت) چاپ کنید که کدام مولفه از ‪ Jump‬بیشینه مقدار را دارد؟ [به زبون خودمون چاپ کنید! یعنی‬
‫درسته پایتون اندیسگذاری رو از صفر شروع می کنه‪ ،‬اما شما در خروجی به زبون خودمون چاپ کنید نه‬
‫زبون پایتون]‬

‫تذکر‪ :‬این مثال سادهسازی شده ی یکی از الگوریتم های موجود در یکی از مقاالت حوزه دادهکاوی و‬
‫یادگیری ماشین بود‪ ،‬حوزهای که بهترین ابزار آن پایتون است‪.‬‬
‫و قطعاً دانش پایتون (یا یک زبان برنامهنویسی دیگر مثل ‪ )R‬در این حوزه نیاز است وگرنه بدون اغراق‬
‫هیچکاری نمیتونید بکنید‪.‬‬
‫موفق باشید‪،‬‬

‫گروه آموزشی کوالکـــ ‪...‬‬

‫سجّاد رحمانی‬

You might also like