دستور left: فرمان چرخش لاکپشت به چپ
کاربرد اصلی و روش استفاده از دستور left
دستور left در واقع یک تابع یا روش است که به لاکپشت فرمان میدهد تا حول محور خودش به سمت چپ بچرخد. این چرخش بر حسب درجه اندازهگیری میشود. برای مثال، اگر بنویسیم left(90)، لاکپشت 90 درجه به چپ میچرخد، که معادل یک چهارم گردش کامل است. عددی که در پرانتز قرار میگیرد، مقدار زاویهٔ چرخش را مشخص میکند و میتواند هر عدد صحیح یا اعشاری باشد.
نکتهٔ مهم این است که این دستور، لاکپشت را حرکت نمیدهد، بلکه فقط جهت آن را تغییر میدهد. فرض کنید لاکپشت رو به بالا ایستاده است. با اجرای دستور left(90)، لاکپشت به سمت چپ خواهد چرخید، یعنی اکنون رو به چپ خواهد بود. اگر پس از آن دستور forward(100) را اجرا کنیم، لاکپشت 100 واحد به سمت چپ صفحه حرکت خواهد کرد.
یکی از کاربردهای جالب دستور left، ترسیم اشکال هندسی منظم است. برای رسم یک مربع، کافی است چهار بار عمل زیر را تکرار کنیم: یک خط بکشیم، سپس left(90) یا right(90) اجرا کنیم. با کمی تغییر در زاویهها، میتوانیم اشکال جذابتری مثل مثلث، پنجضلعی، یا حتی ستاره بکشیم. به این ترتیب، دستور left به ما امکان میدهد تا الگوهای تکراری را به سادگی پیادهسازی کنیم.
left(90) و right(270) نتیجهٔ یکسانی دارند، زیرا مجموع زاویهٔ یک چرخش کامل 360 درجه است.
مقایسهٔ دستورات چرخش و حرکت در برنامهنویسی
برای درک بهتر جایگاه دستور left، بهتر است آن را با دیگر دستورات پایهای مقایسه کنیم. هر کدام از این دستورات وظیفهٔ مشخصی دارند و در کنار هم، یک مجموعهٔ کامل از ابزارهای ترسیمی را تشکیل میدهند. شناخت تفاوت این دستورات به برنامهنویس مبتدی کمک میکند تا کدهای منظمتر و کارآمدتری بنویسد.
| نام دستور | نوع عمل | توضیح | مثال |
|---|---|---|---|
| forward | حرکت | لاکپشت را به اندازهٔ مشخص به جلو میبرد | forward(50) |
| backward | حرکت | لاکپشت را به اندازهٔ مشخص به عقب میبرد | backward(30) |
| left | چرخش | لاکپشت را به چپ (خلاف عقربههای ساعت) میچرخاند | left(45) |
| right | چرخش | لاکپشت را به راست (جهت عقربههای ساعت) میچرخاند | right(90) |
همانطور که در جدول میبینید، تفاوت اصلی بین دستورات حرکت و چرخش در این است که دستورات حرکت، موقعیت لاکپشت را روی صفحه تغییر میدهند، اما دستورات چرخش مانند left، فقط جهت آن را تغییر میدهند. این تمایز بسیار مهم است، زیرا ترکیب درست این دو نوع دستور است که به ما امکان میدهد هر شکلی را که تصور میکنیم، رسم کنیم.
پرسشهای رایج و ابهامهای مفهومی
خیر، مفهوم چرخش به چپ در بسیاری از زمینههای برنامهنویسی و حتی ریاضیات کاربرد دارد. برای مثال، در بازیهای رایانهای، هنگام طراحی حرکت شخصیتها یا اشیاء، از دستورات مشابهی برای تغییر جهت استفاده میشود. همچنین در رباتیک، برای چرخاندن چرخهای ربات به چپ، از فرمانهای مشابهی استفاده میکنند. بنابراین، درک این دستور، یک مهارت پایهای و فراتر از یک محیط خاص است.
این مسئله معمولاً به دلیل اشتباه در تشخیص جهت اولیهٔ لاکپشت رخ میدهد. لاکپشت در ابتدای کار معمولاً رو به راست یا بالا است، اما اگر قبلاً دستورات چرخش دیگری اجرا شده باشند، جهت آن تغییر کرده است. برای جلوگیری از سردرگمی، بهتر است قبل از شروع رسم، با دستوراتی مانند setheading(0) یا home()، لاکپشت را به حالت اولیه و جهت مشخصی بازگردانید. همچنین به خاطر داشته باشید که چرخش به چپ، همیشه خلاف عقربههای ساعت است، صرفنظر از اینکه لاکپشت در چه جهتی قرار دارد.
از نظر نتیجهٔ نهایی، هر دو دستور لاکپشت را در همان جهت قبلی نگه میدارند، زیرا چرخش 360 درجه، یک دور کامل است و لاکپشت را به همان نقطهٔ شروع برمیگرداند. با این حال، از نظر اجرایی، دستور left(360) باعث میشود لاکپشت یک دور کامل بچرخد (که ممکن است در انیمیشنها دیده شود)، در حالی که left(0) هیچ چرخشی انجام نمیدهد. بنابراین در برنامهنویسی، انتخاب بین این دو به هدف شما بستگی دارد.
بله، کاملاً امکانپذیر است. اگر بنویسیم left(450)، لاکپشت معادل 450 درجه یعنی یک دور کامل (360 درجه) بهعلاوهٔ 90 درجهٔ دیگر میچرخد که در نهایت با left(90) تفاوتی ندارد. با این حال، بهتر است برای خوانایی بیشتر کد، از اعداد بین 0 تا 360 درجه استفاده کنید تا کد شما برای خودتان و دیگران قابل فهمتر باشد.