קהילות פורומים, הורדות, יעוץ ותמיכה


+ תגובה לנושא
מציג תוצאות 1 עד 4 מתוך 4

רקורסיות

  1. #1
    Smoxer in your mind
    משתמש כבוד
    האוואטר של -Smoxer-
    תאריך הצטרפות
    11/2011
    הודעות
    8,881
    לייקים
    1181
    נקודות
    483
    פוסטים בבלוג
    3
    משפט מחץ
    Further gets colder until nothing was all that I saw around
    מין: זכר

    ברירת מחדל רקורסיות

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

    רקורסיה פשוטה
    בואו נתחיל ממשהו פשוט.
    נבנה מתודה בתוך המחלקה הראשית אשר קוראת לעצמה.

    לדוגמה:
    JAVA
    קוד PHP:
    public class Recursion {
        private static 
    void Method(){
            
    System.out.println("Print line . . .");
            
    Method();
        }
        public static 
    void main(String args[]){
            
    Method();
        }

    C#
    קוד PHP:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Runtime.InteropServices;

    namespace 
    ConsoleApplication1
    {
        class 
    Program
        
    {
            private static 
    void Method()
            {
                
    Console.WriteLine("Print line . . .");
                
    Method();
            }
            static 
    void Main(string[] args)
            {
                
    Method();
    Console.Read();
            }
        }

    C++
    קוד PHP:
    #include <iostream>

    using namespace std;

    class 
    Method{
    public:
        
    Method(){
            
    cout << "Print line . . ." << endl;
            
    Method();
        }
    };

    int main()
    {
        
    Method m;
        return 
    0;

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

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

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

    JAVA
    קוד PHP:
    public class Recursion {
        private static 
    void Method(int i){
            
            
    System.out.println("Print line " " . . .");
            if(
    20)
                
    Method(i+1);
        }
        public static 
    void main(String args[]){
            
    Method(1);
        }

    C#
    קוד PHP:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading;
    using System.Runtime.InteropServices;

    namespace 
    ConsoleApplication1
    {
        class 
    Program
        
    {
            private static 
    void Method(int i)
            {
                
    Console.WriteLine("Print line " " . . .");
                if(
    20)
                    
    Method(i+1);
            }
            static 
    void Main(string[] args)
            {
                
    Method(1);
                
    Console.Read();
            }
        }

    C++
    קוד PHP:
    #include <iostream>

    using namespace std;

    class 
    Method{
    public:
        
    Method(int i){
            
    cout << "Print line " << << " . . ." << endl;
            if(
    20)
                
    Method(i+1);
        }
    };

    int main()
    {
        
    Method m(1);
        return 
    0;


    אז לא כזה קשה אה?

    בהצלחה!

  2. קישורים ממומנים

  3. #2
    דמיון זאת הנשמה של העיצוב האוואטר של VisualMode
    שם פרטי
    גיל
    תאריך הצטרפות
    07/2011
    הודעות
    2,654
    לייקים
    242
    נקודות
    762
    מין: זכר

    ברירת מחדל

    אחלה מדריך ! חשוב מאוד לדעת את זה.

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


    בברכה,
    מנהל פורום צד שרת.

  4. #3
    משתמש מתחיל האוואטר של gibs0n
    תאריך הצטרפות
    01/2013
    הודעות
    382
    לייקים
    21
    נקודות
    50
    מין: זכר

    ברירת מחדל

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

  5. #4
    משתמש מתחיל
    תאריך הצטרפות
    09/2012
    הודעות
    182
    לייקים
    5
    נקודות
    2,659
    מין: זכר

    ברירת מחדל

    תודה רבה על המידע



    Photoshop , After Effects , Premier






תגיות בנושא זה

הרשאות פרסום

  • אין באפשרותך לפרסם נושאים חדשים
  • אין באפשרותך לפרסם תגובות
  • אין באפשרותך לצרף קבצים
  • אין באפשרותך לערוך את הודעותיך


כל הזמנים הם לפי GMT +3. השעה כרגע היא 20:07.
מופעל על ידי vBulletin™ © גרסה 4.1, 2011 vBulletin Solutions, Inc. כל הזכויות שמורות.
נושאים: 2,449,570 | הודעות: 8,150,152 | משתמשים: 315,603 | המשתמש החדש ביותר: upizijoj | עיצוב גרפי: סטודיו עודד בביוף | קידוד: rellect