26.3.2019

סוגי משתנים - מערך


יז' אדר ב' - 24.3.19



המחשב מופעל מחומרה ותוכנה  

חומרה – לוח אם \ מעבד \ זיכרון וכדו'
תוכנה - מערכת ההפעלה שמפעילה את החומרה. הנפוצות הן Windows   (מיקרוסופט) \ Android  \ MAC (אפל) ועוד כמה עשרות פחות ידועות  
פיתוח תוכנה  - כתיבת קוד ליצירת תוכנה או יישום שיבצע פעולות מוגדרות
פלטפורמה  - בהתחלה הפיתוח היה מותאם למערכת ההפעלה ספציפית אבל החיסרון הוא שצריך לבצע עדכונים והתאמות עבור כל מערכת הפעלה לכן פותחה הפלטפורמה שזה כלי שבו כותבים את הקוד והוא מתאים אותו בצורה אוטומטית לכל מערכות ההפעלה 2 הפלטפורמות הנפוצות הן   Java - .net  
.net – כוללת מספר שפות תכנות לדוג' c# - vb – c++



סוגי משתנים
String – מחרוזת של תווים (char). אורך לא מוגבל 

מספרים שלמים

טיפוס המשתנה
ערך מינימלי
ערך מקסימלי
הזיכרון הדרוש בביטים
Sbyte
128-
127
8
Byte
0
255
8
Short
32,768-
32,767
16
Ushort
0
65,535
16
Int
2,147,483,648-
2,147,483,647
32
Uint
0
4,294,967,295
32
Long
9,223,372,036,854,775,808-
9,223,372,036,854,770,000
64
Ulong
0
18,446,744,073,709,500,000
64

מספרים לא שלמים (עשרוניים)
טיפוס המשתנה
דיוק בספרות
הזיכרון הדרוש בביטים
Float
7
32
Double
15
64
Decimal
28
128

DateTime – תאריך ושעה

המרת משתנים

 parse
בשיעורים קודמים למדנו על הפונקציה convert שממירה בין סוגי משתנים – בביצוע חישוב או המרה של מספר עשרוני לתוך משתנה שלא מקבל ערך עשרוני התוכנה תתעלם מהערך העשרוני לדוג' אם המשתמש הכניס2.2 הערך שיכנס למשתנה הוא 2 – במידה ולא נרצה לאבד ערכים נשתמש בפונקציה parse - במידה וההמרה לא תקינה תתקבל הודעת שגיאה
לדוג' בקוד הבא אם המשתמש יכניס מספר שאינו שלם המערכת עפה
a = int.Parse(Console.ReadLine());


ניתן גם לבצע המרה הפוכה – במידה ויש מספר עשרוני אך הערך העשרוני לא מעניין אותנו ניתן לבצע המרה ממשתנה float  למשתנה short  ואוטומטית הערכים העשרוניים ימחקו
לדוג'

C= (short)(a+b)


שים לב! בחישוב של 2 משתנים מסוג שלמים התוצאה תמיד תהיה שלימה למרות שהמשתנה שמקבל את התוצאה יכול לקבל מספר שאינו שלם לכן לפני ביצוע החישוב נבצע המרה לאחד המשתנים בצורה הבאה c =(Double) a / b;     


טיפ - Cw + tab – קיצור לconsole.writine
For + double teb – יוצר את הלולאה אוטומטית




Array - מערך
מערך – למדנו בעבר שכל משתנה יכול להחזיר ערך אחד לדוגמה x=1  int  אך אם אנחנו צריכים לצורך תוכנית  אחת לקלוט עשרה מספרים במקום להגדיר עשרה משתנים שונים ניתן להגדיר משתנה אחד מסוג מערך
int[] arr = new int[10];
בדוגמא זו יצרנו מערך של int בשם arr, בעל גודל 10.
ראשית הגדרנו את סוג המשתנה []int , כלומר מערך של int, לאחר מכן נתנו לו שם arr ואז ביקשנו להקצות זיכרון ל10 תאים ע"י שימוש בפקודה new.
על מנת לגשת למיקום ספציפי בתוך המשתנה נציין את מקומות 
arr[1] = 5;
שים לב !! הספירה מתחילה מ0 – ולכן 1 זה בעצם האיבר השני במערך.

מעבר על מערך בסדר רץ – ניתן לעבור על כל האברים של המערך באמצעות לולאת for  
for (int i = 0; i < arr.Length; ++i)
{
Console.WriteLine("enter number");
arr[i] = Convert.ToInt32(Console.ReadLine());
} 
  • התכונה Length של המערך מחזירה את גודל המערך, במקרה שלנו arr.Length מחזירה את הערך 10.
  • הצבנו בתוך המערך את המשתנה i שבתחילת הלולאה הוגדר ל-0 ובכל הרצה עולה ב-1 ולכן בכל הרצה נקבל איבר אחר במערך בסדר עולה

באותה הדרך נוכל גם להדפיס את הערכים שהכנסנו למערך
for (int i = 0; i < arr.Length ; i++)
    {
       Console.WriteLine(arr[i]);
    }

אפשרות נוספת לשימוש במשתנה של המערך – כשאנחנו רוצים לקבל מהמשתמש 5 מספרים ולא במשפט סתמי "הכנס מספר" שיחזור על עצמו 5 פעמים אלא הכנס מספר ראשון \ שני \ שלישי – נשתמש במשתנה של המערך
Console.WriteLine("enter number {0} `th " ,i+1);
arr[i] = Convert.ToInt32(Console.ReadLine());
  • Th – קיצור של ה'  השלישי \ הרביעי
  • הוספנו לi  1 כיוון שלמדנו שהמערך מתחיל תמיד מ0 אז שלא יכתוב הכנס מספר 0 ... ובפעם השניה הכנס מספר 1 לכן תמיד נעלה אותו ב1  


Const – אפשרות נוספת להגדרת ערך למערך היא עם const – (קיצור של CONSTANT \ קבוע) בניגוד למשתנה שערכו יכול להשתנות במהלך התוכנית (a=0  ובהמשך מכניסים ערך שגם אותו ניתן לשנות) ב const מכניסים ערך פעם אחת בתחילת התוכנית ללא אפשרות שינוי
את כל ההגדרות הקבועות מגדירים בתחילת התוכנית או בקובץ נפרד כך כשצריך לבצע שינויים בהמשך לא צריך להיכנס לקוד ולשנות את כל המקומות אלא במקום אחד מסודר 
const int siz = 5;
int[] arr = new int[siz]





קטע קוד שמסכם את כל מה שלמדנו השיעור
v     לולאה ראשונה מקבלת 3 מספרים מהמשתמש
v     לולאה שניה מדפיסה את הערך שלהם
v     לולאה שלישית מחברת את שלושת המשתנים לתוך משתנה אחד
v     קטע אחרון מחשב את הממוצע

static void Main(string[] args)
        {
            const int siz = 3;

            int[] arr = new int[siz];


            for (int i = 0; i < arr.Length; i++)
            {
                    Console.WriteLine("Enter a test score {0} `th ", i+1);
                    arr[i] = Convert.ToInt32(Console.ReadLine());
            }

            Console.WriteLine("-------------");

            for (int i = 0; i < arr.Length ; i++)
            {
                Console.WriteLine(arr[i]);
            }


            float sum = 0;

            for (int i = 0; i < arr.Length; i++)
            {
                sum = (float)(sum + arr[i]);
            }

            float average = 0;

            average = sum / siz;
            Console.WriteLine("-------------");
            Console.WriteLine("The average of tests is - {0} " , average);
       
       
       

אין תגובות:

הוסף רשומת תגובה

MVC

Web api Front end (צד משתמש) שולח http request     כל אתר מכל מכשיר יכול להתחבר ולקבל נתונים (אין אפליקציה) ולא משנה באיזו שפה ה...