
زبان برنامهنویسی Logo یکی از زبانهای آموزشی قدیمی و تأثیرگذار در حوزه آموزش برنامهنویسی به کودکان است. در محیطهای شناختهشده Logo، کودک با نوشتن دستورهایی ساده، یک «لاکپشت» را روی صفحه حرکت میدهد و با مسیر حرکت آن شکلهای هندسی، الگوها و طرحهای مختلف میسازد.
سادگی Logo به این معنا نیست که این زبان فقط برای تمرینهای ابتدایی کاربرد دارد. کودکان میتوانند از حرکت ساده لاکپشت شروع کنند و بهتدریج با مفاهیمی مانند ترتیب دستورات، تکرار، متغیر، رویه، حل مسئله و اشکالزدایی آشنا شوند.
Logo به زبان ساده: کودک به لاکپشت دستور میدهد حرکت کند، بچرخد و روی صفحه خط بکشد. سپس با ترکیب همین دستورهای ساده، شکلها و برنامههای پیچیدهتری میسازد.
| ویژگی | توضیح |
|---|---|
| سال ساخت | ۱۹۶۷ میلادی |
| سازندگان اولیه | والی فورزیگ، سیمور پاپرت، سینتیا سولومون و همکارانشان |
| هدف اصلی | ایجاد محیطی برای یادگیری، آزمایش و ساختن |
| بخش شناختهشده | گرافیک لاکپشتی یا Turtle Graphics |
| مفاهیم آموزشی | الگوریتم، تکرار، رویه، متغیر، هندسه و اشکالزدایی |
آنچه در این مقاله میخوانید
زبان برنامهنویسی Logo چیست؟
Logo فقط نام یک نرمافزار مشخص نیست؛ بلکه خانوادهای از زبانها و محیطهای برنامهنویسی آموزشی است. نخستین نسخه Logo در سال ۱۹۶۷ در شرکت پژوهشی BBN و با همکاری والی فورزیگ، سیمور پاپرت، سینتیا سولومون و افراد دیگری ساخته شد.
این زبان از Lisp تأثیر گرفته بود و از ابتدا برای یادگیری، آزمایش و کار با مفاهیم مختلف طراحی شد. Logo ساختاری تعاملی دارد؛ یعنی کاربر میتواند یک دستور وارد کند و نتیجه آن را بلافاصله ببیند.
برخلاف تصور رایج، نخستین نسخه Logo لاکپشت نداشت و بخشی از فعالیتهای اولیه آن به کار با واژهها و جملهها مربوط بود. لاکپشت بعداً به یکی از شناختهشدهترین ابزارهای این زبان تبدیل شد.

چه کسانی زبان Logo را ساختند؟
ساخت Logo نتیجه همکاری یک تیم بود. والی فورزیگ و گروه او در BBN، همراه با سیمور پاپرت و سینتیا سولومون، در طراحی نخستین نسخه این زبان نقش داشتند.
سیمور پاپرت پیش از حضور در آمریکا با ژان پیاژه، روانشناس و نظریهپرداز سوئیسی، همکاری کرده بود. این تجربه بر نگاه او به یادگیری کودکان تأثیر گذاشت.
پاپرت بعدها مفهوم «ساختنگرایی» یا Constructionism را توسعه داد. بر اساس این دیدگاه، یادگیری زمانی عمیقتر میشود که کودک فقط شنونده نباشد و چیزی قابل مشاهده مانند برنامه، نقاشی، داستان یا پروژه بسازد.
لاکپشت Logo چیست؟
لاکپشت Logo شیئی است که با دستورهای برنامهنویسی حرکت میکند. کودک میتواند مشخص کند لاکپشت چند گام به جلو برود، چند درجه بچرخد یا قلم خود را بالا و پایین ببرد.
لاکپشتهای اولیه در بعضی آزمایشها رباتهای فیزیکی کوچکی بودند که روی زمین حرکت میکردند. بعدها لاکپشت به صفحه نمایش منتقل شد و به ابزاری برای رسم شکلها و آموزش هندسه تبدیل شد.
نکته: Logo فقط به ربات لاکپشت محدود نیست. در بعضی نسخهها میتوان شکل لاکپشت را تغییر داد و شخصیتها یا Spriteهای مختلف ساخت.

