صفحة 2 من 2 الأولىالأولى 12
النتائج 16 إلى 22 من 22

الموضوع: تحدى نفسك بهذه المصفوفة !

  1. #16
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: تحدى نفسك بهذه المصفوفة !

    اقتباس المشاركة الأصلية كتبت بواسطة CQC مشاهدة المشاركة
    السلاك عليكم
    الكود بالكومبايلر تيربو باسكال .. أو بورلند ديلفي بكلاهما يمشى الحال
    وإذا تبي الكود بالكومبايلر بيرسونال كوبول انا حاضر
    لا أعتقد أن ما هو مكتوب أعلاه يمكن تشغيله لا بالـ Turbo Pascal و لا بالـ Pascal Object الخاص بالدلفي ....
    1 - الـ end الموجودة في الأسطر 11 و 14 و 18 لا يقابلها أي begin
    2 - الـ while الموجودة في السطر 7 تحتاج لـ begin
    هذا من جهة الـ Syntax و غير ذلك كثير .
    وحتى لو تم إصلاح هذه الأخطاء فإن نتيجة تنفيذ البرنامج هي شاشة فارغة لأن الشرط
    كود:
    while major >= 5 do
    لا يتحقق أبدا لذا لا يمكن تنفيذ الـ Block الموجود بداخله.
    إذا أردت مصدر جيد لمثلث باسكال بالـ Turbo Pascal راجع رابط الصفحة الفرنسية للـ Wikipédia المذكور أعلاه


  2. #17
    التسجيل
    25-12-2004
    الدولة
    عروس الخليج ~.;:Q8:;.~
    المشاركات
    158

    رد: تحدى نفسك بهذه المصفوفة !

    program loops;
    Var
    major, minor, x : integer;
    begin
    major := 0;
    minor := 4;
    while major <= 5 do
    begin
    write ('1');
    for x:= 1 to major -1 do
    write ( major );
    if major >= 1 then
    write ('1');
    while minor >= major Do
    begin
    write ('.');
    minor := minor - 1;
    end;
    writeln;
    major := major + 1;
    minor := 4;
    end;
    end.
    ابو هاجر الله يجزاك خير .. على التصحيح والله افدتني صراحتاً وهذا تعديل البرنامج
    والله ياخي نسيت شلون اكود بالباسكال او الدلفي .. عزالله البرمجه يبيلها استمراريه ومواظبة
    بس ماشاءالله عليك احس انك استاذ ياخي ؟ ... على العموم اشكرك على ردك الجميل

  3. #18
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: تحدى نفسك بهذه المصفوفة !

    اقتباس المشاركة الأصلية كتبت بواسطة CQC مشاهدة المشاركة
    ابو هاجر الله يجزاك خير .. على التصحيح والله افدتني صراحتاً وهذا تعديل البرنامج
    والله ياخي نسيت شلون اكود بالباسكال او الدلفي .. عزالله البرمجه يبيلها استمراريه ومواظبة
    بس ماشاءالله عليك احس انك استاذ ياخي ؟ ... على العموم اشكرك على ردك الجميل
    العفو أخي الكريم هذا من كرمك.............و الفضل لك أنك ذكرتنا بالباسكال (-: و الذي يكاد القسم يخلو من أي مواضيع متعلقة به أو ربما لا توجد أصلا.
    التعديل الأخير تم بواسطة أبو هاجر الحلوة ; 02-02-2009 الساعة 08:37 PM


  4. #19
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: تحدى نفسك بهذه المصفوفة !

    حدث خطأ عند محاولة مناقشة الكود لكن تم تداركه. سأقوم بإعادة تجربة البرنامج و أعود


  5. #20
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: تحدى نفسك بهذه المصفوفة !

    تم تنفيذ البرنامج على Turbo Pascal For Windows 1.5 بعد إضافة السطر
    كود:
    uses wincrt;
    من أجل عرض المخرجات فقط ليصبح المصدر كما يلي
    كود:
    program loops; uses wincrt; Var major, minor, x : integer; begin major := 0; minor := 4; while major <= 5 do begin write ('1'); for x:= 1 to major -1 do write ( major ); if major >= 1 then write ('1'); while minor >= major Do begin write ('.'); minor := minor - 1; end; writeln; major := major + 1; minor := 4; end; end.
    و كانت المخرجات كما يلي
    1.....
    11....
    121...
    1331..
    14441.
    155551

    لكن المخرجات المطلوبة هي
    1....
    11...
    121..
    1331.
    14641


    و هما مختلفان كما هو ملاحظ .
    فيما يلي بعض أكواد حساب مثلث باسكال
    1 - بالبيسك(المصدر معدل عن مثال بالـ GW-BASIC من كتاب الدكتور لخضر لعلام جامعة الجزائر)
    كود:
    Option Explicit Option Base 1 Private Sub Calculate() Dim n As Integer, i As Integer, j As Integer n = InputBox("enter the number of coefficients") ReDim A(n, n) As Integer For i = 1 To n For j = 1 To i If i = j Or j = 1 Then GoTo A A(i, j) = A(i - 1, j) + A(i - 1, j - 1) GoTo B A: A(i, j) = 1 B: Print A(i, j); Next j Print Next i End Sub Private Sub Form_Load() Me.AutoRedraw = True Calculate End Sub
    بالتربو باسكال(المصدر سبق ذكره)

    كود:
    program triangle_pascal; uses wincrt; type Matrice=array[1..20,1..20]of integer; var n:integer; m:Matrice; procedure remplir(n:integer;var M:Matrice); var i,j:integer; begin M[1,1]:=1; for i:=2 to n do begin M[i,1]:=1; M[i,i]:=1; for j:=2 to i-1 do M[i,j]:=M[i-1,j-1]+M[i-1,j]; end; end; procedure affi(n:integer;M:Matrice); var i,j:integer; begin For i:=1 to n do Begin For j:=1 to i do write(M[i,j]:5); writeln; End ; end; begin n:=8; writeln('*********** Triangle de Pascal ***********'); writeln; writeln; remplir(n,m); affi(n,m); end.
    بالـ C++ (المصدر سبق ذكره)
    كود:
    #include <iostream> #include <vector> using namespace std; typedef vector< vector<int> > Matrice; Matrice creerTableauPascal(int n) { // Création du tableau Matrice tableau; tableau.resize(n); for (int i=0; i<n; ++i) tableau[i].resize(i+1); // Remplissage du tableau tableau[0][0]=1; for (int i=1; i<n; i++) { tableau[i][0]=1; tableau[i][i]=1; for (int j=1; j<i; ++j) tableau[i][j]=tableau[i-1][j-1]+tableau[i-1][j]; } return tableau; } void afficherTriangle(Matrice tableau) { int n = tableau.size(); for (int i=0; i<n; ++i) { for (int j=0; j<=i; ++j) cout << tableau[i][j] << " "; cout << endl; } } int main() { int n=10; Matrice tableau; tableau = creerTableauPascal(n); afficherTriangle(tableau); return 0; }


  6. #21
    التسجيل
    10-07-2005
    الدولة
    ( K.S.A )
    المشاركات
    2,483

    رد: تحدى نفسك بهذه المصفوفة !

    كنت حاسس يـ أبو هاجر أن مخرجات برنامج أخونا مهي المطلوبه
    بس خلفيتي C و VB6 فقلت ما أبي أتكلم

    أخوي CQC
    لا تشوف الحلول الي في الصفحة الثانيه
    حاول تسوي البرنامج مرة ثانيه زي كذا

    <<< هذي جبتها من الرابط الي وضعه أبو هاجر يعطيه العافيه ^_^


  7. #22
    التسجيل
    22-11-2006
    المشاركات
    300

    رد: تحدى نفسك بهذه المصفوفة !

    الصورة تختصر كل شيء.................
    أنا مررت عليها أكثر من مرة....................و لكن عندما رأيتها هنا خطر لي أن أجعلها صورة ملفي الشخصي و هذا ما كنت محتاجا له ... (-:

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


صفحة 2 من 2 الأولىالأولى 12

ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •