תכנות נומרי עם 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
עריכהפקודה לחזרה על הלולאה.
פרק זה לוקה בחסר. אתם מוזמנים לתרום לוויקיספר ולהשלים אותו. ראו פירוט בדף השיחה.
הפרק הקודם: משפטי תנאי |
לולאות תרגילים |
הפרק הבא: פונקציות |