دستورات اصلی زبان برنامهنویسی Logo
نام و شکل بعضی دستورها ممکن است در نسخههای مختلف Logo کمی تفاوت داشته باشد. بااینحال، دستورهای زیر در بسیاری از محیطهای کلاسیک Logo استفاده میشوند:
| دستور | شکل کوتاه | عملکرد |
|---|---|---|
| FORWARD 100 | FD 100 | حرکت ۱۰۰ واحد به جلو |
| BACK 50 | BK 50 | حرکت ۵۰ واحد به عقب |
| RIGHT 90 | RT 90 | چرخش ۹۰ درجه به راست |
| LEFT 90 | LT 90 | چرخش ۹۰ درجه به چپ |
| PENUP | PU | بالا بردن قلم و توقف رسم خط |
| PENDOWN | PD | پایین آوردن قلم و شروع رسم خط |
| CLEARSCREEN | CS | پاک کردن صفحه و بازگرداندن لاکپشت |
اولین تمرین: حرکت و چرخش لاکپشت
برای حرکت دادن لاکپشت بهاندازه ۱۰۰ واحد و سپس چرخاندن آن بهاندازه ۹۰ درجه، این دستورها را وارد میکنیم:
FORWARD 100
RIGHT 90 هر بار که این دو دستور اجرا شوند، لاکپشت یک خط رسم میکند و برای رسم ضلع بعدی آماده میشود.

چگونه در Logo یک مربع رسم کنیم؟
یک مربع چهار ضلع برابر و چهار زاویه ۹۰ درجه دارد. بنابراین میتوانیم دستور حرکت و چرخش را چهار بار اجرا کنیم:
FORWARD 100
RIGHT 90
FORWARD 100
RIGHT 90
FORWARD 100
RIGHT 90
FORWARD 100
RIGHT 90 این برنامه درست کار میکند، اما دستورهای آن تکراری هستند. Logo به ما اجازه میدهد از دستور REPEAT استفاده کنیم:
REPEAT 4 [FORWARD 100 RIGHT 90] این دستور به Logo میگوید مجموعه دستورهای داخل کروشه را چهار بار تکرار کند. کودک با همین تمرین ساده، مفهوم حلقه و جلوگیری از تکرار بیدلیل کد را یاد میگیرد.


رویه یا Procedure در Logo چیست؟
رویه مجموعهای از دستورهاست که یک نام مشخص دارد. بهجای اینکه هر بار تمام دستورهای رسم مربع را بنویسیم، میتوانیم یک رویه به نام SQUARE بسازیم.
TO SQUARE
REPEAT 4 [FORWARD 100 RIGHT 90]
END پس از تعریف این رویه، تنها با وارد کردن دستور زیر یک مربع رسم میشود:
SQUARE 

