matlabkhooneh

تکالیف پایتون Python - برنامه نویسی پیشرفته پایتون ( Py0019 )

تمرین سری اول - توابع

1 - تابعی بنویسید که با گرفتن نقطه مرکز و یک نقطه روی محیط یک دایره، مساحت آن را برگرداند.

2 - تابعی بنویسید که ک.م.م (کوچکترین مضرب مشترک) دو عدد صحیح را برگرداند.

3 - تابعی بنویسید که ب.م.م (بزرگترین مقسوم علیه مشترک) دو عدد صحیح را برگرداند.

4 - سوال ب.م.م را با فراخوانی تابع جواب سوال ک.م.م بنویسید.

5 - تابعی بنویسید که با گرفتن یک عدد، اول بودن یا نبودن آن را برگرداند

6 - با استفاده از جواب سوال اعداد اول، تابعی بنویسید که همه اعداد اول کوچکتر از 100 را چاپ کند

7 - تابعی بنویسید که کمینه و بیشینه عناصر لیست را برگرداند.

8 - تابعی که با گرفتن یک عدد، لیست اعداد کوچکتر از آن را برگرداند.

9 - تابعی که با گرفتن یک عدد، لیست اعداد زوج کوچکتر از آن را برگرداند.

10 - تابعی که باگرفتن یک عدد، لیست مقسوم علیه های آن را برگرداند.

11 - تابعی که باگرفتن یک لیست میانگین و مجموع عناصر لیست را به صورت دیکشنری برگرداند.

12 - تابعی که باگرفتن یک لیست کمینه وبشینه لیست را به صورت دیکشنری برگرداند.

13 - تابعی که میانه یک لیست را برگرداند.

14 - تابعی که مد یک لیست را برگرداند(نمره اضافه).

15 - تابعی بنویسید که دو لیست بگیرد و عناصر مشترک آن ها راچاپ کند (نمره اضافه).

16 - تابعی بنویسید که جدول ضرب 10 در 10 را چاپ کند.

17 - تابعی بنویسد که با گرفتن یک ماتریس، عناصر قطر اصلی آن را چاپ کند.

 

کتابخانه محاسبات مساحت و محیط

18 - ماژولی برای محاسبات برداری فضای سه بعدی بنویسید

توابع لازم : برگرداندن بردار از مختصات دو نقطه ، طول بردار ، زاویه دو بردار ، جمع ، ضرب داخلی ، ضرب خارجی)

19 - ماژولی برای محاسبات هندسی دایره بنویسید (محیط ، مساحت ، مرکز دایره)

دایره را به روش های زیر می شود تعیین کرد ( با نقطه مرکز و یک نقطه روی محیط - با دادن دو نقطه یکی از قطرها - با دادن سه نقطه روی دایره )

20 - برای اشکال هندسی مختلف ماژول بنویسید که محیط و مساحت و مرکز ثقل آنها را برگرداند (مستطیل ، مثلث ، متوازی الاضلاع ، ذوزنقه)

21 - در ماژول main

تابعی بنویسید با گرفتن دو نقطه بزرگترین محیط و بزرگترین مساحت مستطیلی که این دو نقطه راس های یکی از قطرهای آن باشند را چاپ کند.

تابعی بنویسید که با گرفتن سه نقطه مساحت و محیط و مرکز ثقل مثلث و متوازی الاضلاعی که این سه نقطه رئوس آن ها هستند راچاپ کند.

تابعی بنویسید که با گرفتن سه نقطه مساحت و محیط و مرکز ثقل دایره ای که از هر سه می گذرد راچاپ کند.

بخش main این ماژول اول تعداد نقاط را می پرسد و با گرفتن دو نقطه تابع اول را صدا می زند و با گرفتن سه نقطه دو تابع بعدی را فراخوانی می کند

22 - کدی بنویسید که مختصات دو نقطه سه بعدی از یک خط را از کاربر گرفته و رابطه خط را نمایش دهد.

23 - رابطه خر در مختصات دو قطبی به صورت y=mx+b است، که در آن m شیب خط و b نقطه متناظر با x برابر صفر است. کدی بنویسید که m و b دو خط را از کاربر بگیرد و سپس نقطه برخورد دو خط را نمایش دهد.

اگر دو خط نقطه برخورد نداشتند عبارت No itersection point نمایش داده شود.

24 - کدی بنویسید که بردار نرمال و یک نقطه از یک صفحه در فضای سه بعدی را از کاربر گرفته و رابطه آن صفحه را نمایش دهد. مثلا اگر مقادیر 3 و 5- و 6 را برای مولفه های نقطه و مقادیر 2 و 4- و 3- را برای مولفه های نرمال وارد کند برنامه صفحه ی 2x-4y-3z=8 را نمایش دهد.

