Physics.Math.Code
139K subscribers
5.14K photos
1.9K videos
5.78K files
4.28K links
VK: vk.com/physics_math
Чат инженеров: @math_code
Учебные фильмы: @maths_lib
Репетитор IT mentor: @mentor_it
YouTube: youtube.com/c/PhysicsMathCode

Обратная связь: @physicist_i
Download Telegram
🖥 Помните предыдущие два поста про примитивные callback-функции и фильтрующие функции? Может возникнуть вопрос, а можно ли, реализовать свой аналог reduce() ?

Давайте сразу напишем такой пример:
numbers = [1, 11, 12, 13, 18, 9, 8, 6]

from functools import reduce

func = lambda acc, cur : acc + cur

total = reduce(func, numbers, 0)
print('Встроенная reduce: ',total)

def _reduce(callback, collection, init = 0):
acc = init
for k in collection:
acc = callback(acc, k)
return acc

_total = _reduce(func, numbers)
print('Моя reduce: ',_total)


Теперь объясним параметры и работу конструкции:
result = reduce( function, iterable[, initializer] ) :
▫️function — функция, применяемая к элементам итерации. Она должна принимать два аргумента.
▫️iterable — итерируемый объект, элементы которого вы хотите уменьшить. Это может быть список, кортеж или любой другой итерируемый объект.
▫️initializer — (необязательно): начальное значение аккумулятора (накопителя). Оно используется в качестве первого аргумента при первом вызове функции, если оно предусмотрено.

⚠️ Обработка пустых итераций: Одной из распространенных ошибок при использовании функции reduce() является обработка пустых итераций. Передача пустой итерации в reduce() без инициализатора вызывает Ошибку типа поскольку нет начального значения для запуска процесса сокращения. Чтобы избежать этого, всегда указывайте инициализатор, когда итерируемый объект может быть пустым.

⚙️ Производительность:
▫️ Эффективность reduce() по сравнению с циклами: Функция reduce() может быть более эффективной, чем явные циклы, потому что она реализована на C, что может обеспечить преимущества в производительности. Однако это преимущество часто незначительно и зависит от сложности применяемой функции.
▫️Преимущества использования встроенных функций в производительности: Встроенные функции, такие как sum(), min(), и max() высоко оптимизированы с точки зрения производительности. Они реализованы на C и могут выполнять операции быстрее, чем эквивалентный код Python с использованием reduce().

🖥 Зачем разработчикам нужна функция reduce() ? Функция reduce() полезна при итеративной обработке данных, избегая явных циклов и делая код более читаемым и кратким. Некоторые распространенные варианты использования включают:
▫️ Суммирование чисел в списке: Быстрое суммирование всех элементов.
▫️ Умножение элементов итеративного элемента: Вычисление произведения элементов.
▫️ Объединение строк: Объединение нескольких строк в одну.
▫️ Нахождение максимального или минимального значения: Определение самого большого или самого маленького элемента в последовательности.

#python #разработка #программирование #IT #алгоритмы

💡 Репетитор IT mentor // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍40👨‍💻84🤨4🔥2👾2
Media is too big
VIEW IN TELEGRAM
🌔 Трассировка лучей на языке C / Си
[Coding Ray Tracing in C]


Трассировка лучей (англ. Ray tracing; рейтрейсинг) — один из методов геометрической оптики — исследование оптических систем путём отслеживания взаимодействия отдельных лучей с поверхностями. В узком смысле — технология построения изображения трёхмерных моделей в компьютерных программах, при которых отслеживается обратная траектория распространения луча (от экрана к источнику).

Трассировка лучей в компьютерных играх — это решение для создания реалистичного освещения, отражений и теней, обеспечивающее более высокий уровень реализма по сравнению с традиционными способами рендеринга. Turing от Nvidia стала первой архитектурой (лето 2018), позволяющей проводить трассировку лучей в реальном времени на GPU.

До того как была разработана трассировка лучей, молодая область трехмерной компьютерной графики, по существу, состояла из серии «программных приёмов», имитирующих затенение освещённых объектов. Трассировка лучей была первым алгоритмом в этой области, имевшим физический смысл.

