תכנות נומרי עם Matlab ו-Octave/קלט ופלט
קליטת נתונים
[עריכה]כאשר רוצים בתוכנית לבקש מהמשתמש נתון מסוים משתמשים בפקודה input :
x=input('insert number ');
הרווח בין ה ' לאות האחרונה נועד ליצור רווח בין הבקשה שתוצג לקלט שהמשתמש יכניס.
אם רוצים לקלוט נתון שהוא טקסט (string) משתמשים בקלט כך:
x=input('insert your name ','s');
פלט
[עריכה]disp
[עריכה]הפונקציה disp מציגה או תוכן קבוע מראש (למשל הודעה מסוימת) או תוכן של משתנה. הודעה (עם גרש!!)
disp('hello world')
>>hello world
משתנים ללא גרש
disp(x)
>>2.5
שימוש נוסף ל disp הוא ירידת שורה (או הדפסת שורה ריקה)
disp(' ')
>>
fprintf / sprintf
[עריכה]הפונקצייות האלו טובה לשילוב של טקסט קבוע ומשתנים .
כאשר משתמשים ב % ובפרמטר שמגדיר את סוג הביטוי שיקלט במקומו. אחרי המחרוזת מכניסים את כל המשתנים בהם אנו משתמשים:
- sprintf - מדפיס פלט כ ans
- fprintf - מדפיס פלט כ"יתד"
fprintf('your name is %s\n',x);
>>your name is moshe
כאן השתמשנו במשתנה x מסוג string.
סוגי הפרמטרים הראשיים בפונקציה:
- d - מספר שלם ללא שארית
- g - מספר שלם עם שארית. ניתן להגדיר את גודל השארית
.3g
יתן שארית עם 3 ספרותאחרי הנקודה. - f - מספר שלם עם שארית , ארוך יותר מ g
- s - מחרוזת
הביטוי n\ נועד לירידת שורה, אם לא היינו משתמשים בו השורה הבא היתה ממשיכה בסוף הפלט. ניתן להכניס אותו בכל מקום בטקסט ואפילו מספר פעמים.
fprintf('your number is:\n %d\n',x);
>>your number is:
>>2
כאן השתמשנו בירידת שורה פעמיים, ובמשתנה מסוג integer
דוגמה לשימוש במספר רב של משתנים בפקודת פלט אחת. שימו לב להורדת השורה:
octave:4>x=pi;
octave:5> fprintf('string %s \n number %d \n number %g \n number %f\n','hello',x,x,x);
string hello
number 3
number 3.14159
number 3.141593
כדאי לדעת: הפונקציה כאן דומה מאד לזו שבשפת C, ולכן כדאי אולי לעיין בתיעוד שם. |
הפרק הקודם: טיפוסים ומשתנים |
קלט ופלט | הפרק הבא: פעולות חשבון |