سپهر اسدی ،کامیار اللهوردی آشنایی اولیه با مفهوم زبانهای تابعی مهلت تحویل :یکشنبه 11مهر 1311 هدف این تمرین آشنایی بسیار مختصر با مفهوم زبانهای تابعی و نوشتن چند برنامهی ساده با یکی از این زبانها است. در این تمرین شما میبایست دو فراکتال مشهور برفدانه کخ و مثلث سرپینسکی را رسم کنید .برای پاسخ دهی به این تمرین شما باید از ویژگیهای تابعی زبان slideshowبرای کشیدن این دو فراکتال استفاده کنید. برای این منظور ،ابتدا در خط اول برنامه خود دستور زیر را وارد کنید: #lang slideshow همچنین توابع زیر به شما در کشیدن شکلها کمک خواهند کرد: )(line x )(blank x )(hb-append img1 img2 )(cb-superimpose img1 img2 برای آشنایی بیشتر با توابع کشیدن در این زبان ،میتوانید آموختار زیر را مطالعه کنید: http://docs.racket-lang.org/quick/index.html 1 سؤال : 1برفدانهی کخ هدف این سؤال پیادهسازی یک تابع به نام snowflakeاست: )(snowflake n این تابع برفدانه کخ مرحله nام را میسازد .اندازهی برفدانه دلخواه است ،اما باید به اندازهی کافی قابل دیدن باشد. برای مثال: )(snowflake 7 )(snowflake 3 )(snowflake 1 برای اطالعات بیشتر در مورد برفدانه کخ میتوانید به آدرس زیر مراجعه کنید: http://en.wikipedia.org/wiki/Koch_snowflake 2 سؤال : 2مثلث سرپینسکی در این سؤال شما باید تابع زیر را پیادهسازی کنید: )(sierpinski n این تابع مثلث سرپینسکی مرحله nام را میسازد و مانند سؤال قبل اندازهها دلخواه است. مثال: )(sierpinski 7 )(sierpinski 3 )(sierpinski 1 برای اطالعات بیشتر در مورد مثلث سرپینسکی به آدرس زیر مراجعه کنید: http://en.wikipedia.org/wiki/Sierpinski_triangle 3 نکات کلی تمرین خود را حداکثر تا ساعت 23:31تاریخ 11مهر میتوانید با subjectشماره دانشجویی به آدرس [email protected]ارسال کنید .در متن ایمیل نام و نام خانوادگی و شماره دانشجویی خود و در صورت وجود نکتهی خاصی که برای تصحیح تمرینتان الزم است را بنویسید. ارسالهای با تأخیر تصحیح نمیشوند .از ارسال تمرین بعد از زمان مقرر بپرهیزید. پاسخ به تمام سؤاالت را در یک فایل .rktبنویسید و اسم فایل را شماره دانشجویی خود قرار دهید. از کپی کردن تمرینها بپرهیزید .در صورت مشاهده ،طرفین نمرهای معادل منفی مجموع کل نمرهی تمرینها خواهند گرفت. جواب تمرینهای خود را به گروه نفرستید. سواالت خود را در گروه مطرح کنید تا دوستانتان هم استفاده کنند. 4
© Copyright 2026 Paperzz