#خليك_مبرمج_واع
22 subscribers
247 photos
38 videos
114 files
903 links
مجموعة أخرى أكثر إفادة و تجيب على الأسئلة
https://msaht-programming-and-w-d.quora.com/?ch=10&oid=3116845&share=396067ef&srid=hBsZuY&target_type=tribe
Download Telegram
digilians
⚠️ التسجيل قرب يقفل... وأماكن محدودة جدًا!

غيّر مستقبلك مع منحة Digilians المجانية!
سجّل الآن وتعلّم أهم المهارات الرقمية المطلوبة في سوق العمل المحلي والعالمي.

المبادرة بتقدملك 4 برامج دراسية مجانية بالكامل:

🎓برنامج الدبلوم المكثف (Nanodegree) – 4 شهور
🎓 برنامج الدبلوم المتخصص (Specialized Diploma) – 9 شهور
🎓 برنامج الماجستير المهني (Professional Master) – 12 شهر
🎓 برنامج ماجستير العلوم (MSc) – 24 شهر

الفرصة مش هتستنى!
اختار برنامج وسجل دلوقتي قبل ما الوقت يخلص:
👉 https://www.digilians.gov.eg/login
https://www.instagram.com/p/DJ9caRPMDX7/
موقع شرح تثبيت اللغة:
https://aliflang.org/Learn/#
رابط التثبيت:
https://aliflang.org/Download/
الوثائق:
https://aliflang.org/Docs/#

رخصة برمجيات ألف (الإصدار 1.0)
© 1444 هـ (2023 م) – جميع الحقوق محفوظة لصالح مطوري برمجيات ألف عبدالرحمن ومحمد الخطيب - سوريا.

مقدمة:
- "برمجيات ألف" يقصد بها أي برنامج تم تطويره من قبل مالكي منظمة ألف أو اي عضو تم إعطاءه موافقة كتابية بنشر برمجية في مستودع منظمة ألف
- "البرمجية" يقصد بها البرنامج المستخدم والذي ينتمي إلى مستودع منظمة ألف

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

1.2 شروط التعديل
يُسمح بتعديل البرمجية أو مكتباتها شريطة:
- عدم إزالة أو تغيير إشارات حقوق النشر الأصلية (©) أو أسماء المطورين.
- إرفاق ملف (الرخصة) او (License) مع الإصدار المعدل يشير إلى التغييرات وأسماء المشاركين.
- الحصول على موافقة كتابية من المالكين الأصليين إذا كان التعديل سيُدمج في الفرع الرئيسي.

المادة 2: توزيع البرامج والمشاريع
2.1 شروط التوزيع العام
يُسمح بتوزيع البرامج الناتجة من برمجيات ألف لأي غرض (تجاري/تعليمي/شخصي) بشرط:
- إرفاق نسخة كاملة من هذه الرخصة مع كل توزيع.
- عدم توزيع "النواة الأساسية للبرمجية" كمنتج مستقل للبيع.

2.2 قيود التوزيع التجاري
يُحظر:
- بيع أي جزء من البرمجية دون ترخيص مكتوب من المطورين.
- استخدام البرمجية في مشاريع تتعارض مع القوانين أو الأخلاق العامة (مثل البرمجيات الضارة).

المادة 3: الإسناد والإعتراف
3.1 متطلبات الإسناد
عند استخدام اللغة في مشاريع عامة (مفتوحة المصدر أو تجارية):
- يجب ذكر اسم "البرمجية" بشكل واضح في:
*قسم "الاعتمادات" في البرنامج.
*التوثيق التقني أو صفحة الويب الرسمية للمشروع.

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

المادة 4: الملكية والإضافات
4.1 ملكية المكونات الإضافية
أي مكتبات أو إضافات تُنشَر بإستخدام برمجيات ألف:
- تظل ملكًا حصريًا لمُطوريها ما لم تُضمَّن رسميًا في المستودع الرسمي للبرمجية.
- يتحمل مُنشئ الإضافات مسؤولية توثيق حقوق النشر الخاصة بها.

