שיעורי מודול (1/2)
פונקציות בסיסיות
פונקציות מאפשרות לארגן קוד בלוקים לוגיים הניתנים לשימוש חוזר, להפחית כפילות ולשפר את הקריאה.
ב-C++, כל פונקציה חייבת להצהיר על סוג הערך שהיא מחזירה, השם שלה וסוגי הפרמטרים שהיא מקבלת.
הגדרת פונקציה
הנה דוגמה לפונקציה פשוטה המסכמת שני מספרים שלמים:
#include <iostream>
// Function definition
int add(int a, int b) {
return a + b; // Returns the sum
}
int main() {
int result = add(3, 4); // Function call
std::cout << "Result: " << result << std::endl;
return 0;
}מבנה וחתימה
- סוג החזרה: סוג הערך המוחזר עם ההצהרה
return(למשלint,double,bool). אם הפונקציה לא מחזירה שום ערך, נעשה שימוש בסוג המיוחדvoid. - שם: המזהה שיקראו לפונקציה (באמצעות סגנון
camelCaseבהתאם ל-R2). - פרמטרים: רשימת משתני הקלט המוקפים בסוגריים
(), לפני כל אחד מהסוג שלו.
הצהרה מול הגדרה
כדי למקם פונקציות מתחת לפונקציה main, תחילה עליך להכריז על אב הטיפוס (החתימה ללא הגוף):
#include <iostream>
// Prototype (Declaration)
int multiply(int a, int b);
int main() {
std::cout << multiply(3, 5); // Valid
return 0;
}
// Definition
int multiply(int a, int b) {
return a * b;
}נסה זאת בעצמך
הגדר פונקציה בשם ריבוע שלוקחת מספר n שלם ומחזירה את הריבוע שלו (n * n). קרא לזה בתוך main כדי לחשב את הריבוע של 5 ולהדפיס אותו באמצעות std::cout.
הצג רמז
החתימה של הפונקציה היא `int square(int n)`. זכור למקם את הגדרת הפונקציה לפני `main`.
הפתרון זמין לאחר 3 ניסיונות
הגדר פונקציה בוליאנית בשם isEven שלוקחת מספר שלם n ומחזירה true אם המספר זוגי (באמצעות % 2 == 0), אחרת false. תקראו אותו ב-main עם 4 והדפיסו אותו.
הצג רמז
הפונקציה חייבת להחזיר סוג `bool`. השתמש ב'n % 2 == 0'.
הפתרון זמין לאחר 3 ניסיונות