Algorithme TP-02

Algorithme TP-02



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


وفي ما يلي الكود الذي يقوم بهذه العملية كل ما عليك هو نسخه في البرامج الذي تستعمله .

#include <stdio.h>
int sup(int tab[10]){
int i,j,k;

for (j= 0 ; j<10 ; j++){
     for (i= 0 ; i<9 ; i++){
    if (tab[i]>tab[i+1]){
        k = tab[i];
        tab[i]=tab[i+1];
        tab[i+1]=k;}}}
}
int inf(int tab[10]){
int i,j,k;

for (j= 0 ; j<10 ; j++){
     for (i= 0 ; i<9 ; i++){
    if (tab[i]<tab[i+1]){
        k = tab[i];
        tab[i]=tab[i+1];
        tab[i+1]=k;}}}
}

int main()
{
    
printf("\n\n    CETTE PROGRAMME EST FAITE PAR : ");
printf("\n\n    ZOUBER LANSARI");
printf("\n\n    LE DEUX Eme TP EN ALGORITHME  ");
     int tab [10],i,m;
     for (i= 0 ; i<10 ; i++){
     printf("\nvaleur %d =  ",i);
         scanf("%d",&tab[i]);}
       printf("\n Choassi Type de Ordre : \n\n 1-min a max      2-max a min \n\n");
       scanf("%d",&m);
               if(m==1){
     sup(tab);
    for (i= 0 ; i<10 ; i++){
    printf("\n tab[%d] = %d  \n",i,tab[i]);}
                            } 
                   else if(m==2){ 
     inf(tab);
    for (i= 0 ; i<10 ; i++){
    printf("\n tab[%d] = %d  \n",i,tab[i]);}
                                   }                         
}


أرجوا أن يكون الموضوع قد نال إعجابكم ☺ .

Algorithme - TP N01

Algorithme - TP N 01


في هذا الموضوع سأقدم لكم أولى الأعمال التطبيقية في مادة الخوارزميات لتخصص الرياضيات والإعلام الآلي في المركز الجامعي تمنغست .
العمل التطبيقي كان حول صنع تطبيق يقوم بحساب معادلة من الدرجة الثانية ويقوم بحساب القاسم المشترك الأكبر لكل من الحلين x1 و x2 , ثم حساب عاملي الحل الأكبر بينهما .
وذالك بإستخدام لغة البرمجة سي / c .


وفي ما يلي الكود الذي يقوم بهذه العملية كل ما عليك هو نسخه في البرامج الذي تستعمله
.



#include<stdio.h>
#include<math.h>
float a,b,c,d,x,x0,x1,x2;
int f,i,v,w,y;
main()
{
printf("\n                                          ");
printf("\n  #  #    ##   #  ### # ### # # #   # ### ");
printf("\n # # #   #    # # # #    #  # # ## ## #   ");
printf("\n ### #   # ## # # ##  #  #  ### # # # #'' ");
printf("\n # # ###  # #  #  # # #  #  # # #   # ### ");
printf("\n\n    CETTE PROGRAMME EST FAITE PAR : ");
printf("\n\n    ZOUBER LANSARI ");
printf("\n\n    DEPARTEMENT: MATHEMATIAUE INFORMATQUE ");
printf("\n\n    LE PREMIERE TP EN ALGORITHME  ");
printf("\n\n\n entre la valeur de a = ");
scanf("%f",&a);
printf("\n\n entre la valeur de b = ");
scanf("%f",&b);
printf("\n\n entre la valeur de c = ");
scanf("%f",&c);
if(a!=0)
{
d=(b*b)-(4*a*c);
{
printf("\n\n la valeur de delta= %.2f\n",d);
  if(d<0)
{
printf("\n\n pas de Solutions \n");
   }
  else if(d==0)
{
x0=-b/2*a;
       printf("\n\n x0 = %f\n",x0);

           }
else
           {
       x1=-b+sqrt(d)/(2*a);
       x2=-b-sqrt(d)/(2*a);
       printf("\n\n x1 = %f\n",x1);
       printf("\n\n x2 = %f\n",x2);
  {
if(x1>x2)
{
if(x1>=0)
{        
f = 1;
for (i = 1 ; i<=x1 ; i++)
f = f * i;
{
printf("\n\n x1>0 donc la factorial de (x1) = %d \n",f);
                   }
}
                            else
{
printf("\n\n x1<0 donc pas de factorial ");}
           }
else
{
if(x2>=0)
{
f = 1;
for (i = 1 ; i<=x2 ; i++)
f = f * i;
{
printf("\n\n x2>0 donc la factorial de (x2) = %d \n",f);
}
   }
else
{
printf("\n\n x1<0 donc pas de factorial");}
   }
if(x1 >= 0 && x2 >= 0)
{
v = x1;
                        w = x2;
while (w != 0)
{
y=w;
w=v%w;
                   v=y;
   }
printf("\n\n PGCD(x1,x2) = %ld\n", v);
   }
                        else 
{ printf("\n\n le PGCD(x1,x2) n'exist pas car x1<0 et x2<0\n"); }
  }
   }
    }
   }
else
{
if(b!=0)
{
if(c!=0)
{
x=(-c/b);
printf("\n\n x = %f\n",x);
}
else
{
printf("\n\n x = 0\n");
}
}
else
{
if(c!=0)
{
printf("\n\n erreur \n");
}
else
{
printf("\n\n nombre inf de Solutions\n");
}
}
}
system("pause");
}


