קריאות לתת-תוכנית
הוצג| English | משמעות |
|---|---|
| reusable/riːˈjuːzəbl/ | ניתן לשימוש חוזר |
| procedure/prəˈsiːdʒə/ | תהליך |
| call/kɔːl/ | קריאה |
| method/ˈmeθəd/ | שיטה |
| arguments/ˈɑːɡjuːmənts/ | פרמטרים בפועל |
| parameters/pəˈræmɪtəz/ | פרמטרים פורמליים |
| return value/rɪˈtɜːn ˈvæljuː/ | ערך החזרה |
| implementation/ˌɪmplɪmənˈteɪʃn/ | יישום |
| abstraction/əbˈstrækʃn/ | השחזה |
בלוקי קוד נטועים
- פרוצדורה, הנקראת גם פונקציה או שיטה, היא בלוק קוד נטוע בעל שם.
- אתה כותב אותה פעם אחת ומשתמש בה פעמים רבות.
- היא מעניקה למשימה שם, כך שתוכל לקרוא למשימה זו בכל עת שאתה זקוק לה.
- זוהי ליבת העקרון "אל תשנה עצמך" (Don't Repeat Yourself).
תת-תוכנית (פונקציה/שיטה) היא:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
כתוב אותה פעם אחת, קרא אותה פעמים רבות.
כדי להפעיל הוראות של תת-תוכנית מאזור אחר, אתה ______ אותה לפי שמה.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
לאחר סיום הקריאה, התוכנית ממשיכה מהיכן עצרה.
קריאה לפרוצדורה
- כדי להפעיל פרוצדורה מאזור אחר, אתה קורא לה בשמה.
- כאשר הקריאה מסתיימת, התוכנית ממשיכה מהנקודה שבה הפסיקה.
- לכן קריאה היא כמו סטיית דרך: לך לבצע את המשימה, ואז חזור.
- ניתן לקרוא לאותה פרוצדורה ממספר מקומות שונים.
כיצד קריאה לתת-תוכנית פועלת
קריאה מקפיצה לתת-תוכנית עם הארגומנטים שלה, מבצעת את הגוף, מחזירה ערך, והתוכנית ממשיכה מהיכן עצרה.
התאם כל איבר באזור(4, 5) למשמעותו.
Difficulty 2/5 · 140 coins + a small bonus on first completion today
ארגומנטים הם הערכים בפועל; פרמטרים הם המיקומים הממוסמכים.
סה"כ ← אזור(4, 5), מה מחזיר אזור?
Difficulty 1/5 · 100 coins + a small bonus on first completion today
התוצאה החזורה מאוחסנת לשימוש עתידי.
ארגומנטים, פרמטרים, ערך חזרה
- לפרוצדורות ישנם קלט: אתה מעביר ארגומנטים לתוך פרוצדורה דרך הפרמטרים שלה.
area(length, width)שנקרא כarea(4, 5)מקבל 4 ו-5.- לפרוצדורה יכול להיות גם ערך חזרה – תוצאה שתשתמש בה מאוחר יותר.
- לדוגמה
total ← area(4, 5)מאחסן את הערך המוחזר.
אם square(n) מחזירה n × n, מה תחזיר square(square(3))?
Difficulty 2/5 · 140 coins + a small bonus on first completion today
square(3) = 9, ולכן square(9) = 81.
כשקוראים את square(3), יש לדעת מה היא עושה, לא איך היא פועלת בפנים.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
הסתרת פרטי יישום היא ה abstraction נהלי.
הסתרת יישום
- פרוצ'ורות תומכות בה_rpcstraction על ידי הסתרת פרטי יישום מהקורא.
- עליך רק לדעת מה פרוצ'ורה עושה, ולא איך היא פועלת בפנים.
square(n) מחזירה n × n. a ← square(3) מאחסן 9. b ← square(a) מאחסן 81, כי square(9) הוא 81. הקורא לעולם לא רואה את הכפל בתוך הפונקציה — הוא פשוט משתמש בערך המוחזר.
פרוצ'ורה (פונקציה או שיטה) היא קוד ניתן לשימוש חוזר שאתה קורא לפי שמו; התוכנית ממשיכה לאחר שהיא מחזירה ערך. מעבירים ארגומנטים לתוך ה-פרמטרים שלה וניתן להשתמש ב-ערך ההחזרה שלה. פרוצ'ורות מספקות ה_rpcstraction — הקורא יודע מה הן עושות, אך לא את היישום.