Первое изображение с трассировкой лучей было отображено на экране, подобном осциллографу, в Университете Мэриленда в 1963 году. В качестве разработчиков алгоритма трассировки лучей часто упоминают Артура Аппеля, Роберта Голдштейна и Роджера Нагеля, опубликовавших в конце 1960-х годов алгоритм. Другими исследователями, которые в то время занимались методами трассировки лучей, были Херб Стейнберг, Марти Коэн и Юджин Трубецкой.

Трассировка лучей основана на геометрической оптике, где под светом понимается группа лучей. Методы, используемые при трассировке лучей, использовались гораздо раньше, в том числе производителями оптических систем. Сегодня многие средства визуализации (компьютерные программы для создания изображений из 3D-сцен) используют трассировку лучей, возможно, в сочетании с другими процессами.

Простые формы трассировки лучей рассчитывают только прямое освещение, то есть свет, поступающий непосредственно от источников света. Однако трассировка лучей значительно расширилась в несколько раз с тех пор, как впервые была использована в компьютерной графике. Более развитые формы также учитывают непрямой свет, отражённый от других объектов; затем говорят о методе глобального освещения.

Термин Raycasting в основном описывает упрощённую форму трассировки лучей, но иногда также используется как синоним.

📱 Источник: HirschDaniel

#физика #оптика #программирование #разработка_игр #raytracing #physics #моделирование

💡 Physics.Math.Code
// @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍70🔥2412❤‍🔥31🤯1😍1💯1
👨‍🎓Ежегодная стипендиальная программа для студентов от Т-Банка открывает набор по двум направлениям: “Аналитика” и “Разработка”

Направление “Аналитика” рассчитано на тех, кто обладает знаниями в математике и анализе данных. “Разработка” предполагает наличие достижений в области программирования и информатики. При выборе 200 победителей конкурса также будут учитываться призовые места на олимпиадах, хакатонах, соревнованиях и высокий рейтинг на Codeforces или Kaggle. Цель крупнейшей в России негосударственной стипендиальной программы в IT, точных науках и аналитике — помочь талантливым студентам сфокусироваться на образовании и науке, не отвлекаясь на подработку.

Заявки принимаются от студентов из любых вузов России до 7 апреля. Студенты, прошедшие отбор, будут ежемесячно получать стипендию в размере 25 000 рублей в течение следующего учебного года. Также стипендиаты смогут пройти упрощенный отбор в штат и на стажировки Т-Банка. Пропустив первые этапы собеседования, они сразу перейдут к техническим интервью и знакомству с другими специалистами. Каждую неделю финалисты будут общаться с менторами – экспертами компании. Они подскажут, как правильно ставить проектные цели и поделятся профессиональным опытом. Кроме этого, стипендиатам откроется доступ к лекциям и ИТ-курсам от Т-Образования и другим образовательным материалам.
#наука #математика #mathematics #math #science #программирование #олимпиады

💡 Physics.Math.Code // @physics_lib
1👍38🙈643🗿3🔥1😱1👻1👾1
🐍 Циклы и их прерывания в Python: алгоритм поиска в строке

Это заметка будет для начинающих, которые только знакомятся с программированием, информатикой и с языком Python, в частности. Вчера мы с учеником изучали циклы и некоторые операторы, которые дают возможность управлять циклами. В этой небольшой статье я покажу несколько примеров. При этом от совсем простых абстракций постараемся углубиться в более полезные вещи с практической точки зрения. [ Уровень сложности: ~7..8 класс ]

👨🏻‍💻 Читать заметку полностью

#python #алгоритмы #информатика #программирование #циклы

💡 Репетитор IT mentor // @mentor_it
Please open Telegram to view this post
VIEW IN TELEGRAM
👍378😢3🗿3🔥21
📚 Подборка книг по C++ от Бьёрне Страуструпа

Страуструп представляет возможности C++ в контексте поддерживаемых ими стилей программирования, таких как объектно-ориентированное и универсальное программирование. Его экскурсия на удивление обширна. Освещение начинается с основ, затем широко распространяется по более продвинутым темам, уделяя особое внимание новым языковым возможностям. В этом издании рассматриваются многие новые функции C++20, реализованные основными поставщиками C++, включая модули, концепции, сопрограммы и диапазоны. В нем даже представлены некоторые используемые в настоящее время библиотечные компоненты, включение которых в стандарт не запланировано до C++23.

