Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[+] golang_chapter_0040 #107

Merged
merged 7 commits into from
Jun 1, 2024
Merged

[+] golang_chapter_0040 #107

merged 7 commits into from
Jun 1, 2024

Conversation

korepanov
Copy link
Contributor

[+] golang_chapter_0040 text
[+] golang_chapter_0040 tests

[+] golang_chapter_0040 tests
fmt.Println(len(arr))
```

Подсчет элементов массива начинается с нулевого элемента, т.е. в данном случае элемент с номером `0` массива `arr` равен `1`. Элемент с номером `4` равен `5`. Длина массива `arr` равна `5`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Может, лучше так?

Индексация элементов массива начинается с нуля.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

И дальше по тексту писать не "номер", а "индекс".

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Можешь пожалуйста поправить все вхождения "номер" на индекс?


Ключевое слово `range` возвращает два аргумента: ключ `key` и значение `val`. В данном случае ключ представляет собой номер элемента массива, а `val` — значение элемента массива.

В `Go`, если какая-либо из возвращаемых переменных не нужна, можно поставить символ `_`. Например:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Имхо просто "символ _" звучит не оч понятно. Что это такое? Например, в питоне это всего лишь общепринятое имя переменной для всего того, что не используется. В го это называется пустой идентификатор (blank identifier). И я так понимаю, это не просто джентльменское соглашение по именованию. А нечто, встроенное в язык. Или нет?

it represents a write-only value to be used as a place-holder where a variable is needed but the actual value is irrelevant.

https://go.dev/doc/effective_go#blank

}
```

Верхняя треугольная матрица (таблица) — матрица, у которой все элементы, стоящие ниже главной диагонали, равны нулю. Главная диагональ — набор элементов матрицы, взятый по диагонали от верхнего левого угла в направлении правого нижнего, т.е. таких элементов, для которых равны номер строки и номер столбца. Объявите двумерный массив типа `int` размерностью `10x10` и задайте его элементам такие значения, чтобы получилась верхняя треугольная матрица. Каждому ненулевому элементу этой матрицы задайте значение, равное сумме индексов этого элемента. Учтите, что индекс матрицы в линейной алгебре принято считать с единицы. Выведите полученную матрицу способом, аналогичным предыдущей задаче. {.task_text}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Учтите, что индекс матрицы в линейной алгебре принято считать с единицы.

А как это влияет на решение?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Выведите полученную матрицу способом, аналогичным предыдущей задаче.

Пользователю придется скроллить. А потом возвращаться к задаче. Это утомляет. Лучше повторить формат вывода.

@Microvenator
Copy link
Contributor

Еще конечно было бы интересно хотя бы пару строк про подкапотное устройство массивов в го. В курсе по питону мы давали описание каждого типа. Например:

https://senjun.ru/courses/python/chapters/python_chapter_0110/#block-lst-inner

[!] иницализировать -> иницИализировать
```
В этом случае компилятор сам посчитает количество элементов. Тип массива `arr` от этого не поменяется, и будет по-прежнему `[5]int`.

Можно иницализировать лишь первые несколько элементов, тогда оставшиеся получат значение по умолчанию:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

иницализировать -> инициализировать.

https://advego.com/text/

Microvenator
Microvenator previously approved these changes Jun 1, 2024
Copy link
Contributor

@Microvenator Microvenator left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Microvenator Microvenator merged commit 4d589da into senjun-team:main Jun 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants