בכיתה
1. פתרון משותף של תרגילי הבית.
2. פעולות בנושא מערך שלמים ומערך ממשיים:
כתבו את הפעולות הבאות בנושא מערך שלמים:
לדוגמה, אם המערך שהתקבל הוא 80 ,20, 50, 33 <-- יוחזר 2.
ב. הפעולה GetAverage מקבלת מערך שלמים ומחזירה את ממוצע ערכי איבריו.
הקפידו כי יוחזר ערך מדויק (ממשי).
לדוגמה, אם התקבל המערך 40 ,30 ,20, 10 <-- יוחזר 25.
אם התקבל המערך 100, 99 <-- יוחזר 99.5.
ג. הפעולה GetAverageBetween מקבלת מערך שלמים ושני שלמים המייצגים אינדקס נמוך ואינדקס
גבוה במערך. הפעולה מחזירה את ממוצע המספרים שבטווח האינדקסים.
* הניחו כי האינדקס הראשון שווה לאינדקס השני או נמוך ממנו.
* הניחו כי האינדקס הראשון שווה או גדול מ- 0, ושהאינדקס השני יכול להכיל ערך השווה או נמוך לערך
התכונה Length של המערך.
לדוגמה, עבור הזימון GetAverageBetween(arr, 1, 2) על המערך מסעיף 2, יוחזר הערך 35.
ד. כתבו פעולה MultipliedByFactor המקבלת מערך שלמים וערך ממשי המהווה מכפלת פקטור.
הפעולה תחזיר מערך ממשיים חדש עם אותה כמות ערכים, לאחר שהוכפלו בפקטור. לדוגמה,
אם הפקטור הוא 1.5 ובמערך הציונים 40, 60, 70, אזי יוחזר מערך עם הערכים הבאים: 60, 90, 105.
כדי שתוכלו לבדוק האם הוחזר מערך בעל ערכים תקינים, הוסיפו פעולה PrintArr המקבלת מערך
ומדפיסה את איבריו (בשורה אחת).
ה. כתבו פעולה GetTripleData המקבלת מערך שלמים ומחזירה מערך ממשי (double) בן 3 איברים:
* האיבר הראשון מכיל את סך כל איברי המערך המקורי.
* האיבר השני מכיל את תוצאת מכפלת כל איברי המערך המקורי.
* האיבר השלישי מכיל את ממוצע איברי המערך המקורי.
כתבו את הפעולות הבאות בנושא מערך שלמים:
א. הפעולה FindMaxValue מקבלת מערך שלמים ומחזירה את הערך הגבוה ביותר במערך זה.
לדוגמה, אם המערך שהתקבל הוא 80 ,20, 50, 33 <-- יוחזר 80.
הפעולה FindMinIndex מקבלת מערך שלמים ומחזירה את האינדקס בו קיים הערך הנמוך ביותר.לדוגמה, אם המערך שהתקבל הוא 80 ,20, 50, 33 <-- יוחזר 80.
לדוגמה, אם המערך שהתקבל הוא 80 ,20, 50, 33 <-- יוחזר 2.
ב. הפעולה GetAverage מקבלת מערך שלמים ומחזירה את ממוצע ערכי איבריו.
הקפידו כי יוחזר ערך מדויק (ממשי).
לדוגמה, אם התקבל המערך 40 ,30 ,20, 10 <-- יוחזר 25.
אם התקבל המערך 100, 99 <-- יוחזר 99.5.
ג. הפעולה GetAverageBetween מקבלת מערך שלמים ושני שלמים המייצגים אינדקס נמוך ואינדקס
גבוה במערך. הפעולה מחזירה את ממוצע המספרים שבטווח האינדקסים.
* הניחו כי האינדקס הראשון שווה לאינדקס השני או נמוך ממנו.
* הניחו כי האינדקס הראשון שווה או גדול מ- 0, ושהאינדקס השני יכול להכיל ערך השווה או נמוך לערך
התכונה Length של המערך.
לדוגמה, עבור הזימון GetAverageBetween(arr, 1, 2) על המערך מסעיף 2, יוחזר הערך 35.
ד. כתבו פעולה MultipliedByFactor המקבלת מערך שלמים וערך ממשי המהווה מכפלת פקטור.
הפעולה תחזיר מערך ממשיים חדש עם אותה כמות ערכים, לאחר שהוכפלו בפקטור. לדוגמה,
אם הפקטור הוא 1.5 ובמערך הציונים 40, 60, 70, אזי יוחזר מערך עם הערכים הבאים: 60, 90, 105.
כדי שתוכלו לבדוק האם הוחזר מערך בעל ערכים תקינים, הוסיפו פעולה PrintArr המקבלת מערך
ומדפיסה את איבריו (בשורה אחת).
ה. כתבו פעולה GetTripleData המקבלת מערך שלמים ומחזירה מערך ממשי (double) בן 3 איברים:
* האיבר הראשון מכיל את סך כל איברי המערך המקורי.
* האיבר השני מכיל את תוצאת מכפלת כל איברי המערך המקורי.
* האיבר השלישי מכיל את ממוצע איברי המערך המקורי.
ו. כתבו פעולה GetPositiveNegative המקבלת מערך שלמים, ומחזירה מערך שלמים חדש בעל אותו
מספר איברים, כאשר חלקו הראשון מורכב מאיבריו השליליים של המערך המקורי, וחלקו השני מורכב
מאיבריו החיוביים של המערך המקורי.
* אין חשיבות לסדר בין האיברים השליליים ולסדר בין האיברים החיוביים.
* במידה ובמערך המקורי קיימים רק מספרים חיוביים או רק מספרים שליליים, יוחזר מערך חדש שכמות
איבריו, ערכיהם וסדרם זהה למערך המקורי.
ז. כתבו פעולה GetUniqueArray המקבלת מערך שלמים ומחזירה מערך שלמים ייחודי.
ידוע כי אם במערך המקורי קיימים ערכים החוזרים על עצמם, הם נמצאים ברצף. לדוגמה, אם התקבל
כפרמטר המערך 8 ,8 ,6, 9, 3, 3, 3, 1 <--, יוחזר המערך 8 ,6, 9, 3, 1 <--.
הניחו כי לא יתקבל כפרמטר מערך עם ערכים ייחודיים שאינם רציפים, למשל: 8, 8, 3, 8, 4, 1 <--.
ח. כתבו פעולה IsSorted המקבלת כפרמטר מערך שלמים. הפעולה מחזירה true אם המערך ממוין
בסדר מספרי עולה, אחרת - false. דוגמאות:
עבור המערכים הבאים יוחזר true:
8 ,7, 3, 2, 1 <--.
80 ,60 ,10 ,0, 10- ,11- <--.
9 <--.
עבור המערכים הבאים יוחזר false:
8 ,7 ,2 ,3, 1 <--.
91 ,92 <--.
ט. כתבו פעולה GetIntegratedArray המקבלת שני מערכי שלמים. הניחו כי אורכם של שני המערכים
זהה. הפעולה תחזיר מערך חדש, המכיל את כל האיברים משני המערכים שהתקבלו כפרמטרים בסדר
הבא: האיבר הראשון מהמערך הראשון, האיבר הראשון מהמערך השני, האיבר השני מהמערך הראשון,
האיבר השני מהמערך השני...
לדוגמה, אם התקבלו שני המערכים הבאים: 7, 60, 20 <-- arr1 ו- 9, 0, 2 <-- arr2.
יוחזר המערך הבא: 9, 7, 0, 60, 2, 20 <--.
י. כתבו פעולה CountElementsOf המקבלת כפרמטר מערך שלמים ומספר שלם. הפעולה תחזיר את
כמות המופעים של המספר השלם במערך. לדוגמה, אם התקבל המערך: 6, 1, 2, 1, 1, 7, 5 <--
וכפרמטר המספר 1, יוחזר הערך 3.
מספר איברים, כאשר חלקו הראשון מורכב מאיבריו השליליים של המערך המקורי, וחלקו השני מורכב
מאיבריו החיוביים של המערך המקורי.
* אין חשיבות לסדר בין האיברים השליליים ולסדר בין האיברים החיוביים.
* במידה ובמערך המקורי קיימים רק מספרים חיוביים או רק מספרים שליליים, יוחזר מערך חדש שכמות
איבריו, ערכיהם וסדרם זהה למערך המקורי.
ז. כתבו פעולה GetUniqueArray המקבלת מערך שלמים ומחזירה מערך שלמים ייחודי.
ידוע כי אם במערך המקורי קיימים ערכים החוזרים על עצמם, הם נמצאים ברצף. לדוגמה, אם התקבל
כפרמטר המערך 8 ,8 ,6, 9, 3, 3, 3, 1 <--, יוחזר המערך 8 ,6, 9, 3, 1 <--.
הניחו כי לא יתקבל כפרמטר מערך עם ערכים ייחודיים שאינם רציפים, למשל: 8, 8, 3, 8, 4, 1 <--.
ח. כתבו פעולה IsSorted המקבלת כפרמטר מערך שלמים. הפעולה מחזירה true אם המערך ממוין
בסדר מספרי עולה, אחרת - false. דוגמאות:
עבור המערכים הבאים יוחזר true:
8 ,7, 3, 2, 1 <--.
80 ,60 ,10 ,0, 10- ,11- <--.
9 <--.
עבור המערכים הבאים יוחזר false:
8 ,7 ,2 ,3, 1 <--.
91 ,92 <--.
ט. כתבו פעולה GetIntegratedArray המקבלת שני מערכי שלמים. הניחו כי אורכם של שני המערכים
זהה. הפעולה תחזיר מערך חדש, המכיל את כל האיברים משני המערכים שהתקבלו כפרמטרים בסדר
הבא: האיבר הראשון מהמערך הראשון, האיבר הראשון מהמערך השני, האיבר השני מהמערך הראשון,
האיבר השני מהמערך השני...
לדוגמה, אם התקבלו שני המערכים הבאים: 7, 60, 20 <-- arr1 ו- 9, 0, 2 <-- arr2.
יוחזר המערך הבא: 9, 7, 0, 60, 2, 20 <--.
י. כתבו פעולה CountElementsOf המקבלת כפרמטר מערך שלמים ומספר שלם. הפעולה תחזיר את
כמות המופעים של המספר השלם במערך. לדוגמה, אם התקבל המערך: 6, 1, 2, 1, 1, 7, 5 <--
וכפרמטר המספר 1, יוחזר הערך 3.
לבית
*** להכנה עד ליום ב' הבא, ה- 13.2.2023,
בו יהיה מבדק ש.ב מבדק ש.ב על הפעולות שקיבלתם בפוסט זה ובפוסט של אתמול ***
בו יהיה מבדק ש.ב מבדק ש.ב על הפעולות שקיבלתם בפוסט זה ובפוסט של אתמול ***
1. השלימו את התרגילים א' - י' שקיבלתם בפוסט זה (למעלה)
1. השלימו את התרגילים א' - ט' שקיבלתם בפוסט של אתמול.
1. השלימו את התרגילים א' - ט' שקיבלתם בפוסט של אתמול.
בשיעורים הבאים
1. מערך שלמים
תרגול, תרגול, תרגול.
1. מערך ממשיים, תווים, בוליאני, מחרוזתי
תרגול, תרגול, תרגול.
תרגול, תרגול, תרגול.
1. מערך ממשיים, תווים, בוליאני, מחרוזתי
תרגול, תרגול, תרגול.
2. אלגוריתמיקה - 'השלבים בפתרון בעיה'
מדוע כדאי ליישמם כבר בשלב הזה
השלבים:
א. הבנת הבעיה.
ב. הצבת ערכים לווידוא הבנת הבעיה.
ג. זיהוי ואפיון הנתונים: קלט / חישוב / פלט.
ד. ציור תרשים זרימה.
ה. פירוט אסטרטגיית הפתרון בעברית, אותה מתרגמים לקוד התכנותי.
א. הבנת הבעיה.
ב. הצבת ערכים לווידוא הבנת הבעיה.
ג. זיהוי ואפיון הנתונים: קלט / חישוב / פלט.
ד. ציור תרשים זרימה.
ה. פירוט אסטרטגיית הפתרון בעברית, אותה מתרגמים לקוד התכנותי.