Microsoft PowerPoint - rec1.ppt

מסמכים קשורים
תכנות מונחה עצמים א' – תש"ע

סדנת תכנות ב C/C++

Microsoft PowerPoint - rec3.ppt

מבוא למדעי המחשב

PowerPoint Presentation

Slide 1

PowerPoint Presentation

מספר מחברת: עמוד 1 מתוך 11 ת"ז: תשע"א מועד ב סמסטר א' תאריך: 00:11 שעה: 0 שעות הבחינה: משך כל חומר עזר אסור בשימוש בחינה בקורס: מבוא למדעי ה

אוניברסיטת בן גוריון בנגב תאריך המבחן: שקולניק אלכסנדר שם המרצה: מר בשפת JAVA מבוא לתכנות מבחן ב: מס' הקורס : הנדסת תעשיה וניהול מ

מבחן סוף סמסטר מועד ב 28/10/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, גדי אלכסנדרוביץ הוראות: א. בטופס המבחן 6 עמודים (כולל דף זה) ו

PowerPoint Presentation

שאלהIgal : מערכים דו מימדיים רקורסיה:

שאלהIgal : מערכים דו מימדיים רקורסיה:

Slide 1

מבוא לתכנות ב- JAVA תרגול 7

PowerPoint Presentation

Microsoft PowerPoint - lec2.ppt

מבחן סוף סמסטר מועד א 15/02/08 מרצה אחראית: דר שירלי הלוי גינסברג מתרגלים: גלעד קותיאל, דניאל גנקין הוראות: א. בטופס המבחן 7 עמודים ו 4 דפי נוסחאות. ב

שאלהIgal : מערכים דו מימדיים רקורסיה:

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

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

Slide 1

Slide 1

PowerPoint Presentation

Slide 1

פתרון מוצע לבחינת מה"ט ב_שפת c מועד ב אביב תשע"ט, אפריל 2019 מחברת: גב' זהבה לביא, מכללת אורט רחובות שאלה מספר 1 מוגדרת מחרוזת המורכבת מהספרות 0 עד 9.

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

תרגול 1

אוניברסיטת חיפה החוג למדעי המחשב מרצה: שולי וינטנר מתרגלים: נעמה טוויטו, מחמוד שריף מבוא למדעי המחשב סמסטר א' תשע"ב בחינת סיום, מועד א', הנחי

מבוא למדעי המחשב - חובלים

PRESENTATION NAME

PowerPoint Presentation

Microsoft Word - c_SimA_MoedB2005.doc

מבוא לתכנות ב- JAVA תרגול 11

הגשה תוך שבוע בשעת התרגול

Slide 1

úåëðä 1 - çæøä

מבוא למדעי המחשב - חובלים

Microsoft PowerPoint - lec10.ppt

מבוא למדעי המחשב

אוניברסיטת חיפה החוג למדעי המחשב.5.6 מבוא למדעי המחשב סמסטר א' תשע"ז בחינה סופית מועד א', מרצה: שולי וינטנר מתרגלים: סמאח אידריס, ראמי עילבו

מהוא לתכנות ב- JAVA מעבדה 3

Slide 1

Microsoft Word B

מבוא למדעי המחשב

PowerPoint Presentation

Tutorial 11

Slide 1

PowerPoint Presentation

Slide 1

