נערך ע"י אריק הוד, הגימנסיה העברית הרצליה

Slides:



Advertisements
מצגות קשורות
למנוע שגיאות בעזרת הכלים של "האתגר 5": המקרה של נקודת פיתול
Advertisements

אוגרים ומונים – Registers & Counters
תכנות בשפת C תרגול 11 - קבצים.
פרסום וקידום מכירות בכל שלב במחזור חיי המוצר, משתנה מדיניות התקשורת השיווקית שלו. פרט את מטרת התקשורת השיווקית בשלושה שלבים במחזור חיי מוצר כלשהו שתבחר.
הרצאה 02 סוגי משתנים קרן כליף.
משפט שלמה.
מחלקת הדרכה תשע"ח אמינות ויושרה – המושג אמת – חלק א מטרות הפעילות:
מבוא לתכנות ב-JAVA מעבדה 1
תרגול 11: רקורסיה ופיתוח טלסקופי
תרגול 1: סביבת העבודה ומבוא ל-Java
לולאות Department of Computer Science-BGU 19 יולי 19.
פינוק מסביב לעולם מחזות זמר הסבר הזמנה ומימוש.
תרגול 5: לולאות ומערכים.
תירגול 10: מבנים (structs) וקבצים
Marina Kogan Sadetsky –
כל הזכויות שמורות לגבריאל אנקרי © 2017
פוטנציאלים תרמודינאמיים (II)
Jump tables, review questions
פעולות בסביבת רובוטיקה
מבצעים: רועי מור טל מסרי
מבוא למדעי המחשב הרצאה מספר 12: רקורסיה
תכנות בשפת C תרגול 11 רשימות מקושרות מבנים
תרגול Introduction to C - Fall Amir Menczel.
פעולות אריתמטיות קרן כליף.
Computer Programming תרגול 1 Summer 2016
תירגול 11: מיונים וחיפוש בינארי
כפליות של מצבים במערכת מרובת חלקיקים נקודת מבט מיקרוסקופית
נערך ע"י אריק הוד הגימנסיה העברית הרצליה
תירגול 3: לולאות, קלט, וטיפוסים
תכנות בשפת C תרגול 8 רקורסיה
קשרי מקסוול (מתכון לתמרונים אלגבריים בבעיות תרמודינאמיות)
חשבון זה הוא חלק ממוצרי 365 ומקושר לתיבת המייל
Engineering Programming A
תירגול 8:מצביעים והקצאה דינאמית
תרגול 6: פונקציות, סוגי משתנים, top-down design
פינוק מסביב לעולם הסבר הזמנה ומימוש.
רובוטיקה תרגול שימוש בלולאות
פתרון של מערכת משוואות לינארית
© האוניברסיטה העברית בירושלים, 2008
כל הזכויות שמורות לגבריאל אנקרי © 2017
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
מבוא לתכנות מונחה עצמים Object Oriented Programming
הרצאה 10: אלגוריתמי מיון רקורסיביים Merge sort ו-Quick sort
יישומון הר לעמק 2019 הוראות הפעלה.
מבוא לתכנות למערכות מידע
SQL - כתיבת שאילתות למתחילים
אלגוריתמי מיון רקורסיביים
כל הזכויות שמורות לגבריאל אנקרי © 2017
תרגול 13 : חזרה נכתב על-ידי לימור ליבוביץ נערך ע"י ישראל גוטר
Marina Kogan Sadetsky –
מת"מ מעבדה 7-8 רשימות.
Solving Simultaneous Linear Equations Using GPU
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
שימוש בעצם ממחלקה אחרת כמאפיין במחלקה הנוכחית
מבוא לתכנות ב- JAVA מעבדה 4
מבוא למדעי המחשב סמסטר ב' – 2008 מרצה: יעל סיגל מתרגל: ענבל בודובסקי.
מצביעים Pointers – המשך...
שרטוט ידני - חלק 1.
(או כיצד ללמוד בצורה נכונה מתחילת הסמסטר)
(או כיצד ללמוד בצורה נכונה מתחילת הסמסטר)
מעבדה 2- עיצוב (עבור חלק ג)
הפחת רגולציה בבטיחות אש – מערך ב"מהפכה"
ניהול שינויים במחסן נתונים יש עומק היסטורי הארגון משתנה במשך הזמן
מודל ניהול פרסום.
עקרונות תכנות מונחה עצמים תרגול 9:C++ - תרגילים
הפונקציה מחזירה את מספר התווים במחרוזת נתונה.
Engineering Programming A
המושג ההלכתי – שעה זמנית
תמליל מצגת:

