لوگو (زبان برنامهنویسی): تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ربات ردهٔ همسنگ (۲۶) +املا+مرتب+تمیز (۹.۱): + رده:زبانهای برنامهنویسی ساختهشده در ۱۹۶۷ (میلادی) |
|||
خط ۵:
== تاریخچه ==
اواسط دهه ۱۹۶۰ میلادی سیمور پپرت به همراه [[ماروین مینسکی]] آزمایشگاه هوش مصنوعی [[دانشگاه امآیتی]] را راهاندازی کرد. پپرت با گروهی از شرکت بولت، برنک و نیومن (BBN) که توسط والاس فرزیگ رهبری میشد همکاری کرد و در سال [[۱۹۶۷ (میلادی)|۱۹۶۷]] اولین نسخه زبان لوگو به وجود آمد. در چهار سال اول، آموزش و تحقیقات روی این زبان در شرکت BBN انجام شد. اولین پیادهسازی این زبان که گوست نامیده میشود بهوسیله لیسپ نوشته شد. هدف گوست آموزش حل مسئله بود و کودکان میتوانستند در یک محیط ریاضیاتی کار با کلمات و جملهها را یاد بگیرند. لاکپشت ویرایشگر بازخورد سریعی میداد تا اشکالات برنامه مشخص شود.
هدف از آموزش کودکان در زمینه ی فناوری ، درگیر کردن آنها در فعالیت های هدفمند است تا ضمن جذب مهارت ها و مفاهیم موجود کودکان ، به سمت دانش سطح بالا (پیشرفته) و اندیشه ی انتقادی ناشی از فرایند ها و تولیدات فنی سوق داده شوند. تلاش برای فهم و به کارگیری فرایند ها ( شامل تصمیم گیری در باره ی انتخاب و به کارگیری فناوری های مناسب ؛ طراحی ، و ساخت و ارزیابی تولیدات و فرایندهای فنی ؛ اجرا و توسعه ی مواد ، اطلاعات و سیستم ها ) و فناوری های نوین ،
ایده ی استفاده از رباتیک در کلاس ، براساس فعالیت های پژوهشی سیمور پاپرت ( Seymour Papert ) - پدر زبان برنامه نویسی لگو (Lego) -
در حال حاضر لوگو تفاوت چندانی با ایدههای اولیه قبل از اولین لاکپشت ندارد. در اوایل طراحی این زبان یک روبوت به شکل لاکپشت با توجه به دستورات نوشته شده در کامپیوتر روی زمین حرکت میکرد. اولین روبوت لاکپشت در سال ۱۹۶۹ در [[دانشگاه امآیتی|امآیتی]] بهوجود آمد. این روبوت که ایروینگ نام داشت دارای حسگرهای لمسی بوده و میتوانست به عقب، جلو، راست و چپ حرکت کرده و یا زنگ خود را به صدا درآورد. بعدها روبوت لاکپشت حذف و به نمایشگر کامپیوتر منتقل شده و با
▲در حال حاضر لوگو تفاوت چندانی با ایدههای اولیه قبل از اولین لاکپشت ندارد. در اوایل طراحی این زبان یک روبوت به شکل لاکپشت با توجه به دستورات نوشته شده در کامپیوتر روی زمین حرکت میکرد. اولین روبوت لاکپشت در سال ۱۹۶۹ در [[دانشگاه امآیتی|امآیتی]] بهوجود آمد. این روبوت که ایروینگ نام داشت دارای حسگرهای لمسی بوده و میتوانست به عقب، جلو، راست و چپ حرکت کرده و یا زنگ خود را به صدا درآورد. بعدها روبوت لاکپشت حذف و به نمایشگر کامپیوتر منتقل شده و با دستورهایی شکل و طرحهایی را رسم میکرد.
== طراحی ==
مشهورترین خصوصیت لوگو نشانهگر به شکل لاکپشت آن است که میتوان دستور حرکت و یا کشیدن شکل به آن داد و با توجه به برنامه خطوط گرافیکی رسم میکند. این نشانهگر معمولاً به شکل یک لاکپشت یا یک مثلث نشان داده میشود. لاکپشت گرافیکی در اواخر دهه ۱۹۶۰ میلادی توسط سیمور پپرت به لوگو اضافه شد تا نسخه دارای روبوت لاکپشت را پشتیبانی کند. این روبوت لاکپشت یک روبوت ساده بود که از ایستگاه کاری کاربر کنترل میشد و
استفاده از هندسه لاکپشت به جای یک مدل مرسومتر، حرکت منطقی روبوت لاکپشت را تقلید میکند. هندسه لاکپشت با (x،y) ای که در هندسه کارتزین استفاده میشود، تفاوت دارد و بیشتر در یک فضای اقلیدسی کار میکند (با استفاده از اندازهها و زوایای نسبی و بدون مبدا و متفاوت از سیستمهای با دستگاه مختصات). لاکپشت با
لوگو معمولاً به عنوان زبانی مفسری شناخته میشود، با این حال اخیراً برخی نسخههای کامپایلی لوگو مانند Lhogho و Liogo نیز ساخته شدهاست. لوگو حساس به بزرگ یا کوچک بودن حروف نیست ولی حالت را برای فرمت کردن نگه میدارد. لوگو مصالحهای بین زبان برنامهنویسی ترتیبی با ساختار بلوکی و زبان برنامهنویسی تابعی است. لوگوی استانداردی وجود ندارد، اما UCBLogo بهشدت مورد توجهاست. این زبان برای آموزش برنامهنویسی به کار میرود، اما به خاطر امکانات خوب کار با لیستها زبان بسیار خوبی برای ایجاد scriptهای مفید است.
سطر ۱۲۶ ⟵ ۱۲۴:
=== توابع و زیربرنامهها ===
هر خط از یک برنامه از فراخوانی توابع و یا در اصطلاح برنامهنویسی زیربرنامههایی تشکیل شدهاست. دو نوع زیربرنامه وجود دارند:
*
* اعمالی که مقداری را به عنوان خروجی برمیگردانند، مانند <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> است.
سطر ۱۷۲ ⟵ ۱۷۰:
[[رده:زبانهای برنامهنویسی آکادمیک]]
[[رده:زبانهای برنامهنویسی آموزشی]]
[[رده:زبانهای برنامهنویسی ساختهشده در ۱۹۶۷ (میلادی)]]
[[رده:زبانهای تابعی]]
[[رده:نرمافزارهای آموزشی آزاد]]
|