+ الرد على الموضوع
صفحة 1 من 2 1 2 الأخيرةالأخيرة
النتائج 1 إلى 10 من 17
  1. #1

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    new تطبيقات في المصفوفات

    السلام عليكم و رحمة الله


    أهلاً بكم أعضاء و رواد المنتدى
    اليوم نأتيكم بدرس جديد في لغة الباسكال و هو المصفوفات (les MATRICES)
    على بركة الله نبدا
    مقدمة
    المصفوفات هي هيكل بيانات يخزن مجموعة من المتغيرات لها نفس النوع
    وهي مشابهة لمجموعة من الصناديق مرتبطة واحدة بالاخرى بشكل متسلسل
    وكل واحد من هذه الصناديقممكن يحتووي على بيانات معينة
    وجميع البانات في هذا الصندوق من نوع واحد ويقال عن المصفوفة انهاهيكل بياني ثابت
    وذالك لان المبرمج حين يعلن عن نوع وحجم المصفوفة في حقل الاعلانات عن المتغيرات
    فإن حجمها سيبقى ثابت في البرنامج ولا يمكن تغيره


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


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


    في الذاكرة وذالك عن طريق معادلة رياضية


    المصفوفات الثنائية
    وهي المصفوفة التي تكتب عناصره على شكل صفوف واعمدة في ذات الوقتوبتالي عدد الموقع في المصفوفة يساوي ضرب الاعمدة في صفوفيتم الاعلان عن المصفوفة الثنائية مثال المصفوفة الاحاحدية (الجدول)الفرق الوحد بنهما ان المصفوفة الثانئية يتم الاعلان عنها باربع قيم قيمة بداء وقيمة وصول الاولى وقيمة بداء ثانية وقيمة وصول ثانيةوللاشارة لعنصر معين من المصفوفة فيتم بسم المصفوفة وقوسين مربعين خلها قيمتين الاولى تمثل الصف وثانية تمثل العمود

    التعديل الأخير تم بواسطة taki metallica ; 23-08-2009 الساعة 12:31 AM

  2. #2

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات

    نبدا بالتطبيقة على بركة الله :





    1-عمل البرنامج يربع لنا مصفوفة:



    PROGRAM MATRICE1;
    Var m1,m2 :array [1..50,1..70] of integer;
    i,j,m,n: integer </SPAN>
    Begin</SPAN>
    Read(n,m);</SPAN>
    For i:=1 to n do</SPAN>
    For m:=1 to m do</SPAN>
    Begin</SPAN>
    Read(m1[i,j]);</SPAN>
    M2[i,j]:= sqr (m1[i;j]);</SPAN>
    End;</SPAN>
    For i:=1 to n do</SPAN>
    For j:=1 to m do </SPAN>
    Write(m2[I,j]);</SPAN>
    End

    **************


    شرح السورس:



    M1,M2 جدولين ذو 50 خانة و 70 سطر
    i,j,m;n متغيرات من نوع اعداد صحيحة
    نقراء m n ومن اجل تغير I من 1 الى n
    وj من1 الى m نقراء المصفوفة m1
    بعد ذالك يقوم البرنامج بتربيع المصفوفة التي قمنا بقراتها
    لنحصل على المصففوفة m2
    ومن اجل تغير I من 1 الى n
    وj من1 الى m
    نكتب المصفوفة الناتجة m2
    ************************************************** *************************************

    التعديل الأخير تم بواسطة taki metallica ; 23-08-2009 الساعة 12:50 AM

  3. #3

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات

    البرنامج الثاني:



    PROGRAM MATRICE2;

    Var
    a :array [1..50,1..70] of integer;
    i,j,m,n,nbp,nbn;sp,pn: integer
    Begin
    Read(n,m);
    For j:=1 to m do
    Begin
    Nbp:=0;sp:=0;
    For i:=1 to n do
    Begin
    Read(a[i,j]);
    If a[i,j]> 0 then
    Begin
    nbp:=nbp+1
    sp:=sp+a[i,j];
    End;
    Ene;
    Write(nbp,sp);
    End;
    For i:=1 to n do
    Begin
    nbn:=0; pn:=1;
    For j:= 1 to m do
    If a[i,j] < 0 then
    Begin
    nbn:=nbn+ 1;
    Pn := pn* a[i,j];
    End;
    Write(nbn,pn);
    End;
    End.










    عمل البرنامج:



    البرنامج يحسب عدد ومجموع الاعداد الموجبة في كل خانة
    ويحسب عدد الاعداد السالبة في كل سطر ويقوم بضربها
    شرح السورس
    A مصفوفة ذو 50 خانة و 70 سطر
    J M N NBP NBN SP PN متغيرات من نوع اعداد صحيحة
    نقراء M و N
    من اجل تغير J من 1 الى M
    نضع SP=0 و NBP=0
    ومن اجل تغبر I من 1 الى N
    نقراء المصفوفة A
    في حالة A[I,J] >0
    NBP =NBP+1 (عداد يحسب عدد الاعداد الموجبة )
    SP=SP+A[I,J (يحسب مجموع الاعداد الموجبة )
    نكتب sP و NBP
    ومن اجل تغير I من1 الى N
    نضع NBN =0 و PN=1
    (وضعنا PN =1 لان 1 عنصر حيادي بنسة لضرب)
    ومن اجل تغي J من 1 الى M
    في حالة A[I,J]<0
    NBN=NBN+1 (عداد يحسب عدد الاعداد السالبة)
    PN=PN*A[I,J (يحسب لنا ضرب الاعداد الموجبة )
    اخيرا نكتب


    NBN PN
    ***********************************************

    التعديل الأخير تم بواسطة taki metallica ; 23-08-2009 الساعة 12:53 AM

  4. #4

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات


    السلام عليكم و رحمة الله


    البرنامج الثالث حساب DIAGONALE

    PROGRAM MATRICE3;
    Var
    a :array [1..50,1..50] of integer;
    i,j,n,s: integer
    Begin
    Read(n);
    S:=0;
    For i:=1 to n do
    For j:=1 to n do
    Begin
    Read(a[i,j]);
    If i=j then
    S:=s+a[i,j];
    End;
    Write(s);
    End.

    عمل البرنامج
    البرنامج يحسب لنا DIAGONALE



    وDIAGONALE يحسب في حالة واحدة
    حين تكون المصفوفة مربعة
    الي عدد السطور يساوي عدد الخانات
    شرح السورس
    A مصفوفه مربعة ذات ابعاد 50
    I J N S متغيرات من نوع اعداد صحيحة
    اولا نقراء N ونضع S=0
    من اجل تغير I وJ من 1 الى N
    نقراء المصفوفه A
    في حالة I = J
    S=S+A[I,J
    واخير نكتب S


  5. #5

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات

    البرنامج الرابع:

    PROGRAM MATRICE4;
    Var
    A :array [1..50,1..70] of integer;
    B :array [1..70,1..80] of integer;

    C :array [1..50,1..80] of integer;

    i,j,n,m,p,k: integer
    Begin
    Read(n,m,p);
    For i:=1 to n do
    For j:=1 to m do
    read(a[i,j]);
    for i:=1 to m do
    for j :=1 to p do
    read(b[i,j]);
    for i:=1 to n do
    for j:=1 to p do
    read(c[i,j]);
    for i:= 1 to n do
    for j:=1 to p do
    Begin
    c[i,j]:=0;
    for k:=1 to m do
    c[i,j]:=c[i,j]+a[i,k]*b[b,j];
    end;
    for i := 1 to n do
    for j:=1 to p do
    Write(c[i,j]);
    End.

    a(n,m)*b(m,p)=c(n,p
    عمل البرنامج
    البرنامج يقوم بضرب المصفوفتين
    حسب المعادلة
    a(n,m)*b(m,p)=c(n,p

    شرح السورس
    A B C ثلاث مصفوفات ذات الابعد المذكورة
    I J N M P K متغيرات من اعداد صحيحة
    نقراء N M P
    ومن اجل تغير I من 1 الى N
    ومن اجل تغير J من 1 الى M¨
    نقراء المصفوفة A[I,J
    ومن اجل تغير I من1 الى M
    ومن اجل تغير J من1 الى P
    نقراء المصفوفة B[I,J
    ومن اجل تغير I من 1 الى N
    ومن اجل تغير J من1 الى P
    نقراء المصفوفة C[I,J
    ومن اجل تغير I من 1 الى N
    ومن اجل تغير J من1 الى P
    نضع C[I,J]=0
    ومن اجل تغير K من 1 الى M
    c[i,j]=c[i,j]+a[i,k]*b[b,j
    ومن اجل تغير I من 1 الى N
    ومن اجل تغير J من1 الى P
    نكتب المصفوفة الناتجة C[I,J


  6. #6

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات

    البرنامج الخامس:

    PROGRAM MATRICE5;
    Var
    A :array [1..50,1..50] of integer;
    i,j,n,x: integer
    Begin
    Read(n);
    For i:=1 to n do
    For j:=1 to n do
    read(A[i,j]);
    for i:=1 to n do
    begin
    for j :=i+1 to n do
    Begin
    x:=a[i,j]
    a[i,j]:=a[j,i]
    a[j,i]:=x
    end;
    end;
    for i := 1 to n do
    for j:=1 to n do
    Write(a[i,j]);
    end.

    عمل البرنامج
    يقلب لنا المصفوفة (في نفس المصفوفة)


    شرح السورس
    A مصفوفة مربعة ذات ابعاد 50
    I J N X متغيرات من نوع اعداد صحيحة
    اولا نقراء N
    ومن اجل تغير I و J من 1 الى N
    نقراء المصفوفة A
    ومن اجل J تتغير من I+1 الى n
    نضع قيمة A[I,J في X
    وقيمة A[J,I في A[I,J
    وقيمة X في A[J,I
    ومن اجل تغير قيمة I و J من 1 الى N
    نكتب المصفوفة الناتجة.


  7. #7

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات

    البرنامج السادس

    PROGRAM MATRICE6;
    Var
    E :array [1..50,1..50] of integer;
    S :array [1..51,1..51] of integer;
    i,j,n: integer
    Begin
    Read(n);
    For i:=1 to n do
    begin
    S[i,n+1]:=0;
    For j:=1 to n do
    begin
    read(E[i,j]);
    S[i,j]:=E[i,j];
    S[i,n+1]:=S[i,n+1]+E[i,j];
    end;
    end;
    S[n+1,n+1]:=0
    for j:=1 to n do
    begin
    S[n+1,j]:=0;
    for i:=1 to n do
    begin
    S[n+1,j]:= S[n+1,j]+E[i,j];
    if i=j then S[n+1,n+1]:=S[n+1,n+1]+E[i,j];
    end;
    end;
    for i:=1 to n+1 do
    for j:=1 to n+1 do
    write(S[i,j]);
    end.



    عمل البرنامج
    يجمع اعاد كل سطر ويضعه في الخانة الاخيرة وكذالك الخانات
    ماعاد الخانة S[N+1,n+1 فيضع فيها مجموع القطر diagonale


    شرح السورس
    E S جدولان ذو اعداد صحيحة
    i j n متغيرات اعداد صحيحة
    اولا نقراء n
    وبتغير i من 1 الى n
    نضع S[i,n+1]=0
    اي السطر الاخير
    وبتغير j من 1 الى n
    نقراء المصفوفة E[i,j
    ثم نضعها في المصفوفة s[i,j
    ونضع في السطر الاخير
    S[i,n+1]=S[i,n+1]+E[i,j
    نضع في اخر خانة s[n+1,n+1]=0
    كي لا يجمع العمود الاخير
    بتغير J من 1 الى n
    نضع جميع اعمدة السطر الاخير تساوي الصفر
    وبتغير i من 1 الى n
    s[n+1,j]=s[n+1,j]+e[i,j
    مثل الخطوة السابقة تماما
    الان نحسب القطر
    في حالة i=j
    s[n+1,n+1]=s[n+1,n+1]+e[i,j
    بتغير i وj من 1 الى n+1
    نكتب المصفوفة الناتجة s


  8. #8

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات

    البرنامج السابع

    PROGRAM MATRICE7;


    Var


    A :array [1..51,1..51] of integer;


    i,j,n: integer


    Begin


    read(n);


    for i:=1 to n do


    for j:=1 to i do


    begin


    if (i=j) or (j=1)


    then A[i,j]:1


    else


    A[i,j]:=A[i-1,j-1]+A[i-1,j];


    end;


    for i :=1 to n do
    for j:=1 to n do

    Write(A[i,j]);


    end.





    عمل البرنامج
    انشاء مثلث باسكال

    شرح السورس
    a مصفوفة
    i j n متغيرات اعداد صحيحة
    اولا نقراء n
    وبتغير i من 1 الى n
    وبتغير j من 1 الى i
    في حالة i=j او j=1
    المصفوفة تاخذ قيمة 1
    في حالة لم يتحقق الشرط
    اي I لا = j و j لا= 1
    A[i,j]:=A[i-1,j-1]+A[i-1,j
    يتغير i و j من 1 الى n
    نكتب المصفوفة الناتجة.


  9. #9

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات

    البرنامج الثامن

    PROGRAM MATRICE8;
    Var
    A :array [1..100,1..70] of integer;
    tmin :array [1..70] of integer;
    i,j,n,m: integer
    Begin
    read(n,m);
    for i:=1 to m do
    begin
    read(A[1,j]);
    tmin[j]:=A[1,j];
    for i:=2 to n do
    begin
    read(A[i,j]);
    if tmin[j] >A[i,j]then
    tmin[j]:=A[i,j];
    end;
    end;
    for j:=1 to m do
    Write(tmin[j]);
    end.

    عمل البرنامج
    يقوم بوضع كل اصغرعدد من ك عمود في الجدول
    شرح السورس
    a مصفوفة
    tmin جدول
    i j n m متغيرات اعداد صحيحة
    اولا نقراء M و n
    ومن اجل تغير j من 1 الى M
    نقراء العمد الاول من المصفوفة A
    ونضعه في الجدول tmin
    ومن اجل تغير i من 2 الى N
    نقراء المصفوفة a
    في حالة الجدول اكبر من المصفوفة
    قيمة تلك الخانة من الاجدول تاخد قيمة المصفوفة
    بتغير j من 1 الى m
    نكتب الجدول الناتج

    tmin


  10. #10

    • Offline
    • جامع علم جديد
    • taki metallica متميز مبتدئ

    تاريخ التسجيل
    Jan 2009
    المشاركات
    13
    المفات المحملة
    0
    الملفات المرفوعة
    0
    معدل تقييم المستوى
    0

    افتراضي رد: تطبيقات في المصفوفات

    **هذه البرامج مرفوعة على ملف **

    pdf

    من هنا:


    4shared

    rapidshare

    mediafire

    ******** بالتوفيق*******



 
+ الرد على الموضوع
صفحة 1 من 2 1 2 الأخيرةالأخيرة

معلومات الموضوع

الأعضاء الذين يشاهدون هذا الموضوع

الذين يشاهدون الموضوع الآن: 1 (0 من الأعضاء و 1 زائر)

     

مواقع النشر (المفضلة)

مواقع النشر (المفضلة)

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

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