נערך ע"י אריק הוד, הגימנסיה העברית הרצליה מערכים נכתב ונערך ע"י אריק הוד הגימנסיה העברית הרצליה

קבועים לעתים נרצה להשתמש בערך מסוים מבלי לשנותו במשך כל התוכנית- לצורך חישובים שונים או פעולות שונות בתוכנית. לדוגמה, מספר התלמידים בכיתה. לשם כך נגדיר קבוע:

הגדרה const int NUM_OF_STUDENTS=36; Const מילה שמורה המבהירה כי הערך שלפנינו הינו קבוע. Int הטיפוס של הקבוע- בדוגמה שלפנינו, מספר שלם. נהוג לכתוב את שמו של הקבוע באותיות גדולות. חובה להציב בו ערך.

לא ניתן לשנות את ערכו של הקבוע שהרי אחרת הוא היה משתנה...

דוגמה בתנועת הצופים נערכה תחרות מכירת עוגיות. בקבוצת "ברוש" ישנם 10 חניכים. כתבו תוכנית הקולטת את מספר הקופסאות שמכר כל חניך בקבוצה, ומדפיסה את ממוצע הקופסאות שמכר כל חניך. הגדירו את מספר החניכים בקבוצה כקבוע: const NUM_OF_KIDS=10;

פתרנו באמצעות לולאה... גם קבוצת "אקליפטוס", שבה 12 חניכים, רצתה לחשב את ממוצע הקופסאות שמכר כל חניך. כתבו תוכנית המחשבת עבורה את ממוצע הקופסאות.

כיצד נשנה את התוכנית?

נסתכל על התוכנית שכתבנו קודם... עשרה חניכים- שעמלו ומכרו עוגיות- וכעת נרצה לשמור את כמות המכירות של כל חניך... דרך אחת היא כמובן ליצור עשרה משתנים: int numOfCookies1, numOfCookies2, numOfCookies3, numOfCookies4...... וכמובן שנקלוט אותם שלא באמצעות לולאה, כיוון שאנו לא קולטים את מספר העוגיות עבור אותו משתנה בכל פעם... בעיה נוספת היא כמובן כתיבת תוכנית נוספת עבור הקבוצה המקבילה, שלה ישנם 12 חניכים.

מהו מערך? אוסף של איברים מאותו סוג.

זהו משתנה אחד עם עשרה מקומות, כל מיקום שמור לחניך אחר- ניצור משתנה עם 10 "מקומות": 3 7 5 9 2 1 8 זהו משתנה אחד עם עשרה מקומות, כל מיקום שמור לחניך אחר- אך זהו משתנה אחד!!!

לשם מה מערך? משתנה אחד , המכיל כמה איברים בתוכו. מכיל אינדקסים עבור כל משתנה. חוסך מאיתנו להגדיר עשרות משתנים שונים.

הגדרת מערך הגדרת מערך מתבצעת כמעט כמו משתנה רגיל: int[] a=new int[10]; במקרה שלפנינו יש במערך 10 מקומות. כמובן שניתן להגדירו באמצעות הקבוע שיצרנו: int[] a=new int[NUM_OF_KIDS]; הסוגריים המרובעים מבהירים כי זהו מערך מסוג int כלומר: איבריו הם מספרים שלמים. המילה new מקצה מקום בזיכרון לעשרה מקומות עבור משתנה אחד זה. לא ניתן ליצור מערך בעל איברים מסוגים שונים.

אינדקסים שימו לב למיקום האיברים במערך שלפנינו: הנה המערך ששמו arrExample arrExample[0]=13; arrExample[1]=5; arrExample[2]=9; arrExample[3]=7; arrExample[4]=8; 4 3 2 1 אינדקס (מיקום האיבר במערך) 8 7 9 5 13 ערך האיבר במערך האינדקס מתחיל מ-0. במערך זה חמישה מקומות. אופן כתיבת המיקום: שימו לב שאין מיקום ששמו arrExample[5] כיוון שישנם כבר חמישה מקומות- הרי המיקום ה0 היה הראשון.

