Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "תכנות תרגול 4 שבוע : 29.03.06. לולאות while לולאות while while (condition) { loop body } במקרה של קיום התנאי מתבצע גוף הלולאה ברגע שהתנאי לא מתקיים נצא."— Presentation transcript:

1 תכנות תרגול 4 שבוע : 29.03.06

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

3 דוגמא ללולאה – חישוב עצרת #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 תרגיל קלוט שני מספרים וחשב את החזקה שלהם באמצעות פעולות כפל בלבד.

5 פתרון תרגיל פתרון תרגיל #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; } תנאי הקיום של הלולאה גוף הלולאה כאשר הוא מכיל יותר מהוראה אחת נפתח קטע קוד { }

6 לולאה שמחשבת סכום סדרת מספרים #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); } הגדרת משתנים ואתחולם קליטת מספר הפעמים לביצוע תנאי קיום הלולאה גוף הלולאה : קליטת המספר סיכום המספר קידום המונה הדפסת הסכום

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

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

9 דוגמא ללולאת 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 !

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

11 פתרון תרגיל 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 לולאה כפולה ! פלט ***** שורה חדשה

12 חצי ריבוע ( משולש ) #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 לולאה כפולה שימו לב מאיפה מתחילה הלולאה השנייה ! פלט ***** **** *** ** *

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

14 פתרון תרגיל 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 = 5 1234* 123*** 12***** 1******* *********

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

16 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); } קלט של תו לולאה שקולטת תוים עד ירידת שורה

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

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

19 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); } בדיקת האם לא ראשוני ויציאה אם אכן כך

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

21 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); }} בדיקת הראשוניות


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

Similar presentations


Ads by Google