منتدى علوم المنصورة
C# 2008 ... مشاكل وحلول Ezlb9t10


منتدى علوم المنصورة
C# 2008 ... مشاكل وحلول Ezlb9t10

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

منتدى علوم المنصورةدخول

اهلا بك يا زائر لديك 16777214 مساهمة


C# 2008 ... مشاكل وحلول

power_settings_newقم بتسجيل الدخول للرد
+6
frota
the Diamon
a7med khalil
مسلمة
kamar_ellel
Mano
10 مشترك

descriptionC# 2008 ... مشاكل وحلول EmptyC# 2008 ... مشاكل وحلول

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

الموضوع دا تم فتحه علشان نتبادل كلنا الخبرات فى مجال البرمجة بإستخدام السى شارب

كلنا السنة دى دخلنا عالم البرمجة بسرعة وكتير موافقنى على الرأى دا

هنا فى الموضوع هنحاول نمهد لكم إزاى تفكر كمبرمج وإزاى تعرف برنامجك هيشتغل إزاى

وبالتأكيد أى حد عنده مشاكل فى برامجه سواء اللى بيتم تدريسها فى الكلية أو أى برامج خارجية شغال فيها

علشان كدا هيسعدنى إنى أتلقى مشاكلكم ونحاول نحلها كلها بإذن الله

بالنسبة طبعا للأخوة اللى مش عايزين يحطوا برامجهم كاملة خوفا من سرقتها فممكن يضعوا هنا الجزء اللى فيه الخطأ وهقوم بتصحيحه لهم

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

شكرا ليكم

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
ياسلاااااام يامانو
موضوع جمييييل جدا ومهم

وفعلا عايزين نفتح النقاش في اننا
ازاي نقدر نتعلم البرمجه
ونفهمها وازاي نكون مبرمجين

ومنتظره التفاعل من الاعضاء
ومننا كلنا
عشان نناقش الموضوع ده
لانه مهم جدا وخاصة بالنسبه لينا

وفين مواضيعك الجميله دي من زمان يامانووو

Smile Smile Smile

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

ال Flow Chart خطوتك الأولى

بسم الله الرحمن الرحيم

بالنسبة للبرمجة فأنا شايف إنها مش أكواد بس

مستوى البرمجة وقوة برنامجك هيا مستوى وقوة تفكيرك وقوة الألجورزم اللى هتستخدمه

بالنسبة ليا فأنا شايف إن المحاور الرئيسية فى البرمجة هيا الاتى :

1) تشغيل سهل ومبسط للبرنامج بحيث إن المستخدم ما يتوهش وسط ألاف الزراير والتكست بوكسز وخلافه .

2) وصول سهل لخيارات البرنامج بحيث إن المستخدم ما يشعرش بالملل لكثرة الخيارات والتعديلات اللى ممكن يجريها على البرنامج .

3) رسائل خطأ سهلة وبسطية بحيث إن المستخدم يفهم إية الخطوة اللى مش مضبوطة ويقدر يعدلها بسهولة .

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

وزى ما قلت فوق الأهم فى عملية البرمجة كلها إنك تعرف برنامجك هيشتغل إزاى

وهنا بقى تظهر أهمية ال Flow Chart اللى بيمكنك من معرفة خطوات تشغيل البرنامج واحدة واحدة وهو مهم من ناحيتين أساسيتين :

1) عند تطوير البرنامج لازم تعرف إنت عايز تضيف أى شيئ جديد فين بالضبط فى البرنامج وإية الجزئية اللى محتاجة تعديل أو تطوير .

2) عند وجود خطأ فى البرنامج لازم تعرف مكان الخطأ فين وتصلحه بسرعة دون السباحة وسط الآف السطور من الأكواد .

وطبعا كل ما يكبر برنامجك كل ما يكون ال Flow Chart أهم بالنسبة ليك .

طيب دلوقتى إزاى أعمل ال Flow Chart اللى بتقول عليه دا ؟

