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

ابر کلمه - Word Cloud ( کد Py0018 )

1 - مفهوم ابر کلمه از کلمات پرتکرار یک متن بدست می آید. شما باید برنامه ای بنویسید که ورودی آن متن چند پاراگرافی است و خروجی آن، لیستی از کلمات پرتکرار آن متن است. حد نصاب پرتکرار بودن یک کلمه را خودتان تعیین کنید. ضمن آن که باید لیستی از کلمات پرتکرار روتین (اصطلاحاStopwords) هم داشته باشید تا کلمات پرتکرار معمولی چون am,is,are,was,were,will,...را از لیست نهایی کلمات پرتکرار خود حذف نمایید.

2 - برنامه ای بنویسید که اعداد مضرب 7 و مضرب 5 بین 2000 تا 3000 را نمایش دهد.

3 - برنامه ای بنویسید که اعداد بین 2000 تا 3000 را با گام 4 بدست آورده و تعداد اعداد زوج و فرد را در این بازه بشمارد.

4 - برنامه ای بنویسید که اعداد در بازه 10 تا 20 را به غیر از 15 نمایش دهد.

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

6 - برنامه ای بنویسید که تا زمانی که کاربر عدد نامنفی وارد می کند، عدد را خوانده و نشان دهد که آن عدد به اعدادی بخش پذیر است.

7 - در یک گروه ورزشی، 4 تیم TeamA , TeamB , TeamC , TeamD قرار دارند. تعداد بازی های ممکن در گروه ( رفت و برگشت ) را نشان دهید.

8 - ریشه معادله زیر را در بازه [1-,2-] با استفاده از روش نابجایی ( روش میانیابی خطی ) بدست آورید.

\[ f(x)=sin(x)-\frac{x}{2} \;\;\;\;\; \;\;\left| f(x) \right| <10^{-2}\]

9 - ریشه معادله زیر را در بازه [0 ,1-] با استفاده از روش نابجایی ( روش میانیابی خطی ) بدست آورید.

\[ f(x)=x^2-2^x\;\;\;\;\;\;\;\; \left| f(x)\right|<10^{-2}\]

10 -

11 -  انتگرال زیر با فرض n=4 با استفاده از روش ذوزنقه محاسبه نمایید.

\[ \int_{0}^{1}\frac{dx}{1+x^2}\]

12 - انتگرال زیر با فرض n=4 با استفاده از روش ذوزنقه محاسبه نمایید.

\[ \int_{0}^{2}e^{x^{2}}dx\]

13 - انتگرال زیر با فرض n=4 با استفاده از روش سیمپسون Simpson محاسبه نمایید.

\[ \int_{0}^{1}\frac{dx}{1+x^2}\]

14 - انتگرال زیر با فرض n=4 با استفاده از روش سیمپسون Simpson محاسبه نمایید.

\[ \int_{0}^{2}e^{x^{2}}dx\]

15 - انتخابات ریاست جمهوری

در کشوری رییس جمهور به این نحو انتخاب می‌شود

اگر n نفر کاندید شده باشند، ابتدا طی مراسمی با قرعه کشی به هر کاندیدی یک عدد از ۱ تا n تعلق می‌گیرد. کاندیدها به ترتیب شماره‌هایشان، دور میزی می‌نشینند و یکی در میان با شروع از شماره‌ی ۲ حذف می‌شوند.

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

16 -

17 -

18 -

19 -

20 -

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

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

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

 

پروژه های پردازش تصویر - تبدیل هندسی ( کد Mat0099 )

1 - تبدیل هندسی

۱-۱ -توسط تبدیل هندسی مناسب، تصاویر Lena ،Barbara و Girl را بر روی سه وجه از مکعب تصویر Cube قرار دهید. تبدیالت هندسی را با بکارگیری درونیابی نزدیکترین همسایه و درونیابی دوخطی انجام دهید.

۱-۲ -انطباق تصاویر یا Registration به فرایند منطبق کردن دو یک چند تصویر بر هم گفته میشود. در این حال و برای دو تصویر، یک تصویر، تصویر مرجع و دیگری تصویر ورودی است که بایستی بر تصویر مرجع منطبق شود. تصویر Map1 را به عنوان تصویر مرجع در نظر گرفته و تصویر Map2 را بر آن منطبق کرده و نمایش دهید. پارامترهای مدل را ارایه کنید

2 - فیلتر میانگین

۱-۲ -فیلتر میانگین به کمک کانولوشن پیاده سازی می شود. با استفاده از خصوصیات فیلتر میانگین از نوع Filter Box ،روشی برای افزایش سرعت پیاده سازی این فیلتر ارایه کنید؛ زمان اجرا الگوریتم اصلی را با الگوریتم خود مقایسه کنید.

