Точка входа в программирование
21.4K subscribers
898 photos
162 videos
1 file
2.44K links
Фундаментальные знания по основам программирования

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Сайт: https://tprg.ru/site

Регистрация в перечне РКН: https://tprg.ru/zrgj
Download Telegram
Что такое массивы и какими они бывают

Для простоты восприятия можно считать, что массив (array) — это таблица, каждый элемент которого имеет индекс — «адрес», соответствующих его позиции.

Эта структура данных является самой простой и широко используемой, а другие структуры, такие как стеки и очереди, являются производными от массивов.

Массивы бывают:
— одномерные;
— многомерные;
— статические;
— динамические.

Понять, выглядят одномерные и многомерные массивы можно на картинке, а вот два других типа рассмотри поподробнее.

Статические массивы — это массивы, которые имеют неизменяемый размер, то есть если мы зададим длину массива три, то в нем может храниться только три элемента.

Применение статических массивов:
— в качестве блоков для более сложных структур данных;
— для хранения несложных данных небольших объёмов;
— для сортировки данных.

Динамические массивы — это массивы, которые в ходе жизни могут изменять свой размер. Задается размерность таких массивов, как правило, не числом, а переменной, значение которой может меняться.

Применение динамических массивов:
— в качестве блоков для структур данных.
— для хранения неопределённого количества элементов.

#начинающим
Словарик айтишника. Буква Б

Сегодня мы кратко пройдемся по ключевых терминам и жаргонизмам, связанных с IT и программированием. На этот раз разберем слова на вторую букву алфавита.

#начинающим
Нужен ли английский программисту

Краткий ответ — да. Без полноценного знания английского не получится стать высококлассным специалистом и сделать карьеру в большинстве областей IT.

О том, почему это так и какие преимущества дает знание английского вы сможете узнать в этом ролике. Автор видео не только расскажет, но и на конкретных примерах покажет, зачем нужен этот язык для специалистов в сфере IT.

#начинающим
Что такое стек и как он работает

Стек — это абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (от англ. last in — first out, «последним пришёл — первым вышел»).

Просмотреть стек можно целиком, а добавлять и удалять элементы только из начала. Последний добавленный в стек элемент должен будет покинуть его раньше остальных.

Примером стека может быть куча книг, расположенных в вертикальном порядке. Для того, чтобы получить книгу, которая где-то посередине, вам нужно будет удалить все книги, размещенные на ней.

Как применяют стеки:
— реализация рекурсии;
— вычисления постфиксных значений;
— временное хранение данных, например истории запросов или изменений.

#начинающим
Словарик айтишника. Буква В

В этот раз вы узнаете, что такое вилдкарды, почему жёсткий диск называют винчестером и как Витя связан с проводами.

#начинающим
​​Зарплата IT-спеца: а нормально — это сколько?

Автор рассказывает о своем пути в IT-индустрии, делая акцент на деньгах. В этой статье вы сможете узнать, что сподвигло автора на занятие своим делом, разобраться, какие навыки и условия влияют на зарплату и на какое повышение может рассчитывать начинающий специалист.

#работа #советы #начинающим
Словарик айтишника. Буква Г

Сегодня мы разберем, каким грызуном вы пользуйтесь каждый день и что это за глаз, на котором вы читаете текст?

#начинающим
​​Что такое очередь и где её применяют

Очередь (queue) — ряд данных, хранящий элементы последовательным образом. Очередь похожа на стек, но в отличие от него, работает по принципу FIFO — First In, First Out (англ. «первым пришёл — первым ушёл»). Данные добавляют в конец, а извлекают из начала.

Для понимания, приведем пример: очередь людей. Последний занял место — последним и будешь, а первый — первым ее и покинет.

Бывают неклассические, двусторонние очереди. В них можно добавлять элементы и извлекать их из начала и конца структуры. Элементы посередине недоступны.

