لوگو (زبان برنامه‌نویسی): تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
جز تمیزکاری با استفاده از AWB
جز اصلاح غلط املایی با استفاده از AWB
خط ۸:
ایده ی استفاده از رباتیک در کلاس ، براساس فعالیت های پژوهشی سیمور پاپرت ( Seymour Papert ) - پدر زبان برنامه نویسی لگو (Lego) - است . لگو برای استفاده ی کودکان و بر اساس دیدگاه پیاژه (1964) مبنی بر اینکه مفاهیم انتزاعی را می توان با بررسی های اکتشافی دستی ( تجربه عملی ) یادگرفت ، طراحی شد. از نظر پاپرت ، کودکان فعالانه ساختارهای فکری خود را می سازند و توانایی یادگیری استفاده از زبان برنامه نویسی و رایانه را دارند که یک مهارت پایه برای یادگیری هر چیزی است (1996,X) . در برنامه نویسی با مولفه ای تحت عنوان " معنا سازی " روبرو هستیم ، هر نشانه در برنامه ، معنایی دارد و دانش آموزان فهم خود را از این نشانه ها در ذهن می سازند (2006Ricca and et all,)(ترجمه پرستو علیخانی)
 
در حال حاضر لوگو تفاوت چندانی با ایده‌های اولیه قبل از اولین لاک‌پشت ندارد. در اوایل طراحی این زبان یک روبوت به شکل لاک‌پشت با توجه به دستوراتدستورهای نوشته شده در کامپیوتر روی زمین حرکت می‌کرد. اولین روبوت لاک‌پشت در سال ۱۹۶۹ در [[دانشگاه ام‌آی‌تی|ام‌آی‌تی]] به‌وجود آمد. این روبوت که ایروینگ نام داشت دارای حسگرهای لمسی بوده و می‌توانست به عقب، جلو، راست و چپ حرکت کرده و یا زنگ خود را به صدا درآورد. بعدها روبوت لاک‌پشت حذف و به نمایشگر کامپیوتر منتقل شده و با دستورهایی شکل و طرح‌هایی را رسم می‌کرد.
 
== طراحی ==
خط ۵۹:
* یک لیست می‌تواند مانند یک صف فرض شده و از عملگرهای queue و dequeue استفاده کند و یا مانند یک پشته از عملگرهای push و pop استفاده کند.
 
==== دستوراتدستورهای ساختار کنترلی ====
لوگو ساختارهای کنترلی مختلفی دارد:
{{چپ‌چین}}
خط ۷۶:
OPERATION [ a list of commands ] [ many data items ]
{{پایان چپ‌چین}}
هر یک از دستوراتدستورها به ترتیب روی هر یک از data itemها اجرا می‌شود. الگوهای دستور مختلفی با نامهای MAP، APPLY، FILTER،FOREACH ، REDUCE و CASCADE وجود دارد.
 
==== لیست‌های خصوصیت ====
خط ۹۱:
 
== نحو ==
دستوراتدستورها می‌توانند در یک یا چندین خط نوشته شوند. دستوراتدستورهای زیادی نمادهای نمایش کوتاهتری دارند، مثلاً دستوراتدستورهای <code>FORWARD</code> و <code>RIGHT</code> می‌توانند به صورت <code>FD</code> و <code>RT</code> نوشته شوند. این کار دشواری ورودی را کم می‌کند. از هر نوشته‌ای بعد از علامت نقطه-ویرگول؛ صرف‌نظر شده و به کاربر این امکان داده می‌شود که توضیحاتی برای برنامه بنویسد.
{{چپ‌چین}}
FORWARD ۱۰۰ ; draws a square with sides 100 units long
خط ۱۲۶:
* دستورهایی که اجرا می‌شوند ولی نتیجه‌ای به عنوان خروجی ندارند، مانند <code>print</code>
* اعمالی که مقداری را به عنوان خروجی برمی‌گردانند، مانند <code>first</code> ، <code>sum</code> و <code>readlist</code>
یک دستور مانند یک رویه در زبان پاسکال است. مجموعه‌ای از دستوراتدستورهای به نام گزاره‌ها که بعد از اجرا کلمه <code>true</code> یا <code>false</code> را برمی‌گردانند با حرف p تمام می‌شوند. مثالهای آن <code>wordp</code> ، <code>emptyp</code> و <code>listp</code> است.
* عبارات می‌توانند اولیه بوده و یا توسط کاربر تعریف شوند.
* عبارات می‌توانند صفر، یک و یا تعداد بیشتری پارامتر ورودی داشته باشند.
خط ۱۳۳:
TO CHAIR REPEAT ۴ [FD 100 RT ۹۰] FD 200 END
{{پایان چپ‌چین}}
لوگو می‌تواند با دستور <code>EDALL</code> یک ویرایشگر را فراخوانی کند. در ویرایشگر دستوراتدستورهای یک رویه می‌توانند در خطوط مختلفی نوشته شوند.
{{چپ‌چین}}
EDALL