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
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
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
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
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
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
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
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