You are on page 1of 44

‫‪3.

1/40‬‬

‫בהרצאה זו נסקור‪:‬‬

‫‪ ‬מבוא ללולאות‪.‬‬
‫‪ ‬לולאת ה ‪For‬‬
‫‪ ‬לולאת ה ‪While‬‬
‫‪ ‬יציאה מלולאות ע"י ‪Break‬‬
‫‪ ‬סיכום‪.‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.2/40‬‬

‫■מבוא ללולאות‪.‬‬
‫■ לולאת ה ‪For‬‬
‫■ לולאת ה ‪While‬‬
‫■ יציאה מלולאות ע"י ‪Break‬‬
‫■ סיכום‪.‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.3/40‬‬
‫לולאות – מבוא‬
‫‪ ‬לעיתים צריך לבצע בתוכנית מחשב רצף של פקודות‬
‫מספר פעמים (לא בהכרח ידוע)‪ .‬למשל‪:‬‬
‫● לקלוט נתוני סטודנטים ביום הרשמה‪:‬‬
‫שם פרטי‪ ,‬שם משפחה‪ ,‬ת‪.‬ז‪ .‬ממוצע בגרות‪ ,‬פסיכומטרי ‪...‬‬
‫נשים לב שהנתונים של כל סטודנט שונים‪ ,‬אבל הקוד‬
‫שכותבים לקליטה‪ ,‬זהה לכל הסטודנטים‪.‬‬
‫● קיים מערך ציונים של סטודנטים ב ‪ MATLAB‬הוסף לכל‬
‫ציון סטודנט ‪ 10%‬על השתתפות ערה בשעורים‪.‬‬
‫■ במקום לכתוב אותו קוד כמה פעמים נכתוב אותו בלולאה‪.‬‬
‫מבוא לתכנות בעזרת ‪MatLab‬‬
‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.4/40‬‬
‫לולאות – מבוא המשך‬
‫■ לולאה‪ :‬קטע קוד (רצף של פקודות) שמבוצע כמה פעמים‪.‬‬
‫■ איטרציה‪ :‬מעבר יחיד בלולאה‪ .‬כלומר אם לולאה מתבצעת‬
‫‪ 10‬פעמים‪ ,‬אז היא מבצעת ‪ 10‬איטרציות ונוכל לדבר על‬
‫המעבר הראשון בלולאה – האיטרציה הראשונה‪,‬‬
‫מעבר שני בלולאה – איטרציה שנייה וכו'‪.‬‬
‫■ נלמד שני סוגי לולאות‪:‬‬
‫●לולאות ‪ – for‬ישמשו בד"כ למקרה שמס' האיטרציות ידוע‬
‫מראש‪.‬‬
‫●לולאות ‪ while‬כאשר מס' האיטרציות אינו ידוע ותלוי בקיום‬
‫מבוא לתכנות בעזרת ‪MatLab‬‬ ‫תנאי מסויים‬
‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.5/40‬‬

‫‪ ‬מבוא ללולאות‪.‬‬
‫‪ ‬לולאת ה ‪For‬‬
‫‪ ‬לולאת ה ‪While‬‬
‫‪ ‬יציאה מלולאות ע"י ‪Break‬‬
‫‪ ‬סיכום‪.‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.6/40‬‬
‫לולאת ה ‪FOR‬‬
‫‪for‬‬ ‫‪done‬‬
‫‪j=1:10‬‬ ‫‪:‬מבנה כללי‬
‫‪for j=1:10‬‬
‫;‪% computations‬‬
‫‪end‬‬
‫‪computations‬‬
‫‪:‬אפשרות לקפיצות באינדקס‬
‫‪for j=1:2:10‬‬
‫;‪% computations‬‬
‫‪end‬‬
‫מתבצעת מס' מוגדר מראש של פעמים (בדוגמא ‪.)10‬‬ ‫‪‬‬

‫תמיד מתבצעת לפחות פעם אחת‪.‬‬ ‫‪‬‬

‫יש אפשרות לקפיצה חיובית או שלילית של אינדקס הלולאה‪.‬‬ ‫‪‬‬

