Dice 2 D

You might also like

Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 3

‫תרגיל‬

‫המחלקה ‪ Results‬מייצגת תוצאות ניסויים של זריקת קוביה‪.‬‬


‫במחלקה מוגדר המערך הבא‪:‬‬

‫= ‪private int [,] dice‬‬


‫‪{{ 2,3,1,1,5,1,3,6,3},‬‬
‫‪{3,4,1,2,4,5,6,1,2},‬‬
‫‪{1,6,4,5,1,3,5,1,2},‬‬
‫;}}‪{3,2,4,5,6,6,5,2,1‬‬

‫המערך ‪ dice‬מכיל תוצאות של זריקת קוביה‪ .‬כל שורה מייצגת ניסוי אחד של מספר זריקות של‬
‫קוביה‪ .‬אורכי השורות שווים‪.‬‬

‫שים לב שהמערך אותחל בנתונים לצורך דוגמא בלבד‪.‬‬


‫בדוגמא נערכו ‪ 4‬ניסויים של ‪ 9‬זריקות קוביה‪.‬‬

‫עליך לבצע אך ורק את המשימות הבאות‪:‬‬

‫‪ .1‬כתוב את השיטה‬
‫}‪public int Equal (int ] [x) {...‬‬
‫השיטה מקבלת מערך חד ממדי שאורכו זהה לאורך שורה של המערך ‪ ,dice‬המכיל ניסוי של‬
‫מספר זריקות קוביה‪.‬‬
‫אם יש במערך ‪ dice‬שורה זהה למערך ‪( – x‬כלומר הניסוי המוכל במערך ‪ x‬זהה לאחד הניסויים‬
‫הקיימים) השיטה מחזירה את מספר השורה‪ ,‬אחרת השיטה מחזירה ‪ . -1‬אם יש מספר שורות‬
‫זהות ‪ -‬השיטה תחזיר את השורה הראשונה מביניהן‪.‬‬
‫לדוגמא – אם המערך ‪ x‬מכיל את הניסוי {‪ }1,6,4,5,1,3,5,1,2‬השיטה תחזיר את המספר ‪. 2‬‬

‫‪ .2‬כתוב את השיטה‬
‫}‪public int freq (int [ ] x, int result) {...‬‬
‫השיטה מקבלת מערך חד ממדי שאורכו זהה לאורך שורה של המערך ‪ dice‬המכיל ניסוי של‬
‫מספר זריקות קוביה‪ ,‬ותוצאה אפשרית מסויימת ( מספר בין ‪ 1‬ל ‪.)6‬‬
‫אם יש במערך ‪ dice‬שורה בה השכיחות של אותה תוצאה זהה לשכיחות התוצאה במערך ‪-x‬‬
‫השיטה מחזירה את מספר השורה‪ ,‬אחרת השיטה מחזירה ‪ .-1‬אם יש מספר שורות המקימות‬
‫זאת – השיטה תחזיר את השורה הראשונה מביניהן‪.‬‬
‫לדוגמא–אם השיטה תקבל מערך חד ממדי שבו השכיחות של התוצאה ‪ 6‬היא ‪ 2‬ואת המספר ‪,6‬‬
‫השיטה תחזיר את המספר ‪.3‬‬

‫‪ .3‬הנח שהמחלקה ‪ TestResults‬יוצרת אובייקט של המחלקה ‪ Results‬ומפעילה עליו שיטות‪.‬‬


‫המחלקה ‪ Die‬מיצגת קוביה בעלת מספר צדדים כל שהוא‪ .‬המחלקה ‪ TestResults‬יוצרת‬
‫אובייקט של המחלקה ‪ Die‬עבור קוביה בת ‪ 6‬צדדים ומפעילה גם עליו שיטות‪.‬‬

‫כתוב אך ורק את ההוראות הבאות המופיעות במחלקה ‪:TestResults‬‬


‫א‪ .‬כתוב את ההוראה היוצרת את האובייקט של המחלקה ‪ .Results‬לקונסטרקטור אין‬
‫פרמטרים‪.‬‬
‫ב‪ .‬כתוב את ההוראה היוצרת את האובייקט של המחלקה ‪ .Die‬הפרמטר של הקונסטרקטור הוא‬
‫מספר הצדדים של הקוביה‪.‬‬
‫ג‪ .‬השיטה ‪ getColumns‬של המחלקה ‪ Results‬לא מקבלת פרמטרים ומחזירה את מספר‬
‫הזריקות בכל אחד מהניסויים הקיימים‪ .‬השתמש בשיטה זו כדי ליצור מערך חד ממדי עבור‬
‫ניסוי אחד של מספר זריקות קוביה‪.‬‬
‫ד‪ .‬השיטה ‪ roll‬של המחלקה ‪ Die‬לא מקבלת פרמטרים ולא מחזירה ערך ומבצעת זריקה של‬
‫קוביה‪ .‬השיטה ‪ getVal‬של המחלקה ‪ Die‬לא מקבלת פרמטרים ומחזירה את תוצאות זריקת‬
‫הקוביה‪ .‬השתמש בשתי שיטות אלו כדי למלא בערכים את המערך שיצרת בסעיף ג'‪.‬‬
‫ה‪ .‬הפעל את השיטה שכתבת בשאלה מס' ‪ 1‬כדי לבדוק אם הניסוי המוכל במערך החד ממדי‬
‫שיצרת זהה לאחד הניסויים הקיימים‪ .‬אם אין ניסוי קיים זהה ‪ -‬הפעל את השיטה שכתבת‬
‫בשאלה מס' ‪ 2‬כדי לבדוק האם באחד מהניסויים הקיימים השכיחות של התוצאה ‪ 1‬זהה‬
‫לשכיחות של תוצאה זו בניסוי המוכל במערך החד ממדי‪.‬‬
‫פתרון‬

You might also like