+ All Categories
Home > Documents > C Programming chapter 5

C Programming chapter 5

Date post: 20-Apr-2023
Category:
Upload: sce
View: 0 times
Download: 0 times
Share this document with a friend
68
1 ד" ר שייקה בילו יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע מומחה למערכות מידע חינוכיות, אקדמיות ומנהליות פרק5 לולאותLoops - קורס יסודות התכנות בשפתC Shayke Bilu PhD SCE-Chapter-5-Loops
Transcript

1

בילור שייקה "ד

יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע

אקדמיות ומנהליות, מומחה למערכות מידע חינוכיות

5פרק

- Loopsלולאות

Cקורס יסודות התכנות בשפת

Shayke Bilu PhD SCE-Chapter-5-Loops

2

בקרת זרימה והסתעפויות: תזכורת

משפטי בקרת זרימה :if-else

if (num % 2 == 0)

printf(“Num %d is Even number”,num);

else

printf(“Num %d is Odd number”,num);

תנאים אפשריים :

== ,> ,< ,= ,>= ,<!=

0 :תנאים ומספרים False

True 0 -שונה מ

Shayke Bilu PhD SCE-Chapter-5-Loops

3

פעולות לוגיות -שילוב תנאים

Shayke Bilu PhD

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

. אחד או יותר ifתחת , היכולות לשלב כמה תנאים באותה בדיקה

פעולות לוגיות 3יש :AND ,OR ,NOT

&& - AND (וגם )– דורש ששני התנאים יתקיימו

שקילות מלאה

if ((grade >= 0) && (grade <= 100))

if (grade >= 0)

if (grade <= 100)

SCE-Chapter-5-Loops

4

פעולות לוגיות נוספות -שילוב תנאים

Shayke Bilu PhD

||- OR (או )- התנאים יתקיים שלפחות אחדדורש

! - NOT (שלילה )- יתקיים לאדורש שהתנאי.

if (mis>5) if (!(mis<=5))

(יבוצע ראשון NOT) NOT ,AND ,OR: סדר הקדימות הוא

if ((mis>5) || (mis<-5))

SCE-Chapter-5-Loops

5

בחירה בין יותר משני מצבים: תזכורת

פקודת ה- else מתייחסת תמיד לפקודת ה- if הכי קרובה המופיעהיש להקפיד על הזחה פנימה , elseושעדיין לא הותאמה לה , לפניה

.בשל השיוךif(תנאי) פקודה או אוסף פקודות לביצוע else if (תנאי) if (תנאי) פקודה או אוסף פקודות לביצוע else פקודה או אוסף פקודות לביצוע else

פקודה או אוסף פקודות לביצוע

Shayke Bilu PhD SCE-Chapter-5-Loops

6

תרגום ציון אמריקאי: דוגמא - switch

הביטוי שערכו נבדק יכול להיות כל ביטוי מטיפוס

( תו או מספר שלם)בדיד ל שווה לאחד "הבדיקה היא אם הביטוי הנ

(לפי הסדר)מהקבועים הרשומים

כל הפקודות משם ועד סוף , אם נמצא שוויון

מבוצעות switch -ה

קופצים לפקודה breakאם מופיעה הפקודה switch -הראשונה שאחרי ה

default לא נמצאה אף רק אם מבוצע

(אופציונאלי)התאמה

char grade;

scanf(“%c”, &grade);

switch (grade)

{

case ‘A’: printf(“90…100\n”);

break;

case ‘B’: printf(“80…89\n”);

break;

case ‘C’: printf(“70…79\n”);

break;

default: printf(“Failed\n”);

}

Shayke Bilu PhD SCE-Chapter-5-Loops

7

?: -פעולת תנאי מקוצרת

משמש לרישום מקוצר של תנאי כשצריך לבחור בין שני ביטויים , :ניתן גם לבצע בו קינון

max = (a>b) ? a : b ;

) תנאי)? ( תנאי אמת) 1ביטוי( : תנאי שקר) 2ביטוי;

הדוגמא למעלה שקולה ל:

if (a>b)

max =a;

else

max=b;

Shayke Bilu PhD SCE-Chapter-5-Loops

