الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

[ تمت الإجابة ]انتهيت من كورس سي , ماذا بعد ؟

بدأه pro:da7oom في 2 أغسطس 2013 · 10 رد · 1,123 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

كيف حآلكم يأ إخوآن إن شاءلله بخير ! 

لدي بعض الاستفسارات في لغة C ولغة التجميع Assemply !

صراحة أنا خلصت كورس في هذه اللغة  C  و ربما لغة الالة assembly وأحسست أنني لا أعلم شيئاً  عنها 

هل هذا الوضع طبيعي أم مشكلة !!!!  

 

تعلمت على لغة لا أعلم هل هي لغة التجميع أو لا وتعلمتهآ بشكل مبتديء جداً علمت كيف أكتبها على في برنامج " ويظهر " لي ما كتبت بشكل " رسومآت على الهآرد وير !

وكانت بسيطة للغاية من خلال تجربتي لهآ بعد أن وضع لنآ " جدول " وسؤال تأتي بالحد  الـ minterm من الجدول , و بإستخدآم الـ k-map ! 

 

تختصر الجدول ويظهر لك دالة تجمعها مع بعض وتكتبها بالبرنامج بلغة التجميع وتطلع رسومات على البرنامج 

هذا ابسط سؤال مر علي في مادة Cen111 ! وأيضاً الارقام بإستخدام لغة الاله  الاعداد الالكترونية  " الرقمية " 

التي في الاشارة 1 2 3 4 5 6 7 8 

 


لغة الدكتور عافاه الله سيئة للغاية لا يعلم يتحدث إنجليزية يتحدث احيانأً " الـهندية " 

وهناك صعوبة في فهم الشرح نظرياً 

هل هذه فعلاً هي لغة الآلة Assemply ام لآ ؟

السؤال الأخر !

أنآ أقل من مبتديء جدأً جدأً جداً جدأً !

في لغة C ! 

خلصت الكورس 

,, وتعلمت اعمل اله حاسبة + وسجل للموظفين بالتراكيب + تعلمت السويتش والحالات case + وتعلم looping كامل وأعلمه جيداً والمتداخل فيها 
،، والـ المكتبات الرياضية ،، ومكتبات القراءة ! وبعض المكتبات الاخرى والاستدعاء !


لكن لا أعرف كيف اصمم واجهة برنامج وأكتب البرنامج فيها  !!!!!

 

ويشتغل ويعمل !!!

صراحة الوضع مُمل للغاية وأنت تكتب برنامج وتجربة في DOS  !

حاولت أن أعمل برنامج آلة حاسبة 


وبرنامج لحساب المعدل الجامعي

 

بإستخدام برنامج Visual C++ 6.0

 

استطعت كتابت البرنامج لكن لا أعلم " كيف أعمل البرنامج واصمم الازرار  "

؟؟؟؟

 

؟؟

؟؟

اخوكم

عبدالرحمن 

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 3 نوفمبر 2013 في 23:22 — السبب: التنسيق

#2

وضعك طبيعي أخي، المشكلة مع التعليم الجامعي أنه يعطيك المعلومة ولايعلمك كيف تستخدمها بعد انهاء المنهج. يعني لابد أن تتعلم بنفسك كيف تستخدم ماتعلمت.

 

بخصوص الأسمبلي، الأرجح أنك كنت تتعلم أسمبلي MIPS. الاسمبلي ليست لغة مثل C بحيث لها معايير ثابتة، لذا فهناك العديد من لغات الأسمبلي كل واحدة موجهة لمعالج، أو معمارية بشكل أدّق، مثلاً معمارية x86 والتي تستخدمها معالجات أنتل و AMD لها أسمبلي خاصة تختلف عن تلك الخاصة بالمعالجات المبنية على معمارية MIPS ومعمارية ARM المستخدمة في كثير من معالجات الهواتف الذكية،  وأحياناً نفس الأسمبلي (طريقة الكتابة) تختلف، مثلاً هناك فرق بين أسمبلي أنتل و at&t المستخدمة في معمارية x86 في طريقة الكتابة:

movl %esp, %ebp     ; at&tmov  ebp, esp       ; أنتل

الا أن كل التعليمتين سيتحولان إلى نفس الرقم 0x89 0xe5 (لغة الآلة)، ويمكنك حتى أن تبتكر طريقة الكتابة الخاصة بك طالما أن كود الآلة الذي سيولد واحد.

 

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

 

بخصوص C، فأنت تعلمت أساسيات البرمجة (كاتخاذ القرار باستخدام if وحلقات التكرار for و while وغيرها) باستخدام C (الـC أداة وليست غاية)، بعض الجامعات تستخدم لغات أخرى مثل بايثون، الهدف أنك تفهم أساسيات البرمجة.

 

