יסודות מדעי המחשב
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 2025