💾 Скачать книги

Это авторитетное руководство не ставит своей целью научить вас программировать (об этом читайте в книге Страуструпа "Программирование: принципы и практика использования C++", второе издание), и оно не будет единственным ресурсом, который вам понадобится для овладения C++ (об этом читайте в книге Страуструпа "Язык программирования C++", четвертое издание). Издание и рекомендуемые онлайн-источники). Однако, если вы программист на C или C++, желающий лучше познакомиться с текущим языком C++, или программист, разбирающийся в другом языке, желающий получить точное представление о природе и преимуществах современного C++, вы не найдете более короткого или простого введения.
#cpp #cplusplus #programming #C #си #программирование #подборка_книг #разработка #архитектура

💡 Physics.Math.Code // @physics_lib
👍58🔥10🗿42❤‍🔥1
Книги C++ Бьёрн Страуструп.zip
180.8 MB
📚 Подборка книг по C++ от Бьёрне Страуструпа

📘 Язык программирования C++ [2013] Бьёрн Страуструп
📕
Программирование. Принципы и практика с использованием C++ (2е издание) [2016] Страуструп Б.
📗 A Tour of C++ Second Edition [2018] Bjarne Stroustrup
📔 Язык
программирования С++. Краткий курс. 2-е издание [2019] Страуструп Бьярне
📙 Язык
программирования С++. Специальное издание [2019] Страуструп Бьерн
📓 Дизайн и эволюция языка C++ [2007] Страуструп Б.
📒 Экскурсия по C++, 3-е издание [2023] Страуструп Бьярне


Книга написана Бьерном Страуструпом - автором языка программирования C++ - и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный объектно-ориентированный подход к созданию программных продуктов.
Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук». #cpp #cplusplus #programming #C #си #программирование #подборка_книг #разработка #архитектура

💡 Physics.Math.Code // @physics_lib
1👍64😭33🔥19😍43👨‍💻2🫡2
📘 Алгоритмы и структуры данных. Новая версия для Оберона [2010] Вирт Н.
📕 Построение компиляторов [2010] Вирт Н.
📗 Алгоритмы и структуры данных [1989] Вирт Н.

💾 Скачать книги

Никлаус Вирт (нем. Niklaus Emil Wirth, род. 15 февраля 1934 года) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор компьютерных наук Швейцарской высшей технической школы Цюриха (ETHZ), лауреат премии Тьюринга 1984 года. Создатель и ведущий проектировщик языков программирования Паскаль, Модула-2, Оберон. #математика #программирование #алгоритмы #computer_science #информатика #подборка_книг

☕️ Для тех, кто захочет задонать на кофе:
ВТБ: +79616572047 (СБП) Сбер: +79026552832 (СБП)

💡 Physics.Math.Code // @physics_lib
👍47🔥115🤩1
3 книги - Никлаус Вирт.zip
74.9 MB
📘 Алгоритмы и структуры данных. Новая версия для Оберона [2010] Вирт Н.

В классическом учебнике тьюринговского лауреата Н. Вирта аккуратно, на тщательно подобранных примерах прорабатываются основные темы алгоритмики - сортировка и поиск, рекурсия, динамические структуры данных. Перевод на русский язык выполнен заново, все рассуждения и программы проверены и исправлены, часть примеров по согласованию с автором переработана с целью максимального прояснения их логики (в том числе за счет использования цикла Дейкстры). Нотацией примеров теперь служит Оберон/Компонентный Паскаль - наиболее совершенный потомок старого Паскаля по прямой линии. Все программы проверены и работают в популярном варианте Оберона - системе Блэкбокс, и доступны в исходниках на прилагаемом CD вместе с самой системой и дополнительными материалами. Большая часть материала книги составляет необходимый минимум знаний по алгоритмике не только для программистов-профессионалов, но и любых других специалистов

📕 Построение компиляторов [2010] Вирт Н.

Книга известного специалиста в области информатики Никлауса Вирта написана по материалам его лекций по вводному курсу проектирования компиляторов. На примере простого языка Оберон-0 рассмотрены все элементы транслятора, включая оптимизацию и генерацию кода. Приведен полный текст компилятора на языке программирования Оберон. Для программистов, преподавателей и студентов, изучающих системное программирование и методы трансляции.

