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