Допускается ли в коде смешивать парадигмы программирования?
- ООП
- Функциональное
- Процедурное
- Структурное
Это во первых - устаревшие понятия. Все из 20-го века. Сегодня они почти не актуальны. 

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

В современном программировании практикуется конвенция которая принята в команде. Вот придете на проект и вам покажут как пишушт все. И будете так писать. Никто не будет упарываться по поводу трушности ООП или еще чего-то. А в техническом задании от бизнеса вообще ничего не будет на тему стиля кодирования. Там будут описаны просто требования по бизнес-кейсам.
Структурное программирование никакого отношения к объявлению структуры не имеет.