הצגת נתונים
הוצג| English | משמעות |
|---|---|
| complexity/kəmˈpleksɪti/ | מורכבות |
| Data abstraction/ˈdeɪtə əbˈstrækʃn/ | ה abstraction נתונים |
| list/lɪst/ | רשימה |
| abstract data type/ˈæbstrækt ˈdeɪtə taɪp/ | סוג נתונים מ추상적抽象数据类型 |
| general/ˈdʒenərəl/ | כללי |
| abstraction/əbˈstrækʃn/ | השחזה |
| modeling/ˈmɒdəlɪŋ/ | דגומיזציה |
| model/ˈmɒdl/ | דגם |
הסתרת פרטים כדי לשלוט במורכבות
- תוכניות אמיתיות עוסקות בכמות גדולה של נתונים.
- הפשטה (Data abstraction) מסתירה פרטים כדי שנוכל לנהל מורכבות.
- במקום לעקוב אחר חלקים קטנים רבים בנפרד, אנו מקבצים אותם תחת שם אחד.
- הכלי הנפוץ ביותר לכך הוא רשימה.
להשתמש ברשימה או במשתנה אחד?
רשימה (הצגת נתונים) שוויה תמורת השקעה כאשר ישנם הרבה ערכים דומים; משתנה יחיד מספיק לערך עצמאי בודד.
הצגת נתונים עוזרת לתכנתן על ידי:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
קבוצת נתונים תחת שם אחד מסתירה פרטים מיותרים.
______ מקבץ ערכים רבים תחת שם אחד, כמו כל הציונים של כיתה.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
רשימה היא סוג הנתונים המופשט הנפוץ ביותר.
שימוש ברשימה הופך את הקוד לגנרי: אותו לולאה עובדת עבור 5 או 500 ערכים.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
הקוד מתייחס לרשימה בשמה, ולא לכל ערך בנפרד.
רשימות מקבוצות ערכים רבים
- רשימה היא סוג נתונים مجرد המקבץ ערכים רבים תחת שם אחד.
- רשימה אחת
scoresיכולה להכיל ציוני כיתה שלמה — לא משתנה נפרד לכל תלמיד. - שימוש ברשימה הופך את הקוד לכללי יותר: אותו קוד עובד עם 5 ערכים או עם 500.
- היא מתייחסת לרשימה על פי שמה, ולא לכל ערך בנפרד.
אילו הם היתרונות של הצגת נתונים? (בחרו את כל האפשרויות החלות)
Difficulty 2/5 · 140 coins + a small bonus on first completion today
שם אחד ברור עדיף על חמישים שמות נפרדים בכל שלושת הקריטריונים.
למה המ مجردות עוזרת
- פחות חזרות — אתה כותב את הלוגיקה פעם אחת, ולא פעם אחת לכל ערך.
- שינויים קלים יותר — הוספת ערך לרשימה והאותו קוד ממשיך לעבוד.
- פחות טעויות — שם ברור אחד קל יותר להקליד נכון מאשר חמישים שמות נפרדים.
- מינוי וקבוצה אלו הם ליבת ה-הפשטה.
מודל של כיתה מאחסן שמות אך מתעלם מצבע העיניים כי:
Difficulty 1/5 · 100 coins + a small bonus on first completion today
מודל מפשט את המציאות, ושמר רק את הפרטים הרלוונטיים.
בשימוש ברשימה, הוספת תלמיד שישי אינה דורשת משתנה חדש ואין צורך בקו הדפסה חדש.
Difficulty 1/5 · 100 coins + a small bonus on first completion today
רק הנתונים משתנים; אותו לולאה מטפל בהם.
הפשטה היא מודל
- פשטת נתונים היא סוג של מודל.
- מודל מפשט דבר כלשהו כדי שנוכל להתמקד בזה שחשוב.
- רשימת שמות תלמידים משמשת כמודל לכיתה, ומתעלמת מפרטים כמו צבע העיניים שהתוכנה לעולם לא זקוק להם.
חמש נקודות. ללא הפשטה: חמישה משתנים mark1…mark5 וחמישה פקודות הדפסה. עם רשימה marks: לולאה אחת מדפיסה כל אלמנט. אם מתגייס תלמיד שישי, רק הנתונים משתנים — אין צורך במשתנה חדש או בשורה חדשה.
פשטת נתונים מסתירה פרטים כדי לנהל מורכבות, לרוב באמצעות רשימה — סוג נתונים מופשט המקבץ הרבה ערכים תחת שם אחד. זה הופך את הקוד לכללי (עובד לכל גודל), מפחית חזרה ושגיאות, והוא סוג של מודל: לשמור על מה שחשוב ולהתעלם משאר הדברים.