» נושאי לימוד
» נושאי לימוד
יום ראשון 22 בדצמבר 2024
תנאי
דף ראשי  פרק 3 :יסודות שפת פסקל  משפטי תנאי וברירה  תנאי גרסה להדפסה

תנאי

 

 התנאי הבא אחרי המילה if, הוא תנאי חד-משמעי , נכון או לא-נכון.

 

בתנאי קיימים שלושה מרכיבים:

ביטוי מצד שמאל לסימן היחס (ביטוי 1).

ביטוי מצד ימין לסימן היחס (ביטוי 2).

היחס (בין שני הביטויים).

 

תנאי מורכב מ-

(ביטוי 2) סימן יחס (ביטוי 1)

 

ביטויים יכולים להיות משתנים, מספרים, ביטויים אריתמטיים כגון A+B וכו'.

 

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

 

היחס בכתיב מחשב

היחס בכתיב מתמטי

    דוגמא

            <

         < (גדול)

 

A/2 < X+Y

 

              >

         > (קטן)

2<3+1

 

            =<

≤ (גדול או שווה)

4=< X

 

           =>

≥ (קטן או שווה)

A-1=> A

 

          <>

   ≠ (לא שווה)

A<>B

 

          =

    = (שווה)

4=5

 

 

קיימים בסך הכול שש אפשרויות ליחס בין ביטוי-1 לביטוי-2 .

 

היחס =< האומר גדול או שווה.

 

כלומר התנאי מתקיים אם:

 

ביטוי-1 גדול מביטוי-2

או

ביטוי-1 שווה לביטוי-2

 

כלומר יש שתי אפשרויות לקיום התנאי (וביצוע ההוראה אחרי ה-then).

עבור היחס שווה, בדוגמא שבטבלה, התנאי לעולם לא יתקיים (4 לעולם לא יהיה שווה ל-5) ולכן ההוראה אחרי ה-then לא תבוצע לעולם.

בזמן בדיקת היחס בתוכנית, מחושבת תוצאת ביטוי-1 ותוצאת ביטוי-2 (מסובכים ומורכבים ככל שיהיו) ואז נבדק היחס בין המספר שהוא תוצאת החישוב שלביטוי-1 וביטוי-2. אם אמנם היחס נכון, תבוצע ההוראה אחרי ה-then ואם אינו נכון תבוצע ההוראה אחרי ה-else.

 

לא תמיד זקוקים ל-else בהוראת if.

 

כלומר, מה שנדרש מהפקודה הוא:

אם התנאי מתקיים אזי יש לבצע את ההוראה אחרי ה-then,

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

כלומר מבנה ההוראה יהיה

;הוראה then תנאי if  

 

 

נקודה-פסיק היא שמסיימת את ההוראה if.

 

דוגמא:

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

 

פתרון:

 

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

 

 

נציין מספר נקודות הקשורות לבלוקים הפנימיים:

 

1.     בלוק פנימי אינו יכול לחתוך בלוק חיצוני.

כלומר לא יכול להיות המיבנה:

 

                            

 

2. לכל התחלת בלוק פנימי (begin) חייב להיות סיום (end). ניתן להתייחס לבלוקים הפנימיים כסוגריים בפעולות חשבון.

 

רצוי להזיז את ההוראות בבלוק קצת יותר ימינה (כמו בדוגמא) כדי להקל על הזיהוי בפקודות השייכות לבלוק זה. הדבר נועד לנוחות המתכנת.

 

שימו לב, בלוקים פנימיים אינם שמורים להוראות if בלבד, אפשרי גם המבנה הבא:

 

begin

    begin

         begin

              write(' בלוק בתוך בלוק בתוך בלוק');

         end;

    end;

end;

 

 

 

 

 

 

 

 

 

 

בבלוק פנימי אפשר לרשום הוראה אחת למרות שאין צורך בכך.

if A>=B then

begin

  ;('רק הוראה אחת  ')  write     

;end

 

 

 

 

 

 

 

 

ההוראות בתוך הבלוק הפנימי גם הן זוכות לנקודה-פסיק בסופן.

ובכן, מבנה נוסף אפשרי של הוראת if:

then תנאי if  

 begin  

          ;הוראה     

  ·          

·          

·          

;הוראה     

;end  

 

 

 

 

 

 

 

 

 

 

 

כמובן שכאשר כותבים תוכנית, לא כותבים שלוש נקודות.

כותבים את כותרת-התוכנית, תת-התוכנית הרצויה ואת התוכנית הראשית, שתכיל רק הוראה אחת והיא שם תת-התוכנית אותה מפתחים ברגע זה.

 23-03-04 / 23:22  עודכן ,  31-08-03 / 22:12  נוצר ע"י ליזי פרגו'ן  בתאריך 
 משפטי תנאי וברירה - הקודםהבא - בלוקים פנימיים בלולאת if 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 7