Menu
Coddy logo textTech

סיכום – טיפול בבעיות

חלק מהיחידה יסודות במסלול ה-GO של Coddy. שיעור 109 מתוך 109.

challenge icon

אתגר

קל

נתרגל טיפול בשגיאות ב-Go באמצעות תוכנית פשוטה להמרת טמפרטורה.

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

השלם את הפונקציה celsiusToFahrenheit ש:

  • ממירה טמפרטורה מצלזיוס לפרנהייט באמצעות הנוסחה: F = C × 9/5 + 32
  • מחזירה שגיאה אם הטמפרטורה נמוכה מאפס מוחלט (-273.15°C)

עבור הודעת השגיאה, עליך להחזיר בדיוק: "Error: temperature below absolute zero"

הפונקציה הראשית מכילה מקרי בדיקה לאימות המימוש שלך.

נסו בעצמכם

package main

import (
	"errors"
	"fmt"
)

// celsiusToFahrenheit ממירה מעלות צלזיוס למעלות פרנהייט
// מחזירה שגיאה אם הטמפרטורה נמוכה מהאפס המוחלט (-273.15°C)
func celsiusToFahrenheit(celsius float64) (float64, error) {
	// TODO: לממש את לוגיקת ההמרה
	// 1. לבדוק אם הטמפרטורה נמוכה מהאפס המוחלט (-273.15°C)
	// 2. אם הטמפרטורה תקינה, להמיר לפי הנוסחה: F = C × 9/5 + 32
	// 3. להחזיר ערך ושגיאה מתאימים
	return 0, nil
}

func main() {
	// לבדוק טמפרטורה תקינה
	fmt.Println("Converting 25°C to Fahrenheit:")
	fahrenheit, err := celsiusToFahrenheit(25)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("25°C = %.2f°F\n", fahrenheit)
	}

	// לבדוק טמפרטורה תקינה נוספת
	fmt.Println("\nConverting 0°C to Fahrenheit:")
	fahrenheit, err = celsiusToFahrenheit(0)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("0°C = %.2f°F\n", fahrenheit)
	}

	// לבדוק טמפרטורה לא תקינה (מתחת לאפס המוחלט)
	fmt.Println("\nConverting -300°C to Fahrenheit:")
	fahrenheit, err = celsiusToFahrenheit(-300)
	if err != nil {
		fmt.Println(err)
	} else {
		fmt.Printf("-300°C = %.2f°F\n", fahrenheit)
	}
}

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

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