إذا كنت تريد استخدام C والتعمق بها فيمكنك استخدام "المكتبات" لعمل أشياء مفيدة، هناك العديد من المكتبات تقدّم أشياء كثيرة مثل معالجة الصور، تكبيرها وتدويرها وغيرها من العمليات، مكتبة cairo مثال عليها، أيضاً هناك مكتبات لبناء الواجهات الرسومية مثل gtk، والعديد من المكتبات التي تساعدك بالقيام بكل ماتريد.

 

للتعامل مع تلك المكتبات ستحتاج أن تعرف تقرأ بالإنجليزية، المصادر العربية الخاصة بالإستخدامات الحقيقة لـC نادرة، أغلب المصادر حول تعلم C فقط. أيضاً عند استخدامك لأي مكتبة C يلزمك أن تعرف أن لكل مكتبة يأتي غالباً ثلاث أشياء مهمة:

  1. الملفات الرأسية .h.
  2. ملفات الربط الديناميكي .dll.
  3. مكتبات الربط الثابت lib.

تحتاج أن تعرف كيف تعدّ VC++ لاستخدام المكتبة باعطائه مسارات هذه الملفات الثلاث، طريقة الإعداد واحدة في أغلب المكتبات (خذ هذا المثال على طريقة اعداد فجيول c++ 2008 لاستخدام المكتبة cairo في توليد صورة | رابط التحميل في المقال تغير).

 

طبعاً أخي يلزمك أن تعرف كيف تبحث وتعمل لوحدك للتعرف على أشياء جديدة وايجاد حلول للمشاكل التي تواجهك، فلايوجد مكان أو مصدر يعطيك كل شيء.

تم تعديل هذه المشاركة بواسطة Mr.B في 2 أغسطس 2013 في 04:51

1
#3

بارك الله فيك أخي الكريم على الرد وعلى هذا الاثراء الطيب

افدتنآ كثيراً بخصوص المكتبات وصراحة أطلعت على المواقع التي وضعتهآ وفهمت أن المكتبات مختصه بكل شيء في اللغة نظرتي لهآ قبل كانت محدود ، كنت أعتقد أن عملهآ مختص فقط في إختصار الدوال  ك power  و sqrt وتعريفهم !

لكن طريقة عمل البرنامج اقصد بذلك " الأزرار "  ! والهيكل الاساسي   يعني  كمآ  في الصورة

طريقة اضافة كود البرنامج في هذه الصورة كيف ؟

 

 

 

AOW10038.png
 

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 17 نوفمبر 2013 في 23:10

#4

اتمنى مآ أحد يبخل علي كيف أضيف كود البرنامج " الخوآرزمية " للمكتبة والتنسيق !

يعني لمآ أختأر MFC  كيف أضيف لهآ أكوآد البرنامج ؟؟

#5

معقولة مآ فيه أحد " يعرف " كيف نضيف كود للبرنامج ؟ "

نسأل الله السلامة لو أنني كتبت هذا الموضوع في منتدى أجنبي لـ رأيت عشرات بل مئات من الردود

والسبب أنني لم أكتبه هو أن الشرح سيكون من الصعب فهمه !!!
ولكن في منتدى عربي تنعدم المساعدة في العلوم في أي مجآل كان !

اشخاص قله مثل الاخ Mr:b نجدهم في المنتديات العربية !
 

أستطيع القول أن أكثر من 100 شخص دخلوا إلى هذا الموضوع "للفضول" فقط !

وبعضهم سوف نحسن الظن به ونقول " متكآسل " !

وهذا هو السبب الوجية في " الطبقية في العلم في عآلمنآ العربي " وإنعدآم التحصيل الجيد للكثير    !




 

−4
#6

أخى العزيز

 

السبب فى عدم الرد على سؤالك هو الاتى:

 

  • ممنوع أن تسأل أكثر من سؤال غير مرتبطين ببعض فى موضوع واحد, يعنى فى البداية بتسأل عن الـ C و Assembly ثم بعد ذلك فى نفس الموضوع سألت سؤال أخر فى مجال أخر وهو MFC وطبعا هذا مخالف وغير أنة مخالف أيضا فهى طريقة غير منظمة .
  • القسم الحالى اللى أنت فية دة هو قسم C/C++, والسؤال الاخير الخاص بالـ MFC ليس فى مكانة, مكانة هو قسم المكتبات و أطر العمل البرمجية, فكيف ستجد ردا على سؤالك وهو ليس فى مكانة من الاساس.
  • عنوان سؤالك لا يوضح محتوى السؤال (أعزائي الاعضاء الكرام مساعدة في لـغة C), هذا العنوان لا يوضح مضمون السؤال كمثال يمكن كتابة العنوان بهذا الشكل  
    اقتباس

    لقد أنتهيت من كورس فى C ولغة assembly ولازت لا أعلم شئ هل هذا طبيعى ؟

      أو يمكنك كتابة أى عنوان أخر بس يوضح مضمون السؤال.
  • للاسف أخى العزيز أنت حكمت على إخوانك فى المنتدى أن فية 100 شخص دخلو للفضول + ناس كانت متكاسلة , كيف عرفت ذلك , لماذا شكيت فى الناس ولم تشك فى نفسك, وتقول ممكن يكون سؤالى فية شئ خطأ أو لم أكتب سؤالى بشكل يجعل الناس ترد عليا .

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

 

