תכנות נומרי עם Matlab ו-Octave/לולאות



forעריכה

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

x=5
for i=1:10
x=x+1;
end

הלולאה הזו תבצע 10 פעמים הוספה של 1 ל x ולכן הפלט בסוף יהיה x=15


whileעריכה

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

x=5
while x>0
x=x-1;
end

בלולאה ביקשנו שכל עוד x גדול מ-0 הורד אחד מ x התשובה שתקבל בסוף תהיה 0.


 

כדאי לדעת:

שימו לב לשימוש ב ; בסוף השורה . אם לא היינו סוגרים את השורה בכל מחזור של הלולאה היינו מקבלים את הערך של x.

שימוש לדוגמה בפונקצית while הוא בדיקת נכונות קלט. במקרה והמשתמש בתוכנית הכניס קלט שגוי, התוכנית תעמיד אותו על טעותו.

לדוגמה- תוכנית הקולטת מספר חיובי ושלם:

x=0.5;
while x<0 | mod(x,1)~=0
x=input('insert Non-negative integer number ');
end
 

כדאי לדעת:

שימו לב להגדרת ה - x לפני הלולאה . הגדרת התנאי כך מבטיחה כניסה ללולאה (הוא מספר לא שלם)


 

עכשיו תורכם:

כתבו תוכנית המבקשת מספר שלם בין 1 ל 10 . בדקו נכונות קלט, אם הקלט שגוי התוכנית תבקש שוב.
פתרון
x=0.5;
while x<=0 | x>10 | mod(x,1)~=0
x=input('insert integer number between 1 and 10 ');
end


breakעריכה

זהו ביטוי המשמש ליציאה מהלולאה.

>> c=0;
>> x=25;
>> while x>0
   c=c+4;
    x=c+x;
if c==16
break
end%if
end%while
>> disp(x);
 65
>> disp(c);
 16


 

כדאי לדעת:

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

continueעריכה

זהו ביטוי המשמש להמשיך בלולאה.


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



returnעריכה

פקודה לחזרה על הלולאה.


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



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