Unconfigured Ad Widget

تقليص

إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

تحدي الخوارزميات (التحدي الثاني)

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • تحدي الخوارزميات (التحدي الثاني)

    السلام عليكم


    وقت التحدي الثاني من تحديات الخوارزميات
    بما أن الإستجابة بطيئة شوي افضل نخلي الوقت يومان
    المهم بعد التحدي الأول دور التحدي الثاني وهو كالتالي:

    - السؤال الأول : حل معادلة من الدرجة الأولى بمتغير واحد

    - السؤال الثاني : حول النص الآتي إلى شيفرة مورس المكتوبة (..-.)

    النص هو (MAX FORUMS)
    ملاحظة : النص كما هو بالفواصل يعني MAX كلمة و FORUMS كلمة

    مساعدة بسيطة :

    بالنسبة لشيفرة مورس انظر الصورة الآتية تفهم قصدي اضغط على الصورة لعرض أكبر. 

الإسم:	International_Morse_Code-ar.svg.png 
مشاهدات:	1 
الحجم:	15.8 كيلوبايت 
الهوية:	3314677
    أو راجع الرابط التالي :
    http://ar.wikipedia.org/wiki/%D8%B4%...88%D8%B1%D8%B3


    مدة التحدي يومان


    استمتعوا ^_^
    イブラヒムです
    Baaaaaaaaak


  • #2
    السلام عليكم...

    حل المسألة الأولى بالسي بلس بلس:
    كود:
    #include <iostream>
    using namespace std;
    int main()
    {
        double a, b;
    
        cin >> a >> b;
    
        cout << a <<"x" << (b>0 ? " + " : " - ") << (b>0?b:b*-1) << " = " << 0 << endl;
        a == 0?
        b == 0?
         cout << "The equation has multiple solutions!" << endl
         :cout << "The equation cannot be soulved!"
        :cout << "x = " << (b==0?b:-b) / a;
    
        return 0;
    }
    حل المسألة الثانية بالسي بلس بلس
    كود:
    #include <iostream>
    using namespace std;
    
    string convert(char x);
    
    char dots[5][18] = {
        {'A','E','F','H','I','J','L','P','R','S','U','V','W','1','2','3','4','5'},
        {'B','C','D','F','H','I','K','N','S','U','V','X','Y','2','3','4','5','6'},
        {'B','D','G','H','L','Q','R','S','V','X','Z','3','4','5','6','7',' ',' '},
        {'B','C','F','H','L','P','Z','4','5','6','7','8',' ',' ',' ',' ',' ',' '},
        {'5','6','7','8','9',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' '}
                    };
    int charLen[26] = {2,4,4,3,1,4,3,4,2,4,3,4,2,2,3,4,4,3,3,1,3,4,3,4,4,4};
    
    int main()
    {
        string str = "MAX FORUMS";
        string morse;
    
        for (int i = 0;i < str.length();i++)
        {
            morse += convert(str[i]);
            morse += " ";
        }
    
        cout << morse;
    
        return 0;
    }
    
    string convert(char x)
    {
        if (x == ' ') return " ";
    
        string morse;
        int n = 5;
    
        if (x >= 'A' && x <= 'Z')
            n = charLen[ int(x-'A') ];
    
        for (int i = 0;i < n;i++)
        {
            for (int ii = 0;ii < 18;++ii)
            {
                if(dots[i][ii] == ' ')
                    break;
                if(dots[i][ii] == x)
                {
                    morse += '.';
                    break;
                }
            }
    
            if (morse.length()-1 != x) morse += '-';
        }
    
        return morse;
    }
    التعديل الأخير تم بواسطة BLackx; 05 / 07 / 2014, 08:45 AM. سبب آخر: تعديل حل المسألة الأولى

    تعليق


    • #3
      مرة اخرى يسبقني blackx ^_^

      الحل بالسي++

      المسألة الأولى
      كود:
      #include <iostream>
      using namespace std;
      
      int main()
      {
          cout << "a (x) + b = 0" << endl;
          float a, b;
          cout << "enter a... " << endl; cin >> a;
          cout << "enter b... " << endl; cin >> b;
          cout << -b/a;
          
         return 0;
      }
      لم استطع حلها بالسي++ لذا استخدمت السي شارب ..
      حل المسألة الثانية
      كود:
      using System.IO;
      using System;
      
      class Program
      {
          static void Main()
          {
              string s = "MAX FORUMS";
              
              string morsCode = "";
              
              char[] words = s.ToCharArray();
              foreach(var c in words)
                  morsCode = morsCode + ConvertToMors(c) + " | ";
              
              Console.WriteLine("MAX FORUMS -> \n" + morsCode);
          }
          
          static string ConvertToMors(char s)
          {
              if(s == ' ')
                  return " ";
              else
              {
                  switch(s)
                  {
                      case 'A' : return "._";
                      case 'B' : return "_...";
                      case 'C' : return "_._.";
                      case 'D' : return "_..";
                      case 'E' : return ".";
                      case 'F' : return ".._.";
                      case 'G' : return "__.";
                      case 'H' : return "....";
                      case 'I' : return "..";
                      case 'J' : return ".___";
                      case 'K' : return "_._";
                      case 'L' : return "._..";
                      case 'M' : return "__";
                      case 'N' : return "_.";
                      case 'O' : return "___";
                      case 'P' : return ".__.";
                      case 'Q' : return "__._";
                      case 'R' : return "._.";
                      case 'S' : return "...";
                      case 'T' : return "_";
                      case 'U' : return ".._";
                      case 'V' : return "..._";
                      case 'W' : return ".__";
                      case 'X' : return "_.._";
                      case 'Y' : return "_.__";
                      case 'Z' : return "__..";
                  }
              }
              
              return "";
          }
      }
      UDK-Team

      UNREAL ENGINE 4

      تعليق


      • #4
        المشاركة الأصلية بواسطة maya.help مشاهدة المشاركة
        مرة اخرى يسبقني blackx ^_^

        الحل بالسي++

        المسألة الأولى
        كود:
        #include <iostream>
        using namespace std;
        
        int main()
        {
            cout << "a (x) + b = 0" << endl;
            float a, b;
            cout << "enter a... " << endl; cin >> a;
            cout << "enter b... " << endl; cin >> b;
            cout << -b/a;
            
           return 0;
        }
        لم استطع حلها بالسي++ لذا استخدمت السي شارب ..
        حل المسألة الثانية
        كود:
        using System.IO;
        using System;
        
        class Program
        {
            static void Main()
            {
                string s = "MAX FORUMS";
                
                string morsCode = "";
                
                char[] words = s.ToCharArray();
                foreach(var c in words)
                    morsCode = morsCode + ConvertToMors(c) + " | ";
                
                Console.WriteLine("MAX FORUMS -> \n" + morsCode);
            }
            
            static string ConvertToMors(char s)
            {
                if(s == ' ')
                    return " ";
                else
                {
                    switch(s)
                    {
                        case 'A' : return "._";
                        case 'B' : return "_...";
                        case 'C' : return "_._.";
                        case 'D' : return "_..";
                        case 'E' : return ".";
                        case 'F' : return ".._.";
                        case 'G' : return "__.";
                        case 'H' : return "....";
                        case 'I' : return "..";
                        case 'J' : return ".___";
                        case 'K' : return "_._";
                        case 'L' : return "._..";
                        case 'M' : return "__";
                        case 'N' : return "_.";
                        case 'O' : return "___";
                        case 'P' : return ".__.";
                        case 'Q' : return "__._";
                        case 'R' : return "._.";
                        case 'S' : return "...";
                        case 'T' : return "_";
                        case 'U' : return ".._";
                        case 'V' : return "..._";
                        case 'W' : return ".__";
                        case 'X' : return "_.._";
                        case 'Y' : return "_.__";
                        case 'Z' : return "__..";
                    }
                }
                
                return "";
            }
        }
        صادف فقط اني كنت فاتح لدى طرح التحدي ؛)

        بالنسبة للمساة الثانية السي شارب شبيه جدا بالس بلس بلس استغرب لماذا لم تستطع تطبيقها بالسي واعتقد انك عملت الاسترينج او السلسة النصية تساوي "" في السي الحل انك فقط تنشئها من غير ما تساويها لنص فارغ
        ارجو يكون كلامي واضح #_#

        تعليق


        • #5
          لي عودة بحلي
          لكن أحب أنوه على شي رياضي لكم الأثنين حل المسألة الأولى ناقص
          حل المعادلة من الدرجة الأولى بمتغير يحتمل ثلاث أحتمالات أنتم عملتم أحتمال واحد فقط
          ما بزيد عشان لو حد عنده الجواب الكامل ما أحرقه عليه أتمنى يكون التلميح كافي
          イブラヒムです
          Baaaaaaaaak

          تعليق


          • #6
            السلام عليكم ...

            الحل بالبايثون ::

            المسألة الأولى :

            كود:
            print ("A * x + B = C")
            print ("*******************************")
            
            a = float(input('A = '))
            
            b = float(input('B = '))
            
            c = float(input('C = '))
            
            if a != 0 :
                x = (c-b)/a
                print ("x = %f" % (x))
            elif a == 0 and (c-b) == 0 :
                print (" There is an infinite ...... of solutions")
            elif a == 0 :
                print ("Can't divide by Zero")
            المسألة الثانية :

            كود:
            def ConvertToMorse(text) :
                
                UpperText = text.upper()
                
                Alphabet = {'A' : '. ..', 'B' : '.. . . .', 'C' : '.. . .. .', 'D' : '.. . .', 'E' : '.', 'F' : '. . .. .', 'G' : '.. .. .', 'H' : '. . . .', 'I' : '. .', 'J' : '. .. .. ..', 'K' : '.. . ..', 'L' : '. .. . .', 'M' : '.. ..', 'N' : '.. .', 'O' : '.. .. ..', 'P' : '. .. .. .', 'Q' : '.. .. . ..', 'R' : '. .. .', 'S' : '. . .', 'T' : '..', 'U' : '. . ..', 'V' : '. . . ..', 'W' : '. .. ..', 'X' : '.. . . ..', 'Y' : '.. . .. ..', 'Z' : '.. .. . .', ' ': '    '}
                
                Result = ""
                
                for x in range(len(UpperText)) :
                    Result += Alphabet[UpperText[x]] + '   '
                    
                return Result
            
            
            print (ConvertToMorse("Max Forums"))
            التعديل الأخير تم بواسطة Khalidsrri; 07 / 07 / 2014, 08:44 PM.

            تعليق


            • #7
              المشاركة الأصلية بواسطة imb مشاهدة المشاركة
              لي عودة بحلي
              لكن أحب أنوه على شي رياضي لكم الأثنين حل المسألة الأولى ناقص
              حل المعادلة من الدرجة الأولى بمتغير يحتمل ثلاث أحتمالات أنتم عملتم أحتمال واحد فقط
              ما بزيد عشان لو حد عنده الجواب الكامل ما أحرقه عليه أتمنى يكون التلميح كافي
              تم التعديل بانتظار حلك

              التحدي القادم ياريت يكون اليوم

              تعليق


              • #8
                المشاركة الأصلية بواسطة Khalidsrri مشاهدة المشاركة
                السلام عليكم ...

                الحل بالبايثون ::

                المسألة الأولى :

                كود:
                print ("A * x + B = C")
                print ("*******************************")
                
                a = float(input('A = '))
                
                b = float(input('B = '))
                
                c = float(input('C = '))
                
                if a != 0 :
                    x = (c-b)/a
                    print ("x = %f" % (x))
                else :
                    print ("Can't divide by Zero")
                المسألة الثانية :

                كود:
                def ConvertToMorse(text) :
                    
                    UpperText = text.upper()
                    
                    Alphabet = {'A' : '. ..', 'B' : '.. . . .', 'C' : '.. . .. .', 'D' : '.. . .', 'E' : '.', 'F' : '. . .. .', 'G' : '.. .. .', 'H' : '. . . .', 'I' : '. .', 'J' : '. .. .. ..', 'K' : '.. . ..', 'L' : '. .. . .', 'M' : '.. ..', 'N' : '.. .', 'O' : '.. .. ..', 'P' : '. .. .. .', 'Q' : '.. .. . ..', 'R' : '. .. .', 'S' : '. . .', 'T' : '..', 'U' : '. . ..', 'V' : '. . . ..', 'W' : '. .. ..', 'X' : '.. . . ..', 'Y' : '.. . .. ..', 'Z' : '.. .. . .', ' ': '    '}
                    
                    Result = ""
                    
                    for x in range(len(UpperText)) :
                        Result += Alphabet[UpperText[x]] + '   '
                        
                    return Result
                
                
                print (ConvertToMorse("Max Forums"))
                جميل أهلا بك بيننا عمل رائع خصوصا أنك حليت المسألة الأولى بإحتمالين بقي الإحتمال الثالث
                イブラヒムです
                Baaaaaaaaak

                تعليق


                • #9
                  المشاركة الأصلية بواسطة BLackx مشاهدة المشاركة
                  تم التعديل بانتظار حلك

                  التحدي القادم ياريت يكون اليوم
                  خطييييييير
                  قلت لك حماستك إبداعية
                  حلي في الرد التالي
                  イブラヒムです
                  Baaaaaaaaak

                  تعليق


                  • #10
                    السلام عليكم
                    هذا حل المسألة الثانية تبع مورس الحل مختصر شوي لكن إن شاء الله بكمله المهم أنه يحل المسألة
                    الحل حاولت أخليه إستثنائي (أنا لدي بطاقة أردوينو البرمجية لمن لا يعرفها ابحث عن arduino
                    http://en.wikipedia.org/wiki/Arduino )
                    فقلت خلينا أستخدمها في الحل أضفت led صغير للمربط 13 في البطاقة وحولت الكود إلى إضائة بدل كتابة يعني يغمز عشان يتكلم برفع فيديو فيما بعد عشان التوضيح الكود هو هذا البرمجة بإستخدام بيئة أردوينو بلغة c/c++

                    كود:
                    int led = 13;
                    
                    void setup() {
                      
                    pinMode(led, OUTPUT);
                    }
                    
                    void loop () {
                    maxforums ();
                    longstop();
                    }
                    
                    void dot() {
                    digitalWrite(led, HIGH);
                    delay(300);
                    digitalWrite(led, LOW);
                    delay(300);
                    }
                    
                    void longdot () {
                    digitalWrite(led, HIGH);
                    delay(1000);
                    digitalWrite(led, LOW);
                    delay(300);
                    }
                    
                    void stopdot () {
                    delay (900);
                    }
                    
                    void longstop () {
                    delay (2100);
                    }
                    
                    void A () {
                    dot();
                    longdot();
                    stopdot();
                    }
                    
                    void M () {
                    longdot();
                    longdot();
                    stopdot();
                    }
                    
                    void X () {
                    longdot();
                    dot();
                    dot();
                    longdot();
                    stopdot();
                    }
                    
                    void FF () {
                    dot();
                    dot();
                    longdot();
                    dot();
                    stopdot();
                    }
                    
                    void U () {
                    dot();
                    dot();
                    longdot();
                    stopdot();
                    }
                    
                    void O () {
                    longdot();
                    longdot();
                    longdot();
                    stopdot();
                    }
                    
                    void R () {
                    dot();
                    longdot();
                    dot();
                    stopdot();
                    }
                    
                    void S () {
                    dot();
                    dot();
                    dot();
                    stopdot();
                    }
                    
                    
                    
                    void maxforums () {
                    M(); A(); X(); longstop(); FF(); O(); R(); U(); M(); S();
                    }
                    イブラヒムです
                    Baaaaaaaaak

                    تعليق


                    • #11
                      جمييلة الفكرة تعملها ب اردينو اللي نفسي يوم يكون عندي واقدر اشتريه ):
                      ننتظر الفيديو لنرى كيف سيعمل

                      تعليق


                      • #12
                        أخي الحبيب ابراهيم مرحبا ً بعودتك وبطلتك البهية التي نورت لها أقسام المنتدى
                        ان شاء الله عودة موفقه ومن غير انقطاع
                        تحياتي واحترامي
                        My Channel
                        UDK And 3d max tutorial
                        Facebook page
                        علي الجابر
                        لبيك يا اقصانا
                        http://up.foraten.net/f/foraten.net_13417550011.swf

                        تعليق


                        • #13
                          المشاركة الأصلية بواسطة BLackx مشاهدة المشاركة
                          جمييلة الفكرة تعملها ب اردينو اللي نفسي يوم يكون عندي واقدر اشتريه ):
                          ننتظر الفيديو لنرى كيف سيعمل
                          شكرا الفيديو برفعه إن شاء الله
                          أنا صبرت سنتين ممكن أو أكثر ببرنامج محاكاة لحد ما ربي يسرها وقدرت أشتريها
                          إن شاء الله ربي بيوفقك وتقدر عليها كمان ^^
                          イブラヒムです
                          Baaaaaaaaak

                          تعليق


                          • #14
                            المشاركة الأصلية بواسطة UDK-Team مشاهدة المشاركة
                            أخي الحبيب ابراهيم مرحبا ً بعودتك وبطلتك البهية التي نورت لها أقسام المنتدى
                            ان شاء الله عودة موفقه ومن غير انقطاع
                            تحياتي واحترامي
                            هلا أخوي علي النور نورك شكرا لك إن شاء الله يا رب
                            ياريت تشرفنا في التحدي لو فاضي ولو بمسألة بس
                            イブラヒムです
                            Baaaaaaaaak

                            تعليق


                            • #15
                              الفيديو عذرا على التأخير


                              イブラヒムです
                              Baaaaaaaaak

                              تعليق

                              يعمل...
                              X