جيه (لغة برمجة): الفرق بين النسختين
[مراجعة غير مفحوصة] | [مراجعة غير مفحوصة] |
تم حذف المحتوى تمت إضافة المحتوى
روبوت: قوالب الصيانة؛ +{{يتيمة}}; تغييرات تجميلية |
ط تدقيق إملائي وتنسيق |
||
سطر 1:
{{يتيمة|تاريخ=مايو_2011}}
لغة البرمجة '''جيه''' J، التي طورها [[كينيث إي إيفرسون]] و
ولتجنب تكرار مشكلة الحروف والأشكال المتأصلة باللغة APL، تتطلب لغة جيه مجموعة أحرف وأشكال [[أسكي]] ASCII الرئيسية واللجوء إلى استخدام الأشكال الثنائية التي تتكون باستخدام النقطة أو الفاصلة للتوسع في معنى الأشكال أو الأحرف الرئيسية المتاحة. علاوة على ذلك، حتى تظل اللغة بسيطة وللحفاظ على تحليلها، وللتعويض عن عدم نقص الاختلافات بين الأحرف في لغة ASCII، تقوم لغة جيه بمعالجة معظم الأشكال التي ربما تكون في حاجة إلى موازنتها باللغات الأخرى (مثل [] {} "" ``<>)
ولغة جي هي لغة برمجة منظمة وموجزة وتلاءم البرمجيات الإحصائية والرياضية بصورة أفضل خاصة عند آداء عمليات حساب [[مصفوفة|المصفوفات]]. كما تم استخدامها أيضا في البرمجة القصوى وتحليل أداء الشبكة.
سطر 28:
exit <nowiki>''</nowiki>
على مر التاريخ كانت لغة APL تستخدم الرمز / للإشارة إلى مطوية ما، لذلك فإن +/1 2 3 كانت تكافئ 1+2+3. في نفس الوقت، كان يتم تمثيل الأقسام برموز التقسيم الرياضية (الأوبيلوس obelus، ÷) والذي كانت تنفذ بالضرب على علامة الناقص
وفيما يلي نوضح برنامجا لحساب متوسط قائمة من الأرقام:
سطر 36:
<span style="color:sienna;">2.5</span>
تشير # إلى عدد العناصر في المصفوفة. +/ تلخص عناصر المصفوفة. %تقسم المجموع على عدد العناصر. ملحوظة: avg معرفة سابقا باستخدام سلسلة من ثلاث أفعال ("+/"
(V0 V1 V2 هنا تشير إلى الأفعال و Ny تشير إلى الأسماء)▼
▲(V0 V1 V2 هنا تشير إلى الأفعال و Ny تشير إلى الأسماء)
بعض الأمثلة على استخدام avg :
v=: ?. 20 $ 100 <span style="color:gray;">ملاحظة: متجه عشوائي</span>
السطر 61 ⟵ 59:
<span style="color:sienna;">17.2 22 21.2 26.4</span>
المرتبة rank: هي مفهوم حتمي في لغة الجيه. دلالته في لغة الجيه شبيهة بالاختيار "select" في لغة SQL و
فيما يلي تطبيق لquicksort، من قاموس لغة جيه:
السطر 72 ⟵ 70:
(quicksort y <sel e),(y =sel e),quicksort y >sel e=.y(~?#y
end.
وفيما يلي مثالا على الكويكسورت quicksort يظهر البرمجة الضمنية tacit programming. تتضمن البرمجة الضمنية تركيبة من بعض الوظائف معا ولا تشير بشكل صريح إلى أي من لمتغيرات. دعم لغة الجيه لforks و hooks يشير إلى القواعد بشأن كيف أن المناقشات التي تطبق على هذه الوظيفة ستطبق على وظائف محتواها.
quicksort=: (($:@(<#[)
التعبير التالي يبين pi مع أرقام n ويعرض إمكانات الدقة المتوسعة لجيه:
السطر 91 ⟵ 89:
من بين هذه الثلاثة تتميز الرقيمة بكثرة تنوعها.
أحد الأنماط الرقمية للغة الجيه هي البايت. يوجد قيمتين للبايت وهما صفر
علاوة على ذلك، فإن جيه تدعم كل العمليات المزدوجة المعتادة في هذه القوائم، مثل and, or, exclusive or, rotate, shift, not....الخ، على سبيل المثال.
السطر 103 ⟵ 101:
وعلينا أن نعرف أن جيه أيضا تدعم مصفوفات نظامية أعلى من البايتات- ويمكن أن تتكون من مصفوفات ثنائية الأبعاد وثلاثية الأبعاد.. الخ. تلك العمليات المذكورة سابقا تؤدي عملا جيدا في هذه المصفوفات.
الأنماط الرقمية الأخرى تتضمن [[عدد صحيح|الأعداد الصحيحة]] (3، 42)، [[الفاصلة العائمة|النقاط العائمة]] (3.14، 8.8e22)، التركيبات (oj1, 2.5j3e88)، الأرقام الصحيحة الدقيقة المتوسعة (12345678901234567890x)
يمكن تحويل قوائم البايتات لأرقام صحيحة باستخدام العلامة
تدعم لغة جيه أيضا النوع الحرفي (الرمزي الحرفي). تدرج الحروف بين علامات اقتباس 'a' أو "b". كما يتم دعم قائمة من الأحرف أيضا باستخدام تقليد وضع تلك الأحرف الرمزية المتعددة بين علامات اقتباس مثل 'abcdefg'عادة ما يكون عرض الأحرف الرمزية الفردية 8 بايت (ascii)، ولكن جيه أيضا تدعم أحرف مكتوبة أخرى وهي (Unicode). العمليات الرقمية و[[جبر بولياني|البوليانية]] غير مدعومة بالأحرف، ولكن العمليات ذات التوجه التجميعي (
وفي النهاية، هناك نوع البيانات الصندوقية. عادة يتم وضع البيانات في صندوق باستخدام عملية > (بدون أي برهان
<1 0 0 1 0
السطر 125 ⟵ 123:
==التوثيق==
توثيق لغة الجيه، على عكس معظم لغات البرمجة الأخرى، يتم تنظيمها في هيئة قاموس، حيث يتم تحديد الكلمات في لغة الجيه بأسماء وأفعال وظروف
==هياكل التحكم==
السطر 179 ⟵ 177:
{{DEFAULTSORT:J (Programming Language)}}
[[تصنيف:لغات برمجة]]
|