תכנות תרגול 3 שבוע : 13.11.05. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.

Slides:



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

For loops For loops are controlled by a counter variable. for( c =init_value;c
Selection Statements Selects statements to execute based on the value of an expression The expression is sometimes called the controlling expression Selection.
Pointers הרצאה קריטית. השאלות הפתוחות מה זה ה- & שמופיע ב scanf מדוע כשמעבירים מחרוזת ל scanf אין צורך ב & האם ניתן להכריז על מערך שגדלו אינו ידוע בתחילת.
מבוא כללי למדעי המחשב תרגול 1. כתיבת התוכנה כתיבת התוכנית עצמה נעשית ע " י כתיבת קובץ טקסט רגיל אשר תוכנו מקיים את כללי שפת C כתיבת התוכנית עצמה נעשית.
תכנות מונחה עצמים Object Oriented Programming (OOP) אתגר מחזור ב'
מבוא למדעי המחשב תרגול 2 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
תכנות תרגול 7 שבוע : מערכים עד היום התוכניות שלנו לא ידעו לשמור כמות גדולה של מידע ללא הגדרת כמות גדולה של משתנים. עד היום התוכניות שלנו לא.
תכנות תרגול 6 שבוע : חישוב e זוהי הנוסחא לחישוב e נראה כיצד לתרגם אותה לפונקציה n n.
תרגול 5 רקורסיות. רקורסיה קריאה של פונקציה לעצמה –באופן ישיר או באופן עקיף היתרון : תכנות של דברים מסובכים נעשה ברור ונוח יותר, מכיוון שזו למעשה צורת.
תכנות תרגול 4 שבוע : לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
תכנות תרגול 2 שבוע : שבוע שעבר כתבו תוכנית המגדירה שלושה משתנים מאתחלת אותם ל 1 2 ו 3 ומדפיסה את המכפלה שלהם את ההפרש שלהם ואת הסכום שלהם.
11 Introduction to Programming in C תרגול
מבוא למדעי המחשב תרגול 8 - מחרוזות שעת קבלה : יום שני 11:00-12:00 דוא " ל :
11 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in C תרגול
מבוא למדעי המחשב תרגול 4 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
מבוא למדעי המחשב © אריק פרידמן 1 מצביעים כמערכים דוגמה.
1 Introduction to Programming in C - Fall 2010 – Erez Sharvit, Amir Menczel 1 Introduction to Programming in 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, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת.
#include void main() { int i; char c; char st1[]="abcd"; for (i=-128;i
תכנות תרגול 2 שבוע : צור קשר מתרגל – שי גוטנר, ביה " ס למדעי המחשב. מתרגל – שי גוטנר, ביה " ס למדעי המחשב. דואר אלקטרוני : דואר.
תכנות תרגול 10 שבוע : הקשר בין מערכים למצביעים נרצה לעמוד על הקשר בין מערך למצביע מאחר ומערכים הם הכללה של משתנים הרי שברור שלמערך ולכל אחד מאיבריו.
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 } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא.
קורס תכנות – סימסטר ב ' תשס " ח שיעור שישי: מערכים
מבוא כללי למדעי המחשב שיעור רביעי: לולאות
מבוא למדעי המחשב תרגול מספר.
מבוא למדעי המחשב תרגול 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
מבוא למדעי המחשב תרגול 3 שעת קבלה : יום שני 11:00-12:00 דוא " ל :
Last time on Clang משתנה: "פתק" המשמש את המחשב לשמירת מידע. לכל משתנה יש שם וטיפוס כללים לשמות משתנים –חייבים להכיל רק אותיות, מספרים ו '_' –חייבים להתחיל.
מבוא למדעי המחשב, סמסטר א ', תשע " א תרגול מס ' 1 נושאים  הכרת הקורס  פסאודו - קוד / אלגוריתם 1.
לולאות 02 יולי יולי יולי 1502 יולי יולי יולי 1502 יולי יולי יולי 15 1 Department of Computer Science-BGU.
Programming Control Flow. Sequential Program S1 S2 S5 S4 S3 int main() { Statement1; Statement2; … StatementN; } Start End.
1 מבוא למדעי המחשב סיבוכיות. 2 סיבוכיות - מוטיבציה סידרת פיבונאצ'י: long fibonacci (int n) { if (n == 1 || n == 2) return 1; else return (fibonacci(n-1)
1 Agenda - Loops while for for & while Nested Loops do-while Misc. & Questions.
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.
תכנות תרגול 1 שבוע : צור קשר מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. מתרגל – ליעם רודיטי, ביה " ס למדעי המחשב. דואר אלקטרוני :
Programming C for Engineers An exercise is posted on the web site! Due in one week Single submission.
Programming C for Engineers An exercise is posted on the web site! Due in one week Single submission.
C Programming Lecture 7 : Control Structures. Control Structures Conditional statement : if, switch Determine a block of statements to execute depending.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 7. סברוטינות subroutines.
1 מבוא למחשב שפת C תרגילי חזרה. 2 תרגיל 1 : מחשבון קלט : תרגיל חשבוני המורכב ממספרים שלמים עם פעולות חשבוניות ביניהם. התרגיל מסתיים ב =. אפשריים רווחים.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
1 Agenda If Statement True/False Logical Operators Nested If / Switch Exercises & Misc.
מבוא למדעי המחשב לתעשייה וניהול הרצאה 6. מפעל השעווה – לולאות  עד עכשיו  טיפלנו בייצור נרות מסוג אחד, במחיר אחיד  למדנו להתמודד עם טיפול במקרים שונים.
מבנה נתונים ואלגוריתמים ) לשעבר - עיבוד מידע( ד"ר אבי רוזנפלד ד"ר אריאלה ריכרדסון.
 Real numbers representation - Floating Point Notation  First C Program  Variables Declaration  Data Types in C ◦ char, short, int, long, float, double,
C Programming.
מספרים אקראיים ניתן לייצר מספרים אקראיים ע"י הפונקציה int rand(void);
Programming Arrays.
IF-ELSE כתוב תוכנית הקולטת שלושה מספרים ומדפיסה אותם בסדר עולה(ממיינת אותם)  קלט:7,2,4 ,פלט:2,4,7 .
מבוא כללי למדעי המחשב תרגול 2
INC 161 , CPE 100 Computer Programming
לולאות קרן כליף.
מבוא כללי למדעי המחשב פונקציות
ניתוח זמן ריצה (על קצה המזלג)
מבוא כללי למדעי המחשב תרגול 4
מבוא כללי למדעי המחשב שיעור 2
Computer Programming תרגול 3 Summer 2016
Engineering Programming A
A function with one argument
Incremental operators
Presentation transcript:

תכנות תרגול 3 שבוע :

לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא מהלולאה ברגע שהתנאי לא מתקיים נצא מהלולאה !

דוגמא ללולאה – חישוב עצרת #include #include int main() { int i,n,fact = 1; printf("Enter a number\n"); scanf("%d", &n); i=1; while (i<=n) { fact *= i; i++;} printf("the factorial is %d\n", fact); return 0; } הגדרת משתנים קליטת ערכים אתחול מונה הלולאה עצמה הדפסת התוצאה

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

פתרון תרגיל 4 פתרון תרגיל 4 #include #include int main() { int a, b, i, power; i = 1; power = 1; printf("Enter 2 numbers\n"); scanf("%d%d", &a, &b); while(i <= b) { power = power * a; i++;} printf("%d power %d is %d\n",a,b, power); return 0; } תנאי הקיום של הלולאה גוף הלולאה כאשר הוא מכיל יותר מהוראה אחת נפתח קטע קוד { }

לולאה שמחשבת סכום סדרת מספרים #include #include void main() { int num, i=1, counter, sum=0; printf("Enter the expected number of integers\n"); scanf("%d", &counter); while( i <= counter) { printf("Enter a number\n"); scanf("%d", &num); sum += num; i++;} printf("The numbers sum is %d\n", sum); } הגדרת משתנים ואתחולם קליטת מספר הפעמים לביצוע תנאי קיום הלולאה גוף הלולאה : קליטת המספר סיכום המספר קידום המונה הדפסת הסכום

לולאות for לולאות for for (counter=1 ;counter<=7 ; counter++ ) { loop body } שם המשתנה שבאמצעותו נשלוט בלולאה הערך שבו נאתחל אותו התנאי שכל עוד הוא מתקיים נמשכת הלולאה קידום משתנה הלולאה מה ערכו של המשתנה כאן ? for (counter=1 ;counter<=7 ; counter++ ) ; ;

דוגמא ללולאת for לחישוב עצרת #include #include int main() { int i,n,fact = 1; printf("Enter a number\n"); scanf("%d", &n); for (i=1;i<=n;i++) fact *= i; printf("the factorial is %d\n", fact); return 0; } לולאת ה - for תנאי סיום הלולאה נקלט מהמשתמש למשתנה n !

תרגיל 1 כתוב תוכנית המקבלת מספר מהמשתמש ומדפיסה ריבוע של כוכביות בגודל המספר שנקלט דוגמא קלט 5: *************************

פתרון תרגיל 1 #include<stdio.h> #define SIZE 5 void main() { int i,j; for (i = 1; i <= SIZE; i++) { for(j = 1; j <= SIZE; j++) printf("*");printf("\n");}} סימן שיוחלף בכל מקום בתוכנית בערך 5 לולאה כפולה ! פלט ***** שורה חדשה

חצי ריבוע ( משולש ) #include<stdio.h> #define SIZE 5 void main() { int i,j; for (i = 1; i <= SIZE; i++) { for(j = i; j <= SIZE; j++) printf("*");printf("\n");}} סימן שיוחלף בכל מקום בתוכנית בערך 5 לולאה כפולה שימו לב מאיפה מתחילה הלולאה השנייה ! פלט ***** **** *** ** *

תרגיל 2 כתוב תוכנית המדפיסה משולשים שווי שוקים בצורה הבאה הקלט הוא מספר שיציין את גודל שוק המשולש, בדוגמא כאן 5. *********

פתרון תרגיל 2 int main() { int i,j; for (i = 0; i < SIZE; i++) { for(j = 0; j < SIZE – i – 1; j++) printf(" "); for(j = 0; j < 2 * i + 1; j++) printf("*");printf("\n");} return 0; } לולאה חיצונית לולאה פנימית ראשונה לולאה פנימית שנייה SIZE = * 123*** 12***** 1******* *********

עבודה עם char נכתוב את התוכנית הבאה : קלט תו. לאחריו רצף של תווים. פלט התוכנית הוא מספר המופעים של התו הראשון ברצף התווים שלאחריו Input: r aBrnetr r rr Output: 5

void main() { char c, ch=0; int appear = 0; printf("Enter a character to be find\n"); scanf("%c", &c); printf("Now enter your text\n"); flushall(); while (ch != '\n') { scanf("%c", &ch); if (ch == c) appear++; appear++;} if (appear != 0) printf("%c has appeared %d \n", c, appear); else printf("%c was not found\n", c); } קלט של תו לולאה שקולטת תוים עד ירידת שורה

חוצץ a \n b scanf(“%c”,ch); flushall();

תרגיל 3 כתוב תוכנית הקולטת מספר ומדפיסה אם הוא ראשוני או לא.

void main() { int i,prime,sq; printf("enter a number\n"); scanf("%d", &prime); sq = (int) sqrt(prime); for(i = 2 ; i <= sq; i++) { if (prime % i == 0) { printf("%d not prime divided by %d \n", prime, i); printf("%d not prime divided by %d \n", prime, i); break; break;}} if (i > sq ) printf("the number %d is prime\n", prime); } בדיקת האם לא ראשוני ויציאה אם אכן כך

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

void main() { int i,j,sq,last; printf("enter a number\n"); scanf("%d", &last); for(i = 2; i <= last; i++) { sq = (int) sqrt(i); for(j = 2 ; j <= sq; j++) if (i % j == 0) break; if (j > sq ) printf("the number %d is prime\n", i); }} בדיקת הראשוניות

הגדרת פונקציות return-value-type function-name(parameter1, parameter2, …) הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת הערכים שהפונקציה מקבלת דוגמא : נממש את הפונקציה f(x) = x^2 double sqr(double x) { return x*x; } הגדרת הפונקציה גוף הפונקציה { Function body return-value }

פונקציות - דוגמא נוספת נממש את הפונקציה שמוצאת את המינימום בין שלושה מספרים : int minimum( int x, int y, int z ) { int min = x; int min = x; if ( y < min ) if ( y < min ) min = y; min = y; if ( z < min ) if ( z < min ) min = z; min = z; return min; return min;} משתנה מקומי שמוכר רק בתוך הפונקציה x y z

שימוש בפונקציות int main() { int a, b, c; int a, b, c; printf( "Enter three integers: " ); printf( "Enter three integers: " ); scanf( "%d%d%d", &a, &b, &c ); scanf( "%d%d%d", &a, &b, &c ); printf( "Min is: %d\n", minimum( a, b, c ) ); printf( "Min is: %d\n", minimum( a, b, c ) ); return 0; return 0;}

שימוש בפונקציות int main() { int a, b, c, min; int a, b, c, min; printf( "Enter three integers: " ); printf( "Enter three integers: " ); scanf( "%d%d%d", &a, &b, &c ); scanf( "%d%d%d", &a, &b, &c ); min = minimum( a, b, c ); min = minimum( a, b, c ); printf( "Min is: %d\n", min); printf( "Min is: %d\n", min); return 0; return 0;}

העברת הערכים משתמש a b c45 2 x y z main minimum

הכרזה על פונקציות return-value-type function-name(parameter1, parameter2, …); הגדרת סוג הערכים שהפונקציה מחזירה שם הפונקציהרשימת סוגי הערכים שהפונקציה מקבלת הכרזה על פונקציה בצורה כזו מעל לקטע הקוד הראשי של התוכנית מאפשרת לנו להשתמש בפונקציה בכל מקום. double sqr(double ); int minimum( int, int, int ); int main() {}

Switch ו Case דומה לקינון משפטי if דומה לקינון משפטי if מאפשר בחירה של אפשרויות רמות על בסיס מספר שלם מאפשר בחירה של אפשרויות רמות על בסיס מספר שלם switch (expression) { case const-expr: statements case const-expr: statements … default: statements } switch (expression) { case const-expr: statements case const-expr: statements … default: statements }

The switch statement expression must have an integral value expression must have an integral value when the switch statement is executed: when the switch statement is executed: –the expression is evaluated –if a case matches the value of the expression, the program jumps to the first statement after that case label –otherwise, the default case is selected –the default is optional

תרגום ציון switch (grade/10) { case 10: case 9: printf ("A\n"); break; case 8: printf ("B\n"); break; case 7: printf ("C\n"); break; case 6: printf ("D\n"); break;default: printf ("F\n"); }

Break כאשר ה switch מזהה איפה להתחיל לפעול הוא " קופץ " לשם ומבצע את הכתוב. כאשר ה switch מזהה איפה להתחיל לפעול הוא " קופץ " לשם ומבצע את הכתוב. הוא ממשיך לעשות כך עד שהוא פוגש במילה break לראשונה. הוא ממשיך לעשות כך עד שהוא פוגש במילה break לראשונה. ברגע שפגש ב break הוא קופץ להמשך התוכנית לאחר ה switch- ברגע שפגש ב break הוא קופץ להמשך התוכנית לאחר ה switch-

דוגמא Operation.c Operation.c Operation.c

תרגיל כתוב תוכנית המקבלת מספר בין 1 ל 100 אם קיים מטבע שמתאים למספר היא מדפיסה את שמו אם לא היא מדפיסה שאין מטבע כזה. בדוק את תקינות הקלט ! כתוב תוכנית המקבלת מספר בין 1 ל 100 אם קיים מטבע שמתאים למספר היא מדפיסה את שמו אם לא היא מדפיסה שאין מטבע כזה. בדוק את תקינות הקלט !

Solution Coins.c Coins.c Coins.c