25 - کدی بنویسید که دو عدد طبیعی از کاربر بگیرد و نردبان مضارب آن دو را مرتب و درست نمایش دهد.

26 - کدی بنویسید که سه نقطه از یک صفحه در فضای سه بعدی را از کاربر گرفته و رابطه ی صفحه ای از این سه نقطه می گذرد را نمایش دهد.

27 - کدی بنویسید که مقدار تقریبی مشتق تابع زیر را در نقطه ای ( مقدار x  ) که کاربر وارد می کند ، به همراه مقدار تابع در آن نقطه نمایش دهد. نقطه وارد شده باید بین 2- و 1 باشد.

\[ f(x)=sin(\frac{\sqrt{e^x+1}}{2x^3-5})cos(x^4-12x+8)\]

28 - کدی بنویسید که مقدار تقریبی انتگرال تابع زیر را ( نسبت به x ) از صفر تا هر نقطه ای که کاربر می نویسد حساب کرده و نمایش دهد. مقدار وارد شده توسط کاربر بین 0.1 تا 10 باشد. این برنامه باید با استفاده از تعریف انتگرال ( مساخت زیر نمودار تا نقطه ای که کاربر می خواهد ) به صورت عددی جواب را محاسبه کند.

\[ f(x)=\frac{sin(\sqrt{x}+2)}{\sqrt{x}}e^{\sqrt{x}}\]

29 - کدی بنویسید که مقادیر تقریبی ماکزیمم و مینیمم نسبی و مطلق ( در صورت وجود ) تابع زیر را در بازه 1 تا 1- یافته و به همراه x متناظرشان نمایش دهد.

\[ f(x)=sin(-4x+13)cos(x-2)sin(4x^4-7x+3)\]

30 - کدی بنویسید که ریشه های معادله زیر را در بازه 1 تا 1.5 نمایش دهد.

\[ \frac{sin(x^5+4x^3-1)}{\sqrt{x+12}}e^{-3x^{3}+5}\]

31 - کدی بنویسید که ارتفاع و سرعت و زاویه اولیه پرتاب یک توپ را از کاربر گرفته و نمودار حرکت پرتابی زیر را به همراه محورهای مختصات آن نمایش دهد. همچنین زمان پرواز time of flighr ، فاصله نهایی distance ، بیشترین ارتفا از سطح زمین maximum height ، زمان رسیدن به بیشترین ارتفاع و سرعت عمودی برخورد با زمین را به همراه بعد هر کدام نیز نمایش دهد.

32 - کدی بنویسید که مختصات تعدادی نقطه در فضای دو بعدی را از کاربر گرفته و مختصات مرکز جرمشان center point را نمایش دهد.

33 - کدی بنویسید که تعداد جمله های مورد نظر برای سری زیر را از کاربر بگیرد و مجموع این جمله ها را چاپ کند.

\[ \sum_{n=1}^{\infty }(\frac{1+cos(n)}{2+cos(n)})^{2n-ln(n)}\]

34 - فلوچارت ، الگوریتم و برنامه ای بنویسید که دو عدد صحیح را گرفته و مقسوم علیه های مشترکشان را نمایش دهد.

35 - فلوچارت ، الگوریتم و برنامه ای بنویسید که دو عدد صحیح را گرفته و بزرگترین مقسوم علیه مشترکشان را نمایش دهد.

36 - فلوچارت ، الگوریتم و برنامه ای بنویسید که دو عدد صحیح را گرفته و کوچکترین مضرب مشترکشان را نمایش دهد.

37 - تابعی بنویسید که یک آرایه را دریافت کرده و مجموع آن ها را محاسبه کند.

38 - برنامه ای بنویسید که رمز نگاری سزار را روی یک رشته انجام دهد.

39 - تابعی بنویسید که دو عدد صحیح را پارامتر گرفته و تعیین می‌نماید که پارامتر اولی  مضربی از پارامتر دومی هست یا خیراگر باشد مقدار true و اگر نباشد مقدار false را برمی‌گرداند

40 - کلاسی برای تمام تلویزیون ها تعریف کنید. در ویژگی های منحصر به فرد متفاوت آن ها حتما باید سایز تلویزیون بر حسب اینچ دریافت شود.

