C Programming chapter 1

80
Shayke Bilu PhD SCE-Chapter-1-Introduction ד" ר שייקה בילו יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע מומחה למערכות מידע חינוכיות, אקדמיות ומנהליות פרק1 מבוא לתכנות מחשבים ושפתC קורס יסודות התכנות בשפתC 1

Transcript of C Programming chapter 1

Shayke Bilu PhD SCE-Chapter-1-Introduction

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

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

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

1פרק

Cמבוא לתכנות מחשבים ושפת

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

1

מטרות הקורס

SCE-Chapter-1-Introduction

היכרות בסיסית עם מבנה המחשב ויכולותיו

שפת : הכרת שפת תכנותC

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

חקר תכונות מתקדמות של תכנות

קבצים ומבני נתונים נוספים, כתובות, הכרה עם ניהול זיכרון

להגיע לשליטה ברמה סבירה של פתרון בעיה באמצעות מציאת

שימוש בכלי ניתוח בעיות ומימוש הפתרון באמצעות , פתרון לוגי

Cתכנות בשפת

2

Shayke Bilu PhD

תרגולים ותרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

מחשבים-התרגולים נערכים בכיתת

מטרת התרגול היא מימוש מעשי של החומר שנלמד

.ללא התרגולים ההצלחה בקורס אינה מובטחת, בהרצאות

בנוסף:

חזרה על עיקרי החומר של ההרצאה

מעשיות נוספות בתכנות דוגמאות

בהרצאהשנלמד פירוט נוסף למה

3

SCE-Chapter-1-Introduction Shayke Bilu PhD

מבנה ותכונות -המחשב

4

?מהי טכנולוגיית מחשב

Shayke Bilu PhD SCE-Chapter-1-Introduction

5

?מהו המחשב

Shayke Bilu PhD SCE-Chapter-1-Introduction

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

.נתון וידוע מראש פקודותפי רצף

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

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

o וסדור למערכת פקודות מסוימת היטב-מוגדרלהגיב באופן.

o סדרת פקודות שנכתבה מראש -תוכנית עצמאילבצע באופן.

6

?מהו המחשב

Shayke Bilu PhD SCE-Chapter-1-Introduction

מורכבת מאוסף מרובה של רכיבים, המחשב, המכונה:

חומרההרכיבים האלקטרוניים המותקנים במכונה נקראים 1.

(hardware).

