לדלג לתוכן

תכנות נומרי עם Matlab ו-Octave/קלט ופלט

מתוך ויקיספר, אוסף הספרים והמדריכים החופשי



קליטת נתונים

[עריכה]

כאשר רוצים בתוכנית לבקש מהמשתמש נתון מסוים משתמשים בפקודה input :

x=input('insert number ');

הרווח בין ה ' לאות האחרונה נועד ליצור רווח בין הבקשה שתוצג לקלט שהמשתמש יכניס.

אם רוצים לקלוט נתון שהוא טקסט (string) משתמשים בקלט כך:

x=input('insert your name ','s');


פלט

[עריכה]

הפונקציה 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, ולכן כדאי אולי לעיין בתיעוד שם.


הפרק הקודם:
טיפוסים ומשתנים
קלט ופלט הפרק הבא:
פעולות חשבון