البرمجة

حساب مجموع ومتوسط العناصر في Perl

بالطبع، يُمكنني مساعدتك في كتابة كود Perl لحساب مجموع ومتوسط العناصر المحددة في كل صف من الملف الذي قدمته. سأقدم لك كودًا يتيح لك تحقيق هذا الهدف. يُفضل أن تقوم بتشغيل هذا الكود على نظام التشغيل Windows.

perl
# افتح الملف للقراءة open my $fh, '<', 'اسم_الملف.txt' or die "لا يمكن فتح الملف: $!"; # قراءة الصفوف من الملف while (<$fh>) { chomp; # قطع السطر # تجاوز الصفوف التي تحتوي على الوسوم

next if /^

/; # تقسيم الصف إلى عناصر باستخدام الفراغ كفاصل my @items = split /\s+/; # حساب المجموع والمتوسط لعناصر الأيتم my $sum = 0; my $count = 0; for my $i (1 .. $#items) { if ($i % 3 == 1) { # يتم تجاوز العناصر غير المرتبة بشكل صحيح (id) $sum += $items[$i]; $count++; } } # حساب المتوسط my $average = $count ? $sum / $count : 0; # طباعة النتائج print "مجموع العناصر: $sum\n"; print "متوسط العناصر: $average\n"; } # إغلاق الملف close $fh;

يرجى استبدال ‘اسم_الملف.txt’ بالاسم الفعلي للملف الذي تريد قراءته. هذا الكود يعمل على قراءة الملف، حساب مجموع ومتوسط العناصر المحددة لكل صف، ومن ثم يقوم بطباعة النتائج. يمكنك تكرار هذه العملية لكل صف في الملف.

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

المزيد من المعلومات

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

أولاً، قمنا بافتتاح الملف باستخدام الدالة open في Perl. تم استخدام متغير $fh للإشارة إلى الملف المفتوح. في حالة فشل فتح الملف، يتم طباعة رسالة خطأ باستخدام die.

ثم، استخدمنا حلقة while لقراءة الصفوف من الملف باستخدام <$fh> وتخزينها في $_، ومن ثم استخدمنا chomp لحذف السطور الفارغة.

استخدمنا next لتجاوز أي صف يبدأ بالوسم

.

باستخدام split /\s+/، قمنا بتقسيم الصف إلى عناصر باستخدام الفراغ كفاصل بينها.

ثم، بدأنا حلقة for للانتقال عبر العناصر وحساب مجموع العناصر المطلوبة (التي تأتي بعد كل كلمة “item”). تجاوزنا العناصر غير المرتبة بشكل صحيح باستخدام شرط $i % 3 == 1 حيث يتم تجاوز id و cart.

أخذنا عدد العناصر في المتغير $count وجمعنا المجموع في $sum.

أخيرًا، قمنا بحساب المتوسط باستخدام الصيغة $average = $count ? $sum / $count : 0 حيث تم التحقق مما إذا كان عدد العناصر غير صفر قبل قسمة المجموع على العدد.

تم طباعة مجموع العناصر ومتوسطها لكل صف.

يرجى تغيير اسم الملف المستخدم وتنفيذ الكود على نظام التشغيل Windows باستخدام محرر Perl أو الأمر perl اسم_الملف.pl في سطر الأوامر.

زر الذهاب إلى الأعلى