יום חמישי, 14 בדצמבר 2017

יום חמישי, 7 בדצמבר 2017

יום שלישי, 5 בדצמבר 2017

תרגול קליל SQL

תרגול SQL:



אפשרות א': הורדה
אפשרות ב': קריאה ישירה-






פתרונות (של דביר):


יום שני, 4 בדצמבר 2017

מספר פרמטרים משתנה - C#) params)

params
כמו בהרבה שפות, ב-#C קיימת אפשרות שפונקציה תקבל מספר משתנה של פרמטרים.
בשפת C ראינו את זה הרבה בפונקציות ()printf וְ ()scanf שמדפיסות או מקבלות מספר משתנים ככל העולה על רוחנו.




תחביר:
 שם_הפונקציה   ערך_מוחזר(params טייפ_הפרמטרים[] name){.....}

כל הפרמטרים נכנסים לפונקציה במערך. ה"Length" של המערך שווה למספר הפרמטרים שהוזנו.




דוגמה 1:
    class Program
    {
        public static int Sum(params int[] numbers)
        {
            int sum = 0;
            for (int i = 0; i < numbers.Length; i++)
            {
                sum += numbers[i];
            }
            return sum;
        }
        static void Main(string[] args)
        {
            Console.WriteLine(Sum());  // ידפיס 0
            Console.WriteLine(Sum(3, 5));  // ידפיס 8
            Console.WriteLine(Sum(3, 5, 10));  // ידפיס 18
        } 
    }

יום רביעי, 29 בנובמבר 2017

צבעים בחלון הפקודה #C

צבעים #C

נוכל לשנות את צבע הטקסט בחלון הפקודה.


1.
צריך להוסיף בראש התוכנית: using System.
לרוב, ה-System כבר כתובה אוטומטית בראש הקוד ע"י הוויזואל סטודיו.

שימו לב: ב-#C על ידי ה-using אנחנו לא מייבאים "ספריות", אלא "ניימספייסים" (namespace). מעתה נקרא להם בשמם.





2.
כדי לשנות את צבע הטקסט:
צבע = Console.ForegroundColor

אחרי הפקודה כל הטקסט יהיה בצבע שבחרתם.
(כדי לציין את הצבע משתמשים ב enum הצבעים: "ConsoleColor".)

        static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Hello");
        }

חיבור ה-NetBeans ל-GitHub

חיבור ה-NetBeans ל-GitHub של Bitbucket



1. צרו משתמש, קבוצה ופרויקט ב: Bitbucket.

2. חברו את ה-Git שלכם ל-NetBeans. השתמשו במדריך.





בהצלחה.


יום שלישי, 28 בנובמבר 2017

ה-ref וה-C#) out)

בדומה ל"משתנה המיוחס" ב ++C, גם ב-#C פונקציה יכולה להשפיע על הארגומנטים שהיא מקבלת.
כדי להשפיע על ארגומנט נוסיף לו את המילה השמורה "ref" או "out" בראש הפונקציה ובשליחה לפונקציה.



ref

עם ref נשלח משתנה שכבר עבר אתחול. כל השינויים שהוא יעבור ישפיעו על המשתנה המקורי.

דוגמה:
החלפת ערכים בין שני משתנים
    class Program
    {
        static void Swap(ref int x, ref int y)
        {
            int tmp = x;
            x = y;
            y = tmp;
        }
        static void Main(string[] args)
        {
            int a = 5, b = 10;
            Swap(ref a, ref b);
 
            // :הדפסה
            Console.WriteLine("a: " + a); // a: 10
            Console.WriteLine("b: " + b); // b: 5
        }
    }

יום חמישי, 23 בנובמבר 2017

פרויקט דמו בג'אווה - קליטה ושינוי מה SQL Server

תקשורת בטוחה עם בסיס הנתונים - קריאה ועדכון

הפרויקט של עמית:
-להורדה-


לימדו אותו היטב.





משימה:
- לקבל את כל השורות של הטבלה "Categories" מבסיס הנתונים "NORTHWND" לתוך רשימה (מסוג ArrayList) של אובייקטים שמכילים את כל העמודות של הטבלה.
- לשנות את אחד מאיברי הרשימה, בלי לשנות את ה-id.
- לכתוב פונקציה שמקבלת את הרשימה ששינינו ומעדכנת את הטבלה ב-NORTHWND על פי אותה רשימה.
- לבדוק ב SQL Server שאכן הטבלה Categories עברה שינוי.

יום רביעי, 22 בנובמבר 2017

שימושים של המחלקה Math ב-#C

פונקציות שימושיות במחלקה Math:


1
Math.Abs(מספר)
מחזיר את הערך המוחלט של המספר
            double n = Math.Abs(-8.9);
            Console.WriteLine(n);  // ידפיס: 8.9


2
Math.Pow(מספר1, מספר2)
מחזיר את מספר2 בחזקת מספר1
            double n = Math.Pow(10, 2);
            Console.WriteLine(n);  // ידפיס: 100


3
Math.Sqrt(מספר)
מחזיר את השורש הריבועי של המספר
            double n = Math.Sqrt(25);
            Console.WriteLine(n);  // ידפיס: 5

יום שבת, 18 בנובמבר 2017

פונקציה נחמדה שכתבתי לקליטה בטוחה של מספר שלם מהמשתמש

הפונקציה כתובה כאן ב-#C, אבל תוכלו להמיר אותה עם קצת מחשבה לכל שפה.
אגב, בחלק מהתוכניות בבלוג כבר עשינו בה שימוש.

קליטה בטוחה של מספר int מהמשתמש:

תיאור: פונקציות לקליטת מספר שלם אחד או יותר מהמשתמש באופן בטוח.
במקרה שהמשתמש הזין קלט לא תקין, (כגון: אותיות, מינוס במקום לא נכון, יותר או פחות מספרים מהנחוץ, לא הכניס שום קלט, מספרים ארוכים מדי, מספרים שחורגים מערכי המינימום והמקסימום וכו'), הוא יתבקש להזין מחדש את הקלט עד לקבלת קלט תקין.

הערה: הפונקציה Get_Save_int_Number_From_User נכתבה במקור עבור שפת C, כנראה תמצאו בה דברים שאפשר לקצר באמצעות #C.
בניגוד אליה, הפונקציה Get_Save_int_Numbers_From_User נכתבה ישירות עבור #C.






יום רביעי, 15 בנובמבר 2017

מספרים ומערכים רנדומלים (#C)

למדנו על מספרים רנדומליים בשפת C וב ++C. היום נלמד עליהם ב-#C תוך הרחבה של הנושא.

מספרים אקראיים:


כדי ליצור מספר אקראי ניצור אובייקט מהמחלקה Random:
Random r = new Random();

נוכל להשתמש בו כדי לקבל מספר רנדומלי חדש.
כך: הפונקציה ()Next מחזירה מספר רנדומלי חדש (לא תחזיר מינוס)
r.Next();


נוכל לשלוח לפונקציה Next טווח מספרים.
כך למשל על-מנת להגריל מספר שלם בין 1 ל- 7 (כולל 1 אך לא כולל 7):
r.Next(1,7);
לדוגמה:
            Random r = new Random();
            Console.WriteLine(r.Next(1,9)); // ידפיס מספר רנדומלי בין 1 ל-8 כולל 



יום רביעי, 8 בנובמבר 2017

קלט מהמשתמש ב Java (בדומה ל-scanf)

קלט בג'אווה:

1.
מוסיפים את המחלקה:  "java.util.Scanner"
כך:
import java.util.Scanner;

או את כל המחלקה:
import java.util.*;





2.
כותבים פעם אחת בראש הפונקציה את הקוד:
Scanner s = new Scanner(System.in);

(את המשתנה "s" אפשר להחליף בכל שם שנרצה)

יום שני, 6 בנובמבר 2017

שפת #C - מחרוזות

אנחנו כבר יודעים איך לעבוד עם מחרוזות בשפת C ובשפת ++C.
היום נלמד על מחרוזות ב-#C:

String

עד היום השתמשנו במערך של משתנים מטייפ char לעבודה עם מחרוזות.
ב#C, (בדומה לJava), קיים טייפ מיוחד בשם "String" שנועד במיוחד לאחסון מחרוזות.

הגדרה:
String str;

אתחול בהגדרה:
String str = "Hello!";

הדפסה:
Console.WriteLine(str);

קליטה:
כאן אין צורך בפונקציית ההמרה "()Parse", משום שהפונקציה ()ReadLine כבר מחזירה String.
str = Console.ReadLine();


NULL מסיים:
ל-String אין NULL מסיים. במקומו נוכל להשתמש במאפיין Length שמייצג את אורך המחרוזת.
str.Length

יום שישי, 3 בנובמבר 2017

מאמר של מוטי על תזמון תהליכים

מאמר ארוך בנושאים שלמדנו עם מוטי על תזמון תהליכים ב- CPU



להורדת הקובץ המלא:  כאן. או כאן. או כאן. (דרושה סיסמת חברים).







קטעים חלקיים:


מבוא
מערכת מחשב
מערכת מחשב מתחלקת לארבעה חלקים :
  1. השכבה "הנמוכה" , זו החומרה  HARDWARE . החמרה מכילה: דיסק קשיח, ספק כוח, מקלדת, עכבר, מסך, מדפסת, מעבד, חיווט, כרטיסי מחשב, זכרון, מודם ועוד .