بتاريخ: 9 مايو 200817 سنة comment_128369 لدي السؤال التالي : Write a Pl/SQL program using While loop , which will accept integer from 1 to 00 and generate the prime numbers as showen in the following output :The prime numbers from 1 to 50 are as follows :1,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47 أريد ان اعرف كيف لي ان اقوم بحساب Prime numbers بالإضافة إلى While loop تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة comment_128376 السلام عليكم.المشاركه التاليه متشابهه جداً مع ما تطلبه. حول ال basic loop إلى while loop. تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة كاتب الموضوع comment_128399 How can I do it without using procedure ? Write a Pl/SQL program using While loop , which will accept integer from 1 to 50 and generate the prime numbers as showen in the following output : The prime numbers from 1 to 50 are as follows :1,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47 تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة comment_128432 How can I do it without using procedure But as you can find out form your above task you should clue this via using a PL/SQL program which means you should create either a procedure or a function. So what do you need exactly? clarify this plz.the second matter is that whether these prime numbers will be created as they are shown or they will be created according to a specific sequence? if so plz inform me about the mechanism of this sequence nd in turn I will try to answer this or anybody else.THANKS... تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة كاتب الموضوع comment_128442 السلام عليكم ...لمعرفة هل الرقم برايم ام لا ستكون الفكرة كالتالي : FOR i = 1 to 50 FOR j = 2 to (50-1) IF mod (50,j)=0 THEN DBMS_output.put_line('It is not a prime ');else DBMS_output.put_line(i); END FOR LOOPEND FOR LOOP فكرة البرنامج ككل : Declare num number :=50;BeginDBMS_output.put_line('The prime numbers from 1 to 50 are as follows ');while mod(num,1)=0 and mod (num,num)=0 loopDBMS_output.put_line(num);end loop;end;/ بالنسبة لسؤالك , these prime numbers will be created as they are shown سيكون الناتج على الشاشة هو التالي فقط : The prime numbers from 1 to 50 are as follows :1,2,3,5,7,11,13,17,19,23,29,31,37,41,43,47 ولن نقوم بطلب ادخال قيمة من اليوزر لنحسب البرايم نمبرله , فقط سنحسب البرايم نمبر للعدد 50 تم تعديل 10 مايو 200817 سنة بواسطة Computeryah تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة comment_128448 وعليكم السلام.كلامك صحيح وهو ده إللي أنا فهمته أول مره. بس إللي لغبطني رقم 2 إللي مكتوب في النتيجه. بالنسبه لسؤالك أنا فهمته خطأ . لو أردت أن تقول بهذا من خلال ال SQL فهذا الكود سوف يفي بما تريد: select employee_id-99 "Number",decode(mod(employee_id-99,2),0,'PRIM','not prim') "Is prim ?" from employees where employee_id-99<=50; تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة comment_128449 select employee_id-99 "Number",decode(mod(employee_id-99,2),0,'not prim','PRIM') "Is prim ?" from employees where employee_id-99<=50; تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة كاتب الموضوع comment_128450 طيب إذا اردنا عمل البرنامج باستخدام الـ while loop ?كيف يمكننا ذلك ؟// لم اقم بدراسة الـ function حتى الآن ... > اقصد decode ... تم تعديل 10 مايو 200817 سنة بواسطة Computeryah تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة comment_128452 ال DECODE هي داله FUNCTION يتم دراستها من خلال منهج ال SQL وهي مهمه جداً لإستخدامها في التقارير.بالنسبه لطلبك بإستخدام ال WHILE LOOP . إللي أعرفه أن ال PRIM NUMBERS هي الأعداد التي لا تقبل القسمه على 2وهذا هو ال PROCEDURE : create or replace procedure get_odd(top number) is counter number(10):=0; total number(5):=0; begin [b]while counter <top loop[/b] if mod(counter,2)<>0 then dbms_output.put_line(counter); total:=total+1; end if; counter:=counter+1; end loop; dbms_output.put_line('The tatal is '||total); end; ولتنفيذه: EXECUTE get_odd(60); أتمنى أن أكون نفذت ما تريد وأي سؤال أنا مرحب به جداً... تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة كاتب الموضوع comment_128455 رائع ...ولكن عندما جربت تنفيذة للرقم 50 يظهر لي مع النواتج رقم 49 و 49 ليس برايم نمبز لانه يقبل القسمة على 7 ..البرايم نمبر هي الأرقام التي لا تقبل القسمة إلا على نفسها او الرقم 1 تم تعديل 10 مايو 200817 سنة بواسطة Computeryah تقديم بلاغ
بتاريخ: 10 مايو 200817 سنة كاتب الموضوع comment_128459 أظن اننا يجب ان نستخدم 2 loop لنجعل البرنامج يقوم بعمل قسمه على جميع الأرقام FOR i = 1 to 50 FOR j = 2 to (50-1) تقديم بلاغ
بتاريخ: 11 مايو 200817 سنة comment_128493 أولاً أخي أنا آسف لعدم التكمله معك أمس لإن جهازي فصل مني. وشكراً جداً لأنك فكرتني بمعنى ال prime number لأني كنت ناسيه خاااااااالص فجزاك الله خيراً. مظبوط جداً لازم 2 loop وهايكونوا nested loops . معلش أنا كنت فاهم ال prime غلط عشان كده أنا جاوبت غلط. هاعملها وأرد عليك..... تقديم بلاغ
بتاريخ: 11 مايو 200817 سنة comment_128555 خد جملة ال select هذه تقوم بما تريد: with t as (select level+1 id from dual connect by level < &bound ) select id from t x1 where not exists ( select 1 from t x2 where mod(x1.id , x2.id) = 0 and x2.id>1 and x2.id<ceil(x1.id/2)+1 ) and x1.id<10000 and x1.id>0 للأمانه الموضوع منقول........ تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.