4.2 الإدماج الرسمي
لدمج إضافة في المستودع الرسمي:
- يجب على المطورين تقديم طلب (Pull Request) مع موافقة على نقل الحقوق.
- يحق لفريق برمجيات ألف رفض الطلب دون إبداء أسباب.

المادة 5: التسمية والترويج
5.1 قيود استخدام الأسماء
يُحظر استخدام أسماء المطورين الأصليين أو العلامات التجارية المرتبطة ببرمجيات ألف للترويج لأي:
- نسخ معدلة (Forks) دون إخطار مسبق.
- منتجات أو خدمات تتنافس مع أهداف البرمجية المعلنة.

5.2 استثناءات
يُستثنى من ذلك:
- المشاريع التعليمية أو البحثية التي تشير إلى الأصل بوضوح.
- حالات الحصول على ترخيص كتابي من المالكين.

المادة 6: تبرئة المسؤولية
6.1 عدم الضمانات
تُقدَّم برمجيات ألف وأدواتها كما هي دون أي ضمانات، بما في ذلك:
- ضمان الأداء أو الأمان أو التوافق مع الأنظمة أو الأجهزة.
- ضمان صحة التوثيق أو استمرارية التحديثات.

6.2 مسؤولية المستخدم
يتحمل المستخدم المسؤولية الكاملة عن:
- اختبار البرمجية في بيئة معزولة قبل استخدامها في مشاريع حيوية.
- أي خسائر مالية أو فنية ناتجة عن استخدامها.
- صيانة النسخ المعدلة (Forks) وتحديثها بشكل مستقل.

المادة 7: الاختصاص القانوني
7.1 حل النزاعات
- تُحل أي نزاعات وفقًا لقوانين دولة المطورين المذكورة في ملف (License).
- في حالة عدم تحديد الدولة، تُطبق قوانين المملكة العربية السعودية.

7.2 عقوبات الانتهاك
في حال المخالفة:
- يُلزم المنتهك بإزالة المحتوى المنتهَك خلال (7 أيام).
- قد تصل الغرامات إلى 200% من الأرباح المتحققة من الانتهاك.

ملحق الرخصة
- يُنصح باستشارة خبير قانوني قبل التعديل أو التوزيع التجاري.
- للإبلاغ عن انتهاكات: التواصل عبر sha7dows@gmail.com.
- الرخصة خاضعة للتحديثات، ويمكن تتبعها عبر المستودع الرسمي.

© 1444 هـ (2023 م) – عبدالرحمن ومحمد الخطيب - سوريا. جميع الحقوق محفوظة.


#لغة_ألف #ألف #برمجة_بالعربي #برمج_بألف #ألف_كود_عربي #ألف_رمز #كود_ألف
#Aliflang #Alis_programming_language
#خليك_مبرمج_واع @Programmer_educated
تدعم #لغة_ألف5 العديد من العمليات الحسابية، وهي كالتالي:

* الجمع: يتم باستخدام الرمز +، مثال: 1 + 2 = 3.
* الطرح: يتم باستخدام الرمز -، مثال: 9 - 3 = 6.
* الضرب: يتم باستخدام الرمز *، مثال: 2 * 8 = 16.
* القسمة: يتم باستخدام الرمز \، مثال: 9 \ 3 = 3.
* باقي القسمة (Modulo): يتم باستخدام الرمز \\، مثال: 8 \\ 5 = 3.
* ناتج القسمة (Integer Division): يتم باستخدام الرمز \*، مثال: 8 \* 3 = 2.
* القوة (Exponentiation): يتم باستخدام الرمز ^، مثال: 4 ^ 2 = 16.
* الجذر (Square Root): يتم باستخدام الرمز \^، مثال: \^ 4 = 2.
* الأولوية (Precedence): يمكن استخدام الأقواس () لتحديد أولوية العمليات الحسابية، مثال: (3 + 6) * 2 = 18.


#لغة_ألف #ألف #برمجة_بالعربي #برمج_بألف #ألف_كود_عربي #ألف_رمز #كود_ألف
#Aliflang #Alis_programming_language
#خليك_مبرمج_واع @Programmer_educated
تدير #لغة_ألف5 الذاكرة بشكل تلقائي.

ومع ذلك، ينصح المصدر بـعدم معالجة كميات ضخمة جداً من البيانات أو الدخول في حلقات لا نهائية لتفادي أي ضرر قد يحصل لجهازك.


#لغة_ألف #ألف #برمجة_بالعربي #برمج_بألف #ألف_كود_عربي #ألف_رمز #كود_ألف
#Aliflang #Alis_programming_language
#خليك_مبرمج_واع @Programmer_educated
أمثلة توضيحية على لغة ألف.
سوف أعمل عليها حتى أنتهي من توضيح اللغة قدر الإمكان .
الآن سوف أحل التمرين ثم أرسله
في مشكله في الكود هبعته بكره بعد ما نحل المشكله دي
الة_حاسبة.alif
4.4 KB
لبناء آلة حاسبة في لغة ألف5 تحسب الدوال المثلثية (جتا، جيب، ظل) وتطلب من المستخدم إدخال القيمة.

#لغة_ألف #ألف #برمجة_بالعربي #برمج_بألف #ألف_كود_عربي #ألف_رمز #كود_ألف
#Aliflang #Alis_programming_language
#خليك_مبرمج_واع @Programmer_educated
#خليك_مبرمج_واع
الة_حاسبة.alif
لبناء آلة حاسبة في لغة ألف5 تحسب الدوال المثلثية (جتا، جيب، ظل) وتطلب من المستخدم إدخال القيمة.
(الردود المحفوظة متاحة للاطّلاع فقط)
بالتأكيد، إليك 8 أسئلة متكررة مع إجابات مفصلة حول لغة البرمجة "ألف5"، مع التركيز على المواضيع الرئيسية في المصادر المقدمة:

1. ما هي لغة البرمجة "ألف5"؟ وهل هي نفسها بايثون؟
لغة البرمجة "ألف5" هي لغة برمجة مصممة للتشغيل السهل والسريع للبرامج، مع إمكانية تشغيل الشفرة فورياً في الطرفية (وإن لم تكن هذه الميزة متاحة حالياً) أو عن طريق تنفيذ ملفات تحمل اللاحقة .alif. لا يجب تقديم "ألف5" على أنها بايثون، ولكن يمكن الإشارة إلى أنها تتبع نظام بايثون من حيث بعض المفاهيم والهيكل العام، مع الاحتفاظ بهويتها ولغتها العربية في الشرح والمصطلحات.

2. كيف يمكن تشغيل برنامج مكتوب بلغة "ألف5"؟ وما هي أوامر الطرفية الأساسية؟
يمكن تشغيل برنامج مكتوب بلغة "ألف5" بطريقتين رئيسيتين:

عبر الطرفية مباشرة: عن طريق تمرير كلمة alif في الطرفية، حيث ستبدأ الطرفية باستقبال الشفرة لتنفيذها فورياً. (ملاحظة: هذه الميزة غير متاحة حالياً).
من خلال ملف: عن طريق تمرير كلمة alif متبوعة باسم الملف الذي يحتوي على الشفرة، مثل alif test.alif.
الأوامر الطرفية الأساسية المتاحة هي:

alif -v: لعرض النسخة الحالية للغة.
alif -h: لعرض المساعدة.
3. ما هي أنواع البيانات الأساسية والعمليات المدعومة في "ألف5"؟
تدعم "ألف5" مجموعة متنوعة من أنواع البيانات والعمليات، بما في ذلك:

العمليات الحسابية: الجمع (+)، الطرح (-)، الضرب (*)، القسمة (\)، باقي القسمة (\\)، ناتج القسمة (\*)، القوة (^)، والجذر (\^). كما تدعم أولوية العمليات باستخدام الأقواس ().

المقارنات: يساوي (==)، لا يساوي (!=)، أكبر من (>)، أصغر من (<)، أكبر من أو يساوي (>=)، وأصغر من أو يساوي (<=).

العمليات المنطقية: و (AND)، او (OR)، ليس (NOT).

