תרגיל 5 בקורס מבוא לתכנות , JAVA סמסטר ב תכנות מונחה עצמים ועבודה עם רשימות גנריות תאריך אחרון להגשה: 19/6/19 עד שעה: 23:55, אין הגשה באיחור

מסמכים קשורים
Microsoft Word - Ass1Bgu2019b_java docx

אוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד

שאלהIgal : מערכים דו מימדיים רקורסיה:

שאלהIgal : מערכים דו מימדיים רקורסיה:

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

שאלהIgal : מערכים דו מימדיים רקורסיה:

Slide 1

אוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ

סדנת תכנות ב C/C++

מבוא לתכנות ב- JAVA תרגול 7

Microsoft Word B

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

מהוא לתכנות ב- JAVA מעבדה 3

מבוא לתכנות ב- JAVA תרגול 11

אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

תאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה

PowerPoint Presentation

מבוא למדעי המחשב - חובלים

PowerPoint Presentation

פייתון

בס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנ

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

תכנות מונחה עצמים א' – תש"ע

משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק

מדריך למרצים ומתרגלים 1

הגשה תוך שבוע בשעת התרגול

Microsoft PowerPoint - lec10.ppt

מכללת הדסה, הפקולטה למדעי המחשב מבוא לתכנות מונחה עצמים והנדסת תוכנה סמסטר א', תשע"ו תרגיל 2 תאריך אחרון להגשה: קמפוס הנביאים יום א', 29/11/2015 בשעה

תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

מבוא למדעי המחשב

מבוא למדעי המחשב

Microsoft PowerPoint - rec3.ppt

מבוא למדעי המחשב - חובלים

תרגול 1

שאלה 2. תכנות ב - CShell

תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(

מבוא למדעי המחשב

Data Structure Assignment no.3 תאריך הגשה: p.m. 11/09/16, 23:59 את העבודה יש להגיש בזוגות במערכת ההגשות.submission system על העבודה להיות מוגשות כקובץ

מצגת של PowerPoint

Microsoft Word - c_SimA_MoedB2005.doc

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

תוכן העניינים

PowerPoint Presentation

עוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכ

אוניברסיטת בן-גוריון המחלקה למדעי המחשב בוחן במבנים בדידים וקומבינטוריקה פרופ' מתיא כ"ץ, ד"ר עופר נימן, ד"ר סטוארט סמית, ד"ר נתן רובין, גב'

PowerPoint Presentation

הוספת קישור לאתר אינטרנט תוכן ממשק בדיקת מטלות...3 איחוד אתרי קורסים...5 סל מחזור... 7 חידושים בפעילויות...8 תצורת קורס: כפתורים... 9 פורומים...10 שיפ

ייבוא וייצוא של קבצי אקסל וטקסט

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד

תוכנה 1 אביב תשע"ח תרגיל מספר 8 אוספים גנריים ו- framework collection הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת ה

ex1-bash

מטלת מנחה (ממ"ן) 11 הקורס: חשבון אינפיניטסימלי II חומר הלימוד למטלה: יחידות 2,1 4 מספר השאלות: 7 משקל המטלה: נקודות סמסטר: ב 2007 מו

תרגיל בית מספר 1#

מבוא למדעי המחשב

PowerPoint Presentation

יום עיון עורכי בקשות להיתרים

Slide 1

תוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגש

PowerPoint Presentation

Slide 1

Slide 1

Slide 1

Microsoft PowerPoint - rec1.ppt

איטרטורים: 1 תוכנה 1 סתיו תשע"ג תרגיל מספר 9 הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה moodl

2019 שאלות מומלצות לתרגול מס' דיפרנציאביליות של פונקציה סקלרית )המשך(. כלל השרשרת. S = ( x, y, z) z = x + 3y על המשטח מצאו נקודה בה מישור משיק

שיעור 1

Slide 1

תורת הקומפילציה

מבוא למדעי המחשב

234114

הגשה תוך שבוע בשעת התרגול

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

תוכן העניינים

HTML - Hipper Text Makeup Language

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

Homework Dry 3

תכנון אלגוריתמים עבודת בית 4: תכנון אלגוריתמים תאריך הגשה: 02: , בצהריים,תא מספר 66 בקומת כניסה של בניין 003 מתרגל אחראי: אורי 0

תרגול 1

Slide 1

Microsoft Word - ExamA_Final_Solution.docx

תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב

לנץ קרן מרצה: תכנותמונחהעצמים) ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחי

ת'' מדריך לבעלי תיבה קיימת במופ ומשתמשים ב Outlook 2003 או doc.2007 לפני שניגש להגדיר את תיבת המייל החדשה, נבצע גיבויי של המיילים ופנקס הכתובות מהחשבו

PowerPoint Presentation

תרגול מס' 7 – חזרה על MST ואלגוריתם Dijkstra

יצוא לחשבשבת תוכן עיניינים הגדרות - חשבונות בנק...2 הגדרות - הגדרות חשבשבת... 3 הגדרות - כרטיסי אשראי... 4 הגדרות - סוגי הכנסה... 5 יצוא לחשבשבת...6 י

בקרים מתוכנתים – PLC

Microsoft Word - c_SimA_MoedA2006.doc

מדריך להתקנת Code Blocks מדריך זה נועד לתאר את תהליך התקנת התוכנה של הקורס "מבוא למחשב שפת C". בקורס נשתמש בתוכנת Code::Blocks עם תוספת )אשף( המתאימה

הגנה - שקפי תרגול

Slide 1

תמליל:

תרגיל 5 בקורס מבוא לתכנות 202.1.9031, JAVA סמסטר ב תכנות מונחה עצמים ועבודה עם רשימות גנריות תאריך אחרון להגשה: 19/6/19 עד שעה: 23:55, אין הגשה באיחור!!! העבודה בזוגות בלבד. מתרגל אחראי: אבישי. שעות קבלה: על פי הרשום באתר הקורס )תפורסם הודעה מידי תחילת שבוע היכן ומתי(. שימו לב בקובץ זה 5 עמודים. מטרת המטלה: לתרגל תכנות מונחה עצמים, ללמוד לתכנן פרויקט המכיל מס' מחלקות ויצירת אובייקטים תוך שמירה על כללי ההכמסה והרשאות משתנים. להשתמש במחלקות Node ו- List נתונות עם נתונים גנריים כפי שלמדתם בהרצאה ובתרגולים, לכתוב פונקציות של אובייקט ולהשלים קוד חסר בקובץ מקור נתון. תיאור המטלה: במטלה זו עליכם לכתוב את המשחק UnMonopoly. במשחק משחקים מס שחקנים בלתי מוגבל. כל שחקן מצויד בתחילת המשחק בסכום כסף ראשוני שלם )int( איתו הוא נכנס לשחק. המשחק מורכב מכמות סיבובים מוגדרת מראש. בכל סיבוב, השחקן עם כמות הכסף הגדולה ביותר מחויב להעביר לשחקן עם כמות הכסף הקטנה ביותר 1/3 מכספו, לשלם מס של 1/3 ולהישאר לבסוף עם 1/3 מכספו. במידה וקיים סכום זהה בין שניים או יותר שחקנים, הסכום יילקח מהשחקן הראשון בתור במשחק. וכך, בכל סיבוב החוקים נשמרים עד לסוף הסיבוב האחרון, בו מוצג המנצח שהוא השחקן שנשאר עם סכום הכסף הגדול ביותר והמפסיד, השחקן שנשאר עם סכום הכסף הנמוך ביותר. שימו לב, עבודה זו, תיבדק ע י מערכת אוטומטית שנבנתה במיוחד לעבודה זו. המערכת תבדוק את תקינות הקוד שלכם: הערות, מימוש כל הפונקציות כשורה, שגיאות קומפילציה וכמובן הפלט. עליכם לממש פלט זהה ל ח ל ו ט י ן בעבודתכם. בעבודה זו, נספק לכם תבניות קבצים עם פונקציות נדרשות למימוש )פירוט בהמשך(, המחלקות list,node בשלמותן ללא אפשרות לשנותן, וכן קובץ Driver שבו קיימת פונקציית main ממומשת. בקובץ זה אסור לכם לגעת!!! אין לשנות בו דבר! להלן פירוט הקבצים והפונקציות הנדרשות למימוש. אין לשנות בשום אופן את חתימת הפונקציות, אך אפשר ומומלץ בהחלט להוסיף פונקציות עזר נוספות במחלקות אלו בלבד. המחלקה :Player.java המחלקה מתארת שחקן במשחק. לכל שחקן, שם, מס תעודת זהות, תקציב ראשוני - מספר שלם. אין לשנות בשום אופן את השדות ואין להוסיף שדות נוספים! פונקציות נדרשות למימוש במחלקה זו: public Player(String pname, int id) בנאי זה מקבל שם ות.ז ויוצר שחקן חדש עם הפרטים שהתקבלו ומציב לו תקציב התחלתי 0. public Player(String pname,int id,int budget) בנאי זה מקבל שם, ת.ז ותקציב ראשוני ומעדכן את כל השדות של השחקן. פונקציה זו מעדכנת את התקציב של השחקן. public void setbudget(int newbudget)

public int getbudget() פונקציה זו מחזירה את התקציב של השחקן. public String tostring() פונקציה זו מחזירה מחרוזת המייצגת שחקן. היא כבר ממומשת לכם ולכן אין לגעת בה!!!! המחלקה :PrQueue.java המחלקה מגדירה תור של שחקנים. בראש התור ימוקם תמיד השחקן בעל כמות התקציב הגבוהה ביותר בכל סיבוב, כלומר, התור צריך להיות ממוין בסדר יורד כאשר בסוף התור ימוקם השחקן בעל התקציב הנמוך ביותר. התור ימומש באמצעות רשימה גנרית של שחקנים. המחלקה תכיל פונקציות, הכנסה, הוצאה והצגת השחקנים. למחלקה שדה אחד בלבד והוא רשימת שחקנים גנרית. אין לשנות את השדה ואין להוסיף שדות נוספים!!! פונקציות נדרשות למימוש במחלקה זו: public PrQueue() בנאי המאתחל רשימת שחקנים חדשה ריקה. public Node<Player> getfirst() פונקציה המחזירה את השחקן הראשון בתור, כלומר השחקן בעל התקציב הגבוה ביותר. public Node<Player> getlast() פונקציה המחזירה את השחקן האחרון בתור, כלומר השחקן בעל התקציב הנמוך ביותר. public Node<Player> enqueue(player newplayer) פונקציה המכניסה שחקן לתור, הפונקציה דואגת שייכנס למקומו הנכון בתור ולשמור על מיונו. במידה וקיים שחקן עם תקציב זהה, הוא ייכנס אחריו. הפונקציה מחזירה את השחקן שהוכנס. הפונקציה מוציאה מהתור ומחזירה את השחקן הראשון. public Node<Player> dequeue() public String tostring() הפונקציה מחזירה מחרוזת המציגה את כל איברי התור. המחלקה :Game.java

המחלקה מתארת משחק שלם המורכב ממספר סיבובים שיוגדר במימוש האובייקט. למחלקה שדה אחד והוא תור שחקנים. אין להוסיף שדות או לשנות את השדה! להלן הפונקציות הנדרשות למימוש: public Game(PrQueue q) בנאי המקבל תור שחקנים ומעדכן את השדה של המחלקה. public void turn() פונקציה המגדירה סיבוב בודד במשחק. הפונקציה צריכה לבדוק עבור תור שחקנים לא ריק, מי השחקן בעל התקציב הגדול ביותר, העברת 1/3 מהסכום לשחקן בעל התקציב הנמוך ביותר, איבוד 1/3 נוסף ועדכון הרשימה בהתאם. public void play(int turns) הפונקציה מקבלת מספר סיבובים, גדול מ- 0 ותפקידה להריץ סיבובים כמספר שהתקבל ולהציג בכל סיבוב על המסך את רשימת השחקנים ממוינת מבעל התקציב הגבוה ביותר לנמוך ביותר. הפונקציה מציגה את המנצח והמפסיד בשורות נפרדות ע פ דוגמא בהמשך. ניתן כאמור להוסיף למחלקות Player, PrQueue, Game פונקציות עזר כרצונכם, אך אין לשנות את חתימת הקיימות ואין להוסיף שדות נוספים למחלקות. במחלקות List,Node,Driver אין לגעת בשום אופן!!! שימו לב: בעבודה זו, כאמור, קובץ ה- Driver ממומש במלואו. הקובץ מאתחל 5 שחקנים ומפעיל משחק בעל 10 סיבובים עבורם. הפלט הנדרש עבור Driver זה הוא: [e, 1, 300][d, 1, 100][b, 1, 48][a, 1, 35][c, 1, 32] ---------------------------------------------------- [c, 1, 132][d, 1, 100][e, 1, 100][b, 1, 48][a, 1, 35] [d, 1, 100][e, 1, 100][a, 1, 79][b, 1, 48][c, 1, 44] [e, 1, 100][a, 1, 79][c, 1, 77][b, 1, 48][d, 1, 33] [a, 1, 79][c, 1, 77][d, 1, 66][b, 1, 48][e, 1, 33] [c, 1, 77][d, 1, 66][e, 1, 59][b, 1, 48][a, 1, 26] [d, 1, 66][e, 1, 59][a, 1, 51][b, 1, 48][c, 1, 25] [e, 1, 59][a, 1, 51][b, 1, 48][c, 1, 47][d, 1, 22] [a, 1, 51][b, 1, 48][c, 1, 47][d, 1, 41][e, 1, 19] [b, 1, 48][c, 1, 47][d, 1, 41][e, 1, 36][a, 1, 17] [c, 1, 47][d, 1, 41][e, 1, 36][a, 1, 33][b, 1, 16] Winner is: [c, 1, 47] Loser is: [b, 1, 16]

הסבר לפלט: בשורה הראשונה מוצגים השחקנים שנכנסו למשחק ממוינים בסדר יורד לפי תקציבם. לאחר הקו המקווקו, מוצג כל אחד מ- 10 הסיבובים של המשחק. ניתן לראות שהשחקן e הצטרף למשחק כבעל התקציב הגבוה ביותר )300( ואילו c בעל התקציב הנמוך ביותר )32( ולכן, בסיבוב הראשון על e להעביר 1/3 מתקציבו ל- c שעלה ל- 132, לשלם מס של 1/3 נוסף )לאבד 1/3(, ולהישאר בעצמו עם 1/3 מתקציבו, כלומר עם 100. ולכן c כעת הוא הראשון בתור. בתום 10 הסיבובים, מוצג המנצח והמפסיד. דוגמא נוספת: מצב נוכחי: [a, 1, 51][b, 1, 48][c, 1, 47][d, 1, 41][e, 1, 19] השחקן a בעל סכום 51, הגבוה ביותר, יצטרך להעביר 1/3 מכספו ל- e, לשלם מס )לאבד( 1/3 נוסף ולהישאר עם 1/3. ולכן בסיבוב הבא זו תמונת השחקנים: [b, 1, 48][c, 1, 47][d, 1, 41][e, 1, 36][a, 1, 17] קראו היטב את ההערות הנוספות הבאות בכל מקרה, על התכנית שלכם להפיק בדיוק את הפלטים כפי שהוצגו בהרחבה בכל אחד מהדוגמאות של כל סעיף. לא להילחץ המלצה: תכננו את מבנה המחלקות בתרשים טרם כתיבת שורת קוד אחת. העבודות יוגשו בזוגות בלבד על פי הנחיות ההגשה כפי שהיו בעבודה מס' 4. אין הגשה באיחור בעבודה זו!!! בתוך קובץ ההגשה יהיו 6 קבצי java )ללא תיקיות( עם שמות המחלקות )במדויק( שהוצגו מעלה. בדיוק לא יותר ולא פחות. במטלה זו ניתן להשתמש בכל מה שלמדתם בקורס, אין לשנות את חתימות הפונקציות המובנות אך בהחלט אפשר להוסיף פונקציות עזר נוספות במחלקות שצוינו ובלבד ששמרתם על כללי הכימוס ופעולת האובייקט ללא חזרות מיותרות של שורות קוד זהות. יעילות נדרשת! העבודה צריכה להיות מוכלת בחבילת ברירת המחדל. כלומר בתחילת הקובץ שלכם לא אמור להופיע המשפט <name>; package באחריות כל סטודנט להתעדכן בשינויים/עדכונים באתר הקורס. באחריותכם לוודא שהקבצים עלו נכונה לאתר ההגשות..1.2.3.4.5.6.7.8.9

יש לתת שמות משמעותיים למשתנים, יש להעיר הערות ברורות ומבארות על העבודה, מרכיבים אלו הינם חלק מהניקוד על העבודה. על ההערות להיות כתובות באנגלית בלבד מתומצתות ובשיקול דעת. יש להקפיד שהעבודה תהיה קריאה. אין לכתוב שורות קוד ארוכות מאוד ויש להקפיד על הזחה (אינדנטציה(: על קטעי הקוד הנמצאים בתוך לולאה או if להיות מוזזים ימינה בtab. למידע נוסף על אינדנטציה ראה ערך https://en.wikipedia.org/wiki/indent_style אין להשתמש בהורשה או כל חומר תכנות מונחה עצמים שלא נלמד בקורס זה. מומלץ לא לכתוב את כל הקוד ורק אז לקמפל ולדבג, אלא לכתוב חלק אחד ורק לאחר שחלק זה מקומפל ומדובג היטב להמשיך הלאה. חלקו את העבודה ביניכם אך זכרו, כל אחד מבני הזוג חייב להכיר את העבודה כאילו כתב אותה לבדו! מומלץ לא לחכות לרגע האחרון ולהתחיל את העבודה בהקדם האפשרי. אין הגשה באיחור לעבודה זו! שאלות בנוגע לעבודה יש לפרסם בפורום העבודה הנמצא באתר הקורס. לפני פרסום שאלה, יש לעבור על השאלות שכבר נענו בפורום ולוודא שהשאלה לא נשאלה כבר וקיבלה מענה. שאלות שיישלחו למיילים של צוות הקורס או שאלות חוזרות לא יקבלו מענה. כמו כן, אין לשאול שאלות בנוגע לעבודה במהלך התרגול או בהפסקות. נא לשמור על הגינות אקדמית..10.11.12.13.14.15.16.17 בהצלחה!