גישה לאיבר במערך const int NUM_OF_KIDS = 10;//קבוע-מספר החניכים int[] arr_Cookies = new int[NUM_OF_KIDS];//הגדרת מערך חדש שם המערך הוא arr_Cookies הגישה לאיברים תתבצע באופן הבא: arr_Cookies[0]=3; כלומר, החניך הראשון מכר 3 קופסאות עוגיות

הנה התוכנית שוב- באמצעות שימוש במערך const int NUM_OF_KIDS = 10;//constant- the number if kids in the group int sum_of_cookies = 0;//The sum to calculate the average int[] arr_Cookies = new int[NUM_OF_KIDS];//an array to keep the numbers of boxes for (int i = 0; i < NUM_OF_KIDS; i++) } Console.WriteLine("Please insert num of cookies boxes you sold"); arr_Cookies[i] = int.Parse(Console.ReadLine()); sum_of_cookies += arr_Cookies[i]; { Console.WriteLine("The average is:" + (sum_of_cookies / NUM_OF_KIDS)); כעת ניתן להמשיך ולבצע חישובים, כיוון שעדיין שמורים לנו ערכי המכירות של כל חניך

אתחול מערך כמו כל משתנה, יש להציב בו ערך התחלתי. המערך הוא, בעצם, משתנה בעל ערכים רבים- ולכל אחד מהם נציב ערך התחלתי. ישנן כמה אפשרויות:

לולאה int i; for( i=0; i<5;i++) a[i]=0; למערך שלפנינו חמישה איברים. באפשרות זו אנו פונים למיקומו של כל איבר במערך, ומציבים בו ערך.

גישה ישירה int[] a={13,5,9,7,8}; למערך שלפנינו חמישה איברים, כבר באתחול המערך אנו מציבים בו ערכים, באמצעות סוגריים מסולסלים והפרדה בפסיקים בין הערכים. בפעולה זו אין צורך במילה new כיוון שבעצם כבר הגדרנו את הצורך במספר המקומות: חמישה. נשתמש באופן הגדרה זה כאשר ברצוננו להשתמש במערך שערכיו ידועים לנו מראש.

אתחול ע"י קלט המשתמש יכניס את ערכי האיברים במערך, כפי שביצענו בדוגמה.

מערכת הצבעות תוכנית ריאליטי חדשה הגיעה לשלבים הסופיים. עשרה מתמודדים נותרו, וההחלטה לגבי המודח הבא נתונה בידי הצופים- כל מתמודד "קיבל" ספרה שתייצג אותו. המטלה שלכם היא לבנות "מערכת הצבעות". התוכנית תקבל בכל פעם ספרה אחרת- בסיום קליטת ההצבעות המשתמש יקליד "1-".

שלב א' עליכם לקלוט את קולות המצביעים- ולהציג את מספר הקולות שקיבל כל מתמודד.

נגדיר מערך מכיוון שהמערך משמש כמערך מונה נאפס את כל איבריו.

סוגי מערכים מערך מונה ומערך צובר מערך מונה הוא מערך המגדיל את ערך המיקום ב-1 בכל פעם, כפי שעשינו בתוצאות ההצבעה בתחרות הSMSים: כל הצבעה מגדילה את ערך המיקום במערך ב1. במערך צובר ערך המיקום יכול להשתנות בכל מספר.

שלב ב' עליכם להכריז על המתמודד שקיבל את מספר הקולות הנמוך ביותר ומודח מן התוכנית.

מטלה לדוגמה כתוב תוכנית, המקבלת מספר שש ספרתי, ומונה כמה פעמים הופיעה כל ספרה במספר. רעיונות? שימו לב כי ה0 ה"מוביל" נעלם במהלך ההרצה. יש להתחשב גם בו!!!

יש לזכור: איפוס כל המערך. לולאות- מה שמקצרים צריך להחזיר!!! משתנה זמני: מינימום, מקסימום ועוד. אינדקסים.