ساخت مربع با اندازه متغیر
میتوانیم رویه را طوری تغییر دهیم که اندازه ضلع مربع را هنگام اجرا دریافت کند:
TO SQUARE :SIDE
REPEAT 4 [FORWARD :SIDE RIGHT 90]
END
SQUARE 50
SQUARE 100 در این مثال، SIDE یک ورودی یا متغیر است. کودک میتواند بدون تغییر ساختار اصلی برنامه، مربعهایی با اندازههای مختلف رسم کند.
استفاده از یک رویه در رویه دیگر
یکی از قابلیتهای مهم Logo این است که میتوان یک رویه را داخل رویه دیگری اجرا کرد. برای مثال، با تکرار رویه SQUARE و چرخاندن لاکپشت پس از هر مربع، میتوان یک الگوی هندسی ساخت:
TO FLOWER
REPEAT 12 [SQUARE 80 RIGHT 30]
END در این تمرین، کودک برنامه را به بخشهای کوچکتر تقسیم میکند و از یک بخش ساختهشده در پروژهای بزرگتر استفاده میکند. این مهارت در زبانهای برنامهنویسی جدید نیز اهمیت دارد.
Logo چه مفاهیمی را به کودکان آموزش میدهد؟
کار با Logo میتواند چند مفهوم مهم برنامهنویسی و حل مسئله را بهصورت قابل مشاهده آموزش دهد:
- ترتیب دستورات: تغییر جای دو دستور میتواند نتیجه برنامه را عوض کند.
- الگوریتم: کودک باید مسیر رسیدن به یک شکل را مرحلهبهمرحله طراحی کند.
- حلقه و تکرار: دستور REPEAT از نوشتن چندباره کد جلوگیری میکند.
- رویهها: هر مسئله بزرگ میتواند به بخشهای کوچکتر تقسیم شود.
- متغیرها: یک برنامه میتواند با ورودیهای متفاوت، نتایج متفاوت بسازد.
- اشکالزدایی: اگر شکل درست رسم نشود، کودک باید دستور یا زاویه اشتباه را پیدا کند.
- هندسه: مفاهیمی مانند زاویه، ضلع، دوران، تقارن و چندضلعیها قابل مشاهده میشوند.
- خلاقیت: کودک میتواند با تغییر عددها و دستورها، طرح شخصی خود را بسازد.
تغییر شکل لاکپشت و ساخت Sprite
در بعضی محیطهای Logo، لاکپشت میتواند شکلهای مختلفی داشته باشد. برای مثال، ممکن است به پرنده، خودرو یا شخصیت دیگری تبدیل شود. به چنین شخصیتهای قابل کنترل در بعضی محیطها Sprite گفته میشود.
قابلیت استفاده از چند شخصیت، حرکت همزمان و ساخت داستان یا بازی در نسخههای مختلف Logo توسعه پیدا کرد. بعدها محیطهای برنامهنویسی تصویری نیز از بسیاری از این ایدهها استفاده کردند.

