מבוא למדעי המחשב תרגול 5 שעת קבלה : יום שני 11:00-12:00 דוא " ל :

Slides:



Advertisements
Similar presentations
מבוא למדעי המחשב לתעשייה וניהול
Advertisements

מבוא למדעי המחשב לתעשייה וניהול דוגמאות ותרגול נוסף במערך חד ממדי הרצאה 12.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
מבוא למדעי המחשב תרגול 2 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
1 תרגול 4 – פונקציות מבוא למדעי המחשב/מבוא לתכנות מערכות – סמסטר א' תשע"א.
1 מבוא למדעי המחשב משתנים. 2  סוגי משתנים בשפת C  ההבדלים בין סוגי המשתנים השונים.
תכנות תרגול 7 שבוע : מערכים עד היום התוכניות שלנו לא ידעו לשמור כמות גדולה של מידע ללא הגדרת כמות גדולה של משתנים. עד היום התוכניות שלנו לא.
תכנות תרגול 6 שבוע : חישוב e זוהי הנוסחא לחישוב e נראה כיצד לתרגם אותה לפונקציה n n.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
11 Introduction to Programming in C תרגול
מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :
1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :
תכנות תרגול 9 שבוע : מערכים int a; a=5; int a[10]; a[2] = 5; 5 a a[0] a[1] a[2] a[9]  5 משתנה בודד מערך גישה למשתנה השלישי במערך.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מבוא למדעי המחשב תרגול 4 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב © אריק פרידמן 1 מצביעים כמערכים דוגמה.
תרגול חזרה. מבנה האובייקט תאר את מבנה האובייקט כולל מבנה טבלאות הפונקציות הוירטואליות עבור התכנית הבאה struct A { int x; virtual void a() {}; }; struct.
שיעור שישי: מערכים ופונקציות
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
1 מבוא למדעי המחשב מבנה של תכנית. 2 מבנה של תכנית – חלוקה לקבצים  תכנית בשפת C הינה אוסף של הגדרות של:  משתנים (חיצוניים)  פונקציות  ניתן לפרוש תכנית.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 6 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
תכנות תרגול 2 שבוע : צור קשר מתרגל – שי גוטנר, ביה " ס למדעי המחשב. מתרגל – שי גוטנר, ביה " ס למדעי המחשב. דואר אלקטרוני : דואר.
תכנות תרגול 5 שבוע : לולאות for לולאות for for (counter=1 ;counter
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
מבוא למדעי המחשב תרגול 6 - מערכים שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תכנות תרגול 7 שבוע : מערכים עד היום התוכניות שלנו לא ידעו לשמור כמות גדולה של מידע ללא הגדרת כמות גדולה של משתנים. עד היום התוכניות שלנו לא ידעו.
תכנות תרגול 5 שבוע : הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
מערכים עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר עד היום כדי לייצג 20 סטודנטים נאלצנו להגדיר int grade1, grade2, …, grade20; int grade1, grade2, …, grade20;
תכנות תרגול 4 שבוע : לולאות for לולאות for for (counter=1 ;counter
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב' Templates תבניות.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
1 מבוא למדעי המחשב מושגי יסוד. 2 אלפבית תווים המותרים בשימוש בתכניות C: אותיות לטיניות קטנות : a,b,c, …,z אותיות לטיניות גדולות : A,B, C, …,Z ספרות :
מבוא למדעי המחשב שפת c
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
מבוא למדעי המחשב תרגול 9 – מערכים ומחרוזות, תרגילי חזרה שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב תרגול 12 – הקצאת זיכרון דינאמית שעת קבלה : יום שני 11:00-12:00 דוא " ל :
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
Sscanf example #include int main () { char sentence []="Rudolph is 12 years old"; char str [20]; int i; sscanf (sentence,"%s %*s %d",str,&i); printf ("%s.
תכנות תרגול 8 שבוע : מערכים עד היום התוכניות שלנו לא ידעו לשמור כמות גדולה של מידע ללא הגדרת כמות גדולה של משתנים. עד היום התוכניות שלנו לא.
פיתוח מערכות מידע Class diagrams Aggregation, Composition and Generalization.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
תכנות מכוון עצמים ושפת ++C וויסאם חלילי. TODAY TOPICS: 1. Function Overloading & Default Parameters 2. Arguments By Reference 3. Multiple #include’s 4.
מבנים קרן כליף. ביחידה זו נלמד :  מהו מבנה (struct)  איתחול מבנה  השמת מבנים  השוואת מבנים  העברת מבנה לפונקציה  מבנה בתוך מבנה  מערך של מבנים.
1 מבוא למדעי המחשב הרצאה 5: פונקציות. 2 מבוא לפונקציות חלוקה של אלגוריתם לתת משימות: משימה - פונקציה: דוגמאות מציאת המקסימלי מבין שני איברים האינדקס של.
1 נתבונן בפונקציה הבאה public static int min(int[] a,int n) { int min = a[0]; for (int i = 1; (i < n ) && (i < a.length) ; i++) if (min > a[i]) min = a[i];
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
מבוא למדעי המחשב לתעשייה וניהול
מחלקות classes.
מבוא למדעי המחשב סיבוכיות.
SQL בסיסי – הגדרה אינדוקטיבית
תירגול 14: מבני נתונים דינאמיים
מבוא כללי למדעי המחשב פונקציות
ניתוח מערכות מידע תכנות ב C#
מבוא כללי למדעי המחשב תרגול 4
תרגול 8 תחומי הכרה פונקציות
סוגי משתנים קרן כליף.
תרגול Introduction to C - Fall Amir Menczel.
תוכנה 1 תרגול 13 – סיכום.
תירגול 8:מצביעים והקצאה דינאמית
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
Presentation transcript:

מבוא למדעי המחשב תרגול 5 שעת קבלה : יום שני 11:00-12:00 דוא " ל :

פונקציות פונקציה היא קטע קוד עצמאי שמיועד לשימוש חוזר. כל פונקציה מזוהה ע " י 3 שדות : 1) טיפוס הערך שהפונקציה מחזירה. אם הפונקציה לא מחזירה ערך הטיפוס יהיה void. 2) שם הפונקציה שישמש אותנו להפעלתה. 3) סוגריים ובתוכם רשימת הפרמטרים כאשר הם מופרדים בפסיקים. לכל פרמטר יש לציין את טיפוסו. גם אם אין פרמטרים, הסוגריים הם חובה.

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

דוגמה #include int abs(int x) { if (x<0) return (-x); return (x); } void main() { int a,b; printf ( “ \n enter 2 numbers ” ); scanf ( “ %d%d ”,&a,&b); Printf ( “ the absolute value of a = %d, the absolute value of b=%d ”,abs(a),abs(b)); } הוראת החזרה

לא ניתן לרשום פונקציה בתוך פונקציה. למשל, אי אפשר לרשום את הפונקציה abs בתוך הפונקציה main. כל פונקציה יכולה לקרוא לפונקציה שהוגדרה לפניה. כשיש מספר רב של פונקציות שמשתמשות אחת בשנייה נוצרת בעיה : באיזה סדר לרשום את כל הפונקציות ? פתרון אפשרי : ניתן להצהיר על הפונקציות בתחילת התכנית, אחרי שורות ה -include ע " י כתיבת כותרת הפונקציה בלבד ובסופה התו ;.

סוגי משתנים משתנה לוקלי ( מקומי ) הוא משתנה שמוגדר בגוף הפונקציה. הוא מוכר אך ורק ע " י הפונקציה שבה הוא מוכרז. למשל : int abs(int x) { int z; if (x<0) z=-x; else z=x; return (z); } Z הוא משתנה לוקלי של הפונקציה abs.

משתנה חיצוני : משתנה שמוגדר מחוץ לגוף הפונקציה. תחום ההכרה של משתנה חיצוני הוא מרגע הופעתו בקובץ, כלומר, רק הפונקציות שמוגדרות אחריו יכירו אותו. משתנה מועבר : משתנה שמועבר ברשימת הפרמטרים לפונקציה. למשל, בפונקציה abs X הוא משתנה מועבר. משתנה זה מוכר רק ע " י הפונקציה אליה הוא מועבר, אך ערכו הראשוני מתקבל ע " י הפונקציה הקוראת.

מה לדעתך יהיה הפלט של התכנית הבאה? #include void func(int x,int y) } x=10; y=30; printf ("\n x=%d y=%d",x,y); { void main() } int a=3,b=7; func(a,b); printf ("\n a=%d b=%d",a,b); { הרץ את התכנית ובדוק את תשובתך.

כתבו תכנית שקולטת 5 שלשות של מספרים ממשיים ומדפיסה כמה שלשות מסודרות מהקטן לגדול יש. #include int fixed(float a,float b,float c) } return (a<b && b<c); { void main() } float num1,num2,num3; int count=0,i; for (i=1;i<=5;i++) } printf ("\n enter 3 numbers"); scanf ("%f%f%f",&num1,&num2,&num3); count+=fixed(num1,num2,num3); { printf ("\n there are %d fixed three",count); {

כתבו תכנית שקולטת מספרים שלמים וחיוביים ומדפיסה את מכפלתם. קליטת הנתונים תפסק עם קליטת המספר 0. כתבו תחילה פונקציה שמחשבת מכפלת מספרים ללא פעולת הכפל. #include int multi (int a,int b) } int i,result=0; for (i=1;i<=b;i++) result+=a; return result; { void main() } int num,ans=1; do } printf ("\n enter a number"); scanf ("%d",&num); if (num) ans=multi(num,ans); { while (num); printf ("\n the multiplication of all the numbers: %d",ans); {

כתוב תכנית שתקלוט מספר תלמידים בבית הספר, ותדפיס כמה כיתות צריך (כאשר בכיתה לומדים 30 תלמידים) וכמה שולחנות צריך (כאשר לכל 2 תלמידים יש שולחן). השתמשו בפונקציה אחת. #include int num_item(int num,int capacity) } int ans; if (!(num%capacity)) return (num/capacity); return ((num/capacity)+1); { void main() } int pupils; printf ("\n enter number of pupils"); scanf ("%d",&pupils); printf ("\n we need %d classes",num_item(pupils,30)); printf ("\n we need %d desks",num_item(pupils,2)); {

כתבו תכנית שקולטת רבעיות של מספרים. אם המספר הראשון ברביעייה הוא 1, יודפס הממוצע של המספר השני והשלישי. אם המספר הראשון הוא 2, יודפס הממוצע של המספר השני והרביעי. אם המספר הראשון הוא 3 יודפס הממוצע של השלישי והרביעי. קליטת המספרים תסתיים כאשר המספר הראשון ברביעייה הוא לא 1 או 2 או 3. #include void ave(float x,float y) } printf ("\n the average is: %f",(x+y)/2); { void main() } float a,b,c,d; printf ("\n enter 4 numbers"); scanf ("%f%f%f%f",&a,&b,&c,&d); while (a==1 || a==2 || a==3) } if (a==1) ave(b,c); if (a==2) ave(b,d); if (a==3) ave(c,d); printf ("\n enter 4 numbers"); scanf ("%f%f%f%f",&a,&b,&c,&d); { {