📗 Алгоритмы и структуры данных [1989] Вирт Н.

Книга известного швейцарского специалиста посвящена изложению фундаментальных принципов построения эффективных и надежных программ. В ней содержится также описание и анализ основных алгоритмов. В настоящем дополнительном тираже изложение ведется на основе языка Паскаль (на который переведены все примеры с Модулы-2, использованной автором в предыдущих изданиях), что, однако, не снижает ценность излагаемого материала для пользователей других языков программирования. Для настоящего издания текст заново сверен с оригиналом; в нем исправлены замеченные опечатки. Для программистов разной квалификации, преподавателей и студентов. #математика #программирование #алгоритмы #computer_science #информатика

💡 Physics.Math.Code // @physics_lib
👍56🔥14❤‍🔥641😍1🗿1
📚 12 лучших книг по теме: Теория Графов

💾 Скачать книги

🪄 Теория графов — раздел дискретной математики, изучающий графы. В самом общем смысле граф — это множество точек (вершин, узлов), которые соединяются множеством линий (рёбер, дуг). Теория графов (то есть систем линий, соединяющих заданные точки) включена в учебные программы для начинающих математиков, поскольку:
▪️как и геометрия, обладает наглядностью;
▪️как и теория чисел, проста в объяснении и имеет сложные нерешённые задачи;
▪️не имеет громоздкого математического аппарата («комбинаторные методы нахождения нужного упорядочения объектов существенно отличаются от классических методов анализа поведения систем с помощью уравнений»);
▪️имеет выраженный прикладной характер.
#дискретная_математика #математика #алгоритмы #информатика #программирование #теория_графов #it #computer_science

📚 Подборка книг по теории графов [15 книг]

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥41👍278🤩1🫡1
12 книг по теории графов.zip
130.1 MB
📚 12 лучших книг по теме: Теория Графов

📕 Графы и их применение [1965] Оре

📘 Теория графов для учителей и школьников [2017] Мельников
📗 Графы и их применение, Пособие для учителей [1979] Березина Л.Ю.
📒 Графы [2014] Гуровиц В.М., Ховрина В.В.
📔 Теория графов [2018] Омельченко А.В.
📓 Теория графов, Алгоритмический подход [1978] Кристофидес Н.
📙 Теория графов [2003] Харари Ф
📘 Введение в теорию графов [2019] Уилсон Р.Дж.
📕 Олимпиадная математика, Задачи по теории графов с решениями и указаниями [2023] Семендяева Н.Л., Федотов М.В.
📗 Дискретная математика: графы, матроиды, алгоритмы [2001] Асанов, Баранский, Расин

В этих книгах:
▪️ Основы теории графов и их приложение для внеклассной работы в математических кружках
▪️ Все основные разделы современной теории графов — деревья, циклы, связность в графах, паросочетания, раскраски графов, планарные графы. В конце каждого параграфа приводятся задачи, дополняющие изложенный в учебнике теоретический материал.
▪️ Разнообразные алгоритмы, связанные с нахождением структурных и числовых характеристик объектов из теории графов. В частности, подробно рассматриваются различные алгоритмы поиска решения в задаче коммивояжера.
▪️ Многочисленные примеры иллюстрируют работу конкретных алгоритмов. Приводятся оценки сложности соответствующих процедур.
▪️ Взаимосвязь между теорией графов и теоретической кибернетикой (особенно теорией автоматов, исследованием операций, теорией кодирования, теорией игр).
#дискретная_математика #математика #алгоритмы #информатика #программирование #теория_графов #it #computer_science

💡 Physics.Math.Code // @physics_lib
👍62❤‍🔥107🔥7🤩3
🖥 👨🏻‍💻 Товарищи-разработчики, давайте обсудим старт в IT. Расскажите в комментариях:

▪️С какой первой книги вы начали изучать программирование и Computer Science ? Понравилась ли вам эта книга или нет?

▪️ Какую книгу вы считаете лучшим вариантом для начала?

▪️ Самая сложная книга, связанная с программированием, с которой вы сталкивались?

▪️Книги VS Курсы VS Метод научного тыка, пока не скомпилируется?

