From f8d0899553c472c53d5606af0d057beaa3ea2117 Mon Sep 17 00:00:00 2001 From: Anastasia Ivanova Date: Thu, 28 Dec 2023 01:17:21 +0300 Subject: [PATCH 1/2] lab5 --- golang/internal/lab5/lab5.go | 51 ++++++++++++++++++++++++++++++++++++ golang/internal/sample.go | 32 ---------------------- golang/main.go | 22 ++++++++++++---- 3 files changed, 68 insertions(+), 37 deletions(-) create mode 100644 golang/internal/lab5/lab5.go diff --git a/golang/internal/lab5/lab5.go b/golang/internal/lab5/lab5.go new file mode 100644 index 00000000..92f5f649 --- /dev/null +++ b/golang/internal/lab5/lab5.go @@ -0,0 +1,51 @@ +package lab5 + +import "fmt" + +type tv struct { + model string + color string + sound int +} + +func NewTv(tv_model, tv_color string, tv_sound int) (tv, error) { + var t tv = tv{ + model: tv_model, + } + t.SetColor(tv_color) + var err = t.SetSound(tv_sound) + return t, err +} + +func (t *tv) TurnOn() { + fmt.Printf("%s включился", t.GetModel()) +} + +func (t *tv) SetModel(model string) { + t.model = model +} + +func (t *tv) SetColor(color string) { + t.color = color +} + +func (t *tv) SetSound(sound int) error { + if sound <= 100 && sound >= 0 { + t.sound = sound + return nil + } else { + return fmt.Errorf("Громкость может быть от 0 до 100") + } +} + +func (t *tv) GetModel() string { + return t.model +} + +func (t *tv) GetColor() string { + return t.color +} + +func (t *tv) GetSound() int { + return t.sound +} diff --git a/golang/internal/sample.go b/golang/internal/sample.go index f507513e..e69de29b 100644 --- a/golang/internal/sample.go +++ b/golang/internal/sample.go @@ -1,32 +0,0 @@ -package internal - -import ( - "math" -) - -func Summ(a, b int) int { - return a + b -} - -func Formula(x float64) float64 { - a := 0.4 - b := 0.8 - return (math.Pow(a, x) - math.Pow(b, x)) / (math.Log10(a/b) * math.Pow(a*b, 1/3.0)) -} - -func Task_A(x_begin, x_end, x_delta float64) []float64 { - var num_of_elements int = int((x_end) - (x_begin)/x_delta + 1) - var otvetA = make([]float64, 0, num_of_elements) - for i := x_begin; i <= x_end; i = i + x_delta { - otvetA = append(otvetA, Formula(i)) - } - return otvetA -} - -func Task_B(slice []float64) []float64 { - var otvetB = make([]float64, 0, len(slice)) - for _, i := range slice { - otvetB = append(otvetB, Formula(i)) - } - return otvetB -} diff --git a/golang/main.go b/golang/main.go index cadaa597..7746b403 100644 --- a/golang/main.go +++ b/golang/main.go @@ -3,12 +3,24 @@ package main import ( "fmt" - "isuct.ru/informatics2022/internal" + "isuct.ru/informatics2022/internal/lab5" ) func main() { - fmt.Println("Иванова Анастасия Евгеньевна") - fmt.Println("Вариант 7") - fmt.Println(internal.Task_A(3.2, 6.2, 0.6)) - fmt.Println(internal.Task_B([]float64{4.48, 3.56, 2.78, 5.28, 3.21})) + fmt.Println("Lab 5") + fmt.Println("Телевизор 1") + tv1, err := lab5.NewTv("Samsung", "Black", 63) + if err != nil { + fmt.Printf("%v", err) + } + fmt.Println(tv1.GetSound()) + tv1.SetSound(25) + fmt.Println(tv1.GetSound()) + tv1.TurnOn() + fmt.Println("\nТелевизор 2") + tv2, err := lab5.NewTv("Xiaomi", "White", 120) + if err != nil { + fmt.Printf("%v\n", err) + } + fmt.Println(tv2.GetModel()) } From 407826f3b0cd5c96eb735c1cf1f8e64f9bdf9cbf Mon Sep 17 00:00:00 2001 From: Anastasia Ivanova Date: Thu, 28 Dec 2023 01:59:06 +0300 Subject: [PATCH 2/2] lab5 fixed --- golang/internal/lab5/lab5.go | 4 +++- golang/internal/sample.go | 32 ++++++++++++++++++++++++++++++++ golang/main.go | 5 +++++ 3 files changed, 40 insertions(+), 1 deletion(-) diff --git a/golang/internal/lab5/lab5.go b/golang/internal/lab5/lab5.go index 92f5f649..33d763d0 100644 --- a/golang/internal/lab5/lab5.go +++ b/golang/internal/lab5/lab5.go @@ -1,6 +1,8 @@ package lab5 -import "fmt" +import ( + "fmt" +) type tv struct { model string diff --git a/golang/internal/sample.go b/golang/internal/sample.go index e69de29b..f507513e 100644 --- a/golang/internal/sample.go +++ b/golang/internal/sample.go @@ -0,0 +1,32 @@ +package internal + +import ( + "math" +) + +func Summ(a, b int) int { + return a + b +} + +func Formula(x float64) float64 { + a := 0.4 + b := 0.8 + return (math.Pow(a, x) - math.Pow(b, x)) / (math.Log10(a/b) * math.Pow(a*b, 1/3.0)) +} + +func Task_A(x_begin, x_end, x_delta float64) []float64 { + var num_of_elements int = int((x_end) - (x_begin)/x_delta + 1) + var otvetA = make([]float64, 0, num_of_elements) + for i := x_begin; i <= x_end; i = i + x_delta { + otvetA = append(otvetA, Formula(i)) + } + return otvetA +} + +func Task_B(slice []float64) []float64 { + var otvetB = make([]float64, 0, len(slice)) + for _, i := range slice { + otvetB = append(otvetB, Formula(i)) + } + return otvetB +} diff --git a/golang/main.go b/golang/main.go index 7746b403..b9c6bd54 100644 --- a/golang/main.go +++ b/golang/main.go @@ -3,10 +3,15 @@ package main import ( "fmt" + "isuct.ru/informatics2022/internal" "isuct.ru/informatics2022/internal/lab5" ) func main() { + fmt.Println("Вариант 7") + fmt.Println(internal.Task_A(3.2, 6.2, 0.6)) + fmt.Println(internal.Task_B([]float64{4.48, 3.56, 2.78, 5.28, 3.21})) + fmt.Println("Lab 5") fmt.Println("Телевизор 1") tv1, err := lab5.NewTv("Samsung", "Black", 63)