المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : إإلى شطار البرمجة(C++ ,java).إفادة واستفادة..


Azal
27-11-2003, 10:09 AM
أخوتي الكرام:

من كان لديه خبرة في أساسيات البرمجة فليتفضل بالمشاركة ففيها الفائدة العملية والأكاديمة خصوصاً لطلاب الجامعات في مجال تكنولجيا المعلومات.

اقتراحي ان يقوم من لديه مسألة برمجة يريد حلها ان يطرحها ليقوم شطار البرمجة بحلها وبالتالي يفيد نفسه والآخرين.

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

بانتظاركم.. من لديه الرغبة يشرفنا بالمرور والتوقيع..

وجزاكم الله خيراً..

يافع
27-11-2003, 02:19 PM
أعتقد أن أسهل لغات البرمجة التي يمكن أن نشارك بها ونتعامل بهل بشكل سهل بين الأعضاء هي ال VisualBasic ثم يأتي بعدها Visual CPP أما عن اللغات الأخرى....لا أقول أنها صعبة التعلم...لكن...لا يلاحظ المتعلم أنه أنتج منها الشيء الكثير.....

مثلاً برنامج ألة حاسبة قد يأخذ وقت أكثر في CPP بعكس VisualBasic و الأكثر افتخارا وانتباها "للمتعلم الجديد" أن شكل البرنامج في VisualBasic أجمل من شكل البرنامج في ال CPP

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

والله ولي التوفيق

ريفه
27-11-2003, 11:46 PM
ياريت والله فكرتك ممتازه اخي الكريم

وانا اتمنى ان نستمر بحيث ان من كان عنده سؤال يضعه والقادر عن الاجابه يجيب
اخي انا اؤيد الفكره واتمنى ان يحصل هذا بمنتهى السرعه

تقبل تحياتي

العمراوي
28-11-2003, 06:48 AM
وأنا معاكم .,.,.,.,

ولو التفاعل وصل للحد المطلوب .,.,.,., بأعمل به موضوع مثبت وتحوله إلى مشروع نستفيد منه .,.,.,.,

Azal
28-11-2003, 06:49 AM
شكراَ أخوتي على التفاعل
أخي يافع :
تستطيع ان تشارك بلغة VB والمقصود من التفاعل هنا هو تعلم الأساسيات , فمن تعلم الأساسيات تبقى المسالة مسألة اطلاع ويستطيع ان يطبق جميع الأساسيات على جميع اللغات إذا تعلم الصيغة.

أختي ريفة :
شكراً على التفاعل وسأبدأ بطرح فكرة نرجو منكم محاولة التفكير فيها.

- كيف تستطيع أن تقوم بترتيب مجموعة من الأعداد تنازلياً أو تصاعدياً بدون استخدام function جاهزة؟

هذه بداية ولدي العديد من الأفكار الرائعة التي واجهتني في جامعتي.

Azal
28-11-2003, 06:50 AM
شكرا أخي كونان على التفاعل.
وجود معنا يرفع من قيمة الموضوع ويشجع على التفاعل.

رمال الصحراء
28-11-2003, 10:45 AM
موضوع رائع وفيه نحاول أن نزيل الصدى الذي ترسب على عقولنا..
ونحاول أن نشارك بما نعرفه...

لك التحية آزال والتقدير..
رمال الصحراء ،،

Azal
29-11-2003, 04:20 AM
نص مقتبس من رسالة : رمال الصحراء
موضوع رائع وفيه نحاول أن نزيل الصدى الذي ترسب على عقولنا..
ونحاول أن نشارك بما نعرفه...

لك التحية آزال والتقدير..
رمال الصحراء ،،

شرف لي مجرد مرورك اختي الكريمة.. أرجو أن نستفيد من الموضوع.

رغيد الطيب
29-11-2003, 11:39 AM
السلام عليكم ورحمة الله وبركاته ...

الاخوة الاعزاء تمنيت دائماً وجود مواضيع كهذة في هذا القسم الحبيب والذي يمكن ان نطلق عليه اسم القسم اليتيم !

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

الاخ الحبيب "يافع" يبدو لي وبوضوح اخي العزيز انك قد اخذت فكرة خاطئة عني فانا لست بالمبرمج المحترف الذي تظن ... يمكنك القول انا مجرد مبرمج يحب الفيجوال بيسك بكل اصدارته حباً عظيماً وبرامجي التي رأيت هي مجرد ترجمة لهذا الحب !!

وبالنسبة لشرحها توجد مشكلة واحدة وهي انها تتضمن بعض المفاهيم البرمجية المتقدمة والتي يصعب توضيحها بسهولة ولايعود السبب لصعوبتها ولكن السبب يعود الى تداخل الامور ببعضها البعض لان معظم البرامج تمتد الى خارج نطاق الفيجوال بيسك وتستخدم دوال الدوال الخاصة بالوينذوز وهي دوال الـ API او (Application Programming Interface) ....