طبعا أنا لم أقول لك هذا الكلام بغرض سئ لا, ولكن أنا كنت أوضح لك فقط سبب عدم الرد عليك .

والان أنت عرفت الخطأ, حاول أن تصححة .

 

بالتوفيق لك أخى العزيز.

تم تعديل هذه المشاركة بواسطة مستر برمجة في 3 أغسطس 2013 في 15:50

2

||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||


egypt_coa.gif


||||||||||||||||||||||||||||||||||||


||||||||||||||||||||||||||||||||||||

#7

إذا كنت ترغب بتعلم mfc فربما تود قراءة كتاب programming windows with mfc ، ستجده في المرفقات. mfc تستخدم c++، لابد من معرفة أساسياتها أولاً.

Programming_Windows_with_MFC__2nd_Edition.chm

1
#8
Mr.B كتب:

إذا كنت ترغب بتعلم mfc فربما تود قراءة كتاب programming windows with mfc ، ستجده في المرفقات. mfc تستخدم c++، لابد من معرفة أساسياتها أولاً.

 

بارك الله فيك أخي الكريم  النسخة التي وضعتهآ لا تعمل من الممكن لديها مشاكل في بيئة ويندوز 7 لكن سأبحث عنهآ في مكان أخر !

 

بارك الله فيك على هذا الرد وأسأل الله لك التوفيق في الدنيا والأخرة ! 

 

 

 

@مستر برمجة :

 

يا أخي الفاضل الكريم الحبيب !  أنا مبتديء وهذه المشاركات الاولى لي في المنتدى ! 

من الصعب أن أفهم كل تلك الامور من البداية

لذلك يجب أن يفصل لي احد في الامور والاسئلة التي وضعتها من أجل أن أفهم ماذا علي أن افعل ! كـ شخصك الفاضل ! 

 

المكتبة MFC لم أعلم عنهآ إلا الآن !  رأيت الكثير من المكتبات في المواقع التي وضعها الاخ الحبيب Mr.B  جزاهـ الله خير ، وفهمتهآ  ووجدت شرح في هذا الموقع يتحدث عن المكتبة MFC وأحببت أن أعمل بهآ ! 

 

لكن هل هناك شرح لإضافة كود للبرنامج بعد إختيار المكتبة !  لم أجد في كل المنتديات العربية والاجنبية شرح يتناول كيفية أضافة كود البرنامج لـلمكتبة ! 

أنآ تعلمت C , C++ بسيطة نفس السينآريو ! لأن الدكتور في الكلية يشرح لنآ الـلغتين معأً لكن بنفس النمط أي لم نصل إلى الفئات والوراثة ! وبعض الموآضيع 

لكن مع التجربة في الجامعة والمنزل ! أحسست بالملل من خلال التجربة في الـ DOS ،  تلك الشاشة " السوداء " !   :aw:   

 

فأحببت أن أطبق مآ تعلمته ببرامج وليس على " DOS " فقط ! 

هذا كل مافي الأمر

شكراً لك 

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 17 نوفمبر 2013 في 23:10

#9

صديقي الكريم,

أدرك الإحساس بالإنزعاج الذي تمرّ به و أؤكد لك أن معظمنا مرّ به . ولكن بداية أود توضيح بعض النقاط:

- عليك دائماً بالبحث . أرنا أنك حاولت أن تساعد نفسك و سنحاول مساعدتك قدر الإمكان دون أن نعطيك الإجابة بشكل واضح. سندلك فقط إلى الطريق الصحيح و بقية الأمر عليك.

- لا يجب على أحد مساعدتك. لا يوجد واجبات على أي أحد هنا سوى احترام الأعضاء الآخرين, و الباقي اختياري.

- من المهم الالتزام بقواعد المنتدى

- طلب الاستعجال في إعطاء الإجابة قد ينعكس عليك سلبياً, إذ أن إجابة سريعة و كتبت على عجل قد تكون أسوأ من عدم وجود إجابة.

 

أتمنى منك قراءة النقد بصدر رحب وعدم اعتباره إهانة شخصية لك.

 

