תרגיל 3 בקורס תוכנה 1

מסמכים קשורים
Slide 1

BIG DATA תיאור הקורס המונח Big Data הולך וצובר תאוצה בשנים האחרונות, הוא הופך למגמה רווחת בתעשייה. המשמעות הפרקטית של המונח Big Data הינה טכנולוגיות נ

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

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

PowerPoint Presentation

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

מצגת של PowerPoint

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

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

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

PowerPoint Presentation

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

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

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

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

תרגול 1

Slide 1

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

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

PowerPoint Presentation

Homework Dry 3

PowerPoint Presentation

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

PowerPoint Presentation

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

1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle ב

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

ex1-bash

TEL- AVIV UNIVERSITY SACKLER FACULTY OF MEDICINE THE STANLEY STEYER SCHOOL OF HEALTH PROFESSIONS DEPARTMENT OF NURSING אוניברסיטת תל-אביב הפקולטה לרפו

תרגיל 1 בקורס תוכנה 1

Slide 1

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

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

HTML - Hipper Text Makeup Language

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

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

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

w-2003

Microsoft PowerPoint - lec10.ppt

Overview of new Office 365 plans for SMBs

Homework-L9-Skills-1.pub

שקופית 1

תרגול מס' 1

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

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

התגוננות בפני כוחות האופל

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

Slide 1

המשימה תרגול מס' 5: קלט-פלט במערכות הפעלה שונות יש סימונים שונים עבור ירידת שורה :)newline( ב- UNIX/Linux )Line Feed( \n ב- Windows )Carriage Return +

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

Counting the Omer Leviticus 23:15-16 And from the day on which you bring the sheaf of elevation offering the day after the Sabbath you shall count off

שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע

Microsoft Word - c_SimA_MoedB2005.doc

אתגר קוביות מחייכות תכולה: 12 קוביות חוברת הוראות ופתרונות ספרון הכולל 60 חידות חידות בדרגות קושי שונות תפיסה חזותית וחשיבה לוגית הקדמה המשחק פרצופים

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

WinZIP תוכנה לדחיסת קבצים ספטמבר 2007

PowerPoint Presentation

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

PowerPoint Presentation

פייתון

PowerPoint Presentation

eriktology The Prophets Book of 1 st Kings [1]

מתכונת עיצוב 3013

Microsoft Word - Ass1Bgu2019b_java docx

Slide 1

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

מסמך1

Microsoft PowerPoint - lec2.ppt

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

Slide 1

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

eriktology The Writings Book of Proverbs [1]

PowerPoint Presentation

eriktology The Writings Book of Psalms [1]

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

eriktology The Prophets Book of Isaiah [1]

א.ד.וי.ריידר של עדי ברדה 1. הורדה והתקנה הורד את האפליקציה WD( )AdvRider מהחנות והתקן. למכשירי אנדרואיד בלבד. 2. הגדרות ראשונות לאחר ההתקנה צריך לבצע

מבחן בפיתוח מערכות תוכנה בשפת Java ( )

Microsoft PowerPoint - rec1.ppt

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

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

דוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמט

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

PowerPoint Presentation

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

שקופית 1

PowerPoint Presentation

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

מבוא לאסמבלי

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

שקופית 1

תמליל:

