תכנות ויזואלי משתנים ואופרטורים
סוגי משתנים )integer( • משתנים המייצגים מספרים שלמים ?כמה ביטים? עם סימן טווח טיפוס sbyte 128 to 127 Signed8-bit byte 0 to 255 Unsigned8-bit short -32,768 to 32,767 Signed16-bit ushort 0 to 65,535 Unsigned16-bit int -2,147,483,648 to 2,147,483,647 Signed 32-bit uint 0 to 4,294,967,295 Unsigned32-bit long Signed64-bit ulong Unsigned64-bit
– – – – – – – –
סוגי משתנים -המשך... • משתנים המייצגים מספרים עשרוניים – float ±1.5 × 10-45 to ±3.4 × 1038דיוק של 7 ספרות אחרי הנקודה. – double ±5.0 × 10-324 to ±1.7 × 10308דיוק של 15או 16ספרות אחרי הנקודה.
– משתנה בוליאני – - boolמשתנה המורכב מביט .1מקבל אחד משני ערכים – True/False
סוגי משתנים – המשך... • טיפוסיReference – - stringמחרוזות. – - Objectאובייקט כללי. – - Classמחלקה.
הצהרה על משתנים • משתנה הינו "פיסת זיכרון" אשר בתוכו התוכנית שומרת מידע בהתאם לסוג אליו שייך המשתנה. • חובה להצהיר על משתנה לפני שמשתמשים בו – ז"א לציין מהו הטיפוס שלו והשם שלו... • ; Type Name ]]=Value] ],Name2 • דוגמאות: – – – –
;int grade float averageOfGrade ;String name=“lior” , id Bool status= true
שמות של משתנים • כדי להשתמש במשתנה יש צורך לתת לו שם . שמות המשתנים צריכים להיות חוקיים ומשמעותיים!! • חוקים של שמות: – שם משתנה יכול להכיל: • אותיות באנגלית (’)’a’ – ’z’ and ’A’ – ’Z • ספרות ( – )0-9אינו יכול להתחיל בספרה • קו תחתון ( - ) ’_’ underscoreיכול להתחיל בקו תחתון אך אינו מומלץ!!! (לשימוש בד"כ ל מאפיינים (יוסבר בהמשך)
– שם יכול להכיל לכל היותר 31תווים
שמות של משתנים – המשך... • שמות משמעותיים – שם המשתנה אמור להעיד על מהותו ,סוג הערכים שהוא הולך להכיל. • יש הבדל בין אותיות גדולות וקטנות באנגלית. – ז"א המשתנה tempוהמשתנה Tempוהמשתנה TEMPהם 3משתנים שונים
• אם יש צורך במספר מילים בשם המשתנה נפריד אותם או באמצעות קו תחתון או באמצעות אותיות גדולות בתחילת כל מילה – NumOfStudentsאו num_of_students
השמת ערך למשתנה • בזמן אתחול המשתנה – ;int num =5
• השמה מאוחרת ,לאחר אתחול המשתנה – int num1,num2=4; num1= 5; num1=num2+1 – קיצורים--num++;num-*2;num :
• השמת ערך הנקלט מהמשתמש – = int num; num ;)Convert.ToInt32)txtNum1.Text
משתנה מטיפוס char • משתנה מטיפוס charהינו משתנה מסוג תו .כלומר כל תו שאנו מוצאים במקלדת .התווים לקוחים מתוך טבלה הנקראת טבלת .ASCIIלכל תו בטבלה יש ערך מספרי. תו מיוצג ע"י הסימון גרש .לדוגמא התו ' . '$למעשה המשתנה שמקבל את התו הינו משתנה מספרי ,שכן הוא מחזיק את הערך המספרי של התו ,שאותו ניתן למצוא בטבלה. • ניתן לבצע השמה של תו למשתנה מטיפוס char – לדוגמא:
char ch = ’A’; // ch has the value 65
• ניתן לבצע פעולות אריתמטיות על משתנים מטיפוס .charוכן להפעיל עליו פונקציות מיוחדות – לדוגמאchar ch = ’A’; ch = ch+1; //now ch has :
-Implicit conversionהמרה אוטומטית
לדוגמא משתנה מסוג טיפוס שלם ( ) intיכול להיפך אוטומטית למשתנה מטיפוס עשרוני ( . ) doubleלמשל אם =3Xאזי בקלות אפשר לרשום . = 3.0X
-Explicit conversionהמרה מפורשת
אך ,לדוגמא אם המספר הוא עשרוני למשל =3.5Xונרצה להמירו למספר מטיפוס שלם =3Xאזי ישנה בעייתיות מסוימת וזה לא ייעשה בצורה אוטומטית וידרוש מאיתנו כתיבה מפורשת שזה אכן הבקשה שלנו ,שכן יש כאן איבוד של מידע .
דוגמא-Explicit conversion נניח שיש לנו תיבת טקסט שבתוכה המשתמש ... המספר מוכנס בפורמט של.מכניס מספר !!!STRING אנחנו רוצים לבצע על המספר מניפולציה : אזי עלינו לבצע המרה מפורשת...אריתמטית ;)int num = Convert.ToInt32)txtNumber.Text • int.Parse )txtNumber.Text( = int num • ;float average = 6.0; int avg = )int( average • ToString)( int number=564; string • .num=number
דוגמא
public static void Function)( { char chA = 'A'; char ch1 = '1'; string str = "test string";
"True" "True"
"True"
}
MessageBox.Show )chA.CompareTo)'B'((; /* Output: "-1" )meaning 'A' is 1 less than 'B'( */ MessageBox.ShowchA.Equals)'A'((; // Output: "True" MessageBox.ShowChar.GetNumericValue)ch1((; // Output: "1" MessageBox.Show )Char.IsControl)'\t'((; // Output: "True" MessageBox.Show )Char.IsDigit)ch1((; // Output: "True" MessageBox.Show )Char.IsLetter)','((; // Output: "False" MessageBox.Show )Char.IsLower)'u'((; // Output: "True" MessageBox.Show )Char.IsNumber)ch1((; // Output: MessageBox.Show )Char.IsPunctuation)'.'((;
// Output:
MessageBox.Show )Char.IsSeparator)str, 4((; // Output: "True" MessageBox.ShowChar.IsSymbol)'+'((; // Output: "True" MessageBox.Show )Char.IsWhiteSpace)str, 4((; // Output: MessageBox.Show )Char.Parse)"S"((; MessageBox.Show )Char.ToLower)'M'((; MessageBox.Show )'x'.ToString)((;
// Output: "S" // Output: "m" // Output: "x"
אופרטורים ואופרנדים • מהו ביטוי? %
אופרטור – פעולה חשבונית כלשהי למשל , + ,- ,/ ,* :
– ביטוי יכול להיות מורכב מאופרנד פשוט • דוגמאות Y , 6 , num , 4.5 : – ביטוי יכול להיות מורכב מצירוף של אופרנדים ואופרטורים • דוגמאותY , 5.5- ,NUM*2 , X+5/Y+2 :
אופרטורים – המשך... • מהם סוגי האופרטורים העומדים לרשותנו? – אריתמטיים :קדימויות כמו בפעולות חשבון (/ * + - )% – השמה :משמאל לימין :מה שבימין נכנס לשמאל. ()Y=X – השמה מקוצרת)=* =- =/ =+( : • X+=5מתורגם x=x+5 – הגדלה/הקטנה עצמית ()-- ++ • ++Xבעצם מתורגם לx=x+1 : – יחס .נותנים ערך == <= < >= >( true/false =!)
לדוגמא ערך
ביטוי
הסבר
5+12-
7
אריתמטי
a= 3+1
4
7<5
true
השמה ואריתמטי יחס
(&& )7>5 ()5>7 X %= 2
false
שילוב יחס ולוגי
אם Xזוגי 0אחרת 1
השמה מקוצרת
אופרטורים – סדר קדימויות