الآن, للبدء ببرمجة واجهات المستخدم الرسومية, عليك أن تغير من طريقة تفكيرك قليلاً , إذ أنّه لا يوجد حل سحري لجعل تطبيق ال console الخاص بك تطبيقاً يستخدم الواجهات الرسومية ( حسب علمي على الأقل )

حتى الآن كان منطقك العام لبرمجة برامج تعمل ببيئة DOS هو التالي :

 

  1. تسأل المستخدم أن يدخل بعض القيم ( ربما أرقام , أو مسميات , إلخ )
  2. تجعل البرنامج يقوم بقراءة ملف معين أو يقرأ مجموعة من القيم المخزنة في الذاكرة
  3. نقوم بحساب بعض القيم بناء على شروط قمت بتحديدها مسبقاً
  4. تقوم بتسجيل أو تعديل أو حذف بعض القيم
  5. الخروج من البرنامج بعد انتهاء المهمة

بينما عليك التفكير في برمجة الواجهات بطريقة مغايرة. السبب في ذلك أنك في بيئة الDOS تقوم بتوجيه المستخدم بعرض خيارات عليه, يمكننا تشبيه عمل تطبيق الConsole بعمل النادل ( الكرسون, الشخص الذي يأخذ الطلبات ) :

يقوم بعرض مجموعة من الخيارات عليك ( قائمة المأكولات ) ثم يطلب منك الاختيار, تقوم باختيار طبق معين فيقوم بسؤالك بعض الأسئلة حول كمية الملح و نوع التوابل و حتى عن مدة الطبخ و  المواد التي يتحسس جسمك منها. بعد إدخال هذه المعلومات تبدأ عملية المعالجة ( إعداد الطعام ) و يتم تحضيره تبعاً للخيارات التي اخترتها. تنتهي مهمة النادل بعد أن يصل طبقك إليك و بعد أن تبدي رضاك عنه - أي الطعام - ( على الأقل في مثالنا )

 

في برمجة الواجهات سيكون المنطق كالتالي:

- في حال لم يكن طابور الأحداث فارغاً قم بما يلي :

  • الحدث خروج " : قم بالخروج من البرنامج. إيقاف تنفيذ النص البرمجي.
  • و إلا : في حال الضغط على الزر المرتبط بالحدث رقم 1 : قم بالاستجابة لطلب المستخدم لتنفيذ المهمة رقم 1
  • أو : في حال الضغط على أزرار لوحة المفاتيح المرتبطة بالحدث رقم 2 : قم بالاستجابة للمهمة رقم 2
  • .................................

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

أي أننا سننتظر المستخدم ليقوم بفعل ما, هذا الفعل هو الحدث, و سيكون تنفيذ المهمة رداً على هذا الحدث.

الأمر يشبه ذهابك إلى السوق لشراء بعض الثياب.

حيث يمثل الموظف الذي يساعدك في الشراء طابور الأحداث, و ستمثّل أنت و بقية الزبائن الأحداث :

في حال لم يقم أحدكم بسؤال الموظف فلن يقوم بعمل شيء. الآن إذا قمت بسؤال الموظف عن بنطال أزرق سيبدأ الموظف البحث عنه, قد يجد بنطالاً و قد لا يجده, الآن في حال لم يجد بنطالاً أزرق من الممكن أن يمضي ساعات وهو يبحث مما سيسبب إزعاج الزبائن الآخرين.

 

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

عندما تفهم منطق البرمجة الموجهة بالأحداث يبقى لك تعلّم صياغة النص البرمجي تكون قد قطعت شوطاً مهماً في عملية تعلّم برمجة الواجهات الرسومية.

 

الآن بإمكانك تحميل بعض الكتب و البدء بالتدريب, حاول صياغة النص البرمجي, ثم انشره إن كان خاطئاً  و اسأل عن سبب الخطأ. أشك في أنّ أحداً سيقوم بتجاهلك إن قمت بهذا.

 

على الهامش : تمت صياغة الرد بسرعة, الرجاء مراعاة الأخطاء و توضيح أماكنها إن أمكن

تم تعديل هذه المشاركة بواسطة MPC في 3 أغسطس 2013 في 21:35

2
#10

الله يعطيك العافية أخي الفاضل على هذا الشرح الطيب والوافي ! 

أعتقدت أنني وصلت إلى نقطة الصفر في البرمجة ! وأن بإمكآني عمل برنآمج بعد الإساسيات التي تعلمتهأ !

سأتعلم البرمجة الموجة بالإحداث وسأحول الحصول على كتب وشرح لها على الشبكة  

 

أشكرك جزيل الشكر وأسأل الله لك التوفيق 


 

تم تعديل هذه المشاركة بواسطة مصطفى 36a2 في 17 نوفمبر 2013 في 23:11

#11

السلام عليكم

 

إلى الأخ كاتب الموضوع :

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

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…