c programming chapter 4
TRANSCRIPT
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
4פרק
זרימה והסתעפויותבקרת
Program Flow Control
בילור שייקה "ד
יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע
אקדמיות ומנהליות, מומחה למערכות מידע חינוכיות
Cקורס יסודות התכנות בשפת
1
שימוש במשתנים: תזכורת
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
2
מה תפקידו במערכת? לשם מה זקוקים לו? מהו משתנה?
הגדרת משתנים:
int mis = 9;
char c = ‘a’;
float mispar = 845.472585;
double number = 243435.5689822;
פורמטים של קלט פלט :
%u, %ld, %p, %s , %d, %f, %lf , %g, %e, %c,
printf(“%g”, average);
scanf(“%lf”, &num);
שימוש במשתנים: תזכורת
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
3
פעולות על משתנים
מצד , תוצאת חישוב, ערך של משתנה, העברת קבוע)פעולות השמה (:ימין לתוך משתנה נמצא בשמאל
tav = ‘c’;
sum = mis * 3;
num = mis / 2; פעולות חשבון :
+ ,- , * , / , % 3/4=0 למשל. לב לדיוק וטווח-תשומת
(.זה גורם לתוכנית לעוף)להקפיד לא לחלק באפס
עיגול בהדפסת משתנים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
4
כשמדפיסים מספר ממשי ניתן לציין את מספר הספרות שיודפסו
.אחרי הנקודה
2.%רישום : למשלf יגרום לכך שיודפס המספר השלם יחד עם
.שתי ספרות מימין לנקודה העשרונית
במידה והספרה השלישית שווה או . )במידת הצורך יתבצע עיגול
(עיגול כלפי מטה 4-שווה או קטנה מ, עיגול כלפי מעלה 5-גדולה מ
למשל:
printf(“%.2f”, 123.456);
123.46יודפס
דוגמאות -עיגול בהדפסת משתנים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
5
למשל :printf(“%.0f”, 123.456789); 123יודפס
למשל :printf(“%.1f”, 123.4178856); 123.4יודפס
למשל : printf(“%.3f”, 123.4178856);
123.418יודפס
למשל: printf(“%.4f”, 123.4178856);
123.4179יודפס
למשל: printf(“%.5f”, 123.4178856);
123.41789יודפס
פלט של תווים/אפשרות נוספת לקלט
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
6
:()getcharהפונקציה
.משמשת לקליטת תו מהמשתמש לתוך משתנה
;scanf(“%c”, &character): הפעלתה שקולה ל
;()character = getchar : י"אופן השימוש ע
:()putcharהפונקציה
.משמשת להדפסת תו על המסך
;printf(“%c”, character) : הפעלתה שקולה ל
;putchar(character) : י"השימוש עאופן
תוכנית לדוגמה
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
7
#include <stdio.h> void main() {
char tav; printf("Enter char\n"); tav=getchar(); putchar(tav); putchar('\n'); printf("Enter char\n"); flushall(); scanf("%c",&tav); printf("Char = %c\n",tav);
}
, התוכנית מגדירה משתנה תווי
.tavקולטת ערך תווי למשתנה
כאן יש הדגמה של שימוש
בפונקציות לשימוש בתווים
ובהמשך דוגמה לשימוש
.בפונקציות קלט ופלט רגילות
עוד פעולות על משתנים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
9
של ערכו שמירת – חשבון פעולות של מקוצר רישום
בכל שימוש תוך לתוכו נוסף ערך והכנסת משתנה
.האפשריים האופרטורים
שלם משתנה רק ,באחד – משתנה ערך קידום.
שלם משתנה רק ,באחד – משתנה ערך צמצום.
שאינם שונים טיפוסים – משתנים טיפוסי על קצת עוד
.לשימוש ניתנים אך שכיחים
Shayke Bilu - 2012
10
Shayke Bilu - 2012 10
כתיבה מקוצרת של פעולות
add = add + 2; add += 2;
num = num - 3; num -= 3;
sum = sum * 4; sum *= 4;
mis = mis / 5; mis /= 5;
mod = mod % 5; mod %= 5;
Shayke Bilu PhD
10
-שקול ל
-שקול ל
-שקול ל
-שקול ל
-שקול ל
פעולת ההשמה המקוצרת פעולת ההשמה הרגילה
SCE-Chapter-4-Program Flow Control
11
11
1-כ קידום ערך המשתנה ב"קודם מבוצעת הפעולה ואח:
כ מבוצעת הפעולה"ואח 1-קודם קידום ערך המשתנה ב:
כתיבה מקוצרת של פעולות
mis1 = 5; mis2 = mis1++;
mis2 5 -שווה ל.
mis1 6 -שווה ל.
mis1 = 5; mis2 = ++mis1;
mis2 6 -שווה ל.
mis1 6 -שווה ל.
mis = mis + 1; mis++;
mis = mis + 1; ++mis;
Shayke Bilu - 2012 Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
11
12
12
1-כ נוריד את ערך המשתנה ב"קודם נבצע את הפעולה ואח:
כ נבצע את הפעולה"ואח 1-קודם נוריד את ערך המשתנה ב:
כתיבה מקוצרת של פעולות
mis1 = 5; mis2 = mis1--;
mis2 5 -שווה ל.
mis1 4 -שווה ל.
mis1 = 5; mis2 = --mis1;
mis2 4 -שווה ל.
mis1 4 -שווה ל.
mis1 = mis1 - 1; mis1--;
mis1 = mis1 - 1; --mis1;
Shayke Bilu - 2012 Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
12
תוכנית לדוגמה של כתיבה מקוצרת
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
13
#include <stdio.h> void main() {
int mispar; printf("Enter mispar\n"); scanf("%d",&mispar); printf(“1) mispar = %d\n",mispar); printf(“2) ++mispar = %d\n",++mispar); printf(“3) mispar ++= %d\n",mispar++); printf(“4) --mispar = %d\n",--mispar); printf(“5) mispar-- = %d\n",mispar--); printf(“6) --mispar =%d\n",--mispar);
}
14
14
טיפוסי משתנים נוספים
טיפוס ה- unsigned משמש למספרים חיוביים בלבד!!!
כיוון שאין צורך לשמור מקום בזיכרון , 2מגדיל את הטווח פי
.לסימן חיובי או שלילי
נעשית באמצעות הסימון ההדפסה%u
לערך שאינו משתנה במהלך משמש const-טיפוס ה•
.p -למשל , התכניתo מספרים ומונעת שינוי הערך חזרה על חוסכת ההגדרה
;const double pai=3.141592654: בטעותo הסימון הרגיל של המשתנהההדפסה נעשית באמצעות.
SCE-Chapter-4-Program Flow Control Shayke Bilu PhD
15
15
טיפוסי משתנים בסיסיים נוספים
long - בתים של מידע 8בדרך כלל תופס , מספר שלם
short - בתים של מידע 2שלם בדרך כלל תופס מספר
2-15לבין -215כלל בין -בדרך
לחסוך זיכרון כשעובדים עם מספרים קטניםמאפשר.
long double - מספר ממשי עם דיוק וטווח גדולים .תלוי במעבד המחשב ובקומפיילר, יותר
השימוש בטיפוסים אלה פחות נפוץ.
SCE-Chapter-4-Program Flow Control Shayke Bilu PhD
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
17
בקרת זרימה
פקודתif לבדיקת יחס בין משתנים
פקודתif ברירת אמת ושקר, מקונן
פקודתswitch כבורר בין בחירות יחד עםcase
דוגמאות לתוכניות עם בקרת זרימה והסתעפויות.
?מה לדעתכם עושה התוכנית הבאה
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
18
#include <stdio.h>
void main()
{
int mis1,mis2, max;
printf(“Enter 2 numbers\n”);
scanf(“%d%d”,&mis1,&mis2);
max = mis1;
if (max < mis2)
max = mis2;
printf(“The maximum is %d\n”,max);
}
מספרים 2קלוט
שלמים
מהמשתמש
יתבצע רק אם התנאי מתקיים
הדפס את המספר הגדול יותר למסך
?מה זאת בקרת זרימה
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
19
שורה לפי הסדר-אחרי-תוכנית מתבצעת שורה, באופן רגיל
י "או ע)י הקלט "לפעמים נרצה שהפקודות שיבוצעו יקבעו ע
if ( condition ) (:חישובים אחרים בתכנית{ . . .
. . . } else { . . . . . . }
התנאי מתקייםרק אם בלוק הפקודות יתבצע
רק אם התנאי לא מתקייםבלוק הפקודות יתבצע
נושאים –בקרת זרימה
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
20
משפטיif - else
תנאים אפשריים(אמת-true ,שקר-false)
או)שילוב של תנאים-or ,||וגם- && and , שלילה !
(קינון תנאים
משפטיswitch – case
פקודת ה- break
פקודת ה- default
if פקודת
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
21
כתלות בתנאי מסוים( או קבוצת פקודות)מאפשרת לבצע פקודה .
else -אם התנאי מתקיים מבצעים אחרת לא ניגשים ל
המבנה:
if (תנאי) פקודה ;
:למשל
if (mis % 2 == 0)
printf (“mis is even !!!”);
else
printf (“mis is odd !!!”);
איזה תנאים אפשר לבטא
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
22
פעולות השוואה רגילות:
גדול >
קטן < גדול או שווה >=
קטן או שווה <=שוויון= : =
שוני :!=
if (mis1 != mis2) printf(“not the same numbers\n”);
if (mis1 == mis2) printf(“the same numbers\n”);
המשך - if משפט
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
23
קבוצת פקודותאפשר גם להתנות ביצוע של:
if (תנאי)
{
בלוק פקודות
...
...
}
if-else משפט
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
24
אחרי משפטif ניתן לרשום פקודה אחת או מספר פקודות
: elseלא מתקיים חובה להוסיף במקרה שהתנאי , שתתבצענה
if (תנאי) ;פקודה
else פקודה;
:למשלif (number % 2 == 0) printf(“%d is even number !!!”,number);
else printf(“%d is odd number !!!”,number);
if-else משפט
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
25
חובה שנשתמש , יותר מאחת, של פקודות קבוצהעבור
.תמיד בסוגריים מסולסלים
else
{
......
פקודות בלוק ......
......
}
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
26
Shayke Bilu - 2012 Sami Shamoon College of Engineering 26
קינון תנאים –תנאים מורכבים
לפעמים נדרשים תנאים מורכבים.
0 -ציון צריך להיות גדול או שווה ל.
100 -ציון צריך להיות קטן או שווה ל.
בכל מצב אחר הציון אינו תקין!!!
if(grade >= 0)
if(grade <= 100)
printf(“Grade %d is in range\n”, grade);
טבלאות אמת -תנאים לוגיים
Shayke Bilu PhD
28
&&(and) Bit 2 Bit 1
0 0 0
0 1 0
0 0 1
1 1 1
|| (or) Bit 2 Bit 1
0 0 0
1 1 0
1 0 1
1 1 1
(!) Bit 1
1 0
0 1
AND OR NOT
SCE-Chapter-4-Program Flow Control
שיכולות לשלב , בהרבה מקרים יש צורך להשתמש בפעולות לוגיות
. if -כמה תנאים יחד תוך כדי שרשור הבדיקה של פקודת ה
AND ,OR ,NOT: הפעולות הלוגיות הבסיסיות 3נלמד את
פעולות לוגיות בסיסיות -שילוב תנאים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
29
&& - AND (וגם )– מצד ימין לסימן , דורש ששני התנאים
.trueומצד שמאל לסימן יתקיימו ויהיו אמת
רק במצב כזה כל התנאי הלוגי יתקיים .
כאשר התנאי הראשון לא מתקיים לא נבדק התנאי השני.
if ((grade >= 0) && (grade <= 100))
if (grade >= 0) if (grade <= 100)
printf(“Grade is good”);
ORהפעולה הלוגית –שילוב תנאים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
30
||- OR (או )- התנאים יתקיים או זה שלפחות אחדדורש
.שמימין לסימן או זה שמשמאל לסימן
במידה והתנאי הראשון מתקיים לא נבדק התנאי השני.
במידה והתנאי הראשון לא מתקיים נבדק התנאי השני.
if ((mis>5) || (mis<-5))
if (grade >5) printf(“Grade > 5”); if (grade <-5) printf(“Grade < -5”);
NOTהפעולה הלוגית –שילוב תנאים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
31
• !- NOT (שלילה )- יתקיים לאדורש שהתנאי.
כלומר התנאי , מצד שמאל לא יתקיים! התנאי אליו צמוד הסימן •
!.שיתקיים בפועל יהיה הפוך מזה הרשום משמאל לסימן
המשמעות של הדוגמה היא שהצבת הסימן לפני הסוגריים הפכה •
שמשמעותו בדיוק >לסימן <=את הסימן שבתוך הסוגריים
.הפוכה
if (mis>5) if (!(mis<=5))
:מימין לשמאל, של התנאים הלוגיים הואסדר הקדימות
NOT ,AND ,OR (NOT יבוצע ראשון)
תנאים כמספרים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
32
י המחשב לערך מספרי"תנאי מתורגם ע:
לא נכון(false ) (0==שקר) . 0 -ערכו שווה ל
נכון(true ) (0== אמת) .0 -ערכו שונה מ!
.0מתורגם לערך ( 3>4)
במקום תנאי ניתן לרשום ביטוי שיש לו ערך מספרי:
התנאי לא מתקיים - 0ערך(false.)
התנאי מתקיים -כל ערך אחר(true.)
המשמעות של , למשלif(0) לא תבוצעהיא שהפקודה .
המשמעות שלif(1) תבוצעהיא שהפקודה.
דוגמא -פעולות לוגיות
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
33
#include <stdio.h> void main() {
double exam, exercises, final; printf(“Enter your exam grade and exercise grade”); scanf(“%lf %lf”, &exam, &exercises); if ((exam >= 60) && (exercises >= 60)) { final = 0.8 * exam + 0.2 * exercises; printf(“You passed your grade is %g \n”, final); } else { final = exam; printf(“You failed your grade is %g \n”, final); }
}
מניחים כאן שהקלט תקין. בדרך-כלל דווקא נרצה לבדוק את תקינות הקלט ולפעול
(.למשל לתת הודעה למשתמש ולסיים)אחרת אם הקלט לא תקין
תוכנית לחישוב ציון סופי בקורס
המשך -תנאים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
34
מה המשמעות שלif (mis) ? if (mis!=0) בדיוק כמו
מתקבל ערך ששווה לערך , כשרושמים פקודת השמה •
. ששמנו במשתנה
ולכן 0 -שהוא שונה מ, 5הוא ( mis=5)ערכו של לכן •
!התנאי מתקיים
? if (mis=5)מה המשמעות של
( השמה מימין לשמאל= )שימו לב לא לרשום
( שוויון בין ימין לשמאל== )במקום
דוגמא –פעולות לוגיות על מספרים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
35
?מה יודפס אחרי קטע התוכנית הבאnum1 = 0; num2 = 1; num3 = 1; if (num1 && num2 || num3) printf(“True\n”); else printf(“False\n”);
:AND -קודם מבוצע ה. 1
:OR -אחרי זה מבוצע ה. 2
num1 && num2 0 && 1 0
0||1 0||1 1
: י סוגריים"אם סדר הפעולות היה משתנה ע
(num1 && (num2 || num3)) (0 && (1 || 1)) 0
עוד על סדר הביצוע –פעולות לוגיות
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
36
סדר הפעולות:
ל- ( !not )יש את הקדימות הגבוהה ביותר.
אחרי כן הפעולות אריתמטיות+( ,- ,* ,/ ,.)%
(.'וכו, < )==אחריהן פעולות ההשוואה
ו&& פעולות לוגיות , ולבסוף- ||.
:דוגמאות לתנאים
(5+4>8)
(!1 >= 0||1) 0 >= 0 || 1 1 || 1 1
9>8 1
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
37
ביניים-סיכום
מהי בקרת זרימה •
if-elseמשפטי •
לוגיים בדיקת תנאים •
לוגיותביצוע פעולות •
בחירה בין יותר משני מצבים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
38
כשיש בחירה בין מצבים רבים אפשר לרשום: if (תנאי)
פקודה else if (תנאי)
פקודה else if (תנאי)
פקודה else פקודה
בתוספת –כל פקודה יכולה להיות חלק מבלוק של פקודות
.סוגריים מסולסלים התוחמים את התחלת וסוף הבלוק
בחירה בין יותר משני מצבים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
39
ה-else –ים מתייחסים ל- if- ים לפי סדר קירבה(מה-else אחורה .)
למשל:
if (תנאי)
פקודה else if (תנאי) if (תנאי)
פקודה else פקודה else פקודה
בתכנות מובנה יש לדאוג לארגון נוח
.וקריא יותר של הקריאות
else-במקרה זה נקפיד כי פקודת ה
התואם if -לתופיע תמיד מתחת
דוגמא -בחירה בין יותר משני מצבים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
40
if((grade>=90)&&(grade<=100)) printf(“A\n”); else if((grade>=80)&&(grade<90)) printf(“B\n”); else if((grade>=70)&&(grade<80)) printf(“C\n”); else if((grade>=60)&&(grade<70)) printf(“D\n”); else if((grade>=50)&&(grade<60)) printf(“You failed!!!\n”); else printf(“grade is wrong!!!\n”);
ציון תרגום
מספרי לציון
אמריקאי
switch -בחירה בין יותר משני מצבים
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
41
ה- switch משמש כבורר בין בחירות ידועות מראש.
אם במהלך בדיקת תנאים נעשית השוואה לערכים
if -היא פקודה נוחה יותר מה switch -ה, קבועים
קודם נדגים שימוש בפקודתswitch , הכוללת בתוכה
breakי "וסגירתו ע case -את ה
בהמשך נתאר ונדגים שימוש בפקודה על חלקיה השונים
תוך כדי קליטת ערך למשתנה בורר ושימוש בו הן
.כמספר שלם והן כבורר תווי
switch מבנה כללי של
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
42
switch (ביטוי בדיד)
{
case 1קבוע פקודה או פקודות :
break; ( אופציונלי)
case פקודה או פקודות : 2קבוע
break; (אופציונלי )
…..
default: ( אופציונלי)
פקודה או פקודות
}
ביטוי בדיד זהו ביטוי שהתוצאה שלו
שלם או תו' תהיה תמיד אך ורק מס
דוגמא - switch
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
43
printf(“Enter grade\n”); scanf(“%c”, &grade); switch (grade) {
case ‘A’: case ‘a’: printf(“90…100\n”); break;
case ‘B’: case ‘b’: printf(“80…89\n”); break;
case ‘C’: case ‘c’: printf(“70…79\n”); break;
case ‘D’: case ‘d’: printf(“60…69\n”); break;
case ‘F’: case ‘f’: printf(“Failed !!!\n”); break;
default: printf(“grade is wrong!!!\n”); }
?מה עושה קטע התוכנית הזה
מתרגם ציון אמריקאי לטווח מספרים
switch מבנה כללי של
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
44
כשנרצה לעשות אותו דבר בכמה breakלא נכתוב פקודת :לדוגמא. מקרים
switch (tav) {
case ‘0’: case ‘2’: case ‘4’: case ‘6’: case ‘8’: printf(“Tav = %c It’s an even digit\n”,tav); break; case ‘1’: case ‘3’: case ‘5’: case ‘7’: case ‘9’: printf(“Tav = %c It’s an odd digit\n” ,tav); break; default: printf(“Tav = %c It’s not a digit\n” ,tav);
}
השורה תבוצע אם התו הוא
זוגית-סיפרה אי
בכל מקרה אחר
השורה תבוצע אם התו הוא סיפרה זוגית
switch -תוכנית עם שימוש ב
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
45
#include <stdio.h> void main() { int number; printf("Enter a number between 4..10:"); scanf("%d",&number); switch(number) { case 10: case 9 : printf("High!!!"); break;
switch -תוכנית עם שימוש ב
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
46
case 8 : case 7: printf("Medium!!!"); break; case 6: case 5: case 4: printf("Low!!!"); break; default: printf("Incorrect number!!!"); } }
נקודה לתשומת לב
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
47
מילים שמורות הן מילים בשפתC.
כגון :if, else, switch ….
או לחילופין :break, default, case,
אסור להשתמש בהן כשמות משתנים או פונקציות.
סיכום
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
48
משפטיif - else
(שקר, אמת)תנאים אפשריים
(קינון תנאים, וגם, או)שילוב של תנאים
משפטיswitch – case
פקודת ה- break
פקודת ה- default
תרגילי כיתה
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
50
,שלמים מספרים שלושה מהמשתמש הקולטת תוכנית כתוב1.
הקטן את ,משלושתם הגדול את ומציגה אותם בודקת
.האמצעי ואת משלושתם
את ומחזירה שלם מספר מהמשתמש הקולטת תוכנית כתוב2.
אותו מעלה כן אם ,זוגי הוא האם בודקת ,שלו המוחלט הערך
.3 ממנו מחסירה אחרת בריבוע
המשימות את ומבצעת תו מהמשתמש הקולטת תוכנית כתוב3.
הגדולה האות את מדפיסה קטנה אות הוא התו אם :הבאות
הקטנה האות את מדפיסה גדולה אות הוא התו אם ,לו המקבילה
.למשתמש הודעה מדפיסה אחרת לו המקבילה
תרגילי כיתה
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
51
הוא האם בודקת שלם מספר מהמשתמש הקולטת תוכנית כתוב4.
הודעה מציגה וכן במידה .שארית ללא 12 -וב 5-ב ,7 -ב מתחלק
.אחרת הודעה ולא במידה מתאימה
המשימות את ומבצעת תו מהמשתמש הקולטת תוכנית כתוב5.
בטבלת התא כתובת את תדפיס התוכנית ספרה הוא התו אם :הבאות
.מתאימה הודעה תוצג ספרה נקלטה ולא במידה .הספרה של האסקי
נמכרת כמות ,פריט מחיר מהמשתמש הקולטת תוכנית כתוב6.
הסכום אם .מ"מע כולל לתשלום הסכום מהו ומדפיסה ומחשבת
בין אם ,קים'צ בארבעה לשלם ניתן 1000 -מ גדול הוא לתשלום
קים'צ בשני 499 -ל 200 בין אם ,קים'צ בשלושה 999 -ל 500
.אחד ק'בצ אחרת
תרגילי כיתה
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control
52
,ספרות שלוש בין שלם מספר מהמשתמש הקולטת תוכנית כתוב7.
הקטנה הספרה את ומדפיסה ובודקת לספרותיו אותו מפרקת
מציגה זהות והספרות במידה .ביותר הגדולה הספרה את ,ביותר
.הודעה
האם תבדוק התוכנית .בחינה של ציון הקולטת תוכנית כתוב8.
ומציגה (55 מעל) עובר הציון והאם (100 -ל 0 בין) תקין הציון
.בדיקה כל לגבי מתאימה הודעה
וכן במידה ,וזוגי חיובי האם בודקת מספר הקולטת תוכנית כתוב9.
מחלקת כן אם ,זוגי הוא האם שוב בודקת ,לשלוש אותו מחלקת
הודעה מציגה וכן במידה ,זוגי אי הוא האם ובודקת לשניים אותו
.מתאימה