8

?הקודם השעורשאלות על

Shayke Bilu PhD SCE-Chapter-5-Loops

9

דוגמא -לולאות

מה לדעתכם עושה התוכנית הבאה? #include <stdio.h> void main() {

int num=1; while (num <= 10) {

printf(“%d\n”, num); num++;

} }

Shayke Bilu PhD

10עד 1הדפסת המספרים

SCE-Chapter-5-Loops

10

:נושאי הפרק לולאות

מהן לולאות ולשם מה אנו זקוקים להן

סוגי לולאות:

while

for

do-while

השפעה על זרימת הלולאה:

break

continue

Shayke Bilu PhD SCE-Chapter-5-Loops

11

לולאות

לולאה:

קטע תוכנית היכול לחזור על עצמו כמה פעמים.

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

השימוש בלולאות

משמשות לבקרת זרימה.

מאפשרות ביצוע פעולה מסוימת מספר פעמים ברצף.

Shayke Bilu PhD SCE-Chapter-5-Loops

12

לולאות

המכנה המשותף של כל סוגי הלולאות:

אתחול הזקיף(initialization).

בדיקת תנאי קיום הלולאה(condition).

קידום לעבר סוף הלולאה(increment).

Shayke Bilu PhD SCE-Chapter-5-Loops

13

while לולאת

while (תנאי) פקודה ;

או:

while ( תנאי)

{

;פקודות

}

ות/מבוצעת ות/הפקודה, אם התנאי מתקיים .

אם הוא מתקיים מבצעים שוב, בסיום הביצוע התנאי נבדק שוב.

עד שהתנאי מפסיק להתקיים, התהליך חוזר חלילה.

נבצע פקודה שתקרב אותנו למצב שבו התנאי לא, כל חזרהב

.מתקיים ומשזה האחרון מפסיק להתקיים מסתיימת הלולאה

Shayke Bilu PhD SCE-Chapter-5-Loops

14

דוגמא -לולאות

10עד 1הדפסת המספרים

#include <stdio.h>

void main()

{

int num=1;

while ( num <= 10)

{

printf(“%d\n”, num);

num++;

}

}

תנאי

קיום

קידום לקראת סוף

הלולאה

אתחול

Shayke Bilu PhD SCE-Chapter-5-Loops

15

דוגמא -לולאות

1עד 10הדפסת המספרים

#include <stdio.h>

void main()

{

int num=10;

while ( num >= 1)

{

printf(“%d\n”, num);

num--;

}

}

תנאי

קיום

קידום לקראת סוף

הלולאה

אתחול

Shayke Bilu PhD SCE-Chapter-5-Loops

16

דוגמא -לולאות

מספרים בדיקת זוגיים 10קליטת #include <stdio.h> void main() {

int i=0,mis; printf(“Enter number:\n”); scanf(“%d”,&mis); while ( i < 9) { if(mis % 2 == 0) printf(“mis is even\n”); else printf(“mis is odd\n”); i++; printf(“Enter number:\n”); scanf(“%d”,&mis); }

} Shayke Bilu PhD

אתחול

קידום לקראת סוף

הלולאה

תנאי קיום

SCE-Chapter-5-Loops

SCE-Chapter-5-Loops Shayke Bilu PhD

?שאלות

17

18

בדיקת ראשוניות: דוגמא

num מחפשים מחלק של

, לא ראשוניהמספר , אם מצאנו מחלק שאינו המספר עצמו

אז הוא ראשוני , לא מצאנואם

mis==num כאשר

הלולאה בטוח תסתיים

#include <stdio.h> void main() {

int num, mis=2; printf(“Enter int number”); scanf(“%d”, &num); while ( num % mis != 0) mis++; if (mis == num) printf(“%d is prime\n”,num); else

printf(“%d div by %d,%d not prime\n”,num,mis,num); }

Shayke Bilu PhD SCE-Chapter-5-Loops

19

סיום הביצוע - while לולאת

כלל בבלוק הפקודות של לולאת -בדרךwhile תהיה פקודת, שתביא בסופו של דבר לאי קיום התנאי ולסיום הלולאה, עדכון