▪️Условный Chat GPT — добро или зло для программиста?

📝 Обсуждаем вопросы здесь

#computer_science #разработка #IT #программирование #code #coding #алгоритмы

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍407🔥7👨‍💻2👏1
👨🏻‍💻 Подборка из полезных ссылок. ТОП 100+ англоязычных сайтов об IT

Несколько новостных порталов на en-языке, которые IT-направленность и интересны разработчикам, админам, тестировщикам, веб-дизайнерам и техническим инженерам.

Англоязычные (EN) аналоги хабра:
www.reddit.com
slashdot.org/
dzone.com/
stackoverflow.com/
www.codeproject.com/
gizmodo.com/
hackaday.com/
hashnode.com/
techhype.io/
www.anandtech.com/

lazyfoo.net — интересный сайт про OpenGL и SDL

news.ycombinator.com — удобно собранные новости из сферы IT

reddit.com/r/$SUBJECT, где $SUBJECT — вставляйте по желанию. Все самое интересное с других ресурсов там появляется в виде ссылок всегда, и очень оперативно

medium.com
Title: Medium – Read, write and share stories that matter

www.gamasutra.com
Title: Gamasutra — The Art & Business of Making Games

medium.freecodecamp.com
Title: freeCodeCamp

hackernoon.com
Title: Hacker Noon — how hackers start their afternoons

www.youtube.com
Title: Donald Knuth (Scientist) on YouTube

geekflare.com
Title: Geek Flare — Web Infrastructure, Web Security & Web Tools.

github.com
Title: The world's leading software development platform

likegeeks.com
Title: Linux, Tutorials, Pentesting, Python and IOS — Like Geeks

blogs.msdn.microsoft.com
Title: MSDN Blogs — Get the latest information, insights, announcements, and news from Microsoft experts and developers in the MSDN blogs.

about.gitlab.com
Title: Code, test, and deploy together with GitLab open source git repo management software | GitLab

fabiensanglard.net
Title: Fabien Sanglard's website: Deep magic explained. Fabien Sanglard's chronicles of software wizardry. Fabien Sanglard's non-blog.

www.pymnts.com
Title: Payments News & Mobile Payments Trends, Consumer Payments News, Financial Technology News | PYMNTS.com

uxdesign.cc
Title: User Experience, Usability, Product Design. Follow the UX Bear.

www.smashingmagazine.com
Title: Smashing Magazine — For Professional Web Designers and Developers

docs.microsoft.com
Title: docs.microsoft.com | Microsoft Docs

blog.wolfram.com
Title: Wolfram Blog: News and Ideas from Wolfram Research

facebook.github.io
Title: Facebook code

blog.cleancoder.com
Title: Clean Coder Blog

learnopengl.com
Title: Learn OpenGL, extensive tutorial resource for learning Modern OpenGL

preshing.com
Title: Preshing on Programming — Jeff Preshing, Canadian computer programmer.

www.linux.com
Title: Linux.com | News for the open source professional

gamedevelopment.tutsplus.com
Title: How To Make and Design Computer Games by Envato Tuts+

bitsofco.de
Title: bitsofcode — Articles on Frontend Development. All articles are written by Ire Aderinokun, Frontend Developer and User Interface Designer.

eli.thegreenplace.net
Title: Eli Bendersky's website

dev.to
Title: dev.to() => The DEV Community

eng.uber.com
Title: Uber Engineering Blog

www.redblobgames.com
Title: Red Blob Games

gamedevelopment.tutsplus.com
Title: How To Make and Design Computer Games by Envato Tuts+

drawings.jvns.ca
Title: julia's drawings

m.signalvnoise.com
Title: Signal v. Noise — Strong opinions and shared thoughts on design, business, and tech. By the makers (and friends) of Basecamp. Since 1999.

martinfowler.com
Title: Martin Fowler — software delivery and consulting company

blog.revolutionanalytics.com
Title: Revolutions — Daily news about using open source R for big data analysis, predictive modeling, data science, and visualization since 2008

slack.engineering
Title: Several People Are Coding — The Slack Engineering Blog

www.percona.com
Title: Percona – The Database Performance Experts

blog.intercom.com
Title: Inside Intercom — Design, Customer Success, & Startup Blog

