Menu
Coddy logo textTech

ערכי החזרה

חלק מהיחידה יסודות במסלול ה-Rust של Coddy. שיעור 51 מתוך 75.

משפט return במתודה משמש לציון הערך או הערכים שהמתודה אמורה להפיק כפלט. לדוגמה, המתודה הבאה תפיק 100:

fn function_name() -> i32 {
	return 100;
}

שימו לב שהפונקציה מחזירה נתונים מסוג i32 בגלל סימן החץ ->.

כדי להעביר את ערך ההחזרה למשתנה, כתבו:

let number: i32 = function_name();

כעת המשתנה number יכיל את הערך 100, כי זה מה שהמתודה החזירה.

שימו לב שסוג ההחזרה של המתודה (i32 במקרה הזה) חייב להתאים לסוג הנתונים של המשתנה שבו אתם שומרים את הערך שהוחזר.

challenge icon

אתגר

קל

לכל מקרה בדיקה יש שלוש קלטים.

הקלט הראשון מציין כמה פעמים לבצע איטרציות, ושני הקלטים האחרונים הם מספרים שעליהם נבצע פעולות.

צרו מתודה שמקבלת שני ארגומנטים ומחזירה את המספר הגדול יותר מבין השניים. אם שניהם שווים, החזירו אחד מהם.

בצעו איטרציה iterations פעמים, ובכל איטרציה:

  • קראו למתודה עם num1, num2, ושמרו את התוצאה במשתנה.
  • חלקו את המספר הגדול יותר מבין השניים ב-2, ואז החליפו את המשתנה המקורי הגדול יותר בערך התוצאה החדש.
  • הדפיסו את הערך החדש.  
  • המשיכו לעשות זאת עד שהתוכנית ביצעה איטרציה iterations פעמים, או שאחד המספרים קטן מ-2.

שימו לב, כבר יש לכם את שלד הקוד!

נסו בעצמכם

use std::io;

fn bigger(arg1: f64, arg2: f64) -> f64 {
    // השלימו את הפונקציה

}

fn main() {
    let mut input_iter = String::new();
    let mut input_num1 = String::new();
    let mut input_num2 = String::new();

    io::stdin().read_line(&mut input_iter).unwrap();
    io::stdin().read_line(&mut input_num1).unwrap();
    io::stdin().read_line(&mut input_num2).unwrap();

    let iter: i32 = input_iter.trim().parse().unwrap();
    let mut num1: f64 = input_num1.trim().parse().unwrap();
    let mut num2: f64 = input_num2.trim().parse().unwrap();

    for _ in 0..iter {
        // כתבו את הקוד שלכם למטה
    }
}
quiz iconבחנו את עצמכם

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

כל השיעורים ביחידה יסודות

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