תוכנה -המותקנות במכונה נקראות ( (programsהתוכניות 2.

(software)

לחבר ולקשר בין , בתפקידה לתאם( system)מערכת הפעלה 3.

.רכיבי החומרה לתוכניות הביצוע

7

תכונות המחשב

Shayke Bilu PhD SCE-Chapter-1-Introduction

המחשב כמכונה אלקטרונית מסוגל לבצע:

קליטת נתונים1.

עיבוד נתונים2.

פלט תוצאות3.

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

.עוד הוא פועל

לצורך שמירת נתונים היסטורית יש צורך באמצעי אחסון

.בדרך כלל חיצוניים, נוספים

8

פלט/התקני קלט

Shayke Bilu PhD SCE-Chapter-1-Introduction

אמצעי הקלט(input) מקלדת

עכבר

סורק

מסךtouch-pad

מיקרופון

אמצעי פלט(output) מסך

מדפסת

רמקולים/אוזניות

9

יחידת העיבוד המרכזית

Shayke Bilu PhD SCE-Chapter-1-Introduction

CPU -יחידת העיבוד המרכזיתCentral Processing Unit - CPU

:היחידה מורכבת משלוש יחידות עיקריות

יחידה אריתמטית לוגית המבצעת את החישובים במעבד1.

המאחסנים נתונים שעליהם מתבצע ( רגיסטרים)אוגרים 2.

יחידת הזיכרון המרכזי –החישוב

יחידת הבקרה מפקחת על ביצוע הפקודות והעברת המידע3.

10

יחידת העיבוד המרכזית

Shayke Bilu PhD SCE-Chapter-1-Introduction

11

יחידה אריתמטית לוגית

Arithmetic-logic unit

קלטINPUT

פלטOUTPUT

CONTROL UNIT יחידת בקרה

Memory Unit יחידת הזיכרון

צובר

ניהול עיבוד הנתונים

Shayke Bilu PhD SCE-Chapter-1-Introduction

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

.את מערכת הקבצים ואת הזיכרון הראשי, את החומרה

12

13

תפקיד מערכת ההפעלה

מאפשרת להריץ אפליקציות

מבטיחה נכונות המידע

שומרת על גבולות זיכרון

מתפעלת סדר עדיפויות

שומרת על מצב יציב

מספקת למשתמש נוחות וגישה להפעלת יישומים

מאפשרת הסתרת פרטים

תוכנה חומרה וציוד קלט פלט, מאפשרת תיאום בין יישומים

הפעלה למערכת קבצים-קריאות מערכת מיצרת

Shayke Bilu PhD SCE-Chapter-1-Introduction

?מהי מערכת הפעלה

תוכנות ממספר ומורכבת (יחסית) גדולה תוכנה חבילת

.יחד המשולבות שונות

בסיסיים עקרונות שני בעלת התוכנה:

הדמיה י”ע ,והחומרה המשתמש בין כמישק משמשת .1

.למשתמש וירטואלית מכונה של

המחשב משאבי כלל של יעיל ניהול מאפשרת .2

.יחד גם וחיצונים פנימיים ,המשתמש שברשות

14

Shayke Bilu PhD SCE-Chapter-1-Introduction

המבנה הגראפי של מערכת ההפעלה15

Shayke Bilu PhD SCE-Chapter-1-Introduction

SCE-Chapter-1-Introduction Shayke Bilu PhD

?שאלות

16

SCE-Chapter-1-Introduction Shayke Bilu PhD

סימנים מוסכמים בעולם

התכנות

17

מקשי תווים רווחים ומספרים18

Shayke Bilu PhD SCE-Chapter-1-Introduction

אותיות ספרות רווחים

Blank –מקש הרווח space

קטנות אותיות 9...0 הספרות

:באנגלית

a..z

tab -מקש ה

הרוחבי והאנכי

אותיות גדולות

:באנגלית

A…Z

New line -ה מקש

Cמקשי תווים מיוחדים לתכנות בשפת 19

Shayke Bilu PhD SCE-Chapter-1-Introduction

מקש שם מקש שם

& סימן הוגם . נקודה

| קו אנכי , פסיק

^ גג ; נקודה ופסיק

* כוכבית : נקודתיים

- מינוס ' גרש

+ פלוס " גרשיים

% אחוזים # סולמית

Cמקשי תווים מיוחדים לתכנות בשפת 20

Shayke Bilu PhD SCE-Chapter-1-Introduction

מקש שם מקש שם

( ) סוגריים עגולים < קטן

] [ סוגריים מרובעים > גדול

} { סוגריים מסולסלים / (חילוק)קו נטוי

= שווה \ קו נטוי הפוך

@ כרוכית $ דולר

_ קן תחתון ? סימן שאלה

~ גל ! סימן קריאה

Cשימוש במקשים בתכנות בשפת 21

Shayke Bilu PhD SCE-Chapter-1-Introduction

מקש הסבר

( ) ונתוני פונקציות מיועדים לסימון קטעים של ערכי

] [ מיועדים לסימון תחום הגדרת מערכים

} { מיועד לסימון התחלת וסוף מקטע של פקודות

: מיועד לשימוש לכותרות

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

, משתנים מיועדת להפריד בין

; לסמן סוף פקודת ביצוע מיועדים

Cמילים שמורות בשפת 22

Shayke Bilu PhD SCE-Chapter-1-Introduction

פקודה הסבר פקודה הסבר

auto משתנה מקומי double טיפס משתנה ממשי

break פעולה מפסיק else בבדיקת תנאי אחרת

בעל רשימת ערכים טיפוס

קבועים

enum בורר בקרת זרימה case

char מגדיר משתנה תווי extern משתנה מוגדר במקום אחר

const מגדיר קבוע float מגדיר משתנה ממשי

continue הבא קופץ לסיבוב for בעבור פקודת לולאת

default מחדל בבורר ברירת goto בתוכנית מכוון לכתובת

do פקודת לולאת עשה if פקודת תנאי

Cמילים שמורות בשפת 23

Shayke Bilu PhD SCE-Chapter-1-Introduction

פקודה הסבר פקודה הסבר

int משתנה שלם struct מבנה נתונים

long משתנה ארוך switch בורר בבקרת זרימה

register אוגר typedef הגדרת אופי המשתנה

אחוד של מבנה

משתנים

union פקודת חזרה return

short משתנה קצר unsigned ללא סימן

signed סימן void טיפוס ריק

sizeof גודל מקסימלי בבתים volatile משתנה נדיף

static ערך קבוע ברקורסיה while לולאת עד שה

SCE-Chapter-1-Introduction Shayke Bilu PhD

אלגוריתם ותרשים זרימה

24

?מהו אלגוריתם

Shayke Bilu PhD SCE-Chapter-1-Introduction

אלגוריתם הוא ִסדרה סופית של הוראות חד - הגדרה

. פלט רצויכל קלט חוקי יתקבל עבור . לביצועמשמעיות

אחרת , או פלט/הליך אלגוריתמי צריך שיהיה קלט ולכל

.הוא חסר משמעות ומיותר

מתאר בדרך מילולית את הנתונים הבאים:

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

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

המצב הסופי לאחר ביצוע המשימה

25

דוגמה לאלגוריתם

Shayke Bilu PhD SCE-Chapter-1-Introduction

26

תכונות האלגוריתם

Shayke Bilu PhD SCE-Chapter-1-Introduction

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

הוא כולל פעולות ביצוע ברמה הבסיסית

מכיל הוראות חד משמעיות וחד ערכיות

כולל סדר ביצוע של הוראות המוגדר מראש

כולל הוראות ישימות לכל סוג של קלט

לכל קלט, מכיל מספר הוראות סופי

בעל מסגרת פעילות קבועה וסדורה:

התחלה

ביצוע

סיום

27

דוגמאות לאלגוריתמים

Shayke Bilu PhD SCE-Chapter-1-Introduction

(דוגמה משחק קוביות)שלבי פתרון של חידה מתמטית

('תנאים וכו, מענקים, מדרגות מס)חישוב מס הכנסה

(י נוסחה או כל אמצעי אחר"ע)חישוב מתמטי מורכב

(ניווט)הוראות הגעה מנקודת מקור לנקודת יעד

(מ"כטב, חללית, מטוס)הנחיות הפעלה של ציוד מורכב

תכנות פעולת רובוט

28

פעולות בסיסיות באלגוריתם

Shayke Bilu PhD SCE-Chapter-1-Introduction

קלט

פלט

השמה

העברה

מחיקה

פעולות חשבון בסיסיות

פעולות השוואה

פעולות לוגיות

29

פעולת הקלט

Shayke Bilu PhD SCE-Chapter-1-Introduction

קליטת נתונים מתבצעת מאמצעי הקלט אל זיכרון

.המחשב

תא בזיכרון יכול לקבל שם שמזוהה חד ערכית.

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

מוחקת ומבטלת את הערך , כתיבה של ערך לתא דורסת

.הקודם שלו

משתנההוא נקרא , כיוון שערכו של תא יכול להשתנות.

30

פעולות נוספות

Shayke Bilu PhD SCE-Chapter-1-Introduction

הוצאת ערך של משתנה או של הודעת טקסט ידועה - פלט

.מראש למסך או לאמצעי פלט אחר

הצבת ערך לתוך משתנה שהוגדר מראש - השמה.

לדוגמה = י הסימן "תסומן עnum = 5 נכנס לתא ( 5)כלומר הערך מימין , מימין לשמאלתבוצע תמיד

(num)המצוין משמאל

העברת ערכו של משתנה למשתנה אחר - העברה.

מחיקת התוכן של תא בזיכרון - מחיקה.

31

מתמטיות -פעולות נוספות

Shayke Bilu PhD SCE-Chapter-1-Introduction

פעולות חשבון בסיסיות :

(.וחילוק , )*( כפל , ( -)חיסור , )+( חיבור/(

מחזירה את תוצאת החלוקה כמספר שלם –פעולת חילוק שלם

מחזירה -( % מודולו)פעולת חלוקה עם הצגת השארית בלבד

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

ביטוי אריתמטי הוא ביטוי המורכב ממספרים שלמים או

.ממשיים ואופרטורים ותוצאתו ערך מספרי שלם או ממשי

32

)/(פעולת חילוק שלם

Shayke Bilu PhD SCE-Chapter-1-Introduction

הפעולה רלבנטית רק בחילוק שלמים בשלמים.

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

דוגמאות שימוש:

אבל בחילוק מספרים , 9.5התוצאה היא 19/2עבור החלוקה

(.הסבר מפורט יינתן בהמשך) 9תוצאת השלם היא , שלמים

אבל בחילוק מספרים , 1.5התוצאה היא 6/4עבור החלוקה

(.הסבר מפורט יינתן בהמשך) 1שלמים התוצאה היא

אבל בחילוק מספרים , 8.9התוצאה היא 89/10עבור החלוקה

(.הסבר מפורט יינתן בהמשך) 8שלמים התוצאה היא

33

)%(פעולת המודולו

Shayke Bilu PhD SCE-Chapter-1-Introduction

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

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

!!!תמיד מספר שלם

למיםש 8= 17/2: נקבל 2 -ב 17לדוגמה עבור חלוקת

1שארית = 17%2נקבל מודולואולם בביצוע עם

שלמים 3= 6/2: נקבל 2 -ב 6לדוגמה עבור החלוקה

0שארית = 6%2נקבל מודולואולם בביצוע עם

שלמים 7= 79/10: נקבל 10 -ב 79לדוגמה עבור החלוקה

9שארית = 79%10נקבל מודולואולם בביצוע עם

מיוחד או שימושי בדוגמא האחרונה, שימו לב מה שונה?

34

SCE-Chapter-1-Introduction Shayke Bilu PhD

תרגילים

35

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

הסבר בקצרה? מה מבצעות הפקודות הבאות.

x = x + 1 x = 1 / x

x = a – b x = x / 2

x = x + y % 2 / 4 x = 8

y = x / 2 a = x % 3

b = a / 4 x = b – a * y

36

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

מה יהיו ערכי המשתנהx לאחר ביצוע הפעולות הבאות?

(1x=3

(2y=2 (x - 1)

(3x=y / 2 * x

(4x=(x + y) % 3 / 2

37

?מהו תרשים זרימה

Shayke Bilu PhD SCE-Chapter-1-Introduction

תרשים זרימה הוא תיאור גראפי של אלגוריתם בעזרת

ברורות ומוסכמות מראש, צורות גרפיות ידועות

משמעות תרשים

התחלה וסוף של תרשים

פלט/ קלט

(חישוב, השמה)לביצוע פקודה

לא כן הוראת תנאי

38

תכונות תרשים זרימה

Shayke Bilu PhD SCE-Chapter-1-Introduction

מלמעלה למטה, תרשים זרימה תמיד יזרום

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

(סיום/למעט התחלה)חץ מלמטה

לכל תרשים זרימה חייבת להיות פקודת התחלה אחת

!!!ופקודת יציאה אחת בלבד

התחלה

בצע חישוב

הדפס

תוצאה

If(condition)

סוף

קלוט

נתונים

השמהבצע

39

סוף תרשים/התחלה

Shayke Bilu PhD SCE-Chapter-1-Introduction

י הסימן אליפסה"התחלה או סוף של תרשים מסומנים ע.

התחלה /בתוך הסימן יופיע מלל המציין האם זהו סוף

(start/end).

לכל אלגוריתם נקודת התחלה ונקודת סיום אחת.

ניתן להשתמש בסימן דומה לסימון סיום דף ומעבר לדף

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

בסוף הדף ובתחילת הדף הבא יופיע אותו סימן מזהה.

סיום/התחלה

A

40

פלט/פקודות קלט

Shayke Bilu PhD SCE-Chapter-1-Introduction

י צורת מקבילית"פלט מסומנות ע/פקודות קלט:

בתוך המקבילית יש לציין:

( פלט/קלט)מילה מזהה בהתאם לפעולה הנדרשת

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

כ לפני כל פקודת קלט תהיה פקודת פלט להורות "בד

.למשתמש אילו נתונים נדרשים ממנו

לדוגמה ניתן להדפיס פלט המשולב ממחרוזת וביטוי משתנה.

פלט/קלט

:פלט

"הקלד גיל משתמש"

קלט

age

פלט “age is: “, age

41

הצבה/ פקודת השמה

Shayke Bilu PhD SCE-Chapter-1-Introduction

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

י מלבן"מיוצגת ע:

בצד ימין ייכתב הביטוי אותו רוצים להכניס למשתנה ,

שמופיע בצד ימין חייב שיהיה בעל ( אופרנד)כל ביטוי

.ערך כדי שיועבר לצד שמאל

בצד שמאל יצוין שם המשתנה אליו יועבר הערך מימין.

תהליך העבודה הוא קודם כל חישוב הערך מימין ורק

.כ השמתו לתוך המשתנה שמשמאל"אח

משתנה= ביטוי

42

SCE-Chapter-1-Introduction Shayke Bilu PhD

?שאלות

43

SCE-Chapter-1-Introduction Shayke Bilu PhD

דוגמאות

44

דוגמאות

Shayke Bilu PhD SCE-Chapter-1-Introduction

זרימה לחישוב היקף של עיגולתרשים •

45

התחלה

R

H=2*PI*R

H

R<=0

סוף

טעות

לא כן

דוגמאות

Shayke Bilu PhD SCE-Chapter-1-Introduction

46

תרשים זרימה לחישוב שטח של ריבוע•

התחלה

A

S=A*A

S

A<=0 סוף

טעות

לא כן

דוגמאות

Shayke Bilu PhD SCE-Chapter-1-Introduction

47

תרשים זרימה לחישוב מינימום בין שני מספרים•

התחלה

mis1 ,mis2

mis1

mis1==mis2

סוף

טעות

לא כן

mis1>mis2

mis2

לא כן

SCE-Chapter-1-Introduction Shayke Bilu PhD

תרגילים

48

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

רשמו תרשימי זרימה עבור הבעיות הבאות:

. קלטו שני מספרים והדפיסו אותם1)

התוכן של המשתנה האחד יהיה בשני , החליפו את תוכנם

שתי הוראות ההדפסה זהות , והדפיסו שוב , ולהפך

.לחלוטין

ניתן ומומלץ : רמז, ל אך בלי שימוש במשתנה עזר"כנ2)

.להיעזר בחוקי המתמטיקה

49

1תרגיל –פתרון לדוגמה

Shayke Bilu PhD SCE-Chapter-1-Introduction

סימן התחלת התרשים

קלט שני ערכים לשני משתנים

הדפסת ערכי שני המשתנים כפי

שנקלטו

החלפת הערכים בין שני המשתנים

הדפסת ערכי המשתנים לאחר

ההחלפה

סימן סיום התרשים

התחלה

mis1=3; mis2 =5

mis1; mis2;

ezer = mis1; mis1 = mis2; mis2 = ezer;

סוף

mis1; mis2;

50

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

רשמו תרשימי זרימה עבור הבעיות הבאות:

.שלהםמספרים והדפיסו את הממוצע 4קלטו 3)

מספרים חשבו והדפיסו שטח והיקף מלבן שאורכי 2קלטו 4)

.10-ו 5צלעותיו

קלטו עבור עובד את מספר השעות שלו בחודש ואת השכר 5)

הדפיסו את הנתונים שקלטתם בצירוף הודעות . לשעה

.וכן את שכרו החודשי, מתאימות

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

51

3תרגיל –פתרון לדוגמה

Shayke Bilu PhD SCE-Chapter-1-Introduction

סימן התחלת התרשים

קלט ארבעה ערכים לארבעה

משתנים שונים

ביצוע חישוב ממוצע

הדפסת הממוצע

סימן סיום התרשים

התחלה

mis1=3; mis2 =5; mis3=6; mis4=7;

avg = (mis1+mis2+mis3+mis4)/4;

סוף

avg

52

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

צייר תרשים זרימה עבור הבעיות הבאות:

צייר תרשים זרימה לתוכנית הקולטת מספר כלשהו בעל שתי 7)

.על התוכנית להדפיס את ספרת האחדות, ספרות

על , ספרתי-צייר תרשים זרימה לתוכנית הקולטת מספר תלת8)

.התוכנית להדפיס את ספרת המאות

:במשוואה xצייר תרשים זרימה לתוכנית המדפיסה את 9)

ax + b = 0

53

7תרגיל –פתרון לדוגמה

Shayke Bilu PhD SCE-Chapter-1-Introduction

סימן התחלת התרשים

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

ביצוע חישוב הפרדת ספרת האחדות

מהמספר

הדפסת ספרת האחדות

סימן סיום התרשים

התחלה

mis1=83;

hachadot =mis1%10;

סוף

hachadot

54

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

צייר תרשים זרימה עבור הבעיות הבאות:

. נהג מונית שרות יוצא לדרכו רק אם כל המושבים תפוסים10)

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

ותמצא את מספר המוניות שניתן , ומספר המושבים במונית

הנח כי לכל .)ומספר הנוסעים שיוותרו בתחנה, למלא במלואן

(המוניות בתחנה מספר מושבים זהה

55

סיכום ביניים -מבנה המחשב

Shayke Bilu PhD SCE-Chapter-1-Introduction

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

המחשב מבנה ותכונות

אלגוריתם ותרשימי זרימה

תרגלנו שימוש באלגוריתם מילולי ותרשימי זרימה

בשיעורים הקרובים נבין טוב יותר מה עומד מאחורי

ואת היישומים Cאת שפת ונכיר , הדוגמאות שראינו

.שניתן לפתח באמצעותה

56

SCE-Chapter-1-Introduction Shayke Bilu PhD

?שאלות

57

SCE-Chapter-1-Introduction Shayke Bilu PhD

הוראות תנאי

58

הוראות תנאי

Shayke Bilu PhD SCE-Chapter-1-Introduction

הוא ביטוי המורכב משני ביטויים אריתמטיים ( תנאי)ביטוי לוגי

:אופרטורים המייצגים יחס הם, וביניהם אופרטור יחס

משמעות אופרטור

באגף שמאל הביטוי באגף ימין קטן מהביטוי <

קטן או שווה לביטוי באגף שמאל הביטוי באגף ימין >=

באגף ימין גדול מהביטוי באגף שמאל הביטוי >

הביטוי באגף ימין גדול או שווה לביטוי באגף שמאל <=

הביטוי באגף ימין שווה לביטוי באגף שמאל ==

מהביטוי באגף שמאל שונהבאגף ימין הביטוי =!

59

דוגמאות להוראות תנאי

Shayke Bilu PhD SCE-Chapter-1-Introduction

(110 < 4

(215 == 8

(350 != 20

(?האם ביטוי זה נכון) 20 = 410)

(520 <= 40

(620 >= 20

(7x >= 15

(8x + 3 < y - 2

60

דוגמה להוראת תנאי

Shayke Bilu PhD SCE-Chapter-1-Introduction

י המבנה הבא"ביטוי תנאי מיוצג ע:

ביטוי

תנאי

מה יקרה כאשר

התנאי מתקיים

מה יקרה כאשר התנאי

לא מתקיים

סיום

תהליך

Y N

61

כללים בכתיבת תנאים

Shayke Bilu PhD SCE-Chapter-1-Introduction

לכל תנאי יש כניסה אחת ויציאה אחת.

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

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

חובה לכתוב לפחות פקודה אחת בחלקו הימני של

(.המציין אמת לוגית TRUE-צד ה)התנאי

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

(.המציין שקר לוגי FALSE -ה

62

SCE-Chapter-1-Introduction Shayke Bilu PhD

?שאלות

63

SCE-Chapter-1-Introduction Shayke Bilu PhD

תרגילים

64

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

ציירו תרשימי זרימה עבור הבעיות הבאות:

השתמשו )קלטו מספר והדפיסו אם הוא זוגי או לא 1) (.במודולו

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

.קלטו מספר והדפיסו את ערכו המוחלט3)

קלוט גיל עובד והדפס אם . 67עובד יוצא לפנסיה בגיל 4)אם הוא עדיין עובד הדפיסו כמה . הוא בפנסיה או לא

.שנים נותרו לו עד הפנסיה

65

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

ציירו תרשימי זרימה עבור הבעיות הבאות:

קלטו מספר שיחות טלפון שבוצעו ועלות לשיחה 5)-אם הסכום גדול מ. הדפיסו את הסכום לתשלום. אחת .ובנוסף את הסכום לתשלום" פטפטן"הדפיסו 500

( מובטח שהוא שלם וחיובי)קלטו מספר דו ספרתי 6) .מופיעה בו 6ובדקו האם הספרה

קלטו שני מספרים והדפיסו אם המספר השני הינו 7) .המחלק של המספר הראשון

66

תרגיל דוגמה

Shayke Bilu PhD SCE-Chapter-1-Introduction

קלוט מספר והדפיסו אם הוא דו ספרתי או לא.

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

עבור הדפסת מספר הוראת פלט ידועה.

איזו בדיקה נדרשת?

9-האם מספיקה בדיקה שהמספר גדול מ: רמז?

100-האם מספיקה בדיקה שהמספר קטן מ: רמז?

67

SCE-Chapter-1-Introduction Shayke Bilu PhD

68

?שאלות

SCE-Chapter-1-Introduction Shayke Bilu PhD

קינון תנאים

69

תנאי מקונן

Shayke Bilu PhD SCE-Chapter-1-Introduction

בתוך הוראת התנאי ניתן לשבץ הוראת תנאי נוספת.

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

לכל תנאי עדיין תהיה כניסה אחת ויציאה אחת.

תנאי שנפתח אחרון נסגר ראשון.

אין אפשרות לחבר זרועות של תנאים שונים.

עד שישה 4-מומלץ לא להגיע לרמת קינון של יותר מ

.כדי לשמור על פשטות הפתרון ותחזוקתו, תנאים

70

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

ציירו תרשימי זרימה עבור הבעיות הבאות:

קלטו מספר והדפיסו אם הוא חיובי שלילי או אפס1)

מספרים והדפיסו מי הכי גדול 3קלטו 2)

והדפיסו , קלטו את מספר הפעימות של מונה טלפון לצרכן3) :לפי ההנחיות הבאות, את התשלום שעליו לשלם

לפעימה' אג 20ישלם , פעימות 100עד.

לפעימה' אג 15ישלם , פעימות 100מעל.

מ"יש להוסיף מע, לכל סכום שעליו לשלם.

שקלים 25בנוסף יש לשלם דמי שימוש קבועים בסך.

71

תרגיל לדוגמה

Shayke Bilu PhD SCE-Chapter-1-Introduction

האם קיימת דרך אחרת לענות על התרגיל הקודם?

10-99מספר דו ספרתי הוא מספר בתחום.

100-וגם קטן מ 9-מספר דו ספרתי הוא גם גדול מ.

היינו מעדיפים לנסח משפט שאלה יחיד.

72

SCE-Chapter-1-Introduction Shayke Bilu PhD

ביטויים לוגיים מורכבים

73

ביטוי לוגי מורכב

Shayke Bilu PhD SCE-Chapter-1-Introduction

ביטוי לוגי מורכב הוא ביטוי לוגי פשוט או מספר ביטויים

י אופרטורים לוגיים"לוגיים פשוטים המחוברים ע

רשימת האופרטורים הלוגיים:

פירוט משמעות אופרטור

כדי ( שקר)לא יתקיים מספיק שאחד הביטויים (and) וגם &&

(שקר)שכל הביטוי לא יתקיים

כדי ( ערכו אמת)יתקיים מספיק שאחד הביטויים (or) או ||

(וערכו יהיה אמת)שכל הביטוי יתקיים

הופך מצב מאמת לשקר ולהיפך (not) לא !

74

טבלת אמת –ביטוי לוגי מורכב

Shayke Bilu PhD SCE-Chapter-1-Introduction

שלילה

(not)

או

(or)

וגם

(and)

תנאי

1מספר

תנאי

2מספר

1 0 0 0 0

0 1 0 1 0

0 1 0 0 1

0 1 1 1 1

75

דוגמאות

Shayke Bilu PhD SCE-Chapter-1-Introduction

90אם אלמד למבחן אקבל מעל.

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

100.

אעבור את המבחן, אם אלמד למבחן או אעתיק מיוסף.

אכשל , אם לא אלמד למבחן וגם לא אעתיק מיוסף

.במבחן

אם אלמד למבחן וגם אכין את כל שיעורי הבית או

.במבחן 100אקבל , אעתיק מיוסי

76

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

כתבו את המשפטים הבאים כביטויים לוגיים:

.50-וקטן מ 0-גדול מ Xערכו של המשתנה 1)

