מערך חד מימדי

25
יייי יי ייייי ייי י יייייי

Upload: pooky

Post on 05-Jan-2016

42 views

Category:

Documents


5 download

DESCRIPTION

מערך חד מימדי. חלק א היכרות. דוגמא:תינוקות. בית חולים רוצה לבדוק: באיזה חודש נולדו הכי הרבה תינוקות? נחשב מקסימום מסדרת המספרים באיזה חודש נולדו הכי מעט תינוקות? נחשב מינימום מסדרת המספרים באילו חודשים נולדו מספר תינוקות מעל הממוצע?. איך נחשב באילו חודשים נולדו מספר תינוקות מעל הממוצע? - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: מערך חד מימדי

מערך חד מימדי

חלק א

היכרות

Page 2: מערך חד מימדי

דוגמא:תינוקות

בית חולים רוצה לבדוק:•

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

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

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

Page 3: מערך חד מימדי

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

נחשב את הממוצע סריקה ראשונה:–נסמן את החודשים מעל הממוצע סריקה שניה:–

איך ניסרוק את הנתונים פעמיים??•

יש צורך לשמור את הנתונים מהקלט מסקנה:•

Page 4: מערך חד מימדי

ובו מספר התינוקות לכל מערך )טבלה( קלט:•חודש.

מה גודל המערך?•

פלט:•ממוצע תינוקות שנתי–מספר חודשים מעל הממוצע–מספר חודשים מתחת לממוצע–

Page 5: מערך חד מימדי

babyמערך בשם 01234......9101112

2034504578210120150

כל איבר במערך מכיל מספר הלידות באותו חודשכל איבר מטיפוס שלם

פנייה לאיברים במערך: baby[1] 1מייצג לידות בחודש מסbaby[2] 2מייצג לידות בחודש מס

baby[12] 12מייצג לידות בחודש מס

Page 6: מערך חד מימדי

בניית מערך דרך א

= שם ] [ טיפוסnew]גודל המערך[טיפוס ;

int [ ] marks = new int[27];

double [ ] hights = new double[123];

char[ ] signs = new char[19];

Page 7: מערך חד מימדי

בניית מערך דרך ב שם ] [ טיפוס;הצהרה

= שםnew]גודל המערך[טיפוס ;בנייה

double [ ] hights;hights = new double[34];

char[ ] signs;signs = new char[19];

Page 8: מערך חד מימדי

כללים

]מציין[שם המערך פנייה לאיבר במערך :•

איברים, nבמערך בעל •,0מציין התא הראשון

n-1מציין התא האחרון

כל איבר הוא משתנה לכל דבר•

אסור לחרוג מגבולות המערך !!!!•

Page 9: מערך חד מימדי

Int [] arr = new int [5];הסברJAVAמימוש ב

arr[3] = in.nextInt;)( 3קליטת נתון לאיבר מספר במערך

for (int i=0;i<5; i++) arr[i] = in.nextInt;)(

קליטת נתונים לכל איברי המערך

System.out.print(arr[4]);-4הדפסת ערכו של האיבר ה

for (int i=0;i<5; i++) System.out.print(arr[i]);

הדפסת ערכם של כל איברי המערך בשורה אחת

Page 10: מערך חד מימדי

דוגמאות נוספותהסברדוגמא

Student = arr[2]; משתנה Student מקבל את ערכו2של האיבר ה-

arr[2] = arr[2] + 4;-4 גדל ב 2האיבר ה

arr[4] = (int)(Math.randon()*10);-מקבל ערך אקראי בין 4האיבר ה 9 ל 0

arr[j] = arr[j+1]; -האיבר הJ מקבל את ערכו של האיבר שבא אחריו

arr[k] = arr[k] -1;- ערך האיבר הK 1 קטן ב

for (int i=0; i<5;i++) arr[i] = 0;

לולאה לאיתחול כל איברי המערך arr 0 ל

for (int i=0; i<5;i++) mult[i] = a[i] * b[i];

השמה של מכפלה איברי מערכים

a ,b למערךmult

Page 11: מערך חד מימדי

גודל המערךגודל מערך תמיד שלם חיובי•

.>שם מערך<lengthפנייה לגודל מערך: •

maarach.length דוגמא:•

גודל מערך יכול להתקבל כקלט•

Int [] grades = new int [in.nextInt()]for (int I =0; i<grades.length; i++)

System.out.print(“ “+grades[i]);

Page 12: מערך חד מימדי

אתחול איברי מערךInt [] arr = {1,2,3,4,5}; אתחול בשלב ההגדרה

Int [] arr = new int[20]; אתחול בפעולת קלט

for (int I =0; i<20; i++)arr[i] = in.nextInt();

Int [] arr = new int[20]; אתחול בפעולת השמה

for (int I =0; i<20; i++)arr[i] = 2*I;

Page 13: מערך חד מימדי

11 עמ 1דוגמא

Page 14: מערך חד מימדי

11 עמ 1טבלת מעקב דוגמא

Page 15: מערך חד מימדי

11 עמ 2דוגמא

Page 16: מערך חד מימדי

11 עמ 2טבלת מעקב דוגמא

Page 17: מערך חד מימדי

12 עמ 3דוגמא פתורה

תלמידי ספורט בקפיצה לגובה20הישגי קלט :•

פלט:•

ממוצע ההישגיםא-

מספרים סידוריים של התלמידים מעל ב-הממוצע

מספר התלמידים מעל הממוצעג-

Page 18: מערך חד מימדי

משתניםתחום ערכים

שם טיפוסהסבר

מערך מערך שמכיל נתוני קפיצות לגובה0-2.5מטיפוס

ממשי

heights

0-50.0

sumממשיסכום נתוני קפיצות לגובה

avgממשיממוצע ההשגים0-2.5iשלםמונה לולאה לסריקת המערך0-19מספר התלמידים שקפצו מעל 0-19

הממוצעaboveAvgשלם

Page 19: מערך חד מימדי
Page 20: מערך חד מימדי

;// double[] heights = new double[20] הגדרת המערך

double sum=0.0, avg; // הצהרות ואיתחול משתנים

int aboveAvg=0; System.out.println ("Enter jumps"); for (int i=0 ; i<heights.length ; i++) ( // לולאה לקריאת נתוני הקפיצות וסיכומם

heights[i] = in.nextDouble(); sum = sum+heights[i]; // סכום הקפיצות

//} for

avg=sum/20; // חישוב ממוצע הקפיצות

System.out.println ("The average of jumps is:" +avg); for (int i=0 ; i<heights.length ; i++) { // לולאה למציאת התלמידים מעל

הממוצע

if (heights[i]>avg) { aboveAvg++;

System.out.println("Student number "+(i+1)+" obove average"); }// if }// for System.out.println(aboveAvg + "students above average");

Page 21: מערך חד מימדי

19 תר 19עמ

מכיל שלשות של מספריםaction מערך •

בכל שלשה:•:חיסור(2:חיבור, 1המספר הראשון מבטא פעולה )–הפעולה מתבצעת על המספרים השני והשלישי–

שומר את התוצאות result מערך •

Page 22: מערך חד מימדי

משתניםשםטיפוסהסבר

Nשלם actionגודל מערך מערך של שומר על השלשות

שלמיםaction

מערך של שומר על התוצאותשלמים

result

ןשלם actionמציין עבור

Kשלם resultמציין עבור

Page 23: מערך חד מימדי

אלגוריתם

actionקרא קלט לתוך מערך • בצע:actionעבור כל שלשה במערך •

: חבר את השני והשלישי 1אם המספר הראשון –resultוהכנס למערך

אחרת: חסר את השני והשלישי והכנס למערך –result

Page 24: מערך חד מימדי

int N=18; int[] action = new int[N]; int[] result = new int[N/3]; int i, k=0; for(i=0 ; i<N; i++) // action קרא קלט לתוך מערך

action[i] = in.nextInt(); for(i=0 ; i<N; i+=3) // action עבור כל השלשות ב

{ if (action[i] == 1) // פעולת חיבור

result[k] = action[i+1]+action[i+2]; else // פעולת חיסור

result[k] = action[i+1]-action[i+2]; k++;; }

Page 25: מערך חד מימדי

14 עמ 4דוגמא פתורה

לקרוא בבית14 עמ :4דוגמא פתורה •

1-8 תר 15-17תרגיל כיתה עמ •

18-19 עמ 13-20, 17 עמ 9-11ש"ב: •