peteris.rocks
Title: Pēteris Ņikiforovs | peteris.rocks — Software Developer

jpauli.github.io
Title: Welcome to Julien Pauli's page

dzone.com
Title: Programming, Web Development, and DevOps news

#полезные_ссылки #программирование #development #code #IT #science #наука

💡 Physics.Math.Code // @physics_lib
👍387👨‍💻6🔥5😢1
🖥 Какая самая страшная структура данных?

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

Некоторые структуры данных в программировании:

◾️ Списки. Подходят для хранения и обработки упорядоченных данных. Полезны в управлении задачами, лентах соцсетей и корзинах интернет-магазинов.

◾️ Массивы. Упорядоченная коллекция элементов фиксированного размера. Подходят для ситуаций, где размер коллекции известен или редко меняется.

◾️ Стеки. Следуют принципу «последним пришёл — первым вышел». Используются для реализации операций отмены/повтора в текстовых редакторах или ведения истории просмотров в веб-браузерах.

◾️ Очереди. Работают по принципу «первым пришёл — первым вышел». Подходят для управления заданиями печати, отправки действий пользователя в играх на сервер или обработки сообщений в чат-приложениях.

◾️ Деревья. Организуют данные иерархически. Полезны для представления данных с естественными иерархиями или связями.

◾️ Графы. Состоят из узлов (вершин) и рёбер, соединяющих эти узлы. Используются для моделирования сетей, таких как социальные сети, транспортные сети и компьютерные сети.

◾️ Хэш-таблицы. Позволяют эффективно искать, вставлять и удалять данные. Используют хэш-функцию для сопоставления ключей с соответствующими местами хранения и обеспечивают доступ к сохранённым значениям за постоянное время.
#программирование #разработка #структуры_данных #алгоритмы #IT #computer_science

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9222👨‍💻9🙈5🌚43🔥2👻2❤‍🔥1
⌨️ Программирование циклично, дамы и господа? Ваше мнение в комментариях...

👨🏻‍💻 Комментарий одного из наших подписчиков к посту с рассуждением о развитии IT:

... скорее всего тут имелось ввиду то не то чтобы сам код как таковой* а программное обеспечение в целом растёт по сложности, что провоцирует необходимость аппаратной развиваться чтобы адекватно выполнять этот код, и полученные новые вычислительные мощности в свою очередь запускают новую итерацию увеличения фичастости программ, а те в свою очередь опять подгоняют к развитию CPU.

* — не смотря на общераспространенное мнение что в целом программирование сейчас стало топорным: программисты стараются не писать реализацию сами, а прежде всего искать готовое, применять сверхвысокоуровневые и сверхабстрагированные конструкции (тратящие процессорное время) вместо того чтобы написать на Си, а сейчас так еще (что на самом деле возможно плохо для индустрии) - применяют для написания ИИ. И даже есть шутка что "раньше, когда компьютеры были большими, а программисты умными" - вот не смотря на все это и сам код в целом становится лучше, хорошеет, в том плане что тенденция в коде такова что он стремится быть максимально независящим и от аппаратуры и процессоров и от размера данных, а весь необходимый аппаратно-зависимый код стараются максимально минимизировать и изолировать в отельных маленьких модулях.

Яркий пример первые DOS игры которые от аппаратуры зависели на столько что стали не играбельны когда процессоры стали быстрее, тк "физика" в играх зависела не от времени а от частоты процессора.

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


#IT #алгоритмы #computer_science #программирование #наука

💡 Physics.Math.Code // @physics_lib
💯48👍23❤‍🔥146🔥2🤓2🗿2🤷‍♂1
Media is too big
VIEW IN TELEGRAM
⚙️ 7 препятствий и 5 LEGO-роботов, которые умеют шагать

