כל שפת התנהגות היא תוכנה בעצמה ולכן כמו כל תוכנה אחרת יש לה תכונה (property) מוגדרת היטב אחת לפחות.
תכונה אפשרית שכזאת נקראת טיפוס מידע והיא הגדרה כללית לסוג מסוים של מידע המשמשת לארגון מידע (הכתוב באותה שפת התנהגות) לפי סוגים.
דוגמאות לסוגי מידע הנפוצים בשפות התנהגות רבות הם למשל:
- מספר טבעי שלם
- מספר טבעי חלקי (שבר)
- סטרינג
- מערך
- פרוצדורה
- ועוד
סוגי מידע שונים יכולים לכלול תתי סוגים: כמו עם שבר רגיל ושבר מסוג float או פרוצדורה אנונימית ופרוצדורה משוימת שערך זה איננו המקום להאריך עליהם והדבר תלוי בשפה ספציפית.
סטרינג
סטרינג (באנגלית: String ; בתרגום לעברית "מחרוזת") הוא רצף תו אחד או יותר ממערכת תווים נתונה (כגון אותיות ומספרים).
סטרינג משמש להגדיר פיסת מידע מסוימת כטקסט שאמור להיקרא כמו שהוא ולא כהוראה בשפת מחשב. כלומר, הטקסט הזה יוצג למשתמש קצה כמו שהוא נכתב בקוד המקור.
כאשר יוצרים סטרינג נהוג לעטוף מחרוזות בגרשיים כפולים או יחידים למשל כך '1'
או "1"
אשר מבחינת טיפוס מידע שניהם מחרוזות ולא מספרים דווקא בגלל הגרשיים; לפיכך, בפיתוח תוכנה, דרך נפוצה להבדיל בין סטרינג הכולל ספרה לבין מספר עם אותה ספרה בדיוק הוא לבדוק אם התוכן עטוף בגרשיים או לא.
בפיתוח תוכנה, בדרך כלל לא ניתן לחבר סטרינגים לצורך חיבור מספרים; כך למשל:
"1"+"1"
לא יניב"2"
'1'+'1'
לא יניב'2'
"x1"+"x1"
לא יניבx2
אם נרצה לחבר שתי יחידות של הספרה 1 נצטרך לכתוב 1+1
כמספרים (להבדיל מסטרינגים), בלי גרשיים ובלי אותיות.
שימושים נפוצים בסטרינגים בכלל
בפיתוח תוכנה, סטרינגים משמשים למשל לפעולות השוואה.
דוגמה אחת לשימוש בסטרינג היא בשביל להחזיר לגולש הודעת שגיאה ← אם בעת הפיתוח הוחלט שהודעה כזה תהיה עם סטרינג ולא עם מספר (מה שמניסיוני שקורה בדרך כלל).
דוגמה שנייה היא שדה קלט אליו ניתן להזין מידע: נתון שדה קלט אליו משתמש הזין טקסט שמורכב לכל הפחות מאותיות ותווים מיוחדים (עם או ללא ספרות) אזי נאפשר לגולש להשלים פעילות מסוימת (אם הוא היה מזין מספר בלבד הוא היה מתבקש להזין סטרינג לפי תיאור מסוים).
מערך
מערך (באנגלית: Array) אני מגדיר כמבנה נתונים סדור אשר בדרך כלל יכיל שני ערכים או יותר אף שהוא יכול להכיל ערך אחד או לא להכיל ערכ/ים כלל ושגם יכול להכיל תת-מערכים כערכים שלו.
בשפות התנהגות מסוימות (כגון שפת JavaScript) מערך הוא טיפוס מידע (data type) מובנה בשפה.
בשפות תכנות מסוימות הפריט הראשון במערך הוא בעל אינדקס 0;
ישנה מסורת אשר מומשה בשפות מסוימות להתחיל למנות פריטי מערך מ-0 ולא מ-1;
מסורת שהתחיל המתכנת דניס ריצ’י כשפיתח את שפת C.
ניתן "לרוץ" על ערכיו של מערך (ולעשות פעולה בהקשר מידע זה) כאשר מעבר מכל ערך לערך הבא לפני או אחריו נקרא איטרציה (iteration).
כלומר, כאשר מתקדמים קדימה או אחורה במצביע על מערך, כל פעם שעוברים מפריט אחד לאחר, מתרחשת איטרציה. למשל, באיטראציה הראשונה עוברים מפריט 0 לפריט 1 (באם מתחילים למנות או למספר פריטים מ-0); בשפות תכנות שונות ניתן לבצע ריצה אוטומטית על מערך עם לולאה.
אובייקט
המונח אובייקט מקביל למונחים העבריים "דבר" או "ישות".
בשפות התנהגות מסוימות כגון שפת JavaScript "אובייקט" הוא טיפוס מידע המתנהג באופן דומה לטיפוס המידע מערך (array).
הקשר בין מושג טיפוס מידע למושג סט (קבוצה)
טיפוסי מידע שונים כמו מערך ואובייקט הם סטים או לחלופין קבוצות של מידע.
הערות כלליות
- למיטב ידיעתי לא נהוג להגדיר פרמטרים ← יהיו אלה קבועים או משתנים, כ"טיפוסי מידע".
- לשפות מסוימות טיפוסי מידע מיוחדים ואף אופרטורים לוגיים מיוחדים; כך למשל בשפת JavaScript קיים טיפוס המידע NaN; ניתן לבדוק אם פרוצדורה מסוימת מחזירה סטרינג או מספר או אם הפלט שלה מכיל תכונה מסוימת כגון "לא מספר" (
NaN
) ולבצע פעולה בהתאם לכך; זה נעשה דרך האופרטוריםtypeOf
אוisNaN
.