قبل ما تبدأ فى برنامجك لازم تجيب ورقة وقلم وتحط الخطوات الأساسية عليها

يعنى مثلا برنامج اللألة الحاسبة الورقة بتاعته هيكون شكلها إزاى :

1) الوظائف الأساسية اللى عايز الألة تنفذها ... جمع ... ضرب ... لوغاريتم ... Sin وهكذا .

2) طريقة عمل الوظائف دى ... أولا لما يدخل رقم فى التكست بوكس يتحفظ فى متغير ... والرقم التانى يتحفظ فى متغير تانى ... بمعنى أصح تعمل حصر للمتغيرات اللى هتستخدمها .

3) الكنترولز اللى هتستخدمها وطريقة توزيعها ... لما ترسم الالة الحاسبة فى ورقتك هتقدر إنك تعدلها بسهولة وتأخد أراء الناس فيها علشان تشوف سهلة الإستخدام أم لا .

4) الخطوات اللى هتشتغل بيها الألة الحاسبة ... يعنى مثلا الدوال المستخدمة فى برنامجك وتوزيعها على الكنترولز الموجودة عندك .

5) البدء فى تصميم برنامجك بالسى شارب وأكيد هتكون سهلة جدا طالما إنت عارف هتشتغل إزاى وبرنامجك هيتسلسل خطواته إزاى .

أتمنى إن يكون الشرح سهل وبسيط وما فيهوش مشاكل وفى إنتظار ردودكم قبل الدخول فى النقطة اللى بعد كدا

شكرا ليكم

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
جزاك الله خير الجزاء أخ مانو
أسلوبك سهل وبسيط ما شاء الله
منتظرين الخطوة الجايه ان شاء الله وتكون فى اقرب وقت

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
مشكور يا مانو
ومنتظرين منك المزيد

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

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

وان شاء الله هجيب ليكو قريب حاجات كبدايه لتعلم ازاي فكرنا يوصل لعمل برنامج معين
مطلوب مننا
وازاي نقدر نستخدم اي برنامج من البرامج المشهوره ولكن مع اختلافهم في ايه ....

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
شكرا يا مانو علي المساعدات دي ومنتظرين منك المزيد والافضل

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

 


شكراااااااااااااااااااااا يا مانو على الموضوع ده


 


2) عند وجود خطأ فى البرنامج لازم تعرف مكان الخطأ فين وتصلحه بسرعة دون السباحة وسط الآف السطور من الأكواد


ودى فعلا اهم حاجه عايزين نعرفها


فى انتظار النقطه اللى بعد كده يا رب تكون قريب

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
كويس اننا بنساعد بعض بالشكل ده اسلوبك جميل ومفهوم

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
شكراااااااااااااااااااااااااااااااااااااااايا مانو

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

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

شكر لكل اللى ردوا على الموضوع

وشكرا ليكى يا قمر الليل على إضافتك الممتازة دى

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

بالاضافة إلى إنهم لم يدرسوا عدة لغات علشان يقدروا يختاروا بينهم أفضل لغة

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

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

حصر المنافسين ... خطوتك الثانية

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

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

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

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

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
بجد جميل قوي قوي يامانو

وده فعلا لازم يؤخذ في الاعتبار ومهم
لاي شخص عايز يشتغل في مجال البرمجه

وميرسي كتير والله يامانو

وكمان كنت اقصد بأضافتي
انا عن نفسي مش كنت اعرف ان كل البرامج هدفها واحد
ولكن مضمونها مختلف
فحبيت اول للكل
ان علينا بعد طبعا الدراسه
لان طبعا في الكليه مش بندرس كل شئ
ولازم ننمي نفسنا بقدر المستطاع
ونعرف الجديد دايما علي قد ما نقدر

ولحد دلوقتي انا بسمع عن اسماء برامج
الي الان لا اعرفها
واتمني وبحاول اعرفها بالفعل

