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



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

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

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


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

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


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

>> 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

עריכה

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


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



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


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



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