.'Z'ואינו ' A'אינו התו letterערכו של המשתנה 2)

חיובי או ערכו של המשתנה Xערכו של המשתנה 3)

Y שלילי.

.5 -ל 1הוא בין Bערכו של המשתנה 4)

ללא שארית או 3-מתחלק ב Xערך המשתנה 5)

.ללא שארית 5-מתחלק ב

77

תרגילים

Shayke Bilu PhD SCE-Chapter-1-Introduction

ציירו תרשימי זרימה עבור הבעיות הבאות: . 65 - 17אדם רשאי להנפיק רישיון נהיגה רק בין הגילאים 1)

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

.אם רשאי או לא רשאי, מתאימה

. המעבר בה היה צר מאד, בטיול שנתי הגיע הכיתה למערה2)

מ "ס 160 -יכולים לעבור במערה רק אנשים שגובהם קטן מ

. מ"ס 65 -והיקפם קטן מ,

כתוב תכנית המקבלת כקלט את הגובה וההיקף של הילד 3)

.ומודיע לו אם יוכל לעבור במנהרה

הדפיסו . קלטו מספר דו ספרתי ובדקו אם כל ספרותיו זוגיות4)

.הודעה מתאימה

78

סיכום

Shayke Bilu PhD SCE-Chapter-1-Introduction

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

תנאיהוראות

קינון תנאים

לוגיים מורכבים ביטויים

בשיעורים הבאים נכיר טוב יותר מה עומד מאחורי

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

.Cי שימוש בתנאים ובקינון תנאים בשפת "ע

79

SCE-Chapter-1-Introduction Shayke Bilu PhD

?שאלות

80