Рубрика «циклы»

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

Индексация последовательностей

В языке Python достаточно удобно реализована индексация последовательностей. Мы легко можем обращаться к элементам последовательности от началаЧитать полностью »

Стояла задача: реализовать хранение и работу каталога папок в PostgreSQL. В процессе изучения темы наткнулся на большое количество материалов, которые задачу решали, но делали это без уважения выглядели не лаконично, нарушали прозрачность выполняемых операций, вызывали блокировки, требовали бОльшего вовлечения клиента в специфику работы и т.д. Потому задался целью: реализовать хранение древовидных структур (в общем виде) без использования триггеров, блокировок, дополнительных таблиц (представлений) и внешних инструментов в PostgreSQL (версии 16).

Словарь:
узел - запись в бд, которая рассматривается как узел дерева
Читать полностью »

Это цикл статей об оптимизирующих компиляторах вообще и LLVM в частности. Смотри все статьи данного цикла:

  1. SSA форма

  2. Доминирование

  3. Неопределённое поведение

  4. Циклы

  5. CSE

  6. Цикловые инварианты

  7. Проверки диапазонов

  8. Размотка циклов

Читать полностью »

Настоящая статья продолжает тему предыдущей работы (https://habr.com/ru/post/560266/Читать полностью »

Это короткая статья для новичков. Наверняка вы знаете, что в пайтоне для циклов for и while предусмотрен блок else. И с этим блоком возникает много путаницы, потому что его действие на первый взгляд не интуитивно. Приходится тратить немного времени или заглядывать в документацию каждый раз, когда он встречается:

for f in files:
    if f.uuid == match_uuid:
        break
else:
    raise FileNotFound()

Когда будет исключение: когда файл не найден? Когда найден? Когда список пуст? На этот вопрос сложно ответить, потому что блок else находится на одном уровне с блоком for и кажется, что это какое-то условие, относящиеся к самому списку; например, когда for не нашел ни одной записи. Но достаточно знать главный секрет блока else для циклов, чтобы больше никогда не терять на это время:

Читать полностью »

Недавно я написал своё первое интро 4K на Rust и представил его на Nova 2020, где оно заняло первое место в конкурсе New School Intro Competition. Написать интро 4K довольно сложно. Это требует знания многих различных областей. Здесь я сосредоточусь на методах, как максимально сократить код Rust.

Можете просмотреть демо-версию на Youtube, скачать исполняемый файл на Pouet или получить исходный код с Github.
Читать полностью »

в 14:30, , рубрики: ajax, ASCII, C#, c++, clang, computer, computer science, cs50, cs50 на русском, CS50 на русском языке, css, david, David J. Malan, dom, gdb, harvard, html, http, IP, java, javascript, malan, mvc, onlineuniver, php, return, rsa, science, Scratch, sql, tcp, Алгоритмы, аргументы командной строки, асимптотическая нотация, библиотеки, Бинарная нотация, бинарный поиск, Булевые выражения, быстрая сортировка, видеокурс, Гарвард, глобальные переменные, деревья, Дополнительные видео, Компиляторы, компьютерные науки, линейный поиск, массивы, методы, область видимости, обучение, основы программирования, очереди, переменные, приведение типа, приоритетность, Программирование, программист, рекурсивные деревья, рекурсия, связные списки, символьные строки, сортировка вставками, сортировка выбором, сортировка пузырьком, сортировка слиянием, стили, структуры, технологии, указатели, условия, хеш-таблицы, циклы, шифр, языки программирования

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

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

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

image

Читать полностью »

image

Этот топик продолжает серию моих статей на Хабре, посвященных исследованию аттрактора Лоренца.

Часть 1. Критический взгляд на аттрактор Лоренца
Часть 2. Динамическая система Лоренца и вычислительный эксперимент
Часть 3. О существовании периодических решений в системе Лоренца
Часть 4. Три цикла в аттракторе Лоренца

Итак, рассмотрим нелинейную систему дифференциальных уравнений, введенную Эдвардом Лоренцом в 1963 году:

$ (1)left{ begin{array}{l} dot{x}=sigma(y-x),\ dot{y}=rx-y-xz,\ dot{z}=xy-bz, end{array}right. $

где

$sigma=10,:r=28,:b=8/3:-$

классические значения параметров системы.Читать полностью »

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

Инфографика:

Стоимость операций в тактах ЦП - 1

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

image

Изучая иностранную литературу, на днях наткнулся на работы [1, 2] профессора Мичиганского университета Дивакара Вишваната (Divakar Viswanath) об итерационном алгоритме вычисления периодических орбит динамических систем, основанном на методе Линдштедта-Пуанкаре (ЛП) (для ознакомления с ним рекомендую книгу [3, с. 408-411]). Преимуществом данного метода является то, что он не требует численного интегрирования дифференциального уравнения, поэтому может быть применён к построению и неустойчивых циклов. Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js