فياريت كلنا يكون عندنا حب البحث عن الجديد

ولكن نظرا لان الكل عايز ينجح في اللي احنا فيه وبس
فبنذاكر ومش بنشوف الا اللي عندنا وبس

فاتمني من الجميع لا يتوقف بل يستمر في بحثه عن الجديد دائما

وتاني ميرسي ليك كتير يامانو علي مساعدتك لينا كلنا
والوصول للطريق اللي هيوصلنا لاننا نكون مبرمجين صح
وازاي نوصل ليه

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
شكرا ليك مانو
ومنتظرين الجديد ان شاء الله
ممكن لو سمحت يا أخ مانو تكتب لينا شويه عن المصفوفات
علشان هيه مشكلة بالنسبة ليا وأكون شاكرة ليك جدا

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
شكرا لك
اتمنى اننا نستفاد قول يارب

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

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

أنا كنت بسأل نفسى إمتى هتقولوا عايزين ندخل فى الجانب العملى بقى وكفاية النظرى

لكن كويس جدا إن فى تفاعل وفى ناس عايزة تشتغل

بالنسبة بقى للمرحلة الثالثة فهى البدء فى التصميم وكنت هشرحلكم الكنترولز ويليها بعد كدا البرمجة

ولكن طبعا كلنا والحمد لله معندناش مشاكل فى إستخدام الكنترولز المختلفة فى السى شارب وعارفين أغلبها خصائصه إيه وازاى بنستخدمه

يبقى ندخل بقى على أهم جزء فى موضوعنا دا وهو البرمجة

بالنسبة لطلبك يا مسملة فأنا تحت أمرك

هوضح بس نقطة صغيرة وندخل مباشرة فى المصفوفات

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

خطوتك الرابعة ... البرمجة

زى ما الجاسوس الجيد هو صاحب الأدوات الجيدة

فبرضه المبرمج الجيد هو صاحب الأكواد الجيدة

المبرمج الجيد هو المبرمج اللى بيحقق العوامل التالية فى برامجه :

1) سرعة فى الأداء بيحيث ما يكونش تقيل فى التحميل وبدء التشغيل .
2) إستهلاك ذاكرة أقل حتى يكون البرنامج سريع فى آداء الوظائف المطلوبة منه .
3) أكواد أقل وفى نفس الوقت تنظيم أكثر فى البرمجة وعدم التداخل بين الأكواد دى .

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

ممكن توصلها عن طريق Help >>> Search وبعدها نكتب موضوع البحث المطلوب .

دا غير المصادر المختلفة زى النت والكتب الالكترونية والكتب العادية المنتشرة فى المكتبات .

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

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

بالنسبة للمصفوفات فهندخل فيها من البداية من أول إزاى تعمل مصفوفة لحد ما تعمل برنامج المصفوفات والعمليات عليها

أولا / التعريف Declaration

int[] mano1 = new int[5] { 1, 3, 5, 7, 9 };
int[] mano1 = new int[] { 1, 3, 5, 7, 9 };
int[,] mano2 = { { 1, 2, 3 }, { 4, 5, 6 } };
int[][] mano3 = new int[3][];
string[] mano4 = { "mano", "tanto" };


دول يعتبروا أشهر الطرق للتعبير عن المصفوفات والإعلان عنهم

الطريقة الأولى دى بتحدد للبرنامج أمر إنشاء مصفوفة ذات بعد واحد وعدد عناصرها 5 عناصر وتم تحديدهم للبرنامج .

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

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

الطريقة الرابعة دى عبارة Jagged Array أو مصفوفة داخل مصفوفة ودى مش هنتعرض ليها دلوقتى غير فى وقتها .

الطريقة الرابعة بتعرفنا إنه ممكن يكون العناصر متغيرات حرفية من نوع string ومش شرط دايما إن العناصر تكون أعداد .

طيب دا بالنسبة للمصفوفات كإعلان عن نوع المصفوفة والعناصر اللى فيها .

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

