Presentation is loading. Please wait.

Presentation is loading. Please wait.

באר-שבע 2015 יום עיון 12.10.2015.

Similar presentations


Presentation on theme: "באר-שבע 2015 יום עיון 12.10.2015."— Presentation transcript:

1 באר-שבע 2015 יום עיון

2 2015 באר-שבע

3 השתלמות "תכנית לימודים חדשה 899222" באר-שבע

4 השתלמות "תכנית לימודים חדשה 899222" באר-שבע

5 השתלמות "תכנית לימודים חדשה 899222" באר-שבע

6 השתלמות "תכנית לימודים חדשה 899222" באר-שבע

7 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
משתנים V פעולות מתמטיות ביצוע מותנה ביצוע חוזר FOR ביצוע חוזר WHILE פעולות/פונקציות מערכים/רשימות עצמים מובנים עצמים של משתמש X השתלמות "תכנית לימודים חדשה " באר-שבע

8 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
משימה ראשונה: "שלום!" <html> <head> <script > alert("hello world"); </script> </head> <body text='white' > </body> </html> class test1{ public static void main(String[] args){ System.out.println("hello world"); } השתלמות "תכנית לימודים חדשה " באר-שבע

9 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
משתנים שמות בעברית V X שמות באנגלית צורך בהגדרת סוג ערך ברירת מחדל תחום קיום השתלמות "תכנית לימודים חדשה " באר-שבע

10 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
פעולת השמה k=3; k=a+3; פעולת שינוי ערך a++; a--; השתלמות "תכנית לימודים חדשה " באר-שבע

11 משימה: קלט/פלט, פעולות חשבון
<script > x=parseInt (prompt("first number")); y=parseInt (prompt("second number")); alert (x+y); </script> import java.util.*; class test1{ static Scanner input=new Scanner(System.in); public static void main(String[] args){ int x, y; x=input.nextInt(); y=input.nextInt(); System.out.println(x+y); } השתלמות "תכנית לימודים חדשה " באר-שבע

12 פעולות מתמטיות ופונקציות ספריה
+ , - , * V חישוב שארית חישוב מנה X abs, sqrt random max, min השתלמות "תכנית לימודים חדשה " באר-שבע

13 פעולות לוגיות וערכים בוליאניים
>, <, = V or, and, not >=, <=,!= X השתלמות "תכנית לימודים חדשה " באר-שבע

14 פעולות לוגיות וערכים בוליאניים
AND && OR || NOT ! השתלמות "תכנית לימודים חדשה " באר-שבע

15 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
ביצוע מותנה if ( …. ) { ….. } if ( …. ) { ….. } else { …… } השתלמות "תכנית לימודים חדשה " באר-שבע

16 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
משימה: ביצוע מותנה <script > x=parseInt(prompt("first number")); y=parseInt(prompt("second number")); if(x>y) alert (x+y); else alert(x*y); </script> public static void main(String[] args){ int x, y; x=in.nextInt(); y=in.nextInt(); if(x>y) System.out.println(x+y); else System.out.println(x*y); } השתלמות "תכנית לימודים חדשה " באר-שבע

17 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
משימה: ביצוע חוזר - FOR <script > for(k=1; k<=10; k++) document.write(k*10 + " "); </script> public static void main(String[] args){ int k; for(k=1; k<=10; k++) System.out.print (k*10 + ” “); } השתלמות "תכנית לימודים חדשה " באר-שבע

18 משימה: ביצוע חוזר - While
<script > s=0; k=1; while(s<=100) { s=s+k; // s+=k k++; } document.write(s+" " + k); </script> public static void main(String[] args){ int s=0; int k=1; while(s<=100) { s=s+k; // s+=k k++; } System.out.println(s+" " + k); השתלמות "תכנית לימודים חדשה " באר-שבע

19 השתלמות "תכנית לימודים חדשה 899222" באר-שבע

20 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
משימה: מערכים <script> a=new Array(); for(k=0;k<10;k++) a[k]=prompt(“number"); c=0; for(k=0;k<a.length;k++){ document.write(a[k]+" "); if(a[k]%2==0)c++; } document.write("c="+c); </script> public static void main(String[] args) { int[] a=new int[10]; for(int k=0; k<a.length;k++) a[k]=reader.nextInt(); int c=0; for(int k=0;k<a.length;k++) { System.out.print(a[k]+" "); if(a[k]%2==0)c++; } System.out.println("c="+c); השתלמות "תכנית לימודים חדשה " באר-שבע

21 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
משימה: זימון פעולות function one(x, k) { s=1; for(t=1;t<=k; t++) s=s*x; return s; } <script> x=prompt("number"); for(k=1;k<=10;k++) { document.write(one(x,k)+" "); } </script> public static int one(int x, int k) { int s=1; for(int t=1;t<=k; t++) s=s*x; return s; } public static void main(String[] args) { int x=reader.nextInt(); for(int k=1; k<=10; k++) System.out.print(one(x,k)+" "); } השתלמות "תכנית לימודים חדשה " באר-שבע

22 השתלמות "תכנית לימודים חדשה 899222" באר-שבע

23 השתלמות "תכנית לימודים חדשה 899222" באר-שבע

24 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
עצמים – שימוש במחלקות קבלת התחושה של משמעות השימוש בעצמים מקדים את הנחלת המושגים הפורמאליים יש להשתדל בשפת הדיבור: מצב עצם ולא תכונות... השתלמות "תכנית לימודים חדשה " באר-שבע

25 ממה מורכב עצם? מצב: נקבע בעת יצירת העצם על ידי המשתמש, וניתן לשינוי על ידי פעולות העצם פעולות: מדווחות על מצב העצם ומשנות אותו לפי בקשת המשתמש השתלמות "תכנית לימודים חדשה " באר-שבע

26 טיפוס מסוג דלי מהן התכונות של דלי? נפח הדלי - קיבולת הדלי ((capacity
כמות מים בדלי (currentAmount) 3. תכונה נוספת שם להבחנה בין דליים או לאפיון תכולה (name)

27 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
הדלי - ממשק משתמש תאור הפעולה הפעולה הפעולה בונה דלי ריק, שקיבולו (הנפח שלו) הוא הפרמטר capacity ושמו הוא הפרמטר name, הכמות היא אפס Bucket(capacity , name) הפעולה מרוקנת את הדלי. empty() הפעולה מקבלת פרמטר x המייצג כמות מים, וממלאת את הדלי בכמות זו. אם כמות המים היא מעבר לקיבולת הדלי, הדלי מתמלא ויתר המים נשפכים החוצה. fill(x) הפעולה מעבירה את כמות המים המכסימלית האפשרית מהדלי הנוכחי לדלי b pourInto(b) הפעולה מחזירה את הקיבול של הדלי int getCapacity() הפעולה מחזירה את הכמות שיש בדלי. double getCurrentAmount() הפעולה מחזירה true אם הדלי ריק ו- false אחרת. boolean isEmpty() השתלמות "תכנית לימודים חדשה " באר-שבע

28 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
שימוש בדלי יצירת 2 עצמים מסוג דלי על ידי הפקודות: Bucket b1 = new Bucket(7, “cola"); Bucket b2 = new Bucket(4, “water"); הפעלת פעולות מהממשק על ידי הדליים שיצרנו: b1.fill(5) מלוי הדלי b1 ב-5 ליטר b1.empty(); ריקון הדלי b1 b2.fill(3); מלוי הדלי b2 ב-3 ליטר b2.pourInto(b1); העברת כמות מים מכסימלית לדלי b1 מהדלי b2 השתלמות "תכנית לימודים חדשה " באר-שבע

29 import unit4.bucketLib.*;
unit4B.jar public static void main(String[] args){ Bucket a1=new Bucket(10,"one"); Bucket a2=new Bucket(10,"two"); System.out.println(a1.getCurrentAmount()); System.out.println(a2.getCurrentAmount()); } > run test1 0.0 השתלמות "תכנית לימודים חדשה " באר-שבע

30 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
מילוי דליים public static void main(String[] args){ Bucket a1=new Bucket(10,"one"); Bucket a2=new Bucket(10,"two"); a1.fill(3); a2.fill(8); System.out.println(a1.getCurrentAmount()); System.out.println(a2.getCurrentAmount()); } > run test1 3.0 8.0 השתלמות "תכנית לימודים חדשה " באר-שבע

31 השתלמות "תכנית לימודים חדשה 899222" באר-שבע

32 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
מצב העצם - תכונות השתלמות "תכנית לימודים חדשה " באר-שבע

33 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
שינוי מצב העצם - פקודות השתלמות "תכנית לימודים חדשה " באר-שבע

34 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
שינוי מצב העצם - פקודות השתלמות "תכנית לימודים חדשה " באר-שבע

35 שינוי מצב העצם – תכונות נוספות
השתלמות "תכנית לימודים חדשה " באר-שבע

36 תכונות מגודרות על ידי מתכנת
השתלמות "תכנית לימודים חדשה " באר-שבע

37 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
<IMG> <INPUT> השתלמות "תכנית לימודים חדשה " באר-שבע

38 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
<script language="javascript"> var i; var j; document.write("<table border='1' cellpadding='3'>"); for (i = 1; i <= 20; i++) { document.write("<tr>"); for (j = 1; j <= 10; j++) { document.write("<td onmouseover='setcolor1();' onmouseout='setcolor2();' align ='right'>" + i * j + "</td>"); } document.write("</tr>"); document.write("</table>"); </script> <script> function setcolor1() { var t=event.target||event.srcElement; t.style.backgroundColor="red"; } function setcolor2() t.style.backgroundColor="white"; </script> השתלמות "תכנית לימודים חדשה " באר-שבע

39 ספירלה – חוזרים שוב... מצב של עצם פעולות של עצם בניית עצם שימוש בעצם
פעולות חיצוניות ופנימיות השתלמות "תכנית לימודים חדשה " באר-שבע

40 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
העצם ההפניה (כתובת) Bucket b1 המשתנה המחזיק את ההפניה השתלמות "תכנית לימודים חדשה " באר-שבע

41 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
ערך מיוחד: ההפניה הריקה ההפניה הריקה שאינה מפנה לעצם נקראת null Bucket b=null; Turtle t=null; String s=null; int[] a=null; int iNum=null; Error: incompatible types found : <nulltype> required: int השתלמות "תכנית לימודים חדשה " באר-שבע

42 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
ערך מיוחד: ההפניה הריקה האם יש ה-"null"-ים שונים? Teacher t=null; Student s=null; if(t==s)System.out.println(“yes”); else System.out.println(“no”); Error: incomparable Teacher and Student השתלמות "תכנית לימודים חדשה " באר-שבע

43 תוכנית public class Test { המחלקה
public static void main (String[] args) } המחלקה קופסה Box המחלקה דלי Bucket השתלמות "תכנית לימודים חדשה " באר-שבע

44 הטיפוס קופסה (Box) השתלמות "תכנית לימודים חדשה " באר-שבע

45 ממשק השתלמות "תכנית לימודים חדשה " באר-שבע

46 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
בנאי הפעולה הבונה מאתחלת את מצב העצם יצירת קופסה באורך 5, ברוחב 3.2 ובגובה 10 new Box(5, 3.2, 10); יצירת קופסה באורך 3, ברוחב 2 ובגובה 1.3 new Box(3, 2, 1.3); יצירת קופסה באורך 1, ברוחב 1 ובגובה 1 new Box(1, 1, 1); השתלמות "תכנית לימודים חדשה " באר-שבע

47 משתנה המכיל הפניה int x; Box b1; b1 = new Box (5.1, 3.2, 1); x=10;
b1: Box השתלמות "תכנית לימודים חדשה " באר-שבע

48 אתחול משתנים Box b1; b1.setWidth(5);
משתנים שאינם מאותחלים גורמים לשגיאת הידור! Box b1; b1.setWidth(5); משנה מצב לעצם שאינו קיים Error: variable b1 might not have been initialized השתלמות "תכנית לימודים חדשה " באר-שבע

49 אתחול משתנים Box b1; b1.setWidth(5); int b1; System.out.println(b1);
Error: variable b1 might not have been initialized int b1; System.out.println(b1); <script > var x; alert(x); </script> השתלמות "תכנית לימודים חדשה " באר-שבע

50 פעולות מחזירות ופעולות משנות מצב
פעולות המחזירות את מצב העצם פעולות המשנות את מצב העצם שאילתות פקודות השתלמות "תכנית לימודים חדשה " באר-שבע

51 סימון-הנקודה זימון פעולה ע"י סימון-הנקודה (dot notation)
document.write(x); window.alert(x); x=window.prompt(“x=“); סימון-הנקודה זימון פעולה ע"י סימון-הנקודה (dot notation) Box b1 = new Box(2,2,2); b1.setLength(5); נקודה פסיק שם העצם פרמטר הפעולה נקודה int x=reader.nextInt(); System.out.println(x); double y=Math.random(); השתלמות "תכנית לימודים חדשה " באר-שבע

52 פעולות נוספות public static void main (String[] args) {
Box b1 = new Box (2, 4, 2); Box b2 = new Box (1, 1, 1); b1.setLength(3); b2.setWidth(b1.getHeight()); double x1 = b1.getVolume(); String str = b2.toString(); System.out.println (x1); System.out.println (str); } השתלמות "תכנית לימודים חדשה " באר-שבע

53 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
הפעלת פעולה על עצם Box b1= new Box (3, 2, 1); b1.setWidth(5); Box b2=b1; b2.setWidth(8); b1: Box b1: Box b1: Box b2: Box 8 השתלמות "תכנית לימודים חדשה " באר-שבע

54 טיפוס מסוג דלי מהן התכונות של דלי? נפח הדלי - קיבול הדלי ((capacity
כמות מים בדלי (currentAmount) 3. תכונה נוספת שם להבחנה בין דליים או לאפיון תכולה (name)

55 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
הדלי - ממשק משתמש תאור הפעולה הפעולה הפעולה בונה דלי ריק, שקיבולו (הנפח שלו) הוא הפרמטר capacity ושמו הוא הפרמטר name, הכמות היא אפס Bucket(capacity , name) הפעולה מרוקנת את הדלי. empty() הפעולה מקבלת פרמטר x המייצג כמות מים, וממלאת את הדלי בכמות זו. אם כמות המים היא מעבר לקיבולת הדלי, הדלי מתמלא ויתר המים נשפכים החוצה. fill(x) הפעולה מעבירה את כמות המים המכסימלית האפשרית מהדלי הנוכחי לדלי b pourInto(b) הפעולה מחזירה את הקיבול של הדלי int getCapacity() הפעולה מחזירה את הכמות שיש בדלי. double getCurrentAmount() הפעולה מחזירה true אם הדלי ריק ו- false אחרת. boolean isEmpty() השתלמות "תכנית לימודים חדשה " באר-שבע

56 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
שימוש בדלי יצירת 2 עצמים מסוג דלי על ידי הפקודות: Bucket b1 = new Bucket(7, “cola"); Bucket b2 = new Bucket(4, “water"); הפעלת פעולות מהממשק על ידי הדליים שיצרנו: b1.fill(5) מלוי הדלי b1 ב-5 ליטר b1.empty(); ריקון הדלי b1 b2.fill(3); מלוי הדלי b2 ב-3 ליטר b2.pourInto(b1); העברת כמות מים מכסימלית לדלי b1 מהדלי b2 השתלמות "תכנית לימודים חדשה " באר-שבע

57 import unit4.bucketLib.*;
unit4.jar unit4B.jar public static void main(String[] args){ Bucket a1=new Bucket(10,"one"); Bucket a2=new Bucket(10,"two"); System.out.println(a1.getCurrentAmount()); System.out.println(a2.getCurrentAmount()); } > run test1 0.0 השתלמות "תכנית לימודים חדשה " באר-שבע

58 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
מילוי דליים public static void main(String[] args){ Bucket a1=new Bucket(10,"one"); Bucket a2=new Bucket(10,"two"); a1.fill(3); a2.fill(8); System.out.println(a1.getCurrentAmount()); System.out.println(a2.getCurrentAmount()); } > run test1 3.0 8.0 השתלמות "תכנית לימודים חדשה " באר-שבע

59 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
כמה דליים ? כמה מים ? public static void main(String[] args){ Bucket a1=new Bucket(10,"one"); Bucket a2=a1; a1.fill(3); a2.fill(8); System.out.println(a1.getCurrentAmount()); System.out.println(a2.getCurrentAmount()); } > run test1 10.0 השתלמות "תכנית לימודים חדשה " באר-שבע

60 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public static void main(String[] args){ Bucket a1=new Bucket(10,"one"); Bucket a2=new Bucket(10,"two"); a1.fill(3); a2.fill(8); System.out.println(a1.getCurrentAmount()); System.out.println(a2.getCurrentAmount()); Bucket temp=a1; a1=a2; a2=temp; } מהו הפלט של הקטע? מהי כמות המים בדלי "one"? מהי כמות המים בדלי "two"? > run OrderBuckets2 3.0 8.0 השתלמות "תכנית לימודים חדשה " באר-שבע

61 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public static void main(String[] args){ Bucket a1=new Bucket(10,"one"); Bucket a2=new Bucket(10,"two"); a1.fill(3); a2.fill(8); System.out.println(a1.getCurrentAmount()); System.out.println(a2.getCurrentAmount()); Bucket temp=a1; a1=a2; a2=temp; } temp a2 a1 a2 a1 > run OrderBuckets2 3.0 8.0 השתלמות "תכנית לימודים חדשה " באר-שבע

62 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public static void main(String[] args){ int[] a={1,2,3,4}; int[] b={10,20,30,40,50}; int[] temp=a; a=b; b=temp; System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); [10, 20, 30, 40, 50] [1, 2, 3, 4] b a 4 3 2 1 b a 50 40 30 20 10 השתלמות "תכנית לימודים חדשה " באר-שבע

63 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public static void main (String [] args){ Bucket b1=new Bucket(10,"one"); Bucket b2=new Bucket(10,"two"); b1.fill(3); b2.fill(8); System.out.println("in the MAIN method before call the SWAP method"); System.out.println("b1="+b1.getCurrentAmount()); System.out.println("b2="+b2.getCurrentAmount()); swap(b1,b2); System.out.println("in the MAIN method after call the SWAP method"); } public static void swap(Bucket c1,Bucket c2) { Bucket temp=c1; c1=c2; c2=temp; } in the MAIN method before call the SWAP method b1=3.0 b2=8.0 in the MAIN method after call the SWAP method השתלמות "תכנית לימודים חדשה " באר-שבע

64 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public static void main (String [] args){ Bucket b1=new Bucket(10,"one"); Bucket b2=new Bucket(10,"two"); b1.fill(3); b2.fill(8); System.out.println("in the MAIN method before call the SWAP method"); System.out.println("b1="+b1.getCurrentAmount()); System.out.println("b2="+b2.getCurrentAmount()); swap(b1,b2); System.out.println("in the MAIN method after call the SWAP method"); } public static void swap(Bucket c1,Bucket c2) { System.out.println("in the SWAP method before swap"); System.out.println("b1="+c1.getCurrentAmount()); System.out.println("b2="+c2.getCurrentAmount()); Bucket temp=c1; c1=c2; c2=temp; System.out.println("in the SWAP method after swap"); } in the MAIN method before call the SWAP method b1=3.0 b2=8.0 in the SWAP method before swap in the SWAP method after swap b1=8.0 b2=3.0 in the MAIN method after call the SWAP method השתלמות "תכנית לימודים חדשה " באר-שבע

65 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public static void main (String [] args){ Bucket b1=new Bucket(10,"one"); Bucket b2=new Bucket(10,"two"); b1.fill(3); b2.fill(8); System.out.println("in the MAIN method before call the SWAP method"); System.out.println("b1="+b1.getCurrentAmount()); System.out.println("b2="+b2.getCurrentAmount()); swap(b1,b2); System.out.println("in the MAIN method after call the SWAP method"); } public static void swap(Bucket c1,Bucket c2) { System.out.println("in the SWAP method before swap"); System.out.println("b1="+c1.getCurrentAmount()); System.out.println("b2="+c2.getCurrentAmount()); Bucket temp=new Bucket(c1.getCapacity(),"temp"); c1.pourInto(temp); c2.pourInto(c1); temp.pourInto(c2); System.out.println("in the SWAP method after swap"); } in the MAIN method before call the SWAP method b1=3.0 b2=8.0 in the SWAP method before swap in the SWAP method after swap b1=8.0 b2=3.0 in the MAIN method after call the SWAP method השתלמות "תכנית לימודים חדשה " באר-שבע

66 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public static void swap(Bucket c1,Bucket c2) { System.out.println("in the SWAP method before swap"); System.out.println("b1="+c1.getCurrentAmount()); System.out.println("b2="+c2.getCurrentAmount()); Bucket temp=new Bucket(c1.getCapacity(),"temp"); c1.pourInto(temp); c2.pourInto(c1); temp.pourInto(c2); System.out.println("in the SWAP method after swap"); } השתלמות "תכנית לימודים חדשה " באר-שבע

67 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
מרבה ידע – מרבה צער By reference By value השתלמות "תכנית לימודים חדשה " באר-שבע

68 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
procedure swap(var x, y: integer); var temp: integer; begin temp := x; x:= y; y := temp; end; procedure swap(x, y: integer); var temp: integer; begin temp := x; x:= y; y := temp; end; השתלמות "תכנית לימודים חדשה " באר-שבע

69 הקצאת זיכרון מקומית עבור הפרמטרים
העברת פרמטרים כל העברת הפרמטרים ב- java היא על פי: פרמטר של ערך (by value) כלומר הקצאת זיכרון מקומית עבור הפרמטרים השתלמות "תכנית לימודים חדשה " באר-שבע

70 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
העברת פרמטרים עבור פרמטרים מן הטיפוסים הבסיסיים (int, float, double, char, boolean) מועברים הערכים אל הפרמטרים, וכל שינוי שעובר עליהם לא משפיע על המשתנים "שנשלחו". השתלמות "תכנית לימודים חדשה " באר-שבע

71 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public class test61 { public static void one(int x, double y){ x=x+1; y=y*10; System.out.println(x+" "+y); } public static void main(String[] args) { int a=10; double b=1.5; System.out.println(a+" "+b); one(a,b); 10 1.5 השתלמות "תכנית לימודים חדשה " באר-שבע

72 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
העברת פרמטרים - עצמים מה קורה בעצמים? – אותו הדבר למרות שכאן הערך הוא המצביע אל העצם – עדיין מועבר ערך, ולכן גם כאן כל שינוי שעובר על הפרמטר בפעולה לא משפיע על המשתנה ששלח את הערך. השתלמות "תכנית לימודים חדשה " באר-שבע

73 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
העברת פרמטרים - מערכים מה קורה במערכים? – גם אותו הדבר – ממש לפי הכלל מועבר המצביע אל המערך ולכן - כל שינוי שחל על תאי המערך, חל על אותו מקום בזיכרון!!! השתלמות "תכנית לימודים חדשה " באר-שבע

74 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
public static void swap(int[] a, int[] b) { int[] temp=a; a=b; b=temp; } public static void main(String[] args){ int[] a={1,2,3,4}; int[] b={10,20,30,40,50}; swap(a,b); System.out.println(Arrays.toString(a)); System.out.println(Arrays.toString(b)); a a 4 3 2 1 b b 50 40 30 20 10 [1, 2, 3, 4] [10, 20, 30, 40, 50] השתלמות "תכנית לימודים חדשה " באר-שבע

75 השתלמות "תכנית לימודים חדשה 899222" באר-שבע
העברת פרמטרים – מערכים נסתכל על הפעולה הבאה: public static void zeroAnySecondCell1(int[] a)} for (int i=1; i < a.length; i+=2) a[i] = 0; System.out.print ("in method: "); for (int i=0; i<a.length; i++) System.out.print(a[i] + " "); System.out.println(); } השתלמות "תכנית לימודים חדשה " באר-שבע

76 העברת פרמטרים – מערכים (המשך)
int[] a1 = new int[10]; for (int i=0; i<10; i++) a1[i] = i; zeroAnySecondCell1(a1); for (int i=0; i<a1.length; i++) System.out.print(a1[i] + " "); System.out.println(); void zeroAnySecondCell1(int[] a) } for (int i=1; i < a.length; i+=2) a[i] = 0; System.out.print("in method: "); for (int i=0; i<a.length; i++) System.out.print(a[i] + " "); System.out.println(); יתקבל הפלט: in method: השתלמות "תכנית לימודים חדשה " באר-שבע

77 מערך של עצמים האם זה נכון? Box[] arr = new Box[5];
על מנת ליצור מערך של קופסאות בגודל 5, נכתוב: Box[] arr = new Box[5]; מערך זה מכיל חמישה תאים ריקים, שבהם ניתן לאחסן קופסאות. האם זה נכון? השתלמות "תכנית לימודים חדשה " באר-שבע

78 בעת יצירת מופע של עצם מתבצע אתחול שלו
מערך של עצמים Box[] arr; הכרזה על משתנה שבעתיד יחזיק הפניה למערך (ולא מערך!) יצירת עצם מערך והצבת הפניה לעצם בתוך המשתנה arr=new Box[5]; בעת יצירת מופע של עצם מתבצע אתחול שלו מערך שלמים – כל תא מאותחל ל-0 מערך בולאני – כל תא מאותחל ל-false String[] s=new String[5] במה מאותחלים תאים של המערך? השתלמות "תכנית לימודים חדשה " באר-שבע

79 מערך של עצמים האם זה נכון? Box[] arr = new Box[5]; לא
על מנת ליצור מערך של קופסאות בגודל 5, נכתוב: Box[] arr = new Box[5]; מערך זה מכיל חמישה תאים ריקים, שבהם ניתן לאחסן קופסאות. האם זה נכון? לא מערך זה מכיל חמישה תאים שבהן מוחזקים הפניות ל-Box שכרגע מאותחלים ב-null השתלמות "תכנית לימודים חדשה " באר-שבע

80 מערך של עצמים אתחול תאי המערך: arr[0] = new Box(1, 2, 5);
השתלמות "תכנית לימודים חדשה " באר-שבע


Download ppt "באר-שבע 2015 יום עיון 12.10.2015."

Similar presentations


Ads by Google