1 תוכנה תרגיל מספר 8 הנחיות כלליות: קראו בעיון את קובץ נוהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה VirtualTAU בלבד.(http://virtual2002.tau.ac.il/) יש להגיש קובץ zip יחיד הנושא את שם המשתמש )לדוגמא, עבור המשתמש zvainer יקרא הקובץ )zvainer.zip קובץ ה zip יכיל: א. קובץ פרטים אישיים בשם details.txt המכיל את שמכם ומספר ת.ז. הזהות שלכם. ב. קבצי ה java של התוכניות אותם התבקשתם לממש. ג. קובץ טקסט עם העתק של כל קבצי ה java חלק א': מערכת תשלומים בחברת המחשבים "תוכנה להמונים" העובדים מקבלים שכר על בסיס שבועי. ישנם ארבעה סוגי עובדים: 1. עובדים המקבלים משכורת שבועית ללא קשר למספר השעות שעבדו )SalariedEmployee( 2. עובדים המקבלים שכר לפי שעה.)HourlyEmployee( עובדים אלו מקבלים שכר לכל שעת עבודה וכן תשלום שעות נוספות לכל שעת עבודה מעבר ל- 40 שעות שבועיות. שכר שעה נוספת הוא פי 1.5 משכר של שעה רגילה. 3. עובדי המקבלים עמלת מכירות.)CommissonEmployee( עובדים אלו מקבלים שכר כאחוז מהמכירות שלהם. 4. עובדים שמשכורתם מורכבת משכר בסיס ועמלות )BasePlusCommissionEmployee( משימה א. ב. ממשו את המחלקה האבסטרקטית.Employee לכל עובד יש שם פרטי, שם משפחה ומספר מזהה. המועברים כערכים בבנאי ואינם ניתנים לשינוי לאחר מכן. בנוסף, המחלקה מגדירה את השירותים getearnings() ו-.toString() הראשון מחזיר את המשכורת השבועית של העובד )מספר ממשי(, ואילו השני דורס את השירות מהמחלקה Object ומחזיר מחרוזת המתארת את האובייקט )ראו פירוט בהמשך(. לנוחותכם תוכלו למצוא את שלד המחלקה באתר הקורס. ממשו את המחלקות HourlyEmployee,SalariedEmployee ו- CommissionEmployee. השתמשו בירושה כדי לא לשכפל קוד. הפרמטרים הקובעים את המשכורת יועברו בבנאי של המחלקה וכן ניתן יהיה לשנותם בהמשך, במידת הצורך. יש לממש את המתודה getearnings לפי ההסבר על סוגי טיפוסי העובדים השונים. בנוסף,הטבלה הבאה מתארת את פורמט המחרוזת המוחזרת מהמתודה.toString שימו לב, הטקסט המודגש הוא קבוע. יש להקפיד שהמחרוזת המוחזרת מהשירות תהיה תואמת לפורמט תוך הקפדה על רווחים ושורות. )היעזרו במתודה )String.format 1

class Employee SalariedEmployee HourlyEmployee CommissionEmployee BasePlusCommissionEmployee tostring first-name last-name salaried employee: first-name last-name weekly salary: weekly-salary hourly employee: first-name last-name hourly wage: wage; hours worked: hours commission employee: first-name last-name gross sales: sales; commission rate: rate base salaried commission employee: first-name last-name gross sales: sales; commission rate: rate; base salary: salary ג. ד. ממשו את המחלקה.BasePlusCommissionEmployee משכורתו של עובד מטיפוס זה מורכבת ממשכורת בסיס קבועה וגם מעמלת מכירות. כמו במחלקות הקודמות גם כאן הפרמטרים הקובעים את המשכורת יועברו בבנאי. שלא כמו קודם, כן ניתן יהיה לשנותם בהמשך. גם במקרה זה השתמשו בירושה על מנת למנוע שכפול קוד. ממשו את הפונקציה printpayrollreport שבמחלקה.PayrollSystemTest הפונקציה מקבלת רשימה של עובדים ועבור כל אחד מהם מדפיסה את פרטיו וכן את משכורתו. דוגמת פלט: salaried employee: John Smith ID: 111-11-1111 weekly salary: $800.00 earned $800.00 hourly employee: Karen Price ID: 222-22-2222 hourly wage: $16.75; hours worked: 40.00 earned $670.00 ה. ממשו תכנית בדיקה קטנה במחלקה.PayrollSystemTest התכנית תגדיר לפחות שני עובדים מכל סוג ותדפיס את דו"ח המשכורות עבור ארבעה שבועות: שבוע 1- יודפס הדו"ח עבור העובדים כפי שהוגדרו. שבוע 2 הנהלת החברה החליטה להעלות את המשכורת לעובדים המשתכרים לפי שעה ב. 10% שבוע 3 כל העובדים שיש להם רכיב משכורת קבוע קיבלו העלאה של 5% לרכיב שכר זה. שבוע 4 הוחלט להעלות את העמלות המשולמות לעובדים שבמשכורתם קיים רכיב עמלה באחוז. לדוגמה, אם טרם השינוי העמלה עמדה על 5% לאחר השינוי היא תעמוד על 6%. 2

חלק ב': ספר כתובות שלבים ראשונים This is the first part of an address book application assignment. In this part of the assignment you will write a class for maintaining an address book. Later on in the semester you will implement serialization (saving/loading data to/from files) and interactive update using a graphical user interface (GUI) for this class. In this assignment you are required to write an address book application. An address book is used for storing contact information sorted in alphabetical order. This assignment consists of two parts. In the first part you will implement the core address book functionality (adding/removing contacts etc.). The second part will provide a console-based interface for the address book you implemented in part 1. The two parts follow the model-view separation paradigm. This paradigm dictates that the model of an application (logic and functionality) should be separated from the visual representation (the user-interface). The rationale behind this approach is that visual representation tends to change while the model remains fairly constant. Model-view separation ensures us that changing the view does not require changing the underlying model and it enables us to maintain one model for several different views (we will add a graphical user interface later on this semester). Part 1 The Model In this part you will implement the core address book functionality. We provide you with the IAddressBook interface as well as the Contact and Address classes. You are required to implement the class AddressBook which implements the IAddressBook interface. The class AddressBook is a collection of contacts easily accessible by a contact's name, and sorted in alphabetical order (case insensitive). Remarks: - Names equality is case insensitive. For example, Doe, John is equal to doe, john. However, while operations are performed in a case-insensitive manner you should display names in their original form as provided by the user. - The required methods are under-specified, for example, what should happen if you call update() for a contact that doesn t exist? You should decide how to handle such cases and specify the method's contract accordingly. - Use the standard collections framework (sets, maps, list etc.) for the underlying data structures used by the class. - You should define constructor(s), getters / setters and other methods as you see fit. - Mandatory information must be available throughout an object life-cycle, whereas optional fields may be empty at some times. 3

Part 2 Textual View In this part you will implement a simple textual user interface for the address book. You will implement the class TextualAddressBookView and the application TextualAddressBookViewer which uses your view class. The class defines the public method show(), this is the entry point to the viewer. Calling the show method will put the view in an interactive mode. In this mode the view reads a command from the user and executes it until the command exit is encountered. The class Main (also supplied) creates a new view and calls the show method on it. The application will support the following commands: - c create a new address book - a <name>;<email>;<telephone>;<street>;<city>;<zip>;<country>; add a new contact to the address book. Note that all fields must be provided on the command line. While the name field is mandatory other fields are optional fields and may have the empty string as their value. - p <name prefix> print to the standard output all the contacts for which the name field starts with the given prefix (case insensitive) - x print all the contacts in the address book - d <name> delete the specified contact - u <name>;<email>;<telephone>;<street>;<city>;<zip>;<country>; update an existing contact with the new information. - e exit Here is an example session: > c > a Smith, John;smith@gmail.com;03-6404324;23 Laskov St.;Tel- Aviv;56743;; > a Stein, Rita;rita@gmail.com;03-5524324;;;;; > a Altman, Rebecca;rebecca@gmail.com;03-9414324;;Tel- Aviv;42732;; > a Altman, David;david@gmail.com;;;;;; > p Altman Name: Altman, David Email: david@gmail.com 4

> p Altman, Rebecca > x Name: Altman, David Email: david@gmail.com Name: Smith, John Email: smith@gmail.com Tel: 03-6404324 Address: 23 Laskov St. Tel-Aviv, 56743 Name: Stein, Rita Email: rita@gmail.com Tel: 03-5524324 > d Stein, Rita > u Altman, David; david@gmail.com; 03-9414324;;;; > e Note that the first line should be c. 5