foreach ( int i in mano1 )
{
Console.Write( "\t{0}", i*3 );
}


الأمر دا معناه إية ... إنه لكل عنصر i فى المصفوفة اللى إسمها mano1 ... عايزك تعمل الاتى ... تفتح قوس معقوف علشان دى لوب مش بتهزر ... انا عايزك تطبع لى عناصر المصفوفة دى بعد ما تضرب كل عنصر منها فى 3 مثلا ... وهنا إستخدمت الطباعة بطريقة الاندكس index علشان أطبع العناصر وفى نفس الوقت أعرف أستخدم تنسيق المسافات بين العناصر ... بعد كدا تقفل قوس اللوب foreach .

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

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

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

بعد ما نقوم بتعريف المصفوفة فى أعلى البرنامج ونختار نوعها ذات بعد أو بعدين هنبدأ فى كود الإدخال :

int[,] mano1 = new int[2,2] ;

for (int i = 0; i <= 1; i++)
for (int j = 0; j <= 1; j++)
{
Console.Write("\nInput the element {0} , {1} in matrrix :\t", i + 1, j + 1);
mano1[i, j] = int.Parse(Console.ReadLine());
}


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

نيجى بقى للوب الطباعة :

for (int i = 0; i <= 1; i++)
{
for (int j = 0; j <= 1; j++)
{
Console.Write("{0}\t", mano1[i, j]);
}
Console.WriteLine();
}


دى بقى لوب الطباعة ... قمنا بعمل لوب متداخلة لان البرنامج هيطبع عناصر مختلفة i و j وبالتالى لوب لطباعة دا ولوب لطباعة البعد التانى .

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

شكرا ليكم وإن شاء الله مستنى تعليقاتكم وأسئلتكم ... هو سؤال بالتحديد اللى بدور عليه علشان اعرف انتوا صاحين معايا ولا لآ ؟ .

ياريت لو الاكواد مش شكلها تمام تاخدوها فى البرنامج وتجربوها افضل لانها هنا بايظة بسبب التنيسق لكنها بتكون سليمة لو نسختوها وحطتوها فى البرنامج

يلا سلام

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
شكرا ليك كتير مانو حبيت دلوقت اشكرك بس على استجابتك لطلبى
وبعد ما ارجع من الكلية ان شاء الله هكتب البرنامج وهطبقه
ولو فيه اى استفسار اكيد هسالك ان شاء الله
بسال كتيرمعلش بقى

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
شكرا يا مانو على المساعدات دي
بس يا مانو ليس بدري علي الكلام دة احنا محتاجين نعرف الاول نعمل برنامج وبعد كدة نعرف نتميز
ازاي دي وجة نظرك لانك متمكن ما شاء الله لكن احنا ليسة في البداية محتاجينك تساعدينا حتي نجتاز الخطوة الاولي ياريت تراعي اننا لاول مرة ندخل عالم البرمجة
جزاك اله عنا كل خير

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
شرح المصفوفات رائع يامانو ودا الاسلوب الي كنت بقول علية تبسيط المعلومة للغلابة الي زينا
thank you mano

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
الحمد لله انا جربت البرنامج بتاع المصفوفات وشغال كويس والحمد لله
لكن ليا سؤال هوه ليه محطيناش اقواس معقوفة بعد اللوب الأولى فى الإدخال وحطيناها فى اللوب الأولى بتاعت الطباعة-م كل لوب لاز نفتح ليها اقواس معقوفة-ة
ليه عرفناهم مرتين مرة فى لوب الإدخال ومرة فى لوب الطباعةi,j
وهل فيه حل للمصفوفات اللى عددها اكبر من كدا يعنى 6*6او10*10
لان هيكون من الصعب ان انا اقعد ادخل كل الأرقام دى واذا نسيت رقم فى نص عمليه الإدخال وعملت انتر الدنيا كلها بتبوظ وبرجع ادخل من اول وجديد
jagged array
دى ليها استخدامات معينة ولا ايه كل اللى اعرفه عنها ان هيه مصفوفة المصفوفات
يعنى هيه مصفوفة مكونة من مصفوفات داخلها بس معرفلهاش استخدامات
ومستنيين الكتاب بتاع الدكتور
معلش تاعبينك معانا بس ربنا يجعله فى ميزان حسناتك ان شاء الله

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

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

