
void אם הפונקציה לא מחזירה דבר. אחרת מציינים את הסוג, והפונקציה מחזירה ערך בעזרת return.הטקסט המלא של הדקות הראשונות בהרצאה «פונקציות - Functions (באינטרנט)» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
שלום, ההרצאה היום תעסוק בנושא של פונקציות. בסוף השיעור אתם תדעו מהי פונקציה, איך פונקציה בנויה ואיך משתמשים בפונקציה בקוד. אז פונקציה זה חלק קוד מסוים שמבצע פעולה מסוימת, יש לו ייעוד מסוים.
עכשיו, בתוכנית יש הרבה מאוד פעולות שתוכנית עושה ואפשר לאגד כל מיני פעולות שתוכנית מבצעת לחלקי קוד מסוימים, שיש להם איזה מטרה משותפת.
בואו ניקח לדוגמה פעולה של קריאה מקובץ טקסט. עכשיו, קריאה מקובץ טקסט כוללת כל מיני דברים, נגיד כמו פתיחה של הקובץ, קריאה של שורה, ניתוח השורה.
אז כל הפעולות האלה יכולות להיות מאוגדות תחת, נגיד, פונקציה אחת שיש לה איזה ייעוד מסוים לקרוא קובץ או לקרוא שורה ולנתח אותה. אז איך אנחנו בעצם כותבים פונקציות בקוד?
אם אתם זוכרים מהדוגמה של המחשבון שלנו, בואו נריץ את זה רק כדי, או יותר נכון, בואו נשים את הדבר הזה פה. כשאנחנו הכנסנו שני מספרים, כשאנחנו הכנסנו שני מספרים וציפינו ששני המספרים יחוברו, הגענו לפה.
והמספר הראשון התווסף למספר השני, והתוצאה של כל זה נכנסה למשתנה numberZolt. עכשיו כל החלק קוד הזה נמצא בין סוגר מסוצל כזה לבין סוגר מסוצל כזה וכל מה שרשום פה כל הדבר הזה בעצם זה פונקציה בלי שידעתם אפילו.
איך פונקציה למעשה בנויה מה אנחנו רואים פה בעצם אז פונקציה המבנה של הפונקציה אני אפילו אני אתחיל בדווקא בשם של הפונקציה. אם אתם זוכרים ההרצאה שלנו של משתנים לכל משתנה השם שלו שאתם נותנים לו צריך להיות לו שם עם משמעות.
כלומר, כשאתם נותנים למשתנה שם מסוים, לשם שלו צריך להיות איזה ייצוג, הוא צריך לייצג איזה משהו, מה הוא מייצג, למה משתמשים בו. אז ככה גם בהקשר של פונקציות.
פונקציה מבצעת פעילות מסוימת. כדי שאני אדע מה הפונקציה מבצעת, אני צריך לתת לה שם עם משמעות. עכשיו, במקרה של חיבור של המספרים, נתתי את השם של הפונקציה, נתתי את השם Add Numbers, הוספת מספרים, כמו שאתם רואים פה.
וזה השם של הפונקציה. יש עוד חלק לפונקציה שנקרא רשימת פרמטרים. עכשיו, אתם רואים שיש פה אחרי השם של הפונקציה סוגר, סוגריים נפתחים, ולאחר מכן יש int number 1, int number 2 ואז סוגריים שנסגרים.
הערכים האלה שנמצאים פה נקראים פרמטרים. אלו ערכים שמועברים לתוך הפונקציה ואז אפשר להשתמש בהם בתוך הפונקציה. החלק הזה שבין הסוגר הזה לבין הסוגר הזה הוא למעשה הגוף של הפונקציה, כאן מתבצעת כל הפעילות של הפונקציה.
למעשה יכול להיות לפונקציה מעל שורה אחת, אני יכול לעשות פה את הדבר הזה number 1, פלוס פלוס, number 2, מינוס מינוס, כלומר יכולים להיות לפונקציה מספר שורות ולאו דווקא שורה אחת, למרות שרצוי שלפונקציה יהיו כמה שפחות שורות והיא תהיה מתומצתת.
אז כמו שאמרתי, בין החלק הזה לבין החלק הזה נמצא הגוף של הפונקציה שכאן מתבצעת הפעילות של הפונקציה והמשתנה הזה והמשתנה הזה נקראים פרמטרים של הפונקציה שמועברים על ידי מי מועברים תכף נראה את זה אבל הם מועברים לתוך הפונקציה והפונקציה משתמשת בהם בפנים לצורך הפעילות שלה הטייפ הסוג שנמצא לפני כל
פרמטר in פה וin פה מציין מה הסוג של הפרמטרים שמועברים זאת אומרת ובמקרה הזה הועברו שתי פרמטרים מסוג של int. והחלק האחרון של הפונקציה הוא הסוג ערך מוחזר.
עכשיו, פונקציה יכולה להחזיר ערך. היא יכולה לבצע פעילות מסוימת, ובסוף היא יכולה להחזיר ערך. כשמופיעה המילה void, המשמעות שהפונקציה לא מחזירה שום ערך.
כלומר, היא מבצעת את הפעילות שלה, מגיעה לחלק האחרון ומסתיימת. היא לא מחזירה שום ערך מתוכה. void זה חלל, חלל ריק באנגלית. עכשיו, פונקציה יכולה להחזיר ערך.
הדרך שהיא מחזירה ערך היא כשאנחנו מציינים מה הסוג של הערך שהיא מחזירה. אם אנחנו רוצים שהפונקציה הזאת, addNumbers, תחזיר ערך, אנחנו רושמים פה את הסוג של הערך שהיא מחזירה.
בוא נגיד שאנחנו רוצים שהיא תחזיר את הערך מסוג של int. אנחנו רושמים פה int, ואז אנחנו, שימו לב שיש לנו פה קו מקווקו אדום, הודעת שגיאה, והודעת שגיאה בסופו של דבר אומרת שהגדרנו שהפונקציה הזאת תחזיר ערך מספרי, אבל אנחנו לא רואים שהיא מחזירה פה שום ערך.
אז בואו נחזיר ערך, והדרך שאנחנו מחזירים ערך היא באמצעות המילה return. המילה return מציינת החזרת ערך מהפונקציה, שהפונקציה עכשיו מסתיימת, והיא מחזירה את הערך, בואו נגיד, number 2.
זאת אומרת שהפונקציה עכשיו מחזירה מתוכה את הערך number 2. מי יקבל את זה? תכף נראה את זה. אז בואו נתחיל עם הדוגמה של פונקציה שלא מחזירה ערך. בואו נשים פה שתי קווים אלכסוניים שמציינים הערה הם מציינים שהחלק הזה לא יתבצע ואני אשים void ופה אני רוצה למחוק את החלק הזה ולכתוב פה add numbers זה השם של הפונקציה אני רוצה לקרוא לפונקציה אני רוצה לגרום לה להתחיל לפעול והדרך שאני
בא שאני גורם לה להתחיל לפעול היא כשאני מציין את השם שלה ציינתי את השם שלה פה Add Numbers ואני פותח סוגר ראשון ואני מעביר לה את המספר הראשון את הפרמטר הראשון כי הפונקציה מצפה לקבל שתי ערכים מספריים אז בוא נגיד שאני אעביר לה את הערך תשע אבל היא מצפה לקבל עוד ערך אחד אם אתם זוכרים
פה היא מקבלת מספר ויש פה עוד מספר היא מקבלת שני פרמטרים Number1 ו-Number2 ושתי הפרמטרים הם מסוג של אינט אז אני רוצה להעביר לה את הערך תשע ואת הערך בוא נגיד חמש ואני אסגור סוגר בנקודה הפסיק פה אני למעשה קורא לפונקציה כמו שאני קורא למישהו בחוץ
שיבוא אליי פה אני קורא לפונקציה שתתבצע תתחיל לעבוד שימו לב שאני מעביר לה פה שני משתנים שני ערכים מסוג של אינט למה כי הפונקציה מצפה לקבל שני מספרים מסוג של אינט אם לדוגמה אני אעשה את הדבר הבא אני אעביר לה תשע אבל אני אעביר לה פה משתנה מסוג של טרינג יש לנו לה אבי פה אני אראה פה שיש פה הודעת שגיאה הודעת שגיאה אומרת בסופו של דבר שהפונקציה addNumbers
מקבלת רק מספר, היא מקבלת שני מספרים מספר ומספר, היא לא מקבלת מספר וסטרינג. אם הייתי רוצה שתקבל שהערך השני יהיה סטרינג, הייתי רושם לה פה סטרינג ואז זה היה נכון.
אתם רואים אין פה קו מקווקו. אבל מכיוון שהפונקציה מקבלת שני מספרים יש לי פה דעת שגיאה שהיא אומרת תן מספר אל תיתן סטרינג אז בואו ניתן מספר ובוא נראה שזה עובד.
הפעלנו את התוכנית, עכשיו אנחנו נגיע לשורת קוד הזאת. בואו עכשיו נראה מה קורה כשאני קורא לפונקציה, לאן אני מגיע.
אני מגיע עכשיו לתחילת הגוף של הפונקציה. יש לי פה את הערך 9. למה? כי אני העברתי את המספר 9, ויש לי את הערך 5 שהעברתי פה ב-number 2.
9 ו-5. עכשיו בואו נתקדם. עכשיו יש פה כל מיני פעולות שהן למעשה חסרות חשיבות, אבל רק כדי להדגים את השימוש של הפונקציה.
שימו לב שאני לא מבצע את החלק הזה שנמצא פה בהערה, הוא עובר ישר לפה. ואחרי שסיימתי את כל הפונקציה אני מגיע לסוגר הסוגר של הפונקציה וחזרתי לפה.