You are on page 1of 80

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

‫פרק ‪1‬‬
‫מבוא לתכנות מחשבים ושפת ‪C‬‬

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


‫יועץ ומרצה בכיר למדעי המחשב וטכנולוגית מידע‬
‫מומחה למערכות מידע חינוכיות‪ ,‬אקדמיות ומנהליות‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪1‬‬ ‫‪Shayke Bilu PhD‬‬


‫מטרות הקורס‬
‫‪2‬‬

‫היכרות בסיסית עם מבנה המחשב ויכולותיו‬ ‫‪‬‬


‫הכרת שפת תכנות‪ :‬שפת ‪C‬‬ ‫‪‬‬
‫שימוש בתכנות בשפה עילית לפתרון בעיות‬ ‫‪‬‬
‫חקר תכונות מתקדמות של תכנות‬ ‫‪‬‬
‫הכרה עם ניהול זיכרון‪ ,‬כתובות‪ ,‬קבצים ומבני נתונים נוספים‬ ‫‪‬‬
‫להגיע לשליטה ברמה סבירה של פתרון בעיה באמצעות מציאת‬ ‫‪‬‬
‫פתרון לוגי‪ ,‬שימוש בכלי ניתוח בעיות ומימוש הפתרון באמצעות‬
‫תכנות בשפת ‪C‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תרגולים ותרגילים‬
‫‪3‬‬

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


‫‪ ‬מטרת התרגול היא מימוש מעשי של החומר שנלמד‬
‫בהרצאות‪ ,‬ללא התרגולים ההצלחה בקורס אינה מובטחת‪.‬‬
‫‪ ‬בנוסף‪:‬‬
‫‪ ‬חזרה על עיקרי החומר של ההרצאה‬
‫‪ ‬דוגמאות מעשיות נוספות בתכנות‬
‫‪ ‬פירוט נוסף למה שנלמד בהרצאה‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


4

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

SCE-Chapter-1-Introduction Shayke Bilu PhD


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

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫מהו המחשב?‬
‫‪6‬‬

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


‫פי רצף פקודות נתון וידוע מראש‪.‬‬
‫‪ ‬כדי שהמכונה (המחשב) תעבוד ותבצע פעולות חישוב‬
‫כמחשב היא צריכה לעמוד בשני תנאים‪:‬‬
‫‪ o‬להגיב באופן מוגדר‪-‬היטב וסדור למערכת פקודות מסוימת‪.‬‬

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

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫מהו המחשב?‬
‫‪7‬‬

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