شكرا لكل اللى ردوا على الموضوع ويا رب ان شاء الله نستفيد كلنا

the Diamon


بس يا مانو ليس بدري علي الكلام دة احنا محتاجين نعرف الاول نعمل برنامج وبعد كدة نعرف نتميز
ازاي


انا كنت ماشى والله واحدة واحدة لكن انتم اللى طلبتم الدخول فى البرمجة وشرح المصفوفات

لكن عموما زى ما قلتلكم انا وTanto بنجهز ليكم موضوع هيلم أغلب الأكواد وهيكون مقدمة ممتازة ليكم

أما الموضوع دا فهو للمشاكل والحلول اللى بتقابلكم واللى محتاجين تفهموها


مسلمة


لكن ليا سؤال هوه ليه محطيناش اقواس معقوفة بعد اللوب الأولى فى الإدخال وحطيناها فى اللوب الأولى بتاعت الطباعة-م كل لوب لاز نفتح ليها اقواس معقوفة-ة


هو دا السؤال اللى كنت مستنيه وكويس ان فى ناس شغالين ومنتبهين للجزيئات دى

بالنسبة لاى لوب او دالة If او اى دالة تانية مش بتطلب دايما يكون فى اقواس معقولة طالما ان فى سطر واحد فقط هيتنفذ

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

تابعوا معايا الجزء دا

If (x ==1)
Console.WriteLine("Mano");
else
Console.WriteLine("Tanto");


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

If (x ==1)
{
Console.WriteLine("Welcome");
Console.WriteLine("Mano");
}


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

طيب بالنسبة للمصفوفات ؟؟؟

أولا : لوب الإدخال

اللوب الأولى جواها أمر واحد فقط ... هو اللوب التانية

طيب ماهى اللوب التانية فيها أمر واحد فقط ... هو أمر الادخال ... لية عملنا حواليه أقواس معقوفة بقى ؟؟؟

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

كمان الأقواس فى اللوب التانية علشان تفهم البرنامج انه دخل اللوب التانية يخلصها وبعدا كدا يرجع تانى للوب الاولى يقرأها ومنها يكرر الموضوع تانى

فلازم تحدد بدايتها ونهايتها بالاقواس المعقوفة

ثانيا : لوب الطباعة

اللوب الأولى فيها أمرين هنا

أول أمر هو اللوب التانية ... تانى أمر هو سطر طباعة السطر الفارغ Console.WriteLine();

يعنى اكتر من امر يبقى لازم نعمل أقواس معقوفة هنا

اما اللوب التانية فزى ما قلت فوق علشان البرنامج يفرق بين وجود لوبين متداخلين ويعرف امتى يدخل ويخرج منهم

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

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

كمان فى سؤال تانى ذكى خاص باعادة تعريف المتغيرين i و j فى اللوبين ورغم كدا البرنامج ما طلعش خطأ من إعادة التعريف

بالنسبة للمتغيرين دول فهما متغيرين محليين Local يعنى ... يتم تعريفهم واستخدامهم داخل الحلقات فقط ولا يتم قرائتهم خارجها فى باقى البرنامج

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


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

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

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

jagged array

أيوة ليها استخدامات كتير ولكن فى البرامج المعقدة والكبيرة اللى بتؤدى وظائف اكبر ... انا بس قلت شكلها علشان الناس تفهم هيا اية لو شافتها فى برنامج تانى

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

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

ودا مش بإيدى والله لآن النت أحيانا بيكون ضعيف وأحيانا بيكون عندى شغل بره الكلية وأحيانا مش بكون محضر الكلام

