 
        יסודות מדעי המחשב
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 a, b
;double x, y
מבנה התכנית בשפת :C#
;using System
שם-המחלקה public class
{
)public static void Main(String[] args
{
;הגדרת המשתנים
;הוראה
;הוראה
}
}
הערות
הערת שורה //
הערת קטע
הנמשכת על פני
כמה שורות
*/
 */הערה */
*/
•
ב C# -יש חשיבות לגודל אות )(case sensitive
www.kadman.net
הילה קדמן
יסודות מדעי המחשב
קלט/פלט:
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.ReadLine
קלט מספר תו
;)(string str = Console.ReadLine
קלט מחרוזת
דגשים
•
בכל הוראת קלט ניתן לקלוט בדיוק משתנה אחד.
•
לפני כל הוראת קלט יש להציג בקשה:
;)" → הקש מספר שלם"( Console.Write
;))(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
www.kadman.net
הילה קדמן
יסודות מדעי המחשב
C#
3
שלם  /שלם ← שלם
חילוק:
ממשי  /ממשי ← ממשי
שלם  /ממשי ← ממשי
שלם  /שלם) ← (doubleממשי
חילוק בממשיים
לפחות אחד המשתנים המשתתפים //
• המרה מפורשת
בפעולה החישוב חייב להיות ממשי //
;z = x / y
;z = (double)a / b
;c = a / b
חילוק בשלמים )מנה(
;c = a % b
שארית
•
המרה  -ניתן להמיר משלם לממשי ולהיפך בהמרה מפורשת ).(casting
קיצורים:
הגדלה עצמית
; a ++
הקטנה עצמית
; a --
הוראות השפה:
סוגי יחס
שווה ==
שונה =!
גדול מ> -
גדול או
שווה =>
קטן מ< -
קטן או
שווה =>
בלוק הוראות:
{
בלוק הוראות
}
אם ...
)הוראה יחידה(
אם ...
)בלוק הוראות(
www.kadman.net
)פסוק-לוגי( if
;ביצוע
)if (a > 5
;b = b + 1
)פסוק-לוגי( if
{
;הוראה
;הוראה
}
)if (a = = 3
{
;c = b * 2
;)"התוצאהConsole.WriteLine (c + " :
}
הילה קדמן
C#
4
יסודות מדעי המחשב
if (a != 5)
b = b + 1;
else
b = b – 1;
if (לוגי-)פסוק
1;ביצוע
else
2;ביצוע
...  אחרת...אם
if (a > 3)
{
Console.Write (";)" → הקש מספר
b = int.Parse (Console.ReadLine());
}
else
{
b = a;
c = c + 1;
}
if (לוגי-)פסוק
{
1;הוראה
2;הוראה
}
else
{
3;הוראה
4;הוראה
}
...  אחרת...אם
switch (a)
{
case 1 : Console.WriteLine ("one") ;
case 2 : Console.WriteLine ("two") ;
break ;
case 3 :
case 4 :
case 5 : Console.WriteLine ("five") ;
case 6 : Console.WriteLine ("six") ;
break ;
default: Console.WriteLine
("bigger then six") ;
}
()הוראה יחידה
()בלוק הוראות
switch ()משתנה
{
case 1- ערך: 1;ביצוע
break;
case 2- ערך: 2;ביצוע
break;
case 3- ערך: ;הוראה
;הוראה
break;
case 4- ערך: 4;ביצוע
:הפלט
break;
default :
5;ביצוע
break;
}
ברירת החלטה
• המשתנה הנבדק
הוא מטיפוס
:סדור
מספר שלם או תו
ההוראות
-מתבצעות עד ה
break
ניתן לבחון רק
ערכים בדידים
 ניתן לבחוןC# -ב
גם מחרוזות
קשרים לוגיים
&&
וגם
||
או
!
לא
if ( a > 3 && (b = = 5 || c != 0) ) …
הילה קדמן
www.kadman.net
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 = int.Parse (Console.ReadLine());
sum = sum + a;
}
for (תחילי = אינדקס-סיום => אינדקס ; ערך-אינדקס ; ערך-)הקטנת
{
;הוראה
;הוראה
}
--------------double x, sum = 0;
for ( i = 5 ; i >= 1 ; i --)
{
Console.Write (" ;)" → מספר ממשי
x = double.Parse (Console.ReadLine());
sum = sum + x;
}
Console.WriteLine (sum + " :;)"סכום המספרים
הילה קדמן
for לולאת
()לולאה עולה
for לולאת
()לולאה יורדת
www.kadman.net
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 לולאת
:פונקציות מתמטיות
דוגמא
תחביר
מתקבל
מוחזר
int b = Math.Abs(a);
double y = Math.Abs(x);
Math.Abs(x)
שלם
ממשי
שלם
ממשי
if (Math.Sqrt (x) > y) …
Math.Sqrt (x)
שלם
ממשי
ממשי
double p = Math.Pow (x, b);
Math.Pow (x, y)
שלם
ממשי
ממשי
Console.WriteLine
( Math.Round (7.853) );
Math.Round (x)
שלם
שלם
ארוך
עיגול לשלם הקרוב
(4 ← 3.67)
ממשי
שלם
ארוך
עיגול החלק העשרוני
double y = Math.Round(3.57,1); Math.Round (x, d)
3.6  יושםy -ב
טיפוס הערך
|x|
ערך מוחלט
x
שורש ריבועי
xy
חזקה
מספר אקראי
Random rnd = new Random();
:הגדרת העצם
n  עד0 מספר שלם בתחום
0≤x<n
()לא כולל
int x = rnd.next (n);
int x = rnd.next (n) + 1;
int x = rnd.next (a, b);
( )כוללn  עד1 מספר שלם בתחום
1≤x≤n
( )לא כוללb  עדa מספר שלם בתחום
a
הילה קדמן
b
www.kadman.net
C#
7
יסודות מדעי המחשב
שים לב! שם פעולה מתחיל באות גדולה
static void ProcName ()פרמטרים
{
פעולות
פעולה שאינה מחזירה
ערך
}
(void )מוחזר ערך
static void Aaa (int a, int b, double x)
{
int i;
:
}
static  מוחזר- טיפוסFuncName ()פרמטרים
{
פעולה המחזירה ערך
:
return ;ערך להחזרה
}
static double Sum (int a, int b, double x)
{
double total ;
total = a + b + x;
return total;
}
נתונים- ][ טיפוסarr = new נתונים-[טיפוס10];
int [] a = new int [7] ;
double [] x = new double [N];
char [] arrChar = new char [25];
הגדרה
x[2] = 2 * a[0] ;
0
1
ממדי-מערך חד
פנייה לתא
2
3
4
5
6
a
for (int i = 0 ; i < a.Length ; i ++)
a[i] = i;
סריקת מערך
המערך-שם.Length גודל המערך הוא
Length - 1 מספר התא האחרון במערך הוא
הילה קדמן
www.kadman.net
C#
8
יסודות מדעי המחשב
נתונים-[ טיפוס,] arr = new נתונים-[טיפוס5,7];
מערך
ממדי-דו
()מטריצה
int [,] mat = new int [6,7] ;
double [,] x = new double [N,M];
:סכום התא ה"ראשון" והתא ה"אחרון" במערך
פניה לתא
mat[3,4] = mat [0,0] + mat [5,6];
Ö מספר השורות במטריצה
Ö מספר העמודות במטריצה
mat.GetLength(0)
mat.GetLength(2)
סריקת המערך
for (int i = 0 ; i < mat.GetLength(0) ; i++)
for (int j = 0 ; j < mat.GetLength(1) ; j++)
mat [i,j] = ….
string str ;
מחרוזות
str = "bla-bla-bla" ;
str = new string ("bla-bla-bla") ;
string str1 = Console.ReadLine();
קלט
num = str.Length ;
אורך
// תכונה ולא פעולה
str = st1 + str2 + "aaa" ;
שרשור
bool equal = str1.Equals(str2) ;
if (str1 = = str2)
equal = true;
else
equal = false;
השוואה
:ואפשר גם
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 (ch, from) ; // 0 ≤ from < str.Length
int place = str.IndexOf (subStr);
int place = str.IndexOf (subStr, from) ;
הילה קדמן
מהיכן להתחיל לחפש
מחרוזת-חיפוש תת
// 0 ≤ from < str.Length
מהיכן להתחיל לחפש
www.kadman.net
יסודות מדעי המחשב
תת-מחרוזת
9
מ from-עד לסוף המחרוזת String str2 = str1.Substring (from); //
מ len , from -תווים //
0 ≤ from + len < str1.Length
החלפת תווים
במחרוזת
החלפת תת-מחרוזת
במחרוזת אחרת
C#
;)Srting str3 = str1.Substring (from, len
מחליף את כל מופעי  ch1בString str2 = str1.Replace (ch1, ch2); // ch2 -
מחליף את כל המופעים String str2 = str1.Replace (oldStr, newStr); //
שימו לב שלא קיימת פעולה המחליפה תת-מחרוזת בתו
מחיקת תת-מחרוזת  str1במחרוזת  :strהחלף את  str1במחרוזת ריקה:
;)"" string str2 = str.Replace (str1,
www.kadman.net
הילה קדמן
				
											        © Copyright 2025