From 0b34f12910d409b436ef6af6828f9c59f72be6b6 Mon Sep 17 00:00:00 2001 From: rukinapolina Date: Fri, 27 Dec 2024 22:35:44 +0300 Subject: [PATCH 1/8] lab8 --- golang/Informatics_2024 | 1 + golang/{lab4 => lab8}/lab4.go | 0 golang/lab8/lab8.go | 0 3 files changed, 1 insertion(+) create mode 160000 golang/Informatics_2024 rename golang/{lab4 => lab8}/lab4.go (100%) create mode 100644 golang/lab8/lab8.go diff --git a/golang/Informatics_2024 b/golang/Informatics_2024 new file mode 160000 index 00000000..ea3aab55 --- /dev/null +++ b/golang/Informatics_2024 @@ -0,0 +1 @@ +Subproject commit ea3aab550a1bc9d754d59d45399f2cacba72f8a3 diff --git a/golang/lab4/lab4.go b/golang/lab8/lab4.go similarity index 100% rename from golang/lab4/lab4.go rename to golang/lab8/lab4.go diff --git a/golang/lab8/lab8.go b/golang/lab8/lab8.go new file mode 100644 index 00000000..e69de29b From 7d917cfe42359746a6dc67819b9d45a8cccbe90c Mon Sep 17 00:00:00 2001 From: rukinapolina Date: Fri, 27 Dec 2024 22:43:26 +0300 Subject: [PATCH 2/8] Update lab8.go --- golang/lab8/lab8.go | 93 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) diff --git a/golang/lab8/lab8.go b/golang/lab8/lab8.go index e69de29b..e6528d71 100644 --- a/golang/lab8/lab8.go +++ b/golang/lab8/lab8.go @@ -0,0 +1,93 @@ +package lab8 + +import ( + "fmt" + "io" + "os" + "strings" +) + +func MakeNewFile(name string) { + file, err := os.Create(name) + if err != nil { + panic(err) + } + defer file.Close() +} + +func InputData() []string { + var count int + fmt.Print("Введите количество значений: ") + fmt.Fscan(os.Stdin, &count) + var arr []string + var value string + for i := 1; i <= count; i++ { + fmt.Print("Введите значение: ") + fmt.Fscan(os.Stdin, &value) + arr = append(arr, value) + } + return arr +} + +func ReadInputFromFile(name string) []string { + var arr []string + file, err := os.Open(name) + if err != nil { + panic(err) + } + defer file.Close() + for { + data := make([]byte, 64) + for { + n, err := file.Read(data) + if err == io.EOF { + break + } + arr = append(arr, string(data[:n])) + break + } + return arr + } +} + +func WriteInFile(name string, arr []string) { + file, err := os.OpenFile(name, os.O_RDWR, 0666) + if err != nil { + panic(err) + } + defer file.Close() + for _, value := range arr { + file.WriteString(value + "\n") + } +} + + +func SearchInputFromFile(name string, ValueFile string) { + arr := strings.Split( ReadInputFromFile(name)[0], "\n") + for _, value := range arr { + if value == ValueFile { + fmt.Println("Ошибка при поиске в файле") + break + } + } +} + +func RunLab8Tasks() []string { + var NameFile string + fmt.Print("Введите название файла: ") + fmt.Fscan(os.Stdin, &NameFile) + MakeNewFile(NameFile) + + arr := InputData() + WriteInFile(NameFile, arr) + + arr = strings.Split(ReadInputFromFile(NameFile)[0], "\n") + arr = arr[0 : len(arr)-1] + + var Search string + fmt.Print("Введите значение для поиска: ") + fmt.Fscan(os.Stdin, &Search) + SearchInputFromFilee(NameFile, Search) + + return arr +} From 117c3dcc5926e823b0d5e00072fb642fd04c9b27 Mon Sep 17 00:00:00 2001 From: rukinapolina Date: Fri, 27 Dec 2024 22:44:12 +0300 Subject: [PATCH 3/8] Update lab4.go --- golang/lab8/lab4.go | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/golang/lab8/lab4.go b/golang/lab8/lab4.go index 69edc658..64e1d879 100644 --- a/golang/lab8/lab4.go +++ b/golang/lab8/lab4.go @@ -1,9 +1,10 @@ - package lab4 import ( "math" "fmt" + "strconv" + "isuct.ru/informatics2022/lab8" ) func CalculateExpression (a float64, x float64) float64 { return math.Tan(math.Pow(math.Log10(a+x), 3)) / math.Pow(a+x, 2.0/7.0) @@ -24,9 +25,23 @@ func TaskB(a float64, x [5]float64) []float64 { } return values } +func GetInputForTask4() []float64 { + fmt.Println("Введите данные для Xi, Xk, delX и массив для задач A и B") + arr := lab8.RunLab8Tasks() + var input []float64 + for _, values := range arr { + value, _ := strconv.ParseFloat(values, 64) + input = append(input, value) + } + return input +} + func RunLab4Tasks() { - a := 2.0 - fmt.Println(TaskA(a, 1.08, 1.88, 0.16)) - var s = [5]float64{1.16, 1.35, 1.48, 1.52, 1.96} - fmt.Println(TaskB(a,s)) -} \ No newline at end of file + const a float64 = 2.0 + arr :=GetInputForTask4() + values := arr[3:] + ValuesA := TaskA(a, arr[0], arr[1], arr[2]) + ValuesB := TaskB(a, values) + PrintValue(ValuesA) + PrintValue(ValuesB) +} From d4024b3ca06381aadb052f813f1e19bca4b665c1 Mon Sep 17 00:00:00 2001 From: rukinapolina Date: Fri, 27 Dec 2024 22:45:01 +0300 Subject: [PATCH 4/8] Update main.go --- golang/main.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/golang/main.go b/golang/main.go index 232912b8..2af9e036 100644 --- a/golang/main.go +++ b/golang/main.go @@ -4,7 +4,8 @@ import ( "fmt" "isuct.ru/informatics2022/lab4" "isuct.ru/informatics2022/lab6" - "isuct.ru/informatics2022/lab7" + "isuct.ru/informatics2022/lab7" + "isuct.ru/informatics2022/lab8" ) @@ -13,4 +14,5 @@ func main() { lab4.RunLab4Tasks() lab6.Runlab6() lab7.RunLab7Tasks() + lab8.RunLab8Tasks() } From 88bba41dc0568074bf46941938d670129502cd53 Mon Sep 17 00:00:00 2001 From: rukinapolina Date: Sat, 28 Dec 2024 01:26:05 +0300 Subject: [PATCH 5/8] lab8 --- golang/{lab8 => lab4}/lab4.go | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename golang/{lab8 => lab4}/lab4.go (100%) diff --git a/golang/lab8/lab4.go b/golang/lab4/lab4.go similarity index 100% rename from golang/lab8/lab4.go rename to golang/lab4/lab4.go From 1d6586abe89b073bb90af2c7c08f251c2342a2eb Mon Sep 17 00:00:00 2001 From: rukinapolina Date: Sat, 28 Dec 2024 01:32:23 +0300 Subject: [PATCH 6/8] Update lab4.go --- golang/lab4/lab4.go | 71 +++++++++++++++++++++------------------------ 1 file changed, 33 insertions(+), 38 deletions(-) diff --git a/golang/lab4/lab4.go b/golang/lab4/lab4.go index 64e1d879..bbaba347 100644 --- a/golang/lab4/lab4.go +++ b/golang/lab4/lab4.go @@ -1,47 +1,42 @@ -package lab4 - -import ( - "math" +package lab4 + +import ( "fmt" - "strconv" + "math" + "strconv" "isuct.ru/informatics2022/lab8" ) -func CalculateExpression (a float64, x float64) float64 { - return math.Tan(math.Pow(math.Log10(a+x), 3)) / math.Pow(a+x, 2.0/7.0) -} - -func TaskA(a , xi , xk , deltax float64) []float64 { - var values []float64 - for x := xi; x <= xk; x += deltax { - values = append(values, CalculateExpression (a, x)) - } - return values -} - -func TaskB(a float64, x [5]float64) []float64 { - var values []float64 - for _, value := range x { - values = append(values, CalculateExpression (a, value)) - } - return values + +func CalculateExpression(a float64, x float64) float64 { + return math.Tan(math.Pow(math.Log10(a+x), 3)) / math.Pow(a+x, 2.0/7.0) } + func GetInputForTask4() []float64 { - fmt.Println("Введите данные для Xi, Xk, delX и массив для задач A и B") - arr := lab8.RunLab8Tasks() - var input []float64 - for _, values := range arr { - value, _ := strconv.ParseFloat(values, 64) - input = append(input, value) - } - return input + fmt.Println("Введите данные для Xi, Xk, delX и массив для задач A и B") + arr := lab8.RunLab8Tasks() + var input []float64 + for _, values := range arr { + value, _ := strconv.ParseFloat(values, 64) + input = append(input, value) + } + return input } func RunLab4Tasks() { - const a float64 = 2.0 - arr :=GetInputForTask4() - values := arr[3:] - ValuesA := TaskA(a, arr[0], arr[1], arr[2]) - ValuesB := TaskB(a, values) - PrintValue(ValuesA) - PrintValue(ValuesB) + a := 2.0 + fmt.Println(TaskA(a, 1.08, 1.88, 0.16)) + + var s = [5]float64{1.16, 1.35, 1.48, 1.52, 1.96} + fmt.Println(TaskB(a, s)) + + arr := GetInputForTask4() + values := [5]float64{} + + copy(values[:], arr[3:8]) // Если arr имеет меньше элементов, это вызовет панику + + ValuesA := TaskA(a, arr[0], arr[1], arr[2]) + ValuesB := TaskB(a, values) + + fmt.Println(ValuesA) + fmt.Println(ValuesB) } From 0fa6fb2204a52cd29f974dac27732b072cfedf2a Mon Sep 17 00:00:00 2001 From: rukinapolina Date: Sat, 28 Dec 2024 01:32:41 +0300 Subject: [PATCH 7/8] Update lab8.go --- golang/lab8/lab8.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/golang/lab8/lab8.go b/golang/lab8/lab8.go index e6528d71..12e60bfc 100644 --- a/golang/lab8/lab8.go +++ b/golang/lab8/lab8.go @@ -87,7 +87,7 @@ func RunLab8Tasks() []string { var Search string fmt.Print("Введите значение для поиска: ") fmt.Fscan(os.Stdin, &Search) - SearchInputFromFilee(NameFile, Search) + SearchInputFromFile(NameFile, Search) return arr } From 07da3292074c48b59a34a111e81172db3ccc6c4a Mon Sep 17 00:00:00 2001 From: rukinapolina Date: Sat, 28 Dec 2024 01:35:22 +0300 Subject: [PATCH 8/8] Update lab4.go --- golang/lab4/lab4.go | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/golang/lab4/lab4.go b/golang/lab4/lab4.go index bbaba347..27dc17a7 100644 --- a/golang/lab4/lab4.go +++ b/golang/lab4/lab4.go @@ -11,6 +11,22 @@ func CalculateExpression(a float64, x float64) float64 { return math.Tan(math.Pow(math.Log10(a+x), 3)) / math.Pow(a+x, 2.0/7.0) } +func TaskA(a, xi, xk, deltax float64) []float64 { + var values []float64 + for x := xi; x <= xk; x += deltax { + values = append(values, CalculateExpression(a, x)) + } + return values +} + +func TaskB(a float64, x [5]float64) []float64 { + var values []float64 + for _, value := range x { + values = append(values, CalculateExpression(a, value)) + } + return values +} + func GetInputForTask4() []float64 { fmt.Println("Введите данные для Xi, Xk, delX и массив для задач A и B") arr := lab8.RunLab8Tasks() @@ -25,18 +41,24 @@ func GetInputForTask4() []float64 { func RunLab4Tasks() { a := 2.0 fmt.Println(TaskA(a, 1.08, 1.88, 0.16)) - + var s = [5]float64{1.16, 1.35, 1.48, 1.52, 1.96} fmt.Println(TaskB(a, s)) arr := GetInputForTask4() values := [5]float64{} - - copy(values[:], arr[3:8]) // Если arr имеет меньше элементов, это вызовет панику + + if len(arr) >= 8 { + copy(values[:], arr[3:8]) + } else { + fmt.Println("Недостаточно элементов в arr для копирования.") + return + } ValuesA := TaskA(a, arr[0], arr[1], arr[2]) ValuesB := TaskB(a, values) - + fmt.Println(ValuesA) fmt.Println(ValuesB) } +