حال اگر فرض کنیم هر پیکسل برای روشن ماندن 0.0003 وات برق مصرف کند، یک رفتار برای کلاستان تعریف کنید به نام مصرف برق که محاسبه کند در تلویزیون نمونه سازی شده چقدر برق مصرف می شود ( تراکم پیکسلی را 100 پیکسل در اینچ در نظر بگیرید.

در مرحله بعد 3 نمونه بسازید و محاسبه کنید اگر 3 تلویزیون با هم روشن باشند، چند وات برق مصرف می شود.

41 - حاصل دستور زیر را در پایتون پیاده سازی کنید.

[(x,x**2) for x in range(6)]

42 - یک دستور تک سطری در پایتون بنویسید که لیست اعداد مربع کامل کوچکتر یا مساوی 1000 را بسازید.

43 - تابعی به نام str_cnt(s,c) بنویسید که رشته s و کاراکتر c را گرفته و تعداد تکرار حرف c درون رشته s را شمرده و بر می گرداند.

44 - تابعی به نام exp(x,n) در پایتون بسازید که با محاسبه n جمله اول بسط تیلور مقدار تقریبی آن را محاسبه کند.

45 - فرض کنید تابع isPrime که عدد صحیح n را گرفته و اول بودن و یا نبودن آن را با True و False  برمی گرداند را داریم. با کمک این تابع یک دستور تک سطری بنویسید که لیست اعداد اول کوچکتر و مساوی 1000 را بسازد.

46 - با استفاده از tkinter یک نوت پد Notepad پیاده سازی کنید که توانایی بازکردن و ذخیره فایل را داشته باشد.

47 - فایل اکسل Ties را ایمپورت کنین، تعداد missing value ها رو پرینت بگیرین، و جدول جدیدی بسازین که missing value نداشته باشد.
 * با استفاده از این جدول، جدول جدیدی بسازید که شامل 270 نمونه باشد (نمونه ها به صورت رندوم و تصادفی انتخاب شوند)، و اسم جدولتان را Table270  نام گذاری کنید.
 * تعداد ردیف ها و ستون های جدول Table270 را پرینت بگیرید.
 * اسامی ستون های جدول Table270 را پرینت بگیرید.
 * نوع داده های هر ستون را (object, int, float) را پرینت بگیرید.
 * جدولی پرینت بگیرید که ستون هایی را دارد که فقط از نوع عدد هستند.
 * جدولی را پرینت بگیرید که ستون های آن فقط از نوع        object   هستند.
 * عملیات factorization را روی ستون های جدول تولید شده در قسمت 7 انجام دهید و جدول جدیدتان را پرینت بگیرید.
 * جدول جدیدی تولید کنید که ترکیبی از قسمت های 6 و 8 می باشد.
 * عملیات استاندارد سازی را بر روی جدول قسمت 8 انجام دهید.
 * با استقاده از مدل رگرسیون لاجیستیک، مدلی بسازید که متغیر (%) Percent Poor Ties را به عنوان متغیر y  در نظر بگیرد (متغیرهای y  در دو دسته بندی بالای 40 درصد و پایین 40 درصد تقسیم بندی شوند).
 * با استقاده از ابزار آماری مرتبط با این مدل که در طول دوره تدریس شد، دقت مدل را اندازه گیری کنید و تفسیرتان را از این اعداد بنویسید.

48 - برنامه ای بنویسید که محتصات سه راس یک مثلث، به صورت سه جفت عدد صحیح و مثبت را از کاربر گرفته

الف ) بررسی کند آیا این سه نقطه می تواند راس های یک مثلث باشند یا خیر

ب ) اگر این نقطه ها راس های یک مثلث بودند، مساحت آن مثلث را محاسبه کرده و نشان دهد.

ج ) نوع مثلث را مشخص کند ( مثلث می تواند متساوی الاضلاع، متساوی الساقین یا قائم الزاویه یا مختلف الاضلاع باشد.

49 - الف) یک تابع به نام sumOfDivisors بنویسید که عدد صحیح و مثبت n را به عنوان آرگومان (پارامتر) ورودی بگیرد و مقسوم علیه های آن را با هم جمع کرده و حاصل جمع را بازگرداند.

به طورمثال برای ورودی 8=n حاصل جمع 7=1+2+4 را باز گرداند.

ب) دو عدد صحیح را " دوست دار هم " گویند اگر مجموع مقسوم علیه های هریک از آن ها مساوی عدد دیگر باشد.

به عنوان مثال اعداد 284 و220 را " دوست دار هم " گویند چون مجموع مقسوم علیه های عدد 284 برابر با عدد 220 است و مجموع مقسوم علیه های عدد 220 برابر با 284 است.

ب) با استفاده از تابع نوشته شده در قسمت الف، برنامه ای بنویسید که تمام اعداد "دوست دار هم" بین 100 تا 1000 را پیدا نموده و چاپ کند.

 

50 - الف) تابعی به نام crypt بنویسید که یک عدد n که یک عدد صحیح و مثبت 4 رقمی است و کلید k را که آن عدد نیز یک عدد صحیح و مثبت 4 رقمی است را به عنوان پارامتر ورودی گرفته و ابتدا ارقام مجاور عدد n را جابجا کرده و سپس یای انحصاری k وعدد بدست آمده را بازگرداند.

