PracticU

תרגילים על Tasks

בלי כתוביותעם כתוביות
PracticU › קורס תכנות מתקדם - #Advanced .NET C › תרגילים על Tasks
מילון מושגים:
מתודה - פונקציה המוגדרת בתוך מחלקה ומתארת פעולה שאובייקטים מאותה מחלקה יכולים לבצע.
פונקציה - קטע קוד בעל שם שמבצע משימה מוגדרת, מקבל ערכי קלט (פרמטרים) ויכול להחזיר תוצאה. מאפשרת לארגן קוד ולהשתמש בו שוב.
מערך - מבנה נתונים שמאחסן אוסף ערכים מאותו סוג ברצף, שאפשר לגשת אליהם לפי מספר מיקום (אינדקס).
אינדקס - מבנה במסד נתונים שמאיץ חיפוש ושליפה. גם מספר המציין מיקום של איבר במערך.

תרגילים על Tasks
תרגילים על Tasks: יצירת משימות, שימוש ב-Parallel, החזרת ערך וטיפול בשגיאות ממשימות מקוננות.
התרגילים
1. מאה Tasks: מתודה Print שמציגה את המספרים 1-10 בהשהיה של 100 מילי-שניות, כל מספר בצבע משלו. קראו לה 100 פעמים, כל פעם ב-Task נפרד.
2. Parallel: אותו תרגיל, אבל הפעלת הפונקציה נעשית עם Parallel.For ולא ביצירת Tasks ידנית.
3. ערך מוחזר: מתודה שמקבלת n ומחזירה את סכום המספרים בין מינוס n לפלוס n, עם שנייה של Delay בתחילתה ובסופה. הפעילו אותה ב-Task, קבלו את הערך ב-Main והציגו.
4. Parallel.ForEach: קלטו עשרה מספרים למערך וחשבו את הסכום שלהם בעזרת Parallel.ForEach. הציגו אותו פעם אחת.
5. Tasks מקוננים: t1 יוצרת את t2, וכן הלאה עד t5, כאשר t2 עד t5 הם Child Tasks. כל אחת מחכה שנייה, מציגה את שמה ומפעילה את הבאה. הריצו רק את הראשונה ובדקו מתי היא מסתיימת.
6. שגיאות: גרמו ל-Index Out Of Range ב-t2, ל-File Not Found ב-t3, ל-Divide By Zero ב-t4 ול-Null Reference ב-t5. ב-Main יש catch אחד שמציג את כל ההודעות. בדקו מתי הן מתקבלות ביחס למועד השגיאה.
התרגילים בודקים הבנה של Tasks, Parallel וטיפול בחריגות מ-Tasks.
השיעור הבא בקורס: Reflection - חלק 1

פרקי ההרצאה: תרגילים על Tasks

  1. 00:00

    קריאה לפונקציה ב-100 Tasks

  2. 00:40

    שימוש ב-Parallel.For

  3. 01:14

    Parallel.ForEach ושרשרת Tasks

  4. 01:52

    התנהגות ה-Task האחרונה

תמלול ההרצאה: תרגילים על Tasks

הטקסט המלא של הדקות הראשונות בהרצאה «תרגילים על Tasks» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

    תרגילים בנוגע לטאסקס. יצרו מתודה שנקראת פרינט שמציגה את המספרים 1-10 על הקונסול במרווחים של 100 מילי שניות דיליי בין הדפסה להדפסה.

  2. 00:16

    כל מספר יש להציג בצבע ייחודי משלו. תקראו לפונקציה הזאת 100 פעמים ובכל פעם תקראו את זה על ידי טאסק נפרד לגמרי. זאת אומרת שאתם צריכים ליצור כאן 100 טאסקים שונים בכדי לקרוא לפונקציה הזאת.

  3. 00:32

    תבצעו בדיוק את התרגיל הקודם עם אותה פונקציה, אבל הפעם אל תיצרו את הטאסקים בעצמכם, אלא תקראו לפונקציה הזאתי מהפעם על ידי המחלקה Parallel, הכוונה Parallel 4. צור מתודה שמקבלת מספר n ומחזירה את הסכום של כל המספרים בין מינוס n לפלוס n.

  4. 00:56

    תוסיפו איזושהי שניית דיליי בהתחלת הפונקציה ושניית דיליי בסוף הפונקציה, תזכירו לפונקציה הזאת על ידי task, קבלו בחזרה במיין את הערך המוחזר והציגו אותו על המסך.

  5. 01:10

    קלטו במשתמש עשרה מספרים ותכניסו אותם למערך חד-ממדי. בעזרת parallel for each, בצעו חישוב של הסכום של כל המספרים האלה. הציגו את הסכום הזה רק פעם אחת על הקונסול.

  6. 01:23

    יצרו task שנקראת t1 שיוצרת task שנקראת t2 שt2 יוצרת task שנקראת T3. T3 יוצרת Task שנקראת T4 ו-T4 יוצרת Task שנקראת T5. את T2, T3, T4 ו-T5 צרו כ-Child Tasks.

  7. 01:42

    כל Task צריכה לעשות את הדברים הבאים: צריכה לבצע Delay של שנייה אחת, צריכה להציג את השם שלה על המסך וצריכה להפעיל את ה-Task הבאה חוץ מה-Task האחרונה שלא מפעילה שום Task, רק מכילה Delay של שנייה ומציגה את השם שלה על המסך.

לקורס המלא: קורס תכנות מתקדם ב‑#C ודוט-נט

ההרצאה הקודמת: Tasks - חלק 3

ההרצאה הבאה: Reflection - חלק 1

הרצאות קשורות מקורסים אחרים

  • תרגילים 1-3
  • Tasks and Back Stack
  • תרגילים על מטריצות בג'אווה
  • תרגילים מסכמים בנושא עיצוב

קורסים נוספים במסלול

  • קורס WinForms - תוכנות רגילות בווינדוס
  • פרויקט מעשי ב-#C - בונים מחשבון פשוט
  • פרויקט מעשי ב-#C - ספר טלפונים
  • פרויקט מעשי ב-#C - תוכנת צייר
  • קורס ADO.NET - חיבור אתר למסד נתונים
  • קורס WCF - תקשורת למתקדמים בדוט-נט