Class 2

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Class 2 as PDF for free.

More details

  • Words: 858
  • Pages: 19
‫תכנות ויזואלי‬ ‫משתנים ואופרטורים‬

‫סוגי משתנים‬ )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‬‬

‫השמה מקוצרת‬

‫אופרטורים – סדר קדימויות‬

Related Documents

Class 2
December 2019 12
Class 2
November 2019 18
Class 2
June 2020 6
Class 2
November 2019 22
Class 2 Handout 2
December 2019 15