مثال اگر عدد ورودی n = 1234, کلید k=1024 باشد، ابتدا ارقام مجاور راجابجا کرده  و N1 = 2143 بدست می آید و سپس یای انحصاری N1 و کلید را محاسبه کرده و نتیجه را که 1024 ^ 2143 = 3167 است را باز می گرداند.

ب) برنامه ای بنویسید که کلید k که یک عددصحیح و مثبت 4 رقمی است را از کاربر گرفته و سپس بین اعداد4 رقمی و با استفاده از تابعcrypt ، عددی را که رمز شده آن برابر صفر باشد را پیدا کرده و نشان دهد.

بطور مثال اگر کلید برابر 1234 باشد آنگاه رمز شده 2143 برابر صفر خواهد بود.

 

جهت سفارش پروژه ، تکلیف و آموزش برنامه نویسی پایتون محاسباتی لطفا با متلب خونه تماس بگیرید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

پشتیبانی ( تلفن ثابت دفتر متلب خونه ) : 02191307193  

تلگرام و ایتا :  09364847193

جایگشت رشته و لیست در پایتون ( کد Py0017 )

1 - به روش بازگشتی، برنامه ای بنویسید که تمام جایگشت های ممکن یک رشته داده شده را محاسبه کرده و هر جایگشت را در خطی مجزا چاپ نماید.

ورودی تنها شامل یک خط است و تعداد کاراکترهای آن حداقل ۱ و حداکثر ۷ که در آن هر رشته ی بدون تکرار می تواند قرار بگیرد.

خروجی تمام جایگشت های ممکن محاسبه شده در خطوطی مجزا در خط فرمان باید چاپ شوند.

توجه جهت جلوگیری از بروز اشکال در سامانه تصحیح خودکار تارنمای کوئرا، حتما پیش از چاپ کردن نتایج آنها را توسط تابع sort مرتب نموده و سپس چاپ نمایید. مثال در اینجا چند نمونه برای فهم بهتر صورت سوال و قالب ورودی و خروجی تست ها داده می شود.

2- مانند سوال قبل برنامه ای بنویسید که تمام جایگشت های یک لیست رامحاسبه کرده و هر جایگشت را در خطی مجزا چاپ کند.

3 - برنامه ای بنویسید که یک رشته با طول فرد و دارای حداقل 7 کاراکتر را بگیرد و سه کاراکتر میانی را نشان دهد.

4 - برنامه ای بنویسید که در رشته زیر مکان شروع تمامی کلمات Farhad را نشان دهد.

" Farhad is a VIP member.Farhad nedds to early access "

5 - اگر x=2 باشد ، خروجی دستورات زیر را نمایش دهید. ( ممکن است بعضی دستورات اشتباه باشد )

print("x")

print('x')

print(x)

print("x+1")

print('x'+1)

print(x+1)

6 - برنامه ای بنویسید که شعاع دایره را در ورودی دریافت کند و محیط و مساخت آن دایره را محاسبه و نمایش دهد.

7 - برنامه‌ای بنویسید که یک عدد صحیح را که تعداد ارقامش مشخص نیست از کاربر گرفته و هر رقم را به تعداد آن رقم چاپ کند.

8 - فرض کنید عدد جان‌سخت را به این شکل تعریف کرده‌ایم: اگر عددی اول باشد و اگر از سمت راست آن شروع به حذف ارقام آن بکنیم همواره عدد باقی‌مانده نیز عددی اول باشد، آن عدد جان‌سخت است. مثلا عدد 2399 یک عدد جان‌سخت است زیرا اعداد ۲۳۹۹ و ۲۳۹ و ۲۳ و ۲ همگی اول هستند. همچنین 313۷ نیز یک عدد جان‌سخت است. برنامه‌ای بنویسید که یک عدد را با تعداد ارقام دلخواه دریافت کرده و بررسی کند که عدد جان سخت هست یا خیر.

9 - عنوان پروژه اتوماسیون تغذیه

برنامه ای بنویسید که امکانات زیر را داشته باشد.

الف ) ابتدا دو گزینه به کاربر نمایش داده می شود تا انتخاب کند که مدیر سیستم است یا دانشجو

ب ) اگر کاربر مدیر سیستم را انتخاب کند ، می تواند لیست غذاهای هفته را تعریف کند. مثلا :

شنبه : قرمه سبزی ، کتلت

یک شنبه : کوفته ، عدس پلو و ...

ج ) اگر کاربر دانشجو باشد ، لیست غذاهای موجود هفته را می بیند و می تواند برای هر روز هفته یک غذا رزرو کند.

د ) دانشجو می تواند با وارد کردن مبلغی اعتبار خود را افزایش دهد.

ک ) با انتخاب هر غذا مبلغ آن غذا از اعتبار دانشجو کم می شود.

و ) اگر اعتبار کافی نباشد ، پیغام خطا نمایش داده می شود.