ولهذا ارى انه اذا استمر هذا الموضوع و غطى اساسيات البرمجة فيمكننا وبسهولة الانتقال الى مواضيع متقدمة وانا على استعداد كامل لذلك بإذن الله تعالى ...

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

وبالنسبة للتمرين اخي العزيز آزال لم تذكر بأي اللغات تريده ؟

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

Azal
30-11-2003, 04:52 AM
أخي رغيد الطيب:
شكراً لتفاعلك وحماستك للموضوع ونتمنى أن نتمكن من تقديم الفائدة لبعضنا..

أخي عندما نتحدث عن اساسيات البرمجة وهي فهم منطق البرمجة فهنا تستطيع ان تكتب البرنامج بأي لغة حتى بلغتنا العربية .. اي أنك تستطيع أن تشرح فكرة البرنامج شرحاً عادياً, ثم بعد ذلك تقوم بترجمة شرحك إلى لغة معينة (يفضل ان تكون C++ أو جافا ) لغات Object Oriented Programming .

مثال :
إذا أردت ان تحسب مجموع عددين ببرنامج بغض النظر عن اللغة المستخدمة ستحتاج مايلي:

1- تحتاج إلىثلاثة متغيرات (veriables) لحفظ الأرقام الثلاثة: العدد الأول والعدد والثاني ومتغير ثلاثة لتخزين المجموع.
2- بعد ان تقوم بتعريف المتغيرات الثلاثة , ستحتاج إلى أمر يطلب من المستخدم إدخال العددين الذي تود جمعهما.
3- تقوم بعمل المعادلة التي تؤدي إلى جمع العددين وتخزين الناتج في العدد الثالث.
4- طباعة الناتج.

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

فمثلاً: نستطيع حلها على ال c++ أو الجافا كالتالي:
c++:


double x;
double y;
double z;

"cout<<"entet two numbers you want to sum"
cin>>x>>y;

z= x+y;

cout<<z<<endl;

بالجافا ستتبع جميع الخطوات مع تغيير المفردات المسنخدمة , حيث ستقوم بعمل أمر لإدخال الأرقام بدلاً من الأمر cout , و cin

بالنسبة للفجول بيسك تستطيع ذلك ولكن بدلاً من تعريف المتغير xyz بالطقريقة السابقة ستقوم بإنشاء مربع نص لكل منهم وتسميه ثم تقوم بعملية الجمع نفسها مثلاً:
تنشيء مربع نص بإسم x
والثاني باسم y
والثالث باسم z

ثم تقوم بإنشاء زر امر للجمع تسميه sum

تقوم ببرمجة الأمر sum عند الحدث click يقوم بعملية الحساب

وتكون كالتالي:

