Плитками
Постранично
27 апреля
Необычные работы научной сессии

На международной научно-технической конференции студентов, аспирантов и молодых учёных «Научная сессия ТУСУР» ежегодно представляют сотни докладов. По большей части это работы с такими сложными названиями, как «Проектирование широкополосного буферного усилителя диапазона 8—12 ГГц на основе отечественной 90 нм Si-CMOS-технологии», иногда это захватывающие работы на стыке технологий и медицины или экологии. Но есть среди них и весьма занятные работы, о которых я сейчас расскажу (по материалам конференций 2018—2019 годов).

Ламповый MP3-проигрыватель

Этот проект с корпусом из фанеры, монофоническим однотактным усилителем на лампах 6Ж1П, 6П1П и одноплатным компьютером Raspberry Pi был представлен на конкурсе на лучший проект года среди молодёжного предпринимательства Томска «10К. Идеи для жизни» и выставке молодых учёных «РостUp 2017», где, по заверению авторов, вызвал заинтересованность публики. Заявлено много функций: проигрывание со съёмного носителя и других источников (винилового проигрывателя с предусилителем), онлайн-радио и просто ламповый усилитель.

Читать далее →
23 апреля
Поиск элемента в упорядоченной матрице

В матрице строки и столбцы отсортированы по возрастанию. Нужно найти позиции некоторого элемента, в примере это 100.

\( \begin{matrix} 60 & 64 & 66 & 67 & 71 & 75 & 76 & 77 & 81 & 85 \\ 62 & 70 & 72 & 73 & 77 & 81 & 85 & 89 & 90 & 93 \\ 63 & 71 & 73 & 75 & 79 & 82 & 88 & 93 & 96 & 97 \\ 63 & 81 & 83 & 84 & 86 & 89 & 92 & 96 & 98 & \bf{100} \\ 72 & 84 & 85 & 87 & 89 & 90 & 94 & 97 & 102 & 106 \\ 78 & 85 & 86 & 91 & 94 & 97 & \bf{100} & 101 & 103 & 110 \\ 87 & 90 & 94 & 96 & \bf{100} & 101 & 104 & 108 & 111 & 114 \\ 90 & \bf{100} & 101 & 105 & 106 & 110 & 111 & 113 & 116 & 120 \\ 94 & 103 & 106 & 110 & 111 & 114 & 117 & 121 & 122 & 125 \\ 95 & 111 & 115 & 117 & 119 & 122 & 125 & 127 & 128 & 130 \end{matrix} \)

Число 100 находится в позициях (если считать индексы с нуля): (3, 9), (5, 6), (6, 4) и (7, 1). Как решить такую задачу?

Читать далее →
5 февраля 2019
Как сделать «интерпретатор» кода, как на этом сайте

На этом сайте есть статьи о некоторых алгоритмах сортировки и поиска решений уравнений. В них представлены фрагменты кода, которые пользователь пошагово выполняет, и анимация. Так имитируется работа трассировщика. Функционирование таких «интерпретаторов» строилось на неком допущении, которое значительно усложняло работу с рекурсивными функциями, поэтому до сего момента, например, не были рассмотрены рекурсивные сортировки.

Новое решение строится на промисах и асинхронных функциях async/await. Для примера напишем функцию factorial() для вычисления факториала числа, он определён для целых чисел: \(n!=(n-1)!\times n\), \(0! = 1, 1! = 1\).

Вызывать функцию будем по нажатию на кнопку с идентификатором start.

$('#start').click(async () => {
    buttonPromise = makeButtonPromise();
    const n = 5;
    const result = await factorial(n);
    // ...
});

Читать далее →
28 августа 2018
Живое место

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

На сайте «ВКонтакте» в левой части страницы находится широкая полоса, которая работает кнопкой «Наверх».

Читать далее →
5
4 3 2 1
© MMXIMMXX
Светлая тема / тёмная тема