Ответы пользователя по тегу Программирование
  • Как сложить оцифрованные аудиосигналы?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Вы бы уточнили с какой целью вы суммируете сигналы. По идее надо перед суммированием нормализовать сигналы относительно того, у которого максимальная амплитуда, но тут возможен вариант, что последний будет "давить" все остальные (поэтому звук видимо тихий). Еще как вариант указать порог и ограничить амплитуду перед нормализацией или как-то по-другому "подавить" всплески.
    Другой путь использовать масштабирующий коэффициент зависящий от важности сигнала в общей сумме, т.е. нормализуем сигналы и умножаем на этот коэффициент.
    В общем, попробуйте замоделировать эти процессы в Matlab simulink.
    Ответ написан
  • Чем реально полезным можно заняться школьнику знающему программирование?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Направлений много, но думаю для начала попробовать себя на фрилансе и выполнить десяток проектов.
    Если есть время, можно попробовать сделать для школы какие-нибудь проекты, типа моделирования физических процессов в 3D для физики или интерактивную звездную карту для астрономии и т.д.
    Ответ написан
  • Путь далее. С++ или ...?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Если вы начали изучать с++, то зачем метаться? Раз начали, то изучите как язык, так и библиотеки STL и Boost. Я в свое время начинал с с++, а потом без проблем перешел на c#, хотя с тем же успехом мог на Java, но так исторически сложилось. Даже сейчас иногда приходится сталкиваться с Java и это не вызывает сложностей, если знаешь как это работает.
    Ответ написан
    Комментировать
  • Как сделать сохранения в игре?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Много средств, но вот какое из них использовать зависит от задачи. Из вашего вопроса не совсем понятны детали, какой объем информации надо сохранять, как часто инф. будет сохраняться и т.п.
    Для сохранения можно использовать:
    - потоки и напрямую писать бинарные или текстовые данные в файл, наверное самый быстрый способ, но могут возникнуть проблемы с доступом, если файл будет открыт в монопольном режиме или запись будет осущ. из нескольких потоков;
    - сериализация объектов в xml, json, более медленный способ (хотя по сути все та же запись на диск), но реализуется проще, чем создавать свою структуру данных для хранения;
    - сохранение в БД (sqlite и Ко);
    - сохранение на сервере, но тут еще куча способов.

    Могу посоветовать, взять лист бумаги и карандаш, и попробовать формализовать ваши мысли на бумаге.
    Ответ написан
    4 комментария
  • Как написать следующее приложение?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Думаю вам надо сначала понять, что вы хотите получить в итоге.
    Если программа будет работать на одном ПК, то возможно стоит посмотреть в сторону SQLite, при этом для установке на др. компьютер вам надо будет просто скопировать папку с проектом.
    Если подразумевается многопользовательский доступ, то тут есть несколько вариантов:
    - клиент-sql server;
    - клиент-сервер-sql server;
    Преимущества и недостатки обоих методов можно будет посмотреть в интернете.

    Далее, если вы планируете в дальнейшем развивать проект, то стоит задуматься об архитектуре и условно разделить приложение на несколько уровней:
    - Уровень работы с БД или DAL (тут нужно и использовать ORM);
    - Уровень бизнес-логики или BLL, на этом уровне уже выполняться все проверки и обеспечение правильной логики работы;
    - Уровень представления, тут уже можете отображать данные, вводить данные и т.п. с помощь WPF, ASP.NET, Winform.

    Ну если вы решите использовать трехзвенную структуру, то еще думаю стоит посмотреть WCF.

    Советую почитать книгу Применение DDD и шаблонов проектирования
    Ответ написан
  • Что лучше использовать, что бы определить различность изображений?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Тут как я вижу два подхода использовать EMGU (openCV) или реализовывать алгоритм самостоятельно, как вариант использовать корреляционную функцию или FFT, а также можно использовать нейронные сети. Если изображений много и время на их обработку критично, то использование с++ + OpenCv более предпочтительней, хотя и сложней, но производительность тут существенно выше. Ну и в качестве экзотики использовать для этого DSP или ПЛИС
    Ответ написан
    3 комментария
  • Зачем разбивать код на функции, если код короткий (~30 строчек) и нет повторяющегося кода?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Если это один криво-корявый, но работающий проект, о котором вы забутите сразу после сдачи, то можете не париться. И если вы занимаетесь только созданием такого рода проектами, то можете не читать дальше и не тратить свое время.
    А вот если проект нужно будет поддерживать (по опыту могу сказать, что выполняет та или иная функция забывается уже через месяц) или над ним работают другие люди, или вы хотите уйти спокойно в отпуск, в котором вы не хотите что бы вас тревожили, то лучше конечно же писать так, чтобы в функции выполнялась одна операция или по крайней мере если их несколько, то это как-то должно отражаться в ее названии и конечно же она должна быть задокументирована (практически все IDE позволяют это делать без особого напряга).
    Хороший код легко читается и понимается, а самое главное на добавление (изменение, удалении) новой функции в нем тратится гораздо меньше времени, чем в криво-корявом коде.

    Конечно криво-корявый код используется повсеместно и может без проблем работать годами, до тех пор пока не надо что-то поменять ...
    Ответ написан
  • Не знаю математики и английского, с чего начать обучение программированию?

    alexsandr0000
    @alexsandr0000
    Программист C#/C++/C
    Думаю лучше начать с C#, там порог вхождения небольшой и проще разобраться с столпами ООП. Потом по мере изучения уже углубляться в с/с++. И еще рекомендую купить (взять в библиотеке) пару книг по C# и поучить теорию, по крайней мере в объеме начинающего программиста (типы данных, синтаксис и т.п.)
    Ответ написан
    Комментировать