23-25/1/2024, ימים ב',ג',ה' (חוף, אשכול ב') - חזרה על מבוא למערכים, מעבר על שגיאות במבדק, החומר למבחן
בכיתה
ביום ג'
1. מעבר על שגיאות במבדק
מבדק 16.1.24 שגיאות עיקריות (פעולה המקבלת מספר שלם ומחזירה את כמות ספרותיו):
מבדק 16.1.24 שגיאות עיקריות (פעולה המקבלת מספר שלם ומחזירה את כמות ספרותיו):
א. הזחות - קוד הנמצא בבלוק או כפוף לקוד אחר. להזיח כשני סנטימטרים ימינה.
שיהיה ברור שקיימת הזחה.
שיהיה ברור שקיימת הזחה.
ב. תיעוד פעולה ומשתנים - לתעד! וגם לתעד בעברית נכונה ולנסח באופן מובן ומדויק).
ג. לשים לב לטיפוס שהפעולה אמורה להחזיר. במקרה של המבדק הזה: int ולא שום טיפוס
אחר (כמו למשל string).
אחר (כמו למשל string).
ד. לשים לב לתחביר - במקום /= יש לרשום =/, לשים לב שאין אופרטור כזה: >!,
אין דבר כזה num.Length.
אין דבר כזה num.Length.
ה. שמות משתנים משמעותיים. לצורך מנייה נשתמש במשתנה בשם count או mone וכו'.
לא נשתמש בשם משתנה כמו sum או total כיוון ששם המשתנה אמור להיות כזה המבהיר
את מהותו ומטרתו.
ו. "סיבובים" מיותרים: אתחול כזה: int count = 1 ואז בסוף הפעולה: --return count. עדיף היה
לכתוב ישר: int count = 0 ואז בסוף הפעולה return count.
לא נשתמש בשם משתנה כמו sum או total כיוון ששם המשתנה אמור להיות כזה המבהיר
את מהותו ומטרתו.
ו. "סיבובים" מיותרים: אתחול כזה: int count = 1 ואז בסוף הפעולה: --return count. עדיף היה
לכתוב ישר: int count = 0 ואז בסוף הפעולה return count.
ז. בדיקה כפולה, מיותרת: לולאה (while(num > 0 ואז הפקודה הראשונה בבלוג הלולאה: (if(num > 0.
ח. דברים חסרים: סגירת סוגריים מסולסלים של בלוק {. כתיבת נקודה-פסיק ( ; ).
בסוף פקודה, אי כתיבת סוגריים עגולים לאחר המלה if או לאחר המלה while.
חסר רווח: public static intXYZ. חסר שם פעולה: (public static int (int num.
בסוף פקודה, אי כתיבת סוגריים עגולים לאחר המלה if או לאחר המלה while.
חסר רווח: public static intXYZ. חסר שם פעולה: (public static int (int num.
2. החומר למבחן
* הפעולה Write/WriteLine.
* התניה (if) - תנאי פשוט, תנאי מורכב (&& || !), תנאי מקונן (תנאי בתוך בלוק של תנאי).
* התניה (if) - תנאי פשוט, תנאי מורכב (&& || !), תנאי מקונן (תנאי בתוך בלוק של תנאי).
* Random.
* המרה מקומית - חישוב ממוצע של שני משתנים מטיפוס שלם: המרת אחד מהם ל- double.
* לולאות for ו - while.
* טבלת מעקב.
* פעולות.
* פעולות.
* מערך מטיפוס int - יצירת מערך, השמת ערכים במערך, שינוי ערך באחד מתאי המערך,
לולאה למעבר על כל תאי המערך לצורך אתחולו או לצורך ביצוע פעולה חשבונית על כל אחד
מתאיו או על חלקם. לולאה להדפסת ערכי כל תאי המערך או להדפסת חלק מתאי המערך
בהתאם לתנאי מסוים.
לולאה למעבר על כל תאי המערך לצורך אתחולו או לצורך ביצוע פעולה חשבונית על כל אחד
מתאיו או על חלקם. לולאה להדפסת ערכי כל תאי המערך או להדפסת חלק מתאי המערך
בהתאם לתנאי מסוים.
ביום ה'
1. מערך חד-ממדי
א. הגדרת מערך.
ב. מהו מערך.
ג. שינוי גודל מערך.
ד. הגדרת גודל מערך באמצעות משתנה מספרי.
ה. כל איבר במערך כמשתנה עצמאי.
ו. התכונה Length.
ז. דוגמת מערך מחרוזתי.
ח. שיטות לאתחול מערך.
ט. יצירת מערך שלמים.
י. הדפסת איברי המערך באמצעות לולאה.
יא. יצירת פעולה המקבלת מערך-שלמים ומדפיסה את איבריו.
א. הגדרת מערך.
ב. מהו מערך.
ג. שינוי גודל מערך.
ד. הגדרת גודל מערך באמצעות משתנה מספרי.
ה. כל איבר במערך כמשתנה עצמאי.
ו. התכונה Length.
ז. דוגמת מערך מחרוזתי.
ח. שיטות לאתחול מערך.
ט. יצירת מערך שלמים.
י. הדפסת איברי המערך באמצעות לולאה.
יא. יצירת פעולה המקבלת מערך-שלמים ומדפיסה את איבריו.
לבית
ש.ב מיום ה', ה- 25.1.24 ליום ב', ה- 29.1.24:
1. קראו בספר בפרק על מערכים עמודים 32-36. (קראו עמודים 37-42 עד ליום ב' בשבוע הבא).
ה ע ר ה : נושא המערכים כבר מוסבר בספר השני (האדום). מי שלא לקח עדיין ספר זה מהספריה,
שיגש מחר לקחתו.
ה ע ר ה : נושא המערכים כבר מוסבר בספר השני (האדום). מי שלא לקח עדיין ספר זה מהספריה,
שיגש מחר לקחתו.
2. כתבו פעולה MultMe המקבלת כפרמטר מערך שלמים ומספר שלם.
הפעולה מוסיפה את ערך המספר שהתקבל לכל אחד מתאי המערך.
לדוגמה, אם המערך שהתקבל נראה כך (משמאל לימין): [30 ,20 ,10], והפרמטר השני הוא 5,
בתום ריצת הפעולה המערך ייראה כך: [150 ,100 ,50].
3. כתבו פעולה AddMe המקבלת כפרמטרים שני מערכי שלמים.
הפעולה מוסיפה את ערכי המערך הראשון לתאיהם המקבילים במערך השני.
ה ע ר ה : יש להניח כי שני המערכים באותו הגודל.
לדוגמה, אם המערך הראשון שהתקבל נראה כך: [30 ,20 ,10], והמערך השני שהתקבל
נראה כך: [300 ,200 ,100], בתום ריצת הפעולה המערך השני ייראה כך: [330 ,220 ,110].
4. כתבו פעולה WhyMe המקבלת כפרמטר מערך שלמים.
הפעולה מוסיפה את ערך המספר שהתקבל לכל אחד מתאי המערך.
לדוגמה, אם המערך שהתקבל נראה כך (משמאל לימין): [30 ,20 ,10], והפרמטר השני הוא 5,
בתום ריצת הפעולה המערך ייראה כך: [150 ,100 ,50].
3. כתבו פעולה AddMe המקבלת כפרמטרים שני מערכי שלמים.
הפעולה מוסיפה את ערכי המערך הראשון לתאיהם המקבילים במערך השני.
ה ע ר ה : יש להניח כי שני המערכים באותו הגודל.
לדוגמה, אם המערך הראשון שהתקבל נראה כך: [30 ,20 ,10], והמערך השני שהתקבל
נראה כך: [300 ,200 ,100], בתום ריצת הפעולה המערך השני ייראה כך: [330 ,220 ,110].
4. כתבו פעולה WhyMe המקבלת כפרמטר מערך שלמים.
הפעולה מכפילה את ערכי כל אחד מתאי המערך במספר שלם מוגרל בטווח המספרים 1-5.
ה ע ר ה : המספר יוגרל בטרם הכניסה ללולאה. כלומר, שורה אחת לפני שורת הכותרת של הלולאה.
לדוגמה, אם המערך שהתקבל נראה כך (משמאל לימין): [30 ,20 ,10], והוגרל המספר 4,
בתום ריצת הפעולה המערך ייראה כך: [120 ,80 ,40].
ה ע ר ה : המספר יוגרל בטרם הכניסה ללולאה. כלומר, שורה אחת לפני שורת הכותרת של הלולאה.
לדוגמה, אם המערך שהתקבל נראה כך (משמאל לימין): [30 ,20 ,10], והוגרל המספר 4,
בתום ריצת הפעולה המערך ייראה כך: [120 ,80 ,40].
5. כתבו פעולה WhyHim המקבלת כפרמטר מערך שלמים.
הפעולה תכפיל את ערכי כל אחד מתאי המערך במספר שלם מוגרל בטווח המספרים 1-5.
לדוגמה, אם המערך שהתקבל נראה כך (משמאל לימין): [20 ,10], ובפעם הראשונה הוגרל המספר 5,
ולאחר מכן (בפעם השנייה) הוגרל המספר 3, בתום ריצת הפעולה המערך ייראה כך: [60 ,50].
ה ע ר ה : הפעולה שונה מהפעולה הקודמת בכך שטרם הכפלת תא של המערך המקורי, מוגרל שוב
(במיוחד בעבור הכפלה זו) מספר בטווח 1-5. *יתכן ויוגרל אותו מספר יותר מפעם אחת.
6. כתבו פעולה AreYouReal המקבלת כפרמטר מספר שלם. ידוע כי ערכו של הפרמטר המתקבל יהיה
בטווח 2-7. הפעולה תיצור מערך שלמים חדש בשם newArr שגודלו כגודל ערכו של הפרמטר, ותאתחל
את תאיו באופן הבא: התא הראשון יכיל את הערך 1, התא השני את הערך 2, התא השלישי את הערך 3
וכך הלאה. הפעולה תחזיר את המערך שיצרה.
7. כתבו פעולה FinalDrill המקבלת כפרמטר מערך שלמים. ידוע כי הפעולה תקבל מערך שכמות איבריו
זוגית. הפעולה תחזיר מערך שלמים שגודלו חצי מגודל המערך שהתקבל, וערכו של כל אחד מתאיו הוא
סכום שני האיברים התואמים במערך המקורי שהתקבל.
לדוגמה, אם התקבל המערך הבא: [100 ,50 ,30 ,80 ,10 ,2], יוחזר המערך [150 ,110, 12].
הפעולה תכפיל את ערכי כל אחד מתאי המערך במספר שלם מוגרל בטווח המספרים 1-5.
לדוגמה, אם המערך שהתקבל נראה כך (משמאל לימין): [20 ,10], ובפעם הראשונה הוגרל המספר 5,
ולאחר מכן (בפעם השנייה) הוגרל המספר 3, בתום ריצת הפעולה המערך ייראה כך: [60 ,50].
ה ע ר ה : הפעולה שונה מהפעולה הקודמת בכך שטרם הכפלת תא של המערך המקורי, מוגרל שוב
(במיוחד בעבור הכפלה זו) מספר בטווח 1-5. *יתכן ויוגרל אותו מספר יותר מפעם אחת.
6. כתבו פעולה AreYouReal המקבלת כפרמטר מספר שלם. ידוע כי ערכו של הפרמטר המתקבל יהיה
בטווח 2-7. הפעולה תיצור מערך שלמים חדש בשם newArr שגודלו כגודל ערכו של הפרמטר, ותאתחל
את תאיו באופן הבא: התא הראשון יכיל את הערך 1, התא השני את הערך 2, התא השלישי את הערך 3
וכך הלאה. הפעולה תחזיר את המערך שיצרה.
7. כתבו פעולה FinalDrill המקבלת כפרמטר מערך שלמים. ידוע כי הפעולה תקבל מערך שכמות איבריו
זוגית. הפעולה תחזיר מערך שלמים שגודלו חצי מגודל המערך שהתקבל, וערכו של כל אחד מתאיו הוא
סכום שני האיברים התואמים במערך המקורי שהתקבל.
לדוגמה, אם התקבל המערך הבא: [100 ,50 ,30 ,80 ,10 ,2], יוחזר המערך [150 ,110, 12].
ב ה צ ל ח ה !
בשיעורים הבאים
בשיעורים הבאים
1. פעולה המקבלת פרמטר/ים ומחזירות ערך.
2. העמסת פעולות (Overloading).