מהי הפונקציה התכנותית?
פונקציה (Function) בתכנות היא חלק פשוט אבל משמעותי וחשוב, המקל את הקידוד ואת הארגון הנכון של תכנית מחשב.
העיקרון בפונקציה הוא שבמקום לכתוב שוב ושוב את אותו קוד, מגדירים אותה - קטע של קוד שניתן לקרוא לו בכל פעם שצריך. במילים פשוטות, זהו קטע קוד המבצע פעולה, Action כלשהו. המתכנתים כותבים את הפונקציה פעם אחת ומשתמשים בה מעכשיו, בכל פעם שהם לבצע את הפעולה שהיא תוכנתה לעשות.
נסביר את זה רגע בדימוי מהחיים: דמיינו שאתם בפסטיבל עם המון אנשים ואיבדתם חברה או חלילה את הבת שלכם. אתם ניגשים לבמה ומבקשים להכריז שאתם כאן וממתינים לה. אומרים לכם לדבר עם שמעון, הכרוז של הפסטיבל. הוא בחור נחמד וענייני ומבקש מכם מידע, דאטה. במילים פשוטות - הוא שואל: "איך קוראים לה?" כשאתם נותנים את השם, שמעון ממהר להכריז במיקרופון
ושמעונה (ככה קוראים לה ואין קשר משפחתי לשמעון) מגיעה לבמה.
סוף טוב הכל טוב!
כלומר, שמעון הוא פונקציה שיודעת להכריז על אבדות. הוא צריך פרמטרים, דאטה הכרחי שבדוגמה הזו הוא שם הגברת. כשהוא מבצע את הפעולה שלו - מתבצעת המשימה. כשהוא מחזיר תשובה - זה ארגומנט.
קוד ללא פונקציות הוא כמו עולם בלי בעלי תפקידים, בלי אנשי מקצוע מומחים בתפקידם ובלי מכשירים שעושים לנו את החיים קלים ונוחים. עולם מסובך ומבולגן, כמו קוד ספגטי שלא מוצאים בו את הידיים והרגליים...
כך או כך, אפשר לראות בפונקציה סוג של מתקן, מכונה, או חלק בקוד, שכשנותנים להם סוג של אינפוט, נקרא לזה דאטה, הם יודעים לבצע בדאטה הזה משימה שהוגדרה להם מראש בתכנות.
פעולה כזו של פונקציה יכולה לפעמים לתת לנו משהו בחזרה, ערך או ערכים מוגדרים. ערך כזה בדוגמה שלנו הוא כמו תשובה ששמעון יכול לתת לנו, ששמעונה נמצאה וממתינה לנו במקום כלשהו.
לעתים פונקציה יכולה לשנות את הדאטה שנתנו לה ולפעמים לקבל החלטה על בסיס הדאטה הזה. כל הרעיון של פונקציות הוא פשוט:
אחרי ביצוע הפעולה, הפונקציה תחזיר את הארגומנט. התוצאה או המידע שביקשנו ממנה לייצר מהפרמטרים שסיפקנו לה בקריאה.
בשפות שונות, כמו dart למשל, הסוגריים יהיו שם בפונקציה, גם אם אין דאטה שנדרש לה כדי לבצע את תפקידה.
ואגב, בשפות התכנות השונות יש פונקציות מובנות, שניתן להשתמש בהן מראש - בלי צורך לפתח בעצמכם פונקציות לדברים שמתכנתים צריכים הרבה.
פונקציה (Function) בתכנות היא חלק פשוט אבל משמעותי וחשוב, המקל את הקידוד ואת הארגון הנכון של תכנית מחשב.
העיקרון בפונקציה הוא שבמקום לכתוב שוב ושוב את אותו קוד, מגדירים אותה - קטע של קוד שניתן לקרוא לו בכל פעם שצריך. במילים פשוטות, זהו קטע קוד המבצע פעולה, Action כלשהו. המתכנתים כותבים את הפונקציה פעם אחת ומשתמשים בה מעכשיו, בכל פעם שהם לבצע את הפעולה שהיא תוכנתה לעשות.
נסביר את זה רגע בדימוי מהחיים: דמיינו שאתם בפסטיבל עם המון אנשים ואיבדתם חברה או חלילה את הבת שלכם. אתם ניגשים לבמה ומבקשים להכריז שאתם כאן וממתינים לה. אומרים לכם לדבר עם שמעון, הכרוז של הפסטיבל. הוא בחור נחמד וענייני ומבקש מכם מידע, דאטה. במילים פשוטות - הוא שואל: "איך קוראים לה?" כשאתם נותנים את השם, שמעון ממהר להכריז במיקרופון
ושמעונה (ככה קוראים לה ואין קשר משפחתי לשמעון) מגיעה לבמה.
סוף טוב הכל טוב!
כלומר, שמעון הוא פונקציה שיודעת להכריז על אבדות. הוא צריך פרמטרים, דאטה הכרחי שבדוגמה הזו הוא שם הגברת. כשהוא מבצע את הפעולה שלו - מתבצעת המשימה. כשהוא מחזיר תשובה - זה ארגומנט.
קוד ללא פונקציות הוא כמו עולם בלי בעלי תפקידים, בלי אנשי מקצוע מומחים בתפקידם ובלי מכשירים שעושים לנו את החיים קלים ונוחים. עולם מסובך ומבולגן, כמו קוד ספגטי שלא מוצאים בו את הידיים והרגליים...
כך או כך, אפשר לראות בפונקציה סוג של מתקן, מכונה, או חלק בקוד, שכשנותנים להם סוג של אינפוט, נקרא לזה דאטה, הם יודעים לבצע בדאטה הזה משימה שהוגדרה להם מראש בתכנות.
פעולה כזו של פונקציה יכולה לפעמים לתת לנו משהו בחזרה, ערך או ערכים מוגדרים. ערך כזה בדוגמה שלנו הוא כמו תשובה ששמעון יכול לתת לנו, ששמעונה נמצאה וממתינה לנו במקום כלשהו.
לעתים פונקציה יכולה לשנות את הדאטה שנתנו לה ולפעמים לקבל החלטה על בסיס הדאטה הזה. כל הרעיון של פונקציות הוא פשוט:
קודד פעם אחת, השתמש הרבה פעמים!
בשפות שונות יש סוגריים אחרי שם הפונקציה. כשמכריזים על הפונקציה, כלומר כשמהמתכנתים מציגים אותה לראשונה, הם אומרים שבסוגריים האלה יועבר הדאטה לצורך הביצוע ומגדירים באמצעות "פרמטרים", מה יהיה הדאטה המצופה, כדי שהפונקציה תעשה את תפקידה. כשקוראים לפונקציה, זה כמו למלא טופס. בסוגריים, שהם הטופס, רושמים את הפרמטרים, האינפוט, את הדאטה שהפונקציה רוצה ("איך קוראים לילדה שנעלמה לכם?")
אחרי ביצוע הפעולה, הפונקציה תחזיר את הארגומנט. התוצאה או המידע שביקשנו ממנה לייצר מהפרמטרים שסיפקנו לה בקריאה.
בשפות שונות, כמו dart למשל, הסוגריים יהיו שם בפונקציה, גם אם אין דאטה שנדרש לה כדי לבצע את תפקידה.
ואגב, בשפות התכנות השונות יש פונקציות מובנות, שניתן להשתמש בהן מראש - בלי צורך לפתח בעצמכם פונקציות לדברים שמתכנתים צריכים הרבה.