بتاريخ: 15 مارس 20179 سنة comment_284283 السلام عليكم .. عندي هالمسألة مو راضية تضبط معي فياليت تساعدوني ... أكتب برنامج يقوم بالآتي : ايجاد و طباعة ناتج جمع الأرقام الزوجية بين رقمين يدخلهما المستخدم ، على أن لا يزيد عدد الأرقام الزوجية التي سيتم جمعها عن 5 أرقام . ملاحظة الحل بطريقتين بحلقة التكرار المحدودة for و المشروطة loop .. محاولتي اليائسة DECLARE X NUMBER ; Y NUMBER ; Q number ; V number := 0; begin X := :VALUE_X ; Y := :VALUE_Y ; Q= Y-X; for i in X..Y loop V := V+2; dbms_output.put_line (V); end loop; end; تقديم بلاغ
بتاريخ: 16 مارس 20179 سنة comment_284323 السؤال يخص قسم SQL/PLSQL وليس قسم الجافا !!! عموماً هذه هي فكرة الحل declare n1 number(4); n2 number(4); sum number(4); i number(4); begin n1:=&n1; n2:=&n2; sum:=0; for i in n1..n2 loop loop if mod(i,2)=0 then sum:=sum+i; end loop; dbms_output.put_line('Sum of even digit = ' || sum); end; / تقديم بلاغ
بتاريخ: 18 مارس 20179 سنة comment_284506 السلام عليكم ورحمة الله وبركاته أكتب برنامج يقوم بالآتي : ايجاد و طباعة ناتج جمع الأرقام الزوجية بين رقمين يدخلهما المستخدم ، على أن لا يزيد عدد الأرقام الزوجية التي سيتم جمعها عن 5 أرقام . مثال : اذا أدخل المستخدم 10 و 28 (يتم جمع بحد أقصى خمسة أرقام زوجية بينهما) 12+14+16+18+20 . مثال آخر : اذا أدخل المستخدم 16 و 21 (يتم جمع بحد أقصى خمسة أرقام زوجية بينهما) 16+18+20 . هذه محاولتي بالفور مااقدرت اجمع 5 اعداد وباقي لي باللووب وشكرا لك هذه محاولتي DECLARE X NUMBER ; y NUMBER ; w NUMBER := 1; BEGIN X := :VALUE_X ; y := :VALUE_y ; FOR T IN x..y LOOP IF MOD(T,2) = 0 THEN w:=w+T END IF; END LOOP; DBMS_OUTPUT.PUT_Line('النتيجة = ' || w); END; تقديم بلاغ
بتاريخ: 18 مارس 20179 سنة comment_284517 حل متجرب يا عم الحج رغم انك مش ها تقابل مشاكل زي دي في الشغل كتير DECLARE V_count NUMBER := 0; Num1 NUMBER; Num2 NUMBER; v_sum NUMBER := 0; BEGIN num1 := 1; num2 := 7; FOR i IN num1 .. num2 LOOP IF MOD (i, 2) = 0 THEN v_count := v_count + 1; v_sum := v_sum + i; EXIT WHEN v_count = 5; END IF; END LOOP; DBMS_OUTPUT.put_line (v_count); DBMS_OUTPUT.put_line (v_sum); END; تقديم بلاغ
بتاريخ: 19 مارس 20179 سنة كاتب الموضوع comment_284592 حل متجرب يا عم الحج رغم انك مش ها تقابل مشاكل زي دي في الشغل كتير DECLARE V_count NUMBER := 0; Num1 NUMBER; Num2 NUMBER; v_sum NUMBER := 0; BEGIN num1 := 1; num2 := 7; FOR i IN num1 .. num2 LOOP IF MOD (i, 2) = 0 THEN v_count := v_count + 1; v_sum := v_sum + i; EXIT WHEN v_count = 5; END IF; END LOOP; DBMS_OUTPUT.put_line (v_count); DBMS_OUTPUT.put_line (v_sum); END; يعطيك العافية عزيزي , لكن الارقام اريد المستخدم يدخلها ويطبع المجموع فقط . تقديم بلاغ
بتاريخ: 19 مارس 20179 سنة comment_284610 السلام مشكور باقي طريقة loop فقط لحاله بدون for ممكن تقديم بلاغ
بتاريخ: 20 مارس 20179 سنة comment_284651 حل متجرب يا عم الحج رغم انك مش ها تقابل مشاكل زي دي في الشغل كتير DECLARE V_count NUMBER := 0; Num1 NUMBER; Num2 NUMBER; v_sum NUMBER := 0; BEGIN num1 := 1; num2 := 7; FOR i IN num1 .. num2 LOOP IF MOD (i, 2) = 0 THEN v_count := v_count + 1; v_sum := v_sum + i; EXIT WHEN v_count = 5; END IF; END LOOP; DBMS_OUTPUT.put_line (v_count); DBMS_OUTPUT.put_line (v_sum); END; اخي باقي حل ثاني وهو loop فقط بدون for وشكرا لك تم تعديل 20 مارس 20179 سنة بواسطة dhooom تقديم بلاغ
بتاريخ: 21 مايو 20178 سنة comment_286936 انا مستخدم for loop علشان انا عارف العدد الي ها اعمل Iterate عليه لكن loop لو عاوزه مرة واحدة و يطلع كل الطرق تؤدي إلي روما دزاك الله خيراً تقديم بلاغ
بتاريخ: 21 مايو 20178 سنة comment_286937 و بعدين عندك متغيرين بيجيبوا الناتج واحد للعدد v_count و واحد لمجموعهم v_sum جرب و راجع تقديم بلاغ
بتاريخ: 21 مايو 20178 سنة comment_286938 حل متجرب يا عم الحج رغم انك مش ها تقابل مشاكل زي دي في الشغل كتير DECLARE V_count NUMBER := 0; Num1 NUMBER; Num2 NUMBER; v_sum NUMBER := 0; BEGIN num1 := 1; num2 := 7; FOR i IN num1 .. num2 LOOP IF MOD (i, 2) = 0 THEN v_count := v_count + 1; v_sum := v_sum + i; EXIT WHEN v_count = 5; END IF; END LOOP; DBMS_OUTPUT.put_line (v_count); DBMS_OUTPUT.put_line (v_sum); END; يعطيك العافية عزيزي , لكن الارقام اريد المستخدم يدخلها ويطبع المجموع فقط . يا أخي انت اعملها في procedure و حط الباراميترات الي انت عاوزها أقرأ الكود مش لازم ييجي جاهز يعني تقديم بلاغ
انضم إلى المناقشة
يمكنك المشاركة الآن والتسجيل لاحقاً. إذا كان لديك حساب, سجل دخولك الآن لتقوم بالمشاركة من خلال حسابك.