z.text = val(z.tex)+val(y.text


هذا مثال لشرح الأساسيات ونرجوا ان نكون قد وفقنا.

العمراوي
01-12-2003, 07:00 AM
نصيحة مني يا عزيزي آزال .,.,.,.,

لما تكون تكتب أي شفرة فأكتبها بين كلمتي [code ] [/code ] وهذا بايجعلها شفره بالفعل ولا يتغير شكلها كما حصل معاك .,.,.,.,

وسترى بعض الأمثلة في توقيعي .,.,.,.,

وجزاك الله ألف خير .,.,.,.,

Azal
01-12-2003, 07:23 AM
نص مقتبس من رسالة : المحقق كونان
نصيحة مني يا عزيزي آزال .,.,.,.,

لما تكون تكتب أي شفرة فأكتبها بين كلمتي [code ] [/code ] وهذا بايجعلها شفره بالفعل ولا يتغير شكلها كما حصل معاك .,.,.,.,

وسترى بعض الأمثلة في توقيعي .,.,.,.,

وجزاك الله ألف خير .,.,.,.,

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

رغيد الطيب
01-12-2003, 12:10 PM
السلام عليكم ورحمة الله وبركاته ...

اخي العزيز آزال شرحك ممتاز جداً وحماسك اجمل بكثير ...

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

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

10 , 2 , 7 , 5 , 24

فاننا اذا طبقنا الدالة سوف تصبح بالشكل التالي :

2 , 5 , 7 , 10 , 24


واما اذا اردنا ان يكون الترتيب تنازلياً اي انه يبدء بالكبير وينتهي بالصغير فانه ايضاً يمكن ذلك بتغيير الدالة التي الموضوعة في الاسفل ولن يكون التغيير سوى ان تعكس الاشارة الاصغر من ">" الموجودة في الشفرة بحيث تصبح اشارة اكبر من "<" ...

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

بعيداً عن ذكراتي .. اضع لك هنا شفرة الدالة التي اسميتها mySort ولها بارميتران هما المصفوفة المراد فرزها و عدد العناصر في تلك المصفوفة ... وهذة الدالة مصممة بالسي ++ وشفرتها كالتالي :

void mySort(int arr[],int arrSize){
int minIndex,tmp;

for (int i=0;i<arrSize;i++)
{
minIndex=i;
for(int j=i; j<arrSize; j++)
if (arr[j]<arr[minIndex]) minIndex=j;

tmp=arr[minIndex];
arr[minIndex]=arr[i];
arr[i]=tmp;
}
}
وهذة الدالة هي فقط مني لمحبي السي .. اما من ابتلاهم الله بحب الفيجوال بيسك امثالي فلهم مني نفس الدالة السابقة ولكن باللغة التي يحبون ... وشفرتها كالتالي :

Sub mySort(ByRef Arr() As Integer)
Dim minIndex As Integer, Tmp As Integer
Dim I As Integer, J As Integer

For I = 0 To UBound(Arr)
minIndex = I

For J = I To UBound(Arr)
If Arr(J) < Arr(minIndex) Then
minIndex = J
End If
Next J

Tmp = Arr(minIndex)
Arr(minIndex) = Arr(I)
Arr(I) = Tmp
Next I
End Sub

الملاحظة الوحيدة او الفرق الوحيد بين تركيب الدالتين هي ان دالة الفجيوال لها بارميتر واحد وهو الدالة المدخلة وليس لها بارميتر آخر لعدد العناصر وذلك لانه يمكن معرفة عدد العناصر في المصفوفة ورقم آخر عنصر فيها عن طريق الدالة UBound والتي هي اختصاراً لـ UpperBound ...
اتمنى ان اكون قد وفقت في حل التمرين وان اكون بالفعل تلميذاً نجيباً ...

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

3laa3sam
03-12-2003, 09:56 PM
خلاص .....منقولش أي كلام غير (ما شاء الله)

java_lover
06-04-2006, 01:59 AM
كنتم بداتم تمام ياجماعة ليش وقفتم....انا اتمنى وجود قسم زي هذا يهتم بالبرامج
نرجوا منكم المزيد

iser
06-04-2006, 07:47 AM
انا مطلوب مني هذا الترم برنامج محاسبي متكامل بلغة الجافا لمحل...بقالة
......
حاولت ابحث بعض الاوامر وكيف وليش واين...؟بس ماوجدت..
لو ممكن واحد يعطينا موقع أو شي زي كذا علشااان ابدأ...
على فكرة أخوكم طسييييييييييس بالجافا...

تحياااتي..

java_lover
06-04-2006, 11:42 AM
اخي ايسر انت قول بس ايش المطلوب واحنا نساعدك باقدر المستطاع...ان كنت تبحث عن مشاريع تخرج فانا حاليا عندي مشروعي تخرج كاملين بلغة الجافا الاول هو عبارة عن نظام بريد الكتروني والاخر عبارة عن ام بي 3 بلاير لمستخدمي اليونيكس(لينوكس).
المهم زي ماقلتلك ان شاء الله نساعدك بقدر المطلوب ولو اعطيتني تفاصيل اكثر يكون افضل

تحياتي لك
وفقك الله

iser
06-04-2006, 03:04 PM
اخي ايسر انت قول بس ايش المطلوب واحنا نساعدك باقدر المستطاع...ان كنت تبحث عن مشاريع تخرج فانا حاليا عندي مشروعي تخرج كاملين بلغة الجافا الاول هو عبارة عن نظام بريد الكتروني والاخر عبارة عن ام بي 3 بلاير لمستخدمي اليونيكس(لينوكس).
المهم زي ماقلتلك ان شاء الله نساعدك بقدر المطلوب ولو اعطيتني تفاصيل اكثر يكون افضل

تحياتي لك
وفقك الله

ممكن تعطينا بريدك علشان اوصف لك بشكل اكثر...
باين عليك طحطووووووووووووووووووووووووح بالجافا..

تحياتي..

java_lover
06-04-2006, 07:18 PM
طحطوووح....:D . احرجتني يا ايسر....لا طحطوح ولا شيء مابلا زيي زيك.بس بجاول اساعدك بقدر المستطاع
وهذا ايميلي

omarsalem2008@yahoo.com

iser
06-04-2006, 07:45 PM
Dear java lover
I'm so sorry ... but I have no Email on yahoo
I hate yahoo company
any way..
I have on Hotmail
if you have that's good
----
by the way..where do you live??are you in yemen ??o

java_lover
06-04-2006, 08:34 PM
Dear java lover
I'm so sorry ... but I have no Email on yahoo
I hate yahoo company
any way..
I have on Hotmail
if you have that's good
----
by the way..where do you live??are you in yemen ??o


Dear iser,
No problem , I have a hotmail account too

omarsalem2008@hotmail.com
Unfortunately i am not in yemen right now and i won't be there for at least one more year.Still i can help you....please do not hesitate to ask
Your loving brother
Java_lover:D

iser
07-04-2006, 04:59 PM
Unfortunately i am not in yemen right now and i won't be there for at least one more year.Still i can help you....please do not hesitate to ask
Your loving brother
Java_lover:D

hey man..you embarrasse me
--------------------------------------
but no problem as long as we'r on contact