بر اساس آمار گزارششده، میانگین سرعت مطالعهی افراد در اینترنت بین ۲۰۰ تا ۲۵۰ واژه در هر دقیقه است. احتمالاً وبلاگهایی را دیدهاید که در آنها زمان تقریبی مطالعهی هر پست زیر عنوان آن نوشته شده است. از شما میخواهیم این قابلیت را پیادهسازی کنید.
جزئیات پروژه
تابعی با نام estimateReadingTime
پیادهسازی کنید که یک رشته از کاربر دریافت کرده و زمان مطالعهی پست را برحسب دقیقه برگرداند. این تابع باید تعداد کلمات موجود در متن را تقسیم بر ۲۰۰ کرده و سقف آن را برگرداند. همچنین، کاراکترهای .
، ?
، !
، ,
، ;
و :
باید نادیده گرفته شوند. کلمات با یک یا چند کاراکتر ' '
، '\t'
یا '\n'
از یکدیگر جدا شدهاند. همچنین، تفاوتی برای طول کلمات قائل نمیشویم.
امضای تابع estimateReadingTime
بهصورت زیر خواهد بود:
function estimateReadingTime(string $text): int
{
// TODO: Implement
}
مثال
<?php
function estimateReadingTime(string $text): int
{
// TODO: Implement
}
function randomText(int $wordsCount): string
{
$words = [];
for ($i = 0; $i < $wordsCount; $i++) {
$words[] = randomWord();
}
$text = implode(" ", $words);
return $text;
}
function randomWord(): string
{
$vowels = ["a","e","i","o","u"];
$consonants = [
"b", "c", "d", "f", "g", "h", "j", "k", "l", "m",
"n", "p", "r", "s", "t", "v", "w", "x", "y", "z"
];
$string = "";
$max = intdiv(rand(4, 8), 2);
for ($i = 1; $i <= $max; $i++) {
$string .= $consonants[array_rand($consonants)];
$string .= $vowels[array_rand($vowels)];
}
return $string;
}
echo estimateReadingTime(randomText(200)); // 1
echo "\n";
echo estimateReadingTime(randomText(201)); // 2
echo "\n";
echo estimateReadingTime(randomText(50)); // 1
echo "\n";
echo estimateReadingTime(randomText(1895)); // 10
خروجی موردانتظار:
1
2
1
10
آنچه باید آپلود کنید
یک فایل PHP که تابع estimateReadingTime
در آن پیادهسازی شده است آپلود کنید.
ارسال پاسخ برای این سؤال