إنتقال للمحتوى

  • تسجيل الدخول عبر الفيس بوك تسجيل الدخول عبر تويتر Log In with LinkedIn Log In with Google      تسجيل دخول    
  • إنشاء حساب

صورة
- - - - -

مشلكة فى كود


4 رد (ردود) على هذا الموضوع

#1 محمود شومان

محمود شومان

    عضو

  • الأعضــاء
  • 14 مشاركة

تاريخ المشاركة 08 November 2008 - 03:14 PM

DECLARE
linecount NUMBER := &n;
v VARCHAR2 (2000);
BEGIN FOR lineno IN 1 .. 2*linecount-1 loop
FOR sp IN 1 .. linecount - lineno loop
v := v || '_';
END LOOp;
FOR st IN 1..linecount-sp loop
v:=v||'*';
end loop;
DBMS_OUTPUT.put_line (v);
v := '';
END LOOP;
END;
/


#2 hanyfreedom

hanyfreedom

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 08 November 2008 - 04:21 PM

أخى الكريم \ محمود شومان

هذا ما يظهر عندى :-

SQL> DECLARE
  2  linecount NUMBER := &n;
  3  v VARCHAR2 (2000);
  4  BEGIN FOR lineno IN 1 .. 2*linecount-1 loop
  5  FOR sp IN 1 .. linecount - lineno loop
  6  v := v || '_';
  7  END LOOp;
  8  FOR st IN 1..linecount-sp loop
  9  v:=v||'*';
 10  end loop;
 11  DBMS_OUTPUT.put_line (v);
 12  v := '';
 13  END LOOP;
 14  END;
 15  /
Enter value for n: 22
old   2: linecount NUMBER := &n;
new   2: linecount NUMBER := 22;
FOR st IN 1..linecount-sp loop
					   *
ERROR at line 8:
ORA-06550: line 8, column 24:
PLS-00201: identifier 'SP' must be declared
ORA-06550: line 8, column 1:
PL/SQL: Statement ignored

و هذا معناه أن ال sp ليس بمتغير معرف بال Declaration حتى يتم أستخدامه فى ال Executable Section .

انا مسحتها و الكود اتنفذ عادى .... هكذا :-

DECLARE
linecount NUMBER := &n;
v VARCHAR2 (2000);
BEGIN FOR lineno IN 1 .. 2 * linecount - 1
LOOP
FOR sp IN 1 .. linecount - lineno
LOOP
v := v || '_';
END LOOP;
FOR st IN 1 .. linecount
LOOP
v := v || '*';
END LOOP;
DBMS_OUTPUT.put_line (v);
v := '';
END LOOP;
END;
/


أخى الكريم ..... أذا كان ال Output غير الذى تريده ..... فأرجو أعلامى بدقة و بمتهى التفصيل ما الذى تريده بالظبط !

و بالتوفيق

#3 محمود شومان

محمود شومان

    عضو

  • الأعضــاء
  • 14 مشاركة

تاريخ المشاركة 09 November 2008 - 12:09 PM

اخى الاستاذ هانى النصف الاول من output صحيح
ولكن النصف الثانى ممكن ال out put لم يظهر فيه spaces
والمطلوب النهائى هو مثلث متساوى الساقين وراسة جانبية

#4 hanyfreedom

hanyfreedom

    مشرف سابق وعضو مميز

  • المجموعة الماسية
  • 1,481 مشاركة
  • البـلـد: Country Flag
  • الاهتمامات:Chess , Sudoku

تاريخ المشاركة 09 November 2008 - 02:14 PM

أخى العزيز \ محمود شومان

أولاً : أرجو أن توضح لى هدف الكود - أنا لا أقصد أن تقول لى هذا الكلام :-

مثلث متساوى الساقين وراسة جانبية

و لكن أقصد ما القصة بالظبط ؟ بمعنى انى لم أسمع من قبل عن طلب كهذا ، ما علاقة اكواد ال PL/SQL برسم المثلثات ، أعتقد يوجد برامج جرفك خاصة بهذا الموضوع ... أريد فقط ان أعرف لماذا تريد عمل كود كهذا - بأستفاضة أذا سمحت .

ثانياً: انا مش فاهم جزئية

وراسة جانبية

ممكن تتعب و تدخل على برنامج ال Paint و ترسم رسم - كروكى - الشىء اللى انت عاوزه ( أو أذا كان لديك صورة جاهزة هذا سيكون أفضل ) ، ثم أرفق الصورة فى ردك .... و انا هحاول قدر المستطاع أعمل اللى أقدر عليه.

و بالتوفيق

#5 محمود شومان

محمود شومان

    عضو

  • الأعضــاء
  • 14 مشاركة

تاريخ المشاركة 09 November 2008 - 04:14 PM

شكرا ليك يا بشمهندس هانى وانا هحاول اعمل الكود بطريقة صحيحة من الاول

تم التعديل بواسطة محمود شومان, 09 November 2008 - 04:22 PM.