۲-۲ -آشکارسازی لبه Robert را به تصویر Mosque اعمال کرده شدت لبه را نشان دهید. فیلتر میانگین 3×3 را ابتدا به تصویر اصلی اعمال کرده و آشکارساز لبه را به تصویر هموار شده اعمال کنید. چه تغییر در نتیجه ایجاد شده؟ این تجربه را به کمک فیلتر 5×5 و 7×7 نیز تکرار کرده و بر روی نتیجه بحث کنید.

۲-3 - دوبار اعمال متوالی یک فیلتر میانگین 3×3 دقیقاً همان نتیجهای که اعمال یکبار فیلتر 5×5 بوجود میآورد را ایجاد نخواهد کرد. آیا میتوانید فیلتری 5×5 طراحی کنید که نتیجهای اعمال آن مشابه دو بار اعمال یک فیلتر 3×3 باشد.

۲-۴ -فیلتری 7×7 طراحی کنید که اعمال آن معادل سه بار اعمال متوالی یک فیلتر 3×3 باشد. به کمک یک آزمایش بر روی تصویر Mosque صحت عملکرد فیلتر طراحی شده را نشان دهید.

3 - بهبود کنتراست تصویر

تصاویر He1 ،He2 ،He3 و He4 تصاویری هستند که میخواهیم به کمک بهبود کنتراست آنها را بهبود دهیم.

3-۱ -بهبود کنتراست این تصاویر را به کمک همسانسازی هیستوگرام (HE (انجام داده نتیجه را ارایه کنید.

3-۲ -اگر تصویر ورودی را f و تصویر بهبود یافته به کمک HE را fhe بنامیم. به ازای مقادیر مختلف α ،از 1.0 تا 5.0 با گام 1.0 تصویر fhe) α-1+(f.α=g را بدست آورده و نتیجه را نمایش دهید. بر روی نتایج بحث کنید.

3-3 -همسانسازی محلی هیستوگرام (LHE (با استفاده از پنجره هایی به ابعاد 5۱×5۱ ،۱0۱×۱0۱ ،۱5۱×۱5۱ و ۲0۱×۲0۱ را بر روی این تصاویر انجام و نتیجه را ارایه کنید. در مورد نتایج بحث کنید.

3-۴ -برای افزایش سرعت LHE از جابجایی بلوک ها به اندازه نصف بلوک و درونیابی استفاده کنید. جهت سهولت، ابعاد پنجره های فوق را در سطر و ستون یک واحد کم کنید تا ابعاد پنجره ها زوج شود.

4 - نقابگذاری غیر تیز (Un-sharp Masking)  

۴-۱ -به کمک استفاده از یک فیلتر هموارساز میانگین 3×3 از نوع Filter Box ،نقاب گذاری غیرتیز را به تصویر child اعمال کنید.

۴-۲ -نقابگذاری غیرتیز را با فیلتر هموار ساز میانگین 3×3 از نوع Average Weighted پیاده سازی کرده نتیجه را با نتیجه قبل مقایسه کنید.

۴-3 -تجربه قسمت )۱ )را با فیلترهای با اندازه بزرگتر 5×5 ،7×7 و 9×9 تکرار کنید. بزرگ کردن فیلتر چه تاثیری بر نتیجه دارد؟ بر روی آن بحث کنید.

۴-۴ -اگر در نقاب گذاری غیرتیز فیلتر میانه را به عنوان فیلتر هموارساز استفاده کنیم چه نتیجهای حاصل می شود؟ 16/1 کلیشه زیر را به عنوان کلیشه لاپلاسین در نظر بگیرید.

5 - حوزه فرکانس

5-۱ -تصویر Im184 را به حوزه فرکانس برده، یکبار طیف Im183 را با فاز Im184 ترکیب کنید و بار دیگر برعکس. حاصل را به حوزه مکان برگردانده و در مورد نتیجه بحث کنید.

5-۲ -با در نظر گرفتن تصاویر Im421 و Im423 به عنوان ورودی، با استفاده از فیلترهای پایینگذر گوسی با ۱0 پهنای باند مختلف، تصویر را هموار کرده نتیجه را نشان دهید.

5-3 -در هر مورد، آنچه که فیلتر پایینگذر حذف کرده را یکبار در حوزه ی مکان و یکبار در حوزه فرکانس بدست آورید و نتیجه را نمایش دهید. هر تصویر را درکنار تصویر متناظر از مرحله )۱ )نمایش دهید.

5-۴ -تصاویر Im421 و Im423 هر یک از دو تصویر مختلف ساخته شده است، یک تصویر از یک فیلتر پایینگذر و دیگری از یک فیلتر باالگذر عبور داده شده و نهایتا با تنظیم شدت مناسب با هم جمع شده اند. بر این اساس با در نظ ر گرفتن دو تصویر دلخواه شما نیز چنین تصویری ایجاد کنید.

6 - موجک

1-6 -یکی از کاربرد های تبدیل موجک، تشخیص خود شباهتی سیگنال است. فرض کنید تصویر fimg را داریم، در این تصویر بخشی از آن در مکان دیگری از تصویر کپی شده است که اصطالحا به چنین حالتی جعل move Copy گفته میشود. تصویر mask_fimg ناحیه دو بالک شبیه به هم را در تصویر fimg نمایش می دهد. ایده ای ارائه دهید که با استفاده از تبدیل موجک، بتوان این دو بلوک از تصویر fimg را که شبیه هم هستند، تشخیص داد. شبه کد الزامی و پیاده سازی میتواند با هر زبانی انجام شود.

2-6 -یکی از کاربرد های تبدیل موجک، یافتن شبیه ترین تصاویر نسبت به تصویر ورودی است. فرض کنید تصویر test را داریم و میخواهیم تصاویر پوشه آموزش را به ترتیب به شبیه ترین تصاویر مرتب کنیم. ایده پیشنهادی خود را شرح دهید و شبه کد آن را بنویسید.

6-3 -تصویر tree را به نویز گاوسی و نمک و فلفل آغشته کنید و با استفاده از تبدیل موجک، تقلیل نویز انجام دهید. شرح دهید که تبدیل موجک کدام نویز را بهتر تقلیل میدهد. کیفیت تصویر تقلیل یافته را به کمک معیارهای PSNR و SSIM گزارش کنید.

7 - پردازش تصاویر رنگی

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

8 - لبه های تصویر زیر را با استفاده از یک فیلتر بالا گذر استخراج کرده (تصویر لبه را بدست آورده و نمایش دهید) و سپس لبه ها رو در تصویر اصلی تقویت کنید.

9 - برنامه ای بنویسید که نرم افزار MATLAB یک تصویر پزشکی را از ورودی گرفته و آن را به سیاه و سفید تبدیل نماید. سپس مقدار D0 و مرتبه فیلتر باترورث را از ورودی گرفته سپس از تصویر FFT گرفته و فیلترهای بالاگذر و پایین گذر باترورث ، گوسی و ایده آل را روی FFT تصویر اعمال نماید. در نهایت از تصویر بدست آمده تبدیل فوریه معکوس IFFT گرفته و حاصل ( تصویر فیلترشده و بهبود یافته ) را به همراه تصویر اصلی نمایش دهد.

10 - تصویر tif.Chessboard را در محیط متلب بارگذاری نمایید. ابتدا با استفاده از دستور rgb2gray ،تصویر را از حالت رنگی(سه لایه) به تصویر سطح خاکستری (یک لایه) تبدیل کنید، سپس آن را بصورت double تبدیل کنید و در متغیر img1 ذخیره نمایید.

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

12 - تصویر jpg.tr را در محیط متلب بارگذاری نمایید. ابتدا با استفاده از دستور rgb2gray ،تصویر را از حالت رنگی(سه لایه) به تصویر سطح خاکستری (یک لایه) تبدیل کنید، سپس آن را با دستور imbinarize به یک تصویر باینری تبدیل کرده و در متغیر img2 ذخیره نمایید. با استفاده از عملگرهای مورفولوژی، دایره ها را از تصویر استخراج نمایید و نتیجه را نمایش دهید.

13 - تصویر jpg.bottles را در محیط متلب بارگذاری نمایید. ابتدا با استفاده از دستور rgb2gray ،تصویر را از حالت رنگی(سه لایه) به تصویر سطح خاکستری (یک لایه) تبدیل کنید، سپس آن را بصورت double تبدیل کنید و در متغیر img3 ذخیره نمایید. با استفاده از روش های آستانه گذاری و مورفولوژی که تاکنون یادگرفته اید، بطری که مقدار کمتری محلول دارد را شناسایی کرده و مساحت مقدار محلول نشان داده شده ی آن را بدست آورید. (برای بدست آوردن مساحت و دیگر ویژگی ها، از دستور regionprops استفاده می شود.) راهنمایی: خروجی آستانه گذاری و سپس مورفولوژی شما باید بصورت شکل زیر باشد

14 - الگوریتم آستانه گذاری اتسو را پیاده سازی کنید و ،تصویر صفحه شطرنجی را با استفاده از الگوریتم خود آستانه گذاری نمایید و با خروجی دستور اتسو متلب مقایسه نمایید.

15 - تحقیقی در مورد روش های مختلف zooming  و  shrinking تصاویر انجام داده و کد متلب آن ها را بنویسید. به عبارت دیگر برنامه ای بنویسید که تصویری به همراه یک نسبت تغییر را از ورودی گرفته و به روش های مختلف آن تصویر را کوچک shrink و بزرگ zoom کند.

16 - با کمک دستورات متلب آزمایش های مقدماتی زیر را انجام دهید.

الف ) خواندن یک تصویر با فرمت مشخص مثل bmp و ذخیره سازی آن با فرمت دیگر jpg

ب ) به دست آوردن نگاتیو تصویر و نمایش آن

ج ) اعمال عملگرهای exp و log بر روی تصویر و نمایش نتایج آن ها

17 - برنامه ای بنویسید که تبدیل یک تصویر خاکستری به دو سطحی ( یک مقدار آستانه مناسب ) و نمایش هر دو تصویر را در متلب انجام دهید.

18 - برنامه ای بنویسید که یک تصویر خاکستری مانند Cameraman را با استفاده از روش Histogram Equalization  ارتقا و بهبود دهد ( بدون استفاده از histeq )

19 - برنامه ای بنویسید که تصویری از ورودی گرفته ، تصویر گرادیان و لاپلاسین آن را نمایش دهد. سپس تصویر را با نویز گوسی نویزی نموده و مجدد گرادیان و لاپلاسین آن را نمایش دهید و نتایج را تحلیل کنید.

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

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

22 - برنامه ای بنویسید که در آن فیلتر همومورفیک را پیاده سازی کرده و آن را به تصویر مرد عکاس اعمال کند.

23 - با استفاده از برنامه نویسی در متلب فیلتر میانه را طراحی کنید. ( بدون استفاده از medfilt2)

24 - با استفاده از برنامه نویسی در متلب و دستورات جعبه ابزار پردازش تصویر آن دستورات imnoise , imfilter , medfilt2 , weiner2 با کمک help متلب دیده و با پارامترهای مختلف امتحان نمایید و تاثیر آن ها را بر خروجی مشاهده فرمایید.

25 - برنامه ای بنویسید که بر روی یک تصویر با نویز گوسی ، فیلتر وینر را اجرا کرده و نتایج را نمایش دهد. ( برنامه فیلتر وینر را به صورت دستی بنویسید و از تابع wiener2 استفاده نکنید.

26 - برنامه ای بنویسید که تبدیل تصویر رنگی به خاکستری و نمایش هر دو تصویر در متلب انجام دهد.

27 - برنامه ای بنویسید و در آن یک تصویر رنگی را بازکرده و مولفه های R , G , B را مشاهده کرده ، سپس این تصویر را به فضای HSV برده و مولفه های H , S , V را مشاهده کنید و احساس و دانش خود را در خصوص این مولفه ها بنویسید.

28 - برنامه ای بنویسید و در آن لبه های یک تصویر رنگی را استخراج کنید. برنامه لبه یابی را به صورت برداری پیاده سازی کرده و با نوع اسکالر آن مقایسه کنید.

29 - برنامه ای بنویسید که تصویر با سطح خاکستری آغشته به نویز گوسی را با واریانس مختلف به عنوان ورودی گرفته ، سپس به حوزه موجک ببرید و رفع نویز کنید. سپس با وارون تبدیل موجک ، تصویر نهایی را نمایش دهد. در نهایت معیارهای RMSE و PSNR را برای تصویر رفع نویز شده محاسبه نمایید.

30 - برنامه ای بنویسید و در آن روش Improved Gray Scale را پیاده سازی کنید. یک تصویر با 256 سطح را در ورودی گرفته و تصویر با 16 سطح در خروجی تحویل دهید.

31 - در گزارشی مراحل کامل فشرده سازی JPEG و JPEG2000 را توضیح دهید. سپس برنامه ای بنویسید که یک بلوک 8*8 را در ورودی گرفته و آن را با استفاده از روش JPEG فشرده کند.

32 - دو برنامه بنویسید که در آن ها یک تصویر باینری و یک تصویر خاکستری را به عنوان ورودی دریافت کرده و لبه های آن ها را با استفاده از لبه یابی موفولوژی استخراج کنید.

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

34 - تفاوت تبدیل رادن با تبدیل هاف چیست؟ برنامه ای بنویسید و در آن تبدیل رادن را به یک تصویر خاکستری اعمال کرده و نتیجه را تفسیرکرده و در گزارش بیاورید.

35 - با اعمال ماسک های منایب به تصویر لبه های تصویر را استخراج و تصویر حاصل را نمایش دهید. روش های موجود در کتاب را مقایسه کنید.

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

37 - برنامه ای بنویسید و با استفاده از الگوریتم خوشه بندی k-means یک تصویر رنگی را ناحیه بندی کنید.

38 - برنامه ای بنویسید که یک عکس Gray Scale و یک عکس رنگی را در متلب فراخوانی کند و تبدیلات زیر را بر روی آن ها اعمال نماید.

تبدیل نگاتیو

تبدیل لگاریتم

تبدیل گاما

39 - Find a point operation (in tabular form) that will equalize a 3-bit image with the following histogram

Plot the both the original and the equalized histograms.

40 - Given a 3-bit image with the following histogram

find a point operation (in tabular form) that will match it to the following histogram

Plot the three histograms and comment on the output.

41 - Write a MATLAB function called equalize that implements the histogram equalization algorithm that was described in class. The function header should have the form:

function im2 = equalize(im)

where im is a uint8 grayscale image and im2 is the uint8 output image. You can use any built-in MATLAB functions in your code except for histeq, which also does histogram equalization. A mark of zero (0) will be given if you use histeq.

Download images “livingroom.tif” and “woman_darkhair.tif” from the course webpage and process them with both equalize and histeq functions. Include a printout of the images before and after equalization with both functions in your report. Also include a plot of the histogram before and after equalization with both functions. Comment on the outputs

42 - Download image “lena_gray_512.tif” from the course webpage. Corrupt the image by
adding salt & pepper noise with densities 5%, 10%, and 20%. Process the three corrupted images
with 3´3 and 5´5:
    i. Median filter.
    ii. Smoothing average filter.
Comment on the results.

42 -  دو تصویر T1W و XRay را در نظر بگیرید.

الف ) با دستور imnoise در متلب MATLAB به دو تصویر نویز گوسی اضافه نمایید. با استفاده از فیلترهای پایین گذر میانگین گیری دارای اندازه های پنجره 2*2 ، 3*3 ، 4*4 و 5*5 مقدار نویز این تصاویر نویزی را کاهش دهید. مقدار PSNR خروجی بر حسب PSNR ورودی را برای هریک از این فیلترها ترسیم نمایید. برای این کار مقدار PSNR تصویر ورودی نویزی را از 15 تا 30 دسی بل تغییر دهید.

