» נושאי לימוד
» נושאי לימוד
יום שישי 19 באפריל 2024
שיעור מס' 7: ביטויים לוגיים
דף ראשי  שיעור מס' 7: ביטויים לוגיים גרסה להדפסה

בשיעור הקודם למדנו על ביטויים מתימטיים, וראינו שלביטוי מתימטי יש ערך שהוא מספר. לדוגמא: (1+2) הוא ביטוי מתימטי, והערך שלו הוא (3). למדנו עוד, שכדי להציג את הערך של ביטוי מתימטי, משתמשים בפקודה חשב.

 

ישנו עוד סוג של ביטויים הידועים בשם ביטויים לוגיים. לביטוי לוגי  יכול להיות רק אחד משני הערכים: "אמת" או "שקר". בשפת לוגו, "שקר" מיוצג על ידי המספר 0, ואילו "אמת" מיוצג על ידי כל מספר שאינו 0. בואו נראה דוגמאות לביטויים לוגיים (ענה על השאלות הבאות "אמת" או "שקר"):

(13 גדול מ- 6)

(2 גדול מ- 0)

(4 גדול מ- 4)

(4 גדול או שווה ל- 4)

(1>2)

(2>1)

(2=2)

(4>(2+2))

 

בוא וננסה זאת בלוגו:

חשב 5>2

חשב 2>5

חשב 0=3

חשב 5+5=10

 

כדי להתקדם להמשך השיעור, נעשה הפסקה קלה, ונלמד מעט על כתיבת תת-שגרות בצורה שקל יותר לקרוא:

 

צורה שקשה לקרוא:

חזור 18 [ חזור 6 [ ימינה 60 קדימה 20 ] קדימה 100 חזור 180 [ ימינה 2 קדימה 1 ] ימינה 20 ]

 

אותו הדבר בצורה שקל יותר לקרוא:

 

חזור 18 [

               חזור 6 [

                               ימינה 60

                               קדימה 20

                               ]

               קדימה 100

               חזור 180 [

                               ימינה 2

                               קדימה 1

                               ]

               ימינה 20

               ]

 

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

 

הפקודה הבאה שנלמד היא מעניינת מאוד. היא מאפשרת לצב שלנו להחליט מה לעשות, על פי ביטוי לוגי שאנחנו קובעים. לדוגמא, אנחנו רוצים שהצב יפנה ימינה 45 מעלות וילך קדימה 30 צעדים אם (4=3), אחרת, הצב צריך לפנות שמאלה 68 מעלות, ללכת אחורה 100 צעדים ואז לפנות 100 מעלות ימינה. איך כותבים את זה בלוגו? מאוד פשוט:

 

אםאחרת (4=3) [ ימינה 45 קדימה 30 ] [ שמאלה 68 אחורה 100 ימינה 100 ]

 

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

 

בואו נסבך זאת קצת, אבל נכתוב בצורה נוחה לקריאה תת-שגרה שמציירת קו זיגזג:

 

כדי זיגזג

פרמטרים [ מרחק ]

קבע א 0

חזור :מרחק [

               קדימה 20

               אםאחרת (:א=0) [

                               קבע א 1

                               שמאלה 20

                               ] [

                               קבע א 0

                               ימינה 20

                               ]

               ]

 

ננסה זאת:

 

הביתה

נקהמסך

זיגזג 10

 

הפקודה כלעוד מקבלת שני פרמטרים, הראשון הוא ביטוי לוגי, והשני הוא רשימת פקודות לבצוע כל-עוד הביטוי הלוגי הוא "אמת". לדוגמא:

כדי שבלול

פרמטרים [ אורך ]

כלעוד (:אורך>0) [

               קדימה :אורך

               ימינה 90

               קבע אורך :אורך-2

               ]

 

ננסה זאת:

 

הביתה

נקהמסך

שבלול 50

 

סיכום השיעור

לביטויים לוגיים יש אחד משני הערכים "אמת", או "שקר".

 

בלוגו, "שקר" שווה ל- 0, ואילו "אמת" שווה לכל מספר השונה מ- 0.

 

פקודת אםאחרת מקבלת שלושה פרמטרים: ביטוי לוגי, רשימת פקודות למקרה שהביטוי הוא "אמת" ורשימת פקודות למקרה שהביטוי הוא "שקר".

פקודת כלעוד מקבלת שני פרמטרים: ביטוי לוגי ורשימת פקודות לבצוע כל עוד הביטוי הוא "אמת". חשוב מאוד לודא שהביטוי הלוגי יגיע בסופו של דבר לערך "שקר", אחרת תווצר לולאה אינסופית שאף פעם לא תפסיק לבצע את רשימת הפקודות שבפרמטר השני.

 03-10-03 / 00:29  עודכן ,  02-10-03 / 23:53  נוצר ע"י אודי הלר  בתאריך 
 שיעור מס' 6: משחקים בגיאומטריה - הקודםהבא - שיעור מס' 8: רקורסיה 
תגובות הקוראים    תגובות  -  0
דרכונט
מהי מערכת הדרכונט?
אינך מחובר, להתחברות:
דוא"ל
ססמא
נושאי לימוד
חיפוש  |  לא פועל
משלנו  |  לא פועל
גולשים מקוונים: 2