لیست کلاس های مورد نیاز برای این پروژه

کلاس Student اطلاعات دانشجو در این کلاس تعریف می شود. شامل شماره دانشجویی ، نام و نام خانوادگی ، لیست غذاهای رزرو شده برای هر روز ، میزان اعتبار فعلی دانشجو

کلاس food اطلاعات غذا در این کلاس تعریف می شود. شامل عنوان غذا ، روزهای سرو شدن و قیمت

ی ) خطاهای احتمالی را در برنامه پیش بینی و مدیریت کنید.

10 - در ورودی دو رشته داده می‌شود و از شما خواسته شده است تا بررسی کنید این دو رشته در کنار هم زیبا هستند یا نه. دو رشته در کنار هم زیبا هستند، اگر حرف اول رشته‌ی اولی، با حرف آخر رشته‌ی دومی برابر باشد.

11 - محمدجواد که پشت‌کار بالایی دارد، میخواهد به سخنرانی‌ای در مورد پشت‌کار گوش دهد و آن را برای خود یادداشت کند. متاسفانه مسئولین صدا اکوی صدا را در بیشترین حالت ممکن گذاشته اند و به ازای هر کلمه‌ی nn حرفی که سخنران میزند، nn کلمه پخش میشود که هر بار یک حرف از اول کلمه که قبلا حذف نشده حذف میشود و سپس به جای آن حرف، حرف بعدی آن گذاشته میشود. برای مثال اگر سخنران کلمه‌ی golabi را بگوید، بلندگو به این شکل به صدا در می‌آید:

golabi
oolabi
lllabi
aaaabi
bbbbbi
iiiiii

حال به شما یک کلمه که سخنران گفته‌است داده می‌شود و شما باید کلماتی که از بلندگو پخش می‌شود را چاپ کنید تا محمدجواد بتواند آن را یادداشت کند.

12 - تو این تمرین می‌خوایم یکم تابع نویسی رو بیشتر تمرین کنیم! تابعی بنویسید که عددی رو بعنوان آرگومان ورودی بگیره و تمام اعداد اول کوچیکتر یا مساوی اون عدد رو تو خروجی برامون چاپ کنه

13 - برنامه ماشین حسابی با توانایی جمع و تفریق به صورت زیر بنویسید: برنامه در ورودی یک عدد صحیح می گیرد بعد از گرفتن عدد یکی از علامت های جمع یا تفریق به برنامه داده می شود در ادامه به بازهم نرم افزار در خواست ورودی می کند و کار به همین شکل ادامه پیدا می کند تا زمانی به جای علامت مثبت یا منفی به برنامه علامت = ‌داده شود در این صورت برنامه مقدار بدست آمده را چاپ می کند.

3
+
4
+
5
-
6
+
2
-
2
=

14 - برنامه‌ای بنویسید که عدد صحیح n را از ورودی بخواند و مجموع ارقام آن را در b قرار دهد. خروجی b امین عدد اول پس از n است.

15 - می‌خواهیم برنامه‌ای بنویسیم که دو عدد بگیرد و یک مار با علامت‌ # رسم کند در دو خط دو عدد m و n به شما داده می‌شود، که عدد m طول افقی مار و عدد n طول عمودی مار است شکل مورد نظر را در خروجی چاپ کنید

ورودی نمونه

3
5

خروجی نمونه

###
     #
###
#
###

16 - یک بازی دارت قرار است برگزار شود که در آن دو بازیکن به مصاف هم می‌روند که هر کدام ۳ حق پرتاب دارند. سیبل مسابقه یک دایره به قطر ۴۰ سانتی‌متر است که به لحاظ امتیازبندی به ۱۰ حلقه به ضخامت ۲ سانتی‌متری تقسیم شده‌است به طوری که مرکزی‌ترین بخش آن دارای ۱۰۰ امتیاز بوده و بقیه حلقه‌ها با اختلاف 10 امتیازی از یکدیگر در مرتب شده‌اند. به صورتی که آخرین حلقه 10 امتیاز داشته و پرتاب خارج از سیبل نیز هیچ امتیازی ندارد. بعد از پرتاب هر دو بازیکن در نهایت بازیکنی برنده امی‌شود که بیشترین مجموع امتیاز را دشته باشد. حال کدی بنویسید که با گرفتن مختصات برتاب‌های هریک از دو بازیکن امتیاز هر یک از آن ها را نمایش داده و تعیین کند کدام یک از آن‌ها برنده شده و یا بازی به تساوی کشیده شده‌است.

نکته: مرکز سیبل بر روی برکز مختصات می‌باشد و امتیاز روی مرز حلقه‌های امتیازی برابر امتیاز کمتر حلقه بیرونی می‌باشد.

