میرزایی
3 سال پیش توسط میرزایی مطرح شد
11 پاسخ

مشخصات ده دانشجو در آرایه

سلام سوال به این صورته که مشخصات ده دانشجو رو توی آرایه تعریف باید کرد و میانگین معدل همه رو محاسبه کنم و چاپش کنم


ثبت پرسش جدید
میرزایی
تخصص : دانشجو
@narges900 3 سال پیش مطرح شد
0

اگه بخوام معدل بیشتر رو نشون بدم چه کدی بنویسم؟؟؟


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 3 سال پیش آپدیت شد
0

از چه زبان برنامه نویسی استفاده میکنی؟
منظورت اینکه معدل کل همه درس های همه دانشجو ها رو بدست بیاری؟
برای اینکار اول همه نمره ها رو جمع میکنی بعد تقسیم بر تعداد (کل دانشجو ها * تعداد درس ها) میکنی. به فرض 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 تا دانش آموز تو یه درس رو میخوای به دست بیاری تقریبا همین کده.


میرزایی
تخصص : دانشجو
@narges900 3 سال پیش مطرح شد
0

ممنون بابت پاسخگویی تون ولی سوال من به این صورته:
اسامی ده دانشجو را (نام ،نام خانوادگی ،شماره دانشجویی، معدل)در آرایه ای ذخیره کرده و سپس میانگین معدل کله دانشجویان را بدست آورید به زبان php


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 3 سال پیش آپدیت شد
0

خب کاری که این کد انجام میده هم همینه. معادله ریاضی زیر رو ببین:

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)

معادله ها یکم پیچیدس. اگه مشکلی تو معادله ها بود بگو


میرزایی
تخصص : دانشجو
@narges900 3 سال پیش مطرح شد
0

ببینید مشکل من تعریف کردن آرایه ها هست چطوری بگم مثلا دوتا رشته ای یک عددی


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 3 سال پیش مطرح شد
0

باید از آرایه های تو در تو استفاده کنی. مثلا

$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;
?>

توضیحات کد هم تو پاسخ های قبلی هست


میرزایی
تخصص : دانشجو
@narges900 3 سال پیش مطرح شد
0

اگه بخوام معدل بیشتر رو نشون بدم چه کدی بنویسم؟؟؟


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 3 سال پیش مطرح شد
0

باید بقیه دانشجو ها رو به آرایه اضافه کنی


میرزایی
تخصص : دانشجو
@narges900 3 سال پیش مطرح شد
0

اینکارو کردم منظورم اینه ماکزیمم نشون بدم اونی که معدلش بیشتره دستورش چیه


ASPgo
تخصص : HTML، CSS، PHP و JS، طراح قالب...
@asp.gosk 3 سال پیش آپدیت شد
0

فکر کردم منظورت اینکه دانشجو های بیشتری اضافه کنی
برای پیدا کردن بیشترین معدل باید از فانکشن max استفاده کنی. از اونجایی که آرایه ما فقط عدد نبود و آرایه های تو در تو بود باید همه معدل ها رو جدا کنیم قرار بدیم تو یه آرایه دیگه. کد های زیر رو به کد های قبلی اضافه کن:

$GPA2 = [];
foreach($students as $student){
    array_push($GPA2, $student['GPA']);
}
$top = max($GPA2);
echo $top;

معدل همه دانشجو ها رو قرار دادیم تو آرایه GPA2 بعد با max() بیشترین مقدار رو بدست آوردیم قرار دادیم تو متغیر top


میرزایی
تخصص : دانشجو
@narges900 3 سال پیش مطرح شد
0

خیلی خیلی ممنونم بابت کمک های امروزتون موفق باشیننننننن


میرزایی
تخصص : دانشجو
@narges900 3 سال پیش آپدیت شد
0

سلام
سوال:برنامه ای بنویسید که تعدادی عدد را از ورودی خوانده،مجموع مرکعبات آن را حساب کند و به حروجی ببرد.آخرین عدد ورودی صفر است به زبان php
ممنون میشم پاسخ بدید


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام