יסודות מדעי המחשב C# 1 תקציר הוראות השפה בC# - טיפוסי משתנים בסיסיים (פרימיטיבים) בשפת :C# מספרי שלם int )בתחום (±2,147,483,648 מספרי שלם ארוך long מספר ממשי double תו char מחרוזת string קבועים (של המחלקה:)static , ; ערך-הקבוע = שם-הקבוע טיפוס-נתונים static const דוגמא: ;static const int N = 10 ;static const double X = 2.34 נהוג לרשום שמות קבועים באות גדולה קבועים בשפה: הערך השלם הגדול ביותר // הערך השלם הקטן ביותר // int.MaxValue int.MinValue הגדרת משתנים: ;int a, b ;double x, y מבנה התכנית בשפת :Java שם-המחלקה public class { )public static void Main(string[] args { ;הגדרת המשתנים שים לב להזחות identification (קפיצת tabשל תחילת השורה) ;הוראה ;הוראה } } הערות הערת שורה // הערת קטע הנמשכת על פני כמה שורות */ */הערה */ */ ב C# -יש חשיבות לגודל אות )(case sensitive blog.csit.org.il הילה קדמן יסודות מדעי המחשב C# 2 קלט/פלט: ;)"מחרוזת בשפה האנגלית"( Console.Write ;)"מחרוזת"( Console.WriteLine פלט מחרוזת מחרוזות יוצגו בשפה האנגלית ;)שם-משתנה( Console.Write ;)שם-משתנה + " " +שם-משתנה( Console.Write הדפסת תוכן משתנה ;)שם-משתנה( Console.WriteLine ;)שם-משתנה + " " +שם-משתנה( Console.WriteLine ;)" מחרוזת " +שם-משתנה( Console.Write ;)" מחרוזת " +שם-משתנה " +מחרוזת"( Console.Write הדפסת משתנים ומחרוזות ;)" מחרוזת " +שם-משתנה( Console.WriteLine ;)"מחרוזת"+שם-משתנה "+מחרוזת"( Console.WriteLine קלט מספר שלם ;))(int a = int.Parse(Console.ReadLine קלט מספר ממשי קלט מספר תו או: ;))(double x = double.Parse(Console.ReadLine ;)(char tav = (char)Console.Read ;))(char ch = Convert.ToChar(Console.Read קלט מחרוזת דגשים ;)( String str = Console.ReadLine בכל הוראת קלט ניתן לקלוט בדיוק משתנה אחד. לפני כל הוראת קלט יש להציג בקשה: ;)" Console.Write ("type a number ;))(int a = int.Parse(Console.ReadLine הוראות השמה: מספר אתחול בהגדרה הצבת קבוע מחרוזת תו ;int a = 0 מחרוזת ריקה string str = "" ; // תו רווח char ch = ' '; // ;a = 5 ;"str = "hello ; 'ch = 'b פעולות חישוביות: נתונים המשתנים הבאים: ;int a, b, c ;double x, y, z חיבור ;c = a + b חיסור ;c = a – b כפל ;c = a * b blog.csit.org.il הילה קדמן יסודות מדעי המחשב C# 3 שלם /שלם שלם חילוק: ממשי /ממשי ממשי שלם /ממשי ממשי שלם /שלם) (doubleממשי חילוק בממשיים לפחות אחד המשתנים המשתתפים // המרה מפורשת בפעולה החישוב חייב להיות ממשי // ;z = x / y ;z = (double)a / b חילוק בשלמים (מנה) ;c = a / b שארית ;c = a % b המרה -ניתן להמיר משלם לממשי ולהיפך בהמרה מפורשת ).(casting קיצורים: הגדלה עצמית ; a ++ הקטנה עצמית ; a -- הוראות השפה: סוגי יחס (קרא משמאל לימין) שווה == שונה =! גדול מ< - גדול או שווה =< קטן מ> - קטן או שווה =< בלוק הוראות: { בלוק הוראות } אם ... (הוראה יחידה) אם ... (בלוק הוראות) blog.csit.org.il )פסוק-לוגי( if ;ביצוע )if (a > 5 ;b = b + 1 )פסוק-לוגי) if { ;הוראה ;הוראה } )if (a == 3 { ;c = b * 2 ;)Console.WriteLine ("result : " + c } הילה קדמן C# 4 יסודות מדעי המחשב if (a != 5) b = b + 1; else b = b – 1; if (לוגי-)פסוק 1;ביצוע else 2;ביצוע ... אחרת...אם if (a > 3) { Console.Write ("a number "); b = int.Parse(Console.ReadLine()); } else { b = a; c = c + 1; } if (לוגי-)פסוק { 1;הוראה 2;הוראה } else { 3;הוראה 4;הוראה } ... אחרת...אם )(הוראה יחידה )(בלוק הוראות switch (a) { case 1: Console.WriteLine("one"); break; case 2: Console.WriteLine("two"); break; case 3: case 4: case 5: Console.WriteLine("five"); break; case 6: Console.WriteLine("six"); break; default: Console.WriteLine("out of range"); break; } switch ()משתנה { case 1- ערך: 1-;ביצוע break; case 2- ערך: 2-;ביצוע break; case 3- ערך: ;הוראה ;הוראה break; case 4- ערך: 4-;ביצוע break; default : 5-;ביצוע five יהיה זהה5 - ו,4 ,3 הפלט עבור break; } ברירת החלטה המשתנה הנבדק הוא מטיפוס :סדור מספר שלם או תו ההוראות -מתבצעות עד ה break ניתן לבחון רק ערכים בדידים קשרים לוגיים && וגם || או ! לא if ( a > 3 && (b = = 5 || c != 0) ) … הילה קדמן blog.csit.org.il C# 5 יסודות מדעי המחשב :משתנה בוליאני :השמה למשתנה בוליאני bool b = (num1 > num2); :ביטויים שקולים bool b; if (num1 > num2) b = true ; else b = false ; bool found = … ; // true אוfalse ; if (found) … if (found == true) … ביטויים שקולים if ( ! found ) … if (found == false) … ביטויים שקולים :לולאות for (תחילי = אינדקס-סיום =< אינדקס ; ערך-אינדקס ; ערך-)קידום { ;הוראה ;הוראה } --------------int a, sum = 0; for ( i = 1 ; i <= 5 ; i++) { Console.Write ("a number "); a = int.Parse(Console.ReadLine()); sum = sum + a; } for (תחילי = אינדקס-סיום =< אינדקס ; ערך-אינדקס ; ערך-)הקטנת { ;הוראה ;הוראה } --------------double x, sum = 0; for ( i = 5 ; i >= 1 ; i --) { Console.Write ("a real number "); x = int.Parse(Console.ReadLine()); sum = sum + x; } Console.WriteLine ("sum is: " + sum); הילה קדמן for לולאת )(לולאה עולה for לולאת )(לולאה יורדת blog.csit.org.il יסודות מדעי המחשב C# 6 )ביטוי-לוגי( while { ;הוראה ;הוראה } --------------;int sum = 0 ;)" מספר ראשון"( Console.Write ;))(int a = int.Parse(Console.ReadLine )while (a != 999 { ;sum = sum + a ;)" עוד מספר"( Console.Write ;))(a = int.Parse(Console.ReadLine } ;)"סכום המספריםConsole.WriteLine (sum + " : לולאת while במחברת הבחינה מותר לכתוב מחרוזות בעברית, אלא אם כן נאמר אחרת פונקציות מתמטיות: טיפוס הערך ערך מוחלט ||x שורש ריבועי x חזקה xy עיגול לשלם הקרוב )(4 3.67 מוחזר מתקבל שלם שלם ממשי ממשי ממשי ממשי שלם דוגמא תחביר )Math.Abs(x ;)int b = Math.Abs(a ;)double y = Math.Abs(x )Math.Sqrt (x … )if (Math.Sqrt (x) > y ממשי שלם )Math.Pow (x, y ;)double p = Math.Pow (x, b ממשי ממשי Console.WriteLine )(int) Math.Round (x ;) )( (int)Math.Round(7.853 החלק השלם )(3 3.67 שלם ממשי (int) x ; … ) if (x == (int)x הערך הקטן מבין השניים שלם שלם )Math.Min(x, y ;)int small = Math.Min (12, a ממשי ממשי שלם שלם ממשי ממשי הערך הגדול מבין השניים מספר אקראי שלם בין x ו)x <y( y - שלם ארוך )Math.Max(x, y ;)int big = Math.Max (12, a תחום המספרים int range = y - x + 1; // ;int num = (int)(Math.Random() * range) + x דוגמה :מספר שלם אקראי בין ( 50 - 20כולל): התחום31 50 - 20 + 1 : ;int num = (int)(Math.Random() * 31) + 20 blog.csit.org.il הילה קדמן C# 7 יסודות מדעי המחשב Random שימוש באובייקט- מספר אקראי Random rnd = new Random(); x = rnd.Next (n); x = rnd.Next (from, to); :יצירת עצם :בתוך גוף בתכנית n עד0 מספר שלם בתחום 0x<n )(לא כולל ) (לא כוללto עדfron מספר שלם בתחום from x < to פעולות static void ProcName ((פרמטרים } נהוג ששם פעולה מתחיל באות גדולה פעולה שאינה מחזירה ערך { static void Aaa (int a, int b, double x) { int i; )void (מוחזר ערך : } static מוחזר- טיפוסFuncName ()פרמטרים { פעולה המחזירה ערך : return ;ערך להחזרה } static double Sum (int a, int b, double x) { double total ; total = a + b + x; return total; } הילה קדמן blog.csit.org.il יסודות מדעי המחשב מערך חד-ממדי C# 8 ;][10טיפוס-נתונים [] arr = newטיפוס-נתונים הגדרה ; ]int [] a = new int [7 ;]double [] x = new double [N ;]char [] arrChar = new char [25 פנייה לתא ; ]x[2] = 2 * a[0 6 5 4 3 2 1 0 a סריקת מערך )for (int i = 0 ; i < a.Length ; i ++ ;a[i] = i גודל המערך הוא .Lengthשם-המערך מספר התא האחרון במערך הוא Length - 1 מערך דו-ממדי (מטריצה) ;][5,7טיפוס-נתונים [,] arr = newטיפוס-נתונים ; ]int [,] mat = new int [6,7 ;]double [,] x = new double [N,M פניה לתא סכום התא ה"ראשון" והתא ה"אחרון" במערך בגודל 6שורות ו 7 -עמודות: ;]mat[3,4] = mat [0,0] + mat [5,6 סריקת המערך מספר השורות במטריצה מספר העמודות במטריצה )mat.GetLength (0 )mat.GetLength (1 )for (int i = 0 ; i < mat.GetLength (0) ; i++ )for (int j = 0 ; j < mat.GetLength (1) ; j++ mat [i,j] = …. blog.csit.org.il הילה קדמן C# 9 יסודות מדעי המחשב מחרוזות String str ; str = "bla-bla-bla" ; str = new string ("bla-bla-bla") ; היא אובייקטC# -מחרוזת ב string str = Console.ReadLine(); קלט פעולות שאינן משנות את המחרוזת אורך המחרוזת num = str.Length; שרשור str = st1 + str2 + "aaa" ; str1 == str2 str1 != str2 // ? מחרוזות שוות // ? מחרוזות שונות השוואה bool equal = str1.Equals(str2) ; int n = str1.CompareTo (str2) ; str1 > str2 n > 0 str1 < str2 n < 0 str1 = = str2 n = 0 ch = str [i] ; 0 i < str.length() במחרוזתi תו int place = str.IndexOf (ch) ; // חיפוש הראשון חיפוש תו int place = str.IndexOf (subStr); // חיפוש הראשון מחרוזת-חיפוש תת -1 אם לא נמצא יוחזר. מחזיר תמיד את הראשון מתחילת המחרוזתindexOf :הערה int place = str.IndexOf (ch, fromPlace); // חיפוש ממקום :חיפוש המופע הבא // חיפוש מהסוף :חיפוש מהסוף int place = str.IndexOf (subStr, fromPlace); int place = str.LastIndexOf (ch); int place = str.LastIndexOf (subStr); int place = str.LastIndexOf (ch, from); // חיפוש מהסוף ממקום int place = str.LastIndexOf (subStr, from); הילה קדמן blog.csit.org.il
© Copyright 2024