راکت
حل شده

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

11 پاسخ

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

ثبت پرسش جدید

پاسخ‌ها

11
میرزایی
میرزایی
@narges900

تخصص: دانشجو

بهترین پاسخ

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

ASPgo
ASPgo
@asp.gosk

تخصص: HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس

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

تخصص: دانشجو

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

شاید پاسخ شما همین‌جا باشد

ASPgo
ASPgo
@asp.gosk

تخصص: HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس

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

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

تخصص: دانشجو

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

ASPgo
ASPgo
@asp.gosk

تخصص: HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس

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

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

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

ASPgo
ASPgo
@asp.gosk

تخصص: HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس

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

میرزایی
میرزایی
@narges900

تخصص: دانشجو

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

ASPgo
ASPgo
@asp.gosk

تخصص: HTML، CSS، PHP و JS، طراح قالب و افزونه وردپرس، سئوکار و مقاله نویس

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

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

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

میرزایی
میرزایی
@narges900

تخصص: دانشجو

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

میرزایی
میرزایی
@narges900

تخصص: دانشجو

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

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

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