task package

This commit is contained in:
vitaliy 2025-11-26 14:11:38 +03:00
parent 7b2948e3cd
commit d0a132c193
10 changed files with 92 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
script.sh

2
home_task_2/task11.go Normal file
View File

@ -0,0 +1,2 @@
// todo: Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести название соответствующего
// времени года ("зима", "весна" и т.д.)

3
home_task_2/task12.go Normal file
View File

@ -0,0 +1,3 @@
// todo: Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм,
// 4 — тонна, 5 — центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число).
// Вывести массу данного тела в килограммах

7
home_task_2/task13.go Normal file
View File

@ -0,0 +1,7 @@
// В восточном календаре принят 60-летний цикл, состоящий из 12- летних подциклов,
// обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный.
// В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона,
// змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года вывести его название,
// если 1984 год был началом цикла — годом зеленой крысы.
https://clck.ru/3QWynz

8
home_task_2/task14.go Normal file
View File

@ -0,0 +1,8 @@
//todo: Дан массив размера N. Найти минимальное растояние между одинаковыми значениями в массиве и вывести их индексы.
// Одинаковых значение может быть два и более !
Пример:
var mass = [...]int{1, 2, 17, 54, 30, 89, 2, 1, 6, 2}
// Для числа 1 минимальное растояние в массиве по индексам: 0 и 7
// Для числа 2 минимальное растояние в массиве по индексам: 6 и 9
// Для числа 17 нет минимального растояния т.к элемент в массиве один.

2
home_task_2/task15.go Normal file
View File

@ -0,0 +1,2 @@
//todo: Дан целочисленный массив размера N из 10 элементов.
//Преобразовать массив, увеличить каждый его элемент на единицу.

5
home_task_2/task16.go Normal file
View File

@ -0,0 +1,5 @@
// Создайте базовую структуру для персонажа из полей имени, уровня, опыта, класса
// Создайте структуру для хранения уникальных атрибутов Воина, Мага, Лучника с включением базовой структуры.
// Определите общие методы работы с персонажами в интерфейсе
// Реализуйте методы нанесения повреждений, воcстанновления здоровья, супер удара.
// Организуйте бой двух персонажей с нанесением удара и вычислением оставшегося здоровья.

13
home_task_2/task17.go Normal file
View File

@ -0,0 +1,13 @@
//todo: Заданы массивы
// все пользователи
var all_users = [...]string {'id3', 'id5', 'id9', 'id8', 'id2', 'id1', 'id4', 'id6', 'id7', 'id10'}
// пользователи не в сети
var offline_users = [...]string {'id3', 'id9', 'id7', 'id2', 'id4', 'id6'}
Вычислить пользователей online

9
home_task_2/task18.go Normal file
View File

@ -0,0 +1,9 @@
//todo: Заданы массивы
//Даны читатели книг
var readers_books = [...] string {'id3', 'id5', 'id9', 'id8', 'id2', 'id1' }
//Даны читатели газет
var readers_magazines = [...] string { 'id8', 'id2', 'id1', 'id4', 'id6', 'id7', 'id10'}
Найти пользователей кто читает и книги и газеты

42
home_task_2/task19.go Normal file
View File

@ -0,0 +1,42 @@
// todo: Реализовать метод Next() для структуры Node !!!
// Реализовать метод подсчёта времени и расстояния calcDistance( x Node, y Node) от узла X до узла Y для структуры Route.
package main
import (
"fmt"
)
type Node struct {
name string
time int
dist float32
next *Node
}
type Route struct {
head *Node
length int
}
func (r *Route) insertAtHead(name string, time int, dist float32 ) {
nodeHead := &Node{name, time , dist , nil}
if r.head == nil {
r.head = nodeHead
} else {
temp := r.head
r.head = nodeHead
temp.next = temp
}
r.length += 1
}
func main() {
list := Route{nil, 0}
list.insertAtHead("С", 15, 18)
list.insertAtHead("B", 5, 6)
list.insertAtHead("A", 0, 0)
fmt.Println(list.head)
}