‫ניתן לצאת מהלולאה לפני סיומה המלא ע"י פקודת ‪BREAK‬‬ ‫‪‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.7/40‬‬

‫בעיה מס' ‪:1‬‬


‫‪ ‬הבעיה‪ :‬כתבו תוכנית‬
‫א‪ .‬מבקשת וקולטת ‪ 10‬רדיוסים של מעגלים מהמשתמש‪.‬‬
‫ב‪ .‬מחשבת לפי הרדיוסים את היקף ושטח המעגלים‪.‬‬
‫ג‪ .‬מדפיסה היקף ושטח‪ ,‬רק אם השטח גדול מ‪20-‬‬
‫יחידות שטח‪.‬‬
‫ד‪ .‬מדפיסה את מספר המעגלים ששטחם קטן או שווה ‪.20‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.8/40‬‬
‫ניתוח ותרשים זרימה‪:‬‬

‫‪ – Smalls‬כמות‬
‫שטחים קטנים או‬
‫שווים ‪20‬‬

‫‪ –N‬כמות רדיוסים‬
‫נקלטים‬

‫‪ –S‬שטח מעגל‬
‫‪ – P‬היקף מעגל‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
3.9/40 :‫ התוכנית‬- 1 ‫בעיה‬
% calculate the area and circumference of 10 circles .
%print out if the area is greater than 20 and counts the others
Smalls = 0;
for N = 1:10
fprintf(‘\nplease enter radius number %d ', N);
R = input(‘ ');
S = pi * R^2;
P = 2 * pi * R;
if S > 20
fprintf('\n Radius = %f units', R);
fprintf('\n Area = %f units squared', S);
fprintf('\n Circumference = %f units', P);
else Smalls = Smalls + 1;
end %end if
end %end for
fprintf('\n the number of circles with area less or equal 20 is: %d ‘,Smalls);

MatLab ‫מבוא לתכנות בעזרת‬


))22100 ‫אורט בראודה – הנדסת מכונות‬
please enter radius number 1 10
Radius = 10.00 units
3.10/40 Area = 314.16 units squared
Circumference = 62.83 units
please enter radius number 2
please enter radius number 3
1
12
‫ המשך‬FOR ‫לולאת‬
Radius = 12.00 units
Area = 452.39 units squared
Circumference = 75.40 units
please enter radius number 4 0.5
please enter radius number 5 0.7 ‫הרצה ובדיקת תוצאות‬:
please enter radius number 6 90
Radius = 90.00 units
Area = 25446.90 units squared
Circumference = 565.49 units
please enter radius number 7 13
Radius = 13.00 units
Area = 530.93 units squared
Circumference = 81.68 units
please enter radius number 8 0.1
please enter radius number 9 5
Radius = 5.00 units
Area = 78.54 units squared
Circumference = 31.42 units
please enter radius number 10 0.01
the number of circles with area less or equal 20 is: 5 >> ‫אורט בראודה – הנדסת מכונות‬
‫‪3.11/40‬‬

‫בעיה ‪1.1‬‬

‫כמו הבעיה ‪ ,1‬אבל בנוסף יוצרת ווקטור של רדיוסים‬


‫עבורם שטחים קטנים או שווים ‪20‬‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


3.12/40 ‫ תכנית‬- 1.1 ‫בעיה‬
Smalls = []; ‫ווקטור ריק – אתחול משתנה‬
for N = 1:10
fprintf)'\n please enter radius number %d ', N(;
R = input)' '(;
S = pi * R^2;
P = 2 * pi * R;
if S > 20
fprintf)'\n Radius = %.2f units', R(;
fprintf)'\n Area = %.2f units squared', S(;
fprintf)'\n Circumference = %.2f units', P(;
else Smalls = [Smalls,R]; ‫איבר חדש מצטבר לווקטור‬
end %end if
end %end for
fprintf)'\n the number of circles with area less or equal 20 is: %d ',length)Smalls((;

‫מס' איברים בווקטור‬


‫‪3.13/40‬‬

‫בעיה ‪2‬‬

‫‪ ‬ליצור ווקטור של ‪ 15‬איברים‪ ,‬בו כל איבר זוגי הוא ‪0‬‬


‫וכל איבר אי זוגי הוא ‪.1‬‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


‫‪3.14/40‬‬
‫בעיה ‪ - 2‬פתרון‬
‫‪for I=1:15‬‬
‫‪if rem)I,2(==0‬‬
‫;‪V)I(=0‬‬
‫‪else‬‬
‫;‪V)I(=1‬‬
‫‪end‬‬
‫‪end‬‬
‫;(‪disp)V‬‬

‫הרצה‪:‬‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


‫‪3.15/40‬‬

‫‪ ‬מבוא ללולאות‪.‬‬
‫‪ ‬לולאת ה ‪For‬‬
‫‪ ‬לולאת ה ‪While‬‬
‫‪ ‬יציאה מלולאות ע"י ‪Break‬‬
‫‪ ‬סיכום‪.‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫לולאת ‪ While‬מבנה כללי‪:‬‬
‫‪3.16/40‬‬
‫;‪k=0‬‬
‫אתחול משתנים‬ ‫‪while k<10‬‬
‫;‪% computations‬‬
‫לא‬ ‫;‪k=k+1‬‬
‫כל עוד התנאי‬
‫‪end‬‬
‫כן‬
‫אפשרות גם לתנאים מורכבים‪:‬‬
‫ביצועים‬
‫)‪while (grade>55 | ptor==1‬‬
‫;‪% computations‬‬
‫‪next‬‬ ‫‪end‬‬

‫לולאת ‪ WHILE‬תתבצע כל עוד תנאי הלולאה מתקיים‪.‬‬ ‫‪‬‬

‫חשוב לאתחל את משתני הלולאה לפני הלולאה (למשל את ‪ k‬לעיל)‬ ‫‪‬‬

‫יש לשים לב שהלולאה מסתיימת‪ ,‬כלומר שיש שינו בגוף הלולאה של‬ ‫‪‬‬

‫המשתנים שבתנאי הלולאה (למשל ‪ grade‬ו ‪ ptor‬לעיל)‪.‬‬


‫מבוא לתכנות בעזרת ‪MatLab‬‬
‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.17/40‬‬

‫בעיה מס' ‪:3‬‬


‫‪ ‬הבעיה‪ :‬כתבו תוכנית‬
‫א‪ .‬מבקשת וקולטת מספר לא ידוע של רדיוסים מהמשתמש‪.‬‬
‫ב‪ .‬מחשבת לפי הרדיוסים את היקף ושטח המעגלים‪.‬‬
‫ג‪ .‬מדפיסה את ההיקף והשטח‪ ,‬רק אם השטח גדול מ‪20-‬‬
‫יחידות שטח‪.‬‬
‫ד‪ .‬מדפיסה את מספר המעגלים ששטחם קטן או שווה ‪.20‬‬
‫ה‪ .‬התכנית תמשיך לקלוט כל עוד הרדיוס הנקלט חיובי‪.‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.18/40‬‬
‫אתחול משתנים‬

‫בעיה ‪- 3‬‬
‫תרשים זרימה‪:‬‬

‫‪-‬‬ ‫‪WHILE‬‬
‫‪loop‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
3.19/40
% calculate the area and circumference of unknown circles .
%print out if the area is greater than 20 and counts the others
% the program terminates if radius < = 0
Smalls=0;
R=input(‘please enter first radius:’);
While R > 0
S= pi * R^2;
P = 2 * pi * R;
if S> 20 :‫ התוכנית‬- 3 ‫בעיה‬
fprintf('\n Radius = %f units', R);
fprintf('\n Area = %f units squared', S);
fprintf('\n Circumference = %f units', P);
else Smalls = Smalls + 1;
end %end if
R= input(‘please enter the next radius: ');
end %end while
fprintf('\nthe number of circles with area less or equal 20 is: %d‘, Smalls);
MatLab ‫מבוא לתכנות בעזרת‬
))22100 ‫אורט בראודה – הנדסת מכונות‬
:‫הרצה ובדיקת תוצאות‬
3.20/40
please enter first radius:10
Radius = 10.00 units
Area = 314.16 units squared
Circumference = 62.83 units
please enter the next radius: 1

please enter the next radius: 15


Radius = 15.00 units
Area = 706.86 units squared
Circumference = 94.25 units
please enter the next radius: 0.3
please enter the next radius: 0
the number of circles with area less or equal 20 is: 2>>

MatLab ‫מבוא לתכנות בעזרת‬


))22100 ‫אורט בראודה – הנדסת מכונות‬
‫‪3.21/40‬‬
‫בעיה ‪4‬‬
‫‪ ‬לסכם איברי ווקטור עד האיבר השלילי הראשון‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