. נקבל לולאה אינסופית -במידה ולא דוגמאות ללולאות אינסופית:

while (5>4) printf(“*”); מדפיס אין סוף כוכביות על המסך:

int i=1; while(i>0) { printf(“ :-) “); על המסךסמיילי אין סוף מדפיס: }

Shayke Bilu PhD SCE-Chapter-5-Loops

20

נקודות לתשומת לב - while לולאת

אז ,בהתחלה כבר מתקיים לא while -ה לולאת של התנאי אם1.

אף תבוצע לא כלומר ,פעם אף יבוצעו לא הלולאה פקודות

."איטרציה"

.הלולאה לפני יאותחל הלולאה משתנה כי לוודא יש2.

בגוף הלולאה משתנה של ערכו של עדכון יבוצע כי להקפיד יש3.

.סופה לקראת רצוי ,הלולאה

נכנס ואינו סיום למצב להגיע יכול הלולאה תנאי כי לוודא יש4.

סופית אין ללולאה

Shayke Bilu PhD SCE-Chapter-5-Loops

21

?מה עושה התוכנית הבאה: דוגמא

#include <stdio.h> void main() {

int mis=1, result=1; while (mis<=10) { result=result*2; mis++;

} printf(“The result is %d\n”, result);

}

Shayke Bilu PhD SCE-Chapter-5-Loops

22

10בחזקת 2חישוב : דוגמא

#include <stdio.h> void main() {

int mis=1, result=1; while (mis<=10) { result=result*2; mis++;

} printf(“The result is %d”, result);

}

בכל , פעמים 10הלולאה תתבצע

יבוצע חישוב של המשתנה , סיבוב

למשתנה והתוצאה תכנס 2כפול

הזקיף מקודם כל סיבוב משתנה

++י שימוש בסימן "באחד ע

Shayke Bilu PhD SCE-Chapter-5-Loops

23

whileלולאת –ביניים -סיכום

מבנה הלולאה •

דוגמאות •

לולאה אינסופית •

Shayke Bilu PhD SCE-Chapter-5-Loops

24

?שאלות

Shayke Bilu PhD SCE-Chapter-5-Loops

25

מבנה - for לולאת

for( פקודת אתחול;תנאי קיום ביצוע ;פקודת עדכון ) { בלוק פקודות …. …. }

:דוגמא•for(i = 1; i<=10 ; i++) printf(“%d\n”, i);

Shayke Bilu PhD SCE-Chapter-5-Loops

26

מבנה - for לולאת

:המידע זרימת בקרת

, הלולאה של האתחול פקודת תבוצע לולאה בכל ,ראשית• .!!! בלבד אחת פעם ,הזקיף של

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

של העדכון פקודת מבוצעת ,הלולאה פקודות בסיום• .הזקיף

,שנית ללולאה ונכנסים הביצוע תנאי נבדק שוב כך אחר• .מתקיים לא והקיום הביצוע שתנאי עד ,מתקיים הוא אם

Shayke Bilu PhD SCE-Chapter-5-Loops

27

הדגמת סדר הביצוע - for לולאת

for(i =1; i<=10; i++) printf(“%d\n”,i);

for(i=1; i<=10; i++) printf(“%d\n”, i);

for(i=1; i<=10; i++) printf(“%d\n”, i); 1

for(i=1; i<=10; i++) printf(“%d\n”, i);

for(i=1; i<=10; i++) printf(“%d\n”, i);

for(i=1; i<=10; i++) printf(“%d\n”, i); 2

for(i=1; i<=10; i++) printf(“%d\n”, i);

for(i=1; i<=10; i++) printf(“%d\n”, i);

for(i=1; i<=10; i++) printf(“%d\n”, i); 3

for(i=1; i<=10; i++) printf(“%d\n”, i); Shayke Bilu PhD SCE-Chapter-5-Loops

28

for לולאת: דרך נוספת ליצור לולאה

#include <stdio.h>

void main()

{

int i;

for (i = 1; i<=10; i++)

printf(“i=%d\n”, i);

}

10עד 1הדפסת המספרים

Shayke Bilu PhD SCE-Chapter-5-Loops