‫‪ .1‬הרכיבים האלקטרוניים המותקנים במכונה נקראים חומרה‬
‫)‪.(hardware‬‬
‫‪ .2‬התוכניות )‪ )programs‬המותקנות במכונה נקראות ‪ -‬תוכנה‬
‫)‪(software‬‬
‫‪ .3‬מערכת הפעלה (‪ )system‬בתפקידה לתאם‪ ,‬לחבר ולקשר בין‬
‫רכיבי החומרה לתוכניות הביצוע‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תכונות המחשב‬
‫‪8‬‬

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


‫קליטת נתונים‬ ‫‪.1‬‬

‫עיבוד נתונים‬ ‫‪.2‬‬

‫פלט תוצאות‬ ‫‪.3‬‬

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


‫עוד הוא פועל‪.‬‬
‫‪ ‬לצורך שמירת נתונים היסטורית יש צורך באמצעי אחסון‬
‫נוספים‪ ,‬בדרך כלל חיצוניים‪.‬‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫התקני קלט‪/‬פלט‬
‫‪9‬‬

‫‪ ‬אמצעי הקלט (‪)input‬‬


‫‪ ‬מקלדת‬
‫‪ ‬עכבר‬
‫‪ ‬סורק‬
‫‪ ‬מסך ‪touch-pad‬‬
‫‪ ‬מיקרופון‬
‫‪ ‬אמצעי פלט (‪)output‬‬
‫‪ ‬מסך‬
‫‪ ‬מדפסת‬
‫‪ ‬אוזניות‪/‬רמקולים‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫יחידת העיבוד המרכזית‬
‫‪10‬‬

‫יחידת העיבוד המרכזית‪CPU -‬‬


‫‪Central Processing Unit - CPU‬‬
‫היחידה מורכבת משלוש יחידות עיקריות‪:‬‬
‫יחידה אריתמטית לוגית המבצעת את החישובים במעבד‬ ‫‪.1‬‬

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


‫החישוב – יחידת הזיכרון המרכזי‬
‫יחידת הבקרה מפקחת על ביצוע הפקודות והעברת המידע‬ ‫‪.3‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


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

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

CONTROL UNIT ‫יחידה אריתמטית לוגית‬


‫יחידת בקרה‬ Arithmetic-logic unit
‫צובר‬

‫פלט‬ ‫קלט‬
OUTPUT INPUT
SCE-Chapter-1-Introduction Shayke Bilu PhD
‫ניהול עיבוד הנתונים‬
‫‪12‬‬

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


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

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תפקיד מערכת ההפעלה‬
‫‪13‬‬

‫‪ ‬מאפשרת להריץ אפליקציות‬


‫‪ ‬מבטיחה נכונות המידע‬
‫‪ ‬שומרת על גבולות זיכרון‬
‫‪ ‬מתפעלת סדר עדיפויות‬
‫‪ ‬שומרת על מצב יציב‬
‫‪ ‬מספקת למשתמש נוחות וגישה להפעלת יישומים‬
‫‪ ‬מאפשרת הסתרת פרטים‬
‫‪ ‬מאפשרת תיאום בין יישומים‪ ,‬תוכנה חומרה וציוד קלט פלט‬
‫‪ ‬מיצרת קריאות מערכת‪-‬הפעלה למערכת קבצים‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫מהי מערכת הפעלה?‬
‫‪14‬‬

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


‫שונות המשולבות יחד‪.‬‬
‫‪ ‬התוכנה בעלת שני עקרונות בסיסיים‪:‬‬
‫‪ .1‬משמשת כמישק בין המשתמש והחומרה‪ ,‬ע”י הדמיה‬
‫של מכונה וירטואלית למשתמש‪.‬‬
‫‪ .2‬מאפשרת ניהול יעיל של כלל משאבי המחשב‬
‫שברשות המשתמש‪ ,‬פנימיים וחיצונים גם יחד‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


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

SCE-Chapter-1-Introduction Shayke Bilu PhD


16

?‫שאלות‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


17

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


‫התכנות‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


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

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


‫אותיות קטנות‬ ‫הספרות ‪9...0‬‬ ‫מקש הרווח – ‪Blank‬‬
‫באנגלית‪:‬‬ ‫‪space‬‬
‫‪a..z‬‬

‫אותיות גדולות‬ ‫מקש ה‪tab -‬‬


‫באנגלית‪:‬‬ ‫הרוחבי והאנכי‬
‫‪A…Z‬‬
‫מקש ה‪New line-‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


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

‫מקש‬ ‫שם‬ ‫מקש‬ ‫שם‬


‫&‬ ‫סימן הוגם‬ ‫‪.‬‬ ‫נקודה‬
‫|‬ ‫קו אנכי‬ ‫‪,‬‬ ‫פסיק‬
‫^‬ ‫גג‬ ‫;‬ ‫נקודה ופסיק‬
‫*‬ ‫כוכבית‬ ‫‪:‬‬ ‫נקודתיים‬
‫‪-‬‬ ‫מינוס‬ ‫'‬ ‫גרש‬
‫‪+‬‬ ‫פלוס‬ ‫"‬ ‫גרשיים‬
‫‪%‬‬ ‫אחוזים‬ ‫‪#‬‬ ‫סולמית‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


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

‫מקש‬ ‫שם‬ ‫מקש‬ ‫שם‬


‫()‬ ‫סוגריים עגולים‬ ‫>‬ ‫קטן‬
‫[]‬ ‫סוגריים מרובעים‬ ‫<‬ ‫גדול‬
‫{}‬ ‫סוגריים מסולסלים‬ ‫‪/‬‬ ‫קו נטוי (חילוק)‬
‫=‬ ‫שווה‬ ‫\‬ ‫קו נטוי הפוך‬
‫@‬ ‫כרוכית‬ ‫‪$‬‬ ‫דולר‬
‫_‬ ‫קן תחתון‬ ‫?‬ ‫סימן שאלה‬
‫~‬ ‫גל‬ ‫!‬ ‫סימן קריאה‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫שימוש במקשים בתכנות בשפת ‪C‬‬
‫‪21‬‬

‫מקש‬ ‫הסבר‬
‫()‬ ‫מיועדים לסימון קטעים של ערכי ונתוני פונקציות‬
‫[]‬ ‫מיועדים לסימון תחום הגדרת מערכים‬
‫{}‬ ‫מיועד לסימון התחלת וסוף מקטע של פקודות‬
‫‪:‬‬ ‫מיועד לשימוש לכותרות‬
‫‪#‬‬ ‫מיועדת לסמן את פקודות הקדם מעבד‬
‫‪,‬‬ ‫מיועדת להפריד בין משתנים‬
‫;‬ ‫מיועדים לסמן סוף פקודת ביצוע‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫מילים שמורות בשפת ‪C‬‬
‫‪22‬‬

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


‫‪auto‬‬ ‫‪ double‬משתנה מקומי‬ ‫טיפס משתנה ממשי‬
‫‪break‬‬ ‫‪ else‬מפסיק פעולה‬ ‫אחרת בבדיקת תנאי‬
‫‪case‬‬ ‫‪ enum‬בורר בקרת זרימה‬ ‫טיפוס בעל רשימת ערכים‬
‫קבועים‬
‫‪char‬‬ ‫‪ extern‬מגדיר משתנה תווי‬ ‫משתנה מוגדר במקום אחר‬
‫‪const‬‬ ‫‪ float‬מגדיר קבוע‬ ‫מגדיר משתנה ממשי‬
‫‪continue‬‬ ‫‪ for‬קופץ לסיבוב הבא‬ ‫פקודת לולאת בעבור‬
‫‪default‬‬ ‫‪ goto‬ברירת מחדל בבורר‬ ‫מכוון לכתובת בתוכנית‬
‫‪do‬‬ ‫‪ if‬פקודת לולאת עשה‬ ‫פקודת תנאי‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫מילים שמורות בשפת ‪C‬‬
‫‪23‬‬

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


‫‪int‬‬ ‫‪ struct‬משתנה שלם‬ ‫מבנה נתונים‬
‫‪long‬‬ ‫‪ switch‬משתנה ארוך‬ ‫בורר בבקרת זרימה‬
‫‪register‬‬ ‫‪ typedef‬אוגר‬ ‫הגדרת אופי המשתנה‬
‫‪return‬‬ ‫‪ union‬פקודת חזרה‬ ‫מבנה אחוד של‬
‫משתנים‬
‫‪short‬‬ ‫‪ unsigned‬משתנה קצר‬ ‫ללא סימן‬
‫‪signed‬‬ ‫‪ void‬סימן‬ ‫טיפוס ריק‬
‫‪sizeof‬‬ ‫‪ volatile‬גודל מקסימלי בבתים‬ ‫משתנה נדיף‬
‫‪static‬‬ ‫‪ while‬ערך קבוע ברקורסיה‬ ‫לולאת עד שה‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
24

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

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫מהו אלגוריתם?‬
‫‪25‬‬

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


‫משמעיות לביצוע‪ .‬עבור כל קלט חוקי יתקבל פלט רצוי‪.‬‬
‫‪ ‬לכל הליך אלגוריתמי צריך שיהיה קלט ו‪/‬או פלט‪ ,‬אחרת‬
‫הוא חסר משמעות ומיותר‪.‬‬
‫‪ ‬מתאר בדרך מילולית את הנתונים הבאים‪:‬‬
‫‪ ‬המצב ההתחלתי לפני ביצוע המשימה‬
‫‪ ‬רשימת הצעדים הדרושים לפתרון הבעיה‬
‫‪ ‬המצב הסופי לאחר ביצוע המשימה‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫דוגמה לאלגוריתם‬
26

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫תכונות האלגוריתם‬
‫‪27‬‬

‫מורכב מהוראות הידועות ומובנות למבצע המשימה‬ ‫‪‬‬


‫הוא כולל פעולות ביצוע ברמה הבסיסית‬ ‫‪‬‬
‫מכיל הוראות חד משמעיות וחד ערכיות‬ ‫‪‬‬
‫כולל סדר ביצוע של הוראות המוגדר מראש‬ ‫‪‬‬
‫כולל הוראות ישימות לכל סוג של קלט‬ ‫‪‬‬
‫מכיל מספר הוראות סופי‪ ,‬לכל קלט‬ ‫‪‬‬
‫בעל מסגרת פעילות קבועה וסדורה‪:‬‬ ‫‪‬‬
‫‪ ‬התחלה‬
‫‪ ‬ביצוע‬
‫‪ ‬סיום‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫דוגמאות לאלגוריתמים‬
‫‪28‬‬

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


‫‪ ‬חישוב מס הכנסה (מדרגות מס‪ ,‬מענקים‪ ,‬תנאים וכו')‬
‫‪ ‬חישוב מתמטי מורכב (ע"י נוסחה או כל אמצעי אחר)‬
‫‪ ‬הוראות הגעה מנקודת מקור לנקודת יעד (ניווט)‬
‫‪ ‬הנחיות הפעלה של ציוד מורכב (מטוס‪ ,‬חללית‪ ,‬כטב"מ)‬
‫‪ ‬תכנות פעולת רובוט‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫פעולות בסיסיות באלגוריתם‬
‫‪29‬‬

‫‪ ‬קלט‬
‫‪ ‬פלט‬
‫‪ ‬השמה‬
‫‪ ‬העברה‬
‫‪ ‬מחיקה‬
‫‪ ‬פעולות חשבון בסיסיות‬
‫‪ ‬פעולות השוואה‬
‫‪ ‬פעולות לוגיות‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫פעולת הקלט‬
‫‪30‬‬

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


‫המחשב‪.‬‬
‫‪ ‬תא בזיכרון יכול לקבל שם שמזוהה חד ערכית‪.‬‬
‫‪ ‬כל פניה לתא תעשה באמצעות שמו וכתובתו‪.‬‬
‫‪ ‬כתיבה של ערך לתא דורסת‪ ,‬מוחקת ומבטלת את הערך‬
‫הקודם שלו‪.‬‬
‫‪ ‬כיוון שערכו של תא יכול להשתנות‪ ,‬הוא נקרא משתנה‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫פעולות נוספות‬
‫‪31‬‬

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


‫מראש למסך או לאמצעי פלט אחר‪.‬‬
‫‪ ‬השמה ‪ -‬הצבת ערך לתוך משתנה שהוגדר מראש‪.‬‬
‫‪num = 5‬‬ ‫‪ ‬תסומן ע"י הסימן = לדוגמה‬
‫‪ ‬תבוצע תמיד מימין לשמאל‪ ,‬כלומר הערך מימין (‪ )5‬נכנס לתא‬
‫המצוין משמאל (‪)num‬‬
‫‪ ‬העברה ‪ -‬העברת ערכו של משתנה למשתנה אחר‪.‬‬
‫‪ ‬מחיקה ‪ -‬מחיקת התוכן של תא בזיכרון‪.‬‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫פעולות נוספות ‪ -‬מתמטיות‬
‫‪32‬‬

‫‪ ‬פעולות חשבון בסיסיות‪:‬‬


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

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

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


‫את שארית החלוקה כמספר שלם‪.‬‬
‫‪ ‬ביטוי אריתמטי הוא ביטוי המורכב ממספרים שלמים או‬
‫ממשיים ואופרטורים ותוצאתו ערך מספרי שלם או ממשי‪.‬‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫פעולת חילוק שלם (‪)/‬‬
‫‪33‬‬

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


‫‪ ‬הפעולה תחשב את תוצאת השלם בחלוקת שני המספרים שלמים‪.‬‬
‫‪ ‬דוגמאות שימוש‪:‬‬
‫‪ ‬עבור החלוקה ‪ 19/2‬התוצאה היא ‪ ,9.5‬אבל בחילוק מספרים‬
‫שלמים‪ ,‬תוצאת השלם היא ‪( 9‬הסבר מפורט יינתן בהמשך)‪.‬‬
‫‪ ‬עבור החלוקה ‪ 6/4‬התוצאה היא ‪ ,1.5‬אבל בחילוק מספרים‬
‫שלמים התוצאה היא ‪( 1‬הסבר מפורט יינתן בהמשך)‪.‬‬
‫‪ ‬עבור החלוקה ‪ 89/10‬התוצאה היא ‪ ,8.9‬אבל בחילוק מספרים‬
‫שלמים התוצאה היא ‪( 8‬הסבר מפורט יינתן בהמשך)‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫פעולת המודולו (‪)%‬‬
‫‪34‬‬

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


‫השארית במנה של החילוק‪ ,‬כאשר תוצאת פעולה המודולו היא‬
‫תמיד מספר שלם !!!‬
‫לדוגמה עבור חלוקת ‪ 17‬ב‪ 2 -‬נקבל‪ 8 = 17/2 :‬שלמים‬ ‫‪‬‬
‫‪ ‬אולם בביצוע עם מודולו נקבל ‪ = 17%2‬שארית ‪1‬‬
‫לדוגמה עבור החלוקה ‪ 6‬ב‪ 2 -‬נקבל‪ 3 = 6/2 :‬שלמים‬ ‫‪‬‬
‫‪ ‬אולם בביצוע עם מודולו נקבל ‪ = 6%2‬שארית ‪0‬‬
‫לדוגמה עבור החלוקה ‪ 79‬ב‪ 10 -‬נקבל‪ 7 = 79/10 :‬שלמים‬ ‫‪‬‬
‫‪ ‬אולם בביצוע עם מודולו נקבל ‪ = 79%10‬שארית ‪9‬‬
‫שימו לב מה שונה‪ ,‬מיוחד או שימושי בדוגמא האחרונה?‬ ‫‪‬‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
35

‫תרגילים‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫תרגילים‬
36

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


x=1/x x=x+1
x=x/2 x=a–b
x=8 x=x+y%2/4
a =x%3 y=x / 2
x=b–a * y b=a/4

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫תרגילים‬
37

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


x=3 (1

y=2 (x - 1) (2

x=y / 2 * x (3

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

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫מהו תרשים זרימה?‬
‫‪38‬‬

‫‪ ‬תרשים זרימה הוא תיאור גראפי של אלגוריתם בעזרת‬


‫צורות גרפיות ידועות‪ ,‬ברורות ומוסכמות מראש‬
‫משמעות‬ ‫תרשים‬
‫התחלה וסוף של תרשים‬

‫קלט ‪ /‬פלט‬

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


‫לא‬ ‫כן‬
‫הוראת תנאי‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫תכונות תרשים זרימה‬
‫‪39‬‬

‫‪ ‬תרשים זרימה תמיד יזרום‪ ,‬מלמעלה למטה‬


‫‪ ‬לכל הפקודות בתרשים הזרימה יכנס חץ מלמעלה ויצא‬
‫חץ מלמטה (למעט התחלה‪/‬סיום)‬
‫‪ ‬לכל תרשים זרימה חייבת להיות פקודת התחלה אחת‬
‫ופקודת יציאה אחת בלבד !!!‬
‫התחלה‬
‫הדפס‬
‫בצע השמה‬
‫תוצאה‬
‫בצע חישוב‬
‫קלוט‬
‫)‪If(condition‬‬
‫נתונים‬
‫סוף‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫התחלה‪/‬סוף תרשים‬
‫‪40‬‬

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


‫‪ ‬בתוך הסימן יופיע מלל המציין האם זהו סוף‪/‬התחלה‬
‫התחלה‪/‬סיום‬ ‫)‪.(start/end‬‬
‫‪ ‬לכל אלגוריתם נקודת התחלה ונקודת סיום אחת‪.‬‬
‫‪ ‬ניתן להשתמש בסימן דומה לסימון סיום דף ומעבר לדף‬
‫הבא‪ ,‬בא לידי שימוש בתרשימים ארוכים במיוחד‪.‬‬
‫‪ ‬בסוף הדף ובתחילת הדף הבא יופיע אותו סימן מזהה‪.‬‬
‫‪A‬‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫פקודות קלט‪/‬פלט‬
‫‪41‬‬

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


‫‪ ‬בתוך המקבילית יש לציין‪:‬‬
‫קלט‪/‬פלט‬
‫‪ ‬מילה מזהה בהתאם לפעולה הנדרשת (קלט‪/‬פלט)‬
‫‪ ‬את שמות המשתנים בשימוש (ריבוי משתנים מחייב הפרדה ע"י פסיק)‬
‫‪ ‬בד"כ לפני כל פקודת קלט תהיה פקודת פלט להורות‬
‫למשתמש אילו נתונים נדרשים ממנו‪.‬‬
‫‪ ‬לדוגמה ניתן להדפיס פלט המשולב ממחרוזת וביטוי משתנה‪.‬‬
‫פלט‬ ‫קלט‬ ‫פלט‪:‬‬
‫‪“age is: “, age‬‬ ‫‪age‬‬ ‫"הקלד גיל משתמש"‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫פקודת השמה ‪ /‬הצבה‬
‫‪42‬‬

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


‫ביטוי = משתנה‬ ‫‪ ‬מיוצגת ע"י מלבן‪:‬‬
‫‪ ‬בצד ימין ייכתב הביטוי אותו רוצים להכניס למשתנה‪,‬‬
‫כל ביטוי (אופרנד) שמופיע בצד ימין חייב שיהיה בעל‬
‫ערך כדי שיועבר לצד שמאל‪.‬‬
‫‪ ‬בצד שמאל יצוין שם המשתנה אליו יועבר הערך מימין‪.‬‬
‫‪ ‬תהליך העבודה הוא קודם כל חישוב הערך מימין ורק‬
‫אח"כ השמתו לתוך המשתנה שמשמאל‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


43

?‫שאלות‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


44

‫דוגמאות‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫דוגמאות‬
‫‪45‬‬

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


‫התחלה‬

‫‪H=2*PI*R‬‬ ‫טעות‬

‫‪R‬‬
‫‪H‬‬
‫לא‬ ‫כן‬
‫‪R<=0‬‬
‫סוף‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫דוגמאות‬
‫‪46‬‬

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


‫התחלה‬

‫‪S=A*A‬‬

‫‪A‬‬ ‫טעות‬
‫‪S‬‬

‫לא‬ ‫כן‬
‫סוף‬ ‫‪A<=0‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫דוגמאות‬
‫‪47‬‬

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


‫התחלה‬
‫כן‬ ‫לא‬
‫‪mis1>mis2‬‬

‫‪mis1 ,mis2‬‬
‫טעות‬
‫‪mis1‬‬ ‫‪mis2‬‬

‫כן‬ ‫לא‬
‫‪mis1==mis2‬‬
‫סוף‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
48

‫תרגילים‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫תרגילים‬
‫‪49‬‬

‫‪ ‬רשמו תרשימי זרימה עבור הבעיות הבאות‪:‬‬


‫קלטו שני מספרים והדפיסו אותם‪.‬‬ ‫‪(1‬‬

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


‫ולהפך‪ ,‬והדפיסו שוב ‪ ,‬שתי הוראות ההדפסה זהות‬
‫לחלוטין‪.‬‬
‫כנ"ל אך בלי שימוש במשתנה עזר‪ ,‬רמז‪ :‬ניתן ומומלץ‬ ‫‪(2‬‬
‫להיעזר בחוקי המתמטיקה‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫פתרון לדוגמה – תרגיל ‪1‬‬
‫‪50‬‬

‫התחלה‬
‫‪ ‬סימן התחלת התרשים‬
‫;‪mis1=3‬‬ ‫‪mis2 =5‬‬
‫‪ ‬קלט שני ערכים לשני משתנים‬
‫;‪mis1‬‬ ‫;‪mis2‬‬ ‫‪ ‬הדפסת ערכי שני המשתנים כפי‬
‫שנקלטו‬
‫;‪ezer = mis1‬‬
‫;‪mis1 = mis2‬‬ ‫‪ ‬החלפת הערכים בין שני המשתנים‬
‫;‪mis2 = ezer‬‬

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


‫;‪mis1‬‬ ‫;‪mis2‬‬
‫ההחלפה‬
‫סוף‬ ‫‪ ‬סימן סיום התרשים‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫תרגילים‬
‫‪51‬‬

‫‪ ‬רשמו תרשימי זרימה עבור הבעיות הבאות‪:‬‬


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

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


‫צלעותיו ‪ 5‬ו‪.10-‬‬
‫קלטו עבור עובד את מספר השעות שלו בחודש ואת השכר‬ ‫‪(5‬‬
‫לשעה ‪ .‬הדפיסו את הנתונים שקלטתם בצירוף הודעות‬
‫מתאימות‪ ,‬וכן את שכרו החודשי‪.‬‬
‫קלטו מרחק כקילומטרים והדפיסו אותו במטרים‪.‬‬ ‫‪(6‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫פתרון לדוגמה – תרגיל ‪3‬‬
‫‪52‬‬

‫התחלה‬
‫‪ ‬סימן התחלת התרשים‬
‫;‪mis1=3; mis2 =5‬‬
‫‪ ‬קלט ארבעה ערכים לארבעה‬
‫;‪mis3=6; mis4=7‬‬ ‫משתנים שונים‬
‫‪ ‬ביצוע חישוב ממוצע‬
‫;‪avg = (mis1+mis2+mis3+mis4)/4‬‬

‫‪ ‬הדפסת הממוצע‬
‫‪avg‬‬
‫‪ ‬סימן סיום התרשים‬
‫סוף‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תרגילים‬
‫‪53‬‬

‫‪ ‬צייר תרשים זרימה עבור הבעיות הבאות‪:‬‬


‫צייר תרשים זרימה לתוכנית הקולטת מספר כלשהו בעל שתי‬ ‫‪(7‬‬
‫ספרות‪ ,‬על התוכנית להדפיס את ספרת האחדות‪.‬‬
‫צייר תרשים זרימה לתוכנית הקולטת מספר תלת‪-‬ספרתי‪ ,‬על‬ ‫‪(8‬‬
‫התוכנית להדפיס את ספרת המאות‪.‬‬
‫צייר תרשים זרימה לתוכנית המדפיסה את ‪ x‬במשוואה‪:‬‬ ‫‪(9‬‬

‫‪ax + b = 0‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫פתרון לדוגמה – תרגיל ‪7‬‬
‫‪54‬‬

‫התחלה‬
‫‪ ‬סימן התחלת התרשים‬
‫‪ ‬קלט מספר דו ספרתי למשתנה‬
‫;‪mis1=83‬‬

‫;‪hachadot =mis1%10‬‬ ‫‪ ‬ביצוע חישוב הפרדת ספרת האחדות‬


‫מהמספר‬
‫‪ ‬הדפסת ספרת האחדות‬
‫‪hachadot‬‬
‫‪ ‬סימן סיום התרשים‬
‫סוף‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תרגילים‬
‫‪55‬‬

‫‪ ‬צייר תרשים זרימה עבור הבעיות הבאות‪:‬‬


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

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


‫ומספר המושבים במונית‪ ,‬ותמצא את מספר המוניות שניתן‬
‫למלא במלואן ‪ ,‬ומספר הנוסעים שיוותרו בתחנה‪(.‬הנח כי לכל‬
‫המוניות בתחנה מספר מושבים זהה)‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫מבנה המחשב ‪ -‬סיכום ביניים‬
‫‪56‬‬

‫דיברנו היום על‪:‬‬


‫‪ ‬המחשב מבנה ותכונות‬
‫‪ ‬אלגוריתם ותרשימי זרימה‬
‫‪ ‬תרגלנו שימוש באלגוריתם מילולי ותרשימי זרימה‬
‫‪ ‬בשיעורים הקרובים נבין טוב יותר מה עומד מאחורי‬
‫הדוגמאות שראינו‪ ,‬ונכיר את שפת ‪ C‬ואת היישומים‬
‫שניתן לפתח באמצעותה‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


57

?‫שאלות‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


58

‫הוראות תנאי‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫הוראות תנאי‬
‫‪59‬‬

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


‫וביניהם אופרטור יחס‪ ,‬אופרטורים המייצגים יחס הם‪:‬‬
‫משמעות‬ ‫אופרטור‬
‫הביטוי באגף ימין קטן מהביטוי באגף שמאל‬ ‫>‬
‫הביטוי באגף ימין קטן או שווה לביטוי באגף שמאל‬ ‫=<‬
‫הביטוי באגף ימין גדול מהביטוי באגף שמאל‬ ‫<‬
‫הביטוי באגף ימין גדול או שווה לביטוי באגף שמאל‬ ‫=>‬
‫הביטוי באגף ימין שווה לביטוי באגף שמאל‬ ‫==‬
‫הביטוי באגף ימין שונה מהביטוי באגף שמאל‬ ‫=!‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫דוגמאות להוראות תנאי‬
60

10 < 4 (1

15 == 8 (2

50 != 20 (3

)?‫ (האם ביטוי זה נכון‬10 = 20 (4

20 <= 40 (5

20 >= 20 (6

x >= 15 (7

x + 3 < y - 2 (8
SCE-Chapter-1-Introduction Shayke Bilu PhD
‫דוגמה להוראת תנאי‬
‫‪61‬‬

‫‪ ‬ביטוי תנאי מיוצג ע"י המבנה הבא‪:‬‬


‫‪N‬‬ ‫‪Y‬‬
‫ביטוי‬
‫תנאי‬

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


‫לא מתקיים‬ ‫התנאי מתקיים‬

‫סיום‬
‫תהליך‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫כללים בכתיבת תנאים‬
‫‪62‬‬

‫‪ ‬לכל תנאי יש כניסה אחת ויציאה אחת‪.‬‬


‫‪ ‬חלקו הימני של התנאי יבוצע אם התנאי יתקיים‪.‬‬
‫‪ ‬חלקו השמאלי של התנאי יבוצע אם התנאי לא יתקיים‪.‬‬
‫‪ ‬חובה לכתוב לפחות פקודה אחת בחלקו הימני של‬
‫התנאי (צד ה‪ TRUE-‬המציין אמת לוגית)‪.‬‬
‫‪ ‬אין חובה לכתוב פקודות בצד השמאלי של התנאי (צד‬
‫ה‪ FALSE -‬המציין שקר לוגי)‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


63

?‫שאלות‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


64

‫תרגילים‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫תרגילים‬
‫‪65‬‬

‫‪ ‬ציירו תרשימי זרימה עבור הבעיות הבאות‪:‬‬


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

‫קלטו מספר והדפיסו את ערכו המוחלט‪.‬‬ ‫‪(3‬‬

‫עובד יוצא לפנסיה בגיל ‪ .67‬קלוט גיל עובד והדפס אם‬ ‫‪(4‬‬
‫הוא בפנסיה או לא‪ .‬אם הוא עדיין עובד הדפיסו כמה‬
‫שנים נותרו לו עד הפנסיה‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תרגילים‬
‫‪66‬‬

‫‪ ‬ציירו תרשימי זרימה עבור הבעיות הבאות‪:‬‬


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

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תרגיל דוגמה‬
‫‪67‬‬

‫‪ ‬קלוט מספר והדפיסו אם הוא דו ספרתי או לא‪.‬‬


‫‪ ‬עבור קליטת המספרים ‪ ‬הוראת קלט ידועה‪.‬‬
‫‪ ‬עבור הדפסת מספר ‪ ‬הוראת פלט ידועה‪.‬‬
‫‪ ‬איזו בדיקה נדרשת?‬
‫‪ ‬רמז‪ :‬האם מספיקה בדיקה שהמספר גדול מ‪?9-‬‬
‫‪ ‬רמז‪ :‬האם מספיקה בדיקה שהמספר קטן מ‪?100-‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


68

?‫שאלות‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


69

‫קינון תנאים‬

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫תנאי מקונן‬
‫‪70‬‬

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


‫‪ ‬מאפשר לחבר בדיקות תנאים מורכבות יותר‪.‬‬
‫‪ ‬לכל תנאי עדיין תהיה כניסה אחת ויציאה אחת‪.‬‬
‫‪ ‬תנאי שנפתח אחרון נסגר ראשון‪.‬‬
‫‪ ‬אין אפשרות לחבר זרועות של תנאים שונים‪.‬‬
‫‪ ‬מומלץ לא להגיע לרמת קינון של יותר מ‪ 4-‬עד שישה‬
‫תנאים‪ ,‬כדי לשמור על פשטות הפתרון ותחזוקתו‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תרגילים‬
‫‪71‬‬

‫‪ ‬ציירו תרשימי זרימה עבור הבעיות הבאות‪:‬‬


‫‪ (1‬קלטו מספר והדפיסו אם הוא חיובי שלילי או אפס‬
‫‪ (2‬קלטו ‪ 3‬מספרים והדפיסו מי הכי גדול‬
‫‪ (3‬קלטו את מספר הפעימות של מונה טלפון לצרכן‪ ,‬והדפיסו‬
‫את התשלום שעליו לשלם‪ ,‬לפי ההנחיות הבאות‪:‬‬
‫‪‬עד ‪ 100‬פעימות‪ ,‬ישלם ‪ 20‬אג' לפעימה‪.‬‬
‫‪‬מעל ‪ 100‬פעימות‪ ,‬ישלם ‪ 15‬אג' לפעימה‪.‬‬
‫‪‬לכל סכום שעליו לשלם‪ ,‬יש להוסיף מע"מ‪.‬‬
‫‪‬בנוסף יש לשלם דמי שימוש קבועים בסך ‪ 25‬שקלים‪.‬‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫תרגיל לדוגמה‬
‫‪72‬‬

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


‫‪ ‬מספר דו ספרתי הוא מספר בתחום ‪.10-99‬‬
‫‪ ‬מספר דו ספרתי הוא גם גדול מ‪ 9-‬וגם קטן מ‪.100-‬‬
‫‪ ‬היינו מעדיפים לנסח משפט שאלה יחיד‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


73

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

SCE-Chapter-1-Introduction Shayke Bilu PhD


‫ביטוי לוגי מורכב‬
‫‪74‬‬

‫‪ ‬ביטוי לוגי מורכב הוא ביטוי לוגי פשוט או מספר ביטויים‬


‫לוגיים פשוטים המחוברים ע"י אופרטורים לוגיים‬
‫‪ ‬רשימת האופרטורים הלוגיים‪:‬‬
‫פירוט‬ ‫משמעות‬ ‫אופרטור‬

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


‫שכל הביטוי לא יתקיים (שקר)‬
‫מספיק שאחד הביטויים יתקיים (ערכו אמת) כדי‬ ‫או )‪(or‬‬ ‫||‬
‫שכל הביטוי יתקיים (וערכו יהיה אמת)‬
‫לא )‪ (not‬הופך מצב מאמת לשקר ולהיפך‬ ‫!‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫ביטוי לוגי מורכב – טבלת אמת‬
‫‪75‬‬

‫תנאי‬ ‫תנאי‬ ‫וגם‬ ‫או‬ ‫שלילה‬


‫מספר ‪2‬‬ ‫מספר ‪1‬‬ ‫)‪(and‬‬ ‫)‪(or‬‬ ‫)‪(not‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬


‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫דוגמאות‬
‫‪76‬‬

‫‪ ‬אם אלמד למבחן אקבל מעל ‪.90‬‬


‫‪ ‬אם אלמד למבחן וגם אכין את כל שיעורי הבית אקבל‬
‫‪.100‬‬
‫‪ ‬אם אלמד למבחן או אעתיק מיוסף‪ ,‬אעבור את המבחן‪.‬‬
‫‪ ‬אם לא אלמד למבחן וגם לא אעתיק מיוסף‪ ,‬אכשל‬
‫במבחן‪.‬‬
‫‪ ‬אם אלמד למבחן וגם אכין את כל שיעורי הבית או‬
‫אעתיק מיוסי‪ ,‬אקבל ‪ 100‬במבחן‪.‬‬

‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬


‫תרגילים‬
‫‪77‬‬

‫‪ ‬כתבו את המשפטים הבאים כביטויים לוגיים‪:‬‬


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

‫ערכו של המשתנה ‪ letter‬אינו התו '‪ 'A‬ואינו '‪.'Z‬‬ ‫‪(2‬‬

‫ערכו של המשתנה ‪ X‬חיובי או ערכו של המשתנה‬ ‫‪(3‬‬


‫‪ Y‬שלילי‪.‬‬
‫ערכו של המשתנה ‪ B‬הוא בין ‪ 1‬ל‪.5 -‬‬ ‫‪(4‬‬

‫ערך המשתנה ‪ X‬מתחלק ב‪ 3-‬ללא שארית או‬ ‫‪(5‬‬


‫מתחלק ב‪ 5-‬ללא שארית‪.‬‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫תרגילים‬
‫‪78‬‬

‫‪ ‬ציירו תרשימי זרימה עבור הבעיות הבאות‪:‬‬


‫אדם רשאי להנפיק רישיון נהיגה רק בין הגילאים ‪.65 - 17‬‬ ‫‪(1‬‬
‫כתוב תכנית הקולטת גילו של אדם ומדפיסה הודעה‬
‫מתאימה‪ ,‬אם רשאי או לא רשאי‪.‬‬
‫בטיול שנתי הגיע הכיתה למערה‪ ,‬המעבר בה היה צר מאד‪.‬‬ ‫‪(2‬‬
‫יכולים לעבור במערה רק אנשים שגובהם קטן מ‪ 160 -‬ס"מ‬
‫‪ ,‬והיקפם קטן מ‪ 65 -‬ס"מ‪.‬‬
‫כתוב תכנית המקבלת כקלט את הגובה וההיקף של הילד‬ ‫‪(3‬‬
‫ומודיע לו אם יוכל לעבור במנהרה‪.‬‬
‫קלטו מספר דו ספרתי ובדקו אם כל ספרותיו זוגיות‪ .‬הדפיסו‬ ‫‪(4‬‬
‫הודעה מתאימה‪.‬‬
‫‪SCE-Chapter-1-Introduction‬‬ ‫‪Shayke Bilu PhD‬‬
‫סיכום‬
‫‪79‬‬

‫דיברנו היום על‪:‬‬


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

?‫שאלות‬

SCE-Chapter-1-Introduction Shayke Bilu PhD

You might also like