תכנות נומרי עם Matlab ו-Octave/אופרטורים: הבדלים בין גרסאות בדף
תוכן שנמחק תוכן שנוסף
העתקה משפת c ותחילת עבודה |
התאמה |
||
שורה 1:
{{Matlab/octave}}
==ערכים בוליאניים==
===אמת ושקר, וייצוגם
ביטוי בוליאני הוא ביטוי שיכול לקבל את הערכים "אמת" ו"שקר". לעתים צריך בתכניות מחשב להכריע האם דבר הוא אמת או שקר, לדוגמה, האם נכון שערכו של המשתנה x הוא 6, או האם שקר הוא שערכו של המשתנה x קטן מערכו של המשתנה y.
===אופרטורים בוליאניים===
<source lang = "
x == 6
</source>
שורה 20:
שים לב להבדל בין האופרטור == לבין פעולת ההשמה =.
*<nowiki>== (להבדיל מ= המשמש להשמה) - האם שני צדי הביטוי שווים</nowiki>
*<nowiki>=
*<nowiki>> - האם הצד הימני של הביטוי גדול מצדו השמאלי</nowiki>
*<nowiki>< - האם הצד הימני של הביטוי קטן מצדו השמאלי</nowiki>
שורה 36:
ביטוי בוליאני יכול להיות מורכב גם מאוסף של ביטויים בוליאניים פשוטים יותר, המחוברים על ידי קשרים לוגיים, למשל: "אם x שווה 5 '''או''' x שווה 6", או: "אם x גדול מ-y '''וגם''' y גדול מ-z", וכדומה.
גימום ([[w:en:conjunction|conjunction]] בלעז), כלומר הקשר הלוגי "וגם", מיוצג על ידי התו & (או שני
<source lang = "
<condition_1> &
</source>
כאשר condition_1 וcondition_2 הם שני תנאים בוליאניים, והגימום הוא אמת אם ורק אם שניהם אמת. לדוגמה:
<source lang = "c">
x == 5
</source>
הוא התנאי שערכו של x הוא 5 וכן ערכו של y הוא 6.
איווי ([[w:en:disjunction|disjunction]] בלעז), כלומר הקשר הלוגי "או", מיוצג על ידי התו | (או שני
<source lang = "
<condition_1>
</source>
כאשר condition_1 וcondition_2 הם שני תנאים בוליאניים, והאיווי הוא אמת אם ורק אם לפחות אחד מהם אמת אמת. לדוגמה:
<source lang = "
x == 5
</source>
הוא התנאי שערכו של x הוא 5 או שערכו של y הוא 6.
שלילה ([[w:en:negation|negation]] בלעז), כלומר הקשר הלוגי "לא", מיוצג על ידי התו !:
<source lang = "
!<condition>
</source>
כאשר condition הוא תנאי בוליאני, והשלילה היא אמת אם ורק אם התנאי הוא שקר. לדוגמה:
<source lang = "c">
</source>
הוא התנאי השולל שערכו של x הוא 5.
שורה 69:
ניתן גם ליצור תנאים המורכבים ממספר גדול יותר של ביטויים וקשרים לוגיים, ולהשתמש בסוגריים ע"מ לקבוע את סדר חישובם. למשל:
<source lang = "
a > b
</source>
.
====הערכת ביטויים לוגיים מורכבים====
בעת הרצת התוכנית מתבצע חישוב של תנאי מורכב משמאל לימין, ובשימוש בקצר לוגי (שיוסבר להלן).
נתבונן בתנאי המורכב:
<source lang = "
x == 5
</source>
מבין שני הביטויים כאן, הביטוי השמאלי, x == 5 הוא זה שיוערך ראשון. כעת יש שתי אפשרויות:
*אם ביטוי זה הוא שקר, עדיין יכול הביטוי המורכב, x == 5
* אם ביטוי זה הוא אמת, אז הביטוי המורכב, x == 5
השפה מבטיחה שני סוגי קצרים לוגיים. בתנאי המורכב
<source lang = "
<left_condition>
</source>
לא יוערך הביטוי right_condition אם left_condition אמת. בתנאי המורכב
<source lang = "
<left_condition> && <right_condition>
</source>
לא יוערך הביטוי right_condition אם left_condition שקר.
<source lang = "
if(x
end
</source>
מבטיחה, על ידי קצר לוגי, שלא תתבצע בטעות חלוקה ב0.
דוגמה נוספת- לולאה שתתבצע עד שהמשתמש יכניס מספר חיובי.
<source lang = "matlab">
x=-1;
while x<=0
x=input('insert number ');
end
</source>
{{Matlab/octave|מוגבל}}
[[קטגוריה:Matlab/octave|קלט ופלט]]
|