Microsoft Word - Part1.doc
|
|
- נאיה דרעי
- לפני2 שנים
- צפיות:
תמליל
1 תוכנה 1 מקומו של הקורס זהו קורס התכנות הבסיסי. דרישת קדם: מבוא מורחב למדעי המחשב קורס המבוא מציג גישות שונות לתכנות, תוך שימוש בשפת תכנות פשוטה. הקורס תוכנה 1 מתמקד בגישה של תכנות מונחה עצמים, תוך שימוש בשפת ג'אווה. התכנים בקורס המבוא מובילים למספר קורסי המשך (כגון מבנה נתונים, מודלים חישוביים, ועוד). הקורס תוכנה 1 מתמקד בתכנות. סיון טולדו ועמירם יהודאי בית הספר למדעי המחשב, אוניברסיטת תל אביב כל הזכויות שמורות לסיון טולדו ועמירם יהודאי, ידע מוקדם ומושגים חדשים מטרות הקורס הבנת מתודולוגיות שמסייעות בפיתוח תוכנה בקנה מידה גדול: תכנות מונחה עצמים, תיכון בעזרת חוזים, ביצוע מקסימום בדיקות בזמן קומפילציה, ניהול זיכרון אוטומטי היכרות עם שפת ג'אווה הקניית מיומנויות תכנות היכרות עם כלי פיתוח מתקדמים (eclipse) עקרונות נשארים, שפות וכלי פיתוח משתנים ומתחלפים יסודות התכנות המוכרים: מזהים, משתנים, ביטויים, השמה, פרוצדורות, רקורסיה. כאן נלמד בעיקר את התחביר של ג'אווה מושגי יסוד שאינם מוכרים (במלואם): טיפוסי נתונים, לולאות. נקדיש להם יותר זמן. מושגים שהכרנו קצת, ונקדיש להם את מירב הקורס: תכנות מונחה עצמים, תיכון בעזרת חוזים. עוד ידע מוקדם: מבני נתונים ואלגוריתמים בסיסיים, יעילות התחביר של scheme הוא פשוט מאד. הכל מבוסס על המכניזם הבסיסי של פרוצדורות, ויש גמישות רבה. התחביר של ג'אווה הרבה יותר מורכב. יש ישות תחבירית מיוחדת לכל דבר, וחוקים מפורטים מה לא ניתן לעשות. 3 4 הקורס תוכנה 1 ואחריו פרויקט תוכנה כאמור, בתוכנה 1 נלמד תכנות מונחה עצמים בשפת ג'אווה. בהמשך, בקורס פרויקט תכנה, תלמדו את שפת C שהיא שפה פרוצדורלית, וחשובה במיוחד לכתיבת תכנה שצריכה גישה למרכיבי היסוד של מערכת ההפעלה או החומרה. המבנה העיקרי בג'אווה, שנועד לתמוך בתכנות מונחה עצמים, הוא מחלקה.(class) המבנים ה"נמוכים יותר" של ג'אווה דומים למבנים שקיימים ב C, ולמעשה מבוססים עליהם. הדגש בתוכנה 1 הוא על תכנות מונחה עצמים, ולכן לא נתעמק בכל הפרטים של המרכיבים הבסיסיים. לימוד C בפרויקט תכנה יעמיק את הידע הזה. 5 הקורס תוכנה 1 והקורס מבני נתונים הקורס מבני נתונים נועד ללמד לעומק על מבני נתונים שונים, ומימושים יעילים שלהם. מבני נתונים בסיסיים נלמדו בקורס המבוא: רשימה מקושרת, מחסנית, תור. בקורס תוכנה 1 הדגש הוא על שימוש במבני נתונים. נכתוב תכניות שמשתמשות במחלקות שמממשות מבני נתונים, למשל מחלקות מספריה סטנדרטית. בקורס מבני נתונים הדגש הוא על מימוש מבני הנתונים, כלומר על כתיבת הקוד (המחלקות) המממשות (בלי תלות בשפת תכנות). בקורס תוכנה 1 נלמד את טכניקות התכנות הבסיסיות שדרושות לכתיבת המימושים האלה (למשל מערכים). 6
2 תיאום ציפיות (מעבר למובנות מאליהן) אתם מאיתנו: התייחסות מאוזנת לתיאוריה ומעשה חומרי לימוד יעילים ומובנים תמיכה בביצוע המטלות אנחנו מכם: קריאת כל החומר שיחולק, בהתאם להתקדמות השיעורים (ולא בסוף הסמסטר) ביצוע כל המטלות שיוטלו בזמן, כולל מטלות שלא יבדקו לימוד עצמי של פרטים השתתפות פעילה ה כמה עובדות על ג'אווה כדאי לקרוא קצת על ההיסטוריה של ג'אווה, המוטיבציה מאחורי הפיתוח שלה, והקשר לאינטרנט. אנחנו לא נעסוק בקורס זה בתכנות אינטרנט. מודל התכנות של ג'אווה מבוסס על דרישה בסיסית שהקוד יוכל לרוץ על כל פלטפורמה (מחשב + מערכת הפעלה). תכנית ג'אווה נכתבת במספר קבצי מקור (עם סיומת (.java קומפילר מתרגם את קבצי המקור לקבצים עם סיומת.class הקוד המתורגם הוא בשפת bytecode ויכול להתבצע על כל פלטפורמה. bytecode מתבצע על ידי אינטרפרטר שנקרא "המכונה הוירטואלית" (JVM) Java Virtual Machine 7 8 חומרי עזר וספרים מומלצים חומרי עזר: המצגת ודפי עבודה ללימוד סביבת הפיתוח. ספרי עזר להרחבת הידע: Object Oriented Software Construction, second edition, by Bertrand Meyer, Prentice Hall, מציג גישה לתכנות מונחה עצמים שהקורס הזה מתבסס עליה (תיכון בעזרת חוזים), אך תוך שימוש בשפת התכנות.Eiffel Program Development in Java, by Barbara Liskov and John Guttag, Addison-Wesley, ספרים מומלצים ללימוד ג'אווה גישה דומה, אך יותר פרגמטית, תיאוריה פחות נקייה מזו של מאייר. משתמש בג'אווה, ודן בנושאים מיוחדים לג'אווה, אבל לא ספר לימוד לשפה. (מציג נושאים שמעבר לקורס, כמו דרישות וניתוח דרישות). The Java Programming Language, 4th edition, by Ken Arnold, James Gosling, and David Holmes, Addison-Wesley, [3rd edition 2000 caution!] ספר על ג'אווה מאת האנשים שפיתחו את השפה (לקרוא בעין ביקורתית). דיון ממצה ומפורט מאד בשפה ובספריות הנלוות. מועיל כאשר רוצים להבין בדיוק כיצד פועל מנגנון מסוים. Java in a Nutshell, by David Flanagan, fifth edition, O'Reilly, [third + forth edition caution!] תיאור תמציתי של השפה והספריות הנלוות. שימושי למי שיודע לתכנת, ובתור ספר עזר על מנת להיזכר בפרטים. דיון תמציתי בהרבה מזה שבספר הקודם. החצי השני של הספר מוקדש לתיעוד של הספריות הנלוות שקיים בתיעוד המקוון עוד על ספרים וחומרי עזר יש עוד עשרות או מאות ספרים על ג'אווה. אנו משתמשים בעיקר בשניים שהזכרנו, אבל מומלץ לדפדף גם בספרים אחרים על מנת למצוא ספר שקל לכם להשתמש בו. לעומת זאת, אין ספרים רבים שמציגים את התיאוריה של תכנות מונחה עצמים פרט לשניים שהזכרנו. יש לשים לב שגירסא 1.5 (נקראת גם גירסא 5) של ג'אווה, שיצאה ב 2005, הוסיפה כמה פריטים חשובים לשפה, ורק מהדורות חדשות מתייחסות אליה. סביבת הפיתוח כוללת תיעוד מקוון אודות הסביבה עצמה (תחת help בתפריט הראשי), וכן תיעוד של הספריות הנלוות לשפה. גם אתר האינטרנט של חברת,Sun שפיתחה את השפה, מכיל גם הוא את התיעוד המקוון של הספריות, וכן חומרי לימוד נוספים. 11 למה תכנות מונחה עצמים? בהנדסה קורות לעיתים קטסטרופות: בניינים קורסים, מטוסים נופלים, כורים מתפוצצים מקטסטרופות לומדים בעולם המחשבים, רוב הקטסטרופות התבטאו בכישלון לפתח תוכנה גדולה או בכישלון להשמיש תוכנה שפותחה; רוב הקטסטרופות נבעו מהגודל של התוכנה הפקת הלקחים כללה את פיתוח המתודולוגיות של תכנות מונחה עצמים, תיכון בעזרת חוזים contract),(design by ביצוע מקסימום בדיקות תקינות בזמן קומפילציה, ניהול זיכרון אוטומטי 12
3 מודולריות מודולריות היא תכונה חשובה של תוכנה. נחוצה כדי לאפשר הפרדת עניינים בזמן הפיתוח, ולשפר קריאות לצורך תחזוקה. מודולריות פירושה היכולת לפרק מערכת למרכיבים, לבנות מערכת ממרכיבים, להבין כל מודול בפני עצמו, רציפות, הגנה מודולריות טובה כתכונה של מערכת דורשת מודולים בעלי חוזק פנימי גבוה, וצמידות נמוכה. מתברר שארכיטקטורת מערכת שמבוססת על הנתונים מאפשרת מודולריות טובה יותר מארכיטקטורה שמבוססת על הפונקציונליות. מכאן היתרון של פיתוח תוכנה מונחה עצמים. 13 שימוש חוזר בתוכנה על מנת לשמור על עלויות תוכנה סבירות, יש לשפר את תפוקת מפתחי התוכנה. שיפור תפוקה יומית של מתכנת דורש שיפורים משמעותיים בתהליכי הפיתוח, שפות התכנות, וכלי הפיתוח. בנוסף, ניתן להקטין את עלות הפיתוח ע"י שימוש ברכיבי תוכנה קיימים, שפותחו עבור פרויקט קודם או פותחו במיוחד כתשתית לארגון. שימוש חוזר בתוכנה כרוך בקשיים רבים, לא כולם טכניים: תסמונת "לא הומצא אצלנו", תשלום עבור תוכנה לפי שורות קוד הניסיון מראה שרכיבי תוכנה מונחת עצמים מתאימים לשימוש חוזר יותר מרכיבים פרוצדורליים. 14 עצמים ומחלקות חלק 1 עצמים ומחלקות עצם (object) הוא יחידת תוכנה שמספקת שירותים (methods) מסוימים ושיש לה בכל נקודת זמן מצב רגעי מסוים (state) מחלקה (class) היא קבוצה של עצמים מאותו סוג, כלומר שמספקים את אותם שירותים באותה צורה העצמים הם מופעים (instances) של המחלקה עצמים שונים מאותה מחלקה נמצאים במצבים רגעיים שונים המחלקה היא הישות הסטטית בקוד המקור; העצם הוא הישות הדינמית בזמן הריצה ב scheme מימשנו גירסא פשוטה של מחלקות ועצמים ע"י פרוצדורות עם משלוח הודעות טיפוסים (Types) ב scheme כל ערך שייך לטיפוס נתונים מסוים, אבל משתנה יכול להכיל ערך מטיפוס כלשהו ללא מגבלה. כלומר טיפוס הוא תכונה דינמית (משתנית עם הזמן במהלך ביצוע התכנית). בג' אווה וברוב השפות האחרות הטיפוס הוא תכונה סטטית: כאשר מגדירים משתנה, קובעים מה יהיה הטיפוס שלו. בזמן ריצה ערכו של המשתנה יכול להשתנות, אבל הטיפוס יישאר ללא שינוי. שירותים לעומת פרוצדורות קופת קולנוע היא עצם שמספק שירות: מכירת כרטיסים השירות שלקוח מקבל תלוי במצב הרגעי של העצם: כמה כרטיסים כבר נמכרו ואיזה מספרה היא פרוצדורה: הלקוח נכנס ויוצא מסופר בלי קשר למצב של המספרה או לשירות שקיבלו לקוחות קודמים (הדוגמאות הללו מתעלמות מתור בקופת הקולנוע או במספרה, תור שמהווה סוג של מצב נוכחי. הדוגמאות מניחות שכאשר הלקוח שלנו מגיע, אין תור. התור גם לא משפיע על התוצאה הסופית עבור הלקוח, רק על הזמן שדרוש על מנת לקבל את השירות.) 17 18
4 טיפוסים בשפות מונחות עצמים (למשל Python, Java, C#, C++, (Smalltalk מחלקות הן גם טיפוסים לכל עצם בזמן הריצה יש טיפוס: המחלקה שאליה הוא שייך בשפות שבודקות טיפוסים בצורה סטטית (בזמן קומפילציה), משתנים, שמות בתוכנית, מוכרזים עם טיפוס: אם משתנה מתייחס למשהו בכלל, המשהו הזה הוא עצם מהמחלקה המוכרזת לחוק שתיארנו יש יוצאים מן הכלל שנלמד בהמשך ג 'אווה בודקת טיפוסים בצורה סטטית, וכמוה גם #C, ++C; (scheme לא בודקות (בדומה ל Smalltalk,Python 19 מחלקות וטיפוסים: דוגמה נגדיר מחלקה (הסבר על התחביר יינתן בהמשך) class edstring { במקום אחר בתוכנית, נגדיר משתנה עם טיפוס מתאים, ומשתנה מטיפוס String (מחלקה קיימת שאין צורך להגדיר): המשתנה עדיין לא מתייחס לעצם vs; edstring כנ "ל ;s String ניצור עצם חדש מהמחלקה, ונקשור את המשתנה vs אליו, vs = new edstring(); אבל אי אפשר לקשור שם מטיפוס String לעצם מהמחלקה :edstring שגיאת קומפילציה! vs; s = 20 המחלקה הראשונה: הגדרת השירותים מחלקה ראשונה: מחרוזת עם היסטוריה כעת נגדיר מחלקה. ראשית, נגדיר במילים מה עצמים מהמחלקה ייצגו ואיזה שירותים הם יספקו. עצם מייצג סדרה של גרסאות של מחרוזת השירותים שהעצם יספק הם הוספת גרסה עדכנית למחרוזת, שליפת הגרסה העדכנית (אחרונה), שליפת גרסה ישנה מסוימת, וספירת מספר הגרסאות של מחרוזת לא עצם שימושי כל כך, אבל עצמים דומים שמייצגים סדרת גרסאות של קובץ הם כן שימושיים שימוש במחרוזות במקום קבצים מפשט את ההדגמה class edstring { public void add(string s) { public int length() { public String getlast() { public String get(int i) { :public שירות ציבורי, אין הגבלת גישה :void מאומה; ערך חזרה שמסמן שהשירות אינו מחזיר ערך :int מספר שלם :String מחלקה לייצוג מחרוזות, מובנית בשפת ג'אווה מה השירותים עושים? החוזה מה השירותים עושים? מצב מופשט הדרך הנוחה ביותר להגדיר מה השירותים עושים (ולהוכיח שהם עושים זאת נכון) היא על ידי הגדרת המצב מופשט state) (abstract שהעצם מייצג בעיני הלקוח, עצמים מייצגים מצבים מופשטים המצב המופשט של עצם מהמחלקה edstring הוא סדרה ) n (s 1, s 2,..., s כאשר n 0 ו- s i היא מחרוזת את המצב המופשט של העצם נסמן ב-( A(this class edstring: Initial State: A(this) == () add(string s): Requires: s!= null Ensures : A(old this) == (s 1, s 2,..., s n ) A(this) == (s 1, s 2,..., s n, s) 23 24
5 מה השירותים עושים? החוזה (המשך) int length(): Requires: nothing Ensures : A(this) == (s 1, s 2,..., s n ) return == n String get(int i): Requires: 0 < i <= length() Ensures : A(this) == (s 1, s 2,..., s n ) return == s i החוזה (המשך) String getlast(): Requires: length() > 0 Ensures : A(this) == (s 1, s 2,..., s n ) return == s n הסימון: Requires תנאי קדם, Ensures תנאי אחר, old הערך לפני ביצוע השרות, return הערך שהשרות מחזיר. השרות add משנה את המצב המופשט (פקודה), האחרים לא (שאילתות) ספקים ולקוחות לחוזה שני צדדים: ספק ולקוח ה ספק הוא המחלקה שמגדירים; היא צריכה לממש את השירותים בקוד ג'אווה מתאים הלקוח הוא קוד שמשתמש בעצמים מהמחלקה הלקוח מחויב לקיים את תנאי הקדם לפני שהוא קורא לשירות הספק מחויב, אם הלקוח קיים את חלקו ותנאי הקדם מתקיים, לקיים את תנאי האחר החוזה: תנאי ק דם ותנאי א חר לעצמים יש מצב התחלתי לכל שירות מוצמדים שני תנאים תנאי הקדם (precondition) מגדיר מה השירות מצפה תנאי האחר (postcondition) מגדיר מה השירות מספק אם תנאי הקדם מתקיים, השירות חייב לקיים, לאחר שהוא מסיים, את תנאי האחר אם תנאי הקדם לא מתקיים, השירות לא מחויב לכלום; לא לעצור, לא להימנע מלהעיף את התוכנית, לא להימנע מפגיעה במבני נתונים, כלום החוזה בלי הגדרת מצב מופשט בהרבה מקרים אפשר להגדיר את החוזה תוך שימוש בשאילתות בלבד, בלי להגדיר את המצב המופשט כלל; זה אפשרי כאשר השאילתות חושפות את כל המצב המופשט; לפעמים זה מקשה על הגדרת החוזה והוכחת הנכונות; (פריט שלא מופיע בתנאי האחר לא השתנה). הנה הדוגמה class edstring: Initial State: length() == 0 add(string s): Requires: s!= null Ensures : length() == old length()+1 get(length()) == s 29 החוזה בלי הגדרת מצב מופשט (המשך) int length(): Requires: nothing Ensures : return==number of calls to add() so far String get(int i): Requires: 0 < i <= length() Ensures : return! = null String getlast(): Requires: length() > 0 Ensures : return == get(length()) 30
6 איך נבדוק נכונות של לקוח? שימושי החוזה מה רואה הלקוח הקוד של המחלקה אינו מתפרסם. רק החוזה מתפרסם. לקוח שמשתמש במחלקה מסתמך על החוזה שלה. הלקוח יכול לעקוב אחרי פעולת המחלקה באמצעות החוזה, ויכול לאמת את הקוד שלו שמשתמש במחלקה. באופן כזה נעשית חלוקת אחריות בין כותב המחלקה ללקוח של המחלקה. כותב המחלקה אחראי להבטיח שהמחלקה מקיימת את החוזה. הלקוח אחראי לכך שהוא מפעיל את המחלקה בהתאם לחוזה. נניח שהלקוח מבצע את סידרת הפעולות הבאה: vs = new edstring(); vs.add("the letter A"); vs.add("the letter B"); System.out.println(vs.get(1)); איך ניתן להראות שהפעולות ייתבצעו בהצלחה, ומה יודפס? (השגרה System.out.println מדפיסה את הארגומנט שלה, שצריך להיות מחרוזת, לפלט הסטנדרטי, ועוברת לשורה הבאה. בהמשך הקורס נלמד מה משמעות שם השגרה.) נכונות של לקוח ליצירת העצם אין תנאי קדם, ולכן מותר ללקוח לבצע אותה כעת (או בכל מצב אחר). vs = new edstring(); לאחריה מתקיים: vs.length() == 0 לשירות add יש תנאי קדם אחד: הארגומנט אינו.null הלקוח העביר התייחסות למחרוזת, לא,null ולכן מילא את תנאי הקדם. vs.add("the letter A"); argument!= null תנאי האחר מבטיחים ש-() length קוּדם ב- 1 ושקריאה ל- get(1) תחזיר את המחרוזת שהועברה, כלומר מתקיים: vs.length() == 1 vs.get(1) == "The letter A" 33 נכונות של לקוח (המשך) באופן דומה vs.add("the letter B"); argument!= null vs.length() == 2 vs.get(2) == "The letter B" עקרונית, יתכן שפקודה מאוחרת יותר תשנה את הערך שיחזיר get(2). במחלקה שלנו זה לא יתכן, כי הערך של length() יכול רק לגדול, והפקודה היחידה היא,add שקובעת את הערך של get עבור הארגומנט.length() עכשו מתקיים תנאי הקדם של vs.get(1) 0 < 1 <= vs.length() == 2 System.out.println(vs.get(1)); ויודפס A" "The letter 34 חוזים טובים לעומת חוזים פחות טובים הגדרת חוזים מוצלחים היא נקודה חשובה ומורכבת בתיכון תוכנה, ובהמשך הקורס נדון בה בפרוטרוט. אבל כדאי כבר עכשיו להתחיל לחשוב על מה הופך חוזה לטוב או לגרוע. אפשר לחשוב על כך בהקשר של חוזים בעולם הממשי, לא דווקא בהקשר של חוזים בין מחלקות. חוזה טוב הוא חוזה שקל להבין אותו, שאפשר לצפות ששני הצדדים יוכלו לעמוד בו, ושבמידת האפשר, כל צד יכול לוודא את עמידת הצד השני במילוי התחייבויותיו. למה חוזים? החוזה מגדיר את המשמעות של מחלקה ללא תלות במימושה החוזה מאפשר להפריד את הפיתוח והתחזוקה של הספק מאלו של הלקוחות; ההפרדה הזו מהווה מפתח בפיתוח תוכנה רחבת היקף חוזה פורמלי מאפשר להוכיח נכונות של לקוחות בהמשך הקורס נראה שהחוזה הוא מרכיב (לא בלעדי) בהוכחת נכונות של ספק בהמשך הקורס נראה גם שהגדרת המשמעות של מחלקה על ידי חוזה חשובה במיוחד בתכנות מונחה עצמים כמובן שיש חוזה טוב וחוזה פחות טוב; בהמשך הקורס נציע שיטות להגדרת חוזים טובים 35 36
7 פקודות ושאילתות השירות add במחלקה שהגדרנו הוא פקודה :(command) הוא משנה את מצב מבנה הנתונים השירותים getlast,get,length הם שאילתות :(queries) הם מחזירים מידע אודות מצב מבנה הנתונים, אבל לא משנים אותו הפרדנו בין פקודות ושאילתות: אין שירותים שהם גם פקודה וגם שאילתה חשיבות ההפרדה: מקילה על הבנת הממשק של מחלקה, מקילה על הגדרת החוזה: מאפשרת שימוש בשאילתא בחוזה לעיתים (רחוקות) יש סיבות טובות לא להפריד (ביצועים,...) בהיעדר סיבה טובה, הפרידו! edstring n: 26 last: מימוש המחלקה: הרעיון value: "The letter Z" previous: value: "The letter Y" previous: value: "The letter A" previous: null מימוש המחלקה: השדות המצב הרגעי של עצם נשמר בשדות, משתנים ששייכים לעצם: class { הערך של גרסה זו value; String התייחסות לגרסה הקודמת, אם יש previous; class edstring { מספר הגרסאות n; protected int התייחסות לגרסה אחרונה last; protected 39 שדות (fields) של עצם השדות של עצם הם קבוצה של משתנים. הערכים שלהם מייצגים את המצב הרגעי של העצם. לכל עצם ממחלקה מסוימת יש שדות פרטיים לו. כלומר המחלקה היא מעין תבנית של משתנים. כאשר יוצרים עצם מהמחלקה, נוצק מהתבנית הזו עצם שיש לו עותק פרטי של כל אחד מהשדות. השדות של עצם מאותחלים באופן אוטומטי כאשר העצם נוצר. את חוקי האתחול נלמד בהמשך. 40 מימוש המחלקה: הפקודה public void add(string s) { l = new (); l.previous = last; l.value = s; last = l; n = n+1; 41 edstring n: 26 last: value: "The letter Z" previous: value: "The letter Y" previous: value: "The letter A" previous: null מימוש המחלקה: השאילתות public String getlast() { return get( length() ); public String get(i) { v = last; for (int j = length(); j > i; j--) v = v.previous; return v.value; public int length() { return n; 42
8 מודל הביצוע של תכנית מונחית עצמים פיתוח תוכנה מונחית עצמים מ ערכת תוכנה מדמה עולם מציאותי מסוים. העולם מורכב מישויות שלכל אחת מהן ידע מסוים, ויכולת לבצע פעולות, או לספק שירותים. אלה העצמים. בפיתוח המערכת יש לזהות מהן הישויות המרכיבות אותה (עצמים), ולסווג אותם למחלקות. לכל מחלקה, צריך לקבוע מה יודע עצם מהמחלקה, ומה השירותים שהוא מספק. בזמן ביצוע התכנית קיימים בזיכרון מספר עצמים, שחלקם מתייחסים זה לזה. בכל רגע נתון, מתבצעת פעולה מסוימת בעצם אחד. כאשר עצם X מבצע פעולה מסוימת, הוא יכול לבקש מעצם אחר Y (שיש לו התייחסות אליו) שרות מסוים. X שולח ל Y הודעה וממתין עד ש Y יסיים את הפעולה (ויחזיר ערך), ואז X ממשיך בפעולתו
PowerPoint Presentation
תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java אלכסיי זגלסקי ויעל אמסטרדמר 1 בירוקרטיה אלכסיי זגלסקי שעת קבלה: שני 13:00-14:00, בתיאום מראש משרד: בניין הנדסת תוכנה, חדר 209 יעל אמסטרדמר שעת קבלה: חמישי 15:00-16:00,
קרא עודMicrosoft PowerPoint - lec10.ppt
תכנו ת מ ונחה ע צמ י ם בשפת ++C אוהד ברזילי אוניברסיטת תל אביב ירו ש ה מרו בה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand
קרא עודPowerPoint Presentation
תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java 1 מנהלות אתר הקורס: http://courses.cs.tau.ac.il/software1/1516b/ מתרגלים: ברית יונגמן )שעת קבלה: שלישי ב- 8:00 בתיאום מראש( לנה דנקין )שעת קבלה: שלישי ב- 17:00,
קרא עודMicrosoft PowerPoint - rec3.ppt
תכנו ת מונח ה עצ מים משתני מחלקה, עצמים מוכלים ועצמים מוצבעים א וה ד ברז יל י א ונ יברס י ט ת תל אביב משתנ י מח ל קה Static Members משתני מחלקה members) (static משתנים סטטיים מוגדרי ם בתוך מח לקה ואולם
קרא עודSlide 1
1 אובייקטים היום בתרגול: 2.)objects מחלקות )classes( ואובייקטים )מופעים, )fields( שדות המחלקה שיטות הכמסה )methods של מחלקה. ( class מחלקה - עד עכשיו השתמשנו בעיקר בטיפוסים מובנים ופונקציות המבצעות חישובים
קרא עודMicrosoft PowerPoint - Lecture1
Computer Organization and Programming ארגון ותכנו ת המחשב - את"מ הרצאה מבוא 2 שפה עילית מול שפ ת מ כונה שפה עילית language) (High level שפת מכונה Language) (Machine תכנית בשפ ה עיל ית (C, Pascal, ) תכנית
קרא עודתוכן העניינים
הוצאת חושבים קדימה הילה קדמן # חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527
קרא עודPowerPoint Presentation
1 תוכנה 1 תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java 1 2 מנהלות I מתרגלים: יעל אמסטרדמר )שעת קבלה: חמישי ב- 12, בתיאום מראש( דביר נתנאלי )שעת קבלה: רביעי ב- 17, בתיאום מראש( http://courses.cs.tau.ac.il/software1/1415a
קרא עודאוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ
אוניברסיטת בן גוריון בנגב תאריך המבחן: 12.02.17 שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: 202.1.9031 מס' הקורס : הנדסת תעשיה וניהול מיועד לתלמידי : א' מועד א' סמ' שנה תשע"ד 3 שעות משך
קרא עודתוכן העניינים
הוצאת חושבים קדימה הילה קדמן חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527 kadman11@gmail.com
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב תכנות מונחה אובייקטים תוכן עניינים טיפוסי נתונים מורכבים המחלקה String תזכורת לשימוש שעשינו במחלקה String str = new String( Hello ); s.o.p(str.tostring()); s.o.p(str.charat(4)); s.o.p(str.equals(
קרא עודאוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד
אוניברסיטת בן גוריון בנגב תאריך המבחן: 29.01.19 שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות 202.1.9031 מס' הקורס : מיועד לתלמידי : הנדסת תעשיה וניהול שנה תשע"ט א' סמ' א' מועד 3 שעות משך
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב המחלקה Object תוכן עניינים Object הורשה והמחלקה ערך שם טיפוס DynamicIntArray da data size incrementsize DynamicArray תזכורת - Object[] data; int size; int incrementsize; DynamicArray זה
קרא עודתרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש
תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש המתרגם משימה: תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם 2 שאלות האם כבר יש
קרא עודמהוא לתכנות ב- JAVA מעבדה 3
מבוא לתכנות ב- JAVA מעבדה 3 נושאי התרגול לולאות ניפוי שגיאות לולאות - הקדמה כיצד הייתם כותבים תוכנית שתדפיס את המספרים השלמים בין 1 ל- 100 בעזרת הכלים שלמדתם עד עתה? חייבת להיות דרך אחרת מאשר לכתוב 100
קרא עודPowerPoint Presentation
תכנות מתקדם בשפת Java אוניברסיטת תל אביב 1 תוכנה 1 תרגול 3: עבודה עם מחרוזות )Strings( מתודות )Methods( 1 תכנות מתקדם בשפת Java אוניברסיטת תל אביב 2 מחרוזות )STRINGS( 3 מחרוזות String s = Hello ; מחרוזות
קרא עודמשימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק
משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות 2 הפשטה שאלות כצעד ראשון נפתור בעיה הרבה יותר פשוטה האם כבר
קרא עודיוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן
יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן מתרגלים: הנחיות: השאלות. כל על לענות עליכם משקל. שוות
קרא עודPowerPoint Presentation
תוכנה 1 3 תרגול מס' מתודות ותיכון לפי חוזים חוזה בין ספק ללקוח חוזה בין ספק ללקוח מגדיר עבור כל שרות: תנאי ללקוח - "תנאי קדם" precondition - - תנאי לספק "תנאי אחר".postcondition לקוח ספק 2 תנאי קדם )preconditions(
קרא עודסדנת תכנות ב C/C++
פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: 15.2.2017 משך הבחינה: שעתיים שם המרצה: ד"ר אופיר פלא חומר עזר: פתוח שימוש במחשבון: לא הוראות כלליות:
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג מנ' אב תשע"ז 15.08.17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' ב' שנה תשע"ז 3 שעות
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב מחרוזות, חתימה של פונקציה ומעטפות תוכן עניינים טיפוסים מורכבים טיפוסים מורכבים ערך שם טיפוס 12 m int undef. x boolean true y boolean arr int[] כאלה שעשויים להכיל יותר מערך פרימיטיבי אחד
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג חשון תשע"ח 12/11/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד קיץ סמ' שנה תשע"ז 3 שעות משך
קרא עודמבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי
מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5
קרא עודמספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי
מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בינסקי הנחיות: יש לענות על כל השאלות. יש לענות על כל
קרא עודSlide 1
מבוא למדעי המחשב משפחות של מחלקות ומחלקות מופשטות תזכורת בשיעור הקודם ראינו מחלקה של Student והרחבה שלה למחלקה של Milgae למעשה Student יכול לעמוד בראש היררכיה שלמה של מחלקות שונות של סטודנטים למשל, בנוסף
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ח תשרי תשע"ז 30.10.16 שמות המורים: ציון סיקסיק א' תכנות ב- C מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' קיץ שנה תשע"ו 3 שעות משך
קרא עודעוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכ
עוצמת ההורשה מה הופך את ההורשה לכלי כל כך עוצמתי? מעבר לכך שהוא מקל בהגדרת מחלקות חדשות על סמך מחלקות קיימות, יש לנו אפשרות להתייחס לאובייקט מסויים בכמה אופנים. בואו ניקח מחלקת צעצוע. אנחנו מעונינים להגדיר
קרא עודתרגול 1
מבוא למדעי המחשב 2019 תרגול 5 מחרוזות, חתימות ורקורסיה מחרוזות רצף של תווים רקורסיה קריאה של מתודה לעצמה באופן ישיר או עקיף ראינו בהרצאה מחרוזות: תווים, חתימות: העמסה- String,הצהרה, overloading אתחול רקורסיה:
קרא עודPowerPoint Presentation
מבוא למדעי המחשב תירגול 6: כתובות ומצביעים 1 תוכנייה מצביעים מצביעים ומערכים, אריתמטיקה של מצביעים 2 3 מצביעים תזכורת- כתובות זיכרון הזיכרון כתובת התא #1000 #1004 #1008 ערך השמור בתא תא 10-4 לא מאותחל
קרא עודמבוא לתכנות ב- JAVA תרגול 7
מבוא לתכנות ב- JAVA תרגול 8 תזכורת - מבנה של פונקציה רקורסיבית.2 פונקציה רקורסיבית מורכבת משני חלקים עיקריים 1. תנאי עצירה: מקרה/מקרים פשוטים בהם התוצאה לא מצריכה קריאה רקורסיבית לחישוב צעד רקורסיבי: קריאה
קרא עודSlide 1
מבוא לתכנות ב- JAVA תרגול 5 מה בתרגול מחרוזות מערכים דו ממדיים מחרוזות (Strings) מחרוזת היא רצף של תווים. immutable על מנת ליצור ולטפל במחרוזות נשתמש במחלקה String למחלקה String מתודות שונות שמאפשרות פעולות
קרא עודתשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(
תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(http://mdle.tau.ac.il/) בלבד הגשת התרגיל תעשה במערכת ה- mdle aviv
קרא עודמצגת של PowerPoint
מבוא כללי לתכנות ולמדעי המחשב תרגול מס' 1 דין שמואל dshmuel110@gmail.com 1 1. מנהלות מרצה: אמיר רובינשטיין, amirr@tau.ac.il שעות קבלה: לשאלות קצרות - מייד לאחר השיעור. ניתן לתאם במייל שעות אחרות. מתרגל:
קרא עודأكاديمية القاسمي كلية أكاديمية للتربية אקדמיית אלקאסמי מכללה אקדמית לחינוך שאלון מוטיבציה פנימית סטופ-הראל, 2002
שאלון מוטיבציה פנימית סטופ-הראל, 00 מדוע יורדת המוטיבציה הפנימית ללמידה? הבדלים בין בתי ספר יסודיים וחטיבות ביניים במוטיבציה פנימית ובמשתנים המקושרים אליה מאת : אורית סטופ-הראל בהדרכת : ד"ר ג'ני קורמן
קרא עודPowerPoint Presentation
פרוטאוס הדרכה לפיתוח פרויקט מבוסס ארדואינו 1 הוראות הפעלה תוכנת פרוטאוס מכילה כמות גדולה מאוד של כלי עזר להבנת דרך ההפעלה של התוכנה. שני מקורות מידע עיקריים עומדים לרשות המשתמש מחוץ לתוכנה: o באתר האינטרנט
קרא עודמבוא לתכנות ב- JAVA תרגול 11
מבוא לתכנות ב- JAVA תרגול 11 רשימה מקושרת אוסף סדור של איברים מאותו טיפוס. קודקוד ברשימה )Node( מכיל את המידע + הצבעה לקודקוד הבא ברשימה data next first רשימה :)List( מיוצגת ע"י מצביע לאיבר הראשון ברשימה
קרא עודPowerPoint Presentation
== vs equals תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד Point p = new Point(,) Point p = new Point(,) p == p p.equals(p) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם יש לכתוב מתודת equals על
קרא עודפייתון
שיעור 12: מילונים ברק גונן 1 או מילון, :hash table או,dictionary זוגות של מפתחות keys וערכים values מילון מוגדר על ידי סוגריים מסולסלים { } לדוגמה: מילון שמכיל ציונים, המפתח הוא מספר ת.ז ערך מפתח הגדרה
קרא עודMicrosoft Word B
מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: 1. ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב
קרא עודPowerPoint Presentation
תוכנה תרגול 7 :מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה == vs equals Point p = new Point(,2) Point p2 = new Point(,2) p == p2 p.equals(p2) מתי נכון להשתמש בכל אחד מהם? שימו לב, במחלקה שכתבתם בעצמכם
קרא עודתכנות מונחה עצמים א' – תש"ע
1 תכנות מונחה עצמים והנדסת תוכנה תשע"ו 2 בנאי העתקה בניית העתק של אובייקט קיים. בניית העתק בעת העברת אובייקט לפונקציה. בניית העתק בעת החזרת אובייקט מפונקציה. ניתן להגדיר בנאי העתקה. אם לא מגדירים, אז הקומפיילר
קרא עודMicrosoft PowerPoint - lec9.ppt
ת כנ ות מונ ח ה עצמי ם בשפת + +C ירוש ה אוהד ברזילי אונ יברסיטת תל אביב ירוש ה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand
קרא עוד2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ
מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מספיק עמדות לכולם ולכן מומלץ לעבוד ביחידים). במהלך המעבדה יהיה עליכם לבצע משימות. אם תצטרכו עזרה בשלב
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב שימוש במחסנית - מחשבון תוכן עניינים prefix כתיבת ביטויים ב-,infix ו- postfix postfix prefix,infix ביטויים ב- כתיבת ו- infix נוסח כתיבה ב- (operator אנו רגילים לכתוב ביטויים חשבוניים כדוגמת
קרא עודתורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב
תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב, מילה ושפה לטובת מי ששכח חומר זה, או שלא למדו מעולם,
קרא עודMicrosoft PowerPoint - 07_tdd.ppt
המצגת מבו ס סת על הספר: Test-Driven Development By Example By Kent Beck Publisher: Addison Wesley Date: November 08, 2002 ISBN: 0-321-14653-0 Pages: 240 תכנות מונחה בדיקות (Test Driven Development) אוהד
קרא עודמבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו
מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן
קרא עודתוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגש
תוכנה 1 1 אביב תשע"ג תרגיל מספר 5 מערכים, מחרוזות, עיבוד טקסט ומבני בקרה הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תיעשה במערכת ה- mdle בלבד.(http://mdle.tau.ac.il/)
קרא עודמתכונת עיצוב 3013
מדעי המחשב פרק ראשון Java שאלה 1 שאלה 1 נכתב ע"י ראמי ג'באלי C# Java 2 א. שאלה ב. הערה: במבחן כתוב שיש שלשה אחת בלבד של פנסים כאלו. ולמרות זאת נשאיר את המשתנה הבוליאני כך שאם נמצאו הפנסים בתחילת המערך
קרא עודTutorial 11
מבוא לשפת C תרגול 8: מערכים רב-ממדיים תרגילים בנושא מערכים ורקורסיה מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקנשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב" נכתב ע"י טל כהן, עודכן ע"י
קרא עודSlide 1
בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1 תרגול מספר 9: הורשה מחלקות אבסטרקטיות ואתחול עצמים 2 ירושה ממחלקות קיימות ראינו בהרצאה שתי דרכים לשימוש חוזר בקוד של מחלקה קיימת: הכלה + האצלה הכלה כאשר
קרא עודMicrosoft Word - tutorial Dynamic Programming _Jun_-05.doc
הטכניון מכון טכנולוגי לישראל אלגוריתמים (3447) סמסטר חורף 006/007 הפקולטה למדעי המחשב תכנון דינאמי תרגיל תת מחרוזת משותפת ארוכה ביותר תת-מחרוזת z k שקיימת סדרה עולה ממש,... z = z של מחרוזת נתונה x m,...,,
קרא עודתרגיל בית מספר 1#
ב 4 תרגיל בית מספר - 1 להגשה עד 72 באוקטובר בשעה ::725 קיראו בעיון את הנחיות העבודה וההגשה המופיעות באתר הקורס, תחת התיקייה.assignments חריגה מההנחיות תגרור ירידת ציון / פסילת התרגיל. הנחיות והערות ספציפיות
קרא עודMicrosoft PowerPoint - rec1.ppt
תכנות מונחה עצמים בשפת ++C תר גול מ ספר 1 אוהד ב ר זילי אוניברסיטת תל א ביב חדש חדיש ומחודש תוספות של + +C לשפ ת C 1 #include Hello World using namespace std; int main() cout
קרא עודHTML - Hipper Text Makeup Language
תכנות בסביבת האינטרנט 1 תיבת טקסט טופס הטופס הוא הדרך של בעלי האתר לקבל משוב מהגולשים, מאפשר לגולש להתחבר לאתר כחבר, מאפשר לבצע רכישות באתרי קניות וכד'. כשהגולש ממלא את הטופס, מועבר תוכן הטופס לדף מיוחד
קרא עודMicrosoft PowerPoint - lec9.ppt
תכ נות מונח ה עצמים בשפת ++C ירו שה אוה ד ברזילי אוני ברסיטת תל אביב ירו שה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand Meyer
קרא עודPowerPoint Presentation
מבוא למדעי המחשב תירגול 2: מבוא לתיכנות ב- C 1 תוכנייה משתנים קלט/פלט משפטי תנאי מבוא למדעי המחשב מ' - תירגול 3 2 משתנים 3 משתנים- תמונת הזיכרון הזיכרון כתובת התא #1000 10-4 לא מאותחל 67 לכל תא בזיכרון
קרא עודלנץ קרן מרצה: תכנותמונחהעצמים) ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחי
לנץ קרן מרצה: תכנותמונחהעצמים) 027622 ( יוםשישי 15 אוקטובר 0202 ב מועד 0202, אביב סמסטר סמסטר סוף מבחן גוטמן אייל רביב, אריאל משנה, אלון מתרגלים: הנחיות:.1.2.3.4.5.6.7 השאלות. כל על לענות עליכם משקל. שוות
קרא עודיצוא לחשבשבת תוכן עיניינים הגדרות - חשבונות בנק...2 הגדרות - הגדרות חשבשבת... 3 הגדרות - כרטיסי אשראי... 4 הגדרות - סוגי הכנסה... 5 יצוא לחשבשבת...6 י
יצוא לחשבשבת תוכן עיניינים הגדרות - חשבונות בנק...2 הגדרות - הגדרות חשבשבת... 3 הגדרות - כרטיסי אשראי... 4 הגדרות - סוגי הכנסה... 5 יצוא לחשבשבת...6 יצוא קופה לחשבשבת חלונות...01 כללי מדריך זה מסביר את
קרא עודתורת הקומפילציה
תורת הקומפילציה תרגיל בית 2 הוראות לתרגיל 2 בשפת MINI-PASCAL הפרוייקט המצורף הינו קוד שלד של מהדר לשפת mini-pascal עליכם לממש בסביבת (Eclipse (Java את הפונקציות המתאימות לפי החומר שנלמד בהרצאה ע"מ שהמהדר
קרא עודMicrosoft Word - Ass1Bgu2019b_java docx
ת ר ג י ל 1 ב ק ו ר ס מ ב ו א לתכנות 202.1.9031 JAVA סמסטר ב, ת נ א י ם ו ל ו ל א ו ת תאריך אחרון להגשה בציון מלא : 02.04.19 עד שעה : 23:55, כ ל יום איחור ל א מ א ו ש ר א ו ח ל ק ממנו מודריד 10 נקודות
קרא עודתוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום
תוכן העניינים: פרק 2 3 צמצומים ומימושים של פונקציות בוליאניות 2 צמצומים של פונקציות באמצעות מפת קרנו: 2 שאלות: 2 תשובות סופיות: 4 צמצום באמצעות שיטת 6:QM שאלות: 6 תשובות סופיות: 7 מימושים בעזרת פונקציות
קרא עודSlide 1
מבוא למחשב בשפת C : מערכים חד ודו-ממדיים מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב". עודכן ע"י דן רביב נכתב על-ידי טל כהן, נערך ע"י איתן אביאור.
קרא עודPowerPoint Presentation
תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש המתרגם משימה: תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם 2 שאלות האם כבר יש
קרא עודPowerPoint Presentation
תרגול מס' 3: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש שלבי הפיתוח - חזרה קצרה ישנם שני שלבים נפרדים: שלב פיתוח התוכנית בשלב זה אנו משתמשים במהדר )קומפיילר( כדי להמיר קבצי.java )קבצי
קרא עודפקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד
פקולטה: מחלקה: שם הקורס: קוד הקורס: מדעי הטבע מדעי המחשב ומתמטיקה מתמטיקה בדידה 2-7012610-3 תאריך בחינה: _ 07/07/2015 משך הבחינה: 3 שעות סמ' _ב' מועד ב' שם המרצה: ערן עמרי, ענת פסקין-צ'רניאבסקי חומר עזר:
קרא עודSlide 1
בית הספר למדעי המחשב אוניברסיטת תל אביב תוכנה 1- תרגול הורשה מחלקות אבסטרקטיות חריגים 2 ירושה ממחלקות קיימות ראינו בהרצאה שתי דרכים לשימוש חוזר בקוד של מחלקה קיימת: הכלה + האצלה הכלה )aggregation( במחלקה
קרא עודאוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו
אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', 31.1.2017 מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבוני, דולב שרון הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה
קרא עודMicrosoft PowerPoint - lec2.ppt
מרחב הש מות (namespace) אוהד ברזילי אוניברסיטת תל אביב מה בתו כנית? לקוח וס פק במערכת תוכנה ממשקים הכרת מרחב השמות מניעת תלות פוטנציאלית בין רכיבים במערכת ע"י עיצוב חלופי של מבנה הממשקים 2 א ונ י ב רס
קרא עודתהליך הגשה והנחיות כתיבה לעבודת גמר / תזה פרקים הקדמה תהליך הגשת עבודת המחקר ואישורה הנחיות תוכן לעבודת המחקר הנחיות כתיבה לעבודת המחקר הקדמה במסגרת ל
תהליך הגשה והנחיות כתיבה לעבודת גמר / תזה פרקים הקדמה תהליך הגשת עבודת המחקר ואישורה הנחיות תוכן לעבודת המחקר הנחיות כתיבה לעבודת המחקר הקדמה במסגרת לימודי החוג לפסיכולוגיה תואר שני במרכז האוניברסיטאי
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב גרפים 1 תוכן עניינים סיכום ביניים מה היה לנו? מושג האלגוריתם, תכנות פרוצדורלי הכרות עם בעיות במדעי המחשב הכרות עם בעיות ברקורסיה מתקדמת (כולל (memoization תכנות מונחה עצמים (מחלקה, הורשה,
קרא עודSlide 1
מבוא למדעי המחשב תירגול 4: משתנים בוליאניים ופונקציות מבוא למדעי המחשב מ' - תירגול 4 1 משתנים בוליאניים מבוא למדעי המחשב מ' - תירגול 4 2 ערכי אמת מבחינים בין שני ערכי אמת: true ו- false לכל מספר שלם ניתן
קרא עודמבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב
מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן שלוש שעות (180
קרא עודWinZIP תוכנה לדחיסת קבצים ספטמבר 2007
WinZIP תוכנה לדחיסת קבצים ספטמבר 2007 תשס"ח 2007. כל הזכויות שמורות לאוניברסיטה הפתוחה. בית ההוצאה לאור של האוניברסיטה הפתוחה, רח' רבוצקי 108 ת, "ד 808, רעננה 43107. The Open University of Israel, 108
קרא עודPowerPoint Presentation
תוכנה 1 Generics תרגול - 1 תכנות גנרי תמיכה בתכנות גנרי נוספה בגרסה 5 ניתן להגדיר מחלקות ושירותים גנריים מונע שכפול קוד )מוכללים( ניתן לכתוב תוכניות שאינן תלויות בטיפוסי המשתנים מאפשר בטיחות טיפוסים מנגנון
קרא עוד1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle ב
1 תוכנה 1 תרגיל מספר 7 מנשקים Interfaces הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס. הגשת התרגיל תעשה במערכת ה- moodle בלבד.(http://moodle.tau.ac.il/) יש להגיש קובץ zip יחיד
קרא עוד1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_match הפונקציה preg_m
1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_ הפונקציה preg all הפונקציה str_replace הפונקציה preg_replace 2 מהי תבנית
קרא עודMicrosoft Word - c_SimA_MoedB2005.doc
מרצה: שולי וינטנר. מתרגל: עזרא דאיה. מבוא למדעי המחשב בחינת מועד ב', סמסטר א' תשס"ה,.2.2005 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות:. ודאו כי בטופס שבידיכם עמודים. יש לכתוב
קרא עודבס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנ
בס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנהל את מאגר הנתונים של החנות, לבצע אליו שינוים ושאילתות
קרא עודמבחן בפיתוח מערכות תוכנה בשפת Java ( )
עמוד 1 מתוך 10 )0368-3056( מבחן בפיתוח מערכות תוכנה בשפת Java בית הספר למדעי המחשב אוניברסיטת תל אביב סמסטר ב' תשס"ח, מועד ב' תאריך הבחינה: 24.09.2008 מרצה: אוהד ברזילי חומר עזר מותר בשימוש: אין משך הבחינה:
קרא עודמקביליות
תכונות שמורה Invariant Properties גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 בדיקות מודל Checking( )Model מערכת דרישות מידול פירמול בדיקות מודל )Model Checking( מודל של המערכת תכונות פורמליות סימולציה
קרא עודPowerPoint Presentation
תוכנה 1 אוניברסיטת תל אביב INTERFACES תרגול מס' 7: מנשקים, פולימורפיזם ועוד * לא בהכרח בסדר הזה מנשקים )Interfaces( 2 מנשקים מנשק )interface( הוא מבנה תחבירי ב- Java המאפשר לחסוך בקוד לקוח. מנשק מכיל כותרות
קרא עודForMenahelHeshbonot
מנה"ח לכל מומלץ הנהלת החשבונות של בינה מודול הנחיות עבור ריכוז מודול הנהלת החשבונות של בינה שונה בתפיסת עולמו ממודולים דומים בתוכנות הנהלת חשבונות. בתפיסת עולם זו, הנהלת החשבונות היא פועל יוצא של הפעילות
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב הממשקים Iterable,Set ו- Iterator תוכן עניינים מבנה נתונים מבנה נתונים מבנה נתונים הוא container של עצמים שמוגדרות עליו מספר פעולות למשל קבוצה של עצמים (אוסף ללא חזרות) עם הפעולות: הוספת
קרא עודמספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה
עמוד 1 מתוך 11 תשע"א מועד ב סמסטר א' 14.2.2011 תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי המחשב יש לענות על כל 5 השאלות. בכל השאלות במבחן יש לכתוב פונקציות יעילות
קרא עודמבוא למדעי המחשב
מבוא כללי לתכנות ולמדעי המחשב 1843-0310 מרצה: אמיר רובינשטיין מתרגל: דין שמואל אוניברסיטת תל אביב סמסטר חורף 2017-8 חלק ב - מבוא לקריפטוגרפיה שיעור 5 (offset מונחים בסיסיים צופן קיסר (היסט,.1.2 1 Today
קרא עודOffice 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office
Office 365 ProPlus בחינם לסטודנטים באוניברסיטת בן גוריון בנגב הוראות סטודנטים באוניברסיטת בן גוריון בנגב יכולים להוריד ולהתקין את חבילת התוכנה Office 365 ProPlus בחינם. ניתן להוריד ולהתקין את הגרסאות הבאות:
קרא עודמבוא למדעי המחשב
מבוא כללי לתכנות ולמדעי המחשב 1843-0310 מרצה: אמיר רובינשטיין מתרגל: דין שמואל אוניברסיטת תל אביב סמסטר חורף 2017-8 חלק א - השיטה הבינארית שיעור 5 ו- 1? ספירה בבסיס 2 ואיך אומרים "hello" עם 0 1 ממעגלים
קרא עודהמשימה תרגול מס' 5: קלט-פלט במערכות הפעלה שונות יש סימונים שונים עבור ירידת שורה :)newline( ב- UNIX/Linux )Line Feed( \n ב- Windows )Carriage Return +
המשימה תרגול מס' 5: קלט-פלט במערכות הפעלה שונות יש סימונים שונים עבור ירידת שורה :)newline( ב- UNIX/Linux )Line Feed( \n ב- Windows )Carriage Return + Line Feed( \r\n - יכולות להתעורר בעיות... זרמים, קוראים
קרא עודהגשה תוך שבוע בשעת התרגול
מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב את
קרא עודתכנון אלגוריתמים, אביב 1021, תרגול מס' 4 תכנון דינאמי תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (16.1.(CLR ראשית נראה דוגמא: דוגמא: תהינה
תכנון דינאמי בתרגול זה נדון בבעיית הכפלת סדרת מטריצות (6..(CLR ראשית נראה דוגמא: דוגמא: תהינה ארבע מטריצות:. A, A, A, A נסמן את גודל המטריצות בסדרה ע"י סדרת גדלים כאשר, p 5 5 p היא בגודל A {,,,5,}, P כלומר
קרא עודמבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2
מבוא למדעי המחשב תרגול מס' 2 נושאים משתנים טיפוסים אופרטורים פונקציות מתמטיות מהמחלקה Math המרת טיפוסים תנאים ולולאות 1 2 תזכורת משיעור קודם תזכורת... תכנית מחשב נכתבת כטקסט בקובץ. הטקסט כתוב בשפת תכנות
קרא עוד