أرجوا أن يكون الموضوع قد نال إعجابكم و من لديه أي إستفسار أرجوا أن يتركه في تعليق لأرد عليه وشكراا ☺.

اللغة العربية أصل اللغات

اللغة العربية أصل اللغات













د. مصطفى محمود
كانت لي وقفة طويلة منذ زمن أمام أصل اللغات وأنا اتأمل اللفظة العربية "كهف" فأجدها:
في الإنجليزية (cave)
وفي الفرنسية (cave)
وفي الإيطالية (cava)
وفي اللاتينية (cavus)

فأسأل وأنا أراها كلها واحدا.. أي لغة أخذتها عن الأخرى وأيها الأصل؟ وكان الجواب يحتاج للغوص في علم اللغويات والبحث في البحار القديمة التي خرجت منها كل الكلمات التي نتداولها، وكان هذا الأمر يحتاج إلى سنوات وربما إلى عمر آخر.
ودار الزمان دورته ثم وقع في يدي كتاب عنوانه "اللغة العربية أصل اللغات".. والكتاب بالإنجليزية والمؤلفة هي تحية عبد العزيز إسماعيل أستاذة متخصصة في علم اللغويات، تدرس هذه المادة في الجامعة، إذن هي ضالتي..
وعرفت أنها قضت عشر سنوات تنقّب وتبحث في الوثائق والمخطوطات والمراجع والقواميس؛ لتصل إلى هذا الحكم القاطع.. فازداد فضولي وشوقي والتهمت الكتاب في ليلتين.
والكتاب في نظري ثروة أكاديمية وفتح جديد في علم اللغويات يستحق أن يلقى عليه الضوء، وأن يقيّم وأن يأخذ مكانه بين المراجع العلمية المهمة.
وألفت نظر القارئ أولا أن يمر بعينيه على الجداول الملحقة بالمقال ويلاحظ الألفاظ المشتركة بين اللغة العربية والإنجليزية، وبين العربية واللاتينية، وبين العربية والأنجلوساكسونية، وبين العربية والفرنسية، وبين العربية والأوروبية القديمة، وبين العربية واليونانية، وبين العربية والإيطالية، وبين العربية والسنسكريتية، ليشهد هذا الشارع العربي المشترك الذي تتقاطع فيه كل شوارع اللغات المختلفة، وهذا الكم الهائل المشترك من الكلمات رغم القارات والمحيطات التي تفصل شعوبها بعضها عن بعض وأعود إلى السؤال:
لماذا خرجت المؤلفة بالنتيجة القاطعة أن اللغة العربية كانت الأصل والمنبع، وإن جميع اللغات كانت قنوات وروافد منها؛ تقول المؤلفة في كتابها:
أن السبب الأول هو سعة اللغة العربية وغناها وضيق اللغات الأخرى وفقرها النسبي؛ فاللغة اللاتينية بها سبعمائة جذر لغوي فقط، والساكسونية بها ألفا جذر! بينما العربية بها ستة عشر ألف جذر لغوي، يضاف إلى هذه السعة سعة أخرى في التفعيل والاشتقاق والتركيب.. ففي الانجليزية مثلا لفظ Tallبمعنى طويل والتشابه بين الكلمتين في النطق واضح، ولكنا نجد أن اللفظة العربية تخرج منها مشتقات وتراكيب بلا عدد (طال يطول وطائل وطائلة وطويل وطويلة وذو الطول ومستطيل.. إلخ، بينما اللفظ الإنجليزي Tall لا يخرج منه شيء.
ونفس الملاحظة في لفظة أخرى مثل Good بالإنجليزية وجيد بالعربية، وكلاهما متشابه في النطق، ولكنا نجد كلمة جيد يخرج منها الجود والجودة والإجادة ويجيد ويجود وجواد وجياد... إلخ، ولا نجد لفظ Good يخرج منه شيء!
ثم نجد في العربية اللفظة الواحدة تعطي أكثر من معنى بمجرد تلوين الوزن.. فمثلا قاتل وقتيل وفيض وفيضان ورحيم ورحمن ورضى ورضوان وعنف وعنفوان.. اختلافات في المعنى أحيانا تصل إلى العكس كما في قاتل وقتيل، وهذا التلوين في الإيقاع الوزني غير معروف في اللغات الأخرى.. وإذا احتاج الأمر لا يجد الإنجليزى بدا من استخدام كلمتين مثل Good & Very Good للتعبير عن الجيد والأجود.
وميزة أخرى ينفرد بها الحرف العربي.. هي أن الحرف العربي بذاته له رمزية ودلالة ومعنى.. فحرف الحاء مثلا نراه يرمز للحدة والسخونة.. مثل حمى وحرارة وحر وحب وحريق وحقد وحميم وحنظل وحريف وحرام وحرير وحنان وحكة وحاد وحق..
بينما نجد حرفا آخر مثل الخاء يرمز إلى كل ما هو كريه وسيئ ومنفر، ويدخل في كلمات مثل: خوف وخزي وخجل وخيانة وخلاعة وخنوثة وخذلان وخنزير وخنفس وخرقة وخراء وخلط وخبط وخرف وخسة وخسيس وخم وخلع وخواء..
ونرى الطفل إذا لمس النار قال.. أخ، ونرى الكبير إذا اكتشف أنه نسي أمرا مهما يقول: "أخ"؛ فالنسيان أمر سيئ، وهذه الرمزية الخاصة بالحرف والتي تجعله بمفرده ذا معنى هي خاصية ينفرد بها الحرف العربي.. ولذا نجد سور القرآن أحيانا تبدأ بحرف واحد مثل: ص، ق، ن، أو، ألم.. وكأنما ذلك الحرف بذاته يعني شيئا.
نستطيع أن نؤلّف بالعربية جملا قصيرة جدا مثل "لن أذهب" ومثل هذه الجملة القصيرة يحتاج الإنجليزي إلى جملة طويلة ليترجمها فيقول I shall not go ليعني بذلك نفس الشيء؛ لأنه لا يجد عنده ما يقابل هذه الرمزية في الحروف التي تسهل عليه الوصول إلى مراده بأقل كلمات.
وإذا ذهبنا نتتبع تاريخ اللغة العربية ونحوها وصرفها وقواعدها وكلماتها وتراكيبها فسوف نكتشف أن نحوها وصرفها وقواعدها وأساليب التراكيب والاشتقاق فيها ثابتة لم تتغير على مدى ما نعلم منذ آلاف السنين، وكل ما حدث أن نهرها كان يتسع من حيث المحصول والكلمات والمفردات كلما اتسعت المناسبات، ولكنها ظلت حافظة لكيانها وهيكلها وقوانينها ولم تجرِ عليها عوامل الفناء والانحلال أو التشويه والتحريف، وهو ما لم يحدث في اللغات الأخرى التي دخلها التحريف والإضافة والحذف والإدماج والاختصار، وتغيرت أجروميتها مرة بعد مرة.
وفي اللغة الألمانية القديمة نجد لغة فصحى خاصة بالشمال غير اللغة الفصحى الخاصة بالجنوب، ونجد أجرومية مختلفة في اللغتين، ونجد التطور يؤدي إلى التداخل والإدماج والاختصار والتحريف والتغيير في القواعد، ونفس الشيء في اللاتينية وأنواعها في اليونانية وفي الأنجلوساكسونية، ولهذا اختار الله اللغة العربية وعاء للقرآن؛ لأنه وعاء محفوظ غير ذي عوج، وامتدح قرآنه بأنه {قرآنا عربيا غير ذي عوج}.
وحدّث ولا حرج عن غنى اللغة العربية بمترادفاتها حيث تجد للأسد العديد من الأسماء؛ فهو الليث والغضنفر والسبع والرئبال والهزبر والضرغام والضيغم والورد والقسورة... إلخ.
ونجد كل اسم يعكس صفة مختلفة في الأسد، ونجد لكل اسم ظلالا ورنينا وإيقاعا.
ومن الطبيعي أن يأخذ الفقير من الغني وليس العكس، ومن الطبيعي أن تأخذ اللاتينية والساكسونية والأوروبية واليونانية من العربية، وأن تكون العربية هي الأصل الأول لجميع اللغات، وأن تكون هي التي أوحيت بقواعدها وتفعيلاتها وكلماتها إلى آدم كما قال القرآن: {وعلم آدم الأسماء كلها}.
ولكن المؤلفة لا تكتفي بالسند الديني، وإنما تقوم بتشريح الكلمات اللاتينية والأوروبية واليونانية والهيروغليفية، وتكشف عن تراكيبها وتردّها إلى أصولها العربية شارحة ما جدّ على تلك الكلمات من حذف وإدماج واختصار تفعل هذا في صبر ودأب وأناة ومثابرة عجيبة.
نحن أمام دراسة أكاديمية وفتح جديد في علم اللغويات تستحق صاحبته الدكتوراه الشرفية من الجامعة والتحية من الأزهر والاهتمام من القارئ الأجنبي والعربي، والالتفات من النقاد والمناقشة الجادة من الأكاديميين؛ حتى لا يقال عن بلادنا إنها لا تقوم ولا تقعد إلا لمباريات الكرة.
*من كتاب "عالم الأسرار" للدكتور مصطفى محمود.

مجموعة من الأكواد البرمجية بلغة البرمجة C


مجموعة من الأكواد البرمجية بلغة البرمجة سي / C

مرحبا بكم اعزائي متابعي مدونة التارقي إلى هذه التدوينة 

 كما هو معرف مبرمجو الحاسوب هم الذين يقومون بكتابة الشيفرة أو الكود البرمجي الذي بدوره يحدد وظيفة التطبيق البرمجي  بشكل عام, الشيفرات البرمجية عديدة ومختلفة , حيث أن لكل برنامج كود برمجي خاص يحدد مهامه وهذا الكود مبني حسب خوارزمية معينة , لذالك اليوم اصدقائي وخاصة طلاب تخصص الرياضيات والإعلام الألي أشارككم  هذا الموضوع والذي يتمثل في مجموعة من الشيفرات البرمجية الخاصة بلغة البرمجة سي والتي قمت شخصيا بكتابتها , وكل شيفرة  خاصة بمشكل معين مثل المعادلات من الدرجة الاولى والثانية , القاسم المشترك الأكبر , عاملي عدد طبيعي !n , ... إلخ  كل ما عليكم أعزائي هو نسخ الكود أو الشيفرة البرمجية وعمل لصق للكود في البرنامج الذي تستخدمه للتشفير 
يمكنك إستعمال برنامج  pelles c for windows 

  للتحميل إضغط هنا  

وهذه الصورة تقدم توضيح مختصر للعملية :


من واجه منكم أي مشكل أو لاحظ خطأ في الكود أرجوا منه أن يترك تعليق لأرد عليه أو لأصحح الخطأ إن وجد .


  • معادلة من الدرجة الأولى :


#include<stdio.h>
#include<math.h>
float b,a,x;
int main ()
{
printf("entre a=");
scanf("%f",&a);
    printf("entre b=");
scanf("%f",&b);\
if(a==0)
{
  if(b==0)
    {
printf("la solution R\n");
}
  else
    {
 printf("errur\n");
}
}
else
{
x=(-b)/(a);
printf("la solution x= %0.2f\n",x);
}
 system("pause");

}

  • معادلة من الدرجة الثانية : 

الكود الأول : 

#include<stdio.h>
#include<math.h>
#include<conio.h>
float a,b,c,d,x0,x1,x2;
main()
{
printf("Les valeurs de a,b et c ne sont pas Égal à zéro \n");
printf("entre a=");
scanf("%f",&a);
printf("entre b=");
scanf("%f",&b);
printf("entre c=");
scanf("%f",&c);
d=b*b-4*a*c;
if (d>0)
    {
x1=(-b+sqrt(d))/(2*a);
    x2=(-b-sqrt(d))/(2*a);
printf("la solution x1= %.2f",x1);
printf("\nla solution x2= %.2f",x2);
printf("\nthanx for using my program\n");
}
    else if (d==0)
{
x0=(-b)/(2*a);
    printf("la solution x0= %.2f",x0);
printf("\nthanx for using my program\n ");
}
else 
    {
printf("no solution\n");
printf("\nthanx for using my program\n ");
}
system("pause");
}
الكود الثاني : 

هاذا الكود شامل في حالة ما كانت قيم المعاملات معدومة 
#include<stdio.h>
#include<math.h>
#include<conio.h>
float a,b,c,d,x,x0,x1,x2;
main()
{
printf("entre a=");
scanf("%f",&a);
printf("entre b=");
scanf("%f",&b);
printf("entre c=");
scanf("%f",&c);
if (a==0)
     {
 if (b==0)
   {
  if (c==0)
{
printf("nbre ifn de sulition\n");
}
  else
    {
printf("erurre\n");
}
}
 else
{
x=(-c)/(b);
        printf("sulition x= %.2f",x);
}
     }
    else 
{
d=b*b-4*a*c;
if (d>0)
      {
  x1=(-b+sqrt(d))/(2*a);
       x2=(-b-sqrt(d))/(2*a);
  printf("sulition x1= %.2f",x1);
  printf("\nsulition x2= %.2f",x2);
 }
     else if (d==0)
     {
     x0=(-b)/(2*a);
          printf("sulition x0= %.2f",x0);
     printf("\nthanx for using my program\n");
     }
     else 
           {
      printf("no sulition\n");
      }

}

}

  • باقي قسمة عددين :

#include<stdio.h>
int a,b,c;
int main ()
{
printf("entre la valeur de a=");
scanf("%d",&a);
printf("entre la valeur de b=");
scanf("%d",&b);
c=a%b;
printf("la mod= %d",c);


}


  • اختبار أولية عدد :

#include<stdio.h>
#include<stdio.h>
int r,nb,n,i;
int main ()
{
printf("entre la valeur de n=");
scanf("%d",&n);
while(i<=n)
{
i==1;
nb==0;
    i=i+1;
r=n%i;
if(r==0)
{
nb=nb+1;
}
else
{
nb=nb;
}
}
if(nb==2)
    {
      printf("le nombre est prime");
      printf("            \n");
}
else
    {
      printf("le nombre ne est pas prime");
      printf("            \n");
}

    system("pause");
}

  • إشارة جداء عددين :

#include<stdio.h>

float a,b;
main ()
{
printf("vous pouvez Grace a cette application en savoir\n");
printf("un signal de multiplication de deux nombres\n");
printf("entre a=");
scanf("%f",&a);
printf("entre b=");
scanf("%f",&b);
if (a>0)
{
if (b>0)
{
 printf("Le resultat est positif\n");
}
else 
{
 printf("Le resultat est negatif\n");
}
}
else 
    {
if (b>0)
{
 printf("Le résultat est negatif\n");
}
else 
{
 printf("Le résultat est positif\n");
}
}
    system("pause");
}

  • عاملي !n :

#include<stdio.h>
#include<math.h>
int f=1,i,n;
int main()
{
printf("\n entre la valeur de n : ");
scanf("%d",&n);
for(i=1;i<=n;i=i+1)
  {
f=f*i;
       }
printf("\n fact= %d\n",f);


system("pause");

}
  • القاسم المشترك الأكبر :

الكود الأول : 
#include<stdio.h>


int a,b;
int main()
{
printf("entre a=");
scanf("%d",&a);
    printf("entre b=");
scanf("%d",&b);
    while(a!=b)
    {
    if(a>b)
   {
   a=a-b;
   }
    else
{
   b=b-a;
   }
    }
printf("PGCD= %d",b);

}
الكود الثاني :


#include<stdio.h>

int some(int a,int b)
{
while(a!=b)
    {
    if(a>b)
   {
   a=a-b;
   }
    else
{
   b=b-a;
   }
    }
return a;
}

int main()
{
int a,b,c;
printf("etre a=");
scanf("%d",&a);
printf("etre b=");
scanf("%d",&b);
c=some(a,b);

printf("la some = %d",c);



}

الكود الثالث :
#include<stdio.h>
#include<math.h>
float x1,x2;
int v,w,y;
main()
{
printf("\n\n\n entre la valeur de x1 = ");
scanf("%f",&x1);
printf("\n\n entre la valeur de x2 = ");
scanf("%f",&x2);
       
if(x1 >= 0 && x2 >= 0)
{
v = x1;
                        w = x2;
while (w != 0)
{
y=w;
w=v%w;
                   v=y;
   }
printf("\n\n PGCD(x1,x2) = %ld\n", v);
   }
                        else 
{ printf("\n\n le PGCD(x1,x2) n'exist pas car x1<0 et x2<0\n"); }

system("pause");
}

لا تنسى مشاركة التدوينة مع أصدقائك لدعم المدونة ولتحفيزي لأقدم المزيد .