29

for לולאת: דרך נוספת ליצור לולאה

#include <stdio.h>

void main()

{

int i;

for (i = 10; i>=1; i--)

printf(“i=%d\n”, i);

}

1עד 10הדפסת המספרים

Shayke Bilu PhD SCE-Chapter-5-Loops

30

דוגמא נוספת

#include <stdio.h>

void main()

{

int i,result=1;

for(i=1; i<=20; i++)

result=result*2;

printf(“The result is: %d”, result);

}

?מה עושה התוכנית הבאה

Shayke Bilu PhD SCE-Chapter-5-Loops

31

דוגמא נוספת

#include <stdio.h>

void main()

{

int i,result=1;

for(i=1; i<=20; i++)

result=result*2;

printf(“2^20 = %d\n”, result);

}

פעמים 20הלולאה תתבצע

20בחזקת 2התוכנית מחשבת את

Shayke Bilu PhD

20בחזקת 2סיום תודפס תוצאת החישוב של ב

SCE-Chapter-5-Loops

32

?מה עושה התוכנית הבאה: עוד דוגמא

#include <stdio.h>

void main()

{

int i,result=1;

for(i=2; i<11; i++)

result=result*i;

printf(“The result is %d”, result);

}

Shayke Bilu PhD SCE-Chapter-5-Loops

33

עצרת 10חישוב : דוגמא

פעמים 9הלולאה תתבצע

#include <stdio.h>

void main()

{

int i,result=1;

for(i=2; i<11; i++)

result=result*i;

printf(“The result is %d”, result);

}

Shayke Bilu PhD SCE-Chapter-5-Loops

34

while ידי -עלfor ביצוע

:for -במקום ב while-אפשר להשתמש ב•for( פקודת אתחול;תנאי ביצוע ;פקודת עדכון ) { פקודות }

:שקול ל•פקודת אתחול

זקיף הלולאהwhile( תנאי ביצוע) { פקודות ביצוע

פקודת עדכון הזקיף }

Shayke Bilu PhD SCE-Chapter-5-Loops

35

for, while בעזרת 10!חישוב : דוגמא

while loop: #include <stdio.h>

void main()

{ int i=2, result=1;

while(i<11)

{

result=result*i;

i++;

}

printf(“10!=%d”, result);

}

for loop:

#include <stdio.h>

void main()

{

int i,result=1;

for(i=2; i<11; i++)

result=result*i;

printf(“10!=%d”, result);

}

Shayke Bilu PhD SCE-Chapter-5-Loops

36

forעוד על לולאת

בלולאת שימוש נעדיף for אותם הפעמים כשמספר

.מראש למתכנת ידוע הלולאה תבצע

ב שימוש נעדיף- while אותם הפעמים כשמספר כ"בד

.מסוים תנאי של קיום אי או בקיום תלוי הלולאה תבצע

לולאת לגבי גם נכון הדבר do..while בהמשך שתוצג.

בלולאת שגם לב נשים for בלולאת וגם while התנאי אם

אחד סיבוב אפילו יבוצע לא אז ,בהתחלה כבר מתקיים לא

.הלולאה של

Shayke Bilu PhD SCE-Chapter-5-Loops

37

for עוד על לולאת

אבל הפקודה , 1 -הדגמנו תמיד פקודות עדכון של הגדלה ב :1-למשל הקטנה ב. יכולה להיות כלשהי

for(i=100; i>0; i--)

, כלומר, צריך לוודא שבשלב מסוים התנאי לא יתקיים .שתנאי הקיום יסתיים כך שהלולאה תהיה סופית

ניתן לבצע כמה פקודות אתחול וכמה פקודות עדכון .

:למשל

for(i=0, j=0; i+j<100; i++,j++)

Shayke Bilu PhD SCE-Chapter-5-Loops

38

?שאלות

Shayke Bilu PhD SCE-Chapter-5-Loops

39

do-while לולאת

דומה ללולאתwhile

תנאי קיום נבדק רק אחרי שהלולאה מתבצעת פעם אחת

אחת איטרציהיש בכל מקרה לפחות ,כלומר.

int i=1;

