הוספת ציון לתלמיד
חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-PHP של Coddy. שיעור 35 מתוך 68.
אתגר
קלתקבלו שלושה קלטים: אובייקט JSON המייצג את ספר הציונים הקיים של התלמידים, שם של תלמיד וציון להוספה. ספר הציונים משתמש בשמות התלמידים כמפתחות, ולכל תלמיד יש "id" ומערך "grades". הקלט השני הוא שם התלמיד, והקלט השלישי הוא הציון להוספה (כמספר).
קראו את שלושת הקלטים, המירו את מחרוזת ה-JSON למערך של ספר הציונים, אתרו את התלמיד שצוין, הוסיפו את הציון החדש למערך הציונים שלו והדפיסו את ספר הציונים המעודכן באמצעות print_r().
מבנה הקלט:
- שורה ראשונה: אובייקט JSON המייצג את ספר הציונים הקיים (לדוגמה:
{"Alice":{"id":101,"grades":[85,92,78]},"Bob":{"id":102,"grades":[90,88,95]},"Charlie":{"id":103,"grades":[76,84,89]}}) - שורה שנייה: שם התלמיד (לדוגמה:
Alice) - שורה שלישית: הציון להוספה (לדוגמה:
88)
פלט צפוי: מערך ספר הציונים המעודכן, המוצג באמצעות print_r(), כאשר הציון החדש נוסף למערך הציונים של התלמיד שצוין
נסו בעצמכם
<?php
// קראו את מחרוזת ה-JSON של גיליון הציונים
$gradebookJson = fgets(STDIN);
// קראו את שם התלמיד
$studentName = trim(fgets(STDIN));
// קראו את הציון שיש להוסיף
$grade = intval(fgets(STDIN));
// המירו את JSON למערך
$gradebook = (array)json_decode($gradebookJson, true);
// TODO: כתבו את הקוד שלכם למטה
// אתרו את התלמיד והוסיפו את הציון החדש למערך הציונים שלו
// הציגו את גיליון הציונים המעודכן
print_r($gradebook);
?>כל השיעורים ביחידה לוגיקה וזרימת תוכנית
1פונקציות מתקדמות
פונקציות אנונימיותסגירות ו-'use'פונקציות חץפונקציות callbackשימוש ב-'call_user_func'פונקציות משתנותהעברה באמצעות הפניהפונקציות רקורסיביותסיכום: מגוון פונקציות4מערכים רב־ממדיים
יצירת מערך דו־ממדיגישה לאיברי מערך דו־ממדישינוי איברי מערך דו־ממדימעבר באמצעות לולאות מקוננותמערכים אסוציאטיביים דו־ממדייםסיכום: תרגיל רשת פשוטה2מניפולציות מתקדמות במערכים
הוספה באמצעות 'array_push'הסרה באמצעות 'array_pop'הוספה לתחילת המערך באמצעות 'array_unshift'הסרה מתחילת המערך באמצעות 'array_shift'מיזוג מערכים ממוספריםמיזוג מערכים אסוציאטיבייםחילוץ באמצעות 'array_slice'בדיקת ערכים באמצעות 'in_array'חיפוש מפתחות באמצעות 'array_search'סיכום: תרגיל רשימת השמעה5פנקס ציונים לתלמידים
הגדרת הפרויקט: מבנה הנתוניםהוספת תלמיד חדשהוספת ציון לתלמידחישוב הממוצע של התלמידמציאת התלמיד המצטייןהפקת תעודת ציונים3מיון מערכים
מיון מערכים עם אינדקסים בסדר עולהמיון מערכים עם אינדקסים בסדר יורדמיון מערכים אסוציאטיביים לפי ערךמיון מערכים אסוציאטיביים לפי מפתחמיון בסדר טבעימיון מותאם אישית באמצעות 'usort'סיכום: מיון טבלת מוביליםתרגלו בעצמכם: קומפיילר PHP אונליין