ب ) با استفاده از FFT دو بعدی و حذف نویز در حوزه فرکانس ، حذف نویز را برا یتصویر ورودی دارای مقدار PSNR برابر 15 دسی بل انجام دهید. نمودار PSNR خروجی را بر حسب درصد فرکانس های حذف شده ترسیم نمایید.

43 - در این تمرین تابع درونیابی را پیاده سازی کرده و نتیجه را با MATLAB مقایسه می کنیم.

الف ) تابعی بنویسید که مشابه درونیابی دو بعدی interp2 در متلب MATLAB عمل نماید. در نوشتن تابع مورد نظر، روش های

  • تکرار نقطه ( نزدیک ترین همسایه )
  • خطی
  • درجه سوم

را پیاده سازی نماید. با انجام چند آزمایش ساده ( هم بر روی ماتریس های کوچک تصادفی و هم بر روی تصاویر واقعی ) تابع نوشته شده توسط خود را با تابه interp2 مقایسه نمایید.

ب ) تصویر نمونه عکاس در متلب MATLAB ( یعنی cameraman.tif ) را با استفاده از درونیابی به یک تصویر 512*512 تبدیل نمایید. برای این کار هم از تابع نوشته شده در قیمت قبل و هم از تابع interp2 استفاده نمایید. نتیجه این دو تابع را با هم مقایسه نمایید.

44 - The Fourier transform is complex, so it can be expressed as

\[ F(u,v)=R(u,v)+jIm(u,v)=\left|F(u,v)\right|e^{j\phi(u,v)}\]
where, |F(u,v)| is the spectrum, and phi(u,v) is the phase angle.
Interesting and sometimes nonsensical results are obtained when the symmetry and signs in the Fourier transform are not preserved.
Download the image “pirate.tif” from the course webpage, and obtain its spectrum, S, and phase, P. Then,
  • Let S1 = S and S1(0.75M:M, 0.75N:N) = 0 where [M, N] = size(S). Recover the image using S1
    and P. Show your result.
  • Let F*(u,v) be the complex conjugate of F(u,v). Recover the image using F*(u,v) and display it.
  • Multiply the real pat of F(u,v) by 0.4. Leave the Imaginary part unchanged. Recover the image
    using the modified F(u,v) and display it.

45 - Download the image “boat.png” from the course webpage. Filter the image using:

  • Ideal low and high pass filters.
  • Butterworth low and high pass filters.
  • Gaussian low and pass filters.

Try at least three different values for Do and n. Include all trials in your report and comment on the outputs.

46 - Download the images “livingroom_noisy.tif” and “pirate_noisy3.tif” from the course webpage.

  • Clean up the images, and display the cleaned ones.
  • Extract and display the noise pattern in both images.

