لوگو (زبان برنامهنویسی): تفاوت میان نسخهها
محتوای حذفشده محتوای افزودهشده
جز ربات:ویکیسازی اطلاعات بیشتر |
جز ربات: ویرایش جزئی |
||
خط ۱۵:
=== داده ===
سه نوع تايپ داده در UCBLogo وجود دارد:
* کلمه (word)
* ليست (list)
* آرايه (array)
اعداد حالت خاصي از کلمه هستند.
خط ۲۴:
دو نماد مهم وجود دارد:
* علامت دونقطه که نشاندهنده محتوا است.
اين نماد براي آموزش اين مفهوم که هر متغير مکاني در حافظه دارد بسيار مفيد است.
* گيومه: به اين معنا که "اين عبارت به همين شکل ارزيابي ميشود" يا "ارزش اين عبارت بعد از ارزيابي همان ارزش قبل از ارزيابي است".
يک عدد حالت خاص ارزيابي خود است. 2 همان "2 است.
خط ۵۲:
آرايه نيز در اين زبان پشتيباني شده است:
* عملگرهايي براي تبديل کلمهها به ليست و ليست به آرايه و برعکس وجود دارد.
* اين نوع داده مزيتي نسبت به آرايه دارد که قابلیت گسترش نامحدود آن است. داده توسط عملگرهاي first، butfirst، last، butlast، butmember، member و item استخراج ميشود. همچنين داده توسط fput و iput اضافه ميشود.
* يک ليست ميتواند مانند يک صف فرض شده و از عملگرهاي queue و dequeue استفاده کند و يا مانند يک پشته از عملگرهاي push و pop استفاده کند.
==== دستورات ساختار کنترلی ====
لوگو ساختارهاي کنترلي مختلفي دارد:
{{چپچین}}
* ifelse test [ do_if_true list ] [do_if_false list]
{{پایان چپچین}}
دستورهاي تکرار لوگو عبارتند از:
{{چپچین}}
* while condition [instruction list]
* until condition [instruction list ]
* repeat number [instruction list]
{{پایان چپچین}}
خط ۱۲۱:
=== توابع و زيربرنامهها ===
هر خط از يک برنامه از فراخواني توابع و يا در اصطلاح برنامهنويسي زيربرنامههايي تشکيل شده است. دو نوع زيربرنامه وجود دارند:
* دستوراتي که اجرا ميشوند ولي نتيجهاي به عنوان خروجي ندارند، مانند <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> است.
* عبارات ميتوانند اوليه بوده و يا توسط کاربر تعريف شوند.
* عبارات ميتوانند صفر، يک و يا تعداد بيشتري پارامتر ورودي داشته باشند.
رويهها ميتوانند با جفت <code>TO END </code>تعريف شوند:
{{چپچین}}
|