دستور گوتو و جابهجایی لاکپشت به یک مختصات مشخص
مختصات چیست و چگونه لاکپشت را به نقطهی مورد نظر میرسانیم؟
برای اینکه لاکپشت را به یک نقطهی خاص ببریم، اول باید بدانیم که هر نقطه روی صفحه با دو عدد مشخص میشود: یکی مکان آن روی خط افقی (عرض) و دیگری مکان آن روی خط عمودی (طول). به این دو عدد، مختصات میگویند. صفحهی نمایش مانند یک صفحهی مختصات است که نقطهی مرکزی آن، جایی که دو خط عمود بر هم قطع میشوند، مختصات (0, 0) دارد.
وقتی به لاکپشت میگوییم گوتو، در واقع به او یک آدرس دقیق میدهیم: «به نقطهای با این عرض و این طول برو». مثلاً دستور goto(100, 50) به لاکپشت میگوید که به نقطهای برود که عرض آن 100 واحد و طول آن 50 واحد است. این کار مانند این است که در یک نقشه، آدرس دقیق یک مکان را به کسی بدهید و او بدون انحراف مستقیم به آنجا برود.
برای درک بهتر، به این مثال توجه کنید: فرض کنید لاکپشت در نقطهی (0, 0) قرار دارد و رو به راست است. اگر دستور goto(0, 100) را به او بدهیم، لاکپشت مستقیماً به سمت بالا حرکت میکند و به نقطهی (0, 100) میرسد، در حالی که جهت او همچنان رو به راست است. این ویژگی، گوتو را از دستورهایی مثل به جلو برو که حرکت را در جهت فعلی انجام میدهد، متمایز میکند.
کاربردهای گوتو در کشیدن شکلهای هندسی
یکی از جالبترین کاربردهای دستور گوتو، کشیدن شکلهای هندسی مختلف است. وقتی میخواهیم یک شکل مثل مثلث یا مربع بکشیم، میتوانیم از گوتو استفاده کنیم تا لاکپشت را دقیقاً به گوشههای شکل ببریم و سپس با دستورهای دیگر، خطوط را رسم کنیم.
برای نمونه، فرض کنید میخواهیم یک مثلث با سه گوشهی مشخص رسم کنیم. میتوانیم لاکپشت را با گوتو به اولین گوشه ببریم، خودکار را پایین بیاوریم، سپس با گوتو به گوشهی دوم برویم، بعد به گوشهی سوم و دوباره به گوشهی اول برگردیم. با این کار، یک مثلث کامل رسم میشود. این روش بسیار دقیقتر از حرکت دادن لاکپشت با دستورهای چرخش و حرکت رو به جلو است، چون نیازی به محاسبهی زاویهها و فاصلهها نداریم.
همچنین گوتو برای طراحی الگوهای تکراری و منظم خیلی مفید است. مثلاً اگر بخواهیم چندین مربع در نقاط مختلف صفحه بکشیم، میتوانیم با استفاده از گوتو، لاکپشت را به نقطهی شروع هر مربع ببریم و سپس مربع را رسم کنیم. این کار باعث میشود که کد ما خواناتر و مرتبتر باشد.
پرسشهای چالشی دربارهی گوتو
آیا گوتو همیشه لاکپشت را در یک خط مستقیم به مقصد میبرد؟
بله، گوتو لاکپشت را در کوتاهترین مسیر ممکن یعنی یک خط مستقیم به نقطهی مورد نظر میبرد. این تفاوت اصلی آن با دستورهایی مثل «به جلو برو» است که لاکپشت را در جهت فعلی حرکت میدهند. اگر بخواهید لاکپشت مسیر خاصی را طی کند، باید از ترکیب دستورهای چرخش و حرکت رو به جلو استفاده کنید.
آیا میتوانیم از گوتو برای حرکت دادن لاکپشت به خارج از صفحه استفاده کنیم؟
خیر، اگر مختصاتی را به گوتو بدهید که خارج از محدودهی صفحه باشد، لاکپشت ممکن است از دید خارج شود یا برنامه با خطا مواجه شود. بهتر است همیشه مختصاتی را انتخاب کنید که در محدودهی نمایش صفحه قرار دارند. معمولاً محدودهی صفحه از -200 تا 200 برای هر دو محور است، اما بسته به محیط برنامهنویسی ممکن است متفاوت باشد.
چه تفاوتی بین گوتو و دستور «به مختصات فلان برو» وجود دارد؟
در برخی محیطهای برنامهنویسی، دستور «به مختصات فلان برو» ممکن است همان گوتو باشد، اما در برخی دیگر، تفاوتهایی وجود دارد. مثلاً بعضی دستورها لاکپشت را با سرعت کمتری به مقصد میبرند یا در طول مسیر خط میکشند. گوتو معمولاً سریعترین و مستقیمترین روش برای رسیدن به یک نقطه است. بهتر است قبل از استفاده، راهنمای محیط برنامهنویسی خود را بررسی کنید.
آیا گوتو جهت لاکپشت را تغییر میدهد؟
خیر، یکی از ویژگیهای مهم گوتو این است که جهت لاکپشت را تغییر نمیدهد. لاکپشت با همان جهتی که داشته به سمت نقطهی مورد نظر حرکت میکند و پس از رسیدن، جهت آن بدون تغییر میماند. این ویژگی به ما اجازه میدهد که بدون نگرانی دربارهی جهت، لاکپشت را به نقاط مختلف ببریم.
آنچه در این مقاله آموختیم:
دستور گوتو یکی از دستورهای پایهای و مفید در برنامهنویسی لاکپشت است که به ما امکان میدهد لاکپشت را دقیقاً به یک نقطه با مختصات مشخص ببریم. این دستور برخلاف دستورهای حرکت در جهت فعلی، لاکپشت را در یک خط مستقیم به مقصد میرساند و جهت آن را تغییر نمیدهد. با استفاده از گوتو میتوانیم شکلهای هندسی دقیق بکشیم، الگوهای تکراری طراحی کنیم و کدهای مرتبتری بنویسیم. همچنین باید مراقب باشیم که مختصات وارد شده در محدودهی صفحه قرار داشته باشند تا از بروز خطا جلوگیری کنیم. تسلط بر این دستور، گام مهمی در یادگیری برنامهنویسی و کار با مختصات است.