ورودی : ورودی می‌بایست به صورت ۶ زوج مرتب از اعداد حقیقی نامنفی باشند که در 6 سطر به برنامه داده می‌شود که ۳ سطر اول برای بازیکن اول و ۳ سطر دوم برای بازیکن دوم می‌باشد. مقدار اول در هر سطر نیز نشانگر مولفه xx و مقدار دوم بیانگر مولفه yy هر پرتاب آنها می‌باشد.

خروجی : خروجی برنامه‌ی شما باید شامل ۳ خط باشد که در خط اول می‌بایست امتیاز بازیکن اول و در خط دوم امتیاز بازیکن دوم چاپ شود و در خط سوم نیز اگر بازیکن اول برند شد عبارت Player_1 wins و اگر بازیکن دوم برنده شد عبارت *Player_2 wins نمایش داده می‌شود. اگر امتیاز هر دو بازیکن نیز مساوی شد لازم است تا در سطر سوم عبارت The game is drawn چاپ شود

ورودی نمونه

1 2
7.25 9
2.3 8.2
11.65 4
5 6
10 27.4

حروجی نمونه

200
110
Player_1 wins

17 - مستر B که با موفقیت مسئله مقاومت مصالح اش را حل کرد سراغ کامل کردن گزارش کار آزمایشگاه فیزیک رفته ولی متوجه شد که باید برای درس آزمایشگاه یک عالمه کار تکراری و محاسباتی انجام دهد اما از آنجا که مستر B اهل دوبار کاری نیست تصمیم گرفته برنامه ای بنویسد که با گرفتن دیتاهای آزمایش میانگین ، انحراف از معیار و معادله خط را خروجی بگیرد اما زمانی که TA درس مبانی برنامه سازی شده چرا خودش اینکار را انجام دهد؟!

در این تمرین شما باید تعداد 2n دیتا را در دو خط و هر خط دارای n عدد دریافت کنید که n تای اول برای دیتاهای محور x و n تای دوم مختص محور y میباشند اما از آنجایی که مستر B ممکن است یک یا چند دیتا را اشتباهی وارد کند پس از دو خط اول اصلاحیه های خودش را اعمال میکند و تا زمانی که * را وارد نکرده شما باید دیتاهای قبلی را جایگزین دیتاهای جدید کنید

شما باید از او دیتای صحیح را به فرمت xn = z بگیرید و مقدار دیتای xn را با توجه به z تصحیح کنید(این مورد برای y هم صادق است ، برای فهم بیشتر میتوانید ورودی سوال را مورد بررسی قرار دهید.) حال سراغ بقیه ماجرا میرویم:

در اول شما باید میانگین Xi و Yi ها را محاسبه کنید سپس انحراف معیارها را بدست آورید پس از آن سراغ پیدا کردن شیب بروید و با جایگذاری عرض از مبدا را بدست آورید سپس محاسبات انجام شده را به شکل زیر و تا دورقم اعشار به مستر B گزارش دهید.

ورودی : در خط اول به شما n عدد بر روی محور x ها و در خط دوم n عدد بر روی محور y ها داده میشود پس از آن اصلاحیه های دلخواه آقای B داده می شود(تعداد دلخواه روی محور دلخواه ؛ برای مثال در این ورودی 2 اصلاحیه داریم یکی روی محور x یکی روی محور y )

خروجی : در اخر میانگین ایکس ها، میانگین ایگرگ ها، انحراف از معیار ایکس و ایگرگ ها و معادله خط را چاپ کنید

ورودی نمونه

90 125 37 67
50 30 100 70
y2 = 28
x2 = 135
*

خروجی نمونه

Mean x = 82.25
Mean y = 62.00
SD x = 35.79
SD y = 26.50
The equation is : y=-0.73x+121.86

18 -

19- تعدادی عدد به شما داده می‌شود، وظیفه شما چاپ برعکس آن اعداد است

ورودی : در خط اول عدد n داده می‌شود و در n خط بعدی یک عدد آمده است

خروجی : اعداد داده شده را برعکس چاپ کنید دقت کنید که عدد اولی که در ورودی داده می‌شود را نباید در خروجی چاپ کنید.

20 - برنامه‌ای بنویسید که به ما عدد nم دنباله فیبوناچی را بدهد. فیبوناچی، دنباله‌ای‌ ست که در آن هر جمله از مجموع دو جمله قبلی بدست می‌آید. فرض کنید جمله اول و دوم این دنباله ۱ است.

ورودی : عدد n در ورودی به شما داده می‌شود . هیچ‌ موقع عدد n بزرگتر از ۱۰۰ نخواهد شد.

خروجی : عدد nم این دنباله را در خروجی چاپ کنید.

21 - برنامه‌ای بنویسید که به ازای دریافت جملات Nام و N+1ام از دنباله فیبوناچی (با فرض A0=A1=1 ) و ارسال این دو به تابعی با امضای

