از چه زبان برنامه نویسی استفاده میکنی؟
منظورت اینکه معدل کل همه درس های همه دانشجو ها رو بدست بیاری؟
برای اینکار اول همه نمره ها رو جمع میکنی بعد تقسیم بر تعداد (کل دانشجو ها * تعداد درس ها) میکنی. به فرض 12درس باشه و 10 دانشجو خیلی طول میکشه تعریف آرایه نمره ها. اگه از PHP استفاده میکنی این کد کاری که میخوای رو انجام میده. کد رو طوری نوشتم که هرچند تا دانشجو و درس هم باشه حساب کنه، من فقط دو تا دانشجو و 3 تا درس قرار دادم بقیه دانشجو ها رو خودت به آرایه اضافه کن:
$students = [
'ali' => [
'math' => 18,
'science' => 16,
'sport' => 20
],
'hossein' => [
'math' => 16,
'science' => 18,
'sport' => 18
]
];
$totalScore = 0;
foreach($students as $student){
foreach($student as $score){
$totalScore += $score;
}
}
$GPA = $totalScore / (count(reset($students)) * count($students));
echo $GPA;
تو کد بالا اول دانشجو ها و نمره هاشونو تو یه آرایه تعریف کردیم. بعد به وسیله foreach نمره کل دانشجو هارو بدست اوردیم بعد آخرش معدلشون رو بدست آوردیم ریختیم تو متغیر GPA.
برای بدست اوردن تعداد درس ها رفتیم سراغ اولین ایندکس آرایه $students. از اونجایی که این آرایه به شکل ایندکس عددی نبود نمیتونستیم اولین ایندکسش رو بشه شکل $students[0] بدست بیاریم بجاش از فانکشن reset استفاده کردیم.
با فانکشن count تعداد ایندکس های آرایه هامونو بدست آوردیم. هر کدوم از فانکشن ها رو نفهمیدی چیکار میکنه تو گوگل سرچ کن.
اما اگه منظورت اینکه معدل 10 تا دانش آموز تو یه درس رو میخوای به دست بیاری تقریبا همین کده.
ممنون بابت پاسخگویی تون ولی سوال من به این صورته:
اسامی ده دانشجو را (نام ،نام خانوادگی ،شماره دانشجویی، معدل)در آرایه ای ذخیره کرده و سپس میانگین معدل کله دانشجویان را بدست آورید به زبان php
خب کاری که این کد انجام میده هم همینه. معادله ریاضی زیر رو ببین:
n = نمره کل یک دانشجو
y = تعداد درس ها
(n / y) = g
g : معدل یک دانشجو
x = تعداد دانشجو ها
gt = ((g + معدل بقیه دانشجو ها) / x)
gt : معدل همه دانشجو ها
تو حالت عادی(معادله بالا) میایم همه g ها(جمع معدل همه دانشجو) رو بدست میاریم بعد تقسیم بر x(دانشجو ها) میکنیم. اما من معادله ریاضی رو به شکل دیگه ای نوشتم تا کد هاش ساده تر بشه
i = جمع نمره همه درس های همه دانشجو ها
y = تعداد درس ها
x = تعداد دانشجو ها
gt = i / (y * x)
gt : معدل همه دانشجو ها
میتونیم بگیم:
i / (y * x) = (جمع معدل همه دانشجو ها(جمع G ها) / x)
معادله ها یکم پیچیدس. اگه مشکلی تو معادله ها بود بگو
باید از آرایه های تو در تو استفاده کنی. مثلا
$students = [
[
'name' => 'علی',
'family' => 'تبریزی',
'id' => 1,
'GPA' => 17
],
[
'name' => 'محمد',
'family' => 'علی آبادی',
'id' => 2,
'GPA' => 15
]
]
در این صورت کد ها به این شکل میشه:
<?php
$students = [
[
'name' => 'علی',
'family' => 'تبریزی',
'id' => 1,
'GPA' => 17
],
[
'name' => 'محمد',
'family' => 'علی آبادی',
'id' => 2,
'GPA' => 15
]
];
$totalScore = 0;
foreach($students as $student){
foreach($student as $score){
$totalScore += $student['GPA'];
}
}
$GPA = $totalScore / (count(reset($students)) * count($students));
echo $GPA;
?>
توضیحات کد هم تو پاسخ های قبلی هست
فکر کردم منظورت اینکه دانشجو های بیشتری اضافه کنی
برای پیدا کردن بیشترین معدل باید از فانکشن max استفاده کنی. از اونجایی که آرایه ما فقط عدد نبود و آرایه های تو در تو بود باید همه معدل ها رو جدا کنیم قرار بدیم تو یه آرایه دیگه. کد های زیر رو به کد های قبلی اضافه کن:
$GPA2 = [];
foreach($students as $student){
array_push($GPA2, $student['GPA']);
}
$top = max($GPA2);
echo $top;
معدل همه دانشجو ها رو قرار دادیم تو آرایه GPA2 بعد با max() بیشترین مقدار رو بدست آوردیم قرار دادیم تو متغیر top
سلام
سوال:برنامه ای بنویسید که تعدادی عدد را از ورودی خوانده،مجموع مرکعبات آن را حساب کند و به حروجی ببرد.آخرین عدد ورودی صفر است به زبان php
ممنون میشم پاسخ بدید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