מבחן 7002 פרטים כלליים מועד הבחינה: בכל זמן מספר השאלון: 1 משך הבחינה: 3 שעות חומר עזר בשימוש: הכל )ספרים ומחברות( המלצות: קרא המלצות לפני הבחינה ובדי

Slide 1

הגשה תוך שבוע בשעת התרגול

יוםראשון, 02 ליולי 2014 סמסטר סוף מבחן )236703( עצמים מונחה תכנות - א' מועד 2014, אביב סמסטר קמחי יחיאל ד"ר מרצה: מסינג מיטל עבדאלקאדר, כרם גלעד, ערן

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

Slide 1

234114

PowerPoint Presentation

Slide 1

Slide 1

מבוא למדעי המחשב, סמסטר א', תשס"ח תרגול מס' 2

מבוא למדעי המחשב

Microsoft PowerPoint - lec9.ppt

ה ש ל מ ת מ ש פ ט ים ש א ל ה מ ס פ ר 1: ע ד ן ש ל מ כ ב י ת ל אב יב ב כ ד ור ס ל, ו ל כ ן מ ק פ יד ל ל כ ת ה ק ב וצ ה כ ש מ ת אפ ש ר ל ו. ל מ ש ח ק י

Microsoft PowerPoint - lec9.ppt

Microsoft Word - דוגמאות ב

מתכונת עיצוב 3013

Microsoft PowerPoint - T-10.ppt [Compatibility Mode]

מספר זהות: סמסטר ב' מועד א' תאריך: 11102/4// שעה: 9:22 משך הבחינה: 3 שעות חומר עזר: אין מותר השימוש במחשבון פשוט בחינה בקורס: מבני נתונים מרצה: הדר בי

פ רק כה ) פ ס וק ים ז-יא( ז ו א ל ה י מ י ש נ י ח י י א ב ר ה ם א ש ר ח י: מ א ת ש נ ה ו ש ב ע ים ש נ ה ו ח מ ש ש נ ים. ח ו י ג ו ע ו י מ ת א ב ר ה ם

שקופית 1

מקביליות

מערכות הפעלה

תרגול מס' 7: תרגילים מתקדמים ברקורסיה

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

Microsoft Word - pitaron222Java_2007.doc

תרגול 3 - מערכים

מצגת של PowerPoint

Programming

<4D F736F F D20FAF8E2E9EC203220E0F7E520EEE020FAF9F2E1>

שעור 6

בס"ד תרגיל 3 מועד אחרון ל כללי בתרגיל זה עליכם לכתוב תוכנה שמדמה מאגר נתונים של חנות. את מוצרי החנות תייצגו באמצעות עצים ורשימות מקושרות יהיה עליכם לנ

Microsoft PowerPoint - L01-n.ppt

פתרון 2000 א. טבלת מעקב אחר ביצוע האלגוריתם הנתון עבור הערכים : פלט num = 37, sif = 7 r האם ספרת האחדות של sif שווה ל- num num 37 sif 7 שורה (1)-(2) (

תוכנה 1 בשפת Java שיעור מספר 3: "חתיכת טיפוס"

תשע"דד אביב תוכנה 1 תרגיל מספר 4 עיבוד מחרוזות וקריאה מקבצים הנחיות כלליות: קראו בעיון את קובץ נהלי הגשת התרגילים אשר נמצא באתר הקורס..(

1 תבניות טקסט מהי תבנית טקסט? שימוש ב- Characters Meta שימוש ב- Expression Grouping שימוש ב- Quantifiers תת תבניות הפונקציה preg_match הפונקציה preg_m

תוכן העניינים

PowerPoint Presentation

2013/14 אוניברסיטת חיפה מבוא למדעי מחשב, מעבדה מטרת המעבדה: לתרגל את המעבר מאלגוריתם לקוד C כמה שיותר. הוראות:.1.2 ניתן לעבוד ביחידים או בזוגות. (יש מ

תוכן העניינים

מבוא למדעי המחשב

PowerPoint Presentation

יום שלישי, 14 ליולי 2015 מבחן סוף סמסטר - תכנות מונחה עצמים )236703( סמסטר אביב 2015, מועד א' מרצה: ערן גלעד מתרגלים: נורית מושקוביץ', הלאל עאסי, אליר

תרגול מס' 1

Microsoft Word - c_SimA_MoedA2006.doc

תמליל:

תכנות מונחה עצמים בשפת ++C תר גול מ ספר 1 אוהד ב ר זילי אוניברסיטת תל א ביב חדש חדיש ומחודש תוספות של + +C לשפ ת C 1

#include<iostream> Hello World using namespace std; int main() cout << "Hello World\n"; 3 Scopes בלוק חדש נוצר ע"י: בלוק חדש ניתן להגדיר משתנים חדשים איפה שרוצים (כמעט) ט ו ו ח הכר ה וט ו ו ח ק י ו ם של משתנ י ם כל משת נה י ו כר מה נק ו דה שב ה ה ו גדר ו ע ד לס י ו ם הב ל וק הפני מי ב י ו תר שבו ה ו גדר משתנה יקרא גלובלי אם הוא נמצא מחוץ לכל פונקציה, מחלקה, מרחב שמות או בלוק הגדר ות ש ל משתנ ה בבל וק פנ י מ י מסת יר ות ה גדרות ע ו טפ ות ו הגדר ות גל ובל י ו ת 4 2

Scopes int x ; // global x void f () int x ; // local x hides global x x = 1 ; // assign to local x int x ; // hides first local x x = 2 ; // assign to second local x ::x = 2 ; // assign to global x x = 3 ; // assign to first local x int * p = &x ; // take address of global x 5 הג דיר י משת ני ם מקומ יי ם ב scope קט ן כ כל ה ני ת ן למשל, במשפט אתחול של :for for (int i=0; i<10 ; i++)... למשל, בתוך תנאי ה :if if (double d = prim (true)) left /= d ; break ; 6 3

אחרת... double d ; //... d2 = d ; // oops! //... if (d = prim (true )) left /=d; break; //... d = 2.0; // two unrelated uses of d 7 העמסת פונקציות נממש את max המקבלת שני ארגומנטים ומחזירה את הגדול מביניהם בשפת C יש לממש max נפרדת (בשם נפרד) עבור כל טיפוס: double max_double(double x, double y) long max_long(long x, long y) העמסת פונקציה מאפשרת הגדרת פונקציות שונות בשם זהה ובלבד שלא תהיה להן אותה חתימה (טיפוס ומספר ארגומנטים) 8 4

העמסת פונקציות בשפת ++C נית ן ל הגד יר: double max(double x, double y) long max(long x, long y) איזו מהפונקציות תופעל במקרים הבאים: max(1l, 1L); // max(long,long) max(1.0, 1.0); // max(double,double) max(1l, 1.0); // error! Ambiguous max(1, 1); // error! Ambiguous 9 העמסת פונקציות המה דר מנסה למצוא את הגרס ה המתאימה ביותר עבור כל קריאה לפונקציה על פי טיפוסי הארגומנטים של הקריאה לפי הסדר הבא: התאמה מדויקת (או המרה טריויאלית) מערך למצביע, פונקציה למצביע לפונקציה, הוספת const קידום (promotion) unsigned וגרסאות ה int ל- bool,char,short long double ל- double, double ל- float.1.2 10 5

העמסת פונקציות ביצוע המרות סטנדרטיות int ל- double ולהיפך upcasting void * מצביע לטיפוס ל- unsigned int ל- int המרות שהוגדרו ע"י המשתמש פונקציות שהוגדרו ע"י... (שלוש נקודות).3.4.5 אם לא נמצאת התאמה או שנמצאות שתי התאמות "באותה רמה" או שפרמטרים שונים מתאימים לפונקציות שונות המהדר מודיע על אי בהירות (ambiguity) 11 ערכי ברירת מחדל לארגומנטים - מוטיבציה הפ ונק צ י ה base) int compute(int x,int מבצ עת ח י ש וב כל שה ו על הארג ו מנט x בבסי ס ספ ירה base בדרך כלל קורא י ם ל ה בבס יס עש רונ י ו ה מש תמש י ם מ ע ונ י י נ י ם ל חס וך את ה צ ורך לה עב יר ל ה 2 ארגו מנט י ם בסיס הספירה יועבר רק אם הוא שונה מ- 10 לדוגמא כאשר המתכנת כותב compute(a) כאילו נכתב: compute(a,10) 12 6

ערכי ב רירת מח דל לא רגומנ טי ם (default arguments) נצה יר על ה פו נקצ י ה כך: int compute(int x, int base=10); אם מימוש הפונקציה (definition) מופרד מההצהרה (הכרזה, (declaration על הפונקציה ערכי ברירת המחדל יופיעו רק בהצהרה ערכ י בר יר ת מח דל נ י תנ ים לכ ל ה ארגו מנט י ם הח ל ממק ו ם מ ס ו י ם וה לא ה 13 ערכי ב רירת מח דל לא רגומנ טי ם (default arguments) העמסה בשילוב עם ערכי ברירת מחדל עלולה ליצור,ambiguity למשל בהגדרת הפונקציות: int compute(int x, int base=10); int compute(int x); איזו פונקציה תיקרא? הפונקציה הראשונה // שגיאת קומפילציה // compute(4,16) compute(4) 14 7

העברה by value והעברה by reference בשפת C נתונים מועברים לפונקציה ומוחזרים ומפונקציה ע"י העתקתם value) (by גם מצביעים מועתקים! לא ניתן לשנות נתון המועבר לפונקציה ב ++C ניתן לבחור האם רוצים להעביר העתק של הנתון או את הנתון עצמו reference) (by 15 C-Style swap void swap(int x, int y) int temp = x; x = y; y = temp; int main() int x=3, y=4; printf("before swap: x=%d y=%d\n",x,y); swap(x,y); printf("after swap: x=%d y=%d\n",x,y); 16 8

C-Style swap void swap(int *x, int *y) int temp = *x; *x = *y; *y = temp; int main() int x=3, y=4; printf("before swap: x=%d y=%d\n",x,y); swap(&x,&y); printf("after swap: x=%d y=%d\n",x,y); 17 C++ Style swap void swap(int& x, int& y) int temp = x; x = y; y = temp; int main() int x=3, y=4; cout << "before swap: x=" << x << " y=" << y << endl; swap(x,y); cout << "before swap: x=" << x << " y=" << y << endl; 18 9

החזרה by reference struct point int x,y;; int &getx(point *p) return p->x; int main() point p = 3,4; getx(&p) = 5; cout << "p.x = " << p.x << endl; 19 const by reference פונקציות אשר מקבלות משתנים by reference משיקולי נוחות יציינו כי אינן משנות ערכים אלו ע"י הוספת const void lo_naganu(const int &x) ; פונקציות המחזירות ערכים by reference משיקולי נוחות יגנו על ערכים אלו ע"י הוספת const לטיפוס הערך המוחזר const int &alti_gabo(point *p); 20 10

const with pointers כאשר מצביע לטיפוס כלשהו מוגדר כקבוע (const) האם אסור לשנות את הנתון או את המצביע? כאשר ה const מופיע בתחילת ההגדרה הנתון המוצבע הוא קבוע כדי לציין שהמצביע עצמו קבוע נחליף את ה - * שבהגדרת המצביע ל- *const 21 void f1 (char *p) char s[] = "Gorm"; אפשר דוגמא? const char * pc = s ; pc [3 ] = g ; pc = p ; char *const cp = s ; cp [3 ] = a ; cp =p; // pointer to constant // error: pc points to constant // ok // constant pointer // ok // error: cp is constant const char *const cpc = s ; // const pointer to const cpc [3 ] = a ; // error: cpc points to constant cpc = p ; // error: cpc is constant 22 11

קלט \ פלט פלט בע זר ת ה"פק ו דה" :cout cout << hello world\n int i = 10; cout << i = << i << endl; int i; cin >> i; קלט ב עזר ת ה"פק ו דה" :cin #include<iostream> 23 קלט \ פלט אין צורך בטיפוסים איך? אין צורך בהעברת כתובתם של משתני הקלט איך? מייתר את השימוש בספרייה stdio.h 24 12

מה חדש? הקצאת זכרון דינאמית תעשה בעזרת האופרטור malloc שמורה) המחליף את (מילה new new מקבלת כארגומנט שם טיפוס, מערך או פונקציית אתחול (בנאי) : הקצאת int *i = new int; // int הקצאת מערך של int *i = new int[10]; int *i = new int(); // int 10 הקצאת int מאותחל לאפס // 25 לשחרר את ווי לי שחרור זכרון שהוקצה דינאמית יעשה בעזרת האופרטור delete (מילה שמורה) המחליף את free delete מקבלת כארגומנט מצביע ש הוקצה ע"י new ומש חררת את הזכרון שהוקצה שחרור נתון בודד // שחרור מערך // delete i; delete []arr; 26 13

עבודה עם מערכים תוכנית ++C לא אמורה להכיל מערכים כלל לשם כך הומצא מבנה הנתונים vector<t> אשר חוסך למתכנת את ההתמודדות עם ניהול זכרון (ע"י פונקציות כדוגמת() realloc ) הטומן בחובו באגים לעתיד מחרוזות (מערכים מטיפוס * (char יוחלפו בטיפוס הסטנדרטי string 27 הערות /* */ יותר משורה אחת: // עד סוף השורה: בשפת JAVA הוסיפו סוג נוסף - הערות לצורכי /** */ תיעוד: 28 14

הפרה-פרוססור עשה את שלו - הפרה-פרוססור יכול ללכת const int MAX = 100; הגדרת קבועים: הגדרת סדרת קבועים: enum traffic_lights RED=1, YELLOW, GREEN ; המילה השמורה inline מבקשת מהמהדר ל'פרוש' את הגדרת הפונקציה בכל קריאה: inline int max(int a, int b) return a > b? a : b ; 29 bool טיפוס חדש לטיפול בערכים בולאנים הליטרלים true ו- false הן חלק מהשפה (מילים שמורות) ניתן להמיר ערכים בולאנים למספרים שלמים לפי כללי ההמרה הרגילים (להבדיל מ Java למשל) 30 15

עוד מילים שמורות חדשות בשפה... 31 static_cast<new_type> המרת טיפוסים מפורשת ע"י המשתמ ש: void f(void *x) char *str = static_cast<char *>(x); cout << str; סמוך עליי - אני יודע מה אני עושה... 32 16

זהו. 17