47 - Download the image “boat_noisy1.tif” from the course webpage. The image is corrupted by noise

  • Extract its noise histogram. Display the histogram (using function bar) and indicate (by name) what you think the noise PDF is. Determine the relevant noise parameter(s) using the histogram you extracted. (Hint: Use function roipoly to extract the data you think will help you identify the noise.)
  • Use function imnoise or imnoise2, as appropriate, to generate X samples of the noise type and parameter(s) you determined in (a). Generate the histogram of the samples using function hist, and display the histogram. Here, X is the number of pixels in the ROI in (a). Compare with the corresponding histogram from (a).

48 - Download the images “peppers_noisy.tif” and “us092_noise.pgm” from the course webpage. Try different filters to reduce noise in both images. Include all trials in your report. Then, use visual evaluation to recommend the best filter in each case

49 - با استفاده از کدنویسی متلب MATLAB  بر روی تصویر زیر فیلتر بالاگذر و پایین گذر فرکانسی را اعمال نمایید.

50 - فیلترهای معرفی شده را بر روی الگوی زیر با در نظر گرفتن Zero Padding اعمال کنید و خروجی را نمایش دهید.

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

تکالیف پایتون Python - قرعه شانس ( کد Py0016 )

1 - قرعه شانس :

که یک عضو تصادفی از لیست زیر توسط برنامه انتخاب شود. کاربر باید حدس بزند که چندمین عضو انتخاب شده است. لذا از کاربر عدد تصادفی 1 تا 5 گرفته می شود. اگر درست حدس بزند پیغام Victory برای کاربر نمایش داده می شود و اگر اشتباه حدس بزند وارد شانس مجدد می شود. کاربر سه بار شانس خود را امتحان می کتد و اگر سه بار نتواند عضو را حدس بزن برنامه پیغام Lose را برای کاربر نمایش می دهد.

Ls=['Python','C++','C#','Java','PHP']

2 - کد هکر :

قرار است یک ماژول به نام Speak_Hacker  طراحی کنید و از این ماژول در برنامه خود استفاده کنید. این ماژول یک متن از کاربر می گیرد و یک متن کد شده با قوانین زیر را برمی گرداند. 

در متن به جای تمام حروف زیر عدد مورد نظر را جایگذاری کنید.

a و  A عدد 4  -  o  و O  عدد 0 - e و E عدد 3 - i و I عدد 1

Speak_Hacker ("Programming if Fun")

Pr0gr4mm1ng 1s fun

3 - برنامه ای بنویسید که اسم و فامیل و نمرات 5 درس یک دانشجو را به صورت دیکشنری از کاربر بگیرد و بزرگترین نمره دانشجو را چاپ کند. نمرات

دانشجو به صورت لیست در دیکشنری ذخیره گردد.

4 - برنامه ای بنویسید عدد n را از کاربر بخواهد و سپس یک لیست  n تایی از اعداد صحیح از کاربر بگیرد و در صورتی که 2 عضو آن لیست مجموعشان صفر شد ، آن دو عضو را چاپ کند. برنامه به صورتی باشد که اگر در بین آن n عدد ، عدد غیر صحیح وارد شد ، به وارد کننده تذکر دهد که عدد صحیح وارد نکرده است.

5 - برنامه ای بنویسید که یک ماتریس n × m را بگیرد و درایه های آن را ٩٠ درجه در جهت عقربه های ساعت بچرخاند و ماتریس حاصل را چاپ کند.

6 - برنامه ای بنویسید که عدد طبیعی فرد n و سپس n عدد را دریافت کرده و میانۀ اعداد وارد شده را محاسبه و چاپ کند. میانۀ اعداد، عددی است که نصف اعداد از آن عدد بزرگتر و نصف اعداد از آن عدد کوچکتر است.

7 - برنامه ای بنویسید که یک ماتریس n × m را بگیرد و مشخص کند آیا هیچ دو سطر این ماتریس با هم برابر هستند یا خیر؟

8 -  برنامه ای بنویسید که اعداد طبیعی l, n, m و سپس یک ماتریس n × m و یک ماتریس l × n را بگیرد و حاصلضرب دو ماتریس را محاسبه و چاپ کند.

9 - برنامه ای بنویسید که عدد طبیعی n و سپس n عدد را دریافت کرده و سپس k را دریافت کرده و kامین کوچکترین عدد وارد شده را محاسبه کند.

10 - برنامه ای بنویسید که عدد طبیعی n و سپس n عدد را دریافت کرده و سپس عددی که بیشترین تکرار و عددی که کمترین تکرار را دارد را با تعداد تکرار هر کدام محاسبه و چاپ نماید.

11 - برنامه ای بنویسید که عدد طبیعی n و سپس n عدد را دریافت کرده و در آرایه ای ذخیره کند و سپس عدد k را گرفته و محتوای آرایه را به اندازه k شیفت دوری دهد به این معنی محتوای خانه اول را در خانه١ + k ،محتوای خانۀ دوم را در خانۀ٢ + k و ... قرار دهد. با ر رسیدن به آخر آرایه، خانه ها با ابتدای آرایه شیفت پیدا کند.

