From b8ea65afff554eeae911cd6fdae23788769a8c99 Mon Sep 17 00:00:00 2001 From: krezo1206 Date: Tue, 17 Dec 2024 00:24:23 +0300 Subject: [PATCH 1/5] lab6 --- golang/lab4/lab4.go | 34 +++++++++++++++++++++++++ golang/lab6/lab6.go | 60 +++++++++++++++++++++++++++++++++++++++++++++ golang/main.go | 10 +++++++- 3 files changed, 103 insertions(+), 1 deletion(-) create mode 100644 golang/lab4/lab4.go create mode 100644 golang/lab6/lab6.go diff --git a/golang/lab4/lab4.go b/golang/lab4/lab4.go new file mode 100644 index 00000000..99a3b522 --- /dev/null +++ b/golang/lab4/lab4.go @@ -0,0 +1,34 @@ +package lab4 + +import ( + "fmt" + "math" +) + +func Calculate(x float64) float64 { + return math.Pow(math.Abs(x*x-2.5), 0.25) + math.Pow(math.Log10(x*x), 0.33333333) +} + +func Task_A(begin_x, end_x, delta_x float64) []float64 { + var result []float64 + + for x := begin_x; x < end_x; x += delta_x { + result = append(result, Calculate(x)) + } + return result +} + +func Task_B(arguments []float64) []float64 { + var result []float64 + + for _, x := range arguments { + result = append(result, Calculate(x)) + } + return result +} + +func RunLab4() { + x := []float64{1.84, 2.71, 3.81, 4.56, 5.62} + fmt.Println("Задача A", Task_A(1.25, 3.25, 0.4)) + fmt.Println("Задача B", Task_B(x)) +} diff --git a/golang/lab6/lab6.go b/golang/lab6/lab6.go new file mode 100644 index 00000000..4ae2511e --- /dev/null +++ b/golang/lab6/lab6.go @@ -0,0 +1,60 @@ +package lab6 + +import ( + "fmt" + "strconv" +) + +const maxPowerUsage = 800 + +type PC struct { + Brand string + GPU string + CPU string + PowerUsage int + Storage int +} + +func (pc *PC) SetBrand(brand string) { + pc.Brand = brand +} + +func (pc *PC) SetPowerUsage(powerUsage int) { + if powerUsage > maxPowerUsage { + fmt.Println("Ошибка: превышение максимальной мощности потребления!") + } else { + pc.PowerUsage = powerUsage + } +} + +func (pc *PC) SetGPU(gpu string) { + pc.GPU = gpu +} + +func (pc *PC) SetCPU(cpu string) { + pc.CPU = cpu +} + +func (pc *PC) SetStorage(storage int) { + pc.Storage = storage +} + +func (pc *PC) GetInfo() string { + return "Бренд: " + pc.Brand + "\nПроцессор: " + pc.CPU + "\nВидеокарта: " + pc.GPU + "\nЖесткий диск: " + strconv.Itoa(pc.Storage) + " Гб" + "\nЭнергопотребление: " + strconv.Itoa(pc.PowerUsage) + " Вт" +} + +func RunLab6() { + pc := PC{ + Brand: "LG", + CPU: "Intel Xeon 231", + GPU: "Nvidia 1050 GTX", + Storage: 256, + PowerUsage: 300} + fmt.Println(pc.GetInfo()) + pc.SetBrand("BMW") + pc.SetCPU("Razen Radeon 5632") + pc.SetGPU("Invoker RTX SunsrikeSuper 2090") + pc.SetStorage(512) + pc.SetPowerUsage(2000) + fmt.Println(pc.GetInfo()) +} diff --git a/golang/main.go b/golang/main.go index 66e3de03..ac913a2f 100644 --- a/golang/main.go +++ b/golang/main.go @@ -1,7 +1,15 @@ package main -import "fmt" +import ( + "fmt" + + "isuct.ru/informatics2022/lab4" + "isuct.ru/informatics2022/lab6" + +) func main() { fmt.Println("Ворошилов Ефим Александрович") + lab4.RunLab4() + lab6.RunLab6() } From 9d6779531ec2b9c6d0879ef13d851b7246a3e4f5 Mon Sep 17 00:00:00 2001 From: krezo1206 Date: Tue, 17 Dec 2024 00:38:56 +0300 Subject: [PATCH 2/5] linter fix --- golang/lab6/lab6.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/golang/lab6/lab6.go b/golang/lab6/lab6.go index 4ae2511e..72b92c74 100644 --- a/golang/lab6/lab6.go +++ b/golang/lab6/lab6.go @@ -40,7 +40,11 @@ func (pc *PC) SetStorage(storage int) { } func (pc *PC) GetInfo() string { - return "Бренд: " + pc.Brand + "\nПроцессор: " + pc.CPU + "\nВидеокарта: " + pc.GPU + "\nЖесткий диск: " + strconv.Itoa(pc.Storage) + " Гб" + "\nЭнергопотребление: " + strconv.Itoa(pc.PowerUsage) + " Вт" + return "Бренд: " + pc.Brand + "\n" + + "Процессор: " + pc.CPU + "\n" + + "Видеокарта: " + pc.GPU + "\n" + + "Жесткий диск: " + strconv.Itoa(pc.Storage) + " Гб\n" + + "Энергопотребление: " + strconv.Itoa(pc.PowerUsage) + " Вт" } func RunLab6() { @@ -49,8 +53,10 @@ func RunLab6() { CPU: "Intel Xeon 231", GPU: "Nvidia 1050 GTX", Storage: 256, - PowerUsage: 300} + PowerUsage: 300, + } fmt.Println(pc.GetInfo()) + pc.SetBrand("BMW") pc.SetCPU("Razen Radeon 5632") pc.SetGPU("Invoker RTX SunsrikeSuper 2090") From 2dcce719f07df82f5c6864ceb165317f40f55cb7 Mon Sep 17 00:00:00 2001 From: krezo1206 Date: Thu, 19 Dec 2024 01:01:58 +0300 Subject: [PATCH 3/5] lab7 --- golang/lab7/lab7.go | 36 ++++++++++++++++++++++++++++++++++++ golang/lab7/phone.go | 28 ++++++++++++++++++++++++++++ golang/lab7/tablet.go | 28 ++++++++++++++++++++++++++++ golang/main.go | 3 ++- 4 files changed, 94 insertions(+), 1 deletion(-) create mode 100644 golang/lab7/lab7.go create mode 100644 golang/lab7/phone.go create mode 100644 golang/lab7/tablet.go diff --git a/golang/lab7/lab7.go b/golang/lab7/lab7.go new file mode 100644 index 00000000..26b5d7bf --- /dev/null +++ b/golang/lab7/lab7.go @@ -0,0 +1,36 @@ +package lab7 + +import ( + "fmt" +) + +type Product interface { + GetName() string + GetPrice() float64 + ApplyDiscount(discount float64) +} + +func Calculate(products []Product) float64 { + total := 0.0 + for _, product := range products { + total += product.GetPrice() + } + return total +} + +func RunLab7() { + phone := &Phone{"Самсунг Колдснеп эс 18", 2000.00, "Самсунг", 30} + tablet := &Tablet{"Эпл Торнадо Фордж 2", 4000.00, "Эпл", 40} + products := []Product{phone, tablet} + fmt.Println("Общая стоимость", Calculate(products)) + phone.ApplyDiscount(10) + tablet.ApplyDiscount(15) + fmt.Println("Стоимость товаров после скидок", Calculate(products)) + + fmt.Println("Объём памяти телефона:", phone.Storage, "ГБ") + fmt.Println("Объём памяти планшета:", tablet.Storage, "ГБ") + phone.ChangeStorage(128) + tablet.ChangeStorage(256) + fmt.Println("Изменённый объём памяти телефона:", phone.Storage, "ГБ") + fmt.Println("Изменённый объём памяти планшета:", tablet.Storage, "ГБ") +} diff --git a/golang/lab7/phone.go b/golang/lab7/phone.go new file mode 100644 index 00000000..1fb16cd5 --- /dev/null +++ b/golang/lab7/phone.go @@ -0,0 +1,28 @@ +package lab7 + +type Phone struct { + Name string + Price float64 + Brand string + Storage float64 +} + +func (p *Phone) GetName() string { + return p.Name +} + +func (p *Phone) GetPrice() float64 { + return p.Price +} + +func (p *Phone) GetBrand() string { + return p.Brand +} + +func (p *Phone) ApplyDiscount(discount float64) { + p.Price -= p.Price * discount / 100 +} + +func (p *Phone) ChangeStorage(newStorageSize float64) { + p.Storage = newStorageSize +} diff --git a/golang/lab7/tablet.go b/golang/lab7/tablet.go new file mode 100644 index 00000000..f2f5b6a3 --- /dev/null +++ b/golang/lab7/tablet.go @@ -0,0 +1,28 @@ +package lab7 + +type Tablet struct { + Name string + Price float64 + Brand string + Storage float64 +} + +func (t *Tablet) GetName() string { + return t.Name +} + +func (t *Tablet) GetPrice() float64 { + return t.Price +} + +func (t *Tablet) GetBrand() string { + return t.Brand +} + +func (t *Tablet) ApplyDiscount(discount float64) { + t.Price -= t.Price * discount / 100 +} + +func (t *Tablet) ChangeStorage(newStorageSize float64) { + t.Storage = newStorageSize +} diff --git a/golang/main.go b/golang/main.go index ac913a2f..9e596d44 100644 --- a/golang/main.go +++ b/golang/main.go @@ -5,11 +5,12 @@ import ( "isuct.ru/informatics2022/lab4" "isuct.ru/informatics2022/lab6" - + "isuct.ru/informatics2022/lab7" ) func main() { fmt.Println("Ворошилов Ефим Александрович") lab4.RunLab4() lab6.RunLab6() + lab7.RunLab7() } From 7997e3057e6100a6c0689e4b5fd94594f98e3015 Mon Sep 17 00:00:00 2001 From: krezo1206 Date: Tue, 24 Dec 2024 13:53:53 +0300 Subject: [PATCH 4/5] =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B0=D0=BB=204=D1=8E=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D1=83=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/lab4/lab4.go | 29 +++++++++++++---------------- 1 file changed, 13 insertions(+), 16 deletions(-) diff --git a/golang/lab4/lab4.go b/golang/lab4/lab4.go index 99a3b522..30ce39ea 100644 --- a/golang/lab4/lab4.go +++ b/golang/lab4/lab4.go @@ -1,4 +1,4 @@ -package lab4 +package LAB_4 import ( "fmt" @@ -6,29 +6,26 @@ import ( ) func Calculate(x float64) float64 { - return math.Pow(math.Abs(x*x-2.5), 0.25) + math.Pow(math.Log10(x*x), 0.33333333) + return math.Pow(math.Abs(x*x-2.5), 0.25) + math.Pow(math.Log10(x*x), 0.33) } - -func Task_A(begin_x, end_x, delta_x float64) []float64 { - var result []float64 - - for x := begin_x; x < end_x; x += delta_x { - result = append(result, Calculate(x)) +func TaskA(sx, ex, stepx float64) []float64 { + var ValueY []float64 + for x := sx; x < ex; x += stepx { + ValueY = append(ValueY, Calculate(x)) } - return result + return ValueY } - -func Task_B(arguments []float64) []float64 { - var result []float64 +func TaskB(arguments []float64) []float64 { + var ValueY []float64 for _, x := range arguments { - result = append(result, Calculate(x)) + ValueY = append(ValueY, Calculate(x)) } - return result + return ValueY } func RunLab4() { x := []float64{1.84, 2.71, 3.81, 4.56, 5.62} - fmt.Println("Задача A", Task_A(1.25, 3.25, 0.4)) - fmt.Println("Задача B", Task_B(x)) + fmt.Println("задание a", TaskA(1.25, 3.25, 0.4)) + fmt.Println("задание b", TaskB(x)) } From 52caf442506bd3d8000a05213c0232d91fd6011c Mon Sep 17 00:00:00 2001 From: krezo1206 Date: Tue, 24 Dec 2024 13:59:35 +0300 Subject: [PATCH 5/5] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=B4=D0=B5=D0=BB?= =?UTF-8?q?=D0=B0=D0=BB=204=D1=8E=20=D0=BB=D0=B0=D0=B1=D0=BE=D1=80=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=BD=D1=83=D1=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/lab4/lab4.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golang/lab4/lab4.go b/golang/lab4/lab4.go index 30ce39ea..26bde58d 100644 --- a/golang/lab4/lab4.go +++ b/golang/lab4/lab4.go @@ -1,4 +1,4 @@ -package LAB_4 +package lab4 import ( "fmt"