Vivasoft-logo

[২.৪] প্র্যাকটিস প্রব্লেমস (Practice Problems)

1. একটি ফাংশন লিখুন যেটি দুটি সংখ্যা প্যারামিটার হিসেবে নেয় , সংখ্যা দুটি যোগ করে এবং যোগফল return করে – 

				
					 package main

   import "fmt"

   // implement the function sum(x,y) here
   func main() {
       x, y := 10, 20
       result := sum(x, y)
       fmt.Printf("The sum of %d and %d is %d\n", x, y, result)
   }

   // Output : The sum of 10 and 20 is 30

				
			

2. একটি ফাংশন লিখুন যেটি বিভিন্ন সংখ্যক একই ডাটা টাইপের ইনপুট আর্গুমেন্ট হিসেবে গ্রহণ করতে পারবে , সংখ্যা গুলো যোগ করে যোগফল return করবে – 

				
					package main

   import "fmt"

   // implement the function sumAll(arg... int) here
   func main() {
       arr1 := []int{1, 2, 3}
       arr2 := []int{1, 2, 3, 4}
       arr3 := []int{1, 2, 3, 4, 5}
       result1 := sumAll(arr1...)
       result2 := sumAll(arr2...)
       result3 := sumAll(arr3...)
       fmt.Println("sum of first array ", result1)
       fmt.Println("sum of second array ", result2)
       fmt.Println("sum of third array ", result3)
   }

   // Output :
   // sum of first array 6
   // sum of first array 10
   // sum of first array 15

				
			

3. একটি ফাংশন লিখুন যেটি একটি ফাইল create করবে এবং ফাইলটিতে “Hello World” লিখার পর defer ব্যবহার করে ফাইলটি close করে দিবে –

				
					 package main

   import (
       "fmt"
       "io/ioutil"
       "log"
   )

   func main() {
       // Create a file with file name example.txt
       // close file
       // Write something to example.txt
       content, err := ioutil.ReadFile("example.txt")
       if err != nil {
           log.Fatal(err)
       }
       fmt.Println(string(content))
   }

   // Output : Hello, World!

				
			

4. একটি ফাংশন লিখুন যেটি একটি সংখ্যা প্যারামিটার হিসেবে নিবে এবং সংখ্যাটি ধনাত্মক হলে সংখ্যাটির square root এবং positive মেসেজ return করবে , অন্যথায় -1 এবং negative মেসেজ return করবে –

				
					 package main

   import (
       "fmt"
   )
   
   // implement check(n) function here
   func main() {
       var n int
       fmt.Scan(&n)
       result, message := check(n)
       if message == "negative" {
           fmt.Println("this is a negative number, So square root of ", n, " is impossible")
       } else {
           fmt.Println("square root of ", n, " is ", result)
       }
   }

   // Output :
   // 16
   // square root of 16 is 4"

				
			

5. একটি ফাংশন লিখুন, যা একটি String রিসিভ করবে এবং একটি Boolean রিটার্ন করবে। যদি String এর সকল ক্যারেক্টার ব্যবহার করে পেলিনড্রম বানানো সম্ভব হয় তাহলে true, আর নয়তো false রিটার্ন করবে।

				
					   package main

   import (
       "fmt"
   )

   func isPalindromePossible(str string) bool
   
   func main() {
       str := "madam"
       if isPalindromePossible(str) {
           fmt.Printf("%q is a palindrome\n", str)
       } else {
           fmt.Printf("%q is not a palindrome\n", str)
       }
   }

				
			

6. একটি ফাংশন লিখুন, যা একটি ইন্টিজারের স্লাইস রিসিভ করবে এবং এর সংখ্যাগুলোর গড় রিটার্ন করবে।

				
					 package main

   import "fmt"

   func average(numbers []int) float64

   func main() {
       numbers := []int{1, 2, 3, 4, 5}
       avg := average(numbers)
       fmt.Printf("The average of %v is %.2f\n", numbers, avg)
   }