def show_fib_nth(N, N+1)

جملات سری فیبوناچی را از جمله Nام تا صفرم را به صورت معکوس چاپ کند.

ورودی : در خط اول جمله n ام و در خط بعد عدد n + 1 ام به شما داده می‌شود.

خروجی : جملات فیبوناچی را به ترتیب چاپ کنید.

22 - برنامه‌ای بنویسید که عدد طبیعی n را از کاربر دریافت نموده و تمام اعداد اول کوچکتر و مساوی آن عدد را در خروجی نمایش دهد.

ورودی برنامه شما می‌بایست یک خط باشد که در آن عدد طبیعی nn را از کاربر دریافت می‌کند.

خروجی برنامه‌ی شما باید شامل یک خط باشد که در آن تمامی اعداد اول مذکور به ترتیب از کوچک به بزرگ با فاصله در کنار هم نمایش داده می‌شوند.

23 - تمرین برنامه نویسی (روش شبیه سازی مونت کارلو) :در این تمرین می خواهیم شبیه سازی محاسبةعدد Pi را انجام دهیم. بدین منظور از توصیف هندسی نشان داده شده در شکل زیر استفاده می کنیم.

در شکل بالا، اگر نسبت مساحت دایره به شعاع واحد به مساحت مربع با رنگ خاکستری را با R نمایش دهیم، PI=4R خواهد شد. برای یافتن کمیت R ، از مدل سازی یک سیستم معادل فیزیکی استفاده می کنیم. برای مثال، دارت هایی را به شکل فوق پرتاب کرده و تعداد دفعات برخورد دارت با ربع دایره را تعیین می کنیم. پس از پرتاب دفعات زیادی دارت می توانیم تعداد دفعاتی را که دارت با ربع دایره برخورد می کند به دست آوریم. این پارامتر را با ncir نشان می دهیم. اگرکل تعداد دارت ها را با ntot مشخص سازیم، داریم :

\[ R=\frac{n_{cir}}{n_{tot}}\]

24 - در این تمرین نیز بنا داریم تا با روش شبیه سازی مونت کارلو، عدد  Pi را به شکل تقریبی محاسبه کنیم. فرض کنید مطابق شکل یک سطح داریم که شامل تخته های چوبی هم اندازه به عرض t است. سوزنی نیز به طول l در اختیار داریم. سوزن را به شکل تصادفی بر روی تخته پرتاب می کنیم، احتمال پیشامد آن که سوزن بر روی مرز بین دو تخته بیفتد 2l/(t*pi) خواهد بود.

فرض کنید سوزن را n بار پرتاب می کنیم وسوزن h بار مرز بین دو تخته را قطع می کند. در این صورت داریم :

\[ \frac{h}{n}=\frac{2l}{\pi}\Rightarrow \pi=\frac{2ln}{th}\]

اکنون آزمایش را به صورت عملی با زبان برنامه نویسی پایتون کد نویسی و پیاده سازی کرده و از آنجا مقدار تقریبی Pi را به دست آورید. نتیجه شبیه سازی خود را با مقدار دقیق Pi مقایسه کرده و خطای آزمایش خود را مشخص سازید.

25 - در این تمرین می خواهیم اعدادکوچکتر از 1000 را چاپ کنیم که تنها بر توان های 2،5و 7قابل تقسیم بوده و هیچ مقسوم علیه دیگری نداشته باشند. صحیح دریافت و کلیه اعدادی که به صورت بالا باشند، چاپ می کند.

26 - برنامه ای بنویسید که شکل زیر را چاپ کند. همان مثلث خیام-پاسکال است با کمی تغییر ستون بندی موقع چاپ. استفاده حلقه های تو در تو و لیست دو بعدی می تواند کمک کند.

27 - با import کردن ماژول random و استفاده از تابع randint و با در نظر گرفتن یک لیست تو در تو، یک ماتریس 10 در 10 را با اعداد تصادفی بین 0 تا 9 پر کنید. (توجه : برای اعداد صحیح a, b، تابع randint(a,b) یک عدد صحیح تصادفی در بازه [a,b]تولید میکند.
حال برنامه ای بنویسید که روی ماتریس ایجاد شده عملیات زیر را انجام دهد.
الف ) شماره سطری از ماتریس که بیشترین حاصل جمع را دارد به همراه حاصل جمع مربوطه چاپ کند
ب ) شماره سطری که بیشترین تکرار عدد 7 را دارد به همراه تعداد تکرار مربوطه چاپ کند
ج ) سطرهای ماتریس را بر حسب حاصل جمع سطر از کوچک به بزرگ از بالا به پایین مرتب کند.

28 - برنامه ای بنویسید دو رشته عدد (سیگنال گسسته) رو به عنوان ورودی بگیرد و حاصل کانولوشن اونها رو به عنوان خروجی برگرداند.