do {

printf(“i=%d\n”, i);

i++;

} while (i<=10);

10עד 1-מדפיס את המספרים מ Shayke Bilu PhD SCE-Chapter-5-Loops

40

do-while לולאת

השוואה בין מבנהwhile ל- do-while:

int i=1;

do

{

printf(“%d\n”, i);

i++;

} while (i<=10);

(בשני המקרים 10עד 1-מדפיס את המספרים מ)

int i=1;

while ( i <= 10)

{

printf(“%d\n”, i);

i++;

}

Shayke Bilu PhD SCE-Chapter-5-Loops

41

do-while לולאת

השוואה בין לולאתwhile ללולאת- do-while:

int i=11;

do

{

printf(“%d\n”, i);

i++;

} while (i<=10);

11מדפיס !!!התוכנית לא תדפיס כלום

int i=11;

while ( i <= 10)

{

printf(“%d\n”, i);

i++;

}

Shayke Bilu PhD SCE-Chapter-5-Loops

42

do-while לולאת

שימושי למשל כשרוצים לקלוט מספר מהמשתמש עד שמוכנס .ערך חוקי

#include <stdio.h> void main() { int grade; Do {

printf(“Enter your grade (0-100) \n”); scanf(“%d”, &grade);

}while((grade<0)||(grade> 100)); printf(“You entered legal grade now\n”); }

Shayke Bilu PhD SCE-Chapter-5-Loops

43

do-while לולאת

אפשר לבצע קלט פעם אחת מחוץ ללולאה ואז לעשות לולאתwhile

do-while חוסך כתיבה פעמיים

printf(“Enter your grade (0-100) \n”);

scanf(“%d”, &grade);

while ((grade < 0) || (grade > 100))

{

printf(“Enter your grade(0-100)\n”);

scanf(“%d”, &grade);

}

Shayke Bilu PhD SCE-Chapter-5-Loops

44

לולאות -סיכום ביניים

whileמבנה לולאת •

forמבנה לולאת •

do whileמבנה לולאת •

דוגמאות לשימוש•

Shayke Bilu PhD SCE-Chapter-5-Loops

45

?שאלות

Shayke Bilu PhD SCE-Chapter-5-Loops

46

בלולאות break הפקודה

שימוש בפקודהbreak:

.מפסיקה את ביצוע הלולאה הנוכחית•

התוכנית תמשיך לרוץ החל מהפקודה הראשונה שאחרי •

.הלולאה

משמשת למקרים בהם רוצים לסיים את הלולאה •

.באמצע

•break - משמשת בעיקר למצב בו ישנה כוונה לצאת

מהלולאה מיד בעקבות קיום תנאי מסוים ולפני סיום

. הנוכחית" איטרציה"ה

Shayke Bilu PhD SCE-Chapter-5-Loops

47

ציונים 10חישוב ממוצע של עד –דוגמא

דרישות מהתכנית:

.ציונים מהמשתמש 10לקלוט עד •

.להפסיק את החישוב אם נקלט ציון נכשל•

.להדפיס את הממוצע -במידה וכל הציונים תקינים •

כיוון שמספר forהקליטה מתבצעת באמצעות לולאת •

(.10)הציונים ידוע מראש

בכל סיבוב של הלולאה נעשית בדיקה האם הציון •

.במידה וכן יוצאים מהלולאה, שנקלט הוא נכשל

Shayke Bilu PhD SCE-Chapter-5-Loops

48

חישוב ממוצע : דוגמא

#include <stdio.h> void main() {

int i, grade; float average=0; for (i=1; i<=10; i++) { printf(“Enter grade\n”); scanf(“%d”, &grade); if (grade < 60) { average=0; printf (“Failed\n”); break; } else average=average+grade/10.; } if (average !=0) printf(“The average is %.2f\n”, average);

}

(ומניחים כאן שהקלט נכון)קולטים אותם

במקרה של כישלון מדפיסים

הודעה מתאימה ומפסיקים

לקלוט ציונים

מדפיסים את הממוצע אם לא מדובר בכישלון

ציונים 10רוצים לחשב ממוצע של

מעדכנים את הממוצע –אחרת

