מערך חד מימדי

Post on 05-Jan-2016

42 views 5 download

description

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

Transcript of מערך חד מימדי

מערך חד מימדי

חלק א

היכרות

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

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

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

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

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

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

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

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

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

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

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

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

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

2034504578210120150

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

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

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

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

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

int [ ] marks = new int[27];

double [ ] hights = new double[123];

char[ ] signs = new char[19];

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

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

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

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

כללים

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

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

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

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

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

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]);

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

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

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

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

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

maarach.length דוגמא:•

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

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

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

אתחול איברי מערך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;

11 עמ 1דוגמא

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

11 עמ 2דוגמא

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

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

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

פלט:•

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

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

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

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

שם טיפוסהסבר

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

ממשי

heights

0-50.0

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

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

הממוצעaboveAvgשלם

;// 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");

19 תר 19עמ

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

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

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

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

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

שלמיםaction

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

result

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

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

אלגוריתם

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

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

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

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++;; }

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

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

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

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