«Стопоходящая машина» — изобретение русского изобретателя и математика Пафнутия Чебышёва. Устройство было представлено на Всемирной выставке в Париже в 1878 году. Особенности стопоходящей машины:
▪️ Преобразовывала вращательное движение в движение по сложной траектории. Ноги машины сначала двигались горизонтально относительно механизма, а потом поднимались и быстро перемещались в исходную точку.
▪️ Из-за сцепления с поверхностью горизонтальное движение приводило к переносу корпуса вперёд.
▪️ Пока две разнесённые по диагонали ноги двигались, две другие оставались неподвижны. Такой ход соответствовал движению лошади или иного четвероногого животного рысью.
▪️ Не могла поворачивать и перемещалась только по прямой.
▪️ Не имела собственного двигателя, поэтому была больше механизмом, чем машиной. Чтобы привести её в движение, необходимо было тянуть за верёвку или подталкивать сзади.

⚙️ LEGO® Technic Строительство мостов: Задача на 100 кг!

🎻 Когда Lego играет на гитаре лучше, чем ты...

⚙️ Lego MindStorm

👾 Что будет, если надолго оставить инженера с конструктором Lego

#техника #конструктор #ARM #программирование #механика #разработка #микроконтроллеры

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥5116👍9🤔7❤‍🔥5
This media is not supported in your browser
VIEW IN TELEGRAM
#️⃣ Обычный поиск VS Квантовый поиск

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

Поисковые алгоритмы, основанные на квантовых прогулках, могут найти применение в различных областях, включая оптимизацию, машинное обучение, криптографию и сетевой анализ. Эффективность и вероятность успеха квантового поиска сильно зависят от структуры пространства поиска. В целом, алгоритмы квантового поиска обеспечивают асимптотическое квадратичное ускорение, аналогичное алгоритму Гровера. Одна из первых работ по применению квантового блуждания к задачам поиска была предложена Нилом Шенви, Джулией Кемпе и К. Биргиттой Уэйли. #математика #math #геометрия #графика #наука #алгоритмы #дискретная_математика #графы #задачи #программирование

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔7551👍34🔥29🤯4🤩1💯1
📜 Математика количества счастливых билетов

Сегодня я закончил работу над расширенной версией этой статьи про счастливые билеты. Рассмотрим куда более серьезную задачу — теорию аналитического моделирования количества счастливых билетов в общем случае для (k = 2n) - значных билетов. Здесь будет всё: математика, рекурсия, рекуррентные соотношения, верхние и нижние оценки, моделирование с помощью Python двумя способами.

🔍 Читать статью полностью ✏️

#задачи #разбор_задач #программирование #информатика #олимпиады

👨🏻‍💻 Репетитор IT mentor // @mentor_it
👍317🔥72🤯2😱1
👨🏻‍💻 Интересная история из нашего чата ( @math_code ), которая может послужить темой для обсуждения нескольких важных вопросов.

▪️ Нужно ли переживать по поводу возраста, в котором вы начинаете изучать Computer Science и программирование в частности? Или силы и знания приходят во время процесса, во время решения и умственной активности, и это не зависит от возраста?

▪️ Нужно ли впадать в депрессию, если что-то долго не получается? Сравнивать себя с другими? Если все вокруг лучше, то неужели нужно бросать это дело? Или же наоборот нужно стремиться быть именно в том коллективе, где ты самый слабый (временно), чтобы был рост?

▪️ Что делать, если не получается решить задачу? Какой алгоритм можно предложить, чтобы научиться вытаскивать себя из таких ситуаций?

▪️ Если вы опытный разработчик, дайте советы начинающим. Именно те советы, которых вам так сильно не хватало на старте вашего обучения. Расскажите про свой опыт, свою историю успеха и неудач. Расскажи про ваш возраст.

📚 Подборка книг по дискретной математике, информатике, алгоритмам

📚 Искусство программирования / The Art of Computer Programming

📚 3 книги по программированию [Никлаус Вирт]

🖥 Какая самая страшная структура данных?

#IT #алгоритмы #computer_science #программирование #наука

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
34👍25🔥8👻32❤‍🔥1🙏1
👨🏻‍💻 Алгоритмическая задачка для наших программистов. Попробуйте самостоятельно написать алгоритм для расчета данного выражения.

💡 Как можно написать алгоритм для общего случая, когда число под самым внутренним корнем равно n ?

✏️ Обсуждаем задачу здесь в комментариях 🔎

#программирование #IT #разработка #computer_science #алгоритмы #задачи #code #разбор_задач #programming #coding

💡 Physics.Math.Code // @physics_lib
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1810🔥6🤔3🤯2🌚1🤗1