Telegram Web
quiz

مثال على تعريف دالة تحوي 3 وسائط
void method1(int a, int b,int c)
{
int x = a * b * c;
Console.WriteLine(x);
}

إستدعاء الدالة
static void main()
{
method1();

}
هل الكود السابق يعمل بشكل صحيح وبدون اخطاء ام ان هناك اخطاء شاركنا رايك
Final Results
38%
صحيح
62%
خطاء
معلومه في الدوال

عندما تقوم بإنشاء دالة تحوي على وسائط(parameters) فإنه عند إستدعاء الدالة يجب ان نرسل لها قيم بعدد الوسائط
مثال على تعريف دالة تحوي 3 وسائط
void method1(int a, int b,int c)
{
int x = a * b * c;
Console.WriteLine(x);
}

إستدعاء الدالة
static void Main()
{
method1(4,2,5);

}

لاحظ اننا عندما قمنا بإستدعاء الدالة و ارسلنا 3 وسائط وان لم ترسل وسائط للدالة سوف يظهر لك خطاء

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

ولاكن هناك حالة واحدة تستطيع فيها استدعاء الدالة بدون ان ترسل للدالة وسائط وذلك عند ما تقوم بإسناد قيم إفتراضية لوسائط الدالة عند التعريف
********************
مثال :
void method1(int a=2, int b=2,int c=2)
{
int x = a * b * c;

Console.WriteLine(x); // 8
}

static void Main()
{
method1();

}
فعند استدعاء الدالة بنفس طريقة الكود السابق سوف يتم اعتماد القيم الافتراضيه

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

مثال كي تفهم

void method1(int a=2, int b=2,int c=2)
{
int x = a * b * c;
Console.WriteLine(x); // 20


}

static void main()
{
method1(5);

}


اذا كان احد وسائط الدالة ليس له قيمه افتراضيه كالتالي
void method1(int a, int b=2,int c=2)

وتقوم بإستدعاء الدالة
method1(5);
فسوف يحدث خطاء

الوسائط التي ليس لديها قيم إفتراضية عند تعريف الدالة تسمى الوسائط المطلوبه أي التي تتطلب إرسال قيم عند إستدعاء الدالة

اما الوسائط التي لديها قيم افتراضيه تسمى وسائط إختيارية
ملاحظة مهمه :يجب تحديد الوسائط الاختياريه بعد الوسائط المطلوبه

امثله تتسبب بخطاء
void method1(int b = 2, int c=2,int a)
void method1(int b = 2, int a, int c=2)


الوسائط المطلوبة يجب كتابتها اولاً
مثال صحيح

void method1(int a, int b = 2, int c=2)
هل تعرف ما فائدة : نقطتين فوق بعض عند إستدعاء دالة تحوي على وسائط

void method1(int a, string n, int c=2)
{
int x = a * c;
Console.WriteLine(x);
Console.WriteLine(n);

}

void main()
{
method1(c:5,a:8,n:"Name");

}

يمكنك إرسال الوسائط بدون الحاجة لمراعاه الترتيب قم بكتابة اسم الparameter الوسيط ونقطتين فوق بعض والقيمة


شوف هذا الكود خطاء

void method1(int a, string n, int c=2)
{
int x = a * c;
Console.WriteLine(x);
Console.WriteLine(n);

}

void main()
{

method1(1, 2, "Name");
}

لانهو لم يتم ترتيب قيم الوسائط
هل تعرف كيف يتم عمل وصف لخصائص الادوات
كما في الشكل
عندما تقوم بإنشاء كلاس تعمل من خلاله اداة مخصصه او إنشاء UserControl

انت تقوم بعمل خاصية لهذه الاداة ولكي تقوم بعمل وصف لها فقط قم بكتابة
[Description("هنا تكتب الوصف")]
فوق تعريف الخاصية
مثال

[Description("هنا تكتب الوصف")]
public string Description
{
get
{
return description;
}

set
{
description = value;
}
}
لاحظ كيف ظهر نص الوصف
الوصف يتم مع الخصائص والاحداث فقط
السلام عليكم

سؤال للمبرمجين العباقرة

اكتب برنامجًا يحسب الكلمات في نص يتم إدخاله من لوحة المفاتيح
يجب أن ينتج البرنامج
1- العدد الإجمالي للكلمات
2 عدد الكلمات مكتوبة بأحرف كبيرة
3- وعدد الكلمات المكتوبة بأحرف صغيرة.
اذا كان تظهر كلمة أكثر من مرة في النص ، كل التكرار يعتبر جديد يحتسب كلمة جديدة
يتم اعتبار كل حرف ليس حرفًا كفاصل كلمات


مثال على نص المدخل :

Welcome to your first programming exam! Can you think of a
solution to this problem and write it down? GOOD LUCK!


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

Word count: 21
Upper case words: 2
Lower case words: 17


ملاحظات :
يمكنك ان تقوم بعمله ب Windows Forms او Console لك حريه الاختيار

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

المهله الى يوم السبت

بوت القناة
https://www.tgoop.com/CsharpWindowsFormbot
👍2
برمجة تطبيقات الويندوز C# Programming
السلام عليكم سؤال للمبرمجين العباقرة اكتب برنامجًا يحسب الكلمات في نص يتم إدخاله من لوحة المفاتيح يجب أن ينتج البرنامج 1- العدد الإجمالي للكلمات 2 عدد الكلمات مكتوبة بأحرف كبيرة 3- وعدد الكلمات المكتوبة بأحرف صغيرة. اذا كان تظهر كلمة أكثر من مرة في النص…
عند إرسالك للحل

