Визначте, в якому порядку будуть показані файли, якщо обрана сортування за типом (за зростанням).
1) авгдбе 2) авгдеб 3) АБВГД 4) авдбег
1) при сортуванні по типу порівнюються розширення імен файлів
2) при порівнянні використовують коди символів
3) відсутність символу (коли розширення закінчилося) вважається «менше» будь-якого символу, тобто, файл з розширенням к.с. буде знаходитися в списку вище, ніж файли з розширеннями .c1 і .cmd
4) коди цифр розміщуються в таблиці символів раніше, ніж коди букв, тобто, файл з розширенням .с1 буде знаходитися в списку вище, ніж файл з розширенням .сmd
5) тепер можна розподілити імена файлів по розширень
6) залишилася ще одна проблема - вирішити, що робити, якщо розширення збігаються; в цьому випадку в більшості програм для визначеності використовується додаткова сортування по імені, тому файл з ім'ям q12.cpp буде стояти в списку вище, ніж файл qq.cpp (код цифри "1" менше, ніж код букви 'q')
7) в результаті отримуємо
8) таким чином, ми довели, що правильна відповідь - 2.
· Можна забути правильно розставити імена файлів з однаковими розширеннями (невірна відповідь 1)
· Не можна порівнювати числові значення: наприклад, інтуїтивно здається, що файл з розширенням .c10 «більше», ніж файл з розширенням .c2. однак це невірно, тому що код цифри '2' більше, ніж код цифри "1"; тому файл з розширенням .c10 буде стояти в списку вище файлу з розширенням .c2 (при сортуванні по типу в порядку зростання)
· Можна забути, що відсутність коду (ім'я або розширення закінчилося) «менше» будь-якого коду
· Можна забути, що коди цифр менше, ніж коди букв
· Дуже легко через неуважність вибрати не ту відповідь
Ще приклад завдання:
Для групових операцій з файлами здійснюється за допомогою маски імен файлів. Маска являє собою послідовність літер, цифр та інших допустимих в іменах файлів символів, в яких також можуть зустрічатися наступні символи: Символ «?» (Знак питання) означає рівно один довільний символ. Символ «*» (зірочка) означає будь-яку послідовність символів довільної довжини, в тому числі «*» може задавати і порожню послідовність. Визначте, за якою з масок буде обрана зазначена група файлів:
1) розглянемо першу маску * 23 *.? X *. вона вимагає, щоб в імені файлу були стоять поспіль цифри 23 (це є у всіх заданих файлів) і в розширенні зліва від букви «x» був один обов'язковий символ (жодне ім'я файлу не підходить); тому варіант 1 невірний
2) розглянемо другу маску? 23? .x. . вона вимагає, щоб в імені файлу зліва і праворуч від цифр 23 стояло по одному символу (підходить тільки для першого імені файлу, для інших не підходить); тому варіант 2 невірний
3) розглянемо третю маску? 23? .x *. вона не підходить з тих же причин, що і варіант 2
4) розглянемо останню маску * 23 *. . вона вимагає, щоб в імені файлу були стоять поспіль цифри 23 (це є у всіх заданих файлів) і в розширенні було рівно три обов'язкових символу (це теж вірно для всіх імен файлів); тому варіант 4 вірний
5) таким чином, ми довели, що правильна відповідь - 4.