12 - برنامه ای بنویسید که عدد طبیعی n با حداکثر٣٠رقم و عدد صحیح m را دریافت کرده و بخشپذیری n بر m را بررسی کند.

13 - برنامه ای بنویسید که عدد طبیعی n را دریافت کرده و تمام اعداد طبیعی کوچکتر از ١٠٠٠ را که را m متحابه هستند را محاسبه و چاپ کند.

14 - اعداد صحیح m و n را متحابه گویند اگر مجموع تمام مقسوم علیه های m به جز خود m برابر با n و مجموع تمام مقسوم علیه های n به جز خود n برابر با m باشد. برنامه ای بنویسید که دو عدد را دریافت کرده و مشخص کند آیا متحابه هستند یا خیر.

15 - برنامه ای بنویسید که عدد طبیعی n را دریافت کرده و تجزیه آن به عوامل اول را محاسبه و چاپ کند. خروجی به صورت عوامل اول و توان هر کدام چاپ کند.

16 - برنامه ای بنویسید که عدد طبیعی n و سپس n عدد را دریافت کرده و از بین آن ها تمام جفت اعدادی که نسبت به هم اول هستند را محاسبه و چاپ کند.

17 -  فرض کنید ١٣٧۴٨۶x٢٢۵ = t که x یک رقم است. مقادیری از x را بیابید که با جایگزینی آنها t بر٧بخش پذیر باشد.

18 - فرض کنید ١٣٧۴٨۶x٢٢۵ = t که x یک رقم است. مقادیری از x را بیابید که با جایگزینی آنها t بر٣بخش پذیر باشد.

19 - به نظر میرسد جملات متوالی دنبالۀ فیبوناچی نسبت به هم اول هستند. برنامه ای بنویسید که این امر را برای ١٠٠٠ جملۀ اول دنباله فیبوناچی تحقیق کند.

20 - برنامه ای بنویسید که دو عدد صحیح را دریافت کرده و تمام مقسوم علیه های مشترک اول آنها راچاپ کند.

21 - برنامه ای بنویسید که از بین اعداد ١ تا ١٠٠٠٠ آن عددی (یا اعدادی) که بیشترین تعداد مقسوم علیه دارند را مشخص و چاپ کند.

22 - رنامه ای بنویسید که عدد طبیعی n را دریافت کرده و سپس تمام اعداد صحیح کمتر از١٠٠٠٠که دقیقا n مقسوم علیه دارند را محاسبه و چاپ کند.

23 - برنامه ای بنویسید که یک عدد طبیعی را دریافت کرده و آن را به رشته ای از ارقام تبدیل کند. مثلا عدد ١٧۶٧ به رشتۀ '1767' تبدیل کند.

24 - برنامه ای بنویسید که ابتدا عدد طبیعی n و سپس n عدد اعشاری را دریافت کرده و ماکزیمم، مینیمم و میانگین اعداد وارد شده را محاسبه و چاپ نماید.

25 - برنامه ای بنویسید که عدد طبیعی n را دریافت کرده و !n را محاسبه و چاپ کند. با استفاده از این برنامه مقدار !١٠٠ را بدست آورده و چاپ کنید. 

27 - برنامه ای بنویسید که دو عدد صحیح ٣٠ رقمی را دریافت کرده و مجموع آن ها را محاسبه کند.

28 - برنامه ای بنویسید که یک عدد دودیی (باینری) را دریافت کرده و آن را به مبنای ٨،١٠ و 16 تبدیل کند.

29 - برنامه ای بنویسید که یک رشته از ارقام را دریافت کرده و عدد متناظر با آن را محاسبه کند. به عنوان مثال، اگر ورودی به ترتیب ٢،٣،۴،٩ و ٣باشد به عدد٢٣۴٩ تبدیل شود.

30 - برنامه ای بنویسید که دو عدد طبیعی m و n را دریافت کرده و مشخص کند آیا دو عضو متوالی دنبالۀ فیبوناچی هستند یا خیر؟

31 - برنامه ای بنویسید که عدد طبیعی n را دریافت کرده و n امین جملۀ دنباله فیبوناچی را محاسبه و چاپ کند.

32 - برنامه ای بنویسید که عدد طبیعی n را دریافت کرده و حاصل عبارت زیر را محاسبه و چاپ نماید.

\[\frac{1}{0!}+\frac{1}{1!}+\frac{1}{2!}+\frac{1}{3!}+...+\frac{1}{n!}\]

33 - برنامه ای بنویسید که عدد طبیعی n را دریافت کرده و حاصل عبارت زیر را محاسبه و چاپ نماید.

\[0!+1!+2!+3!+...+n!\]

34 - برنامه ای بنویسید که عدد طبیعی n را دریافت کرده و مشخص کند آیا فاکتوریل عددی هست یا خیر

35 - برنامه ای بنویسید دو عدد صحیح (مثبت یا منفی) را دریافت کرده و حاصل ضرب آن ها را بدون استفاده از عمل ضرب محاسبه و چاپ کند.

36 - برنامه ای بنویسید که n را دریافت کند و n جملۀ اول دنبالۀ زیر را محاسبه و چاپ کند.

\[1,2,3,8,16,32,...,2^{n},...\]

37 - برنامه ای بنویسید که شکل زیر را رسم کند.

38 - با استفاده از تعریف کردن یک کلاس در پایتون 52 عدد کارت بازی ( پاسور ) را در برنامه تعریف کنید. برای نمونه سازی باید از حلقه for  استفاده کنید. ( توجه : کارت های پاسور به چهار خال تقسیم می شوند که هر کدام از خال ها دارای 13 کارت است. )

39 - تعیین رتبه برتر دانشکده

دانشکده ای دارای سه رشته تحصیلی است. برنامه ای بنویسید که ابتدا نام هر رشته را از کاربر دریافت کند. سپس نام دانشجویان هر رشته و نمرات دروس این ترمشان را از کاربر دریافت کند.

برای هر دانشجو معدلش را حساب کند.

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

40 - ماشین حساب ساده

تابعی تعریف کنید که سه پارامتر ورودی به صورت عدد از کاربر بگیرد. سپس رو عدد اول و دوم عملیات جمع ، تفریق ، ضرب ، تقسیم ، جذر گرفتن و به توان رساندن را انجام دهد. عدد سوم نیز به عنوان انتخابگر باشد. پارامتر خروجی تابع نیز نتیجه عملیات باشد. به عنوان مثال اگر هنگام فراخوانی تابع عدد انتخابگر 2 بود یعنی تابع باید حاصل تفریق اعداد اول و دوم را در خروجی نمایش دهد.

41 - برنامه ای بنویسید که قد و وزن کاربر را از ورودی بگیرد و شاخص توده بدنی BMI کاربر را محاسبه کرده و نمایش دهد. همچنین با توجه به مقدار BMI محاسبه شده به کاربر اطلاع دهد که کمبود وزن یا اضافه وزن دارد یا نرمال است. ( فرمول BMI رو گوگل کنید )

42 - تابعی بنویسید که پارامتر ووردی آن یک عدد صحیح در مبنای 10 و مقدار خروجی آن شکل باینری ( مبنای 2 ) آن به شکل str باشد.

43 - تابعی بنویسید که پارامتر ورودی آن یک str است و به عنوان خروجی تعیین می کند که این رشته ورودی یک پالیندروم هست یا خیر. ( پالیندروم به رشته ای گفته می شود که از هر دو طرف ( راست به چپ و چپ به راست ) دقیقا به یک شکل خوانده می شود. ( مثلا " بابک و کباب "). توجه کنید که استفاده از slicing notation در این تمرین مجاز نیست.

44 - برنامه ای بنویسید که لیستی به طول 1000 از اعداد تصادفی ایجاد می کند. این برنامه یک ورودی عددی از کاربر دریافت می کند و در صورتی که عدد دریافتی در لیست وجود داشت، شماره ایندکس آن در لیست را نمایش می دهد.

45 - برنامه ای بنویسید که یک عدد تصادفی بین 1 تا 100 تولید کرده و از کاربر می خواهد این عدد را حدس بزند. برنامه باید هربار کاربر را راهنمایی کند که عدد وارد شده بیشتر از عدد تصادفی است یا کمتر. پس از حدس درست تعداد تلاش های کاربر نیز نمایش داده شود.

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

تکالیف پایتون Python - مبانی آنالیز عددی ( کد Py0015 )

1 - کمینه سازی سطح

بسیاری از مسائل کمینه سازی به تابعی منتهی می شوند که نیاز به استفاده از روش های عددی برای یافتن ریشه ی آن می باشد. به عنوان مثال مسئله ای را در نظر بگیرید که سطح متصل کننده میان دو حلقه با شعاع برابر 𝑅 که از یک دیگر در فاصلهی 𝐿 قرار دارند مد نظر باشد. هدف یافتن کمینه ی این سطح است.

روش نابجایی را طوری پیاده سازی کنید که ابتدا بازه را از کاربر گرفته و شرایط استفاده از این روش را بررسی کند. درصورتی که شرایط وجود نداشت، پیام مناسب در خروجی دهد و در غیر این صورت، تعداد تکرار را از کاربر گرفته و روش را روی تابع اجرا کرده و نهایتا تقریب یافته شده برای ریشه ی این تابع پس از تکرار خواسته شده را به عنوان خروجی ارائه دهد.

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

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

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