Engineering Programming A

Slides:



Advertisements
Similar presentations
Completeness and Expressiveness. תזכורת למערכת ההוכחה של לוגיקה מסדר ראשון : אקסיומות 1. ) ) (( 2. )) ) (( )) ( ) ((( 3. ))) F( F( ( 4. ) v) ( ) v ((
Advertisements

נושאים קוד מותנה Setting Testing Control Flow If-then-else Varieties of Loops Switch Statements שפת מכונה – מבוא מבוסס על פרק 3 של Computer Systems – a.
מבוא למדעי המחשב לתעשייה וניהול
תכנות בשפת C תרגול 14 תרגול חזרה תרגילים ממבחנים
מבוא למדעי המחשב לתעשייה וניהול דוגמאות ותרגול נוסף במערך חד ממדי הרצאה 12.
©Silberschatz, Korth and Sudarshan4.1Database System Concepts סכימה לדוגמא.
Pointers הרצאה קריטית. השאלות הפתוחות מה זה ה- & שמופיע ב scanf מדוע כשמעבירים מחרוזת ל scanf אין צורך ב & האם ניתן להכריז על מערך שגדלו אינו ידוע בתחילת.
מבוא למדעי המחשב תרגול 2 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
1 תרגול 4 – פונקציות מבוא למדעי המחשב/מבוא לתכנות מערכות – סמסטר א' תשע"א.
חורף - תשס " ג DBMS, Design1 שימור תלויות אינטואיציה : כל תלות פונקציונלית שהתקיימה בסכמה המקורית מתקיימת גם בסכמה המפורקת. מטרה : כאשר מעדכנים.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
מבוא לשפת C חידות ונקודות חשובות נכתב על-ידי יורי פקלני. © כל הזכויות שמורות לטכניון – מכון טכנולוגי לישראל.
11 Introduction to Programming in C תרגול
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 מבוא למדעי המחשב ביטויים. 2 ביטויים expressions ביטויים (expressions) הינם יצורים תחביריים בעלי טיפוס וערך. הגדרה אינדוקטיבית של ביטויים : קבועים הם.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מבוא למדעי המחשב תרגול מספר 4. בפעם הקודמת... מזהים טיפוסים טווח ייצוג קבועים.
תכנות תרגול 6 שבוע : תרגיל שורש של מספר מחושב לפי הסדרה הבאה : root 0 = 1 root n = root n-1 + a / root n-1 2 כאשר האיבר ה n של הסדרה הוא קירוב.
מבני בקרה מבוא לתכנות למנע " ס - שבוע מספר 3 - מאיר קומר - סמסטר ב ' - תשס " ו הסתעפות “ אם השמאל ואימנה ואם הימין ואשמאילה ”
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 2 שבוע : צור קשר מתרגל – שי גוטנר, ביה " ס למדעי המחשב. מתרגל – שי גוטנר, ביה " ס למדעי המחשב. דואר אלקטרוני : דואר.
תכנות תרגול 3 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
תכנות תרגול 5 שבוע : לולאות for לולאות for for (counter=1 ;counter
מבוא כללי למדעי המחשב תרגול 3. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
ערכים עצמיים בשיטות נומריות. משוואה אופינית X מציין וקטור עצמי מציינת ערך עצמי תואם לוקטור.
מבוא כללי למדעי המחשב שיעור רביעי: לולאות
מבוא למדעי המחשב תרגול מספר.
מבוא למדעי המחשב תרגול 6 - מערכים שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תכנות תרגול 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
תכנית שניה: חישוב שטח ריבוע #include void main() { int edge; int area; printf("Enter edge length\n"); scanf ("%d",&edge); area=edge*edge; printf("Square.
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
תרגול 5: ביטויים לוגיים ומשפטי תנאי (חזרה והרחבה)
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
מבוא לשפת C תרגול 4: ביטויים לוגיים ומשפטי תנאי מבוסס על השקפים שחוברו ע"י שי ארצי, גיתית רוקשטיין, איתן אביאור וסאהר אסמיר עבור הקורס "מבוא למדעי המחשב"
לולאות 02 יולי יולי יולי 1502 יולי יולי יולי 1502 יולי יולי יולי 15 1 Department of Computer Science-BGU.
מתמטיקה בדידה תרגול 2.
מבוא למדעי המחשב תרגול מספר 4. בפעם הקודמת... מזהים טיפוסים טווח ייצוג קבועים.
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.
Practice session 3 תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי ) שיטות חישוב : Applicative & Normal Evaluation Partial Evaluation.
1 המרכז להוראת המדעים © האוניברסיטה העברית בירושלים עוברים לג ' אווה.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
Practice session 3.  תחביר ממשי ( קונקרטי ) ותחביר מופשט ( אבסטרקטי )  שיטות חישוב : Applicative & Normal Evaluation.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
Practical Session 6. NASM Preprocessor NASM contains a powerful macro processor, which supports conditional assembly multi-level file inclusion two forms.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
IF-ELSE כתוב תוכנית הקולטת שלושה מספרים ומדפיסה אותם בסדר עולה(ממיינת אותם)  קלט:7,2,4 ,פלט:2,4,7 .
הרצאה 3: משפטים, תנאים ולולאות
תירגול 14: מבני נתונים דינאמיים
לולאות קרן כליף.
Computer Programming Summer 2017
היכרות עם שפת התכנות JAVA
הרצאה 3: משפטים, תנאים ולולאות
מבוא כללי למדעי המחשב תרגול 4
מבוא כללי למדעי המחשב שיעור 2
תרגול 8 תחומי הכרה פונקציות
Computer Programming תרגול 3 Summer 2016
Presentation transcript:

Engineering Programming A תרגול 3 Introduction to C - Fall 2010 - Amir Menczel

אופרטורים להשוואה הערה: שימו לב להבדל הבא: "==" הוא אופרטור להשוואה אשר מחזיר ערך 1 (אם מתקיים שוויון) או (0 אם לא מתקיים שוויון). "=" הוא אופרטור השמה. x = y;, משמעו שהמשתנה x מקבל את הערך y.

אופרטורים לוגיים

קדימויות של אופרטורים () ! ++ -- Casting * / % + - * / % + - < <= > >= == != && || = += -= /= *= %=

דוגמא – תנאים בוליאניים ולוגיים: void main() { int x=4,y=7,z;   z=x<2; // z=0 z=y==7; // z=1 z=(y>=x); // z=1 z=2+(y-x>0)*2; // z=2+1*2=4 z=x!=4; // z=0 z=!(x==4); // z=!(1)=0 z=!x; // z=0 z=x=y; // z=7, x=7 z=x=0; // z=0, x=0 x=4; y=5; z=7<x<10; // z=1 z=(x<0 && y<0) || x>0; // z = (0 && 0) || 1 = 1 }

פקודת if-else: // SYNTAX: if (condition) command1; else // else is optional command2;   אם condition שונה מ 0 (אמת) אז command1 תתבצע, אחרת command2 תתבצע. אם נרצה לבצע יותר מפקודה אחת במקום שבו נמצאות command1 או command2, נצטרך לשים את הפקודות בתוך "בלוק" אשר נתחם באמצעות סוגריים מסולסלות – { } : int x,y,max,min; // keyboard input -> x,y if (x>y) { max=x; min=y; } else { max=y; min=x; פקודת if-else:

דוגמה /*A program to determine how you did in the course:*/ #include <stdio.h> void main() { int grade; printf("Enter your grade: "); scanf("%d",&grade); if (grade >= 80) printf("Passed with a good grade\n"); else if (grade >= 56) printf("Passed\n"); else printf("Failed\n"); }

תרגיל 1 בתוכנית שלפניכם ישנם 4 קטעי קוד חסרים. מה צריך להיות כתוב במקומות החסרים, כך שפלט התכנית יהיה זהה לזה של התכנית שבדוגמא למעלה. /*A program to determine how you did in the course*/ void main() { int grade; printf("Enter your grade: "); scanf("%d",&grade); if( ______ ) printf("Passed with a good grade"); else printf( _____ ); printf( ______ ); }

תרגיל- 1 פתרון /* program to determine how you did in the course*/ תרגיל- 1 פתרון /* program to determine how you did in the course*/ void main() { int grade; printf("Enter your grade: "); scanf("%d",&grade); if(grade>=56) if(grade>=80) printf("Passed with a good grade\n"); else printf("Passed\n"); printf("Failed\n"); }

לולאות DO-WHILE WHILE FOR do { פקודות ; } while (תנאי ביצוע); פקודות ; } while (תנאי ביצוע); while (תנאי ביצוע) { } for (פקודת קידום; תנאי ביצוע; אתחול משתנים) { פקודות; כל עוד התנאי מתקיים, בצע בצע פקודות ובדוק אם התנאי מתקיים החל מ startValue=X ועד X=endValue, בצע

לולאות – מבנה לולאת while !=0 ==0 ביצוע גוף הלולאה חישוב תנאי מעבר לפקודה הבאה אחרי כל הלולאה

תרגיל 2 כתוב קוד המחשב את סכום הספרות במספר שלם חיובי הניתן כקלט. כתוב קוד המחשב את סכום הספרות במספר שלם חיובי הניתן כקלט. int num,sum;   printf("Enter an integer number\n"); scanf("%d", &num); sum=0; while(num){ sum+=num%10; num=num/10; } printf("The digits sum is %d\n",sum);

תרגיל 3 מה יקרה לאחר הרצת הקוד הבא (יתכן כי יותר מתשובה אחת נכונה) ? מה יקרה לאחר הרצת הקוד הבא (יתכן כי יותר מתשובה אחת נכונה) ? int k = 10, sum = 0,j; for (j = 0;j < k; j = k - 1) sum = sum + 1; לאחר הביצוע k = 10. הקוד לא יעבור קומפילציה. לאחר הביצוע ערך j הוא 9. הביצוע יכנס ללולאה אינסופית. אף לא אחת מהתשובות לעיל. תשובה: 4.

תרגיל 4 מה יקרה לאחר הרצת הקוד הבא (יתכן כי יותר מתשובה אחת נכונה) ? מה יקרה לאחר הרצת הקוד הבא (יתכן כי יותר מתשובה אחת נכונה) ? int sum = 0,number; for (number = 1;number <= 10; number = number + 1) number = number - 1; printf("%d\n",sum); הקוד לא יעבור קומפילציה. ביצוע הקוד ידפיס 0. ביצוע הקוד ידפיס 55. ביצוע הקוד ידפיס 45. אף לא אחת מהתשובות לעיל. תשובה: 5. (כי יש לולאה אינסופית)

תרגיל 5 כתוב קוד המצייר ריבוע בגודל n*n של כוכביות. printf("Enter size of square\n"); scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++) printf("*"); printf("\n"); } איך ניתן לשנות הקוד כדי שידפיס מסגרת של כוכביות?

תרגיל 5 - המשך כתוב קוד המצייר מסגרת של כוכביות printf("Enter size of square\n"); scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<n;j++) if(i==0||i==n-1||j==0||j==n-1) printf("*"); else printf(" "); printf("\n"); }

