Обозначим:
- \( M \) — множество учеников, занимающихся математикой, \( |M| = 18 \)
- \( P \) — множество учеников, занимающихся программированием, \( |P| = 12 \)
- Всего учеников \( N = 30 \)
- Ученики, не занимающиеся ни математикой, ни программированием — 5.
Тогда количество учеников, занимающихся хотя бы одним из этих предметов, равно:
\[ |M \cup P| = N - \text{число учеников, не занимающихся ни одним} = 30 - 5 = 25 \]
Используем формулу для объединения двух множеств:
\[ |M \cup P| = |M| + |P| - |M \cap P| \]
Подставляем значения:
\[ 25 = 18 + 12 - |M \cap P| \]
\[ 25 = 30 - |M \cap P| \]
\[ |M \cap P| = 30 - 25 = 5 \]
Ответ: 5 учеников занимаются и математикой, и программированием.