Практика: алгоритмы и стандартная библиотека C++

В последнее время тут редко появляются посты, так как мы пытаемся количество перевести в качество. В частности: из разрозненных материалов по С++ собираем что-то типа учебника для начинающих (сейчас готовы только первые 4 урока); учебник для продолжающих должен содержать наиболее актуальную информацию, но такая информация встречается только на конференциях. Собирая материалы мы пишем аннотации и …

Учебник: объектно-ориентированное программирование

Введение Почти все популярные языки программирования являются объектно-ориентированными. В таблице приведены данные о популярности языков (рейтинг TIOBE) за сентябрь 2019 года [1]: Не являются объектно-ориентированными лишь 20% — это языки программирования аппаратуры (Си, Assembly language), декларативный язык программирования баз данных (SQL) и визуальный язык MATLAB. Не удивительно, что почти в каждом описании вакансии программиста требуется …

Разработка игры Пазлы на С++ для Android

В статье описывается разработка очередной игрушки на С++, Qt для Android. В игре вы можете собирать пазлы из своих собственных картинок (любых изображений, имеющихся на телефоне). Приложение с открытым исходным кодом, без рекламы, весит 8-10 Мб. Можно загрузить с google play, а можно — посмотреть исходники. Трудно закончить первое приложение. Дальше процесс идет проще, так …

Разбор теста по STL (std::list)

Если вдруг вы еще не прошли тест — рекомендую это сделать перед чтением разбора: ссылка. В настоящий момент тест пройден слишком маленьким количеством человек чтобы делать выводы, однако гистограмму приведу: Предсказуемо, проваливают чаще всего 6 вопрос — ответ на него отличается для C++11 и C++98. Причем, в новом стандарте функция стала работать хуже. В тесте …

Учебник: Регулярные выражения (regular expressions)

Все мы используем поиск по строкам. Это касается не только программистов, но и любых бабушек, работающих с компьютером. При этом, одни люди страдают, а другие — используют регулярные выражения. Пара ситуаций для привлечения интереса: Вы пишете программу, в которой обрабатываются номера телефонов, допустим в формате +7(ххх)ххх-хх-хх. Возможно их надо найти в тексте, а может быть …

Разбор теста по STL (std::vector)

test_stl_results_1

Итак, решаемая в тесте задача сформулирована следующим образом: дан вектор целых чисел, необходимо вставить значение «0» перед каждым нечетным числом. Пусть, у нас уже есть такая функция: bool is_odd(int value) { return value % 2; } Предложено несколько вариантов решения, каждое из которых предлагается оценить по двум критериям — корректность результата и трудоемкость вычислений. При …

Разработка казуальных игр с помощью Qt Framework

Содержание: Что нужно для выпуска игры? Чужой негативный опыт. Как не потратить время впустую? Мой личный опыт Чужой позитивный опыт Qt и мобильная разработка Заготовки для мобильной разработки игр с помощью Qt Список использованной литературы 1 Что нужно для выпуска игры? В этом разделе описано почему я предлагаю использовать Qt Framework. Многие хотят разрабатывать игры, …

Основы технологии MPI на примерах

MPI_Reduce_and_Bcast_efficiency

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

Учебник по OpenMP

openmp_architectude

Содержание: Вычислительные системы. Идеология OpenMP Синхронизация — критические секции, atomic, barrier Разделение задач между потоками Параллельный цикл Параллельные задачи (parallel tasks) Параллельные секции Заключение и дополнительная литература OpenMP — это библиотека для параллельного программирования вычислительных систем с общей памятью (дальше кратко описано что это за системы). Официально поддерживается Си, С++ и Фортран, однако можно найти …

Примеры анализа сложности алгоритмов

algorithm_example_4_5

Содержание: Еще одна статья по анализу алгоритмов? Пример 1 Пример 2 Пример 3 Пример 4 Пример 5 Заключение и дополнительная литература Еще одна статья по анализу алгоритмов? Давным давно я написал статью, в которой была параллельная реализация алгоритма быстрой сортировки [1]. По ней я получил обратную связь. Одни ребята написали мне, что быстрая сортировка будет …

×