From 83a2e2a4bc85b6c1b87f475ee9f01136e0620146 Mon Sep 17 00:00:00 2001 From: information278 Date: Sun, 17 Nov 2024 17:38:53 +0300 Subject: [PATCH 1/8] =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=B0=204=20=D0=BB=D0=B0=D0=B1=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/main.go | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/golang/main.go b/golang/main.go index d2c4e91e..4d51f021 100644 --- a/golang/main.go +++ b/golang/main.go @@ -1,7 +1,30 @@ package main -import "fmt" +import ( + "fmt" + "math" +) + +func calculateY(x float64) (float64, error) { + if math.Abs(x) >= 1 { + return math.Pow(1.2, x) - math.Pow(x, 1.2), nil + } else if math.Abs(x) < 1 { + return math.Acos(x), nil + } else { + return 0, fmt.Errorf("неверный x") + + } +} func main() { - fmt.Println("Hello world") + xValues := []float64{0.2, 0.6, 1, 1.4, 1.8, 2.2} + + for _, x := range xValues { + y, err := calculateY(x) + if err != nil { + fmt.Printf("Ошибка при x = %f: %v\n", x, err) + } else { + fmt.Printf("При x = %f, y = %f\n", x, y) + } + } } From a4e9345dab13685328eb10318773b72ef335da6a Mon Sep 17 00:00:00 2001 From: information278 Date: Mon, 25 Nov 2024 14:38:55 +0300 Subject: [PATCH 2/8] =?UTF-8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=204=20?= =?UTF-8?q?=D0=BB=D0=B0=D0=B1=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/lab4/lab4.go | 30 ++++++++++++++++++++++++++++++ golang/main.go | 25 ++----------------------- 2 files changed, 32 insertions(+), 23 deletions(-) create mode 100644 golang/lab4/lab4.go diff --git a/golang/lab4/lab4.go b/golang/lab4/lab4.go new file mode 100644 index 00000000..bda4638c --- /dev/null +++ b/golang/lab4/lab4.go @@ -0,0 +1,30 @@ +package lab4 + +import ( + "fmt" + "math" +) + +func calculateY(x float64) (float64, error) { + if math.Abs(x) >= 1 { + return math.Pow(1.2, x) - math.Pow(x, 1.2), nil + } else if math.Abs(x) < 1 { + return math.Acos(x), nil + } else { + return 0, fmt.Errorf("неверный x") + + } +} + +func Lab4() { + xValues := []float64{0.2, 0.6, 1, 1.4, 1.8, 2.2} + + for _, x := range xValues { + y, err := calculateY(x) + if err != nil { + fmt.Printf("Ошибка при x = %f: %v\n", x, err) + } else { + fmt.Printf("При x = %f, y = %f\n", x, y) + } + } +} diff --git a/golang/main.go b/golang/main.go index 4d51f021..7af2355f 100644 --- a/golang/main.go +++ b/golang/main.go @@ -1,30 +1,9 @@ package main import ( - "fmt" - "math" + "isuct.ru/informatics2022/lab4" ) -func calculateY(x float64) (float64, error) { - if math.Abs(x) >= 1 { - return math.Pow(1.2, x) - math.Pow(x, 1.2), nil - } else if math.Abs(x) < 1 { - return math.Acos(x), nil - } else { - return 0, fmt.Errorf("неверный x") - - } -} - func main() { - xValues := []float64{0.2, 0.6, 1, 1.4, 1.8, 2.2} - - for _, x := range xValues { - y, err := calculateY(x) - if err != nil { - fmt.Printf("Ошибка при x = %f: %v\n", x, err) - } else { - fmt.Printf("При x = %f, y = %f\n", x, y) - } - } + lab4.Lab4() } From 678704abb058412559bb6f6a0bf64cd8a80c1487 Mon Sep 17 00:00:00 2001 From: information278 Date: Mon, 25 Nov 2024 15:03:18 +0300 Subject: [PATCH 3/8] =?UTF-8?q?=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=B8?= =?UTF-8?q?=D0=BB=20lab4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/6lab/lab6.go | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 golang/6lab/lab6.go diff --git a/golang/6lab/lab6.go b/golang/6lab/lab6.go new file mode 100644 index 00000000..e69de29b From b293465e825bba9a5024b8ad720515fdcb085dea Mon Sep 17 00:00:00 2001 From: information278 Date: Mon, 25 Nov 2024 15:38:09 +0300 Subject: [PATCH 4/8] =?UTF-8?q?=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/main.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/golang/main.go b/golang/main.go index 40b6bd38..0de965f6 100644 --- a/golang/main.go +++ b/golang/main.go @@ -1,6 +1,8 @@ package main import ( + "fmt" + "isuct.ru/informatics2022/lab4" ) From 97f4c0771f3f1e8b09e4190627d93b0a51a0ea88 Mon Sep 17 00:00:00 2001 From: information278 Date: Mon, 25 Nov 2024 15:41:19 +0300 Subject: [PATCH 5/8] =?UTF-8?q?=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/lab4/lab4.go | 1 - 1 file changed, 1 deletion(-) diff --git a/golang/lab4/lab4.go b/golang/lab4/lab4.go index bda4638c..b0b48405 100644 --- a/golang/lab4/lab4.go +++ b/golang/lab4/lab4.go @@ -12,7 +12,6 @@ func calculateY(x float64) (float64, error) { return math.Acos(x), nil } else { return 0, fmt.Errorf("неверный x") - } } From 98808e16061788cad8766fbc59513790739fbab9 Mon Sep 17 00:00:00 2001 From: information278 Date: Mon, 25 Nov 2024 16:07:23 +0300 Subject: [PATCH 6/8] =?UTF-8?q?=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/6lab/lab6.go | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 golang/6lab/lab6.go diff --git a/golang/6lab/lab6.go b/golang/6lab/lab6.go deleted file mode 100644 index e69de29b..00000000 From 8d55245002fb33bbf76da4d82e146b7d025b388a Mon Sep 17 00:00:00 2001 From: information278 Date: Tue, 24 Dec 2024 13:24:23 +0300 Subject: [PATCH 7/8] =?UTF-8?q?=D0=B2=D0=BD=D0=B5=D1=81=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BA=D0=BE=D0=BC=D0=B5=D0=BD=D1=82=D0=B0=D1=80?= =?UTF-8?q?=D0=B8=D1=8F=D0=BC,=20=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=B0=206=20=D0=BB=D0=B0=D0=B1=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/lab4/lab4.go | 35 ++++++++++++++++++++--------------- golang/lab6/lab6.go | 30 ++++++++++++++++++++++++++++++ golang/main.go | 8 +++++--- 3 files changed, 55 insertions(+), 18 deletions(-) create mode 100644 golang/lab6/lab6.go diff --git a/golang/lab4/lab4.go b/golang/lab4/lab4.go index b0b48405..aebc37bf 100644 --- a/golang/lab4/lab4.go +++ b/golang/lab4/lab4.go @@ -5,25 +5,30 @@ import ( "math" ) -func calculateY(x float64) (float64, error) { +func Calculate(x float64) float64 { if math.Abs(x) >= 1 { - return math.Pow(1.2, x) - math.Pow(x, 1.2), nil - } else if math.Abs(x) < 1 { - return math.Acos(x), nil - } else { - return 0, fmt.Errorf("неверный x") + return (math.Pow(1.2, x)) - (math.Pow(x, 1.2)) } + return math.Acos(x) } -func Lab4() { - xValues := []float64{0.2, 0.6, 1, 1.4, 1.8, 2.2} +func TaskA(Xmin, Xmax, Xdel float64) []float64 { + var y []float64 + for x := Xmin; x <= Xmax; x += Xdel { + y = append(y, Calculate(x)) + } + return y +} - for _, x := range xValues { - y, err := calculateY(x) - if err != nil { - fmt.Printf("Ошибка при x = %f: %v\n", x, err) - } else { - fmt.Printf("При x = %f, y = %f\n", x, y) - } +func TaskB(x [5]float64) []float64 { + var y []float64 + for _, value := range x { + y = append(y, Calculate(value)) } + return y +} + +func Runlab4() { + fmt.Println(TaskA(0.2, 2.2, 0.4)) + fmt.Println(TaskB([5]float64{0.1, 0.9, 1.2, 1.5, 1.3})) } diff --git a/golang/lab6/lab6.go b/golang/lab6/lab6.go new file mode 100644 index 00000000..505dfd4f --- /dev/null +++ b/golang/lab6/lab6.go @@ -0,0 +1,30 @@ +package lab6 + +import "fmt" + +type Phone struct { + Name string + Op string + Number string +} + +func NewPhone(name, op, number string) *Phone { + p := new(Phone) + p.Name = name + p.Op = op + p.Number = number + return p +} + +func (p *Phone) SetNumber(number string) { p.Number = number } +func (p Phone) GetNumber() string { return p.Number } +func (p Phone) GetOp() string { return p.Op } +func (p Phone) GetName() string { return p.Name } + +func Runlab6() { + phone := NewPhone("Влад", "Билайн", "89621658549") + phone.SetNumber("89012863969") + fmt.Println("Имя владельца:", phone.GetName()) + fmt.Println("Оператор сотовой связи:", phone.GetOp()) + fmt.Println("Номер телефона пользователя:", phone.GetNumber()) +} diff --git a/golang/main.go b/golang/main.go index 0de965f6..811b200f 100644 --- a/golang/main.go +++ b/golang/main.go @@ -3,10 +3,12 @@ package main import ( "fmt" - "isuct.ru/informatics2022/lab4" + lab4 "isuct.ru/informatics2022/lab4" + lab6 "isuct.ru/informatics2022/lab6" ) func main() { - lab4.Lab4() - fmt.Println("Гретченко Владислав") + fmt.Println("Гретченко Владислав Игоревич") + lab4.Runlab4() + lab6.Runlab6() } From 85ef03290db0c17537919b2b6172f8b6b8dd1386 Mon Sep 17 00:00:00 2001 From: information278 Date: Thu, 26 Dec 2024 18:36:22 +0300 Subject: [PATCH 8/8] =?UTF-8?q?=D0=B2=D1=8B=D0=BF=D0=BE=D0=BB=D0=BD=D0=B8?= =?UTF-8?q?=D0=BB=207=20=D0=BB=D0=B0=D0=B1=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/lab7/headphones.go | 26 ++++++++++++++++++++++++++ golang/lab7/lab7.go | 39 +++++++++++++++++++++++++++++++++++++++ golang/lab7/laptop.go | 29 +++++++++++++++++++++++++++++ golang/lab7/phone.go | 26 ++++++++++++++++++++++++++ golang/main.go | 2 ++ 5 files changed, 122 insertions(+) create mode 100644 golang/lab7/headphones.go create mode 100644 golang/lab7/lab7.go create mode 100644 golang/lab7/laptop.go create mode 100644 golang/lab7/phone.go diff --git a/golang/lab7/headphones.go b/golang/lab7/headphones.go new file mode 100644 index 00000000..50d6b5b0 --- /dev/null +++ b/golang/lab7/headphones.go @@ -0,0 +1,26 @@ +package lab7 + +import "fmt" + +type Headphones struct { + Name string + Color string + Price float64 + ReleaseDate string +} + +func (h *Headphones) ApplyDiscount(discount float64) { + h.Price = h.Price * (1 - discount/100) +} +func (h *Headphones) GetPrice() float64 { + return h.Price +} +func (h *Headphones) SetPrice(newPrice float64) { + h.Price = newPrice +} +func (h *Headphones) ChangeColor(newColor string) { + h.Color = newColor +} +func (h *Headphones) getInfo() string { + return fmt.Sprintf("Name: %s, Color: %s, Price: %.2f,ReleaseDate: %s", h.Name, h.Color, h.Price, h.ReleaseDate) +} diff --git a/golang/lab7/lab7.go b/golang/lab7/lab7.go new file mode 100644 index 00000000..4f68b702 --- /dev/null +++ b/golang/lab7/lab7.go @@ -0,0 +1,39 @@ +package lab7 + +import "fmt" + +type Product interface { + ApplyDiscount(discount float64) + SetPrice(newPrice float64) + GetPrice() float64 + getInfo() string +} + +func GetTotalPrice(products []Product) float64 { + var TotalPrice float64 = 0 + for _, Product := range products { + TotalPrice += Product.GetPrice() + } + return TotalPrice +} + +func Runlab7() { + Product1 := &Phones{"iPhone 13", "128gb blue", 50000.0, "13 октября 2020 года"} + Product2 := &Headphones{"Marshall Major IV", "Black", 7200.0, "14 октября 2020 года"} + Product3 := &Laptop{"Huawei matepad 16", 1024, 130000.0, "AMD Ryzen 7 7840U"} + ProductsWithoutDiscount := []Product{Product1, Product2, Product3} + fmt.Printf("Цена без скидки: %2.f рублей\n", GetTotalPrice(ProductsWithoutDiscount)) + Product1.ApplyDiscount(5) + Product2.ApplyDiscount(20) + Product3.ApplyDiscount(25) + fmt.Printf("Цена со скидкой: %2.f рублей\n", GetTotalPrice(ProductsWithoutDiscount)) + fmt.Println(Product1.getInfo()) + fmt.Println(Product2.getInfo()) + fmt.Println(Product3.getInfo()) + Product1.UpdateCharacteristics("256gb red") + fmt.Println(Product1.getInfo()) + Product2.ChangeColor("Brown") + fmt.Println(Product2.getInfo()) + Product3.ChangeCPU("i5 13500H") + fmt.Println(Product3.getInfo()) +} diff --git a/golang/lab7/laptop.go b/golang/lab7/laptop.go new file mode 100644 index 00000000..e677c153 --- /dev/null +++ b/golang/lab7/laptop.go @@ -0,0 +1,29 @@ +package lab7 + +import "fmt" + +type Laptop struct { + Name string + GB float64 + Price float64 + CPU string +} + +func (l *Laptop) ApplyDiscount(discount float64) { + l.Price = l.Price * (1 - discount/100) +} + +func (l *Laptop) GetPrice() float64 { + return l.Price +} +func (l *Laptop) SetPrice(newPrice float64) { + l.Price = newPrice +} + +func (l *Laptop) ChangeCPU(newCPU string) { + l.CPU = newCPU +} + +func (l *Laptop) getInfo() string { + return fmt.Sprintf("Name: %s, GB: %.2f , Price: %.2f,CPU: %s", l.Name, l.GB, l.Price, l.CPU) +} diff --git a/golang/lab7/phone.go b/golang/lab7/phone.go new file mode 100644 index 00000000..af375703 --- /dev/null +++ b/golang/lab7/phone.go @@ -0,0 +1,26 @@ +package lab7 + +import "fmt" + +type Phones struct { + Name string + Characteristics string + Price float64 + ReleaseDate string +} + +func (p *Phones) ApplyDiscount(discount float64) { + p.Price = p.Price * (1 - discount/100) +} +func (p *Phones) GetPrice() float64 { + return p.Price +} +func (p *Phones) SetPrice(newPrice float64) { + p.Price = newPrice +} +func (p *Phones) UpdateCharacteristics(newCharacteristics string) { + p.Characteristics = newCharacteristics +} +func (p *Phones) getInfo() string { + return fmt.Sprintf("Name: %s, Characteristics: %s, Price: %.2f,ReleaseDate: %s", p.Name, p.Characteristics, p.Price, p.ReleaseDate) +} diff --git a/golang/main.go b/golang/main.go index 811b200f..91358159 100644 --- a/golang/main.go +++ b/golang/main.go @@ -5,10 +5,12 @@ import ( lab4 "isuct.ru/informatics2022/lab4" lab6 "isuct.ru/informatics2022/lab6" + lab7 "isuct.ru/informatics2022/lab7" ) func main() { fmt.Println("Гретченко Владислав Игоревич") lab4.Runlab4() lab6.Runlab6() + lab7.Runlab7() }