Menu
עברית Русский
מכללת פרקטיקיו
- מתחילים ללמוד חינם -
קורסי תכנות / סייבר / ניהול רשת

רקורסיה - Recursion (הסבר נוסף)

קורסים למנהלי רשת מסלול מנהלי רשת
עם התמחות בשרתי מיקרוסופט
מסלול סייבר והאקינג - Hacking מסלול תקשורת ואבטחת מידע
Cisco CCNA & FortiGate & Checkpoint
מומחה ווירטואליזציה
VMware & Hyper-V
מסלול לינוקס ו-DevOps מומחה ענן של אמזון - AWS מומחה ענן של מיקרוסופט - Azure מומחה ענן של גוגל - GCP מומחה שרתי SCCM - System Center
של מיקרוסופט לארגונים גדולים
קורסי תכנות מסלול Full Stack דוט-נט
יסודות התכנות
מסלול Full Stack דוט-נט
צד שרת - Backend
מסלול Full Stack דוט-נט
צד לקוח - Frontend
מסלול Full Stack Node.JS קורסי תכנות נוספים
Java / Python / PHP
מפתח אפליקציות - אנדרואיד - אייפון מפתח משחקי מחשב - Unity מפתח תוכנות לוונדוס - WinForms מסלול DBA - דטה אנליסט
התמחות במסדי נתונים – SQL
בדיקות תוכנה - QA בדיקות תוכנה - QA - אוטומציה בדיקות תוכנה - QA - בדיקות ידניות בדיקות תוכנה - QA - קורסים נוספים המלצות תלמידים על PracticU
סיכום על רקורסיה - Recursion (הסבר נוסף) - C# Recursion
ממשיכים את סדרת שיעורי קורס יסודות התכנות ב-C#. בשיעור זה מקבלים הסבר נוסף ומעמיק על נושא הרקורסיה - Recursion: כותבים פונקציה שקוראת לעצמה, עוקבים אחרי מחסנית הקריאות בציור ובדיבאגר, וממחישים את הרעיון בשלוש דוגמאות הדרגתיות - הדפסת מספרים, כפל של מספרים שלמים באמצעות חיבורים חוזרים, ומגדל חנויות (Tower of Hanoi).
נושאי הסיכום המוצגים בשיעור:
1. הפונקציה הרקורסיבית הראשונה PrintNums: בפרויקט Console Application חדש בשם Recursive בונים namespace Recursive עם מחלקת Program, ובתוך static void Main(string[] args) קוראים ל-PrintNums(9); המתודה static void PrintNums(int num) בודקת תנאי עצירה if (num > 0) ובתוכו מוסיפים בהדרגה את הקריאה הרקורסיבית PrintNums(num - 1); כך שכל קריאה מטפלת במספר הנוכחי ואז מפקידה את הטיפול במספר הקטן ממנו אל הקריאה הבאה של אותה פונקציה עצמה.
2. מחסנית הקריאות בציור: כדי להמחיש מה קורה מאחורי הקלעים מציירים ב-Paint את מסגרות הפונקציה: num=9, num=8, num=7 וכך הלאה עד num=0, כאשר מכל מסגרת יוצא חץ f(num-1) אל המסגרת הבאה המייצג את הקריאה הרקורסיבית; במסגרת של num=0 הקריאה מסומנת כמחוקה, כי שם התנאי כבר אינו מתקיים והרקורסיה נעצרת.
3. סדר ההדפסות - לפני ואחרי הקריאה הרקורסיבית: בודקים את ההבדל בין שתי אפשרויות סידור: כאשר Console.WriteLine(num); נמצאת לפני PrintNums(num - 1); המספרים מודפסים בסדר יורד, וכאשר היא נמצאת אחרי הקריאה הרקורסיבית הם מודפסים בסדר עולה; בגרסה הסופית משאירים שתי שורות הדפסה - אחת לפני ואחת אחרי הקריאה הרקורסיבית - ומוסיפים בלוק ה-else שורת סיום המדפיסה את המילה ZERO מוקפת במקפים, שמסמנת את תחתית המחסנית.
4. הרצה בקונסול ודיבוג עם Watch: מריצים את התוכנית ורואים בקונסול את רצף המספרים היורד, אחריו שורת ה-ZERO הירוקה ואז את הרצף העולה - המחשה חיה לכך שהקוד שלפני הקריאה הרקורסיבית רץ בירידה והקוד שאחריה רץ בעלייה במהלך ההתפרקות חזרה; במקביל מדגימים הרצת דיבוג עם נקודות עצירה וחלון Watch 1 שבו רואים את ערך num משתנה בין רמות הרקורסיה.
5. כפל רקורסיבי בעזרת חיבורים: בפרויקט חדש בשם RecursiveMultiplier כותבים ב-Main את השורות int x = 4; int y = 3; int res = Multiply(x, y); ומדפיסים את התוצאה; המתודה static int Multiply(int a, int b) מגדירה תנאי עצירה if (b == 1) שמחזיר return a; וב-else מבצעת קריאה רקורסיבית Multiply(a, b - 1) שתוצאתה נשמרת ב-int sumChild = Multiply(a, b - 1); ואז מחברת אליה את a בשורה int res = a + sumChild ומחזירה return res; - כלומר כפל ממומש כסכום של חיבורים רקורסיביים.
6. עקיבה אחרי הכפל בדיבאגר: מריצים את Multiply במצב דיבוג עם נקודת עצירה ועוקבים ב-Watch 1 אחרי ארבעת הערכים a, b, sumChild ו-res בכל רמת קריאה: בהתחלה res מאותחל ל-0, וככל שהקריאות מתפרקות חזרה הערכים מתמלאים עד שמתקבלים sumChild=8 ו-res=12 המוצגים באדום - תוצאת החישוב של 4 כפול 3.
7. מגדל חנויות - Tower of Hanoi: אחרי הצצה בתמונת המגדל בדף File:Tower of Hanoi.jpeg בוויקיפדיה, בפרויקט חדש בשם HanoiRec מגדירים const int rings = 3; ואחר כך מעלים את הערך ל-const int rings = 10;, ומ-Main קוראים ל-Hanoi(rings, 'A', 'B', 'C'); המתודה private static void Hanoi(int numOfRings, char source, char temp, char destination) מטפלת בתנאי העצירה numOfRings == 1 עם הערה בעברית על תנאי עצירה בסיסי, מקבעת ConsoleColor.Yellow ומדפיסה "Move Ring 1: {0}-->{1} (the smallest ring)"; ב-else מעבירים קודם את שאר הטבעות מהמקור אל העמוד העזר, מקבעים ConsoleColor.Red ומדפיסים את העברת הטבעת הנוכחית עם "Move Ring {0}: {1}-->{2}" בתוספת " (the biggest ring)" כאשר מדובר בטבעת התחתונה, ולבסוף מעבירים את שאר הטבעות מהעמוד העזר אל היעד.
8. פלט הרצת מגדל החנויות: עבור שלוש טבעות הקונסול מציג את רצף ההעברות המלא: "Move Ring 1: A-->C (the smallest ring)" בצהוב, "Move Ring 2: A-->B", "Move Ring 1: C-->B (the smallest ring)", "Move Ring 3: A-->C (the biggest ring)" באדום, "Move Ring 1: B-->A (the smallest ring)", "Move Ring 2: B-->C" ו"Move Ring 1: A-->C (the smallest ring)", והפלט מסתיים בשורת ה-Press any key to continue הירוקה המוכרת; כך רואים איך הרקורסיה מפרקת בעיה גדולה לתתי-בעיות זהות ופותרת אותן מהקטן אל הגדול.

