Menu
CoddyTech

מתמיר נתונים

חלק מהיחידה לוגיקה וזרימת תוכנית במסלול ה-GDScript של Coddy. שיעור 78 מתוך 78.

challenge icon

אתגר

קשה

הפוך רשומות של תלמידים לדוח. התוכנית קוראת מספר שלם n, ואז n רשומות. לרשומה יש שלושה שדות המופרדים באמצעות ;: מזהה תלמיד, הציונים (מספרים שלמים המופרדים בפסיקים) והמקצועות (המופרדים בפסיקים):

S123;88,92,85;Math,Science,History

תלמיד עומד בתנאים כאשר כל הציונים גבוהים מ־70 (ציון של בדיוק 70 אינו מספיק). בדוק זאת באמצעות שיטת המערך all().

הדפס Qualified students: ואת מספר התלמידים שעומדים בתנאים. לאחר מכן, עבור כל תלמיד שעומד בתנאים, לפי סדר הקלט, הדפס את המזהה, את : ואת ממוצע הציונים עם שתי ספרות אחרי הנקודה העשרונית. לאחר מכן הדפס Subjects:, ועבור כל מקצוע שלומד לפחות תלמיד אחד שעומד בתנאים, הדפס את שם המקצוע, את : ואת מספר התלמידים שעומדים בתנאים ולומדים אותו, לפי סדר הופעת המקצועות לראשונה.

עבור הקלטים האלה:

3
S123;88,92,85;Math,Science,History
S124;65,95,80;Math,Science,English
S125;91,89,92;Math,Physics,History

הפלט הוא:

Qualified students: 2
S123: 88.33
S125: 90.67
Subjects:
Math: 2
Science: 1
History: 2
Physics: 1

S124 אינו עומד בתנאים בגלל הציון 65, ולכן English לא נספר. אם אין תלמידים שעומדים בתנאים, הפלט מסתיים בשורה Subjects:.

נסו בעצמכם

extends Node

func _ready():
	var n := int(OS.read_string_from_stdin())
	# קרא n רשומות, ואז הדפס את התלמידים שעומדים בתנאים ואת המקצועות
	pass

כל השיעורים ביחידה לוגיקה וזרימת תוכנית

תרגלו בעצמכם: קומפיילר GDScript אונליין