تمرین سری سوم تاریخ تحویل تمرین 17آبان1392 درس مبانی برنامهسازی CE153 Sharif University of Technology Fall 2013 1 توضیحات اولیه آخرین مهلت تحویل تمرین ،ساعت 23:59دقیقه روز جمعه ،هفدهم آبان ماه می باشد. بعد از اتمام زمان ارسال ،تا 3روز می توانید تمرین های خود را با تاخیر ارسال نمایید. به ازای هر ساعت تاخیر 1 %از نمره ی شما کسر می شود. به ازای تمامی سواالت این تمرین ،هدف تنها یادگیری و درک مفهوم توابع و چگونگی تعریف و به کار بردن آنها می باشد .لذا نیازی به بررسی سرریز در سواالت نمی باشد و محدوده ورودی ها به گونه ای است که سرریز رخ ندهد. در کلیه سواالت ،استفاده از آرایه ها ،اشاره گر ها و توابع به صورت بازگشتی غیر مجاز است. 2 سوال اول می خواهیم شبه اول بودن یک عدد را بررسی کنیم .عدد شبه اول عددی است که تعداد مقسوم علیه های اول آن ،اول باشد .برای این منظور: الف) تابعی بنویسید که عدد nرا به عنوان ورودی بگیرد و تعداد مقسوم علیه های آن را برگرداند. ب) تابعی بنویسید که عدد nرا بگیرد و اول بودن آن را مشخص کند. ج) تابعی بنویسید که عدد nرا گرفته و تعداد مقسوم علیه های اول آن را برگرداند. د) با استفاده از قسمت های قبل برنامه ای بنویسید عدد nرا گرفته و مشخص کند که شبه اول است یا خیر. 3 سوال اول ورودی: تنها یک ورودی داریم که عدد nاست. خروجی: اگر nشبه اول بود عبارت YESدر غیر این صورت NOچاپ کند. ورودی نمونه خروجی نمونه 12 YES 60 NO 91 YES 4 سوال دوم الف) تابعی بنویسید که y ،xو rرا به عنوان ورودی گرفته و به مرکزیت ) (x, yیک مربع مورب با اندازه ضلع rبا استفاده از کاراکتر * رسم کند. مثال :برای x = 7و y = 7و r = 7خروجی زیر را چاپ کند. 5 سوال دوم ب) یک عدد از ورودی بگیرد و به تعداد آن به مرکزیت نقطه ای که قابل نمایش باشد با فراخوانی تعداد مناسب و پارامتر های مناسب تابع قسمت الف شکل زیر را چاپ کند. مثال) برای n = 7یک مربع مورب با x = 7و y = 7و ، r = 7یک مربع با همان مرکزیت و ،r = 5یک مربع با r = 3و یک مربع با r = 1چاپ کند. 6 سوال سوم در ریاضیات ،سری تیلور یا گسترش تیلور نمایش یک تابع به صورت مجموع بینهایت جمله است که از مشتقهای تابع در یک نقطه به دست میآید. ریاضیدان انگلیسی ،بروک تیلور ،در سال 1715میالدی ،مفهوم سری تیلور را به طور رسمی معرفی کرد .مرسوم است که توابع را حول یک نقطه با تعدادی متناهی از جمالت سری تیلور تقریب بزنند .قضیه تیلور مقدار خطای این تقریب زنی را به صورت کمّی تخمین میزند .هر تعداد متناهی از جمالت اول سری تیلور به چندجملهای تیلور معروف است. برای تابع سینوسی حول نقطه 0داریم : برنامهای بنویسید که با استفاده از بسط تیلور ،سینوس یک عدد floatرا حساب کند. 7 سوال سوم ورودی: یک عدد floatبر حسب درجه در ورودی میآید خروجی: ) Sin(xبا استفاده از بسط تیلور. توجه کنید که استفاده از توابع موجود در کتابخانهی math.hمجاز نیست! چرا که هدف پیاده سازی توابع مورد نیاز در این کتاب خانه و استفاده از آنها می باشد. دقت خروجی هم تا 2رقم اعشار باشد. 8 سوال چهارم می خواهیم عدد پی را تخمین بزنیم. فرض می کنیم اندازه ضلع مربع در شکل زیر 10می باشد. به این ترتیب ابتدا تابع IsInCircleرا بنویسید که مشخص کند یک نقطه داخل ربع دایره قرار دارد یا خیر. ;) int IsInCircle(float x, float y سپس با تولید تعدادی نقطه تصادفی که در داخل مربع قرار دارند ،نسبت تعداد نقاط داخل ربع دایره به تعداد کل نقاط را حساب کنید. این نسبت برابر است با یک چهارم عدد پی. 9 سوال چهارم بدین ترتیب تابع Findرا به گونه ای بنویسد که تعیین کنید که تعداد نقاط تصادفی باید حداقل چند باشد تا به خطای یک صدم برسیم. ;)( Int Find سپس یک عدد از ورودی خوانده و به تعداد آن تابع Findرا صدا بزنید و میانگین خروجی ها را به عنوان نتیجه نهایی چاپ کنید. 10 راهنمایی در هدر فایلgotoxy(x, y) برای تغییر دادن نشانگر مواس می توانید از تابع از این تابعdev c++ اما با توجه به این که. استفاده کنیدconio.h .پشتیبانی نمی کند می توانید این تابع را به صورت زیر پیاده سازی کنید 11 #include <windows.h > void gotoxy(int x, int y) { static HANDLE h = NULL; if(!h) h = GetStdHandle(STD_OUTPUT_HANDLE); COORD c = { x, y }; SetConsoleCursorPosition(h,c); }
© Copyright 2025 Paperzz