پرش به محتوا

زبان برنامه‌نویسی گو/حل تمرین‌ها

ویکی‎کتاب، کتابخانهٔ آزاد

تمرین صفحه، شرط ها if , else , switch

[ویرایش]

تمرین اول:

[ویرایش]
package main

import (
	"fmt"
)

func main() {
	var temperature float64

	// گرفتن دمای هوا از کاربر
	fmt.Print("لطفاً دمای هوا را وارد کنید: ")
	fmt.Scan(&temperature)

	// بررسی دما و نمایش پیغام مناسب
	if temperature > 35 {
		fmt.Println("هوا گرم است.")
	} else if temperature < 20 {
		fmt.Println("هوا سرد است.")
	} else {
		fmt.Println("هوا متعادل است.")
	}
}

توضیحات:

[ویرایش]
  • از متغیر temperature برای ذخیره دمای ورودی استفاده شده است. نوع آن float64 است تا بتوانیم دما را به صورت عدد اعشاری هم بگیریم.
  • شرط اول بررسی می‌کند که آیا دما بالای 35 درجه است یا نه و در صورت درست بودن پیام "هوا گرم است" نمایش داده می‌شود.
  • شرط دوم بررسی می‌کند که آیا دما پایین‌تر از 20 درجه است یا نه و در این صورت پیام "هوا سرد است" نمایش داده می‌شود.
  • در غیر این صورت (یعنی دما بین 20 و 35 درجه) پیام "هوا متعادل است" نمایش داده می‌شود.

تمرین دوم:

[ویرایش]
package main

import (
	"fmt"
)

func main() {
	// تعریف دو متغیر برای ذخیره اعداد ورودی از کاربر
	var num1, num2 float64

	// تعریف یک متغیر برای ذخیره عملگر ریاضی
	var operator string

	// دریافت عدد اول از کاربر
	fmt.Print("لطفاً عدد اول را وارد کنید: ")
	fmt.Scan(&num1)

	// دریافت عدد دوم از کاربر
	fmt.Print("لطفاً عدد دوم را وارد کنید: ")
	fmt.Scan(&num2)

	// دریافت عملگر ریاضی (+, -, /) از کاربر
	fmt.Print("لطفاً یکی از عملگرهای (+, -, /) را وارد کنید: ")
	fmt.Scan(&operator)

	// بررسی عملگر و انجام عملیات بر اساس ورودی
	// اگر عملگر "+" بود، دو عدد را جمع می‌کند
	if operator == "+" {
		fmt.Printf("نتیجه: %.2f\n", num1+num2)
	} else if operator == "-" {
		// اگر عملگر "-" بود، عدد اول را از عدد دوم کم می‌کند
		fmt.Printf("نتیجه: %.2f\n", num1-num2)
	} else if operator == "/" {
		// اگر عملگر "/" بود، ابتدا بررسی می‌کند که عدد دوم صفر نباشد
		if num2 != 0 {
			// اگر عدد دوم صفر نبود، عدد اول را بر عدد دوم تقسیم می‌کند
			fmt.Printf("نتیجه: %.2f\n", num1/num2)
		} else {
			// اگر عدد دوم صفر بود، پیغام خطا نمایش داده می‌شود
			fmt.Println("خطا: تقسیم بر صفر امکان‌پذیر نیست.")
		}
	} else {
		// اگر کاربر عملگر نامعتبری وارد کند، پیغام خطا نمایش داده می‌شود
		fmt.Println("عملگر نامعتبر است.")
	}
}

توضیحات:

[ویرایش]
  • در ابتدای برنامه، سه متغیر تعریف شده است:
  • num1 و num2 برای ذخیره دو عدد ورودی از کاربر.

operator برای ذخیره عملگر ریاضی (مثل +، -، یا /) که از کاربر دریافت می‌شود.

  • گرفتن ورودی از کاربر:
  • برنامه ابتدا با استفاده از fmt.Print پیامی به کاربر نمایش می‌دهد که از او درخواست می‌کند عدد اول و دوم را وارد کند. از fmt.Scan برای دریافت اعداد ورودی استفاده می‌شود. سپس عملگر ریاضی نیز از کاربر دریافت می‌شود.
  • شرط‌ها برای عملیات ریاضی:

برای انجام محاسبات، از ساختار if-else استفاده شده است:

  • جمع (+): اگر عملگر + باشد، برنامه دو عدد را جمع کرده و نتیجه را نمایش می‌دهد.
  • تفریق (-): اگر عملگر - باشد، عدد اول از عدد دوم کم می‌شود و نتیجه نمایش داده می‌شود.
  • تقسیم (/): برای تقسیم، ابتدا بررسی می‌شود که آیا عدد دوم صفر است یا خیر. اگر عدد دوم صفر نباشد، عمل تقسیم انجام می‌شود؛ در غیر این صورت، پیغام خطا برای جلوگیری از تقسیم بر صفر نمایش داده می‌شود.
  • پیغام خطا برای عملگر نامعتبر:
  • اگر کاربر یک عملگر غیرمعتبر (غیر از +, -, /) وارد کند، برنامه با استفاده از else پیغام خطا نمایش می‌دهد و برنامه خاتمه می‌یابد.
‎نکته:‏

در بخش‌های خروجی برنامه، از fmt.Printf استفاده شده است تا نتیجه محاسبه به صورت فرمت شده (تا دو رقم اعشار) نمایش داده شود.