الإسناد: إسناد القيم (=)، إسناد متعدد (س, ص = 9, 7)، والإسناد الرجعي (مثل +=, -=, *=، وغيرها).

النصوص: تدعم النصوص العادية والنصوص المنسقة (formatted strings) التي تسمح بتضمين تعبيرات بسيطة داخل الأقواس المتعرجة {}.

الهياكل البيانية:

المصفوفات (Lists): يمكن تعريفها باستخدام الأقواس المعقوفة [] وتدعم عمليات مثل الإضافة (.اضف)، المسح (.امسح)، والإدراج (.ادرج)، بالإضافة إلى الوصول إلى العناصر باستخدام الفهرسة. تدعم أيضاً المصفوفات الضمنية (list comprehensions) لإنشاء مصفوفات بناءً على حلقات تكرار.
المترابطات (Tuples): تُعرف باستخدام الأقواس () وتسمح بالتكرار عبر القيم.
الفهارس (Dictionaries): تُعرف باستخدام الأقواس المتعرجة {} وتخزن البيانات على شكل أزواج مفتاح-قيمة. يمكن استرجاع المفاتيح باستخدام .مفاتيح() والتكرار يكون عبر المفاتيح.
4. كيف تعمل آليات الاستيراد والنطاق في "ألف5"؟
الاستيراد: تسمح "ألف5" باستيراد الملفات ذات اللاحقة .aliflib، سواء كانت ملفات فردية أو جزءًا من حزم (مجلدات تحتوي على ملفات _تهيئة_.aliflib). عند استيراد مكتبة للمرة الأولى، يتم تنفيذها، ولكن عند إعادة استيرادها، لا يتم تنفيذها مرة أخرى. يمكن الاستيراد بطرق مختلفة:

استورد اسم_المكتبة
من اسم_المكتبة استورد اسم_العنصر
استيراد من حزم فرعية مثل استورد مكتبة.فرعية.ملف_فرعي.
النطاق (Scope): تستخدم الكلمة المفتاحية عام (global) لجعل المتغيرات عامة داخل نطاق الدالة، مما يتيح التعديل عليها من داخل الدالة. يجب استدعاء الدالة لكي يصبح المتغير عاماً داخلها.

5. ما هي هياكل التحكم الرئيسية (الحلقات والشروط) في "ألف5"؟
حالة "اذا" (If-Else If-Else): تُستخدم لتنفيذ كتل من الشفرة بناءً على شروط معينة. تتضمن اذا (if)، اواذا (else if)، ووالا (else).

س = 6

اذا س > 9:

اطبع("س أكبر من 9")

اواذا س == 9:

اطبع("س تساوي 9")

والا:

اطبع("س ليست اكبر من 9 ولا تساويها")

حالة "لاجل" (For Loop): تستخدم للتكرار عبر مجموعة من القيم أو نطاق محدد. يمكن استخدام مدى() لإنشاء تسلسل من الأرقام.

لاجل ب في مدى(10):

اطبع(ب) # يطبع من 0 إلى 9

لاجل ب في (2,100,20):

اطبع(ب) # يطبع 2، 22، 42، 62، 82

لاجل ب في ("سلام", 1 , خطأ):

اطبع(ب) # يطبع القيم في المترابطة

حالة "بينما" (While Loop): تستخدم لتكرار كتلة من الشفرة طالما أن الشرط المحدد صحيح. تدعم الكلمات المفتاحية استمر (continue) للانتقال إلى التكرار التالي وتوقف (break) للخروج من الحلقة.

س = 1

بينما س < 10:

اذا س == 4:

س += 3

استمر

اواذا س == 9:

توقف

اطبع(س)

س += 1

6. كيف يتم التعامل مع الأخطاء والاستثناءات في "ألف5"؟
تُستخدم حالة حاول (Try-Except-Else-Finally) للتعامل مع الأخطاء المحتملة في الشفرة:


