Ответ:
Решение:
Сравним маски по их ёмкости (количеству файлов, которые они могут объединять):
- 1.
par*t*q.c*m: `*` может означать любое количество символов (включая ноль). - 2.
par?t??q.c?m: `?` означает ровно один любой символ. - 3.
?*??q.*m: Здесь `*` тоже означает любое количество символов, но `?` ограничено. - 4.
art?*q.c*m: Здесь тоже используется `*` для обозначения любого количества символов.
Наиболее ограничивающей маской является та, где используется максимальное количество `?`, так как `?` заменяет ровно один символ. Маска с `*` является наиболее широкой, так как `*` может заменить ноль символов.
Оценим, сколько файлов может объединить каждая маска:
- Маска 2 (
par?t??q.c?m) — самая специфичная, так как `?` заменяет ровно один символ, и их много. - Маска 1 (
par*t*q.c*m) — менее специфична, чем 2, т.к. `*` может быть 0 символов. - Маска 4 (
art?*q.c*m) — похожа на 1, но с двумя `` подряд, что тоже достаточно широко. - Маска 3 (
?*??q.*m) — самая широкая, так как `*` может заменить ноль символов, а `?` лишь один, но `*` стоит после `?` и перед `q` и в расширении.
По порядку увеличения количества объединяемых файлов:
- Маска 2 (
par?t??q.c?m) — из-за максимального количества `?` (3 шт.). - Маска 1 (
par*t*q.c*m) — `*` (3 шт.) - Маска 4 (
art?*q.c*m) — `?` (1 шт.) и `*` (3 шт. подряд) - Маска 3 (
?*??q.*m) — `?` (2 шт.) и `*` (2 шт.)
Пересмотрим порядок, учитывая, что `*` может заменить 0 символов:
Наиболее ограничивающие (меньше файлов):
2. par?t??q.c?m— 3 `?`, каждое по 1 символу.4. art?*q.c*m— 1 `?` (1 символ) + 3 `*` (могут быть 0 символов).1. par*t*q.c*m— 3 `*` (могут быть 0 символов).3. ?*??q.*m— 2 `?` (2 символа) + 2 `*` (могут быть 0 символов).
Сравнивая 1 и 3:
1: `par` + `*` + `t` + `*` + `q.c` + `*` + `m`
3: `?` + `*` + `??` + `q.` + `*` + `m`
Считаем, что `*` заменяет большее количество символов, чем `?` (0 или более против 1).
Порядок от наименее объединяющей к наиболее объединяющей:
- 2 (максимум `?`)
- 4 (1 `?` + 3 `*`)
- 1 (3 `*`)
- 3 (2 `?` + 2 `*`)
Проверим еще раз:
- 2.
par?t??q.c?m: `par` + 1 символ + `t` + 2 символа + `q.c` + 1 символ + `m`. Фиксированная длина именной части 3+1+1+2+3+1 = 11 символов. - 4.
art?*q.c*m: `ar` + любое кол-во (``) + `t` + 1 символ + `*` + `q.c` + любое кол-во (`*`) + `m`. Шире, чем 2. - 1.
par*t*q.c*m: `par` + любое кол-во (`*`) + `t` + любое кол-во (`*`) + `q.c` + любое кол-во (`*`) + `m`. Шире, чем 4 (меньше фиксированных символов). - 3.
?*??q.*m: 1 символ + любое кол-во (`*`) + 2 символа + `q.` + любое кол-во (`*`) + `m`. Самая широкая.
Значит, порядок увеличения объединяемых файлов:
- 2
- 4
- 1
- 3