‫‪3.22/40‬‬

‫בעיה ‪ – 4‬פתרון‬

‫הרצה‪:‬‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


3.23/40 4.0 ‫בעיה‬
‫לקלוט ווקטור ולספור את איבריו עד‬
10-‫האיבר הראשון שהוא קטן מ‬

a=input)'Enter a new vector:'(;


i=1;
while i<=length)a( & a)i(<=10
i=i+1;
end
fprintf)'\nThe number of the members is %d',i-1(;
‫‪3.24/40‬‬

‫בעיה ‪4.1‬‬
‫כתוב תכנית אשר קולטת ווקטור ומסכמת‬
‫את איבריו עד שהסכום עולה על ריבוע‬
‫של האיבר הראשון‬
‫התכנית מדפיסה את הסכום וגם את מספר‬
‫האיברים שסוכמו‬
‫למשל‪ ,‬עבור הקלט [‪]10,20,7,16-,3,0,8-,4‬‬
‫יהיה הפלט ‪ 19‬ו‪6-‬‬
‫ועבור הקלט [‪ ]0,0,0‬יהיה הפלט ‪ 0‬ו‪3-‬‬
clc;clear;
3.25/40
a=input)'Enter a new vector:'(;
sum=0;i=1;
while i<=length)a( & sum<=a)1(^2
4.1 ‫בעיה‬
sum=a)i(+sum;
i=i+1; 1 ‫פתרון‬
end
fprintf)'\nThe sum of %d members is %g',i-1,sum(;

a=input)'Enter a new vector:'(;


S=0;

4.1 ‫בעיה‬
for i=1:length)a(
if S<=a)1(^2
S=a)i(+S;
else

end
break; 2 ‫פתרון‬
end
if i==length)a(
S=sum)a(;
fprintf)'\nThe sum of %d members is %g',i,S(;
else
fprintf)'\nThe sum of %d members is %g',i-1,S(;
end
‫‪3.26/40‬‬

‫בעיה ‪4.2‬‬

‫כתוב תכנית אשר קולטת ‪ 2‬מספרים שלמים חיוביים ‪ M‬ו‪.N-‬‬


‫כל עוד הקלט לא חוקי‪ ,‬התכנית תבקש ותקלוט מספרים‬
‫חדשים‪,‬‬
‫אחרת‪ ,‬היא מדפיסה מטריצה ‪MXN‬‬
‫בה כל איבר בשורה זוגית ועמודה זוגית שווה ‪0‬‬
‫וכל שאר האיברים שווה ‪1‬‬
‫‪3.27/40‬‬

‫(מומלץ להפעיל את השקופית‬ ‫בעיה ‪ – 4.2‬דוגמא‬


‫וללחוץ על העכבר כל פעם שרוצים להתקדם)‬

‫‪J=1‬‬ ‫‪J=2‬‬ ‫‪J=3‬‬ ‫‪J=4‬‬

‫‪I=1‬‬

‫‪I=2‬‬

‫‪I=3‬‬
‫‪3.28/40‬‬
‫(מומלץ להפעיל את‬ ‫בעיה ‪ – 4.2‬תרשים זרימה‬
‫השקופית וללחוץ על העכבר כל פעם שרוצים להתקדם)‬

‫‪M, N‬קלוט‬ ‫לא ‪N‬כל עוד‬


‫שלם או שלילי‬ ‫‪M, N‬קלוט‬
‫לא שלם ‪ M‬או‬
‫או שלילי‬
‫‪done‬‬

‫בדיקת כל השורות‬

‫‪for‬‬
‫‪done‬‬ ‫‪A‬פלוט‬
‫‪I=1:M‬‬

‫עבור לשורה הבאה‬

‫זוגי ‪I‬אם‬ ‫‪+‬‬ ‫‪A(I,J)=0‬‬


‫‪for‬‬ ‫זוגי ‪J‬וגם‬
‫‪done‬‬ ‫‪J=1:N‬‬

‫‪-‬‬
‫‪A(I,J)=1‬‬

‫בדיקת כל המקומות בשורה‬

‫עבור למקום הבא בשורה‬


3.29/40

‫ פתרון‬- 4.2 ‫בעיה‬


clc;clear;
M=input)'\nThe first number:'(;
N=input)'\nThe second number:'(;
while M<=0 |fix)M(~=M | N<=0 | fix)N(~=N
disp)'Your numbers are incorrect'(;
M=input)'\nEnter the first number:'(;
N=input)'\nEnter the second number:'(;
end
for i=1:M
for j=1:N
if rem)i,2(==0 & rem)j,2(==0
A)i,j(=0;
else
A)i,j(=1;
end
end
end
disp)A(;
‫‪3.30/40‬‬

‫בעיה ‪5‬‬

‫‪ ‬לקלוט מספר בלולאה אין סופית עד שייקלט מספר‬


‫שלם חיובי‪.‬‬
‫‪ ‬לבדוק האם המספר הנקלט הוא מספר ראשוני‬
‫(מתחלק רק ב‪ 1-‬ובעצמו)‬
‫להדפיס הודעה מתאימה‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


‫‪3.31/40‬‬
‫דוגמא ‪N=25‬‬ ‫בעיה ‪– 5‬‬
‫(מומלץ להפעיל את השקופית וללחוץ על העכבר כל פעם שרוצים להתקדם)‬

‫‪I‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬ ‫‪7‬‬ ‫‪8‬‬ ‫‪9‬‬ ‫‪10‬‬ ‫‪1‬‬ ‫‪12‬‬
‫=‬
‫?מתחלק‬ ‫לא‬ ‫לא‬ ‫לא‬ ‫!כן‬ ‫‪1‬‬

‫צא מלולאה‬
‫לא צריך להמשיך לבדוק‬

‫האם בלולאה‬
‫הגעת עד‬
‫?הסוף‬ ‫לא ? אז המספר‬
‫הוא לא ראשוני‬
‫‪3.32/40‬‬
‫בעיה ‪ – 5‬דוגמא‬
‫‪N=7‬‬
‫(מומלץ להפעיל את השקופית וללחוץ על העכבר כל פעם שרוצים להתקדם)‬

‫האם בלולאה‬
‫הגעת עד‬
‫‪I‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬
‫?הסוף‬
‫=‬
‫?מתחלק‬ ‫לא‬ ‫לא‬ ‫לא‬

‫כן? אז המספר‬
‫הוא ראשוני‬
‫אם אף תנאי לא מתקיים‪3.33/40,‬‬
‫סימן שנקלט מספר "טוב" –‬
‫בעיה ‪ 5‬תרשים זרימה‬ ‫(מומלץ להפעיל את‬
‫שלם וחיובי‬
‫השקופית וללחוץ על העכבר‬
‫כל פעם שרוצים להתקדם)‬

‫‪N‬קלוט‬ ‫לא ‪N‬כל עוד‬ ‫‪N‬קלוט‬


‫שלם או‬
‫שלילי‬ ‫מספיק לבדוק רק‬
‫‪done‬‬ ‫עד חצי המספר‬

‫‪I‬בדיקת כל‬
‫‪done‬‬
‫‪for‬‬
‫)‪I=2:fix(N/2‬‬

‫כדי ‪ -fix‬שימוש ב‬
‫=)‪rem(N,I‬‬
‫‪+‬‬ ‫להבטיח שהחצי‬
‫צא מהלולאה‬
‫‪=0‬‬ ‫יהיה שלם‬

‫‪-‬‬
‫‪+‬‬ ‫פלוט‬
‫‪I==fix(N‬‬
‫כן‪ ,‬אפשר לצאת‬ ‫""ראשוני‬
‫)‪/2‬‬
‫!מלולאה לפני סיומה‬
‫‪-‬‬
‫פלוט "לא‬
‫"ראשוני‬

‫סיום‬
‫‪3.34/40‬‬
‫בעיה ‪ – 5‬פתרון והרצה‬
‫‪3.35/40‬‬

‫‪ ‬מבוא ללולאות‪.‬‬
‫‪ ‬לולאת ה ‪For‬‬
‫‪ ‬לולאת ה ‪While‬‬
‫‪ ‬יציאה מלולאות ע"י ‪Break‬‬
‫‪ ‬סיכום‪.‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.36/40‬‬
‫יציאה מלולאה ע"י ‪BREAK‬‬
‫;‪» n=1‬‬
‫‪» while prod(1:n) <1.e100‬‬ ‫‪ ‬נמצא את המס' ‪n‬‬
‫»‬ ‫;‪n=n+1‬‬
‫‪» end‬‬
‫השלם הקטן ביותר‬
‫‪» n‬‬ ‫מכפלת ווקטור‬ ‫כך שב ‪ !n‬יש יותר‬
‫= ‪n‬‬
‫‪70‬‬
‫מ ‪ 100‬ספרות‪.‬‬
‫‪» for n=1:1000‬‬
‫»‬ ‫‪if prod(1:n) >1.e100‬‬
‫»‬ ‫‪break‬‬ ‫‪ ‬כעת נבצע זאת‬
‫»‬ ‫‪end‬‬
‫‪» end‬‬ ‫בעזרת לולאת ‪:for‬‬
‫‪» n‬‬
‫= ‪n‬‬
‫מבוא לתכנות בעזרת ‪MatLab‬‬
‫‪70‬‬
‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫‪3.37/40‬‬

‫בעיה ‪6‬‬
‫‪ ‬לבקש ולקלוט מטריצה ‪A‬‬
‫‪ ‬ליצור מטריצה חדשה ‪ B‬בה כל שורה זוגית היא‬
‫ריבוע של השורה המתאימה של המטריצה ‪ A‬וכל‬
‫שורה אי זוגית הוא חזקה ‪ 3‬של המטריצה ‪A‬‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


‫‪3.38/40‬‬

‫בעיה ‪ – 6‬פתרון והרצה‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


‫‪3.39/40‬‬

‫בעיה ‪7‬‬
‫‪ ‬לבקש ולקלוט ממשתמש ממדי מטריצה‬
‫‪ ‬ליצור מטריצה של מספרים שלמים אקראיים בתחום‬
‫‪ 1-100‬בממדים הנקלטים‬
‫‪ ‬לספור כמות איברים גדולים מ‪ 50-‬במטריצה הזאת‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


‫‪3.40/40‬‬
‫בעיה ‪– 7‬‬
‫תרשים‬
‫זרימה‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


‫‪3.41/40‬‬
‫בעיה ‪ – 7‬פתרון והרצה‬

‫מבוא לתכנות בעזרת ‪MatLab ) )22100‬‬ ‫אורט בראודה – הנדסת מכונות‬


3.42/40 ‫ – פתרון אחר‬7 ‫בעיה‬
N=input)'Enter a number of rows '(;
M=input)'Enter a number of colls '(;
A=1+fix)rand)N,M(*100(
counter=0;
for I=1:N*M %all the members of the matrix
if A)I(>50
counter=counter+1;
end %if
end %for
fprintf)'\nthere are %d members >50',counter(;

MatLab ) )22100 ‫מבוא לתכנות בעזרת‬


‫אורט בראודה – הנדסת מכונות‬
‫‪3.43/40‬‬

‫‪ ‬מבוא ללולאות‪.‬‬
‫‪ ‬לולאת ה ‪For‬‬
‫‪ ‬לולאת ה ‪While‬‬
‫‪ ‬יציאה מלולאות ע"י ‪Break‬‬
‫‪ ‬סיכום‪.‬‬

‫מבוא לתכנות בעזרת ‪MatLab‬‬


‫‪))22100‬‬ ‫אורט בראודה – הנדסת מכונות‬
‫מבוא לתכנות‬
‫עם ®‪Matlab‬‬

‫סוף לולאות ‪-‬‬

You might also like