11_2009_gui

גודל: px
התחל להופיע מהדף:

Download "11_2009_gui"

תמליל

1 שיעור מספר 11: Graphical User Interface (GUI) מרצים: ליאור וולף ליאור שפירא בית הספר למדעי המחשב

2 2

3 שלבי פיתוח מנשק גראפי מהנדס מנשקי אנוש מפתח מנשק כך שיהיה מובן, יעיל, נעים מודדים את איכות המנשק על קב' משתמשים ומתקנים בהתאם איך הממשק יתנהג מחליט מממשים לנו אין תפקיד כ"כ גדול בתהליך מחליט על סוגי האלמנטים שיופיעו על המסך, ועל סידורם מחליט איך המנשק יישמע מעצב גראפי תוכנה 1 ייראה/ בשפת Java תוכניתן 3

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

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

6 ועכשיו למימוש 6

7 שלושת הצירים של תוכנה גרפית אלמנטים מסוגים שונים על המסך (היררכיה של טיפוסים) הארגון הדו מימדי של האלמנטים, בדרך כלל בעזרת מיכלים ההתנהגות הדינמית של האלמנטים בתגובה לפעולות של המשתמש/ת ("ארועים": הקלדה, הקלקה, גרירה) 7

8 חלונות כמיכלים כל דבר הוא widget (חלון, כפתור, תפריט, משטח) החלונות מקיימים יחס הכלה (אחד לרבים) משטח עבודה (אב עליון) אפליקציה (צייר) שורת משימות 8

9 מודל החלונות (המשך) 9

10 "שלום עולם" public class HelloSwt { עצם ה Display את המסך מייצג } public static void main(string[] args) { } Display display = Display.getDefault(); Shell shell = new Shell(display); shell.settext("hello World!"); shell.setsize(300, 100); shell.open(); while (!shell.isdisposed()) { if (!display.readanddispatch()) { display.sleep(); } } display.dispose(); כל חלון מיוצג ע"י עצם מטיפוס Shell ההורה של החלון הוא המסך יש לשחרר משאבים בסיום העבודה בצורה מפורשת event loop 10

11 דוגמה יותר מעניינת: דפדפן זעיר מגולגל 11

12 מה הדפדפן אמור לעשות המשתמשת תקליד מחרוזת חיפוש בשדה בצד שמאל למעלה לחיצה על הכפתור I'm feeling lucky מימין לשדה הטקסט תשלח את מחרוזת החיפוש ל- Google כאשר תתקבל התשובה, הדפדפן ישלוף מהתשובה של Google את הכתובת (URL) הראשונה ויטען אותה לרכיב הצגת ה- HTML בתחתית המסך, וכן ישנה את כותרת החלון כך שתציג את ה- URL נממש את הדפדפן בעזרת ספרייה למימוש מנשקים גראפיים בשם : (Standard Widget Toolkit) SWT ספריות אחרות למימוש מנשקים גראפיים בג'אווה הן AWT ו- Swing. 12

13 SWT לעומת ספריות גרפיות אחרות java.awt כחלק מהספרייה הסטנדרטית מכילה הפצת Java המספקת שרותי GUI בסיסיים: את החבילה Abstract Windowing Toolkit בעיית המכנה המשותף הנמוך ביותר יעיל, יביל, מכוער מאוחרות של Java התווספה ספריית javax.swing המספקת שרותי בגרסאות GUI מתקדמים: JFC/Swing Look & Feel עשיר, איטי, כבד, מכוער (שנוי במחלוקת) ספריית SWT של IBM מנסה לרקוד על שתי החתונות גם יפה גם אופה המנשק הגרפי של Eclipse מבוסס SWT אינו סטנדרטי (יש להוריד כ zip נפרד) 13

14 מבנה המימוש public class GoogleBrowser { } private Shell shell = null; private Button button = null; private Text text = null; private Browser browser = null; /* call createshell and run event loop */ public static void main(string[] args) {...} /* create the GUI */ private void createshell() {...} /* send query to Google and return the first URL */ private static String search(string q) {...} 14

15 Widgets (אביזרים) השדות,browser,button,text רכיבים כאלה נקראים widgets ו- shell יתייחסו לרכיבי המנשק הגראפי; מעטפת (shell) הוא חלון עצמאי שמערכת ההפעלה מציגה, ושאינו מוכל בתוך חלון אחר; החלון הראשי של תוכנית הוא מעטפת, וגם דיאלוגים (אשף, דיאלוג לבחירת קובץ או גופן, וכדומה) הם מעטפות עצם המעטפת בג'אווה מייצג משאב של מערכת ההפעלה הרכיבים האחרים הם אלמנטים שמוצגים בתוך מעטפת, תפריטים, וכדומה; חלקם פשוטים וחלקם מורכבים מאוד רכיב להצגת (HTML כמו כפתורים, (כמו,Browser לפעמים הם עצמים שממופים לבקרים שמערכת ההפעלה מציגה בעצמה,(controls) ולפעמים הם עצמי ג'אווה טהורים 15

16 הלולאה הראשית public static void main(string[] args) { Display display = Display.getDefault(); GoogleBrowser app = new GoogleBrowser(); app.createshell(); while (!app.shell.isdisposed()) { if (!display.readanddispatch()) display.sleep(); } } display.dispose(); 16

17 יצירת המנשק הגראפי /* create the GUI */ private void createshell() { shell = new Shell(); shell.settext("browser Example"); //layout manager: a grid with 2 unequal columns shell.setlayout(new GridLayout(2, false)); text = new Text(shell, SWT.BORDER); text.setlayoutdata(new GridData(SWT.FILL, //horizontal alignment SWT.CENTER, //vertical alignment true, //grab horizontal space false)); //don't grab vertical space 17

18 פריסת רכיבי המנשק במעטפת מעטפות הם רכיבי מנשק שמיועדים להכיל רכיבי מנשק את הרכיבים המוכלים צריך למקם; רצוי לא למקם אותם באופן אבסולוטי (ערכי x ו- y בקואורדינטות של הרכיב המכיל) מנהלי פריסה mangers) (layout מחשבים את הפריסה על פי הוראות שמצורפות לכל רכיב מוכל פריסה GridLayout הוא מנהל פריסה שממקם רכיבים בתאים של טבלה דו- מימדית; רכיבים יכולים לתפוס תא אחד או יותר רוחב עמודה/שורה נקבע אוטומטית ע"פ הרכיב הגדול ביותר GridData הוא עצם שמייצג הוראות פריסה עבור ;GridLayout כאן ביקשנו מתיחה אופקית של הרכיב עצמו בתוך העמודה ושל העמודה כולה 18

19 בניית רכיבי מנשק בנאי שבונה רכיב מנשק מקבל בדרך כלל שני ארגומנטים: ההורה של רכיב המנשק בהיררכיית ההכלה, והסגנון של רכיב המנשק כאשר בנינו את שדה הטקסט, העברנו לבנאי את הארגומנטים shell (ההורה) ו- SWT.BORDER (סיבית סגנון) למעטפת אין הורה (אבל יכלו להיות לה סיביות סגנון) את תכונות ההורות והסגנון אי אפשר לשנות לאחר שהרכיב נבנה רכיבים שונים משתמשים בסיביות סגנון שונות; למשל, למעטפת יכולה להיות או לא להיות מסגרת עם כפתורי סגירה ומיזעור (המסגרת נקראת,(trim אבל לרכיב פנימי אי אפשר לבחור סגנון שכולל מסגרת כזו 19

20 המשך יצירת המנשק button = new Button(shell, SWT.NONE); button.settext("i'm feeling lucky"); button.setlayoutdata(new GridData(SWT.RIGHT, SWT.CENTER, false, false)); browser = new Browser(shell, SWT.NONE); browser.setlayoutdata(new GridData(SWT.FILL, SWT.FILL, //fill both ways false, true, //row grabs vertical space 2, 1)); //widget spans 2 columns 20

21 מחלקות פנימיות - תזכורת כבר ראינו בקורס מחלקות פנימיות של מחלקות אחרות - מחלקות אשר מוגדרות בתוך התחום ראינו כי ניתן להגדיר מחלקות מקומיות אפילו בתוך שרות של מחלקה אחרת במקרים כאלה, יש למחלקה הפנימית תפקיד מצומצם ומוגבל אותה מחוץ לשרות) מגדירים (אחרת היינו פעמים רבות המחלקה הפנימית היא מחלקה עם מופע אחד בלבד כדי לטפל במקרים כאלה Java מספקת תחביר מיוחד אשר חוסך את הצורך לתת שם למחלקה מחלקות אלו נקראות מחלקות חסרות שם :(anonymous inner classes) הגדרת המחלקה אינה כוללת שם למחלקה ההגדרה מתבצעת תוך כדי יצירת המופע של אותה המחלקה 21

22 מחלקה אנונימית - דוגמא public class Test { public static final double linecomissions = 1.1; public static void main(string[] args) { BankAccount b = new BankAccount(){ public double balance(){ balance -= Test.lineComissions; return super.balance(); } }; } } b.deposite(100); System.out.println(b.balance()); System.out.println(b.balance()); הגדרת מופע של מחלקה פנימית אנונימית שיורשת מ- BankAccount ודורסת את balance() 22

23 מחלקה אנונימית - תחביר : כאשר יורשת מהמחלקה class-name new class-name ( [ argument-list ] ) { class-body } כאשר מממשת המנשק :interface-name new interface-name () { class-body } 23

24 הפרוצדורה שהכפתור מפעיל נוסיף לכפתור הדפדפן שלנו מאזין מחלקה אשר מקשיבה להקלקות על הכפתור קיימות מחלקות ברירת מחדל אשר "מודעות" להקלקות אך לא עושות דבר הנקראות מתאמים (Adapters) כדי להגדיר את הפעולה שיש לבצע נירש (אנונימית) מכזה Adapter ונדרוס את השרות widgetselected button.addselectionlistener( new SelectionAdapter() { public void widgetselected(selectionevent e) { String query = text.gettext(); String url = search(query); shell.settext(url); browser.seturl(url); } }); 24

25 אירועים והטיפול בהם מערכת ההפעלה מודיעה לתוכנית על אירועים: הקשות על המקלדת, הזזת עכבר והקלקה, בחירת אלמנטים, ועוד ההודעה מתקבלת על ידי עצם יחיד (singleton) מהמחלקה,Display שמייצג את מערכת ההפעלה (מע' החלונות) קבלת אירוע מעירה את התוכנית מהשינה ב- sleep כאשר קוראים ל- readanddispatch ה, רכיב צריך להודיע על האירוע, ומודיע לו display- מברר לאיזה הרכיב מפעיל את העצמים מהטיפוס המתאים לסוג האירוע שנרשמו להפעלה על ידי קריאה ל- add*listener 25

26 שלוש גישות לטיפול באירועים בעזרת טיפוסים ספציפיים לסוג האירוע: למשל, KeyListener הוא מנשק שמגדיר שני שירותים, KeyPressed ו- KeyReleased, שכל אחד מהם מקבל את הדיווח על האירוע בעזרת עצם מטיפוס KeyEvent ללא טיפוסים שמתאימים לאירועים ספיציפיים: שמממש שירות בודד, Listener מפעיל עצם מטיפוס האירוע Event והאירוע מדווח בעזרת טיפוס,handleEvent יש ספריות של מנשקים גראפיים, למשל,AWT שמשתמשות בירושה: המחלקה שמייצגת את המנשק שלנו מרחיבה את Frame (מקביל ל- (Shell ודורסת את השירות handleevent ש, Frame- קוראת לו לטיפול באירועים 26

27 דוגמה לשימוש במאזין לא ספציפי button.addlistener( SWT.Selection, //the event we want to handle new Listener() { public void handleevent(event e) { String query = text.gettext(); String url = search(query); shell.settext(url); browser.seturl(url); } }); זהו מקרה פרטי של תבנית העיצוב Observer Design Pattern המאזין (בתפקיד ה (Observer נרשם אצל הכפתור (בתפקיד ה- (Subject 27

28 Adapter לעומת Listener לכפתור הוספנו מאזין ספציפי ממחלקה אנונימית שמרחיבה את SelectionAdapter SelectionAdapter היא מחלקה מופשטת שמממשת את המנשק SelectionListener שמגדיר שני שירותים שני השירותים אינם עושים דבר ב- SelectionAdapter, הרחבה שלה מאפשרת להגדיר רק את השירות שרוצים, על פי סוג האירוע הספיציפי שרוצים לטפל בו; ארועים אחרים יטופלו על ידי שירות שלא עושה כלום אם המחלקה האנונימית הייתה מממשת ישירות את,SelectionListener היא הייתה צריכה להגדיר את שני השירותים, כאשר אחד מהם מוגדר ריק; מסורבל 28

29 כמעט סיימנו נותרו רק שתי שורות שלא ראינו ב- createshell : private void createshell() {... button.addselectionlistener(...); //causes the layout manager to lay out the shell shell.pack(); } //opens the shell on the screen shell.open(); והפרוצדורה שמחפשת במנוע החיפוש Google ומחזירה את ה- URL של התשובה הראשונה 29

30 חיפוש ב- Google private static String search(string q) { GoogleSearch s = new GoogleSearch(); s.setkey("my Secret Key"); s.setproxyhost("proxy.tau.ac.il"); s.setproxyport(8080); s.setquerystring(q); s.setstartresult(0); } GoogleSearchResult r = null; try { r = s.dosearch(); } catch (GoogleSearchFault e) { e.printstacktrace(); } return (r.getresultelements())[0].geturl(); 30

31 חיפוש ב- Google private static String search(string q) throws IOException, JSONException { URL url = new URL(" + q.replaceall(" ", "%20")); URLConnection connection = url.openconnection(); StringBuilder builder = new StringBuilder(); Scanner s = new Scanner(connection.getInputStream()); while (s.hasnextline()) { builder.append(s.nextline()); } JSONObject json = new JSONObject(builder.toString()).getJSONObject("responseData"); JSONArray jsonarr = json.getjsonarray("results"); json = (JSONObject) jsonarr.get(0); } return (String) json.get("url"); 31

32 והתוצאה 32

33 סיכום ביניים ראינו את המחלקות שמייצגות רכיבי מנשק גראפי ראינו איך נרשמים להגיב על אירוע כגון לחיצה על כפתור ראינו כיצד מגדירים את הפריסה של הרכיבים על המסך האם המנשק הגראפי של התוכנית מוצלח? לא, הכפתור מיותר, ובעצם, אפשר היה להשתמש בשדה הטקסט גם עבור חיפוש וגם עבור הקלדת URLבאופן ישיר המחלקות שמייצגות את רכיבי המנשק מורכבות מאוד: צריך ספר או מדריך מקוון צריך להתאמן (קישורים בסוף המצגת) רצוי להשתמש במנגנון עריכה ייעודי למנשקים גראפיים Builder) (GUI 33

34 שחרור משאבים חלק מהעצמים שמרכיבים את המנשק הגראפי מייצגים למעשה משאבים של מערכת ההפעלה, כמו חלונות, כפתורים, צבעים, גופנים, ותמונות כאשר עצם שמייצג משאב נוצר, הוא יוצר את המשאב, ואם לא נשחרר את המשאבים הללו, נדלדל את משאבי מערכת ההפעלה למשל, צבעים בתצוגה של 8 או 16 סיביות לכל פיקסל ב- SWT, אם יצרנו עצם שמייצג משאב של מערכת ההפעלה, צריך לקרוא לשירות dispose כאשר אין בו צורך יותר dispose משחרר גם את כל הרכיבים המוכלים על מנת לחסוך במשאבים, יש הפרדה בין מחלקות שמייצגות משאבים (למשל (Font וכאלה שלא (FontData) 34

35 Look and Feel מערכות הפעלה עם מנשק גראפי מספקות שירותי מנשק (למשל, Windows ו- MacOS ; אבל לא לינוקס ויוניקס) שימוש במנשקים של מערכת ההפעלה תורם למראה אחיד ולקונסיסטנטיות עם ציפיות המשתמש ועם קביעת התצורה שלו בחלונות) כמו יש דרך לשלוט על מראה הרכיבים, (אם ספריות מנשקים משתמשות באחת משתי דרכים על מנת להשיג אחידות עם המנשקים של מערכת ההפעלה שימוש ישיר ברכיבי מנשק של מערכת ההפעלה; SWT,AWT אמולציה של התנהגות מערכת ההפעלה אבל כמעט ללא שימוש ברכיבי המנשק שלה (פרט לחלונות); למשל ;Qt,JFace,Swing זה מאפשר להחליף מראה, pluggable look & feel 35

36 יתרונות וחסרונות של Pluggable L&F מאפשר להגדיר מראות חדשים לרכיבים; שימושי עבור משחקים, עבור תוכניות שרוצים שלא יראו כמו תוכנות מחשב (בעיקר נגני מוסיקה וסרטים), ובשביל מיתוג (branding) מאפשר לבנות יישומים עם מראה אחיד על כל פלטפורמה; שימושי ליישומים ארגוניים קשה לממש look & feel חדש סכנה של מראה מיושן, אם מערכת ההפעלה החליפה את המראה של הרכיבים אבל האמולציה לא עודכנה (למשל מראה של חלונות 2000 על מערכת חלונות (XP אי התאמה לקביעת התצורה של המשתמשת (אם היא בחרה למשל להשתמש במראה של חלונות 2000 על חלונות (XP 36

37 תחושת המנשק בפלטפורמות שונות בחלונות משתמשים בצירופים Control-V,Control-C עבור גזור והדבק במחשבי מקינטוש יש מקש,Control אבל יש גם מקש,Command וגזור והדבק מופעלי על ידי,Command-V,Command-C ולא על ידי צירופי Control בתוכניות רבות בלינוקס מספיק לסמן קטע בשביל להעתיק אותו, והכפתור האמצעי בעכבר משמש להדבקה תוכנית שמפעילה גזור והדבק ע"י Control-C/V תחוש לא טבעית במקינטוש ב- SWT מוגדרים המקשים Control וכדומה, אבל גם "מקשים מוכללים",MOD2,MOD1 ו- MOD3, כאשר MOD1 ממופה ל- Control בחלונות אבל ל- Command במקינטוש בעיה דומה: הפעלת תפריט הקשר; הקלקה ימנית בחלונות, אבל במקינטוש יש לעכבר רק לחצן אחד; מוגדר אירוע מיוחד 37

38 ויורשיו רשימה חלקית Widget מחלקת על מופשטת כפתור המייצג: כפתור לחיץ, כפתור רדיו,,checkbox וכו' תווית לטקסט או תמונה? Shell נמצאת המחלקה איפה 38

39 פריסה נכונה פריסה נכונה של רכיבים היא אחד האתגרים המשמעותיים בפיתוח מנשק גראפי התוכנית צריכה להבטיח עד כמה שאפשר שהמנשק יראה תמיד "נכון", למרות מסכים בגדלים שונים וברזולוציות שונות, כאשר רכיבים כגון טבלאות ושדות טקסט מציגים מעט מידע או הרבה, וכאשר המשתמשת מקטינה או מגדילה את החלון מיקום רכיבים על המסך בשיעורים מוחלטים אינו רגיש למגוון האפשרויות מיכלי (containers, composites) GUI מבצעים האצלה של אסטרטגיית הסידור למחלקה יעודית לכך אלגוריתמי פריסה מתוחכמים עבור מיכלים, כגון,GridLayout מסייעים, אבל צריך להבין כיצד מתבצעים חישובי הפריסה וכיצד להשפיע עליהם 39

40 דוגמא שיוך מנהל פריסה למיכל שיוך מנהל הפריסה (FillLayout) לחלון shell.setlayout(new FillLayout()); Label lbl = new Label(shell, SWT.CENTER); lbl.settext("hello world!"); shell.pack(); shell.open(); הגדרת הורה במובן של מיכל מכיל הצג את החלון על המסך התאם את גודל הרכיבים לפי אלגוריתם הסידור (אולי התווספו כמה רכיבים) 40

41 חישובי פריסה חישובי פריסה מתבצעים ברקורסיה על עץ ההכלה, אבל בשני כיוונים: מלמטה למעלה (מרכיבים מוכלים למיכלים שלהם עד מעטפות חיצוניות) ומלמעלה למטה על עונים ברקורסיה) postorder) מלמטה למעלה חישובים השאלה "באיזה גודל רכיב או מיכל רוצים להיות?" חישובים מלמעלה למטה (preorder) עונים על השאלה "בהינתן גודל למיכל, היכן ובאיזה גודל למקם כל רכיב?" 41

42 פריסה מלמטה למעלה כל רכיב צריך לדעת באיזה גודל הוא רוצה להיות (שם השירות ב- (preferred Size בספריות אחרות,computeSize הוא SWT ש ספריות שבהן כל רכיב צריך לדעת מה גודלו המינימאלי ) י אבל לא ב- SWT,(minimumSize רכיב פשוט מחשב את גודלו הרצוי על פי תוכנו (למשל על פי גודל התווית או הצלמית שהוא מציג) ועל פי החוקים הויזואליים של המנשק (רוחב המסגרת סביב התווית, למשל) מיכל מחשב את גודלו הרצוי על ידי חישוב רקורסיבי של הגודל הרצוי של הרכיבים המוכלים בו, והרצת אלגוריתם הפריסה של המיכל על הגדלים הללו אבל זה מסתבך 42

43 שני סיבוכים יש רכיבים שגובהם תלוי ברוחבם או להיפך; למשל תווית או סרגל כלים שניתן להציג בשורה אחת ארוכה, או לפרוס על פני מספר שורות קצרות לכן, computesize מאפשר לשאול את הרכיב מה גובהו הרצוי רק מה הגודל הרצוי ללא שום אילוץ ולא רוחב מסוים ולהיפך, בהינתן יש רכיבים שעלולים לרצות גודל עצום, כמו עורכי טקסט, טבלאות, ועצים (ובעצם כל רכיב שעשוי לקבל פס גלילה) הגודל הרצוי שהם מדווחים עליו אינו מועיל; צריך לקבוע את גודלם על פי גודל המסך, או על פי מספר שורות ו/או מספר תווים רצוי 43

44 חישובים מלמעלה למטה השירות layout פורס את הרכיבים המוכלים במיכל לאחר שגודל המיכל נקבע (על ידי setsize או (setbounds המיכל פורס בעזרת אלגוריתם הפריסה שנקבע לו לפעמים, הפריסה לא תלויה בגודל הרצוי של הרכיבים; למשל, אלגוריתם מחלקת את המיכל באופן שווה בין הרכיבים המוכלים, FillLayout הפריסה לאורך או לרוחב בדרך כלל, הפריסה כן תלויה בגודל הרצוי של הרכיבים; ב- GridLayout, למשל, הרוחב של עמודות ושורות לא נמתחות נקבע על פי הרכיב עם הגודל הרצוי המקסימאלי בהן, ושאר העמודות והשורות נמתחות על מנת למלא את שאר המיכל רכיבים זוכרים את גודלם הרצוי כדי לא לחשבו שוב ושוב 44

45 אריזה הדוקה השירות pack מחשב את גודלו הרצוי של רכיב או מיכל וקובע את גודלו לגודל זה; המיכל נארז באופן הדוק שימושי בעיקר לדיאלוגים לא גדולים סכנת חריגה: אם המיכל מכיל רכיב עם גודל רצוי ענק טקסט ארוכה), החלון עלול לחרוג מהמסך (טבלה ארוכה, תווית עבור חלונות (כולל דיאלוגים), עדיף לחשב את הגודל הרצוי ולקבוע את גודל המעטפת בהתאם רק אם אינו חורג מהמסך, אחרת להגביל את האורך ו/או הרוחב סכנת איטיות: אם המיכל מכיל המון רכיבים, חישוב גודלו הרצוי יהיה איטי (רוחב עמודה בטבלה ארוכה); כדאי להעריך את הגודל הרצוי בדרך אחרת 45

46 אלגוריתמי אריזה רכיבים בשורה/עמודה, גודל אחיד לכולם :FillLayout רכיבים בשורה/עמודה, עם אפשרות שבירה למספר ועם יכולת לקבוע רוחב/גובה לרכיבים :RowLayout שורות/עמודות, :GridLayout כפי שראינו, סריג שניתן לקבוע בו איזה שורות ועמודות רוחב/גובה לרכיבים ולקבוע ואיזה לא, ימתחו :FormLayout מיקום בעזרת אילוצים על ארבעת הקצוות (או חלקם) של הרכיבים; אילוצים יחסיים או אבסולוטיים ביחס למיכל (למשל, באמצע רוחבו ועוד 4 פיקסלים) או אילוצים אבסולוטיים ביחס לנקודת קצה של רכיב אחר (דבוק לרכיב אחר או דבוק עם הפרדה של מספר פיקסלים נתון) :StackLayout ערימה של מיכלים בגודל זהה אבל רק העליון נראה; שימושי להחלפה של תוכן מיכל או חלון 46

47 הרכבה של Composites כדי לבנות בצורה מודולרית מסכים מורכבים (ולפתח כל איזור בנפרד) רצוי להשתמש במחלקה Composite (מקבילה למחלקה (Swing/AWT ב- J/Panel בדוגמא שלפנינו ה Shell מכיל 3 Composites שונים, כל אחד מהם מנוהל ע"י מנהל פריסה משלו 47

48 shell.setlayout(new FormLayout()); //Fill Layout panel Composite fillcomp = new Composite(shell, SWT.BORDER); fillcomp.setlayout(new FillLayout(SWT.VERTICAL)); Label label0 = new Label(fillComp, SWT.NONE); label0.settext("instructions:");... //Row Layout panel Composite rowcomp = new Composite(shell, SWT.NONE); RowLayout rowlayout = new RowLayout(); rowlayout.pack = false; rowcomp.setlayout(rowlayout); Button b1 = new Button(rowComp, SWT.PUSH); b1.settext("address");... //Grid Layout panel Composite gridcomp = new Composite(shell, SWT.NONE); GridLayout gridlayout = new GridLayout(); gridlayout.numcolumns = 2; gridcomp.setlayout(gridlayout); Label label11 = new Label(gridComp, SWT.NONE); label11.settext("name:"); 48

49 משאבים יחודיים כמה משאבים שימושיים היורשים מ: org.eclipse.swt.graphics.resource צבעים (Color) (Font) גופנים סמנים (Cursor) תמונות (Image) יכולים להיות משותפים לכמה רכיבים אינם משתחררים אוטומטית ע"י לשחרר אותם מפורשות dispose ולכן יש 49

50 דוגמא צבעים וגופנים Font times16bi = new Font(null, "Times New Roman", 16, SWT.BOLD SWT.ITALIC); Color deeppurple = new Color(null, 120, 45, 134); Label lbl = new Label(shell, SWT.CENTER); lbl.setfont(times16bi); lbl.setbackground(deeppurple); lbl.setforeground( display.getsystemcolor(swt.color_yellow)); lbl.settext("colors and Fonts");... times16bi.dispose(); deeppurple.dispose(); display.dispose(); 50

51 תמונות תמונות הן עצמים גדולים מאוד (יחסית לרכיבי לייצוג התמונה במערכת ההפעלה GUI אחרים), המקושרים יש לשתף בין תמונות ככל הניתן (לא ליצור שני עצמים לייצוג אותה התמונה) ImageDescription היא עצם ב Java המתאר תמונה המחלקה כמו איזו מחלקה אחרת שראינו? אין צורך לבצע dispose על ImageDescription השרות creatreimage מייצר תמונה ע"פ ImageDescription באחריות המתכנתת לבצע dispose על התמונה הנוצרת 51

52 דוגמא ImageDescriptor smileydesc = ImageDescriptor.createFromFile(ImageDemo.class, "Smiley.gif"); Image smiley = smileydesc.createimage(); for (int i = 0; i < 10; i++) { Label lbl = new Label(shell, SWT.CENTER); lbl.setimage(smiley); } createfromfile מקבלת שם קובץ... יחסי למיקום המחלקה שהועברה smiley.dispose(); display.dispose(); 52

53 שימוש בתפריטים בעזרת המחלקות Menu ו- MenuItem ניתן בקלות לקונן תפריטים ע"י הוספת תפריט לתפריט טיפול בארועים בעזרת הוספת MenuListener SelectionListeners או ניתן להשתמש ב- & כדי לציין את מקש קיצור הדרך לתפריט (יסומן בתפריט כ- _) יש להגדיר את מקש קיצור הדרך מפורשות ע"י setaccelerator 53

54 Menu top = new Menu(shell, SWT.BAR); MenuItem file = new MenuItem(top, SWT.CASCADE); file.settext("&file"); Menu filemenu = new Menu(shell, SWT.DROP_DOWN); file.setmenu(filemenu); MenuItem newitem = new MenuItem(fileMenu, SWT.CASCADE); newitem.settext("&new"); Menu newmenu = new Menu(shell, SWT.DROP_DOWN); newitem.setmenu(newmenu); MenuItem new_file = new MenuItem(newMenu, SWT.NULL); new_file.settext("f&ile\tctrl+n"); new_file.setaccelerator(swt.ctrl + 'N'); דוגמא MenuItem new_project = new MenuItem(newMenu, SWT.NULL); new_project.settext("&project\talt+p"); new_project.setaccelerator(swt.alt + 'P'); MenuItem open = new MenuItem(fileMenu, SWT.NULL); open.settext("&open...\tctrl+o"); open.setaccelerator(swt.ctrl + 'O'); MenuItem close = new MenuItem(fileMenu, SWT.NULL); close.settext("&close\tctrl+f4"); close.setaccelerator(swt.ctrl + SWT.F4); shell.setmenubar(top); 54

55 עשה זאת בעצמך ניתן לצייר על רכיבי GUI (להבדיל מלהוסיף רכיבים מוכנים) כדי שהציור ישמור על עיקביותו גם לאחר ארועי חשיפה (שינוי גודל החלון, הסתרת/מזעור החלון ע"י חלונות אחרים) יש לדאוג מחדש לאחר כל ארוע כזה לציור לשם כך נכתוב את פונקצית הציור כשגרת הטיפול בארועי ציור השגרה מקבלת כארגומנט ארוע ציור PaintEvent אשר ניתן לחלץ ממנו הפנייה להקשר הגרפי (GC Graphics Context) 55

56 עשה זאת בעצמך נצייר על GC ע"י שימוש בשרות drawxxx הכולל את (רשימה חלקית): void drawarc(int x, int y, int width, int height, int startangle, int arcangle) void drawfocus(int x, int y, int width, int height) void drawimage(image image, int x, int y) void drawline(int x1, int y1, int x2, int y2) void drawoval(int x, int y, int width, int height) void drawpath(path path) void drawpoint(int x, int y) void drawpolygon(int[] pointarray) void drawrectangle(int x, int y, int width, int height) void drawroundrectangle(int x, int y, int width, int height, int arcwidth, int archeight) void drawstring(string string, int x, int y) void drawtext(string string, int x, int y) 56

57 "צייר לי עיגול" final Display display = new Display(); final Shell shell = new Shell(display); shell.addpaintlistener(new PaintListener() { }); public void paintcontrol(paintevent event) { } Rectangle rect = shell.getclientarea(); event.gc.drawoval(0, 0, rect.width - 1, rect.height - 1); shell.setbounds(10, 10, 200, 200); shell.open(); 57

58 2 חלופות איך נתכנן משחק שח גרפי? עשה זאת בעצמך: ציור של משבצות שחור-לבן לכידה של ארועי לחיצה על העכבר שימוש ב :widgets בניית סריג של כפתורים ריבועיים בצבעי שחור ולבן לסרוגין לכידה של ארועי בחירת כפתור מה היתרונות והחסרונות של כל אחת מהגישות? 58

59 הפרדה בין מודל והצגה עקרון מרכזי בבניין יישומים מבוססי גרפיקה הוא ההפרדה בין המודל וההצגה separation) (model/view המודל (הנתונים והלוגיקה של התוכנית) אמור להיות אדיש לשינויים בהצגה (ואולי לאפשר ריבוי הצגות במקביל) 59

60 JFace Viewers החבילה JFace מציעה מגוון מחלקות המציעות שרותי GUI מתקדמים הכתובים מעל (בעזרת) הספריה SWT אחת המשפחות בחבילה מכילה הצגות למבני נתונים שימושיים כגון: ListViewer, CheckboxTableViewer, CheckboxTreeViewer, TableTreeViewer, TableViewer, TreeViewer למשל, אם ברצוננו להציג למשתמש רשימה של ספרים נרצה לקשור בין רשימת הספרים (עצמים מטיפוס (Book ובין רכיב הרשימה הויזואלית לצורך כך יש להגדיר לרשימת הספרים: LabelProvider ו- (Swing ( Rendererבספרית StructuredContentProvider 60

61 JFace Dialogs בחבילה JFace ניתן גם למצוא מגוון תיבות דו-שיח לתקשורת עם המשתמש: MessageDialog.openWarning(shell, "Title", "Warning message"); 61

62 JFace Dialogs String[] buttontext = new String[] { "Button1", "Button2", "Button3" }; MessageDialog messagebox; = new MessageDialog(shell, "Title", null, "Message", MessageDialog.ERROR, buttontext, 1); messagebox.open(); ניתן להגדיר מספר סוגי תיבות דו-שיח: MessageDialog.NONE, MessageDialog.ERROR, MessageDialog.INFORMATION, MessageDialog.QUESTION, MessageDialog.WARNING messagebox.getreturncode(); קריאת בחירת המשתמש ע"י: 62

63 JFace Dialogs InputDialog inputbox = new InputDialog(shell, "Title", "Message", "Initial Value", null); inputbox.open(); inputbox.getreturncode(); inputbox.getvalue(); קריאת קלט משתמש ע"י: 63

64 JFace Dialogs ColorDialog d = new ColorDialog(shell); RGB selection = d.open(); FileDialog dialog = new FileDialog (shell, SWT.OPEN); dialog.settext ("Open an image file or cancel"); String string = dialog.open (); 64

65 סיכום מנשקים גרפיים דע/י את מקומך שלושה מנגנונים כמעט אורתוגונאליים: ירושה, הכלה, אירועים פגמים במנשק גראפי נובעים במקרים רבים או מפריסה לא נכונה של רכיבים במיכל, או מחוסר תגובה או תגובה לא מספיקה לאירועים לא קשה, אבל צריך להתאמן בתכנות מנשקים גראפיים ספר,,GUI Builder ודוגמאות קטנות מסייעים מאוד ממשקים מורכבים בנויים לפעמים תוך שימוש בעצמי תיווך בין רכיבי המנשק ובין החלק הפונקציונאלי של התוכנית (המודל); למשל, jface מעל ;SWT קשה יותר ללמוד להשתמש בעצמי התיווך, אבל הם מקטינים את כמות הקוד שצריך לפתח ומשפרים את הקונסיסטנטיות של המנשק 65

66 מקורות מקוונים באתר :Eclipse מקטעי קוד: :eclipse דוגמאות לצפייה בתוך באתר אוניברסיטת מניטובה (קנדה): 66

Slide 1

Slide 1 פיתוח מ ע רכו ת תוכנה MVC אוהד ברזילי ohadbr@mta.ac.il המכל לה האקדמית תל אביב יפו MVC Model View Controller Design Pattern (MVC) רעיון ההפרדה בין מודל לתצוגה אינו ייחודי רק ל GUI לדוגמא: מה תדפיס השורה:

קרא עוד

תוכנה 1 תרגול מספר 12: GUI כתיבת מחלקות גנריות בית הספר למדעי המחשב אוניברסיטת תל אביב 1

תוכנה 1 תרגול מספר 12: GUI כתיבת מחלקות גנריות בית הספר למדעי המחשב אוניברסיטת תל אביב 1 תוכנה 1 תרגול מספר 12: GUI כתיבת מחלקות גנריות בית הספר למדעי המחשב אוניברסיטת תל אביב 1 2 SWT בנויה על העיקרון של publish/subscribe אלמנטים בסיסיים )Widgets( מייצרים מאזינים )Listener( אירועים )Events(

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java אלכסיי זגלסקי ויעל אמסטרדמר 1 בירוקרטיה אלכסיי זגלסקי שעת קבלה: שני 13:00-14:00, בתיאום מראש משרד: בניין הנדסת תוכנה, חדר 209 יעל אמסטרדמר שעת קבלה: חמישי 15:00-16:00,

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java 1 מנהלות אתר הקורס: http://courses.cs.tau.ac.il/software1/1516b/ מתרגלים: ברית יונגמן )שעת קבלה: שלישי ב- 8:00 בתיאום מראש( לנה דנקין )שעת קבלה: שלישי ב- 17:00,

קרא עוד

פרויקט שורשים דמות

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

קרא עוד

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

מבוא למדעי המחשב מבוא למדעי המחשב מחרוזות, חתימה של פונקציה ומעטפות תוכן עניינים טיפוסים מורכבים טיפוסים מורכבים ערך שם טיפוס 12 m int undef. x boolean true y boolean arr int[] כאלה שעשויים להכיל יותר מערך פרימיטיבי אחד

קרא עוד

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

WinZIP תוכנה לדחיסת קבצים ספטמבר 2007 WinZIP תוכנה לדחיסת קבצים ספטמבר 2007 תשס"ח 2007. כל הזכויות שמורות לאוניברסיטה הפתוחה. בית ההוצאה לאור של האוניברסיטה הפתוחה, רח' רבוצקי 108 ת, "ד 808, רעננה 43107. The Open University of Israel, 108

קרא עוד

סרגל כלים ל-Outlook או לExplorer- מדריך למשתמש

סרגל כלים  ל-Outlook  או לExplorer- מדריך למשתמש סרגל כלים ל- Outlook או ל Explorer- מדריך למשתמש 1 כני ס ה ו י צ יאה מהמערכת לכניסה יש ללחוץ על צלמית "כניסה למע רכת" ליציאה יש ללחוץ פעם נוספת לק בלת הצ למית סרגל כלים לדפד פ ן מסוג Explorer או Firefox

קרא עוד

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

ייבוא וייצוא של קבצי אקסל וטקסט ייבוא וייצוא של קבצי אקסל וטקסט (Importing & Exporting MS Excel Files and Text) ייבוא (Import) הפיכת קובץ טקסט, Excel מבסיס נתונים אחר. או סוגים אחרים, לטבלת,Access או העתקת טבלת Access בתחילת התהליך יש

קרא עוד

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

מבוא לתכנות ב- JAVA  תרגול 7 מבוא לתכנות ב- JAVA תרגול 8 תזכורת - מבנה של פונקציה רקורסיבית.2 פונקציה רקורסיבית מורכבת משני חלקים עיקריים 1. תנאי עצירה: מקרה/מקרים פשוטים בהם התוצאה לא מצריכה קריאה רקורסיבית לחישוב צעד רקורסיבי: קריאה

קרא עוד

Slide 1

Slide 1 1 אובייקטים היום בתרגול: 2.)objects מחלקות )classes( ואובייקטים )מופעים, )fields( שדות המחלקה שיטות הכמסה )methods של מחלקה. ( class מחלקה - עד עכשיו השתמשנו בעיקר בטיפוסים מובנים ופונקציות המבצעות חישובים

קרא עוד

Microsoft Word - tips and tricks - wave 5.doc

Microsoft Word - tips and tricks - wave 5.doc - טיפים וטריקים Samsung S8500 Wave שקע אוזניות רמקול שקע כניסת USB חיישן תאורה מצלמה קדמית מקש נעילה לחצני הגברת / הנמכת השמע מקש המצלמה מקש SEND מקש,END כיבוי / הדלקה מקש התפריט 1 תפעול כללי < הקש את

קרא עוד

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

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

קרא עוד

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

מהוא לתכנות ב- JAVA מעבדה 3 מבוא לתכנות ב- JAVA מעבדה 3 נושאי התרגול לולאות ניפוי שגיאות לולאות - הקדמה כיצד הייתם כותבים תוכנית שתדפיס את המספרים השלמים בין 1 ל- 100 בעזרת הכלים שלמדתם עד עתה? חייבת להיות דרך אחרת מאשר לכתוב 100

קרא עוד

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

שאלהIgal : מערכים דו מימדיים רקורסיה: אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג מנ' אב תשע"ז 15.08.17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' ב' שנה תשע"ז 3 שעות

קרא עוד

Slide 1

Slide 1 מבוא למדעי המחשב משפחות של מחלקות ומחלקות מופשטות תזכורת בשיעור הקודם ראינו מחלקה של Student והרחבה שלה למחלקה של Milgae למעשה Student יכול לעמוד בראש היררכיה שלמה של מחלקות שונות של סטודנטים למשל, בנוסף

קרא עוד

מדריך להתחלה מהירה Microsoft Project 2013 נראה שונה מגירסאות קודמות, ולכן יצרנו מדריך זה כדי לעזור לך ללמוד להכיר אותו. סרגל הכלים לגישה מהירה התאם אי

מדריך להתחלה מהירה Microsoft Project 2013 נראה שונה מגירסאות קודמות, ולכן יצרנו מדריך זה כדי לעזור לך ללמוד להכיר אותו. סרגל הכלים לגישה מהירה התאם אי מדריך להתחלה מהירה Microsoft Project 2013 נראה שונה מגירסאות קודמות, ולכן יצרנו מדריך זה כדי לעזור לך ללמוד להכיר אותו. סרגל הכלים לגישה מהירה התאם אישית את האזור הזה כדי שהפקודות המועדפות עליך יהיו תמיד

קרא עוד

Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office

Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office 365 ProPlus בחינם. ניתן להוריד ולהתקין את הגרסאות הבאות:

קרא עוד

תרגול 1

תרגול 1 מבוא למדעי המחשב 2019 תרגול 5 מחרוזות, חתימות ורקורסיה מחרוזות רצף של תווים רקורסיה קריאה של מתודה לעצמה באופן ישיר או עקיף ראינו בהרצאה מחרוזות: תווים, חתימות: העמסה- String,הצהרה, overloading אתחול רקורסיה:

קרא עוד

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

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

קרא עוד

HTML - Hipper Text Makeup Language

HTML - Hipper Text Makeup Language תכנות בסביבת האינטרנט 1 תיבת טקסט טופס הטופס הוא הדרך של בעלי האתר לקבל משוב מהגולשים, מאפשר לגולש להתחבר לאתר כחבר, מאפשר לבצע רכישות באתרי קניות וכד'. כשהגולש ממלא את הטופס, מועבר תוכן הטופס לדף מיוחד

קרא עוד

מצגת של PowerPoint

מצגת של PowerPoint מהי סביבת איקס לימוד? סביבת איקס לימוד היא סביבה גמישה לתרגול היכולת לזכור ולהיזכר במושגים ועובדות מתחומי תוכן שונים על ידי התאמה. הסביבה מבוססת על המשחק 'איקס עיגול' והתוכן אותו מתרגלים יכול מסוג טקסט

קרא עוד

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

מבוא למדעי המחשב מבוא למדעי המחשב תכנות מונחה אובייקטים תוכן עניינים טיפוסי נתונים מורכבים המחלקה String תזכורת לשימוש שעשינו במחלקה String str = new String( Hello ); s.o.p(str.tostring()); s.o.p(str.charat(4)); s.o.p(str.equals(

קרא עוד

PowerPoint Presentation

PowerPoint Presentation 1 תוכנה 1 תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java 1 2 מנהלות I מתרגלים: יעל אמסטרדמר )שעת קבלה: חמישי ב- 12, בתיאום מראש( דביר נתנאלי )שעת קבלה: רביעי ב- 17, בתיאום מראש( http://courses.cs.tau.ac.il/software1/1415a

קרא עוד

Microsoft Word - Ass1Bgu2019b_java docx

Microsoft Word - Ass1Bgu2019b_java docx ת ר ג י ל 1 ב ק ו ר ס מ ב ו א לתכנות 202.1.9031 JAVA סמסטר ב, ת נ א י ם ו ל ו ל א ו ת תאריך אחרון להגשה בציון מלא : 02.04.19 עד שעה : 23:55, כ ל יום איחור ל א מ א ו ש ר א ו ח ל ק ממנו מודריד 10 נקודות

קרא עוד

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

מבוא למדעי המחשב מבוא למדעי המחשב המחלקה Object תוכן עניינים Object הורשה והמחלקה ערך שם טיפוס DynamicIntArray da data size incrementsize DynamicArray תזכורת - Object[] data; int size; int incrementsize; DynamicArray זה

קרא עוד

Slide 1

Slide 1 בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1- תרגול הורשה מחלקות אבסטרקטיות חריגים 2 ירושה ממחלקות קיימות ראינו בהרצאה שתי דרכים לשימוש חוזר בקוד של מחלקה קיימת: הכלה + האצלה הכלה )aggregation( במחלקה

קרא עוד

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

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

קרא עוד

Microsoft Word - I900-Tips_and_Tricks

Microsoft Word - I900-Tips_and_Tricks טיפים וטריקים Samsung I900 Omnia מקש כיבוי / הדלקה שקע ריסט מצלמה קדמית מקש מיוחד מקש הגברת / הנמכת השמע שקע הטענה / אוזניות מקש סיבוב מסך מקש ניתוק שיחה מקש מענה שיחה מקש ניווט 1 תפעול כללי מעבר בין פרופילים

קרא עוד

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

מבוא לתכנות ב- JAVA  תרגול 11 מבוא לתכנות ב- JAVA תרגול 11 רשימה מקושרת אוסף סדור של איברים מאותו טיפוס. קודקוד ברשימה )Node( מכיל את המידע + הצבעה לקודקוד הבא ברשימה data next first רשימה :)List( מיוצגת ע"י מצביע לאיבר הראשון ברשימה

קרא עוד

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

שאלהIgal : מערכים דו מימדיים רקורסיה: אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג חשון תשע"ח 12/11/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד קיץ סמ' שנה תשע"ז 3 שעות משך

קרא עוד

Microsoft PowerPoint - lec10.ppt

Microsoft PowerPoint - lec10.ppt תכנו ת מ ונחה ע צמ י ם בשפת ++C אוהד ברזילי אוניברסיטת תל אביב ירו ש ה מרו בה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand

קרא עוד

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

מבוא למדעי המחשב מבוא למדעי המחשב שימוש במחסנית - מחשבון תוכן עניינים prefix כתיבת ביטויים ב-,infix ו- postfix postfix prefix,infix ביטויים ב- כתיבת ו- infix נוסח כתיבה ב- (operator אנו רגילים לכתוב ביטויים חשבוניים כדוגמת

קרא עוד

Slide 1

Slide 1 מבוא לתכנות ב- JAVA תרגול 5 מה בתרגול מחרוזות מערכים דו ממדיים מחרוזות (Strings) מחרוזת היא רצף של תווים. immutable על מנת ליצור ולטפל במחרוזות נשתמש במחלקה String למחלקה String מתודות שונות שמאפשרות פעולות

קרא עוד

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

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

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תכנות מתקדם בשפת Java אוניברסיטת תל אביב 1 תוכנה 1 תרגול 3: עבודה עם מחרוזות )Strings( מתודות )Methods( 1 תכנות מתקדם בשפת Java אוניברסיטת תל אביב 2 מחרוזות )STRINGS( 3 מחרוזות String s = Hello ; מחרוזות

קרא עוד

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

מדריך למרצים ומתרגלים 1 מדריך למרצים ומתרגלים 1 תוכן עניינים מדריך למרצים ומתרגלים...1 קבלת סיסמה לתחנת מידע למרצה...3 הוספת חומרי למידה...6 הוספת מורשה גישה לאתר הוספת מטלה קורס...9 לאתר הקורס...11 בחירת בודקים למטלה...17 מערכת

קרא עוד

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

תוכן העניינים הוצאת חושבים קדימה הילה קדמן חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527 kadman11@gmail.com

קרא עוד

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

תוכן העניינים הוצאת חושבים קדימה הילה קדמן # חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527

קרא עוד

PowerPoint Presentation

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

קרא עוד

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

מבחן בפיתוח מערכות תוכנה בשפת Java ( ) עמוד 1 מתוך 10 )0368-3056( מבחן בפיתוח מערכות תוכנה בשפת Java בית הספר למדעי המחשב אוניברסיטת תל אביב סמסטר ב' תשס"ח, מועד ב' תאריך הבחינה: 24.09.2008 מרצה: אוהד ברזילי חומר עזר מותר בשימוש: אין משך הבחינה:

קרא עוד

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

תוכנה חופשית מאחורי הקלעים? על סדר היום: קצת על עצמי מה זאת תוכנה חופשית? ההיסטוריה של תוכנה חופשית כיצד תוכנה חופשית משתלבת בשוק התוכנה היתרונות של ת תוכנה חופשית מאחורי הקלעים? על סדר היום: קצת על עצמי מה זאת תוכנה חופשית? ההיסטוריה של תוכנה חופשית כיצד תוכנה חופשית משתלבת בשוק התוכנה היתרונות של תוכנה חופשית. דוגמאות מהשטח 1 ליאור קפלן 30/11/05 קצת

קרא עוד

PowerPoint Presentation

PowerPoint Presentation מבוא למדעי המחשב תירגול 6: כתובות ומצביעים 1 תוכנייה מצביעים מצביעים ומערכים, אריתמטיקה של מצביעים 2 3 מצביעים תזכורת- כתובות זיכרון הזיכרון כתובת התא #1000 #1004 #1008 ערך השמור בתא תא 10-4 לא מאותחל

קרא עוד

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

סדנת תכנות ב   C/C++ פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: 15.2.2017 משך הבחינה: שעתיים שם המרצה: ד"ר אופיר פלא חומר עזר: פתוח שימוש במחשבון: לא הוראות כלליות:

קרא עוד

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

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

קרא עוד

מס' סידורי: ת.ז.: עמוד 1 מתוך 15 פתרון בחינה בתוכנה 1 סמסטר ב', מועד ב',תשע"א 140/900/11 ליאור וולף, מתי שמרת, הדס צור, אסף זריצקי הוראות (נא לקרוא!)

מס' סידורי: ת.ז.: עמוד 1 מתוך 15 פתרון בחינה בתוכנה 1 סמסטר ב', מועד ב',תשעא 140/900/11 ליאור וולף, מתי שמרת, הדס צור, אסף זריצקי הוראות (נא לקרוא!) עמוד 1 מתוך 15 פתרון בחינה בתוכנה 1 סמסטר ב', מועד ב',תשע"א 140/900/11 ליאור וולף, מתי שמרת, הדס צור, אסף זריצקי הוראות (נא לקרוא!) משך הבחינה שלוש שעות, חלקו את זמנכם ביעילות. אסור השימוש בחומר עזר כלשהו,

קרא עוד

PowerPoint Presentation

PowerPoint Presentation == vs equals תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד Point p = new Point(,) Point p = new Point(,) p == p p.equals(p) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם יש לכתוב מתודת equals על

קרא עוד

PowerPoint Presentation

PowerPoint Presentation פרוטאוס הדרכה לפיתוח פרויקט מבוסס ארדואינו 1 הוראות הפעלה תוכנת פרוטאוס מכילה כמות גדולה מאוד של כלי עזר להבנת דרך ההפעלה של התוכנה. שני מקורות מידע עיקריים עומדים לרשות המשתמש מחוץ לתוכנה: o באתר האינטרנט

קרא עוד

Slide 1

Slide 1 בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1 תרגול מספר 9: הורשה מחלקות אבסטרקטיות ואתחול עצמים 2 ירושה ממחלקות קיימות ראינו בהרצאה שתי דרכים לשימוש חוזר בקוד של מחלקה קיימת: הכלה + האצלה הכלה כאשר

קרא עוד

תוכן הגדרת שאלת רב-ברירה ]אמריקאית[...2 הגדרת שאלת נכון\לא נכון...8 שאלות אמריקאיות 1

תוכן הגדרת שאלת רב-ברירה ]אמריקאית[...2 הגדרת שאלת נכון\לא נכון...8 שאלות אמריקאיות 1 תוכן הגדרת שאלת רב-ברירה ]אמריקאית[...2 הגדרת שאלת נכון\לא נכון...8 1 הגדרת שאלת רב-ברירה ]אמריקאית[ הוספת השאלה 1. בבלוק הניהול הנמצא מימין נלחץ על מאגר שאלות.. 2. על מנת להוסיף שאלה חדשה נלחץ על לחצן

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תרגול מס' 3: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש שלבי הפיתוח - חזרה קצרה ישנם שני שלבים נפרדים: שלב פיתוח התוכנית בשלב זה אנו משתמשים במהדר )קומפיילר( כדי להמיר קבצי.java )קבצי

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

תוכנה 1 1 אביב תשעג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגש תוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תיעשה במערכת ה- mdle בלבד.(http://mdle.tau.ac.il/)

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

Microsoft PowerPoint - lec 04 Gui Form_Item.pptx

Microsoft PowerPoint - lec 04 Gui Form_Item.pptx Form Item Item Command 1 השתלמות פלאפוניה : שיעור 4 כל הרכיבים הגראפיים 2 Form מתפקד כמיכל של Item םי-. טופס Form 3 סוג של מסך.(Screen) מין ממשק משתמש שמתפקד כמיכל שיכול להכיל הרבה סוגים של פריטים (Item)

קרא עוד

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

תשעדד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..( תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(http://mdle.tau.ac.il/) בלבד הגשת התרגיל תעשה במערכת ה- mdle aviv

קרא עוד

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

מבוא למדעי המחשב מבוא למדעי המחשב הממשקים Iterable,Set ו- Iterator תוכן עניינים מבנה נתונים מבנה נתונים מבנה נתונים הוא container של עצמים שמוגדרות עליו מספר פעולות למשל קבוצה של עצמים (אוסף ללא חזרות) עם הפעולות: הוספת

קרא עוד

PowerPoint Presentation

PowerPoint Presentation תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה == vs equals Point p = new Point(,2) Point p2 = new Point(,2) p == p2 p.equals(p2) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם

קרא עוד

PowerPoint Presentation

PowerPoint Presentation הקלטה עצמית באמצעות Tablet PC תמצית פעילות 2009-2014 הטמעת אוטומציה מלאה ב- 2015 מדור טכנולוגיות למידה וייעוץ מערך המחשוב אב"ג הקלטה עצמית באמצעות Tablet PC הסבר על השיטה יתרונות וחסרונות תמצית פעילות

קרא עוד

תרגול 1

תרגול 1 מבוא למדעי המחשב 2019 תרגול 12 מחסנית )Stack( memoization ראינו בהרצאה מחסנית Infix/Postfix Notations בתרגול היום מחסנית בדיקת איזון סוגריים בביטוי אריתמטי מימוש תור באמצעות מחסנית memoization דוגמאות

קרא עוד

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

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

קרא עוד

מסע מדע ו - מסע ברכב שטח ביבשות רחוקות

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה

תכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (6..(CLR ראשית נראה דוגמא: דוגמא: תהינה ארבע מטריצות:. A, A, A, A נסמן את גודל המטריצות בסדרה ע"י סדרת גדלים כאשר, p 5 5 p היא בגודל A {,,,5,}, P כלומר

קרא עוד

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

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

קרא עוד

People. Partnership. Trust מסלול Free פורטל החינוך מבית U-BTech מסלולים ומחירים חיבור לשירותי Office 365 ללא עלות פורטל התחברות הכולל ממשק למנב"ס ולסי

People. Partnership. Trust מסלול Free פורטל החינוך מבית U-BTech מסלולים ומחירים חיבור לשירותי Office 365 ללא עלות פורטל התחברות הכולל ממשק למנבס ולסי מסלול Free פורטל החינוך מבית U-BTech מסלולים ומחירים חיבור לשירותי Office 365 ללא עלות פורטל התחברות הכולל ממשק למנב"ס ולסיסמא אחודה דף בית לתלמיד המאפשר גישה פשוטה להורדת הטבת האופיס מסלול Basic הפלטפורמה

קרא עוד

מדריך לחיפוש במאגר JCR Journal Citation Reports מעודכן לדצמבר 2015 כל הזכויות שמורות לתחום היעץ, אוניברסיטת חיפה, הספריה

מדריך לחיפוש במאגר JCR Journal Citation Reports מעודכן לדצמבר 2015 כל הזכויות שמורות לתחום היעץ, אוניברסיטת חיפה, הספריה מדריך לחיפוש במאגר JCR Journal Citation Reports מעודכן לדצמבר 2015 כל הזכויות שמורות לתחום היעץ, אוניברסיטת חיפה, הספריה תוכן עניינים........................ )Journal Citations Reports( JCR מדד ההשפעה

קרא עוד

Microsoft PowerPoint - 10_threads.ppt

Microsoft PowerPoint - 10_threads.ppt נוש אים מתקדמים ב Java תכ נות מ ר ובה חו ט י ם אוהד ברזילי אוניברסיטת תל אביב מק בי ל יות ריבוי מעבדים processors) (multi זמן עיבוד slicing) (time ל עו מת חלוק ת רמת התהליך (multithreading) ההפעלה processes)

קרא עוד

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

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

קרא עוד

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

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

קרא עוד

Tutorial 11

Tutorial 11 מבוא לשפת C תרגול 8: מערכים רב-ממדיים תרגילים בנושא מערכים ורקורסיה מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקנשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב" נכתב ע"י טל כהן, עודכן ע"י

קרא עוד

ForMenahelHeshbonot

ForMenahelHeshbonot מנה"ח לכל מומלץ הנהלת החשבונות של בינה מודול הנחיות עבור ריכוז מודול הנהלת החשבונות של בינה שונה בתפיסת עולמו ממודולים דומים בתוכנות הנהלת חשבונות. בתפיסת עולם זו, הנהלת החשבונות היא פועל יוצא של הפעילות

קרא עוד

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

התגוננות בפני כוחות האופל ניהול ידע אישי על רגל אחת 1 סוגי ידע Explicit גלוי Tacit סמוי 5 מה אמר השועל לנסיך הקטן? מה קורה בבתי ספר כשמורים או מנהלים עוזבים? 8 ניהול ידע במערכת החינוך רמת התלמיד )ניהול ידע אישי( רמת המורה )ניהול

קרא עוד

Disclaimer מסמך זה הינו סיכום און-ליין של השיעור ולא עבר עריכה כלל. מצאת טעות? שלח/י לי מייל ואתקן: 07/05/2009 קורס: מערכות ה

Disclaimer מסמך זה הינו סיכום און-ליין של השיעור ולא עבר עריכה כלל. מצאת טעות? שלח/י לי מייל ואתקן: 07/05/2009 קורס: מערכות ה הרעיון: דפדוף paging וזכרון וירטואלי.1.2.3 לחלק את מרחב הכתובות לדפים בגודל קבוע )למשל )4KB את הדפים ממפים לזכרון פיסי a. לא רציף b. לא כולם העברה מזכרון לדיסק לפי הצורך מספר הדף: page = addr 4K המיקום

קרא עוד

Microsoft Word IG Lab - Configure Wireless Router in Windows Vista.docx

Microsoft Word IG Lab - Configure Wireless Router in Windows Vista.docx עיקרי טכנולוגיות המידע 5.0 6.8.3.9 מעבדה תצורת ראוטר ללא כבלים Router) (Wireless בחלונות ויסטה (Windows Vista) מבוא הדפס והשלם מעבדה זו. במעבדה זו, יהיה עליך להגדיר ולבחון את ההגדרות האלחוטיות על ה.Linksys

קרא עוד

שעור 6

שעור 6 שעור 6 Open addressing אין רשימות מקושרות. (נניח שהאלמנטים מאוחסנים בטבלה עצמה, לחילופין קיים מצביע בהכנסה המתאימה לאלמנט אם אין שרשור). ב- addressing open הטבלה עלולה להימלא ב- factor α load תמיד. במקום

קרא עוד

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

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

קרא עוד

Microsoft Word - c_SimA_MoedB2005.doc

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

קרא עוד

Microsoft Word B

Microsoft Word B מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: 1. ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב

קרא עוד

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

1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle ב 1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle בלבד.(http://moodle.tau.ac.il/) יש להגיש קובץ zip יחיד

קרא עוד

תרגול 3 - מערכים

תרגול 3 - מערכים Introduction to Programming in Java תרגול 5 1 היום בתרגול void מה הן פונקציות הגדרת פונקציה, קריאה לפונקציה העברת ארגומנטים, החזרת ערך או דוגמאות 2 מוטיבציה לעיתים,אנו נזקקים לבצע פעולה מסוימת או לעשות

קרא עוד

People. Partnership. Trust שלבי הפרויקט והמסלולים השונים - פלטפורמת "קהילה לומדת" מסלול Free שלבי הפרויקט: חיבור לשירותי Office 365 ללא עלות פורטל התח

People. Partnership. Trust שלבי הפרויקט והמסלולים השונים - פלטפורמת קהילה לומדת מסלול Free שלבי הפרויקט: חיבור לשירותי Office 365 ללא עלות פורטל התח שלבי הפרויקט והמסלולים השונים - פלטפורמת "קהילה לומדת" מסלול Free שלבי הפרויקט: חיבור לשירותי Office 365 ללא עלות פורטל התחברות הכולל ממשק למנב"ס ולסיסמא אחודה דף בית לתלמיד המאפשר גישה פשוטה להורדת הטבת

קרא עוד

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

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשעז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', 31.1.2017 מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבוני, דולב שרון הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה

קרא עוד

אגף התקשוב, אוניברסיטת בר אילן קורס תוכנת מטלב ויישומיה ד"ר סמדר שץ מימוש ממשק משתמש ע"י GUIDE קורס תוכנת מטלב ויישומיה שיעור מס' 12: שימוש ב- GUIDE -

אגף התקשוב, אוניברסיטת בר אילן קורס תוכנת מטלב ויישומיה דר סמדר שץ מימוש ממשק משתמש עי GUIDE קורס תוכנת מטלב ויישומיה שיעור מס' 12: שימוש ב- GUIDE - מימוש ממשק משתמש ע"י GUIDE שיעור מס' 12: שימוש ב- GUIDE - GUIDE ראשי תיבות של - GUI Design Environment הוא כלי ליצירה חצי-אינטראקטיבית של ממשקי-משתמש. תהליך העבודה עם GUIDE הפעלת GUIDE ליצירת ממשק חדש

קרא עוד

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc

Microsoft Word - tutorial Dynamic Programming _Jun_-05.doc הטכניון מכון טכנולוגי לישראל אלגוריתמים (3447) סמסטר חורף 006/007 הפקולטה למדעי המחשב תכנון דינאמי תרגיל תת מחרוזת משותפת ארוכה ביותר תת-מחרוזת z k שקיימת סדרה עולה ממש,... z = z של מחרוזת נתונה x m,...,,

קרא עוד

תרגיל 5-1

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

קרא עוד