From f07b2df153d1258ce261339bc52480271b4ce66c Mon Sep 17 00:00:00 2001 From: MaksimPoLozkov Date: Thu, 18 Jan 2024 17:10:19 +0300 Subject: [PATCH] lab5 --- golang/internal/struct2/struct2.go | 30 +++++++++++++++++++++++ golang/main.go | 39 ++++++++++++++++++++++++++---- 2 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 golang/internal/struct2/struct2.go diff --git a/golang/internal/struct2/struct2.go b/golang/internal/struct2/struct2.go new file mode 100644 index 00000000..37bf63b3 --- /dev/null +++ b/golang/internal/struct2/struct2.go @@ -0,0 +1,30 @@ +package struct2 + +import ( + "fmt" +) + +type Mouse struct { + Brand string + Buttons int + Wireless bool +} + +func (m *Mouse) GetBrand() (string, error) { + if m.Brand == "" { + return "", fmt.Errorf("бренд мыши не установлен") + } + return m.Brand, nil +} + +func (m *Mouse) SetButtons(num int) error { + if num < 0 { + return fmt.Errorf("количество кнопок не может быть отрицательным") + } + m.Buttons = num + return nil +} + +func (m *Mouse) IsWireless() bool { + return m.Wireless +} diff --git a/golang/main.go b/golang/main.go index e440779f..233782e9 100644 --- a/golang/main.go +++ b/golang/main.go @@ -2,11 +2,40 @@ package main import ( "fmt" - "isuct.ru/informatics2022/internal" + "math" + + "isuct.ru/informatics2022/internal/struct2" ) func main() { - fmt.Println("Полозков Максим Михайлович | Вариант №19") - fmt.Println(internal.Task_A(1.2, 4.2, 0.6)) - fmt.Println(internal.Task_B([]float64{1.16, 1.32, 1.47, 1.65, 1.93})) -} \ No newline at end of file + fmt.Println("Полозков Максим Михайлович") + a := 2.0 + x_n := 1.2 + x_k := 4.2 + x_z := 0.6 + for x := x_n; x <= x_k; x = x + x_z { + var ya = (math.Pow(math.Log10(a+x), 2) / math.Pow(a+x, 2)) + fmt.Println("Результат задачи A =", ya) + } + var argument = [5]float64{1.16, 1.32, 1.47, 1.65, 1.93} + for z := 0; z < 5; z++ { + var yb = (math.Pow(math.Log10(a+argument[z]), 2) / math.Pow(a+argument[z], 2)) + fmt.Println("Результат задачи B =", yb) + } + + m := struct2.Mouse{Brand: "Logitech", Buttons: 3, Wireless: true} + + brand, err := m.GetBrand() + if err != nil { + fmt.Println("Ошибка при получении бренда мыши:", err) + } else { + fmt.Println("Бренд мыши:", brand) + } + + if err := m.SetButtons(5); err != nil { + fmt.Println("Ошибка при установке количества кнопок:", err) + } else { + fmt.Println("Количество кнопок после установки:", m.Buttons) + } + fmt.Println("Беспроводная мышь?", m.IsWireless()) +}