c programming chapter 4

53
Shayke Bilu PhD SCE-Chapter-4-Program Flow Control פרק4 בקרת זרימה והסתעפויותProgram Flow Control ד" ר שייקה בילו יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע מומחה למערכות מידע חינוכיות, אקדמיות ומנהליות קורס יסודות התכנות בשפתC 1

Upload: sce

Post on 20-Apr-2023

1 views

Category:

Documents


0 download

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קולטת ערך תווי למשתנה

כאן יש הדגמה של שימוש

בפונקציות לשימוש בתווים

ובהמשך דוגמה לשימוש

.בפונקציות קלט ופלט רגילות

SCE-Chapter-4-Program Flow Control Shayke Bilu PhD

8

?שאלות

עוד פעולות על משתנים

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

SCE-Chapter-4-Program Flow Control Shayke Bilu PhD

16

?השיעור שעברעל שאלות

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

SCE-Chapter-4-Program Flow Control Shayke Bilu PhD

27

?שאלות

טבלאות אמת -תנאים לוגיים

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

SCE-Chapter-4-Program Flow Control Shayke Bilu PhD

49

?שאלות

תרגילי כיתה

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.

מחלקת כן אם ,זוגי הוא האם שוב בודקת ,לשלוש אותו מחלקת

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

.מתאימה

תרגילי כיתה

Shayke Bilu PhD SCE-Chapter-4-Program Flow Control

53

:טבלה בעזרת מורס לצופן הנקלטת ספרה המתרגמת תוכנית כתוב10.

ספרה ערך מורס

----- 0

----. 1

---.. 2

--... 3

-.... 4

..... 5

....- 6

...-- 7

..--- 8

.---- 9