Menu
CoddyTech

מציאת המינימום והמקסימום

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

למערכים יש את המתודות min() ו-max(), שמחזירות את האיבר הקטן ביותר ואת האיבר הגדול ביותר:

var temps := [18, 25, 9, 31, 22]
print(temps.min()) # 9
print(temps.max()) # 31

הפונקציות הגלובליות min() ו-max() משוות בין המספרים שמעבירים להן, וזה שימושי עבור שניים או שלושה ערכים:

print(max(4, 12, 7)) # 12
var hp: int = min(120, 100) # 100, לעולם לא מעל 100

מחרוזות מושוות תו אחר תו, לפי קוד ה-Unicode שלהן. כל אות גדולה מופיעה לפני כל אות קטנה:

var words := ["kiwi", "apple", "Fig"]
print(words.min()) # Fig
print(words.max()) # kiwi

אותו כלל חל גם על מספרים המאוחסנים כטקסט: "9" גדול יותר מ-"56", כי התו 9 מופיע אחרי 5. יש להמיר את הקלט באמצעות int() לפני שמשווים מספרים.

במערך ריק, שתי המתודות מחזירות null. כדי למצוא היכן נמצא הערך הגדול ביותר, העבירו אותו אל find(): temps.find(temps.max()) הוא 3. עבור מילון, מצאו את הגדול ביותר מבין הערכים שלו וחפשו את המפתח שלו באמצעות find_key(), שמחזירה את המפתח הראשון עם הערך הזה:

var scores := {"Mia": 120, "Leo": 95, "Ana": 140}
var best: int = scores.values().max()
print(scores.find_key(best), " ", best) # Ana 140

max() מחזירה ערך מכל סוג, לכן יש להצהיר על סוג המשתנה (var best: int) במקום לכתוב :=.

challenge icon

אתגר

קל

התוכנית קוראת שתי שורות: מספרים שלמים המופרדים ברווחים, ומילים המופרדות ברווחים. בכל שורה יש לפחות ערך אחד.

הדפיסו את המספר הקטן ביותר ואת המספר הגדול ביותר, ואז את המילה הקטנה ביותר ואת המילה הגדולה ביותר, באמצעות min() ו-max(). השוו את המספרים כמספרים, ולא כטקסט. עבור הקלטים 42 17 23 56 9 34 ו-kiwi apple banana cherry date, הפלט הוא:

Smallest number: 9
Largest number: 56
Smallest word: apple
Largest word: kiwi

נסו בעצמכם

extends Node

func _ready():
	var number_texts := OS.read_string_from_stdin().split(" ", false)
	var words := Array(OS.read_string_from_stdin().split(" ", false))
	# המירו את המספרים ל-int, ואז הדפיסו את ארבע התוצאות
	pass
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

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

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