מצגת של PowerPoint
|
|
- לארא מועלם
- לפני2 שנים
- צפיות:
תמליל
1 שפות תכנות שיעור מספר 5: זכרון ומשתנים הבסיס לתכנות אימפרטיבי בית הספר למדעי המחשב אוניברסיטת תל אביב
2 נושאים עיקריים משתנים פרימיטיביים ומורכבים מודל זכרון אורך החיים של משתנים הפקודות שמעדכנות משתנים תופעות לוואי בביטויים 2
3 משתנים ועידכונם משתנה )בתכנות אימפרטיבי ומונחה עצמים( הוא מיכל שבתוכו יש ערך ניתן לבחון את הערך ולשנותו משתנים משמשים למידול עצמים מעולם הבעיה שיש להם "מצב" שמשתנה עם הזמן לדוגמא - מספר התושבים במדינה שני סוגים עיקריים לפי אורך החיים: קצר - משתני תכנית. משתנים בעיקר ע"י השמה. ארוך - בלתי תלויים בביצוע של תכנית מסוימת. נתונים, קבצים. 3 בסיסי
4 משתנים לעומת משתנים מתמטיים משתנה מתמטי מייצג כמות קבועה אך לא ידועה. אין אנלוגיה לעדכון שנעשה למשתנה בשפת תכנות: n := n + 1 write (x) אבל משתנה בשפת תכנות פונקציונלית הוא אנלוגי למשתנה מתמטי משתנים ממומשים בזכרון פיזי. לא כל התכונות של מדיום זכרון פיזי רלבנטיות לעניין גודל מלה, שיטות מיעון, וכו' 4
5 מודל מופשט של זכרון { זכרון הוא אוסף תאים שלכל אחד כתובת ייחודית לתא יש סטטוס נוכחי 5 - מוקצה או לא מוקצה allocated, unallocated לכל תא מוקצה יש תוכן, שהוא ערך בר אחסון (storable) או בלתי מוגדר. int n; /* unallocated cell becomes allocated, value undefined */ n = 1; /* content of cell denoted by n changes to 1 n = n+1; /* content inspected, then changed */ } /* cell dealloctaed */
6 תאור בתמונה { } int n; n = 1; n = n+1; אפשר לתאר תא כקופסה, n 12? "לא מוגדר" והתוכן בתוכה.? מסמן 6
7 התייחסות למשתנה )reference( לכל משתנה יש תכונה שנקראת התייחסות או רפרנס )reference( הפשטה של הרעיון של "מיקום המשתנה בזיכרון". טיפוס מצביע בפסקל מייצג רפרנס, אבל רק למשתני ערימה.)heap( לעומת זאת ב- C מצביע הוא מושג "נמוך" יותר: כתובת בזיכרון. עוד על מצביעים, כשנדבר על משתני ערמה באופן כללי אין אחידות לגבי המשמעות המדוייקת של "רפרנס" ביניהם. ו"מצביע" (pointer/reference) וההבחנה 7
8 אתחול משתנים אתחול משמעותו מתן ערך למשתנה בזמן ההקצאה. יש שפות שמאפשרות זאת )לדוגמא C(. יש שפות שמחייבות זאת )לדוגמא (. ML יש שפות שמאתחלות באופן אוטומטי לערך מחדל אם אין אתחול מפורש )לדוגמא אייפל, ג'אוה רק לשדות מופע ומחלקה, אך לא למשתנים מקומיים(. יש שפות שמתייחסות לגישה למשתנה שלא קיבל קודם ערך )באתחול או בהשמה( כאל שגיאה. 8
9 משתנים מורכבים ערך מטיפוס מורכב סלקטיבי בנוי מרכיבים שניתן לבחון באופן באופן דומה משתנה מורכב בנוי מרכיבים שגם הם משתנים, וניתן לבחון ולשנות כל אחד מהם בנפרד. בדרך כלל למשתנה מטיפוס T מבנה זהה לערך מטיפוס. T משתנה מורכב עשוי לתפוס מספר תאים. 9
10 דוגמא type Month = )jan, feb,., dec(; Date = record m : Month; d : 1..31; end; var today : Date; dates : array [1..3] of Date; today.d:= 23; today.m := feb; dates[1].m:= may; dates[1].d := 5; dates[2] := dates[1]; feb 23 today 10
11 עדכון מלא או סלקטיבי dates[1] today =: מעדכן את כל המשתנה )עדכון מלא(. today.d:= 25 מבצע עדכון סלקטיבי של רכיב אחד )במקרה זה שדה ברשומה(. ניתן לראות זאת כעדכון כל המשתנה, לערך ששווה לערך הקודם בחלקים האחרים שלו: today := (today.m,25) כלומר עדכון סלקטיבי אינו חיוני בשפת תכנות שתומכת באגרגטים. אבל בלי עדכון סלקטיבי הקוד נעשה מסורבל. 11
12 עדכון ב ML משתנה מטיפוס T ref ניתן לעדכון מלא, אך לא ניתן לעדכן את רכיביו. לדוגמא המשתנה today1 datatype month = jan feb dec; type date = month * int; val today1 : date ref = ref (feb,23) אם הרכיבים הם מטיפוס ref אפשר לעדכן כל רכיב, אך לא ניתן לעדכן את השלם. לדוגמא.today2 type datevar = month ref * int ref; val today2 : datevar = (ref feb, ref 23) מערכים אפשר לעדכן סלקטיבית, האברים הם T. ref פרטים בהמשך 12
13 משתנים מטיפוס מערך משתנה מערך הוא מיפוי מקבוצת אינדקס לאוסף משתנים )אברי המערך(. קביעת קבוצת האינדקס: בזמן קומפילציה : מערך סטטי. בזמן יצירת משתנה המערך: מערך דינמי. קבוצת האינדקס אינה קבועה: מערך גמיש. קבוצת האינדקס היא בדרך כלל תחום רצוף של ערכים מטיפוס דיסקרטי, שמוגדר ע"י ערכי הקצה. 13
14 מערכים סטטיים ערכי הקצה של האינדקסים חייבים להיות קבועים, או ביטויים שכל רכיביהם קבועים )ניתנים לחישוב בזמן קומפילציה(. בפסקל, קבוצת האינדקס של מערך היא חלק מהגדרת הטיפוס. ערכי הקצה הם ליטרלים או קבועים. המדובר בפסקל הסטנדרטי. נעשו הרחבות שונות. ב C ו ++C טיפוס המערך כולל רק את טיפוס האבר האינדקסים תמיד שלמים, גבול תחתון תמיד 0 נקבעים על פי ההצהרה או האתחול המערך לא "יודע" את גודלו )פונקציה על מערך צריכה לקבל את גודלו כפרמטר נוסף( 14
15 דוגמא: מערכים סטטיים ב ++C float v1[ ] = {2.0, 3.0, 5.0, 7.0 }; // index range 0-3 float v2[10]; // index range 0-9, type of both is float[ ] פונקציה שמטפלת במערך צריכה לקבל גם את אורכו כפרמטר void print_vector (float v[ ], int n) { // print the array elements in the form [. ] cout << [ << v[0]; for (int i=1; i<n; i++) cout << << v[i] ; cout << ] ; שפות תכנות,שיעור מספר } 5 15
16 מערכים דינמיים קבוצת האינדקסים נקבעת בזמן ריצה, כשהמשתנה נוצר. ערכי הקצה הם ביטויים שערכם מחושב בזמן הזה. קבוצת האינדקס אינה יכולה להיות חלק מהגדרת הטיפוס )אחרת לא ניתן לבצע בדיקת טיפוסים בזמן קומפילציה(. פעולות מסוימות דורשות בדיקה בזמן ריצה לגבי קבוצת האינדקס. בעדה, טיפוס מערך כולל את הטיפוס של ערכי הקצה, אך לא את הערכים עצמם. 16
17 מערכים דינמיים - דוגמא בעדה m : integer := type vector is array (integer range <>) of float; a: vector (1..10); b : vector (0..m); procedure readvector(v : out vector) is begin for i in v first to v last loop put(v(i)) end loop; end; a:=b; -- compiler warning, possible runtime exception -- ok at runtime only if m is 9 readvector(a); readvector(b); -- always ok גוף הפרוצדורה מתייחס לגבולות המערך כ v last v first ו 17
18 מערכים גמישים קבוצת האינדקסים אינה קבועה. השמה לכל המערך יוצרת קבוצת אינדקסים חדשה. דוגמא )בשפה היפוטתית דמוית עדה(: type vector is array (integer range <>) of float; a : vector := (1 => 1.0, 2 => 2.0, 3 => 0.0); b : vector := (2=> 3.0, 3 => 2.0); a:=b; מערך דינמי או גמיש חייב להכיל את ערכי הקצה של האינדקסים. המערך בדוגמאות הוא מטיפוס integer integer (integer -> float) בג'אוה הגבול התחתון של האינדקסים הוא תמיד, 0 ולכן טיפוס המערך הוא integer (integer -> float) 18
19 מערכים גמישים - דוגמא בג'אוה float [ ] v1 = {2.0, 3.0, 5.0, 7.0 }; // index range 0-3 float [ ] v2 = {0.0, 0.0, 0.0 }; // index range 0-2 v1 = v2; //v1 now points to array with index range 0-2 void print_vector (float [ ] v) { // print the array elements in the form [. ] system.out.print) [ + v[0]); for (int i=1; i<v.length; i++) system.out.print) + v[i]); system.out.print) ] (; אפשר לקרוא ל print_vector עם כל ארגומנט מטיפוס ] [ float בלי תלות בתחום האינדקסים } 19
20 מערכים ב ML מערכים נתמכים ב SML בספריה הבסיסית Basis Library קיימים שני סוגים של מערכים: vector הוא טיפוס פולימורפי למימוש סדרות אברים מאותו טיפוס, המאפשר גישה יעילה לאבר ה, n מספק מגוון פעולות אך לא מאפשר שינוי האלמנטים. )האינדקסים הם..,0,1 (. array דומה ל vector אך מאפשר בנוסף גם שינוי אלמנטים "במקום" בלי צורך ליצור מערך חדש. הפונקציה extract המוגדרת עבור וקטורים ומערכים יוצרת "נתח" - וקטור שמכיל תת סדרה רצופה של אברים )עפ"י אינדקס התחלה ואורך התת סדרה(. מוגדרים גם מספר טיפוסי וקטורים ומערכים מונומורפיים )למשל של שלמים(. 20
21 מערכים ב ML )המשך( גודל המערך נקבע בזמן יצירתו )מערך דינמי( אבל משתנים )רפרנס( הם למעשה מערכים גמישים: val x = Array.array(3,5.0); > val x = [ 5.0,5.0,5.0 ] : real array val z = ref x; Array.length(!z); > 3 z := Array.array(4,1.0); Array.length(!z); > 4 21
22 מערך אסוציאטיבי מערך שהאינדקסים שלו מטיפוס שאינו דיסקרטי )נקראים מפתחות ( בדרך כלל מחרוזות. בשפות סקריפט כגון מערך מוכלל(. perl ולפניה ב awk ב python זה נקרא מילון (dictionary) בשפות אחרות זמין בספריות. )נקרא גם 22
23 מערך אסוציאטיבי ב perl אין סדר מוגדר לאברים (מימוש בטבלת )hash my %table; # declare an a associative array $table{ schmoe } = joe ; $table{7.5}= 2.6; print $table{ schmoe } ; # prints joe --$table{7.5}; # $table{7.5} now 1.6 ניתן לכתוב לולאה לכל ערכי האינדקסים המוגדרים. while (($key, $value) = each (%table)) {.. } ניתן לבדוק אם אינדקס מסוים מוגדר. $table{10} # undef (not in table) ניתן להסב למערך רגיל ע"י השמה למשתנה מערך רגיל שיכיל לסירוגין אינדקס וערך. )גודל כפול(. ניתן גם להסב מערך רגיל באורך זוגי למערך אסוציאטיבי. 23
24 מערך אסוציאטיבי ב python >>> tel = {'jack': 4098, 'sape': 4139} >>> tel['guido'] = 4127 >>> tel {'sape': 4139, 'guido': 4127, 'jack': 4098} >>> tel['jack'] 4098 >>> del tel['sape'] >>> tel['irv'] = 4127 >>> tel {'guido': 4127, 'irv': 4127, 'jack': 4098} >>> tel.keys() ['guido', 'irv', 'jack'] >>> 'guido' in tel True 24
25 הערות על מערך אסוציאטיבי מערך אסוציאטיבי צריך לכלול בנוסף למיפוי, קבוצת האינדקסים. האם השם מערך אסוציאטיבי מוצדק? גם את )דומה למערך?( 25
26 משמעות ההשמה: סמנטיקה של העתקה ושל התייחסות משמעות ההשמה של ערך מורכב למשתנה מאותו טיפוס תלויה בשפה. שני סוגי סמנטיקה: סמנטיקת העתקה: semantics) (copy ההשמה מעתיקה את כל רכיבי הערך המורכב לרכיבים המתאימים במשתנה. ב ++C, C, עדה. בג'אוה רק לערכים פרימיטיביים סמנטיקת התייחסות: semantics) (reference ההשמה גורמת למשתנה להכיל התייחסות )או מצביע( לערך המורכב. בג'אוה לעצמים )כולל מערכים( ניתן להשיג אפקט של סמנטיקת התייחסות )ב C למשל( ע"י שימוש מפורש במצביעים ניתן להשיג אפקט של סמנטיקת העתקה )בג'אוה עבור עצמים למשל( ע"י פעולת שיבוט (clone) 26
27 דוגמא בג'אוה class Date { int y, m, d; } Date date1 = new Date(2009,3,16); Date date2 = new Date(2008,1,1); date2 = date1; Date date3 = date1.clone( ); date1 date2 date סמנטיקת התייחסות שיבוט יוצר אפקט של סמנטיקת העתקה 27
28 דוגמא ב ++C struct Date { int y, m, d; } Date date1 = {2009,3,16}; Date date2; date2 = date1; date1 date סמנטיקת העתקה ??? כדי להשיג אפקט של סמנטיקת התייחסות, משתמשים במצביעים. דומה לרפרנסים בג'אוה Date* date3 = new Date; Date* date4 = new Date; *date3 = date1; 28 date4 = date3;
29 משמעות פעולת השוויון בדיקת שוויון ששפת התכנות מספקת צריכה להיות תואמת לסמנטיקה של השמה. המתכנת צריך לדעת שמייד לאחר השמה של V ל U, V יהיה שווה ל U, בין אם הסמנטיקה של השמה היא העתקה או התייחסות לכן בדיקת שוויון צריכה להתנהג כך: סמנטיקה של העתקה: בדיקת שוויון צריכה לבדוק אם ערכי הרכיבים של שני הערכים המורכבים שווים סמנטיקה של התייחסות: בדיקת שוויון צריכה לבדוק אם המצביעים לשני הערכים המורכבים שווים )המצביעים פונים לאותו משתנה( 29
30 משך חיים פרק הזמן בין יצירה וביטול נקרא משך חיים של המשתנה. 30 )lifetime( משך החיים הוא תכונה של המשתנה )תא זיכרון( ויש להבחין בינו לבין scope של מזהה. משך החיים הוא תכונה דינמית )בציר הזמן( בעוד scope הוא תכונה סטטית )לרוב( אורך חיי משתנה הוא מושג חשוב לניהול יעיל וחסכוני של הזיכרון סוגים שונים של אורך חיים: משתנה אוטומטי, סטטי, מתמיד,(persistent) ערמה בהמשך נדבר על משתנה מארז, ומשתנה מחלקה
31 משתנים אוטומטיים משתנה אוטומטי קשור לבלוק פקודות. בלוק במובן הכללי ביותר, פונקציה בפסקל ו C, }... אקטיבציה של בלוק 31 כגון גוף פרוצדורה או { ב, C ביטוי let ב.ML - אינטרוול זמן בו הבלוק פעיל. אורכי חיים של משתנים הם מקוננים, לא נכון כאשר יש חוטים )threads לא חופפים למשתנה מקומי יכולים להיות מספר אורכי חיים. כאשר יש רקורסיה ניתן לנהל אותם במחסנית. - מספר אורכי חיים מקוננים. )זה המושג משתנה מקומי או גלובלי נוגע בעקר ל scope
32 משתנים סטטיים ב C ו : PL/I משתנים שאורך החיים שלהם הוא התכנית כולה, בלי תלות באיזה מקום הוגדרו. כמו משתנה גלובלי מבחינת אורך החיים. אבל כמו משתנה מקומי מבחינת זמינותו.(scope) משמש בעיקר כשמשתנה מקומי צריך לשמור את ערכו לקריאה הבאה של הפונקציה. בתכנות מוכוון עצמים יש דרך עדיפה לטפל בזה: שדות מופע או שדות מחלקה 32
33 משתנים פרסיסטנטיים משתנה מתמיד (Persistent) של תכנית מסוימת. - לעומת משתנה בן-חלוף התכנית שיצרה אותו. )transient( קבצים הם משתנים מורכבים מתמידים. קובץ סדרתי הוא סדרה, אורך חייו הוא מעבר לביצוע קובץ ישיר דומה למערך - משך חייו מקונן בביצוע בשפות מסוימות )פסקל( קבצים הם טיפוסי נתונים בשפה. תמיכה במשתנים מתמידים. בשפות אחרות יש פרוצדורות ספריה לטיפול בקבצים זוהי למה לא לאפשר שכל טיפוס יהיה זמין כמתמיד או כבן-חלוף? 33
34 משתני ערמה heap משתנים שנוצרים ומבוטלים באופן מפורש, לא לפי מבנה הבלוקים. משתנה ערמה נוצר ע"י פקודה מפורשת, אין לו שם, והגישה אליו באמצעות מצביע. משתנה מקומי או גלובלי נוצר בהצהרה ויש לו מזהה מצביע הוא ערך מסדר ראשון. מאפשר יצירת מבני נתונים מורכבים כלשהו(. מאפשר עדכון המבנה, לא רק התוכן סלקטיבי(. )גרף מכוון )יותר מעדכון 34
35 דוגמא בפסקל type IntList = ^IntNode; IntNode = record hd : integer; tl : IntList end; var odds, primes : IntList; function cons (h: integer; t: IntList) : IntList; var l : IntList; begin new(l); l^.hd:=h; l^.tl:=t; cons :=l; end; odds := cons (3, cons (5, cons (7, nil))); primes := cons (2,odds); 35
36 הדוגמא בפעולה primes nil odds odds:= cons (3, cons (5, cons (7, nil) ) ) primes:= cons (2,odds) 36
37 עוד על משתני ערמה פעולת יצירה (allocator) מפורשת ליצירת משתנה ערמה, מחזירה מצביע למשתנה. בפסקל malloc, בג'אוה,new ב C new(l) פעולת השמדה בפסקל,dispose (deallocator) משמידה משתנה ערמה,free ב C בג'אוה אין פעולת השמדה משתנה ערמה נשאר נגיש (reachable) כל זמן שניתן להגיע אליו באמצעות מצביעים ממשתנה מקומי או גלובלי אורך החיים של משתנה ערמה מתחיל בפעולת היצירה, ומסתיים בפעולת השמדה או כשהוא מפסיק להיות נגיש 37
38 מצביעים מצביע (pointer) הוא התייחסות למשתנה מסוים, שנקרא המשתנה המוצבע (referent) ערך null הוא ערך מיוחד למצביע שמציין שאין לו מוצבע במודל הזכרון שלנו, מצביע הוא בעצם כתובת המוצבע. אבל למצביע יש טיפוס, שנגזר מטיפוס המוצבע T בפסקל הטיפוס נקרא ^ T בעדה access T ב T* c++ וב c 38
39 מצביעים ומשתני ערמה משתני ערמה עם מצביעים מייצגים טיפוסים רקורסיביים. מצביע הוא מושג ברמת הפשטה נמוכה. תוכניות עם מצביעים קשות לניפוי שגיאות. שיתוף (sharing) בין מבנים primes:= odds איזה רשימה )או רשימות( מעודכנת סלקטיבית ע"י המשפט הבא? אולי נוצר מעגל ברשימה? p^.tl := q רוב שפות התכנות מספקות מצביעים במקום תמיכה ישירה בטיפוסים רקורסיביים )מדוע? ראה בשקף הבא( 39
40 מצביעים לעומת טיפוסים רקורסיביים אם שפה אימפרטיבית רקורסיביים כמו ב ML )פסקל או C( תתמוך בטיפוסים מה תהיה המשמעות של השמה list1 =: list2 כאשר אלה משתנים מטיפוס שמייצג רשימות שלמים? סמנטיקת העתקה: יש להעתיק את כל הרשימה.list2 שינוי עתידי ברשימה אחת לא משפיע על השנייה יקר מאד בזיכרון ובזמן סמנטיקת התייחסות: מצביעים בתחפושת פשרה?: 5 40 נוצר שיתוף בין הרשימות לא לאפשר עדכון סלקטיבי של רשימות שפות תכנות,שיעור מספר
41 dangling references dangling reference הוא מצביע למשתנה שהושמד. עלול לקרות באחד משני המקרים הבאים: מצביע למשתנה ערמה קיים לאחר שמשתנה הערמה עצמו הושמד )כשהשפה תומכת בפעולת השמדה(. מצביע למשתנה אוטומטי קיים )למשל ערכו נשמר במשתנה גלובלי( לאחר שיצאנו מהבלוק בו הוצהר המשתנה המקומי 41
42 דוגמא dangling references { } int *r ; { int v; r = &v; } *r = 1; דוגמא ב C. מחסנית זמן ריצה גדלה כלפי מעלה. תאים שמעל ל top הם במצב לא מוקצה top v 1 top r top נסיון לגשת למשתנה מקומי שחייו הסתיימו 42
43 השמה של פונקציה )1( כאשר פונקציות או פרוצדורות הן ערכים מדרגה ראשונה, נוצרת אפשרות נוספת ל dangling references התכנית הבאה מתייחסת להרחבה היפוטתית של פסקל שמאפשרת השמת פונקציה למשתנה מקומי. 43
44 השמה של פונקציה )2( var fv : integer -> boolean procedure p; var v : function f(n : integer) : boolean; begin v:=1 end; begin // body of p fv := & f end; // body of p begin // main program p; fv (0) end // main program top (v was here) top f היא קריאה ל fv(0) הקריאה code of f v n 10 fv ניסיון לגשת למשתנה מקומי v שחייו הסתיימו. עלול לדרוך על משתנה אחר )אולי n( 44
45 השמה של פונקציה )3( במהלך הביצוע של p נעשית השמה של הפונקציה המקומית f למשתנה. fv הקריאה fv(0) היא בעצם קריאה לערך של fv שהוא הפונקציה f בביצוע f יש גישה למשתנה v שאינו חי. dangling reference נוצר גם כאשר מוחזרת פונקציה כערך. 45
46 )1( מניעת dangling references בפסקל הבעיה עם משתנים נמנעת בכך שהתיחסויות )רפרנס( למשתנים מקומיים אינם מדרגה ראשונה. ref התייחסות למשתנה מקומי יכולה לעבור כפרמטר כלומר להיקשר לפרמטר הפורמלי. אבל אורך חיי הפרמטר מקונן באורך חיי הארגומנט פתרון חלקי באלגול - 68 השמת בתנאי שאורך חיי המשתנה מוכל או שווה לאורך חיי ה מחייב בדיקה בזמן ריצה מגביל את המתכנת באופן שרירותי reference מותרת: המקרה שמוצג בשקף שלפני הקודם לא יכול לקרות ב C בגלל שאין קינון פונקציות ב C 46
47 מניעת )2(dangling references השמה של התייחסות למשתנה ערמה לא תגרום לבעייה אם משתנה הערמה אף פעם לא מבוטל. ביטול משתנה ערמה )ביטול הקצאה( עלול להפוך כל התייחסות אליו ל dangling לכן בג'אוה אין ביטול משתנה ( deallocate או dispose לא קיים( משתנה חי כל זמן שיש התייחסות )ישירה או עקיפה( אליו דורש איסוף זבל בעדה ניתן לבטל משתנה רק ביחידת תכנית שמכריזה with Ada.Unchecked_Deallocation 47
48 ניהול זכרון הקצאה ושחרור של זיכרון אורך חיים של משתנים מקומיים מקונן קל לנהל אותם במחסנית. אורכי חיי משתני ערמה אינם מקוננים דרוש ניהול מפורש של זיכרון - בהקצאה - בהשמדה יש לספק תאים כנדרש. יש להחזיר לזיכרון החופשי. מערכת זמן הריצה מטפלת בהקצאת הזיכרון, את הזיכרון החופשי. ומנהלת 48
49 שתי גישות להחזרה לזכרון החופשי גישה 1: החזרת הזכרון מוטלת על המתכנת (++C,C) שמבצע פעולת השמדה באופן מפורש. בעיות: זליגת זכרון: זכרון ללא שימוש שלא בוטלה הקצאתו references : dangling גישה למשתנים שאינם חיים. גישה 2: איסוף זבל garbage collection המתכנת לא מבצע השמדה. מערכת זמן הריצה אחראית למצוא זבל )תאים שאין אליהם גישה( ולהחזיר לזיכרון החופשי מתי יתבצע איסוף הזבל? 49
50 איסוף זבל garbage collection אלגוריתם סימון ואיסוף מתבצע בדרך כלל כאשר הזכרון )כמעט( נגמר יתרון: לא צריך לבזבז משאבים אם כמות הזכרון מספיקה לשיטה הזאת מספר חסרונות )למשל בתוכנת זמן אמת( יש פתרונות אחרים )העתקה, אזורי זכרון, דורות של זכרון( חסרונות לגישה: אם המתכנת השאיר מצביע למבנה לא נחוץ, הוא לא ייאסף מתאים במיוחד לתכנות פונקציונלי. נחוץ גם במונחה עצמים ככלל, איסוף זבל הרבה פחות יעיל מניהול זכרון במחסנית, ולכן עדיף שימוש במשתנים אוטומטיים כשזה אפשר 50
PowerPoint Presentation
מבוא למדעי המחשב תירגול 6: כתובות ומצביעים 1 תוכנייה מצביעים מצביעים ומערכים, אריתמטיקה של מצביעים 2 3 מצביעים תזכורת- כתובות זיכרון הזיכרון כתובת התא #1000 #1004 #1008 ערך השמור בתא תא 10-4 לא מאותחל
קרא עודPowerPoint Presentation
תוכנה 1 תרגול 1: סביבת העבודה ומבוא ל- Java אלכסיי זגלסקי ויעל אמסטרדמר 1 בירוקרטיה אלכסיי זגלסקי שעת קבלה: שני 13:00-14:00, בתיאום מראש משרד: בניין הנדסת תוכנה, חדר 209 יעל אמסטרדמר שעת קבלה: חמישי 15:00-16:00,
קרא עודתכנות מונחה עצמים א' – תש"ע
1 תכנות מונחה עצמים והנדסת תוכנה תשע"ו 2 בנאי העתקה בניית העתק של אובייקט קיים. בניית העתק בעת העברת אובייקט לפונקציה. בניית העתק בעת החזרת אובייקט מפונקציה. ניתן להגדיר בנאי העתקה. אם לא מגדירים, אז הקומפיילר
קרא עודמבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו
מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן
קרא עודMicrosoft PowerPoint - rec1.ppt
תכנות מונחה עצמים בשפת ++C תר גול מ ספר 1 אוהד ב ר זילי אוניברסיטת תל א ביב חדש חדיש ומחודש תוספות של + +C לשפ ת C 1 #include Hello World using namespace std; int main() cout
קרא עוד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 מחלקה - עד עכשיו השתמשנו בעיקר בטיפוסים מובנים ופונקציות המבצעות חישובים
קרא עודתרגול 1
מבוא למדעי המחשב 2019 תרגול 5 מחרוזות, חתימות ורקורסיה מחרוזות רצף של תווים רקורסיה קריאה של מתודה לעצמה באופן ישיר או עקיף ראינו בהרצאה מחרוזות: תווים, חתימות: העמסה- String,הצהרה, overloading אתחול רקורסיה:
קרא עודSlide 1
מבוא למדעי המחשב תירגול 4: משתנים בוליאניים ופונקציות מבוא למדעי המחשב מ' - תירגול 4 1 משתנים בוליאניים מבוא למדעי המחשב מ' - תירגול 4 2 ערכי אמת מבחינים בין שני ערכי אמת: true ו- false לכל מספר שלם ניתן
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג חשון תשע"ח 12/11/17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד קיץ סמ' שנה תשע"ז 3 שעות משך
קרא עודמקביליות
PROMELA גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון עדכון אחרון: 21:40 15/06/2013 2 שפת מ פ ר ט עם ס מ נ ט יק ה מוגדרת באופן מתמטי "שפת תכנות" למודלים המטרה: לאפשר גם לכאלה שאינם חוקרים בתחום לבנות
קרא עודסדנת תכנות ב C/C++
פקולטה: מדעי הטבע מחלקה: מדעי המחשב שם הקורס: מבוא למחשבים ושפת C קוד הקורס: 2-7028510 תאריך בחינה: 15.2.2017 משך הבחינה: שעתיים שם המרצה: ד"ר אופיר פלא חומר עזר: פתוח שימוש במחשבון: לא הוראות כלליות:
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב מחרוזות, חתימה של פונקציה ומעטפות תוכן עניינים טיפוסים מורכבים טיפוסים מורכבים ערך שם טיפוס 12 m int undef. x boolean true y boolean arr int[] כאלה שעשויים להכיל יותר מערך פרימיטיבי אחד
קרא עודאוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ
אוניברסיטת בן גוריון בנגב תאריך המבחן: 12.02.17 שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: 202.1.9031 מס' הקורס : הנדסת תעשיה וניהול מיועד לתלמידי : א' מועד א' סמ' שנה תשע"ד 3 שעות משך
קרא עודMicrosoft PowerPoint - Lecture1
Computer Organization and Programming ארגון ותכנו ת המחשב - את"מ הרצאה מבוא 2 שפה עילית מול שפ ת מ כונה שפה עילית language) (High level שפת מכונה Language) (Machine תכנית בשפ ה עיל ית (C, Pascal, ) תכנית
קרא עודהגשה תוך שבוע בשעת התרגול
מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב את
קרא עודSlide 1
בעיית התוכנית הגדולה C תוכנית גדולה המבצעת פעולות רבות, יכולה להפוך לקשה מאוד לניהול אם נשתמש רק בכלים שלמדנו עד כה: 1. קשה לכתוב ולנפות את התוכנית,. קשה להבין אותה, 3. קשה לתחזק ולתקן אותה, 4. קשה להוסיף
קרא עודאוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו
אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', 31.1.2017 מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבוני, דולב שרון הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה
קרא עודMicrosoft Word B
מרצה: שולי וינטנר. מתרגל: שלמה יונה מבוא למדעי המחשב מועד ב', סמסטר א' תשס"ג, 17/2/03 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: 1. ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב
קרא עודPowerPoint Presentation
1 תוכנה 1 תרגול 1: מנהלות, סביבת העבודה ומבוא ל- Java 1 2 מנהלות I מתרגלים: יעל אמסטרדמר )שעת קבלה: חמישי ב- 12, בתיאום מראש( דביר נתנאלי )שעת קבלה: רביעי ב- 17, בתיאום מראש( http://courses.cs.tau.ac.il/software1/1415a
קרא עודSlide 1
מבוא למדעי המחשב תירגול 7: פונקציות 1 מה היה שבוע שעבר? לולאות מערכים מערכים דו-ממדיים 2 תוכנייה )call by value( פונקציות העברת פרמטרים ע"י ערך תחום הגדרה של משתנה מחסנית הקריאות 3 פונקציות 4 הגדרה של
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב תכנות מונחה אובייקטים תוכן עניינים טיפוסי נתונים מורכבים המחלקה String תזכורת לשימוש שעשינו במחלקה String str = new String( Hello ); s.o.p(str.tostring()); s.o.p(str.charat(4)); s.o.p(str.equals(
קרא עודפתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.
פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9. הדפסה ראשונה: מתבצעת לולאה שרצה מאפס עד אורך המחרוזת.
קרא עודיוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן
יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן מתרגלים: הנחיות: השאלות. כל על לענות עליכם משקל. שוות
קרא עודמבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב
מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. בדקו שכל העמודים ברשותכם. ב. משך המבחן שלוש שעות (180
קרא עודPowerPoint Presentation
תכנות מתקדם בשפת Java אוניברסיטת תל אביב 1 תוכנה 1 תרגול 3: עבודה עם מחרוזות )Strings( מתודות )Methods( 1 תכנות מתקדם בשפת Java אוניברסיטת תל אביב 2 מחרוזות )STRINGS( 3 מחרוזות String s = Hello ; מחרוזות
קרא עודמהוא לתכנות ב- JAVA מעבדה 3
מבוא לתכנות ב- JAVA מעבדה 3 נושאי התרגול לולאות ניפוי שגיאות לולאות - הקדמה כיצד הייתם כותבים תוכנית שתדפיס את המספרים השלמים בין 1 ל- 100 בעזרת הכלים שלמדתם עד עתה? חייבת להיות דרך אחרת מאשר לכתוב 100
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ג מנ' אב תשע"ז 15.08.17 שמות המורים: ציון סיקסיק א' ב- C תכנות מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' ב' שנה תשע"ז 3 שעות
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב שימוש במחסנית - מחשבון תוכן עניינים prefix כתיבת ביטויים ב-,infix ו- postfix postfix prefix,infix ביטויים ב- כתיבת ו- infix נוסח כתיבה ב- (operator אנו רגילים לכתוב ביטויים חשבוניים כדוגמת
קרא עודפייתון
שיעור 12: מילונים ברק גונן 1 או מילון, :hash table או,dictionary זוגות של מפתחות keys וערכים values מילון מוגדר על ידי סוגריים מסולסלים { } לדוגמה: מילון שמכיל ציונים, המפתח הוא מספר ת.ז ערך מפתח הגדרה
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי
אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה מהכיתה במהלך
קרא עודMicrosoft PowerPoint - lec10.ppt
תכנו ת מ ונחה ע צמ י ם בשפת ++C אוהד ברזילי אוניברסיטת תל אביב ירו ש ה מרו בה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand
קרא עודמקביליות
תכונות שמורה Invariant Properties גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 בדיקות מודל Checking( )Model מערכת דרישות מידול פירמול בדיקות מודל )Model Checking( מודל של המערכת תכונות פורמליות סימולציה
קרא עודמבוא למדעי המחשב - חובלים
החוג למדעי המחשב אוניברסיטת חיפה מבוא למדעי המחשב סמסטר א' תשע"ג בחינת סיום, מועד ב', 20.02.2013 מרצה: ריטה אוסדצ'י מתרגלת: נעמה טוויטו מדריך מעבדה: מחמוד שריף משך המבחן: שעתיים חומר עזר: ספר של Kernighan
קרא עודאוניברסיטת בן גוריון בנגב תאריך המבחן: שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות מס' הקורס : מיועד לתלמידי : הנד
אוניברסיטת בן גוריון בנגב תאריך המבחן: 29.01.19 שם המרצה: מר אלכסנדר שקולניק, בשפת JAVA מבחן ב: מבוא לתכנות 202.1.9031 מס' הקורס : מיועד לתלמידי : הנדסת תעשיה וניהול שנה תשע"ט א' סמ' א' מועד 3 שעות משך
קרא עודSlide 1
מבוא לתכנות ב- JAVA תרגול 5 מה בתרגול מחרוזות מערכים דו ממדיים מחרוזות (Strings) מחרוזת היא רצף של תווים. immutable על מנת ליצור ולטפל במחרוזות נשתמש במחלקה String למחלקה String מתודות שונות שמאפשרות פעולות
קרא עודתורת הקומפילציה
תורת הקומפילציה תרגיל בית 2 הוראות לתרגיל 2 בשפת MINI-PASCAL הפרוייקט המצורף הינו קוד שלד של מהדר לשפת mini-pascal עליכם לממש בסביבת (Eclipse (Java את הפונקציות המתאימות לפי החומר שנלמד בהרצאה ע"מ שהמהדר
קרא עודPowerPoint Presentation
תוכנה 1 Generics תרגול - 1 תכנות גנרי תמיכה בתכנות גנרי נוספה בגרסה 5 ניתן להגדיר מחלקות ושירותים גנריים מונע שכפול קוד )מוכללים( ניתן לכתוב תוכניות שאינן תלויות בטיפוסי המשתנים מאפשר בטיחות טיפוסים מנגנון
קרא עודמבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי
מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדיקות אחרונות לפני מסירה )עמודים 8-11( מבנה השאלון 5
קרא עודמבוא לתכנות ב- JAVA תרגול 11
מבוא לתכנות ב- JAVA תרגול 11 רשימה מקושרת אוסף סדור של איברים מאותו טיפוס. קודקוד ברשימה )Node( מכיל את המידע + הצבעה לקודקוד הבא ברשימה data next first רשימה :)List( מיוצגת ע"י מצביע לאיבר הראשון ברשימה
קרא עודמבוא למדעי המחשב - חובלים
אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב סמסטר ב' תשע"ב בחינת סיום, מועד ב',.02..9.7 מרצה: אורן וימן מתרגלים: נעמה טוויטו ועדו ניסנבוים מדריכי מעבדה: מחמוד שריף ומיקה עמית משך המבחן: שעתיים חומר
קרא עודמבוא לתכנות ב- JAVA תרגול 7
מבוא לתכנות ב- JAVA תרגול 8 תזכורת - מבנה של פונקציה רקורסיבית.2 פונקציה רקורסיבית מורכבת משני חלקים עיקריים 1. תנאי עצירה: מקרה/מקרים פשוטים בהם התוצאה לא מצריכה קריאה רקורסיבית לחישוב צעד רקורסיבי: קריאה
קרא עודPowerPoint Presentation
תוכנה 1 3 תרגול מס' מתודות ותיכון לפי חוזים חוזה בין ספק ללקוח חוזה בין ספק ללקוח מגדיר עבור כל שרות: תנאי ללקוח - "תנאי קדם" precondition - - תנאי לספק "תנאי אחר".postcondition לקוח ספק 2 תנאי קדם )preconditions(
קרא עודמבוא לאסמבלי
1 ברק גונן תוכנית שבנויה מחלקי קוד נפרדים המשולבים זה בזה מאפיינים: נקודת כניסה אחת נקודת יציאה אחת מבצעים פעולה מוגדרת נקראים פרוצדורות ברק גונן 2 קוד קצר יותר לא צריך לחזור על חלקי קוד שאלה למחשבה: האם
קרא עודשעור 6
שעור 6 Open addressing אין רשימות מקושרות. (נניח שהאלמנטים מאוחסנים בטבלה עצמה, לחילופין קיים מצביע בהכנסה המתאימה לאלמנט אם אין שרשור). ב- addressing open הטבלה עלולה להימלא ב- factor α load תמיד. במקום
קרא עודשאלהIgal : מערכים דו מימדיים רקורסיה:
אוניברסיטת בן גוריון בנגב מספר נבחן : תאריך המבחן: כ"ח תשרי תשע"ז 30.10.16 שמות המורים: ציון סיקסיק א' תכנות ב- C מבחן ב: 202-1-9011 מס' הקורס : הנדסה מיועד לתלמידי : ב' מועד סמ' קיץ שנה תשע"ו 3 שעות משך
קרא עודSlide 1
מבוא לשפת C תירגול 8: פונקציות שבוע שעבר... מערכים מיזוג מערכים ממויינים מערכים דו-ממדיים מבוא לשפת סי - תירגול 8 2 תוכנייה פונקציות ברמת התקשורת הבין-אישית חלוקה לתתי בעיות בדומה למפתח של ספר קריאות גבוהה
קרא עודמספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה
עמוד 1 מתוך 11 תשע"א מועד ב סמסטר א' 14.2.2011 תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי המחשב יש לענות על כל 5 השאלות. בכל השאלות במבחן יש לכתוב פונקציות יעילות
קרא עודSlide 1
מבוא לשפת C תירגול 3: טיפוסים והמרות 1 מה היה שבוע שעבר? משתנים קלט/פלט scanf( ו- printf ( Redirection The Input Buffer 2 תוכנייה טיפוסי משתנים קלט/פלט מעוצב המרה בין טיפוסים קבועים 3 חישוב ממוצע בין שני
קרא עודתרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש
תרגול מס' 4: המתרגם שימוש במחלקות קיימות מחרוזות, קבצים, וקבלת קלט מהמשתמש המתרגם משימה: תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם 2 שאלות האם כבר יש
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב המחלקה Object תוכן עניינים Object הורשה והמחלקה ערך שם טיפוס DynamicIntArray da data size incrementsize DynamicArray תזכורת - Object[] data; int size; int incrementsize; DynamicArray זה
קרא עודמתכונת עיצוב 3013
מדעי המחשב פרק ראשון Java שאלה 1 שאלה 1 נכתב ע"י ראמי ג'באלי C# Java 2 א. שאלה ב. הערה: במבחן כתוב שיש שלשה אחת בלבד של פנסים כאלו. ולמרות זאת נשאיר את המשתנה הבוליאני כך שאם נמצאו הפנסים בתחילת המערך
קרא עודהגשה תוך שבוע בשעת התרגול
מרצה: שולי וינטנר. מתרגל: עזרא דאיה. מבוא למדעי המחשב בחינת מועד א', סמסטר א' תשס"ה, 6..5 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות: ודאו כי בטופס שבידיכם 8 עמודים. יש לכתוב
קרא עודMicrosoft Word - c_SimA_MoedB2005.doc
מרצה: שולי וינטנר. מתרגל: עזרא דאיה. מבוא למדעי המחשב בחינת מועד ב', סמסטר א' תשס"ה,.2.2005 משך המבחן: שעתיים וחצי. חומר עזר: מותר כל חומר עזר, מלבד מחשב. הנחיות:. ודאו כי בטופס שבידיכם עמודים. יש לכתוב
קרא עודתוכן העניינים
הוצאת חושבים קדימה הילה קדמן חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527 kadman11@gmail.com
קרא עודמקביליות
תכונות בטיחות Safety Properties גרא וייס המחלקה למדעי המחשב אוניברסיטת בן-גוריון 2 תזכורת: תכונות זמן ליניארי Linear Time Properties תכונות זמן-ליניארי מתארות קבוצת עקבות שהמערכת צריכה לייצר מכוונים ללוגיקה
קרא עודתכנות דינמי פרק 6, סעיפים 1-6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח
תכנות דינמי פרק 6, סעיפים -6, ב- Kleinberg/Tardos סכום חלקי מרחק עריכה הרעיון: במקום להרחיב פתרון חלקי יחיד בכל צעד, נרחיב כמה פתרונות אפשריים וניקח בסוף את הטוב ביותר. סכום חלקי sum) (subset הקלט: סדרה
קרא עודמבוא למדעי המחשב
מבוא למדעי המחשב הממשקים Iterable,Set ו- Iterator תוכן עניינים מבנה נתונים מבנה נתונים מבנה נתונים הוא container של עצמים שמוגדרות עליו מספר פעולות למשל קבוצה של עצמים (אוסף ללא חזרות) עם הפעולות: הוספת
קרא עודתורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב
תורת החישוביות תרגול הכנה לוגיקה ותורת הקבוצות מה יש כאן? בקורס תורת החישוביות נניח ידע בסיסי בתורת הקבוצות ובלוגיקה, והכרות עם מושגים בסיסיים כמו א"ב, מילה ושפה לטובת מי ששכח חומר זה, או שלא למדו מעולם,
קרא עודמצגת של PowerPoint
מבוא כללי לתכנות ולמדעי המחשב תרגול מס' 1 דין שמואל dshmuel110@gmail.com 1 1. מנהלות מרצה: אמיר רובינשטיין, amirr@tau.ac.il שעות קבלה: לשאלות קצרות - מייד לאחר השיעור. ניתן לתאם במייל שעות אחרות. מתרגל:
קרא עודTutorial 11
מבוא לשפת C תרגול 8: מערכים רב-ממדיים תרגילים בנושא מערכים ורקורסיה מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקנשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב" נכתב ע"י טל כהן, עודכן ע"י
קרא עודמשימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות תכנות מתק
משימה תכנית המתרגמת קטעי טקסט לשפה אחרת הקלט: קובץ המכיל את קטעי הטקסט וכן את השפה אליה רוצים לתרגם תרגול מס' 4: המתרגם שימוש במחלקות קיימות 2 הפשטה שאלות כצעד ראשון נפתור בעיה הרבה יותר פשוטה האם כבר
קרא עודSlide 1
מבוא למחשב בשפת C : מערכים חד ודו-ממדיים מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב". עודכן ע"י דן רביב נכתב על-ידי טל כהן, נערך ע"י איתן אביאור.
קרא עודתאריך פרסום: תאריך הגשה: מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש לה
תאריך פרסום: 01.01.15 תאריך הגשה: 15.01.15 מבנה נתונים תרגיל 5 )תיאורטי( מרצה ומתרגל אחראים: צחי רוזן, דינה סבטליצקי נהלי הגשת עבודה: -את העבודה יש להגיש בזוגות. -העבודה חייבת להיות מוקלדת. -הקובץ חייב
קרא עודMicrosoft PowerPoint - lec9.ppt
ת כנ ות מונ ח ה עצמי ם בשפת + +C ירוש ה אוהד ברזילי אונ יברסיטת תל אביב ירוש ה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי
אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', 6.2.2012 הנחיות: 1. משך הבחינה: 120 דקות. 2. היציאה מהכיתה במהלך
קרא עודMicrosoft Word - Ass1Bgu2019b_java docx
ת ר ג י ל 1 ב ק ו ר ס מ ב ו א לתכנות 202.1.9031 JAVA סמסטר ב, ת נ א י ם ו ל ו ל א ו ת תאריך אחרון להגשה בציון מלא : 02.04.19 עד שעה : 23:55, כ ל יום איחור ל א מ א ו ש ר א ו ח ל ק ממנו מודריד 10 נקודות
קרא עודHomework Dry 3
Homework Dry 3 Due date: Sunday, 9/06/2013 12:30 noon Teaching assistant in charge: Anastasia Braginsky Important: this semester the Q&A for the exercise will take place at a public forum only. To register
קרא עודPowerPoint Presentation
מבוא למדעי המחשב תירגול 2: מבוא לתיכנות ב- C 1 תוכנייה משתנים קלט/פלט משפטי תנאי מבוא למדעי המחשב מ' - תירגול 3 2 משתנים 3 משתנים- תמונת הזיכרון הזיכרון כתובת התא #1000 10-4 לא מאותחל 67 לכל תא בזיכרון
קרא עוד2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ
מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מספיק עמדות לכולם ולכן מומלץ לעבוד ביחידים). במהלך המעבדה יהיה עליכם לבצע משימות. אם תצטרכו עזרה בשלב
קרא עודמועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מו
מועד: א בחינה סופית במתמטיקה דיסקרטית משך הבחינה: 2 1 שעות מרצה: פרופ' תאופיק מנסור תאריך: 26.01.2018 2 סמסטר: א תשע"ח m 2 הוראות לנבחן: )1( הבחינה מורכבת מ- 6 שאלות. כל שאלה מזכה ב- 20 נקודות כך הנקודות
קרא עודתוכן העניינים
הוצאת חושבים קדימה הילה קדמן # חלק ב יעוץ מקצועי: חיים אברבוך מותאם לתכנית הלימודים החדשה בבתי הספר התיכוניים מהדורה חמישית הוצאת חושבים קדימה ת.ד. 1293 רעות 71908 www.kadman.net הילה קדמן 0522 525527
קרא עודמספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי
מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בינסקי הנחיות: יש לענות על כל השאלות. יש לענות על כל
קרא עודex1-bash
ביה"ס למדעי המחשב סמסטר חורף תשע"ח 13.12.2017 יסודות מערכות פתוחות פתרון תרגיל מס' 7 המכללה האקדמית נתניה שימו לב: כל ההערות שבתחילת תרגילים 1-6 תקפות גם לתרגיל זה. הערה 1: החל מתרגיל זה והלאה, בכל פעם
קרא עודMicrosoft PowerPoint - lec9.ppt
תכ נות מונח ה עצמים בשפת ++C ירו שה אוה ד ברזילי אוני ברסיטת תל אביב ירו שה המצגת מכילה קטעים מתוך מצגת של פרופ' עמירם יהודאי ע"פ הספר: Object-Oriented Software Construction, 2nd edition, by Bertrand Meyer
קרא עודפתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (
פתרון 000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : num = 3, sif = r האם ספרת האחדות של sif שווה ל- num num 3 sif (1)-() (3) () אמת ) = ( 3 3 יודפס: 3. ב. פתרון שאלה 11 עבור הערכים: עבור סעיף
קרא עודשבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים ע
שבוע 4 סינטקס של HACK ASSEMBLY ניתן להשתמש בשלושה אוגרים בלבד:,A,D,M כולם בעלי 16 ביטים. M אינו אוגר ישיר- הוא מסמן את האוגר של ה RAM שאנחנו מצביעים עליו כרגע )A מצביע עליו(. יש שני סוגי פקודות, פקודת
קרא עודבס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנ
בס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנהל את מאגר הנתונים של החנות, לבצע אליו שינוים ושאילתות
קרא עודSlide 1
מבוא למדעי המחשב משפחות של מחלקות ומחלקות מופשטות תזכורת בשיעור הקודם ראינו מחלקה של Student והרחבה שלה למחלקה של Milgae למעשה Student יכול לעמוד בראש היררכיה שלמה של מחלקות שונות של סטודנטים למשל, בנוסף
קרא עוד234114
)234117 )234114 \ סמסטר חורף תשע"ז 2017 מבחן מסכם מועד א', 21 לפברואר 2 3 4 1 1 מספר סטודנט: רשום/ה לקורס: משך המבחן: 3 שעות. חומר עזר: אין להשתמש בכל חומר עזר. הנחיות כלליות: מלאו את הפרטים בראש דף זה
קרא עודMicrosoft Word - דוגמאות ב
הפקולטה למדעי המחשב פרופ' חיים גוטסמן, מר רן רובינשטיין עומר סטרולוביץ, כרמי גרושקו, אלכסנדר ליבוב, מיכאל בלטקסה, ראידה נעאמנה, שי מרקנטי, גיא שקד הטכניון - מכון טכנולוגי לישראל 3.10.2011 מבוא לתכנות מערכות
קרא עודSlide 1
Introduction to Programming in C תרגול 8 1 1 רקורסיה תזכורת הגדרה: המונח רקורסיה (recursion) מתאר מצב שבו פונקציה קוראת לעצמה באופן ישיר או באופן עקיף. שימוש: נוח להשתמש בפונקציות רקורסיביות על מנת לפתור
קרא עודPowerPoint Presentation
פרוטאוס הדרכה לפיתוח פרויקט מבוסס ארדואינו 1 הוראות הפעלה תוכנת פרוטאוס מכילה כמות גדולה מאוד של כלי עזר להבנת דרך ההפעלה של התוכנה. שני מקורות מידע עיקריים עומדים לרשות המשתמש מחוץ לתוכנה: o באתר האינטרנט
קרא עודמבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2
מבוא למדעי המחשב תרגול מס' 2 נושאים משתנים טיפוסים אופרטורים פונקציות מתמטיות מהמחלקה Math המרת טיפוסים תנאים ולולאות 1 2 תזכורת משיעור קודם תזכורת... תכנית מחשב נכתבת כטקסט בקובץ. הטקסט כתוב בשפת תכנות
קרא עודיום שלישי, 14 ליולי 2015 מבחן סוף סמסטר - תכנות מונחה עצמים )236703( סמסטר אביב 2015, מועד א' מרצה: ערן גלעד מתרגלים: נורית מושקוביץ', הלאל עאסי, אליר
יום שלישי, 14 ליולי 2015 מבחן סוף סמסטר - תכנות מונחה עצמים )236703( סמסטר, מועד א' מרצה: ערן גלעד מתרגלים: נורית מושקוביץ', הלאל עאסי, אלירן וייס הנחיות: 1. במבחן 5 שאלות שוות משקל. עליכם לענות על כל
קרא עוד2019 שאלות מומלצות לתרגול מס' דיפרנציאביליות של פונקציה סקלרית )המשך(. כלל השרשרת. S = ( x, y, z) z = x + 3y על המשטח מצאו נקודה בה מישור משיק
דיפרנציאביליות של פונקציה סקלרית )המשך( כלל השרשרת S ( z) z + על המשטח מצאו נקודה בה מישור משיק מקביל : f ( ) + הפונקציה מוגדרת וגזירה ברציפות בכל M( ) שאלה נתון פרבולואיד אליפטי P ( z) + 6 + z + 8 למישור
קרא עודאוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג, משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם
אוניברסיטת חיפה החוג למדעי המחשב מבוא למדעי המחשב מועד א' סמסטר ב', תשע"ג,.6.013 משך המבחן: שעתיים וחצי חומר עזר: אסור הנחיות: וודאו כי יש בידיכם 8 עמודי שאלון )כולל עמוד זה(. עליכם לכתוב את התשובות על
קרא עודדוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמט
דוגמאות שהוצגו בהרצאה 10 בקורס יסודות מערכות פתוחות דוגמה 1 דוגמאות של פונקציות ב- awk שמראות שהעברת פרמטרים של משתנים פשוטים היא by value והעברת פרמטרים של מערכים היא by reference וכן דוגמאות שמראות שמשתנים
קרא עודתוכן העניינים: פרק צמצומים ומימושים של פונקציות בוליאניות... 2 צמצומים של פונקציות באמצעות מפת קרנו:...2 שאלות:... 2 תשובות סופיות:... 4 צמצום
תוכן העניינים: פרק 2 3 צמצומים ומימושים של פונקציות בוליאניות 2 צמצומים של פונקציות באמצעות מפת קרנו: 2 שאלות: 2 תשובות סופיות: 4 צמצום באמצעות שיטת 6:QM שאלות: 6 תשובות סופיות: 7 מימושים בעזרת פונקציות
קרא עודPRESENTATION NAME
נכתב ע"י כרמי גרושקו. כל הזכויות שמורות 2010 הטכניון, מכון טכנולוגי לישראל הקצאה דינמית )malloc( מערכים דו-מימדיים סיבוכיות: ניתוח כזכור, כדי לאחסן מידע עלינו לבקש זכרון ממערכת ההפעלה. 2 עד עכשיו: הגדרנו
קרא עודPython 2.7 in Hebrew
Python גרסה 7.2 זהר זילברמן גרסה 1.71 אין לשכפל, להעתיק, לצלם, להקליט, לתרגם, לאחסן במאגר מידע, לשדר או לקלוט בכל דרך או אמצעי אלקטרוני, אופטי או מכני או אחר כל חלק שהוא מהחומר שבספר זה. שימוש מסחרי מכל
קרא עודúåëðä 1 - çæøä
Arrays and Strings מערך - אוסף משתנים בעלי שם משותף. הפנייה לכל איבר נעשית ע י אינדקס. ב- C מערך מוגדר בזיכרון רציף. האיבר הראשון נמצא בכתובת הנמוכה. לדוגמא, אם a מוגדר החל מכתובת :1000 char a[7]; Element
קרא עודData Structure Assignment no.3 תאריך הגשה: p.m. 11/09/16, 23:59 את העבודה יש להגיש בזוגות במערכת ההגשות.submission system על העבודה להיות מוגשות כקובץ
Data Structure Assignment no.3 תאריך הגשה: p.m. 11/09/16, 23:59 את העבודה יש להגיש בזוגות במערכת ההגשות.submission system על העבודה להיות מוגשות כקובץ pdf יחיד בלבד. הנכם נדרשים לנסח תשובות ברורות עליכם
קרא עודתרגול מס' 1
תרגול 6 הסתעפויות 1 מבוסס על שקפים מאת יאן ציטרין קפיצות לא מותנות Unconditional Branch br label PC לאחר ה- fetch של פקודת ה- branch PC לאחר הביצוע של פקודת ה- branch pc label br label הקפיצה מתבצעת תמיד,
קרא עודתרגיל בית מספר 1#
ב 4 תרגיל בית מספר - 1 להגשה עד 72 באוקטובר בשעה ::725 קיראו בעיון את הנחיות העבודה וההגשה המופיעות באתר הקורס, תחת התיקייה.assignments חריגה מההנחיות תגרור ירידת ציון / פסילת התרגיל. הנחיות והערות ספציפיות
קרא עוד