Shayke Bilu PhD SCE-Chapter-5-Loops

49

break הפקודה

אםbreak היא תפסיק את המשך , מופיעה בתוך לולאה מקוננת :הפעילות בלולאה הפנימית ביותר

for… { for… { for… { …. break; … } … } }

Shayke Bilu PhD SCE-Chapter-5-Loops

50

continue הפקודה

הפקודהcontinue:

הנוכחית של הלולאה האיטרציהמפסיקה את.

הבאה האיטרציההתוכנית תמשיך לרוץ מתחילת. במקרה שלfor נמשיך מפעולת העדכון.

ההפסקה בפנימית ביותר –במקרה של לולאות מקוננות. continue יכולה לשמש למשל כשבודקים תקינות קלט:

i=0; while(i<10) { scanf(“%d”, &grade); if ((grade<0) || (grade>100)) { printf(“Illegal grade – try again\n”); continue; } i++; }

Shayke Bilu PhD

ל"מלאה המשלימה את הדוגמה הנ תוכניתכתוב

SCE-Chapter-5-Loops

51

?שאלות

Shayke Bilu PhD SCE-Chapter-5-Loops

52

נקודה לתשומת לב

:הפקודות

while, for, do, break, continue

לא ניתן להשתמש בהן כשמות של ולכן , הן מילים שמורות משתנים

ל"יש להקפיד על שימוש נכון בפקודות הנ

יש לזכור כי לכל המשתנים ניתן תמיד שמות בעלי משמעות

Shayke Bilu PhD SCE-Chapter-5-Loops

53

לולאות מקוננות

