מצביעים Pointers – המשך...

Slides:



Advertisements
מצגות קשורות
הכרת תוכנת בקרים. כניסה לתוכנה תתבצע בשלבים הבאים: 1
Advertisements

תכנות בשפת C תרגול 11 - קבצים.
פרסום וקידום מכירות בכל שלב במחזור חיי המוצר, משתנה מדיניות התקשורת השיווקית שלו. פרט את מטרת התקשורת השיווקית בשלושה שלבים במחזור חיי מוצר כלשהו שתבחר.
הרצאה 02 סוגי משתנים קרן כליף.
Computer Programming Fall 2012 תרגול 6 פונקציות
סינמטק 1+1 הסבר מימוש הטבה באתר.
תרגול 11: רקורסיה ופיתוח טלסקופי
תרגול 1: סביבת העבודה ומבוא ל-Java
פינוק מסביב לעולם מחזות זמר הסבר הזמנה ומימוש.
דו"ח רווח והפסד ומדדים שיעור 3 ד"ר רוני קליין
נערך ע"י אריק הוד, הגימנסיה העברית הרצליה
תרגול 5: לולאות ומערכים.
תרגול מס' 8 משתנים מיוחסים מבוא ל-C++ קלט/פלט ב-C++
מבוא למדעי המחשב מ' - תירגול 9
תירגול 10: מבנים (structs) וקבצים
Marina Kogan Sadetsky –
מטרת פרויקט "שיעורים פרטיים ברשת"
רמי כהן, מדעי המחשב, הטכניוןכל הזכויות שמורות ©
Jump tables, review questions
פעולות בסביבת רובוטיקה
מבוא למדעי המחשב הרצאה מספר 12: רקורסיה
תכנות בשפת C תרגול 11 רשימות מקושרות מבנים
תרגול Introduction to C - Fall Amir Menczel.
פעולות אריתמטיות קרן כליף.
תירגול 11: מיונים וחיפוש בינארי
נערך ע"י אריק הוד הגימנסיה העברית הרצליה
תכנות בשפת C תרגול 8 רקורסיה
Engineering Programming A
תירגול 8:מצביעים והקצאה דינאמית
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
מבוא למדעי המחשב הרצאה 9: רקורסיה
תרגול 6: פונקציות, סוגי משתנים, top-down design
פינוק מסביב לעולם הסבר הזמנה ומימוש.
רובוטיקה תרגול שימוש בלולאות
סוכרים דו-סוכרים פרוקטוז קשר גליקוזידי חד-סוכרים קטוניים זיהוי סוכרים
© האוניברסיטה העברית בירושלים, 2008
כל הזכויות שמורות לגבריאל אנקרי © 2017
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
Web Services Delegates and Events ליווי מקצועי : ארז קלר
מבוסס על שקפים מאת יאן ציטרין
מבוא לתכנות מונחה עצמים Object Oriented Programming
זיכרון מטמון 2 מבנה מחשבים ספרתיים
הרצאה 10: אלגוריתמי מיון רקורסיביים Merge sort ו-Quick sort
תורת הקומפילציה תרגול 9: תרגום לקוד ביניים
אלגוריתמי מיון רקורסיביים
המשך תכנות מונחה עצמים תרגול מס' 9.
כל הזכויות שמורות לגבריאל אנקרי © 2017
תרגול 13 : חזרה נכתב על-ידי לימור ליבוביץ נערך ע"י ישראל גוטר
מת"מ מעבדה 7-8 רשימות.
© המרכז להוראת המדעים האוניברסיטה העברית בירושלים
שימוש בעצם ממחלקה אחרת כמאפיין במחלקה הנוכחית
מבוא לתכנות ב- JAVA מעבדה 4
מבנה כללי של היררכיית הקבצים עבור המסלול /A/B.txt
מבוא למדעי המחשב סמסטר ב' – 2008 מרצה: יעל סיגל מתרגל: ענבל בודובסקי.
Introduction to Programming in C
תרגול 12: backtracking.
תעסוקה לחופשה מתכונים קלי הכנה וטעימים מאד מתוך הספר:
(או כיצד ללמוד בצורה נכונה מתחילת הסמסטר)
(או כיצד ללמוד בצורה נכונה מתחילת הסמסטר)
פיתוח מערכי שיעור כיתתיים משולבי תקשוב (הל"ה)
מעבדה 2- עיצוב (עבור חלק ג)
תרגול מס' 7: Memoization Quicksort תרגילים מתקדמים ברקורסיה
מבנה מחשבים ספרתיים תרגול מס' 4: זכרון מטמון 2.
עקרונות תכנות מונחה עצמים תרגול 9:C++ - תרגילים
תוכנה 1 בשפת Java שיעור מספר 11: חידושים ב Java 8
Java Programming רשימות מקושרות - המשך
הפונקציה מחזירה את מספר התווים במחרוזת נתונה.
Engineering Programming A
רשימות מקושרות עבודה עם קבצים דוגמה
תמליל מצגת:

מצביעים Pointers – המשך... תרגול 10 מצביעים Pointers – המשך...

שימו לב לשימוש בסוגריים בביטויים המערבים מצביעים! מצביעים ומערכים הערה חשובה: שימו לב לשימוש בסוגריים בביטויים המערבים מצביעים! השתמשו תמיד בסוגריים כדי להיות בטוחים שאתם מקבלים את מה שרציתם וגם כדי שיהיה ברור לקורא מה רציתם ההתיחסות למערך היא ע"י מצביע לתחילתו שם המערך הוא בעצם כתובת תחילת המערך צורת הכתיבה בה אנו משתמשים בגישה לאיברי מערך: arr[0] , arr[1], … משמעותה בעצם: האיבר שנמצא בכתובת arr+0 או arr+1 וכדומה עכשיו גם מובן למה האינדקסים מתחילים מ-0 ומסתימים ב-(n-1) אם נגדיר מצביע למערך: int *ptr = &arr[0]; או int *ptr = arr; אז הביטוי שקול ל arr[1] *(ptr+1)

מצביעים ומערכים ההבדלים בין שם המערך למצביע לתחילת המערך הם: המצביע הוא משתנה לכל דבר ולכן פעולות כמו ptr++ או ptr=&b הן פעולות חוקיות הגורמות למצביע להצביע לכתובת אחרת שם המערך, לעומת זאת, הוא קבוע ולכן לא ניתן לשנות את ערכו אף פעם

תרגיל [קישור]

קידום המחרוזת נעשה על ידי הגדלת האינדקס i ב-1 כל פעם מצביעים ומחרוזות int f1(char c, char* s) { int i; for(i=0; s[i]; i++) if(s[i] == c) return i; return -1; מעבר על המחרוזת כמערך לפי אינדקסים קידום המחרוזת נעשה על ידי הגדלת האינדקס i ב-1 כל פעם הפונקציה בודקת האם התו c מופיע במחרוזת s: אם כן – מחזירה את האינדקס הראשון בו מופיע התו אם לא – מחזירה -1

מצביעים ומחרוזות הפונקציה מקבלת שלוש מחרוזות ומחזירה מצביע ל-char char* f2(char* s, char* src_dic, char* dst_dic) { int ind; char* p; for(p=s; *p; p++) ind = f1(*p, src_dic); if(ind >= 0) *p = dst_dic[ind]; } return s; הפונקציה מקבלת שלוש מחרוזות ומחזירה מצביע ל-char הגדרת מצביע עזר לצורך מעבר על המחרוזת מעבר על המחרוזת בעזרת מצביע העזר

מעבר על המחרוזת בעזרת הפרמטר s עצמו. מצביעים ומחרוזות int f3(char* s) { char p = 0; int mx = 0, cr = 0; for(; *s; s++) mx = (cr > mx)? cr : mx; if(*s == p) cr++; else cr = 1; p = *s; } return mx; מעבר על המחרוזת בעזרת הפרמטר s עצמו. הפונקציה תחזיר את אורך רצף התווים הזהים הגדול ביותר במחרוזת