תרגיל 5 - המשך כתוב קוד המצייר משולש של כוכביות לדוגמא עבור n=5: * ** *** **** ***** printf("Enter size of triangle\n "); scanf("%d",&n); for(i=0;i<n;i++){ for(j=0;j<=i;j++) printf("*"); printf("\n"); }

תרגיל 5 - המשך כתוב קוד המצייר משולש שווה שוקיים של כוכביות לדוגמא עבור n=7: * *** ***** ******* ניתן להניח ש-n תמיד אי זוגי printf("Enter size of triangle\n"); scanf("%d",&n); for(i=0;i<n;i+=2){ for(j=0;j<=(n-i)/2;j++) printf(" "); for(j=0;j<=i; j++) printf("*"); printf("\n"); }

תרגיל 6 מה יקרה לאחר הרצת הקוד הבא? (יתכן כי יותר מתשובה אחת נכונה) מה יקרה לאחר הרצת הקוד הבא? (יתכן כי יותר מתשובה אחת נכונה) int i; for (i=0;i<10; i=i+1) for (i=0;i<9; i=i+1) printf("*"); ביצוע הקוד ידפיס 90 פעם את התו '*'. התכנית תגרום ללולאה אינסופית. ביצוע הקוד ידפיס 9 פעמים את התו '*'. הקוד לא יעבור קומפילציה. אף לא אחת מהתשובות לעיל. תשובה: 3 (כי בשתי הלולאות יש שימוש באותו המשתנה i).

תרגיל 7 חשבו את הסכום הבא: n + 2n + 3n + … + n2 ללא שימוש בפעולות כפל.

תשובה :1 for(i=1,sum=0;i<=n;++i) for(j=1;j<=n;++j) sum+=i; תשובה :2 for(j=1;j<=i;++j) sum+=n;