בסיום השיעור הבנו לעומק את עקרון הרקורסיה: ראינו שפונקציה רקורסיבית בנויה מתנאי עצירה ומקריאה רקורסיבית של הפונקציה אל עצמה, עקבנו אחרי מחסנית הקריאות בציור ובדיבאגר, הבנו את ההבדל בין הצבת ההדפסה לפני או אחרי הקריאה הרקורסיבית, ממשנו כפל של מספרים שלמים באמצעות חיבורים רקורסיביים שהניב עבור 4 ו-3 את התוצאה 12, וסיימנו בדוגמת מגדל חנויות הקלאסית שמדפיסה בקונסול את רצף ההעברות של הטבעות בין שלושת העמודים. השיעור הבא עוסק בנושא פרוייקט גמר - קורס יסודות התכנות. SR1052RC
סקר שוק נכון לתאריך – 01/09/2011

הסבר קצר על שיטת הלימוד אונליין

צילמנו בסרטונים את כל ההרצאות של הקורס, כי ללמוד בכיתה לא נוח וגם יקר.
קורס בכיתה עולה מעל מ-17 אלף ₪ ואצלנו בסרטונים רק 350 ש"ח לחודש.
אם משהו לא ברור בסרטון תמיד אפשר להתקשר למרצה ולדבר איתו ישירות בטלפון.
המרצה זמין גם בווטסאפ וגם בצ'אט באתר המכללה.


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

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


מה לעשות אם לא מבינים משהו בסרט?

פשוט מאוד, מתקשרים למכללה ומדברים ישירות עם המרצה. אפשר גם להתכתב עם המרצה במייל או בווטסאפ או בצ'אט באתר.


האם יש לכם כיתות לימוד רגילות?

להשכיר כיתה + לשלם משכורת למרצה = 17 אלף ש"ח עלות הקורס לתלמיד.
אצלנו בסרטונים מקבלים אותו חומר לימוד
ואפילו יותר, כי אין מגבלה של זמן למרצה (כמו שיש בכיתה),
בנוסף מקבלים בדיוק אותה תעודה בינלאומית,
כי מבחן הוא מבחן אחיד לכולם המתבצע במרכז בחינות מורשה
והכי חשוב שמקבלים את אותם המרצים, שמלמדים בכיתה רגילה,
רק שצילמנו אותם בסרטונים
והמחיר בסרטונים רק 350 ש"ח ולא 17 אלף כמו בכיתה רגילה.



קיימים במכללה שני מסלולי לימוד:
  1. מסלול לימוד חופשי, בלי תעודה, להעשרת ידע כללי.
    מסלול לימוד חופשי, מתאים בעיקר למי שעובד בתחום וכבר יש לו תעודות והוא לא רוצה עוד מבחנים ותעודות.

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

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


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