دوال المصفوفات
جزء من قسم الأساسيات في رحلة Ruby على Coddy — الدرس 61 من 88.
توفر Ruby العديد من الطرق المدمجة التي تجعل العمل مع المصفوفات أسهل. تساعدك هذه الطرق على فرز وعكس وإيجاد العناصر دون كتابة كود معقد بنفسك.
تقوم الطريقة sort بترتيب العناصر بترتيب تصاعدي:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # المخرجات: 1, 1, 3, 4, 5لعكس ترتيب العناصر، استخدم الأسلوب reverse:
letters = ["a", "b", "c"]
puts letters.reverse # المخرجات: c, b, aيمكنك دمج هذه الطرق للفرز بترتيب تنازلي:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # المخرجات: 95, 92, 85, 78تجد الطريقتان min و max أصغر وأكبر القيم بسرعة:
prices = [29, 15, 42, 8]
puts prices.min # المخرجات: 8
puts prices.max # المخرجات: 42لحساب مجموع العناصر الرقمية، استخدم sum:
quantities = [2, 5, 3]
puts quantities.sum # المخرجات: 10لاحظ أن sort و reverse تُرجعان مصفوفات جديدة دون تغيير المصفوفة الأصلية. لتعديل المصفوفة الأصلية مباشرةً، أضف ! إلى اسم الطريقة، مثل sort! أو reverse!.
التحدي
سهلاقرأ سطراً واحداً من المدخلات يحتوي على أعداد صحيحة مفصولة بفاصلة (على سبيل المثال، 5,2,8,1,9,3).
قم بتقسيم المدخلات إلى مصفوفة من الأعداد الصحيحة، ثم اطبع ما يلي في أسطر منفصلة:
- المصفوفة مرتبة تصاعدياً (كل عنصر في سطر مستقل)
- المصفوفة مرتبة تنازلياً (كل عنصر في سطر مستقل)
- القيمة الصغرى
- القيمة الكبرى
- مجموع كل العناصر
اطبع سطراً فارغاً بين كل قسم والآخر من أجل الوضوح.
على سبيل المثال، إذا كانت المدخلات 5,2,8,1,9,3، يجب أن تكون المخرجات:
1
2
3
5
8
9
9
8
5
3
2
1
1
9
28إذا كانت المدخلات 10,30,20، يجب أن تكون المخرجات:
10
20
30
30
20
10
10
30
60إذا كانت المدخلات 7,3,5,1، يجب أن تكون المخرجات:
1
3
5
7
7
5
3
1
1
7
16ورقة مرجعية
توفر لغة روبي (Ruby) دوالاً مدمجة للتعامل مع المصفوفات:
تقوم الدالة sort بترتيب العناصر ترتيباً تصاعدياً:
numbers = [3, 1, 4, 1, 5]
puts numbers.sort # المخرجات: 1, 1, 3, 4, 5تقوم الدالة reverse بعكس ترتيب العناصر:
letters = ["a", "b", "c"]
puts letters.reverse # المخرجات: c, b, aيمكن دمج الدوال للترتيب تنازلياً:
scores = [85, 92, 78, 95]
puts scores.sort.reverse # المخرجات: 95, 92, 85, 78تجد الدالتان min و max القيمتين الصغرى والكبرى:
prices = [29, 15, 42, 8]
puts prices.min # المخرجات: 8
puts prices.max # المخرجات: 42تقوم الدالة sum بحساب مجموع العناصر الرقمية:
quantities = [2, 5, 3]
puts quantities.sum # المخرجات: 10ملاحظة: تعيد الدالتان sort و reverse مصفوفات جديدة دون تغيير المصفوفة الأصلية. لتعديل المصفوفة الأصلية، استخدم sort! أو reverse!.
جرّب بنفسك
# قراءة الأعداد الصحيحة المفصولة بفاصلة
input = gets.chomp
# TODO: اكتب الكود الخاص بك أدناه
# 1. تقسيم المدخلات إلى مصفوفة من الأعداد الصحيحة
# 2. فرز المصفوفة بترتيب تصاعدي وطباعة كل عنصر
# 3. طباعة سطر فارغ
# 4. فرز المصفوفة بترتيب تنازلي وطباعة كل عنصر
# 5. طباعة سطر فارغ
# 6. طباعة القيمة الصغرى
# 7. طباعة القيمة العظمى
# 8. طباعة مجموع كل العناصريتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس الأساسيات
4المعاملات - الجزء الثاني
المعاملات المنطقية - الجزء الأولالمعاملات المنطقية - الجزء الثانيمراجعة - المنطق البسيطالمعاملات المنطقية - الجزء الثالثالمعاملات المنطقية - الجزء الرابع7حاسبة تقسيم الفاتورة
رسالة الترحيبالحصول على مدخلات المستخدم2المتغيرات وأنواع البيانات
الأرقام والمتغيراتنوع البيانات Stringنوع البيانات Booleanنوع البيانات Symbolالتحقق من أنواع البياناتقواعد التسميةملخص - إنشاء المتغيرات8الحلقات التكرارية
حلقة For مع النطاقاتحلقة WhileBreakNextمراجعة - المضروب (Factorial)حلقة Timesحلقة Untilالحلقات المتداخلةمراجعة - الإدخال الديناميكي (Dynamic Input)3المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمةاختصارات العمليات الحسابيةمراجعة - العمليات الرياضية البسيطةمعاملات المقارنة6أساسيات الإدخال والإخراج
الإخراج باستخدام putsالإخراج باستخدام print و pالإخراج باستخدام المتغيراتالإدخال باستخدام getsدالة Chompتحويل أنواع البياناتمراجعة - حاسبة العمرمراجعة - صح أم خطأ