From 053656ce3fb9af6da4f54e959d5c398767a3f8fb Mon Sep 17 00:00:00 2001 From: sebastian Date: Tue, 3 Oct 2023 13:37:12 +0200 Subject: [PATCH] Section5.48 --- Section5/48.go | 194 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 194 insertions(+) create mode 100644 Section5/48.go diff --git a/Section5/48.go b/Section5/48.go new file mode 100644 index 0000000..ce64ed3 --- /dev/null +++ b/Section5/48.go @@ -0,0 +1,194 @@ +/* +Coding Exercise #1 + +Consider the following declarations: + + var i int = 3 + var f float64 = 3.2 + +Write a Go program that converts i to float64 and f to int. + +Print out the type and the value of the variables created after conversion. + + +package main + +import "fmt" + +func main() { + var i int = 3 + var f float64 = 3.2 + + fmt.Printf("Type of i is %T and f is %T\n", i, f) + + i1 := float64(i) + f1 := int(f) + fmt.Printf("Type of i1 is %T and value is %f\n", i1, i1) + fmt.Printf("Type of f1 is %T and value is %d\n", f1, f1) +} +*/ + +/* +Coding Exercise #2 + +Consider the following declarations: + + var i = 3 + var f = 3.2 + var s1, s2 = "3.14", "5" + +Write a Go program that converts: + +1. i to string (int to string) + +2. s2 to int (string to int) + +3. f to string (float64 to string) + +4. s1 to float64 (string to float64) + +5. Print the value and the type for each variable created after conversion. + +package main + +import ( + "fmt" + "strconv" +) + +func main() { + var i = 3 + var f = 3.2 + var s1, s2 = "3.14", "5" + + // 1. int to string + s := strconv.Itoa(i) + fmt.Printf("s Type is %T, s value is %q\n", s, s) + + // 2. string to int + is, err := strconv.Atoi(s2) + if err == nil { + fmt.Printf("i type is %T, i value is %v\n", is, is) + } else { + fmt.Println("Can not convert string to int.") + } + + // 3. float64 to string + ss1 := fmt.Sprintf("%f", f) + fmt.Printf("ss1's type: %T, ss1's value: %s\n", ss1, ss1) + + // 4. string to float64 + f1, err1 := strconv.ParseFloat(s1, 64) + if err1 == nil { + fmt.Printf("f1's type: %T, f1's value: %v\n", f1, f1) + } else { + fmt.Println("Cannot convert string to float64.") + } + +} +*/ + +/* +Coding Exercise #3 + +There are some errors in the following Go program. Try to identify the errors, change the code and run the program without errors. + + package main + + import "fmt" + + func main() { + x, y := 4, 5.1 + + z := x * y + fmt.Println(z) + + a := 5 + b := 6.2 * a + fmt.Println(b) + + } + +package main + +import "fmt" + +func main() { + x, y := 4, 5.1 + + z := float64(x) * y + fmt.Println(z) + + a := 5 + b := 6.2 * float64(a) + fmt.Println(b) + +} +*/ + +/* +Coding Exercise #4 + +Create a Go program that computes how long does it take for the Sunlight to reach the Earth if we know that the distance from the Sun to Earth is 149.6 million km and the speed of light is 299,792,458 m / s + +The formula used is: time = distance / speed + +package main + +import "fmt" + +func main() { + d := 149600000 * 1000 + s := 299792458 + fmt.Printf("Speed of light is %d\n", s) + fmt.Printf("Distance from Sun to Earth is %d\n", d) + t := d / s + fmt.Printf("Sunlight reaches Earth in %v seconds\n", t) +} +*/ + +/* + +Coding Exercise #5 + +Write the correct logical operator (&&, || , !) inside the expression so that result1 will be false and result2 will be true. + +Program source code: https://play.golang.org/p/74SCleChC20 + + package main + + import "fmt" + + func main() { + x, y := 0.1, 5 + var z float64 + + // Write the correct logical operator (&&, || , !) + // inside the expression so that result1 will be false and result2 will be true. + + result1 := x < z int(x) != int(z) + fmt.Println(result1) + + result2 := y == 1 * 5 int(z) == 0 + fmt.Println(result2) + + } +*/ + package main + + import "fmt" + + func main() { + x, y := 0.1, 5 + var z float64 + + // Write the correct logical operator (&&, || , !) + // inside the expression so that result1 will be false and result2 will be true. + + result1 := x < z || int(x) != int(z) + fmt.Println(result1) + + result2 := y == 1 * 5 || int(z) == 0 + fmt.Println(result2) + + } \ No newline at end of file