29 - برنامه ای بنویسید که یک دوره تناوب از یک سیگنال گسسته در زمان متناوب رو بگیرد و ضرایب سری فوریه اون رو نشان بدهد.

30 - کتابخانه محاسبات مساحت و محیط :

الف - ماژولی برای محاسبات در فضای دو بعدی بنویسید
توابع لازم :
- محاسبه طول پاره خط از روی مختصات دو نقطه
- زاویه دو پاره خط از روی نقاط دو سر پاره خطها

ب - ماژولی برای محاسبات هندسی دایره بنویسید
توابع لازم:
- محاسبه محیط از روی دو سر یکی از قطرها
- محاسبه مساحت با گرفتن دو سر یکی از قطرها
- مختصات مرکز دایره با گرفتن دو سر یکی از قطرها
- مختصات مرکز دایره با گرفتن سه نقطه روی دایره (نمره اضافه)

ج - ماژول تشخیص چهارضلعی
توابع لازم:
- تعیین نوع چهارضلعی با گرفتن چهار نقطه آن (مستطیل–مربع- لوزی–متوازی الاضلاع و غیره ) - از تابع طول پاره خط و زاویه استفاده کنید - تشخیص ذوزنقه (نمره اضافه)
تابعی که چهار نقطه می گیرد و اگر چهارضلعی مستطیل یا مربع بود، مساحت و محیط آن را به صورت دیکشنری بر می گرداندو گرنه دیکشنری خالی می دهد.

د - در ماژول main
- تابعی بنویسید با گرفتن دو نقطه محیط و مساحت مربعی که این دو نقطه راس های قطر آن باشند را چاپ کند.
- تابع بنویسید که با گرفتن دو نقطه یک قطر، مساحت و محیط و مرکز دایره را چاپ کند.

- تابع بنویسید که با گرفتن سه نقطه مساحت و محیط و مرکز دایره ای که از هر سه می گذرد را چاپ کند. (نمره اضافه)

- بخش main این ماژول با گرفتن ورودی از کاربر input دو نقطه، تابع اول و دوم را با همان نقاط صدا می زند.

31 - کلاس دایره را بنویسید که
- مقدار دهی اولیه آن با گرفتن نقطه مرکز و یک نقطه روی محیط یک دایره باشد
- متد(تابع) مساحت را برای آن پیاده سازی کنید (خروجی مساحت باشد)
- متد محیط دایره را پیاده سازی کنید
-  2 شی از کلاس دایره ایجاد کنید و مساحت آنها را مقایسه کنید.

32 - در این سوال از شما خواسته شده است که در یک نقشه 10*10 بمب های داده شده را نمایش دهد.

ورودی به صورت زوج مرتب از اعداد طبیعی است که با یک فاصله از هم جدا شده اند. با توجه به ابعاد نقشه اعداد داده شده بین 0 تا 9 هستند.

خروجی باید مربعی 10*10 از X باشد با این تفاوت که در خانه هایی که بمب قرار دارد O چاپ شود.

33 - تو این شرایط سخت تیم دستیاران و استاد درس می خوان سوالای امتحان رو طرح کنند. برای اطمینان از لو نرفتن محتویاتی که در نامه هایشان رد و بدل می کنند ، کلمات را به صورت رمزگذاری شده می نویسند. شما باید کمک کنید تا این کلمات رو رمز گذاری کنیم. رمزگذاری این کلمات به این صورت است که اگر حرف اول کلمه صدادار باشد ( یکی از حروف a , e, i, o, u ) حرف اول کلمه را از اول کلمه برمیداره و به همراه حرف v که نشانگر صداا بودن حرف اول است را به آخر کلمه می چسبانند. در غیر این صورت اگر حرف اول کلمه صدادار نباشه، دو حرف اول کلمه را از اول کلمه برداشته و به آخر کلمه می چسباند.

34 -

35 -

36 -

37 -

38 -

39 -

40 -

41 -

42 -

43 -

44 -

45 -

46 -

47 -

48 -

49 - با پانداس Pandas برنامه ای بنویسید که سطر اول یک دیتافریم را به یک سری تبدیل کند.

50 - برنامه ای بنویسید که یک عدد را دریافت کند و مشخص کند آیا عدد Strong است یا خیر. عددی Strong است که حاصل جمع فاکتوریل ارقام آن برابر خودش باشد. ( عدد 145 = !1+!4+!5 یک عدد Strong  است )

| جهت سفارش پروژه ، تکلیف و آموزش پروژه های محاسباتی پایتون Python لطفا در شبکه های تلگرام و واتساپ موضوع و سوال مورد نظر را به شماره  989364847193+ ارسال نمایید، تا پس از بررسی هزینه خدمت شما اعلام گردد.

 

موضوعات
Designed By M A T L A B K H O O N E H