تفاوت Logo و Scratch چیست؟
Logo و Scratch هر دو برای یادگیری و ساخت پروژه مناسباند، اما شیوه کار آنها یکسان نیست.
| ویژگی | Logo | Scratch |
|---|---|---|
| روش برنامهنویسی | بیشتر متنی | بلوکهای تصویری |
| شروع رایج | حرکت لاکپشت و رسم شکل | ساخت داستان، بازی و انیمیشن |
| خطای نوشتاری | ممکن است رخ دهد | کمتر است؛ چون بلوکها به هم متصل میشوند |
| تمرکز آموزشی | دستور، رویه، هندسه و تفکر الگوریتمی | خلاقیت، رویدادها، تعامل و ساخت پروژه |
Scratch را نباید فقط نسخه جدید Logo دانست؛ اما بسیاری از ایدههای آموزش پروژهمحور، شخصیتهای قابل برنامهریزی و یادگیری از طریق ساختن، در سنت آموزشی Logo نیز دیده میشوند.
برای کودکی که میخواهد با محیطی تصویری، ساخت بازی و انیمیشن را شروع کند، آموزش اسکرچ برای کودکان مسیر امروزیتر و جذابتری فراهم میکند.
آیا Logo هنوز برای کودکان مناسب است؟
Logo هنوز برای آموزش مفاهیمی مانند الگوریتم، تکرار، رویه، زاویه و اشکالزدایی ارزش آموزشی دارد. مشاهده مستقیم نتیجه هر دستور کمک میکند کودک ارتباط میان کد و خروجی را بهتر درک کند.
بااینحال، برای شروع آموزش برنامهنویسی کودکان در بسیاری از مسیرهای امروزی، محیطهایی مانند Scratch و ScratchJr انتخاب رایجتری هستند. این محیطها امکان ساخت بازی، داستان و انیمیشن را با رابط تصویری فراهم میکنند.
انتخاب ابزار باید بر اساس سن، علاقه، هدف آموزشی و تجربه قبلی کودک انجام شود. هدف فقط یادگیری دستورهای یک زبان نیست؛ کودک باید فرصت فکر کردن، ساختن، آزمایش کردن و اصلاح پروژه خود را داشته باشد. برای بررسی مسیرهای متناسب با سن میتوانید صفحه آموزش برنامهنویسی کودکان و نوجوانان را ببینید.
تمرینهای ساده Logo برای کودکان
- با دستورهای FORWARD و RIGHT یک مربع رسم کنید.
- عدد زاویه را تغییر دهید و نتیجه را مشاهده کنید.
- با REPEAT یک مثلث، پنجضلعی و ششضلعی بسازید.
- یک رویه برای رسم مربع تعریف کنید.
- اندازه ضلع را به ورودی رویه تبدیل کنید.
- چند مربع را با زاویههای مختلف کنار هم قرار دهید.
- با PENUP و PENDOWN بین دو شکل بدون رسم خط حرکت کنید.
- یک طرح شخصی بسازید و درباره الگوریتم آن توضیح دهید.
پیشنهاد آموزشی: پاسخ تمرین را از ابتدا در اختیار کودک قرار ندهید. اجازه دهید ابتدا حدس بزند، برنامه را اجرا کند، نتیجه را ببیند و خطاهایش را اصلاح کند.
سؤالات متداول درباره زبان Logo
زبان برنامهنویسی Logo در چه سالی ساخته شد؟
نخستین نسخه Logo در سال ۱۹۶۷ ساخته شد. بنابراین اشاره به سال ۱۹۶۰ بهعنوان سال ایجاد این زبان دقیق نیست.
آیا سیمور پاپرت تنها سازنده Logo بود؟
خیر. سیمور پاپرت یکی از چهرههای اصلی Logo بود، اما نخستین نسخه این زبان حاصل همکاری والی فورزیگ، سینتیا سولومون، پاپرت و اعضای دیگر تیم بود.
آیا Logo فقط برای رسم شکل است؟
خیر. گرافیک لاکپشتی بخش شناختهشده Logo است، اما از این زبان برای کار با واژهها، فهرستها، ریاضیات، موسیقی، شبیهسازی، بازی و پروژههای دیگر نیز استفاده شده است.
آیا لاکپشت Logo یک ربات واقعی است؟
بعضی لاکپشتهای اولیه رباتهای فیزیکی بودند، اما در بیشتر محیطهای آموزشی، لاکپشت بهصورت یک نشانگر گرافیکی روی صفحه نمایش دیده میشود.
آیا Scratch از Logo ساخته شده است؟
Scratch مستقیماً همان Logo نیست، اما از سنت محیطهای آموزشی پروژهمحور و ایدههای پیشین در برنامهنویسی کودکان تأثیر گرفته است. در هر دو محیط، ساختن و آزمایش کردن بخش مهم یادگیری است.
Logo برای چه سنی مناسب است؟
تمرینهای ساده گرافیک لاکپشتی برای کودکان دبستانی قابل استفادهاند. با افزایش سن و تجربه، میتوان رویهها، متغیرها، بازگشت و پروژههای پیچیدهتر را آموزش داد.
جمعبندی
زبان برنامهنویسی Logo در سال ۱۹۶۷ با هدف ایجاد محیطی برای یادگیری و اکتشاف ساخته شد. لاکپشت Logo به کودکان اجازه میدهد نتیجه دستورهای خود را ببینند و با حرکت، چرخش و رسم شکل، مفاهیم برنامهنویسی را تجربه کنند.
ارزش آموزشی Logo فقط در ساده بودن دستورات آن نیست. کودک هنگام رسم یک مربع یا ساخت یک الگوی هندسی، ترتیب دستورات، تکرار، رویه، متغیر، هندسه، حل مسئله و اشکالزدایی را تمرین میکند. این همان رویکردی است که برنامهنویسی را از حفظ کردن دستورها به تجربه ساختن تبدیل میکند.