#لغة_ألف #ألف #برمجة_بالعربي #برمج_بألف #ألف_كود_عربي #ألف_رمز #كود_ألف
#Aliflang #Alis_programming_language
#خليك_مبرمج_واع @Programmer_educated
👍1
حاول: تحتوي على الشفرة التي قد تتسبب في خطأ.
خلل (Except): يتم تنفيذها إذا حدث خطأ في كتلة حاول.
وإلا (Else): يتم تنفيذها إذا لم يحدث أي خطأ في كتلة حاول.
نهاية (Finally): يتم تنفيذها دائماً، بغض النظر عما إذا كان هناك خطأ أم لا.
ملاحظة هامة: محدد الخطأ في "ألف5" غير مكتمل، وقد لا يتم تحديد موقع الخطأ بدقة أو قد يؤدي إلى خروج البرنامج دون معرفة السبب في بعض الحالات.

7. كيف يتم تعريف الدوال والأصناف والوراثة في "ألف5"؟
تعريف دالة: تستخدم الكلمة المفتاحية دالة لتعريف الدوال. يمكن للدوال قبول معاملات ذات قيم افتراضية وإرجاع قيم باستخدام ارجع.

دالة السرعة(المسافة, الزمن = 1):

ارجع المسافة \ الزمن

تعريف صنف (Class Definition): تستخدم الكلمة المفتاحية صنف لتعريف الأصناف. يتم تهيئة الصنف باستخدام دالة خاصة تسمى _تهيئة_ (constructor).

صنف مخروط_علوي:

دالة _تهيئة_(هذا, نق = 1, ع = 1):

هذا.نق_القاعدة = نق

هذا.الارتفاع = ع

الوراثة في الأصناف (Class Inheritance): تتم الوراثة عن طريق تمرير اسم الصنف الموروث ضمن قوسين بجانب اسم الصنف الوارث (مثال: صنف شخص(انسان):). يتم تهيئة الصنف الموروث من داخل الصنف الوارث باستخدام اصل()._تهيئة_(معاملات). في حال الوراثة المتعددة، يتم تهيئة كل صنف موروث باسمه بدلاً من اصل().

صنف انسان:

دالة _تهيئة_(هذا, عمر):

هذا.العمر = عمر

صنف شخص(انسان):

دالة _تهيئة_(هذا, عمر, طول):

اصل()._تهيئة_(عمر)

هذا.الطول = طول

8. ما هي القواعد التي تحكم بناء وتفسير شفرة "ألف5"؟
تعتمد قواعد مطابقة "ألف5 نـ5.0" على خليط من EBNF (Extended Backus-Naur Form) و PEG (Parsing Expression Grammar). هذه القواعد تحدد كيفية هيكلة اللغة وتفسيرها بواسطة المُطابِق (parser). بعض الجوانب الرئيسية لهذه القواعد تشمل:

تنسيق القواعد: اسم_الدالة: تعبير أو اسم_الدالة[النوع_المرجع]: تعبير (لتحديد النوع المرجع).
عوامل المطابقة:س ص: مطابقة متتالية.
س | ص: مطابقة بديلة (الأول الذي ينجح ينهي الدالة).
(س): تجميع.
[س] أو س؟: مطابقة اختيارية.
س*: صفر أو أكثر من المطابقات.
س+: واحد أو أكثر من المطابقات.
&س: نظرة أمامية إيجابية (يتابع المطابقة إذا نجح س دون استهلاكه).
!س: نظرة أمامية سلبية (يتابع المطابقة إذا لم ينجح س دون استهلاكه).
&&س: مطابقة فورية، تظهر خطأ إذا فشلت (لا تتراجع).
القواعد العامة: النصوص المحاطة بعلامات تنصيص "نص" تعتبر كلمات مفتاحية. الكلمات العريضة تعتبر كلمات محجوزة. يجب الالتزام بترتيب الحالات البديلة.
التعامل مع أخطاء النسق: تستخدم أسماء الدوال التي تبدأ بـ invalid_ لأخطاء النسق، ويتم استخدامها فقط في المحاولة الثانية للمطابق إذا فشلت المحاولة الأولى


#لغة_ألف #ألف #برمجة_بالعربي #برمج_بألف #ألف_كود_عربي #ألف_رمز #كود_ألف
#Aliflang #Alis_programming_language
#خليك_مبرمج_واع @Programmer_educated
👍1