אפשר לבצע ב- C נכון לגבי כל סוגי )לולאה בתוך לולאה (. הלולאות

for(i=1; i<=10; i++) { for(j=1; j<=10; j++) printf(“*”); printf(“\n”); }

מתבצעת , בכל מחזור של הלולאה החיצונית: בדוגמאכך שבפועל מתבצעים , מחזורים 10הלולאה הפנימית

(10*10)מחזורים 100

לולאה חיצונית

לולאה פנימית

Shayke Bilu PhD SCE-Chapter-5-Loops

54

...

כוכבים 10כשבכל אחת , שורות 10כ מודפסות "סה

הדגמה -לולאות מקוננות

i=1לולאה חיצונית for(j=1; j<=10; j++)

printf(“*”);

printf(“\n”);

**********

10

i=2לולאה חיצונית for(j=1; j<=10; j++)

printf(“*”);

printf(“\n”);

********** 10

0i=1 for(j=1; j<=10; j++)לולאה חיצונית

printf(“*”);

printf(“\n”); **********

10

Shayke Bilu PhD SCE-Chapter-5-Loops

55

?מה יודפס

for(i=1; i<=10; i++)

{

for(j=1; j<=10; j++)

printf(“*”);

printf(“\n”);

}

המייצרת משולש על פי תוכניתכתוב

ל"הדוגמה הנ

**********

**********

**********

**********

**********

**********

**********

**********

**********

**********

Shayke Bilu PhD SCE-Chapter-5-Loops

56

?מה עושה התוכנית הבאה

#include <stdio.h> void main() { int i,j; for(i=1; i<=5; i++) { for(j=1; j<=5; j++) printf(“%4d”, i*j ); printf(“\n”); } }

הכפל הדפסת לוח

25עד 1-מ

פתרון להדפסת המספרים בריווח קבוע

Shayke Bilu PhD SCE-Chapter-5-Loops

57

for(i=1; i<=5; i++)

{ for(j=1; j<=5; j++)

printf(“%4d”, i*j ); printf(“\n”); }

i=1 j=1 j=2 j=3

j=4

j=5

j=1 j=2 j=4

j=3

j=5

1 5 2 3 4

6 4 8 10 2 i=2

i=3 9 6 12 15 3

i=4 12 8 16 20 4

15 10 20 25 5

i=5

הדגמת ביצוע התוכנית של לוח הכפל

Shayke Bilu PhD SCE-Chapter-5-Loops

58

?מה עושה התוכנית הבאה

25עד 1-הכפל מהדפסת לוח

while באמצעות לולאת

Shayke Bilu PhD

#include <stdio.h> void main() { int i=1,j=1; while(i<=5) { while(j<=5) { printf(“%4d”, i*j ); j++; } j=1; printf(“\n”); i++; }} SCE-Chapter-5-Loops

59

?מה עושה התוכנית הבאה

25עד 1-הכפל מהדפסת לוח

do while באמצעות לולאת

Shayke Bilu PhD

#include <stdio.h> void main() { int i=1,j=1; do{ do{ printf(“%4d”, i*j ); j++; } while(j<=5); j=1; printf(“\n”); i++; } while(i<=5); } SCE-Chapter-5-Loops

60

:דיברנו היום על

לשם מה אנו זקוקים להן וכיצד הן פועלות, לולאותמהן •

while, for, do-whileמבנה ושימוש בלולאות •

break, continue -פקודות ה •

ל הן במסגרת לולאות רגילות או "שימוש בפקודות הנ•

.מקוננות

שימוש והדגמה, צורך, מבנה לולאות מקוננות•

סיכום לולאות

Shayke Bilu PhD SCE-Chapter-5-Loops

61

?שאלות

Shayke Bilu PhD SCE-Chapter-5-Loops

62

תרגילי כיתה

Shayke Bilu PhD

ספרה כל ומדפיסה בודקת מספר הקולטת תוכנית כתוב1.

.נפרדת בשורה המספר של

אחת האם ומדפיסה בודקת מספר הקולטת תוכנית כתוב2.

.שארית ללא 3 -וב 2 -ב מתחלקת המספר מספרות

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

ללא 4 -ב או 3 -ב או 2 -ב מתחלקת המספר מספרות

.שארית

המספרים כמות את ומדפיסה הבודקת תוכנית כתוב4.

.341 -ל 112 בין הזוגייםSCE-Chapter-5-Loops

63

תרגילי כיתה

Shayke Bilu PhD

הקולטת מספר בודקת ומדפיסה כמה תוכניתכתוב 5.

.ספרות יש במספר

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

.הספרות במספר

הקולטת מספר בודקת ומדפיסה כמה תוכניתכתוב 7.

.ספרות זוגיות וכמה אי זוגיות יש במספר

הבודקת ומדפיסה כמה מספרים ראשוניים תוכניתכתוב 8.

.100 -ל 1יש בין

SCE-Chapter-5-Loops

64

תרגילי כיתה

Shayke Bilu PhD

whileהבאה ללולאת for-ניתן להמיר את לולאת הכיצד 9.

?שתבצענה את אותה פעולה בדיוק do-whileוללולאת

void main()

{

int i;

for (i=1; i<100; i=i*2)

printf(“i=%d\n",i);

}

SCE-Chapter-5-Loops

65

תרגילי כיתה

Shayke Bilu PhD

100 עד 1 -מ המספרים כל את המדפיסה תוכנית כתוב10.

.7 בהם שיש או 7 -ב המתחלקים המספרים ללא

בתחום זוגיים האי המספרים כל את המדפיסה תוכנית כתוב11.

.שארית ללא 5-ב או ,3 -ב המתחלקים 100 עד 1-מ של

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

ואת בנפרד הזוגיים המספרים של סכומם בסופו ומדפיסה

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

.999 המספר יוקלד כאשר תסתיים התוכנית

SCE-Chapter-5-Loops

66

תרגילי כיתה

Shayke Bilu PhD

:כתוב תוכנית המדפיסה את המשולש הבא13.

*

***

*****

*******

:תוכנית המדפיסה את המשולש הבאכתוב 14.

*******

*****

***

* SCE-Chapter-5-Loops

67

תרגילי כיתה

Shayke Bilu PhD

:כתוב תוכנית המדפיסה את המעוין הבא15.

*

***

*****

*******

*********

*******

*****

***

* SCE-Chapter-5-Loops

68

תרגילי כיתה

Shayke Bilu PhD

:כתוב תוכנית המדפיסה את השעון חול הבא16.

*********

*******

*****

***

*

***

*****

*******

*********

SCE-Chapter-5-Loops


Recommended