• الإعلانات

    • فيصل الحربي

      تسجيل عضوية جديدة في المنتدى   01/31/2016

      السلام عليكم ورحمة الله وبركاته  عزيزي العضو الجديد :  حاليا رسالة الإيميل لتأكيد صحة إيميلكم تذهب للبريد العشوائي ( جاري حل المشكلة )  فإذا لم تجد رسالة التحقق من إيميلكم في صندوق الوارد لديكم إتجه للبريد العشوائي ( JUNK)  وقم بتفعيل إشتراككم من هناك   

MouhcineFD

اعضاء
  • عدد المشاركات

    72
  • تاريخ الانضمام

  • تاريخ اخر زياره

كل شيء نشر بواسطة MouhcineFD

  1. هدا ما أريد كتاب يحتوي على منهجية جيدة للتعلم مثل موقع openclassrooms لكن مشكلتي لا أستطيع أن افهم بسرعة باللغة الانجليزية عربي أو فرنسي فقط
  2. السلام عليكم كالعادة ونفس تساؤلات المبتدئين كيف أتعلم لغة التجميع أو بمعنى آخر أي طريق أسلك لتعلم لغة التجميع ؟ أنا متمكن من أساسيات لغة السي ولاطالما أردت تعلم لغة التجميع لكن بسبب أنني مبتدأ في لغة السي كنت دائما أؤجل امر البدأ في تعلم اساسيات لغة التجميع هده الأيام بدأت في قراءة بعض الكتب والمواضيع لكنني لم انهي أي منها ولهدا السبب أكتب هدا الموضوع ماوجدته هو أن جميع كتب تعلم لغة التجميع مشترك في شيئ واحد هو أنها تبدأ بشرح أنظمة العد تم بنية المعالجات ومن ثم تختلف في أمور لغة التجميع وما استنتجته هو أن لغة التجميع ليست كباقي لغات البرمجة عالية المستوى فمثلا لتعلم لغة برمجة جديدة عالية المستوى يكفي أن تعرف التعليمات الخاصة بها وبنيتها وعندها تصبح قادر على كتابة برامج بتلك اللغة لكن في لغة التجميع الأمر مختلف يعني ليست هناك تعليمات موحدة أو لغة موحدة فكل معالج يتم انتاجه تكون له لغة خاصة به   سبق لي وأن درست LES MICROCONTROLEURS في المدرسة وكنت متميز في برمجته لكنني لم أكن اعلم ان تلك اللغة التي يتم البرمجة بها هي كدالك لغة التجميع لأنني كنت أعتقد أنني سأجد في لغة التجميع جمل شرطية حلقات دوال مثل باقي اللغات   ما أريده الآن تعلم لغة تجميع تكون عامة يعني ادا تعلمتها أستطيع تعلم أي لغة تجميع خاصة بنوع من العالجات بسهولة   ادا كان الأمر غير ممكن فجزاكم الله خيرا هل ممكن ان ترشدوني الى اي طريق أتبع؟
  3. تمرين الآلة الحاسبة بلغة السي

    اجابتي   1الصعوبة متوسط  2 تقريبا 9 ساعات متواصلة أو أكتر 3 أرى أن المدة نسبتها الأكبر استهلكتها في التفكير 4 كل الأفكار التي استخدمتها لم يسبق لي أن فكرت فيها 5 نعم أعدت كتابته من الصفر مرتيين 5 أرى أنه تمرين جيد للمتمكنين من أساسيات اللغة ومن أجاب عليه وهو يعرف الاساسيات فقط للبرمجة أي المبتدئين فلهم مستقبل رهيب في البرمجة في حين أرى أنه مجرد لهو ببعض الحلقات والجمل الشرطية لبعض المحبين القدامى للغة #include<stdio.h>#include<stdlib.h>#define lengthOfString 100typedef struct operand_s operand_s;struct operand_s{ double theOperand; char theOperator; int theDegree; operand_s *nextOperand;};void intialization_operands(operand_s *myOperands, int nbrOperands){ for (int i = 0; i < nbrOperands; i++) { operand_s *newOperand = malloc(sizeof(*newOperand)); newOperand->theOperand = 0; newOperand->theOperator = ' '; newOperand->theDegree = 0; newOperand->nextOperand = myOperands->nextOperand; myOperands->nextOperand = newOperand; }}int nmbrOfDigInOper(char *myOperation){ int theNumbre = 0; for (int i = 0; myOperation[i] != '\0'; i++) { if (myOperation[i] >= 48 && myOperation[i] <= 57) { theNumbre++; while (myOperation[i] >= 48 && myOperation[i] <= 57 || myOperation[i] == '.') { i++; } } } return theNumbre;}int first_treatment(char *myOperation, operand_s *myOperands){ int degree = 0, largDegree = 0; operand_s *temporaryOp = myOperands; for (int i = 0; myOperation[i] != '\0'; i++) { if (myOperation[i] == '(') { degree += 2; if (degree > largDegree) largDegree = degree; } else if (myOperation[i] == ')') { degree -= 2; temporaryOp->theDegree -= 2; } else if (myOperation[i] >= 48 && myOperation[i] <= 57) { temporaryOp->theDegree = degree; temporaryOp->theOperand = strtod(&myOperation[i], NULL); if (myOperation[i - 2] == '(') temporaryOp->theOperand *= -1; while (myOperation[i] >= 48 && myOperation[i] <= 57 || myOperation[i] == '.') { i++; } i--; } else if (myOperation[i] == '*' || myOperation[i] == '/') { temporaryOp->theDegree++; if (temporaryOp->theDegree > largDegree) largDegree = temporaryOp->theDegree; temporaryOp->theOperator = myOperation[i]; temporaryOp = temporaryOp->nextOperand; } else if (myOperation[i] == '+' || myOperation[i] == '-') { if (myOperation[i - 1] != '(') { temporaryOp->theOperator = myOperation[i]; temporaryOp = temporaryOp->nextOperand; } } } return largDegree;}void second_treatment(operand_s *myOperands, int largDegree){ operand_s *temporaryOp = myOperands, *operandADelet = NULL; while (temporaryOp->nextOperand != NULL) { if (temporaryOp->theDegree == largDegree) { switch (temporaryOp->theOperator) { case '*': temporaryOp->theOperand *= temporaryOp->nextOperand->theOperand; break; case '/': temporaryOp->theOperand /= temporaryOp->nextOperand->theOperand; break; case '+': temporaryOp->theOperand += temporaryOp->nextOperand->theOperand; break; case '-': temporaryOp->theOperand -= temporaryOp->nextOperand->theOperand; break; } temporaryOp->theOperator = temporaryOp->nextOperand->theOperator; temporaryOp->theDegree = temporaryOp->nextOperand->theDegree; operandADelet = temporaryOp->nextOperand; temporaryOp->nextOperand = temporaryOp->nextOperand->nextOperand; free(operandADelet); } else if (temporaryOp->theDegree != largDegree) temporaryOp = temporaryOp->nextOperand; }}int main(){ int nmbrOfDig, largDegree; char theOperation[lengthOfString] = { ' ' }; operand_s *theOperands = malloc(sizeof(*theOperands)); theOperands->theOperand = 0; theOperands->theOperator = ' '; theOperands->theDegree = 0; theOperands->nextOperand = NULL; scanf("%s", theOperation); nmbrOfDig = nmbrOfDigInOper((char*)&theOperation); intialization_operands(theOperands, nmbrOfDig - 1); largDegree = first_treatment((char*)&theOperation, theOperands); while (largDegree >= 0) { second_treatment(theOperands, largDegree); largDegree--; } printf("%s = %lf\n", theOperation, theOperands->theOperand); free(theOperands); return 0;}
  4. السلام عليكم لدي تمرين لكم مع بعض الأسئلة أتمنى المناقشة   صنع تطبيق آلة حاسبة بالعمليات الأربع الجمع الطرح الضرب القسمة مع الأقواس وامكانية حساب الأعداد بالفاصلة  بلغة السي القياسية  وفي الكونسول فقط   المدخلات 8-9.55*(6+11.23)/5*((-7)/65.54*(4+7))-5المخرجات 8-9.55*(6+11.23)/5*((-7)/65.54*(4+7))-5 = 41.663657 بعد صنع التطبيق أجب على الأسئلة 1 ماهو مستوى صعوبة التمرين ؟ 2 كم استغرقت من الوقت لأنهاء التطبيق ؟ 3 هل المدة تتعلق بمستوى تفكيرك أم معرفتك باللغة ؟ 4 هل استخدمت أفكار جديدة أم اعتمدت على أفكارسبق لك واستخدمتها ؟ 5هل اعدت كتابة الطبيق من الصفر بأفكار جديد ؟ كم ؟ 6 ما رأيك في التمرين ؟   أو   لمادا لم تجب على التمرين ؟
  5. تمرين على استخدام القوائم(باستخدام C )

    وجدت الموضوع بالصدفة أسف مرت سنة كاملة   تعديلات بسيطة في المرفقات توقفت بسبب دالة الترتيب http://arabteam2000-forum.com/index.php/topic/281879-%D8%AA%D8%B9%D8%B1%D9%81-%D8%B9%D9%84%D9%89-%D8%AF%D8%A7%D9%84%D8%A9-%D8%A7%D9%84%D8%AA%D8%B1%D8%AA%D9%8A%D8%A8-%D8%A7%D9%84%D8%B3%D8%B1%D9%8A%D8%B9-qsort/   في انتظار اجابة ... ConsoleApplication1.rar
  6. تعرف على دالة الترتيب السريع qsort

    typedef struct data_s data_s;struct data_s{ int age; char nom[10];};int compare_par_nom(const void*a, const void*b){ char *A = (char *)a; char *B = (char *)b; int i; for (i = 0; A[i] && B[i]; i++) { if (A[i]>B[i]) return 1; if (A[i]<B[i]) return -1; } if (A[i])return 1; if (B[i])return -1; return 0;}int compare_par_age(const void*a, const void*b){ int A = *((int*)a); int B = *((int*)b); if (A < B)return -1; else if (A == B)return 0; else return 1;}int main(){ data_s personnes[6]; strcpy(personnes[0].nom, "Rachid"); strcpy(personnes[1].nom, "Samir"); strcpy(personnes[2].nom, "Ali"); strcpy(personnes[3].nom, "Mostafa"); strcpy(personnes[4].nom, "Khaled"); strcpy(personnes[5].nom, "Yasine"); personnes[0].age = 23; personnes[1].age = 17; personnes[2].age = 32; personnes[3].age = 28; personnes[4].age = 25; personnes[5].age = 19; qsort((void *)personnes, 6, sizeof(data_s), compare_par_age); qsort((void *)&personnes[0].nom, 6, sizeof(data_s), compare_par_nom); for (int i = 0; i<6; i++) printf("persone num: %d nom:%s age:%d\n", i + 1, personnes[i].nom, personnes[i].age); system("pause");}لا أعلم لمادا لا يعمل ؟ +   ادا أردنا ترتيب مصفوفة من نوع بنية على حسب المتغيرات التي داخل البنية ستحتاج qsort مؤشر لأول عنصر في البنية ادا أردنا الترتيب على حسب أول نوع موجود في البنية سنعطي ل qsort مؤشر البنية ككل لأنه هو نفسه مؤشر أول نوع في البنية لكن مادا لو أردنا الترتيب على حسب النوع التاني الموجود بالبنية كيف سنفعل دالك ؟؟ استعملت الكود فوق لكن لم يعمل بالشكل الجيد ؟؟ ممكن توضيح أكتر
  7. السلام عليكم عندما نقوم بعمل عمليات حسابية ب النظام السادس عشري نستغرق وقت طويل جدا مقارنتا مع عمليات من النظام العشري أنا شخصيا للحساب بالنظام السادس عشري علي أولا التحويل الى النظام الثنائي ثم الى النظام العشري ومن تم أحسب الناتج بالنظام العشري ومن ثم احوله الى النظام التنائي وفي الأخير يمكنني كتابته بالنظام السادس عشري   أريد الاستفسار عن: هل يوجد هناك أشخاص يتعاملون مع النظام السادس عشري متل النظام العشري يعني يستطعون الحساب بسهولة ؟؟ +ماهي اسهل طريقة للحساب بالنظام السادس عشري يمكنني استعمالها للحساب في دهني دون استعمال القلم ؟؟ + هل من طريقة لقرائة(فهم) عدد بالنظام السادس عشري بسرعة ؟؟
  8. السلام عليكم لدي هدا الكود البرمجي المطلوب تعديل الكود لجعله أسرع في التنفيد بنسبة أكتر من 50% **مع كتابة استنتاج يعتمده المبرمج في كتابة برامجه   الشروط: عدم اضافة أو ازالة أي حرف أو رقم أو رمز عدم عدم تغيير فكرة عمل الكود التعديل مسموح داخل الدالة الرئيسية فقط     المستوى: من مبتدأ الى متوسط #include<stdio.h>int cotin(){ int i,a=0; for(i=0; i<10000000; i++) a++; return a;}int couti(){ int i,a=0; for(i=0; i<100000; i++) a++; return a;}int cutin(){ int i,a=0; for(i=0; i<1000; i++) a++; return a;}int main(){ if(cotin()<=1000||cutin()<=1000||couti()<=1000) printf("MouhcineFD");}** سبب تعديل الموضوع
  9. نعم وبشكل أسرع في الأول كنت استغرق وقت طويل لفهم ماهو المطلوب في مسألة ما أم الآن هناك تحسن لكن أجد مشكلة في اختيار المسائل وأبحت عن طريقة لتسهيل الاختيار أو قائمة لمسائل تكون في المتناول
  10. كما لاحظمت فموقع spoj يحتوي على العديد من المسائل وهدا يشكل عائق امام المستخدم بخصوص اختيار المسألة المناسبة خصوصا ادا كان المستخدم غير متمكن من اللغة الانجليزية   فهل من طريقة للحصول على مسائل تكون في المتناول
  11. فكر: لغز برمجي بسيط

    نعم هدا ما أقصد كما قلت فهو لن يغير شيئ لكن فقط في هده الحالة لنفترض أننا لا نعرف شيئ عن الدالة الأولى هل ستتحقق أم لا يعني من الأفضل جعل cotin هي الأخير على العموم اجابتك صحيحة + ماهو استنتاجك
  12. فكر: لغز برمجي بسيط

    أنا وضعت لغز بشروط وليس موضوع للنقاش عن طريقة عمل المصرف ما قاله Mr.B صحيح ولكن ليس هو حل اللغز
  13. فكر: لغز برمجي بسيط

    Mr.B  من الشروط   عدم اضافة أو ازالة أي حرف أو رقم أو رمز عدم تغيير فكرة عمل الكود التعديل مسموح داخل الدالة الرئيسية فقط
  14. فكر: لغز برمجي بسيط

    أحمد أبو عبد البر  وجدت الحل لكن لم تعدله بالشكل الأفضل + انظر الموضوع تمت اضافة طلب جديد
  15. اوك تم قمت بتعديل الكود حدفت ثلاث متغيرات وجعلته مختصر اكتر مع انني غيرت شيئ أساسي في عمل التطبيق يختصر عليه الوقت في الحساب يعني أنا متأكد من أن الكود اصبح أسرع من السابق لكن مع دالك حصلت على 0.67  :( لا أعرف لمادا
  16. اوك لكن عندا رأيت أفضل النتائج دهلت واووووو 0.08 ثانية كيف فعلها ؟؟؟ وأنا حصلت على 0.67 هههههههه وبنفس اللغة مع أنني حاولت تصغير الكود الى اقصى حد ونقص المتغيرات   هدا الكود الدي حصلت به على 0.67 تم حذف الكود من قبل المشرف
  17. نعم تم تصحيح المشكل + بالنسبة لأفضل الحلول يعتمدون على الوقت لدي سؤال هل الوقت يتغير على حسب نوع اللغة المستعملة متلا هل ادا قمت بكتابة كود بالسي واستغرق نصف ثانية وكتبت نفس الكود لكن بالجافا هل سيتغير الوقت ؟؟
  18. السلام عليكم لدي سؤال هل مصحح الموقع يعتمد في تصحيحه على أشياء مثل نوع المتغيرات التي استعملت أو هل قمت بعمل Initialisation للمتغيرات ام لا او هل قمت بتحرير الداكرة في آخر البرنامج أو هل قمت بعمل return 0 وووو متلا في مسألة farida العددد المطلوب ادخاله قد يساوي 4^10 وأنا استعملت متغير من نوع int هل سيعتبرها خاطئة + wrong answer    هل تعني أن الخطأ موجود في المخرجات أم مادا ؟؟ لأنني متأكد أن الحل صحيح ولكن مع دالك لا يعتبره الموقع صحيح  
  19. أوك بارك الله فيكم تم للقفل
  20. السلام عليكم أريد معلومات حول امكانية صنع دالة للادخال متل SCANF لكن عوض  اظهار البيانات المدخلة تظهر رموز مثل كلمات السر هل امكانية صنع دالك سهلة أم صعبة وهل تتطلب معرفة جيدة بلغة الاسمبلي ؟؟
  21. لم يعمل وأريده بالسي
  22. يعني لو كان لدينا متغير يحتوي على القيمة 0xff وطبقنا عليه عملية النفي ستصبح قيمته 0x0 ؟؟؟
  23. السلام عليكم موضوع مميز يا استاد درست تقريبا الشطر الأول من الدرس لدي بعض الاسفسارات بخصوص علمية النفي not دكرت انها تقوم بنفي اي عدد فمتلا ماهو نفي العدد 5؟؟ انا اعرف انها تنفي 0 الى 1 و تنفي اي عدد الى 0 ورمزها في السي ! وليس رمزها ~  المرجو التوضيح +   على ما اضن تتكلم عن Or وليس and
  24. دائما اقع في نفس السؤال عندما يتم طلب منك صنع تطبيق ويكون يحتوي على ارقام كبيرة متلا في مسألة farida N اصغر من 10 اس 9 هل اقوم بوضع جدول دو حجم ديناميكي على حسب N ام اضع رقم كبير محدد ؟؟؟
  25. ok  وفي النهاية ستصل إلى قرار : ( كل ما اكتشفه العلماء قبلي يمكنني اكتشافه , ولكن ليس لدي الوقت الكافي لذلك  :) ) ;)