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

محتوای حذف‌شده محتوای افزوده‌شده
MelancholieBot (بحث | مشارکت‌ها)
جز ربات افزودن: ko:로고 (프로그래밍 언어)
Tanhabot (بحث | مشارکت‌ها)
جز ربات:ویکی‌سازی اطلاعات بیشتر
خط ۹:
مشهورترين خصوصيت لوگو نشانه‌گر به شکل لاک‌پشت آن است که مي‌توان دستور حرکت و يا کشيدن شکل به آن داد و با توجه به برنامه خطوط گرافيکي رسم می‌کند. اين نشانه‌گر معمولا به شکل يک لاک‌پشت يا يک مثلث نشان داده مي‌شود. لاک‌پشت گرافيکي در اواخر دهه 1960 ميلادي توسط سيمور پپرت به لوگو اضافه شد تا نسخه داراي روبوت لاک‌پشت را پشتيباني کند. اين روبوت لاک‌پشت يک روبوت ساده بود که از ايستگاه کاري کاربر کنترل مي‌شد و دستوراتي براي رسم اشکال به روبوت که داراي يک قلم درون خود يا چسبيده به آن بود مي‌داد.
 
استفاده از هندسه لاک‌پشت به جاي یک مدل مرسوم‌تر، حرکت منطقي روبوت لاک‌پشت را تقليد مي‌کند. هندسه لاک‌پشت با (x,y) اي که در هندسه کارتزين استفاده مي‌شود، تفاوت دارد و بيشتر در يک فضاي اقليدسي کار مي‌کند (با استفاده از اندازه‌ها و زواياي نسبي و بدون مبدا و متفاوت از سيستم‌هاي با دستگاه مختصات). لاک‌پشت با دستوراتي نسبت به مکان فعلي‌ خودش حرکت مي‌کند. LEFT 90 به اين معناست که 90 درجه به سمت چپ بچرخ. يک دانش‌آموز با فرض اينکه اگر جاي لاک‌پشت باشد بايد چه حرکتي انجام دهد، مي‌تواند حرکت لاک‌پشت را بفهمد (پيش‌بيني و درباره آن استدلال کند). پپرت اين موضوع را استدلال سازگار با محيط ناميد. بعضي از پياده‌‌سازي‌‌هايپياده‌سازي‌هاي لوگو، به خصوص آنهايي که اجازه وجود چند لاک‌پشت را مي‌دهند، رديابي برخورد (collision detection) را پشتيباني کرده و اجازه مي‌دهند کاربر نمايش نشانه‌گر لاک‌پشت را دوباره تعريف کند.
 
لوگو معمولا به عنوان زباني مفسري شناخته مي‌شود، با اين‌ حال اخيرا برخي نسخه‌هاي کامپايلي لوگو مانند Lhogho و Liogo نيز ساخته شده است. لوگو حساس به بزرگ يا کوچک بودن حروف نيست ولي حالت را براي فرمت کردن نگه مي‌دارد. لوگو مصالحه‌اي بين زبان برنامه‌نويسي ترتيبي با ساختار بلوکي و زبان‌ برنامه‌نويسي تابعي است. لوگوي استانداردي وجود ندارد، اما UCBLogo به‌شدت مورد توجه است. اين زبان براي آموزش برنامه‌نويسي به کار مي‌رود، اما به خاطر امکانات خوب کار با ليست‌ها زبان بسيار خوبي براي ايجاد scriptهاي مفيد است.
خط ۳۹:
make "x sum :y "3
{{پایان چپچین}}
دستور <code>make</code> دو ورودي مي‌گيرد که در اينجا ورودي دوم <code>sum :y "3</code> است. <code>sum</code> يک عملگر است و دو پارامتر مي‌گيرد. <code>"3</code> به <code>3</code> ارزيابي شده و <code>:y</code> محتويات خانه با نام <code>y</code> را برمي‌گرداند. اين دو مقدار با يکديگر جمع شده و يک مقدار جديد را مي‌‌دهندمي‌دهند.
 
دستور <code>make</code> نتيجه را در ورودي اول قرار مي‌دهد. از ديدگاه برنامه‌نويسي پارامتر اول <code>make</code> از نوع انتقال آدرس (pass by reference) و پارامتر دوم از نوع انتقال مقدار (pass by value) است.
خط ۱۱۹:
{{پایان چپچین}}
 
=== توابع و زيربرنامه‌‌هازيربرنامه‌ها ===
هر خط از يک برنامه از فراخواني توابع و يا در اصطلاح برنامه‌نويسي زيربرنامه‌هايي تشکيل شده است. دو نوع زيربرنامه‌ وجود دارند:
*دستوراتي که اجرا مي‌شوند ولي نتيجه‌اي به عنوان خروجي ندارند، مانند <code>print</code>