لكن على قد ما أقدر مش بتأخر عليكم لآن هدفى الأول والأخير هو إفادتكم لا اكتر ولا اقل

اما الكتاب وبرنامج الدرجات فهنزلهم كمان شوية على ما النت يتعدل


شكرا ليكم

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz
بجد مفيش غير جزاك الله خيرا واكرمك دنيا واّخرة
بصراحة جهدك مشكور مانو ومفيش حد من حقه انه يعلق على حكاية انك تنزل الحاجات من الدكتور أو متنزلش
المفروض اننا نقدم لك جزيل الشكر على انك بتفكر فى تعليم غيرك اللى انت تعرفه وبتحاول تساعدهم وتسهل ليهم الأمور وبتضيع اكيد كتير من وقتك علشان تعمل كده وبعدين انت متأخرتش ولا حاجة الدكتور بس اتلخبط سهوا وادالك كتاب تانى .
بالنسبة للمصفوفات انا عملت عملية الجمع والطرح والضرب فى ثابت ولكن كان فيه مشكلة فى ضرب مصفوفتين لأن تبعا لقاعدة ضرب المصفوفات فالعنصر الأول فى المصفوفة الناتجة هيكون
[0,0]*[0,0] +[0,1]*[1,0]
هلاقى ان رقم الصف فى المصفوفةالأولى ثابت اما رقم العمود فى المصفوفة التانية هوه اللى ثابت بس انا مش قادرة اعمل ليهم لوبز تظبط الكلام ده هل افرض متغير معين بالكلام السابق واعرف ناتج المصفوفة بناء على هذا المتغير
وبالنسبة لبرنامج الدرجات فالحمد لله عملته هوه والإستمارة الشخصية هوه كان مجرد بداية يعنى فيه الدرجة وحساب التقدير والمجموع النهائى والتقدير النهائى لكن برده كان فيه مشكلة هظبطه ان شاء الله وابقى اجى استشيرك فى اللى هيقف معايا .
واخيرا جزاك الله خيرا مرة تانية

عدل سابقا من قبل مسلمة في الجمعة أبريل 10, 2009 1:39 am عدل 1 مرات

descriptionC# 2008 ... مشاكل وحلول Emptyرد: C# 2008 ... مشاكل وحلول

more_horiz

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

الاول تعريف المصفوفات المستخدمة

double[,] arr1 = new double[2, 2];
double[,] arr2 = new double[2, 2];
double[,] arr3 = new double[2, 2];


ثانيا إدخال العناصر

for (int i = 0; i <= 1; i++)
(int j = 0; j <= 1; j++)
{
Console.Write("\nInput the element {0} , {1} in matrrix 1 :\t", i + 1, j + 1);
arr1[i, j] = double.Parse(Console.ReadLine());
Console.Write("\nInput the element {0} , {1} in matrrix 2 :\t", i + 1, j + 1);
arr2[i, j] = double.Parse(Console.ReadLine());
arr3[i, j] = arr1[i, j] + arr2[i, j];
}

ثالثا الطباعة

Console.WriteLine("\nThe Sum :\n");

for (int i = 0; i <= 1; i++)
{
for (int j = 0; j <= 1; j++)
{
Console.Write("{0}\t", arr3[i, j]);
}

Console.WriteLine();
}

Console.WriteLine("\n\n");


وهنا دا مثال للجمع قمنا فى البداية بعمل لوبين علشان ندخل العناصر فى المصفوفة الاولى والثانية

يعنى لما نشغل البرنامج هيطلب العنصر الاول فى المصفوفة الاولى وبعد كدا يطلب العنصر الاول فى المصفوفة الثانية وهكذا

طبعا مفيش حاجة اسمها قسمة مصفوفات زى ما انتو عارفين ما تعملوهاش وتضحكوا المعيدين علينا


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

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

privacy_tip صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى
power_settings_newقم بتسجيل الدخول للرد