Применение очередей:
— реализация очередей, например на доступ к определённому ресурсу;
— управление потоками в многопоточных средах;
— генерация значений.
— Для создания буферов.

#начинающим
Инкапсуляция в ООП

При изучении программирования тема инкапсуляции часто вызывает много сложностей, но её освоение необходимо для уверенной работы с парадигмой ООП. Часто новички не понимают, зачем она нужна или путают инкапсуляцию с сокрытием данных.

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

#начинающим #ооп
​​Языки описания данных и алгоритмические ЯП

Ранее мы узнали, чем высокоуровневые языки отличаются от низкоуровневых, выяснили, что такое ООЯП, а также чем от них отличаются структурные, процедурные и функциональные языки программирования. Сегодня же разберем, что такое языки описания данных и как они связаны с алгоритмическими языками.

Языки описания данных — это языки, которые используются для описания данных. Они позволяют определить типы данных, их свойства и отношения между ними. Эти языки можно считать необходимой нагрузкой к обычным алгоритмическим языкам. 

Например, если вы учите JavaScript для разработки веб-приложений, то скорее всего вам придется изучить и язык описания данных JSON, в формате которого удобно передавать данные между веб-сервером и клиентом.

К таким языкам относятся: XML, HTML, DDL SQL и другие.

Алгоритмические языки программирования — это языки, позволяющие программистам описывать последовательность действий, которые компьютер должен выполнить для достижения желаемого результата. Алгоритмические языки тоже умеют описывать данные, но зачастую предназначены для создания больших и сложных программ.

К алгоритмическим языкам можно отнести: Pascal, C++, Java, C# и т.д.

Был ли для вас полезен этот пост?
❤️‍🔥 — да, спасибо.
👎 — не очень.

#начинающим
Что такое связные списки и какими они бывают
 
Связный список (linked list) — это структура данных типа массив, где каждый элемент является отдельным объектом и состоит из двух элементов – данных и ссылки на следующий узел. 

Принципиальным преимуществом перед массивом является структурная гибкость: порядок элементов связного списка может не совпадать с порядком расположения элементов данных в памяти компьютера, а порядок обхода списка всегда явно задаётся его внутренними связями. Быстро перемещаться между элементами списка помогают указатели.

Связные списки бывают:
однонаправленными — каждый узел хранит адрес или ссылку на следующий узел в списке и последний узел имеет следующий адрес или ссылку как NULL.
двунаправленными — две ссылки, связанные с каждым узлом, одним из опорных пунктов на следующий узел и один к предыдущему узлу.
круговыми — все узлы соединяются, образуя круг. В конце нет NULL. Циклический связанный список может быть однократным или двукратным циклическим связанным списком.

Связные списки применяют для:
— построения более сложных структур данных;
— реализации файловых систем;
— формирования хэш-таблиц;
— выделения памяти в динамических структурах данных.

#начинающим
Словарик айтишника. Буква Д

Возможно, вы уже слышали слова «деплой» и «дистрибутив», но так и не узнали, что же это такое. Самое время это исправить.

#начинающим
​​Что такое граф и зачем он нужен

Граф (graph) — это набор узлов (вершин), которые соединены между собой ребрами (дугами) и имеют вид сети.

Граф является более общим случаем дерева, которое порой называют ациклическим графом. Два основных отличия между ними:
— в графе возможны циклы, то есть «ребёнок» может быть «родителем» для того же элемента;
— рёбра тоже могут нести смысловую нагрузку, то есть нужно сохранять их значения.

Графы делятся на:
ориентированные, ребра которой являются направленными, т.е. существует только одно доступное направление между двумя связными вершинами.
неориентированные, где к каждому из ребер можно осуществлять переход в обоих направлениях.

Применение графов:
— хранение информации, связанной друг с другом сложными соотношениями;
— анализ соотносящейся друг с другом информации;
— построение маршрута из точки А в точку Б.

#начинающим