בשאלה זו אין קשר בין הסעיפים.
בשאלה זו אין קשר בין הסעיפים.
סעיף א
נתונה הפעולה what המקבלת שני מספרים שלמים חיוביים a ו-b (גדולים מאפס).
public static boolean what(int a, int b) {
return what(a, b, 1);
}
public static boolean what(int a, int b, int n) {
if(a == 1)
return b == 1;
if(n == b)
return true;
if(n > b)
return false;
return what(a, b, n*a);
}
- מה תהיה תוצאת זימון הפעולה
what(2, 15)? יש להראות מעקב. - תנו דוגמה למספר דו-ספרתי b שעבורו תוצאת זימון הפעולה
what(3, b)תהיה true. - מה מבצעת הפעולה
what(a, b)באופן כללי עבור שני מספרים שלמים חיוביים?
סעיף ב
נתונה הפעולה why המקבלת מספר שלם n.
public static boolean why(int n){
return why(n, n);
}
public static boolean why(int n, int x){
if(n > x * x)
return false;
if(n < x * x)
return why(n, x-1);
return true;
}
- מה תהיה תוצאת זימון הפעולה
why(10)? יש להראות מעקב. - תנו דוגמה למספר דו-ספרתי n שעבורו תוצאת זימון הפעולה
why(n)תהיה true. - מה מבצעת הפעולה why באופן כללי עבור מספר שלם n? יש להתייחס למקרים שונים של n.
סעיף ג
נתונה הפעולה display:
public static void display(int n){
if(n>0) {
display(n/10);
System.out.print(n % 10);
display(n/10);
}
}
- מה יהיה פלט עבור זימון הפעולה
display(12)? יש להראות מעקב. - מה יהיה פלט עבור זימון הפעולה
display(123)? - מה יהיה פלט עבור זימון הפעולה
display(1234)?
שאלות ותגובות על השאלה
🎓 לא הבנתם משהו? קבלו הסבר נוסף ממרצה לתכנות
שאלו כאן — ותקבלו מענה מוסמך.