يفضل ذكر اسمك ودولتك

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

الاسم إختياري (لك حريه ان تقوم بكتابة اسمك او عدم كتابته)
الدولة مطلوب !!!!

وفقكم الله
معلومة سرريعة

عندما تقوم بعمل دالة تقوم بعملية معينه على نوع بيانات فأنت تقوم بتعريف نوع البارميتر
ومن ثم تقوم بإرسال متغير له نفس نوع وسيط الدالة
فمثلاً انت تريد ان تقوم بعمل دالة لطباعة عناصر مصفوفة من نوع int

سوف تقوم بعمل دالة بهذه الطريقة

static void display(int[] arr)
{
foreach (var item in arr)
{
Console.Write(item +"\t");
}
}

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

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

تابع المثال التالي

static void display<T>(T[] arr)
{
foreach (var item in arr)
{
Console.Write(item +"\t");
}
}

تقوم بتعريف دالة كما في الكود السابق يجب كتابة بعد اسم الدالة <T>

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

string[] str = { "Hello", "World" };
int[] arr = { 1, 2, 3, 4, 5 };
char[] ch = { 'H', 'e', 'l', 'l', 'o' };


display(str);
Console.WriteLine();
display(arr);
Console.WriteLine();
display(ch);
برمجة تطبيقات الويندوز C# Programming
عند إرسالك للحل يفضل ذكر اسمك ودولتك الهدف من ذالك معرفه ماهي الدول العربية التي ينتمي اليها اصحاب الحل الصحيح للسؤال او بالاصح المبرمجين العباقرة الاسم إختياري (لك حريه ان تقوم بكتابة اسمك او عدم كتابته) الدولة مطلوب !!!! وفقكم الله
بسم الله الرحمن الرحيم

اليوم إن شاء الله سوف نشرح كيف نستفيد من السؤال التي تم طرحه في القناة سابقاً وهو حساب عدد الكلمات المدخلة من قبل المستخدم نستفيد منه من خلال عمل برنامج بسيط window Forms هذا البرنامج سوف يحاكي عمليه عد الكلمات التي تكتبها
كما في برنامج Microsoft Word

كل ما سنحتاجه من أدوات لا تمام هذه العملية
اداة Panel نضعها في اسفل الفورم وبداخلها lable الذي سوف تظهر عدد الكلمات من خلال هذه الأداة

RichTextBox
واداة Timer

قم بتعديل خصائص هذه الأدوات كما يلي :

الحاوية Panel خاصية Dock تساوي Bottom

التسمية Lable فقط ضعها في مكان مناسب بداخل الحاوية panel وقم بتعديل خاصية Dock لهذه الأداة الى Right

اداة كتابة النصوص RichTextBox خاصية Dock تساوي Fill

المؤقت Timer خاصية Enabled تساوي True


شكل التصميم




الان نأتي الى مرحلة البرمجة

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

ودالة الحدث Tick التابعة بإداة الTimer




دالة استخراج الفواصل

private static char[] ExtractSeparators(string text)
{
HashSet<char> separators = new HashSet<char>();
foreach (char character in text)
{
// If the character is not a letter,
// then by definition it is a separator
if (!char.IsLetter(character))
{
separators.Add(character);
}
}
return separators.ToArray();
}
دالة استخراج الكلمات

private static string[] ExtractWords(string text)
{

char[] separators = ExtractSeparators(text);
string[] words = text.Split(separators,
StringSplitOptions.RemoveEmptyEntries);
return words;
}


دالة الحدث Tick

private void timer1_Tick(object sender, EventArgs e)
{

string text = richTextBox1.Text;
string[] words = ExtractWords(text);
if (words.Length == 0 || words.Length == 1)
label1.Text = words.Length.ToString() + " كلمة ";
else if (words.Length > 1)
label1.Text = words.Length.ToString() + " كلمات ";


}


الان قم بتجربه البرنامج وشاهد النتيجة

نصيحة :

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


مثل ما قمنا به في هذا الموضوع


انتهى...............
👍1
I `m back 😋
السلام عليكم ورحمه الله

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


⬅️ ننوه انهو سيتم البدء بمرحلة جديدة من البرمجة بلغة السي شارب
الا وهي برمجة قواعد البيانات بإستخدام لغة السي شارب
حيث سنتعامل في هذه المرحلة بكل ما يخص إدارة قواعد البيانات من خلال عمليات ( التخزين, والاسترجاع , والحذف , والتعديل ,و الفرز ,......الخ).
وكل هذا من خلال تطبيقات C# Windows Forms و SQL Server

سنحتاج الى البيئة الخاصة بإدارة قواعد البيانات وهي بيئة
Microsoft SQL Server Management Studio

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

و ايضاً أوامر DQL
وهو امر واحد فقط select
الذي يقوم بإسترجاع البيانات


البرمجة في هذه المرحلة حقاً ممتعة وذلك لما سنواجهه من مشكلات عديدة والتي سوف نقوم بحلها إن شاء الله (هنا تكمن البرمجة بحد ذاتها ان تواجهك مشكلة وتقوم بحلها )

لذالك كن مستعد لتتقن هذه المرحلة بجدارة
👍1
2025/07/10 08:17:03
Back to Top
HTML Embed Code: