برنامج بسيط


(الهمة الوقادة) #1

ا[SIZE=“6”]لسلام عليكم

اتمنى لو في احد يقدر يساعدي في عمل البرنامج المرفق
اريد عمله عن طريق m.file
لما سألت عن معنى السؤال قالو لي انو اذا كان العدد لايقبل القسمه على 2 3 5 وليس له جذر يكون هو تعريف للعدد الاولي .

اتمنى الي يكون عندو مجرد فكرة ولو عابره يفيدني فيها

وشكرا .[/size]


#2

اخى العزيز الحل موجود كل ما عليك هو تطبيقه على الماتلاب
ويمكنك اعطاءك مساعدة بسيطة عن كيفية قراءة متغير فى الماتلاب من اليوزر عن طريق استخدام الامر input


(الهمة الوقادة) #3

[SIZE=“4”]شكرا اخي على الرد

بس انا اعرف اني باستخدم input بس المشكله هي في معنا السؤال
وكيف اني اختبر العدد من حيث انو اولي او لا.

ارجو ا اني ما أزعجتك بس لو ممكن توضحلي المطلوب أكثر من كذا.

و اكرر شكري.[/size]


#4

طريقة اختبار العدد اذا كان اولى او لا موجودة فى فى الصورة التى ارسلتها


(الهمة الوقادة) #5

لو سمحت وضحلي لاني لو راح انفذ الخطوات راح يعتبر اول شرط ان m>1 متحقق وكذا راح يكون البرنامج غلط


(eng bosy) #6

بالله عليكم ساعدوها


#7

اول حاجة تفرضى ان العدد اولى
وبعدين تشوفى انه زوجى ولا يساوى 2 اذا تحقق الشرط ده يبقى العدد مش اولى


(الهمة الوقادة) #8

شكرا لكم على المساعده

ممكن لو ماعندكم مانع تتطلعوا على المرفق
هل هذا راح يختبرلي العدد اولي او لا…؟ وشكرا


#9

هذا البرنامج خطأ
لا تستعمل syms
قم بعمل الخطوات كما هو مذكور فى اول الموضوع
واضح ايضا انه خبرتك ضعيفة جدا بالماتلاب لذلك يرجى اولا قراءة باب البرمجة فى ال getting started


m=input('enter the number ');
syms a 
if (m/2==fix(m/2) |m/3==fix(m/3) | m/5==fix(m/5)) & m~=2& m~=3 & m~=5; 
    disp('fals')
else 
    disp('true')
end

(الهمة الوقادة) #10

اسفه انا كنت اجرب syms ونسيت امسحها
ايوة انا اول مرة ادرس مادة برمجه عشان كذا تعبتكم معايه.
شكرا على الايضاح هرجع اجرب من جديد .


#11

ربنا يوفقك


(الهمة الوقادة) #12
m=input('enter the number ');
if ~((m/2==fix(m/2) |m/3==fix(m/3) | m/5==fix(m/5)) & m~=2& m~=3 & m~=5); 
    disp('true')
end
if m/2==fix(m/2) & m~=2;
    disp('fals')
else
    s=round(sqrt(m))
end

طيب الى كدا اوك ولا لسه غلط
اذا كان غلط ممكن الي فاهم السؤال يوضحلي في كل حاله المفروض يطلع معايه ايه
يعني مثلا لما ادخل 9 ايه المفروض يطلع الناتج

انا عارفه اني طولت عليكم لكن اختباري يوم السبت .


#13

واضح جدا انك مش فاهمة السؤال وعلشان كده الاجابة خطا جدا وبعيدة عن الصح
اولا حاولى تعملى اول خطوة
1- قراءة الرقم
2- ضعى هذا العدد يساوى true

فى الحقيقة انا لا اعلم لماذا استخدمتى fix ولماذا تقسمى العدد على 2 وعلى 4 وهكذا


#14

على فكرة ايضا البرنامج المذكور يقوم بايجاد العدد الاولى ولكن ليس بنفس الطريقة التى ذكرتيها فى اول الموضوع


(الهمة الوقادة) #15
m=input('enter the number')
disp('let the number be prime')
if m/2==fix(m/2) & m~=2;
    disp('Prime=fals')
end
    s=round(sqrt(m));
    d=3;
    d<=s;
    a=d+1;
    b=d+2;
    if m/d==fix(m/d) & m~=3;
        disp('Prime=fals')
        disp(a)
    end
        if m/5==fix(m/5) & m~=5;
            disp('Prime =fals')
        else
            disp(b)
            disp('Prime=true')
        end

هذي محاوله ثانيه


(الهمة الوقادة) #16

استخدمت fix عشان اتاكد ان ناتج القسمه على 2, 3,5 يكون من غير باقي


#17

الحل ليس كما هو مطلوب فى السؤال


(الهمة الوقادة) #18

طيب انا آسفه على الازعاج
بس الي فاهم السؤال يرجع يكتب هنا ويكتبوا كلو بالانجليزي او كلو بالعربي


#19

انتى ليه مش عايزة تحلى السؤال بنفسك ؟


(الهمة الوقادة) #20

انا مش قلت حلو ليا انا قلت اشرحلي معنا السؤال