12. פרוצדורות
עד לצעד זה כבר עברנו המון , וצברנו ידע בסיסי בתכנות בכלל ולוגו בפרט. ולגביי פרוצדורות כבר בעצם נגענו בנושא בשיעור "הצב לומד".
בואו נתחיל בניקוי המסך
ההגדרה הבסיסית של פרוצדורות היא :
למד שם_פרצדורה פעולות. כאשר שם_פרצדורה הוא השם של הפרוצדורה ופעולות הן הפקודות הבאות אחריי שם הפרוצדורה. בשיעור "הצב לומד"הגדרנו פרוצדורה בשם "מקווקו " בצורה הבאה
למד מקווקו חזור 5 [שנהרוחב 1 קד 10 שנהרוחב 3 קד 10] סוף. כאן בעצם שם_פרוצדורה הוא מקווקו ואילו הפעולות הן חזור 5 [שנהרוחב 1 קד 10 שנהרוחב 3 קד 10]
הגדר פרוצדורה בשם משולש המציירת משולש שאורך כל אחת מצלעותיו הוא 100
כל הכבוד , יצרת פרצודורה חדשה בשם 'משולש' , עכשיו נוכל להתשמש בה כדי לצייר משולש. בכדיי להשתמש בפרוצדורה ללא פרמטרים עלינו פשוט לקרוא בשם הפרוצדורה (לכתוב את שמה)
בבקשה קרא ל 'משולש'
אנחנו יכולים גם לייצר פרוצדורה שמצפה לקבל פרמטרים. ההגדרה של הפרוצדורה תהיה למד שם_פרוצדורה :קלט1 :קלט2 פעולות סוף. אנחנו יכולים להשתמש בכמה פרמטרי קלט שאחנונ רוצים ( כאשר הגדרנו משולש השתמשהו בעצם ב 0 פרמטרי קלט). לאחר מכן נוכל להתשמש בפרמטרי הקלט בהגדרות הפעולות
כתוב: למד הולך :מרחק קד :מרחק סוף
בצעד הקודם הגדרנו למד הולך :מרחק קד :מרחק סוף. הסימן ":" מסמן כי יש לנו פרמטר בשם מרחק. חלק הפעולות כולל את 'קד :מרחק ' מה שבעצם אומר שאנחנו נלך קדימה(קד) לפי פרמטר המרחק אותו קיבלנו בקריאה לפרוצדורה. מבולבלים ?? אל דאגה פשוט ננסה לקרוא לפרצדורה כמה עם הערכים הבאים . הולך 50 , הולך 100 וכדומה . שימו לב .. אם נריץ את הפקודה הולך ללא פרמטרים נקבל שגיאה . מכיוון שהצב מצפה לקבל פרמטר 1 ( את פרמטר המרחק ).
הרץ את הפרצדורה 'הולך' עם הערך 150
בשיעור פוליגונים יצרנו הרבה פוליגונים שההבדל היחידי ביניהם היה מספר הפעמים של לולאה החזור וזווית הפנייה של הצב.
עבור צב השתשמשנו ב חזור 3 [קד 100 ימ 360/3] עבור ריבוע
חזור 4 [קד 100 ימ 360/4] ועבור פוליגום כלשהו בעל X צלעות הנוסחה היא חזור X [קד 100 ימ 360/X].
כתוב פרצדורה בשם פולינום המקבלת פרמטר אחד בשם :מספרצלעות , כאשר גודל כל צלע בו הוא 100 נקודות , ע"י שימוש בלולאה אשר בתוכה נלך קדימה ונפנה ימינה
כעת יהיה ממש פשוט עבורנו ליצור פולינומים , כל שנצתרך לעשות הוא לקרוא ל 'פולינום' עם מספר הצלעות כפרמטר. למשל כדי ליצור מחומש נקרא ל 'פולינום 5'.
צור ריבוע