/
AlexStone
/
Java25sep
Обзор
Документация
Войти
/
AlexStone
/
Java25sep
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
java/tasks 25.html
1 625 строк
87 KB
unknown
КР 05.11.25
05 ноя 2025, 09:55
05 ноя 2025, 09:55
4a942c9
Код
Авторство
О чём код?
<!DOCTYPE html><html lang="ru"><head><meta charset='utf-8'/><title>25 Коллекции</title><style>.check_single { margin:15px; border:1px solid black; padding:5px; width:calc(100% - 40px); } sqrt val { border-top: 1px solid black; } sqrt:before { content:"\221A"; } .section { counter-reset:section; } .section h3:after { counter-increment:section; content: " " counter(section); } table { border-collapse:collapse; } .check_values, .check_values_v2 { width:100%; counter-reset:test_case; } .check_values td:first-child::before { counter-increment:test_case; content: counter(test_case); } table td, table th { border:1px solid black; text-align:center; } .check_values td:first-child, .check_values_v2 td:first-child{ width:40px; } .check_values td, .check_values_v2 td { max-width: 450px; } .lab_nav ol { list-style:none; } .nav { position:fixed; top:0; right:0; margin:15px; clear:both; } .nav ul{ list-style-type:none; padding:0; float:left; } .nav li { margin:2px; border:1px solid black; } .nav li a { display:block; padding:7px; } .task_block { width:80%; page-break-inside:avoid; padding:10px; display:block; } .task_block:target{ background-color:lightgrey; } .task_block:target .task_id{ color:white; } .task_id { float:right; color:lightgrey; } .quiz_block { width:80%; } .quiz_block:target{ background-color:lightgrey; } .task_desc { margin:5px; } .example_image { width:200px; } .lab_nav { width:80%; overflow:auto; } .check_values .preformatted, .preformatted { font-family:monospace; white-space-collapse:preserve; white-space:pre; text-wrap:pretty; text-align:left; padding:10px; } .stream_values tr td:nth-child(3) { border-top-width:0; border-bottom-width:0; text-align:left; } .stream_values tr:nth-child(2) td:nth-child(2) { border-top-width:0; border-bottom-width:0; text-align:right; } .stream_values tr td:nth-child(1){ border-top-width:0; border-bottom-width:0; text-align:right; } .stream_values tr.test_row td:nth-child(2){ text-align:right; } .stream_values tr td:nth-child(2){ border-top-width:0; border-bottom-width:0; text-align:left; } .stream_values .preformatted{ padding: 0; } .stream_values tr.test_row td { border-top-width:1px; } .stream_values tr.test_row td:first-of-type { border-top-width:1px; border-bottom-width:1px; text-align:center; width:15px; } .stream_values tr:last-of-type td { border-bottom-width:1px; } .stream_values { width:100%; } formula { font-weight:bold; text-align:center; vertical-align:middle; } fraction { display:inline-block; text-align:center; vertical-align:middle; font-weight:bold; } formula .abs{ border-left: solid black 1px; border-right: solid black 1px; padding: 2px; } numerator { display:block; border-bottom:2px solid black; } denominator { display:block; } .comment{ color:darkgrey; } .step{ display:none; } .step:last-child, .step:target{ display:block; } .step:target ~ .step:last-child{ display:none; } .console{ background-color:black; color:white; width:300px; } .zoom{ background-color:lightgrey; font-size:40pt; padding:0 10px; } .task_block:target .zoom { background-color:white; }</style><meta name="author" content="Подборка задач, выбор порядка подачи и подготовка тестовых данных - Крюков Александр, Омск 2013-2019"/></head><body class='section'><a name='heading'><h1>Коллекции</h1></a><div class='lab_nav'>Другие темы<ol> <li>1 <a href='tasks 1.html'>Печать текста на экран</a></li> <li>2 <a href='tasks 2.html'>Заполнение шаблона данными от пользователя</a></li> <li>3 <a href='tasks 3.html'>Организация вычислений</a></li> <li>4 <a href='tasks 4.html'>Проверка исходных данных</a></li> <li>5 <a href='tasks 5.html'>Запуск программы с известными исходными данными</a></li> <li>6 <a href='tasks 6.html'>Взаимоисключающие случаи</a></li> <li>7 <a href='tasks 7.html'>Работа с интервалами значений</a></li> <li>8 <a href='tasks 8.html'>Реорганизация повторяющихся действий</a></li> <li>9 <a href='tasks 9.html'>Обработка неизвестного объема данных</a></li> <li>10 <a href='tasks 10.html'>Вложенные циклы</a></li> <li>11 <a href='tasks 11.html'>Базовые операции с массивами</a></li> <li>12 <a href='tasks 12.html'>Перестановки элементов массива</a></li> <li>13 <a href='tasks 13.html'>Использование числовых массивов</a></li> <li>14 <a href='tasks 14.html'>Вычисление агрегатов</a></li> <li>15 <a href='tasks 15.html'>Поиск в массиве</a></li> <li>16 <a href='tasks 16.html'>Сортировка вставкой</a></li> <li>17 <a href='tasks 17.html'>Строки</a></li> <li>18 <a href='tasks 18.html'>Чтение файлов</a></li> <li>19 <a href='tasks 19.html'>Запись в файлы</a></li> <li>20 <a href='tasks 20.html'>Возврат значения</a></li> <li>21 <a href='tasks 21.html'>Перехват исключений</a></li> <li>22 <a href='tasks 22.html'>Выбрасывание исключений</a></li> <li>23 <a href='tasks 23.html'>Составные типы данных</a></li> <li>24 <a href='tasks 24.html'>Внутреннее состояние</a></li> <li>25 <a href='tasks 25.html'>Коллекции</a></li> <li>26 <a href='tasks 26.html'>Рекурсия</a></li> <li>27 <a href='tasks 27.html'>Даты</a></li> <li>28 <a href='tasks 28.html'>Комбинаторика</a></li> <li>29 <a href='tasks 29.html'>SQL СУБД</a></li> <li>30 <a href='tasks 30.html'>Псевдослучайные числа</a></li> <li>31 <a href='tasks 31.html'>Реализация стандартных интерфейсов</a></li> </ol></div><div class='nav'><ul><li><a href='#heading'>^</a></li><li><a href='#task5087' class='example'>1*</a><li><a href='#task3305'>2</a><li><a href='#task8317'>3</a><li><a href='#task4568' class='example'>4*</a><li><a href='#task9990'>5</a><li><a href='#task1056' class='example'>6*</a><li><a href='#task7738'>7</a><li><a href='#task7657'>8</a><li><a href='#task5108'>9</a><li><a href='#task7940'>10</a><li><a href='#task3146'>11</a></ul><ul><li><a href='#task9092'>12</a><li><a href='#task6590'>13</a><li><a href='#task3956' class='example'>14*</a><li><a href='#task6876'>15</a><li><a href='#task2033'>16</a><li><a href='#task6981'>17</a><li><a href='#task1753'>18</a></ul></div><div id='task5087' class='task_block'> <div class='task_id'>5087</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит 4 фрагмента текста. Все эти фрагменты нужно хранить в памяти. Когда пользователь закончит вводить данные, нужно напечатать на экран все фрагменты, которые пользователь вводил ранее. </div> <table class='stream_values'> <tr><th>Номер теста</th><th>Исходные данные</th><th>Результат</th></tr> <tr class='test_row'><td rowspan='5'>1</td><td>one </td><td> </td></tr> <tr><td>two </td><td> </td></tr> <tr><td>three </td><td> </td></tr> <tr><td>three </td><td> </td></tr> <tr><td></td><td class='preformatted'>one two three three </td></tr> <tr class='test_row'><td rowspan='5'>2</td><td>five </td><td> </td></tr> <tr><td>six </td><td> </td></tr> <tr><td>seven </td><td> </td></tr> <tr><td>six </td><td> </td></tr> <tr><td></td><td class='preformatted'>five six seven six </td></tr> </table> <div class='task_desc'> Чтобы пользоваться коллекцией, нужно импортировать её класс. Для этого в начале файла добавьте команду: </div> <div class='check_single preformatted'>import java.util.ArrayList;</div> <div class='task_desc'> Если в начале файла у вас присутствует команда package, значит команду импортирования нужно написать строкой ниже. </div> <div class='task_desc'> Тело метода main: </div> <div class='check_single preformatted'>Scanner s = new Scanner(Systemin); ArrayList<String> fragments;//объявляю переменную для хранения листа строк fragments = new ArrayList<>();//создаю экземпляр класса листа String line = s.nextLine(); fragments.add(line);//добавляю элемент в лист line = s.nextLine(); fragments.add(line); line = s.nextLine(); fragments.add(line); line = s.nextLine(); fragments.add(line); //печать элементов листа на экран int i = 0; while (i < fragments.size()) {//ограничение цикла - количество элементов в листе System.out.print(fragments.get(i) + " ");//печатаю элемент листа на экране i = i + 1; } </div> </div> <div id='task3305' class='task_block'> <div class='task_id'>3305</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит два целых числа first и second. Нужно сформировать лист, содержащий все целые числа между указанными по возрастанию. Числа, которые ввёл пользователь, нужно добавить в лист. </div> <ol start='1'><li>В файле с классом Library импортируйте классы: "java.util.ArrayList".</li><li>В классе Library реализуйте публичный статический метод task3305.</li><li>Он принимает в качестве аргумента 2 целых числа и возвращает ArrayList целых чисел.</li></ol><table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>first</th><th>second</th></tr> <tr> <td>1</td><td>0</td><td>10</td><td class='preformatted'>0 1 2 3 4 5 6 7 8 9 10 </td></tr> <tr> <td>2</td><td>11</td><td>2</td><td class='preformatted'>2 3 4 5 6 7 8 9 10 11 </td></tr> <tr> <td>3</td><td>-3</td><td>4</td><td class='preformatted'>-3 -2 -1 0 1 2 3 4 </td></tr> <tr> <td>4</td><td>-100</td><td>100</td><td class='preformatted'>-100 -99 -98 -97 -96 -95 -94 -93 -92 -91 -90 -89 -88 -87 -86 -85 -84 -83 -82 -81 -80 -79 -78 -77 -76 -75 -74 -73 -72 -71 -70 -69 -68 -67 -66 -65 -64 -63 -62 -61 -60 -59 -58 -57 -56 -55 -54 -53 -52 -51 -50 -49 -48 -47 -46 -45 -44 -43 -42 -41 -40 -39 -38 -37 -36 -35 -34 -33 -32 -31 -30 -29 -28 -27 -26 -25 -24 -23 -22 -21 -20 -19 -18 -17 -16 -15 -14 -13 -12 -11 -10 -9 -8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 </td></tr> </table> <h4>Проверьте с помощью вспомогательной программы</h4> <div class='check_single preformatted'>int first = Integer.parseInt(firstValue); int second = Integer.parseInt(secondValue); ArrayList<Integer> result = task3305(first, second); int i = 0; while (i < result.size()) { System.out.print(result.get(i) + " "); i = i + 1; } </div> </div> <div id='task8317' class='task_block'> <div class='task_id'>8317</div> <h3>Задача</h3> <div class='task_desc'> Дано положительное целое число X. Нужно найти все его делители. </div> <ol start='1'><li>В файле с классом Library импортируйте классы: "java.util.Arrays","java.util.ArrayList".</li><li>В классе Library реализуйте публичный статический метод task8317.</li><li>Он принимает в качестве аргумента 1 целое число и возвращает ArrayList целых чисел.</li><li>В теле метода task8317 в случае получения некорректных значений аргументов, нужно выбросить исключение IllegalArgumentException и указать при этом текст ошибки из задачи.</li></ol><h4>Проверьте результат работы метода с помощью вспомогательной программы</h4> <div class='task_desc'> Пользователь вводит бесконечное количество чисел. После ввода каждого числа нужно напечатать его делители. При возникновении исключения, напечатайте на экран сообщение об ошибке и продолжите работу программы. </div> <table class='stream_values'> <tr><th>Номер теста</th><th>Исходные данные</th><th>Результат</th></tr> <tr class='test_row'><td rowspan='10'>1</td><td>6 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Делители числа 6: 1 2 3 6 </td></tr> <tr><td>385 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Делители числа 385: 1 5 7 11 35 55 77 385 </td></tr> <tr><td>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Делители числа 1: 1 </td></tr> <tr><td>0 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Делители числа 0: Значение X должно быть неотрицательным </td></tr> <tr><td>-9 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Делители числа -9: Значение X должно быть неотрицательным </td></tr> </table> </div> <div id='task4568' class='task_block'> <div class='task_id'>4568</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит 4 фрагмента текста. В памяти нужно хранить только различные фрагменты из всех, которые пользователь ранее вводил. </div> <table class='stream_values'> <tr><th>Номер теста</th><th>Исходные данные</th><th>Результат</th></tr> <tr class='test_row'><td rowspan='5'>1</td><td>red </td><td> </td></tr> <tr><td>green </td><td> </td></tr> <tr><td>red </td><td> </td></tr> <tr><td>green </td><td> </td></tr> <tr><td></td><td class='preformatted'>red green </td></tr> <tr class='test_row'><td rowspan='5'>2</td><td>red </td><td> </td></tr> <tr><td>red </td><td> </td></tr> <tr><td>blue </td><td> </td></tr> <tr><td>blue </td><td> </td></tr> <tr><td></td><td class='preformatted'>red blue </td></tr> <tr class='test_row'><td rowspan='5'>3</td><td>a </td><td> </td></tr> <tr><td>a </td><td> </td></tr> <tr><td>a </td><td> </td></tr> <tr><td>a </td><td> </td></tr> <tr><td></td><td class='preformatted'>a </td></tr> </table> <div class='task_desc'> Уникальность элементов достигается за счет использования HashSet. </div> <div class='task_desc'> В начале файла добавьте команду: </div> <div class='check_single preformatted'>import java.util.HashSet; </div> <div class='task_desc'> Тело метода main: </div> <div class='check_single preformatted'>Scanner s = new Scanner(Systemin); HashSet<String> fragments; //объявляю переменную для хранения множества строк fragments = new HashSet<>();//создаю экземпляр класса множества String line = s.nextLine(); fragments.add(line);//добавляю элемент во множество line = s.nextLine(); fragments.add(line); line = s.nextLine(); fragments.add(line); line = s.nextLine(); fragments.add(line); //печать элементов множества на экран //из за того, что к элементам нельзя обращаться по индексу, // нужно использовать специальный синтаксис цикла for (String item : fragments) { System.out.print(item + " "); } </div> </div> <div id='task9990' class='task_block'> <div class='task_id'>9990</div> <h3>Задача</h3> <div class='task_desc'> Файл с исходными данными содержит фрагменты текста, написанные в столбик без дополнительного оформления. Нужно вывести слова через запятую без повторений. Порядок слов может отличаться. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (filename)</th><th>Результат</th></tr> <tr><td>1</td><td><a href="files/task9990/test1.txt" target="_blank">открыть в новой вкладке<br>files/task9990/test1.txt</a></td><td class='preformatted'>сталь, алюминий, золото, ртуть, медь, железо </td></tr> <tr><td>2</td><td><a href="files/task9990/test2.txt" target="_blank">открыть в новой вкладке<br>files/task9990/test2.txt</a></td><td class='preformatted'>пластик, полиэтилен, полистирол, пенопласт, пластмасса, поролон </td></tr> <tr><td>3</td><td><a href="files/task9990/test3.txt" target="_blank">открыть в новой вкладке<br>files/task9990/test3.txt</a></td><td class='preformatted'>Файл не найден C:\Users\adm\IdeaProjects\programming-basics\src\files\task9990\test3.txt </td></tr> <tr><td>4</td><td><a href="files/task9990/test4.txt" target="_blank">открыть в новой вкладке<br>files/task9990/test4.txt</a></td><td class='preformatted'>два, один, три, четыре </td></tr> </table> </div> <div id="task1056" class="task_block empty_on_print"> <div class="task_id">1056</div> <h3>Задача</h3> <div class="task_desc">Дан массив строк. Посчитать сколько раз встречается каждый из элементов. Элементы в результате должны присутствовать не более одного раза. Порядок вывода может отличаться.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Вводимые данные</th> <th>Результат</th> </tr> <tr> <td></td> <td>a s d f a s a</td> <td class="preformatted">a 3 s 2 d 1 f 1</td> </tr> <tr> <td></td> <td>as as df df gh gh</td> <td class="preformatted">gh 2 as 2 df 2</td> </tr> </table> </div><div class="task_block" id="task7738"> <div class="task_id">7738</div> <h3>Задача</h3> <div class="task_desc">Исходный файл содержит слова, написанные в столбик без дополнительного оформления. Нужно вывести слово, которое встречается чаще других. Если таких слов несколько, вывести любое из них.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Содержимое файла</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task7738/test1.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">алюминий</td> </tr> <tr> <td></td> <td><a href="files/task7738/test2.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">пластмасса</td> </tr> <tr> <td></td> <td><a href="files/task7738/test3.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task7738/test4.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Любое из: один, два, три, четыре</td> </tr> </table> </div><div class="task_block" id="task7657"> <div class="task_id">7657</div> <h3>Задача</h3> <div class="task_desc">Файлы с исходными данными содержат информацию точках в формате CSV с разделителем ";"(<a href="https://ru.wikipedia.org/wiki/CSV" target="_blank">справка в новой вкладке</a>). О каждой точке известны ее координаты X и Y, а также цвет. Точка уникально идентифицируется координатами X и Y. Например "0;0;yellow" считается дубликатом точки "0;0;green". Нужно учитывать последний из дубликатов точек. Вывести информацию о каждой уникальной точке и посчитать количество ее дубликатов. Отдельно вывести количество ошибочных записей.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Содержимое файла</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task7657/test1.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">{"x":1, "y":2, "color":"violet"} Замен:9 {"x":1, "y":3, "color":"blue"} Замен:2 {"x":0, "y":3, "color":"cyan"} Замен:3 Некорректных записей: 0</td> </tr> <tr> <td></td> <td><a href="files/task7657/test2.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">{"x":2, "y":2, "color":"orange"} Замен:1 {"x":1, "y":2, "color":"violet"} Замен:3 {"x":2, "y":3, "color":"cyan"} Замен:4 {"x":1, "y":3, "color":"violet"} Замен:3 {"x":0, "y":2, "color":"cyan"} Замен:7 {"x":2, "y":4, "color":"red"} Замен:4 {"x":1, "y":4, "color":"green"} Замен:6 {"x":0, "y":3, "color":"violet"} Замен:4 {"x":0, "y":4, "color":"blue"} Замен:3 Некорректных записей: 0</td> </tr> <tr> <td></td> <td><a href="files/task7657/test3.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">{"x":8356, "y":4363, "color":"violet"} Замен:16 {"x":7348, "y":4363, "color":"orange"} Замен:18 {"x":7348, "y":2542, "color":"green"} Замен:13 {"x":8356, "y":2542, "color":"orange"} Замен:10 Некорректных записей: 0</td> </tr> <tr> <td></td> <td><a href="files/task7657/test4.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task7657/test5.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">{"x":3732, "y":3732, "color":"green"} Замен:750 {"x":7460, "y":3732, "color":"red"} Замен:758 {"x":3894, "y":2366, "color":"cyan"} Замен:747 {"x":7460, "y":2366, "color":"green"} Замен:765 {"x":3732, "y":2366, "color":"cyan"} Замен:728 {"x":3894, "y":3732, "color":"red"} Замен:752 </td> </tr> <tr> <td></td> <td><a href="files/task7657/test6.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">{"x":1401, "y":1401, "color":"cyan"} Замен: 3 {"x":1352, "y":1401, "color":"green"} Замен: 5 {"x":8887, "y":1401, "color":"red"} Замен: 2 {"x":8887, "y":9126, "color":"red"} Замен: 5 {"x":1401, "y":9126, "color":"green"} Замен: 2 {"x":1352, "y":9126, "color":"violet"} Замен: 2 Некорректных записей: 4</td> </tr> <tr> <td></td> <td><a href="files/task7657/test7.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">{"x":7661, "y":8431, "color":"blue"} Замен: 4 {"x":7661, "y":6254, "color":"green"} Замен: 3 {"x":8431, "y":8431, "color":"blue"} Замен: 4 {"x":8431, "y":6254, "color":"red"} Замен: 1 {"x":2032, "y":8431, "color":"red"} Замен: 4 {"x":2032, "y":6254, "color":"yellow"} Замен: 6 Некорректных записей: 9</td> </tr> </table> </div><div class="task_block" id="task5108"> <div class="task_id">5108</div> <h3>Задача</h3> <div class="task_desc">Исходный файл содержит список действий в формате CSV (<a href="https://ru.wikipedia.org/wiki/CSV" target="_blank">справка в новой вкладке</a>) с разделителем ";". Каждое действие описывается на отдельной строчке: наименование и необходимые значения. Действия описываются в следующем формате: <ul> <li>Создать. Наименование create. Значения: id нового прямоугольника, его координаты x, y, ширина и высота.</li> <li>Переместить по горизонтали. Наименование shiftX. Значения: id, изменение Х. Ширина прямоугольника остается прежней.</li> <li>Переместить по вертикали. Наименование shiftY. Значения: id, изменение Y. Высота прямоугольника остается прежней. </li> <li>Изменить ширину. Наименование stretchX. Значения: id, изменение ширины. Координата верхнего-левого угла при этом не меняется.</li> <li>Изменить высоту. Наименование stretchY. Значения: id, изменение высоты. Координата верхнего-левого угла при этом не меняется.</li> </ul> Нужно вывести в HTML файл: идентификатор каждого прямоугольника, количество корректных действий над ним, а также получившиеся фигуры в виде картинки. Порядок вывода информации о прямоугольниках не важен. При попытке совершить некорректное действие, прекратить обработку, вывести последний корректный результат и добавить в файл сообщение об ошибке.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Содержимое файла</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task5108/test1.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>r2 действий: 1</p><p>r1 действий: 1</p> <svg width="500" height="350"> <rect x='100' y='217' width='100' height='100' fill='transparent' stroke='black'/><rect x='113' y='100' width='100' height='100' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test2.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>r2 действий: 2</p><p>r1 действий: 2</p> <svg width="500" height="350"> <rect x='100' y='217' width='100' height='120' fill='transparent' stroke='black'/><rect x='113' y='100' width='150' height='100' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test3.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>r2 действий: 1</p><p>r3 действий: 1</p><p>r4 действий: 1</p><p>r1 действий: 1</p> <svg width="500" height="350"> <rect x='0' y='10' width='10' height='10' fill='transparent' stroke='black'/><rect x='0' y='0' width='10' height='10' fill='transparent' stroke='black'/><rect x='10' y='10' width='10' height='10' fill='transparent' stroke='black'/><rect x='10' y='0' width='10' height='10' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test4.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>Ошибка: Идентификатор не должен повторяться (r1)</p><p>r1 действий: 0</p> <svg width="500" height="350"> <rect x='100' y='100' width='100' height='100' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test5.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>Ошибка: Операция над неопознанным объектом (r2)</p><p>r1 действий: 4</p> <svg width="500" height="350"> <rect x='120' y='120' width='110' height='100' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test6.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>Ошибка: Координата Y должна быть неотрицательной</p><p>r1 действий: 2</p> <svg width="500" height="350"> <rect x='110' y='80' width='100' height='100' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test7.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>Ошибка: Координата X должна быть неотрицательной</p><p>r1 действий: 11</p> <svg width="500" height="350"> <rect x='10' y='80' width='100' height='120' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test8.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>Ошибка: Высота должна быть положительной</p><p>r1 действий: 8</p> <svg width="500" height="350"> <rect x='130' y='120' width='50' height='60' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test9.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>Ошибка: Ширина должна быть положительной</p><p>r1 действий: 2</p> <svg width="500" height="350"> <rect x='100' y='120' width='110' height='100' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test10.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>r2 действий: 110</p><p>r10 действий: 187</p><p>r3 действий: 119</p><p>r4 действий: 103</p><p>r5 действий: 181</p><p>r6 действий: 163</p><p>r7 действий: 141</p><p>r8 действий: 197</p><p>r9 действий: 184</p><p>r0 действий: 198</p><p>r1 действий: 195</p> <svg width="500" height="350"> <rect x='297' y='170' width='3' height='69' fill='transparent' stroke='black'/><rect x='244' y='201' width='217' height='27' fill='transparent' stroke='black'/><rect x='76' y='161' width='11' height='1' fill='transparent' stroke='black'/><rect x='434' y='186' width='44' height='11' fill='transparent' stroke='black'/><rect x='76' y='144' width='200' height='27' fill='transparent' stroke='black'/><rect x='153' y='1' width='53' height='144' fill='transparent' stroke='black'/><rect x='189' y='86' width='269' height='199' fill='transparent' stroke='black'/><rect x='207' y='54' width='273' height='58' fill='transparent' stroke='black'/><rect x='310' y='4' width='145' height='275' fill='transparent' stroke='black'/><rect x='90' y='235' width='126' height='9' fill='transparent' stroke='black'/><rect x='28' y='87' width='63' height='185' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test11.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>Ошибка: Некорректное действие: destroy</p><p>r1 действий: 3</p> <svg width="500" height="350"> <rect x='100' y='100' width='80' height='120' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test12.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task5108/test13.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted"><p>Ошибка: Некорректный формат</p><p>r1 действий: 0</p> <svg width="500" height="350"> <rect x='100' y='100' width='100' height='100' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task5108/test14.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Ошибка: Некорректный формат</td> </tr> </table> </div><div id='task7940' class='task_block'> <div class='task_id'>7940</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит день недели, час и минуту начала занятия, час и минуту конца занятия. Все значения в одну строчку через запятую. Нужно проверить, что в расписании отсутствуют пересекающиеся занятия. </div> <table class='stream_values'> <tr><th>Номер теста</th><th>Исходные данные</th><th>Результат</th></tr> <tr class='test_row'><td rowspan='3'>1</td><td>пон,9,0,11,0 </td><td> </td></tr> <tr><td>пон,13,0,14,0</td><td> </td></tr> <tr><td>вт,9,0,11,0</td><td> </td></tr> <tr class='test_row'><td rowspan='2'>2</td><td>пон,9,0,11,0 </td><td> </td></tr> <tr><td>пон,8,0,10,0</td><td> </td></tr> <tr class='test_row'><td rowspan='2'>3</td><td>вт,9,0,11,0 </td><td> </td></tr> <tr><td>вт,10,0,12,0</td><td> </td></tr> <tr class='test_row'><td rowspan='2'>4</td><td>ср,9,0,14,0 </td><td> </td></tr> <tr><td>ср,10,0,13,0</td><td> </td></tr> <tr class='test_row'><td rowspan='2'>5</td><td>чт,10,0,11,0 </td><td> </td></tr> <tr><td>чт,9,0,12,0</td><td> </td></tr> <tr class='test_row'><td rowspan='1'>6</td><td>пт,11,0,9,0 </td><td> </td></tr> <tr class='test_row'><td rowspan='4'>7</td><td>пон,9,0,11,0 </td><td> </td></tr> <tr><td>пон,11,0,13,0</td><td> </td></tr> <tr><td>вт,11,0,13,0</td><td> </td></tr> <tr><td>вт,9,0,11,0</td><td> </td></tr> </table> </div> <div id='task3146' class='task_block'> <div class='task_id'>3146</div> <h3>Задача</h3> <div class='task_desc'> В файле слова, которые могут повторяться. Нужно запомнить сколько раз встречается каждое слово. Пользователь вводит бесконечное количество чисел. После каждого числа нужно вывести на экран слова, которые повторяются указанное количество раз. </div> <table class='stream_values'> <tr><th>Номер теста</th><th>Исходные данные</th><th>Результат</th></tr> <tr class='test_row'><td rowspan='8'>1</td><td>task3146/test1.txt </td><td> </td></tr> <tr><td></td><td class='preformatted'>Обрабатываю слово вася Это новое слово. Текущее количество повторений 1 Отсутствуют слова, которые встречались 1 раз. Создаю новую запись. Обрабатываю слово вася Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Отсутствуют слова, которые встречались 2 раз. Создаю новую запись. Обрабатываю слово вася Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Отсутствуют слова, которые встречались 3 раз. Создаю новую запись. Обрабатываю слово вася Это известное слово. Текущее количество повторений 4 Есть слова, которые встречались 3 раз. Очищаю. Отсутствуют слова, которые встречались 4 раз. Создаю новую запись. Обрабатываю слово петя Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово петя Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово петя Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Есть слова, которые встречались 3 раз. Дополняю. Обрабатываю слово маша Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово маша Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово коля Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обработка файла завершена. Слово маша повторяется 2 раз Слово вася повторяется 4 раз Слово коля повторяется 1 раз Слово петя повторяется 3 раз </td></tr> <tr><td>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 1 раз: коля </td></tr> <tr><td>2 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 2 раз: маша </td></tr> <tr><td>3 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 3 раз: петя </td></tr> <tr class='test_row'><td rowspan='8'>2</td><td>task3146/test2.txt </td><td> </td></tr> <tr><td></td><td class='preformatted'>Обрабатываю слово вася Это новое слово. Текущее количество повторений 1 Отсутствуют слова, которые встречались 1 раз. Создаю новую запись. Обрабатываю слово вася Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Отсутствуют слова, которые встречались 2 раз. Создаю новую запись. Обрабатываю слово петя Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово петя Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово маша Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово маша Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово вася Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Отсутствуют слова, которые встречались 3 раз. Создаю новую запись. Обрабатываю слово петя Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Есть слова, которые встречались 3 раз. Дополняю. Обрабатываю слово маша Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Есть слова, которые встречались 3 раз. Дополняю. Обработка файла завершена. Слово маша повторяется 3 раз Слово вася повторяется 3 раз Слово петя повторяется 3 раз </td></tr> <tr><td>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 1 раз. </td></tr> <tr><td>2 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 2 раз. </td></tr> <tr><td>3 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 3 раз: маша вася петя </td></tr> <tr class='test_row'><td rowspan='8'>3</td><td>task3146/test3.txt </td><td> </td></tr> <tr><td></td><td class='preformatted'>Обрабатываю слово маша Это новое слово. Текущее количество повторений 1 Отсутствуют слова, которые встречались 1 раз. Создаю новую запись. Обрабатываю слово вася Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово маша Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Отсутствуют слова, которые встречались 2 раз. Создаю новую запись. Обрабатываю слово петя Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово вася Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово маша Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Отсутствуют слова, которые встречались 3 раз. Создаю новую запись. Обработка файла завершена. Слово маша повторяется 3 раз Слово вася повторяется 2 раз Слово петя повторяется 1 раз </td></tr> <tr><td>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 1 раз: петя </td></tr> <tr><td>2 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 2 раз: вася </td></tr> <tr><td>3 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 3 раз: маша </td></tr> <tr class='test_row'><td rowspan='6'>4</td><td>task3146/test3.txt </td><td> </td></tr> <tr><td></td><td class='preformatted'>Обрабатываю слово маша Это новое слово. Текущее количество повторений 1 Отсутствуют слова, которые встречались 1 раз. Создаю новую запись. Обрабатываю слово вася Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово маша Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Отсутствуют слова, которые встречались 2 раз. Создаю новую запись. Обрабатываю слово петя Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово вася Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово маша Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Отсутствуют слова, которые встречались 3 раз. Создаю новую запись. Обработка файла завершена. Слово маша повторяется 3 раз Слово вася повторяется 2 раз Слово петя повторяется 1 раз </td></tr> <tr><td>3 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 3 раз: маша </td></tr> <tr><td>0 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 0 раз. </td></tr> <tr class='test_row'><td rowspan='8'>5</td><td>task3146/test4.txt </td><td> </td></tr> <tr><td></td><td class='preformatted'>Обрабатываю слово вася Это новое слово. Текущее количество повторений 1 Отсутствуют слова, которые встречались 1 раз. Создаю новую запись. Обрабатываю слово вася Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Отсутствуют слова, которые встречались 2 раз. Создаю новую запись. Обрабатываю слово вася Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Отсутствуют слова, которые встречались 3 раз. Создаю новую запись. Обрабатываю слово вася Это известное слово. Текущее количество повторений 4 Есть слова, которые встречались 3 раз. Очищаю. Отсутствуют слова, которые встречались 4 раз. Создаю новую запись. Обрабатываю слово петя Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово петя Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово петя Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Есть слова, которые встречались 3 раз. Дополняю. Обрабатываю слово маша Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово маша Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово коля Это новое слово. Текущее количество повторений 1 Есть слова, которые встречались 1 раз. Дополняю. Обрабатываю слово коля Это известное слово. Текущее количество повторений 2 Есть слова, которые встречались 1 раз. Очищаю. Есть слова, которые встречались 2 раз. Дополняю. Обрабатываю слово коля Это известное слово. Текущее количество повторений 3 Есть слова, которые встречались 2 раз. Очищаю. Есть слова, которые встречались 3 раз. Дополняю. Обрабатываю слово коля Это известное слово. Текущее количество повторений 4 Есть слова, которые встречались 3 раз. Очищаю. Есть слова, которые встречались 4 раз. Дополняю. Обработка файла завершена. Слово маша повторяется 2 раз Слово вася повторяется 4 раз Слово коля повторяется 4 раз Слово петя повторяется 3 раз </td></tr> <tr><td>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 1 раз. </td></tr> <tr><td>2 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 2 раз: маша </td></tr> <tr><td>3 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Слова, которые встречаются 3 раз: петя </td></tr> <tr class='test_row'><td rowspan='12'>6</td><td>task3146/test5.txt </td><td> </td></tr> <tr><td></td><td class='preformatted'>Обработка файла завершена. </td></tr> <tr><td>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 1 раз. </td></tr> <tr><td>2 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 2 раз. </td></tr> <tr><td>3 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 3 раз. </td></tr> <tr><td>4 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 4 раз. </td></tr> <tr><td>1000 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Введите число Нет слов, которые бы встречались 1000 раз. </td></tr> </table> </div> <div class="task_block" id="task9092"> <div class="task_id">9092</div> <h3>Задача</h3> <div class="task_desc">Исходный файл содержит записи. Каждая запись находится на отдельной строке и состоит из двух частей, разделенных знаком ";". Первая часть - наименование группы. Вторая часть - целое число. Нужно вычислить сумму чисел в разрезе записей с одинаковым наименованием группы. Порядок записей в результате может отличаться.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Содержимое файла</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task9092/test1.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">У группы 'one' сумма равна 30 У группы 'two' сумма равна 38 У группы 'three' сумма равна 300</td> </tr> <tr> <td></td> <td><a href="files/task9092/test2.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">У группы 'титан' сумма равна 2399 У группы 'кобальт' сумма равна -8345 У группы 'алюминий' сумма равна -6219 У группы 'платина' сумма равна -1757 У группы 'золото' сумма равна 5933 У группы 'ртуть' сумма равна 1128 У группы 'марганец' сумма равна -1198 У группы 'медь' сумма равна -12681 У группы 'железо' сумма равна 7434 У группы 'вольфрам' сумма равна -17736 У группы 'никель' сумма равна -23741</td> </tr> <tr> <td></td> <td><a href="files/task9092/test3.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task9092/test4.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат записи в строке 2</td> </tr> <tr> <td></td> <td><a href="files/task9092/test5.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">У группы 'друзья' сумма равна 3008706 У группы 'товары' сумма равна 2983430 У группы 'сообщества' сумма равна 3116408 У группы 'фотографии' сумма равна 3307789 У группы 'сообщения' сумма равна 3106813 У группы 'игры' сумма равна 3104274 У группы 'новости' сумма равна 3314770 У группы 'видео' сумма равна 3026634</td> </tr> <tr> <td></td> <td><a href="files/task9092/test6.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Не удалось преобразовать число в строке 22</td> </tr> </table> </div><div id='task6590' class='task_block'> <div class='task_id'>6590</div> <h3>Задача</h3> <div class='task_desc'> Исходный файл <a href="files/task6590/employees.csv" target="_blank">скачать employees.csv</a> содержит записи о сотрудниках. Каждая строка содержит атрибуты одного сотрудника, перечисленные через запятую ",". Атрибуты записаны в следующем порядке: </div> <ol start='1'><li>employee_id - код сотрудника</li><li>first_name - имя</li><li>last_name - фамилия</li><li>email - адрес почты без домена</li><li>phone_number - телефонный номер</li><li>hire_date - дата найма</li><li>job_id - код должности</li><li>salary - заработная плата</li><li>commission_pct - ставка коммиссии</li><li>manager_id - код руководителя</li><li>department_id - код отдела</li></ol><div class='task_desc'> Руководителем считается сотрудник, чей идентификатор указан у другого сотрудника в поле manager_id. Для каждого руководителя нужно вывести его фамилию, код должности и идентификаторы подчиненных сотрудников. </div> <div class='check_single preformatted'>Фамилия 'King' Должность 'AD_PRES' Подчиненные: 101, 102, 124, 149, 201 Фамилия 'Kochhar' Должность 'AD_VP' Подчиненные: 200, 205 Фамилия 'De Haan' Должность 'AD_VP' Подчиненные: 103 Фамилия 'Mourgos' Должность 'ST_MAN' Подчиненные: 141, 142, 143, 144 Фамилия 'Hartstein' Должность 'MK_MAN' Подчиненные: 202 Фамилия 'Hunold' Должность 'IT_PROG' Подчиненные: 104, 107 Фамилия 'Zlotkey' Должность 'SA_MAN' Подчиненные: 174, 176, 178 Фамилия 'Higgins' Должность 'AC_MGR' Подчиненные: 206 </div> </div> <div class="task_block" id="task3956"> <div class="task_id">3956</div> <h3>Задача</h3> <div class="task_desc">Реализовать класс Shape так, чтобы при выполнении данного сценария на экран был выведен указанный результат.</div> <table class="check_values"> <tr> <th>Номер по порядку</th> <th>Результат</th> </tr> <tr> <td></td> <td class="preformatted">(10;10) (100;100) Различаются</td> </tr> <tr> <td></td> <td class="preformatted">(10;10) (100;100) (100;10) (100;10) Совпадают</td> </tr> <tr> <td></td> <td class="preformatted">23186.2901</td> </tr> <tr> <td></td> <td class="preformatted"><rect x='0' y='0' width='10' height='10' stroke='blue' stroke-width='5' fill='red'/> <circle cx='50' cy='50' r='40' stroke='green' stroke-width='4' fill='yellow'/></td> </tr> </table> </div><div class="task_block" id="task6876"> <div class="task_id">6876</div> <h3>Задача</h3> <div class="task_desc">Реализовать класс Comparator6876 для сортировки фигур по убыванию площади.</div> <table class="check_values"> <tr> <th>Номер по порядку</th> <th>Результат</th> <th>Наглядный результат</th> </tr> <tr> <td></td> <td class="preformatted"><svg width="150" height="150"> <circle cx='70' cy='50' r='40' stroke='black' stroke-width='1' fill='green'/> <circle cx='50' cy='80' r='20' stroke='black' stroke-width='1' fill='red'/> <circle cx='40' cy='30' r='10' stroke='black' stroke-width='1' fill='blue'/> </svg></td> <td><svg width="150" height="150"> <circle cx='70' cy='50' r='40' stroke='black' stroke-width='1' fill='green'/> <circle cx='50' cy='80' r='20' stroke='black' stroke-width='1' fill='red'/> <circle cx='40' cy='30' r='10' stroke='black' stroke-width='1' fill='blue'/> </svg></td> </tr> <tr> <td></td> <td class="preformatted"><svg width="150" height="150"> <rect x='50' y='30' width='40' height='40' stroke='black' stroke-width='1' fill='green'/> <rect x='30' y='0' width='10' height='40' stroke='black' stroke-width='1' fill='red'/> <rect x='50' y='10' width='30' height='10' stroke='black' stroke-width='1' fill='blue'/> <rect x='10' y='50' width='20' height='10' stroke='black' stroke-width='1' fill='orange'/> </svg></td> <td><svg width="150" height="150"> <rect x='50' y='30' width='40' height='40' stroke='black' stroke-width='1' fill='green'/> <rect x='30' y='0' width='10' height='40' stroke='black' stroke-width='1' fill='red'/> <rect x='50' y='10' width='30' height='10' stroke='black' stroke-width='1' fill='blue'/> <rect x='10' y='50' width='20' height='10' stroke='black' stroke-width='1' fill='orange'/> </svg></td> </tr> <tr> <td></td> <td class="preformatted"><svg width="150" height="150"> <circle cx='80' cy='30' r='20' stroke='black' stroke-width='1' fill='cyan'/> <rect x='10' y='60' width='30' height='20' stroke='black' stroke-width='1' fill='black'/> <circle cx='20' cy='30' r='10' stroke='black' stroke-width='1' fill='magenta'/> <rect x='40' y='20' width='10' height='30' stroke='black' stroke-width='1' fill='yellow'/> <rect x='50' y='60' width='20' height='10' stroke='black' stroke-width='1' fill='red'/> </svg></td> <td><svg width="150" height="150"> <circle cx='80' cy='30' r='20' stroke='black' stroke-width='1' fill='cyan'/> <rect x='10' y='60' width='30' height='20' stroke='black' stroke-width='1' fill='black'/> <circle cx='20' cy='30' r='10' stroke='black' stroke-width='1' fill='magenta'/> <rect x='40' y='20' width='10' height='30' stroke='black' stroke-width='1' fill='yellow'/> <rect x='50' y='60' width='20' height='10' stroke='black' stroke-width='1' fill='red'/> </svg></td> </tr> </table> </div><div class="task_block" id="task2033"> <div class="task_id">2033</div> <h3>Задача</h3> <div class="task_desc">Исходный файл содержит список действий в формате CSV (<a href="https://ru.wikipedia.org/wiki/CSV" target="_blank">справка в новой вкладке</a>) с разделителем ";". Каждое действие описывается на отдельной строчке: наименование и необходимые значения. Действия описываются в следующем формате: <ul> <li>Создать. Наименование create. Значения: id новой фигуры, ее тип и остальные параметры. Для круга это координаты центра и радиус. Для прямоугольника: координаты верхнего-левого угла, ширина и высота.</li> <li>Переместить по горизонтали. Наименование shiftX. Значения: id, изменение Х.</li> <li>Переместить по вертикали. Наименование shiftY. Значения: id, изменение Y.</li> <li>Изменить ширину. Наименование stretchX. Значения: id, изменение ширины.</li> <li>Изменить высоту. Наименование stretchY. Значения: id, изменение высоты.</li> </ul><!-- действий: {"id":1234, "x":100,"y":100,"w":100,"h":100}---> Нужно вывести на экран: идентификатор каждой фигуры, количество корректных действий над ней, а также получившиеся координаты и размеры. Порядок вывода информации о фигурах не важен. При попытке совершить некорректное действие, вывести сообщение об ошибке и прекратить обработку.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Содержимое файла</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task2033/test1.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">c1 Действий:1 r1 Действий:1 <svg width="500" height="350"> <circle cx='150' cy='130' r='50' stroke='black' stroke-width='1' fill='transparent'/> <rect x='150' y='100' width='100' height='100' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task2033/test2.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">c1 Действий:2 r1 Действий:2 <svg width="500" height="350"> <circle cx='60' cy='210' r='20' stroke='black' stroke-width='1' fill='transparent'/> <rect x='100' y='100' width='50' height='150' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task2033/test3.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">c1 Действий:1 c2 Действий:1 r1 Действий:1 <svg width="500" height="350"> <circle cx='43' cy='43' r='23' stroke='black' stroke-width='1' fill='transparent'/> <circle cx='55' cy='55' r='15' stroke='black' stroke-width='1' fill='transparent'/> <rect x='100' y='10' width='40' height='40' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task2033/test4.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Операция над неопознанным объектом</td> </tr> <tr> <td></td> <td><a href="files/task2033/test5.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Идентификатор не должен повторяться</td> </tr> <tr> <td></td> <td><a href="files/task2033/test6.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Координата Y должна быть неотрицательной</td> </tr> <tr> <td></td> <td><a href="files/task2033/test7.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Координата X должна быть неотрицательной</td> </tr> <tr> <td></td> <td><a href="files/task2033/test8.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Ширина должна быть положительной</td> </tr> <tr> <td></td> <td><a href="files/task2033/test9.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Высота должна быть положительной</td> </tr> <tr> <td></td> <td><a href="files/task2033/test10.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Левая точка круга должна иметь неотрицательные координаты</td> </tr> <tr> <td></td> <td><a href="files/task2033/test11.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Верхняя точка круга должна иметь неотрицательные координаты</td> </tr> <tr> <td></td> <td><a href="files/task2033/test12.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Ширина должна быть положительной</td> </tr> <tr> <td></td> <td><a href="files/task2033/test13.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Высота должна быть положительной</td> </tr> <tr> <td></td> <td><a href="files/task2033/test14.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">f6 Действий:753 f7 Действий:785 f8 Действий:801 f9 Действий:797 f0 Действий:809 f1 Действий:816 f2 Действий:798 f3 Действий:789 f4 Действий:790 f5 Действий:842 <svg width="500" height="350"> <circle cx='287' cy='119' r='119' stroke='black' stroke-width='1' fill='transparent'/> <rect x='88' y='249' width='327' height='61' fill='transparent' stroke='black'/> <circle cx='302' cy='165' r='131' stroke='black' stroke-width='1' fill='transparent'/> <rect x='3' y='281' width='483' height='47' fill='transparent' stroke='black'/> <circle cx='235' cy='228' r='114' stroke='black' stroke-width='1' fill='transparent'/> <rect x='195' y='82' width='187' height='44' fill='transparent' stroke='black'/> <rect x='173' y='184' width='95' height='11' fill='transparent' stroke='black'/> <rect x='378' y='135' width='28' height='143' fill='transparent' stroke='black'/> <circle cx='152' cy='301' r='38' stroke='black' stroke-width='1' fill='transparent'/> <rect x='45' y='189' width='71' height='46' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task2033/test15.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Неизвестная фигура</td> </tr> <tr> <td></td> <td><a href="files/task2033/test16.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат</td> </tr> <tr> <td></td> <td><a href="files/task2033/test17.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task2033/test18.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат</td> </tr> </table> </div><div class="task_block" id="task6981"> <div class="task_id">6981</div> <h3>Задача</h3> <div class="task_desc">Исходный файл содержит список действий в формате CSV (<a href="https://ru.wikipedia.org/wiki/CSV" target="_blank">справка в новой вкладке</a>) с разделителем ";". Каждое действие описывается на отдельной строчке: наименование и необходимые значения. Действия описываются в следующем формате: <ul> <li>Создать. Наименование create. Значения: id новой фигуры, ее тип и остальные параметры. Для круга это координаты центра и радиус. Для прямоугольника: координаты верхнего-левого угла, ширина и высота.</li> <li>Переместить по горизонтали. Наименование shiftX. Значения: id, изменение Х.</li> <li>Переместить по вертикали. Наименование shiftY. Значения: id, изменение Y.</li> <li>Изменить ширину. Наименование stretchX. Значения: id, изменение ширины.</li> <li>Изменить высоту. Наименование stretchY. Значения: id, изменение высоты.</li> </ul> Нужно вывести на экран: идентификатор каждой фигуры, количество корректных действий над ней, а также получившиеся координаты и размеры. Порядок вывода информации о фигурах не важен. При попытке совершить некорректное действие, проигнорировать его и продолжить обработку файла. Вывести количество некорректных действий.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Содержимое файла</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task6981/test1.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">id780 Действий:7<br/>id807 Действий:1<br/>id458 Действий:2<br/>id986 Действий:3<br/>id604 Действий:1<br/>id537 Действий:4<br/>id290 Действий:2<br/>id422 Действий:1<br/>id466 Действий:1<br/>id498 Действий:2<br/>Некорректных записей: 8 <svg width="500" height="350"> <rect x='106' y='84' width='133' height='22' fill='transparent' stroke='black'/><circle cx='174' cy='174' r='124' stroke='black' stroke-width='1' fill='transparent'/><circle cx='90' cy='90' r='490' stroke='black' stroke-width='1' fill='transparent'/><rect x='82' y='100' width='84' height='100' fill='transparent' stroke='black'/><rect x='100' y='100' width='147' height='100' fill='transparent' stroke='black'/><rect x='54' y='108' width='66' height='70' fill='transparent' stroke='black'/><rect x='100' y='100' width='73' height='103' fill='transparent' stroke='black'/><rect x='100' y='100' width='100' height='86' fill='transparent' stroke='black'/><rect x='100' y='75' width='100' height='100' fill='transparent' stroke='black'/><circle cx='135' cy='135' r='535' stroke='black' stroke-width='1' fill='transparent'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task6981/test2.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">id671 Действий:5<br/>id397 Действий:9<br/>id979 Действий:3<br/>id645 Действий:1<br/>id722 Действий:2<br/>id280 Действий:3<br/>id945 Действий:4<br/>id798 Действий:4<br/>id534 Действий:1<br/>Некорректных записей: 2 <svg width="500" height="350"> <circle cx='104' cy='894' r='76' stroke='black' stroke-width='1' fill='transparent'/><rect x='41' y='123' width='157' height='42' fill='transparent' stroke='black'/><rect x='100' y='110' width='62' height='136' fill='transparent' stroke='black'/><circle cx='200' cy='218' r='100' stroke='black' stroke-width='1' fill='transparent'/><rect x='64' y='100' width='100' height='100' fill='transparent' stroke='black'/><rect x='150' y='75' width='100' height='110' fill='transparent' stroke='black'/><rect x='87' y='100' width='100' height='145' fill='transparent' stroke='black'/><rect x='136' y='100' width='101' height='81' fill='transparent' stroke='black'/><circle cx='113' cy='113' r='113' stroke='black' stroke-width='1' fill='transparent'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task6981/test3.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">f6 Действий:2445<br/>f7 Действий:2451<br/>f8 Действий:2533<br/>f9 Действий:2528<br/>f0 Действий:2370<br/>f1 Действий:2387<br/>f2 Действий:2519<br/>f3 Действий:2359<br/>f4 Действий:2423<br/>f5 Действий:2534<br/>Некорректных записей: 41884 <svg width="500" height="350"> <circle cx='190' cy='252' r='68' stroke='black' stroke-width='1' fill='transparent'/><rect x='228' y='51' width='66' height='228' fill='transparent' stroke='black'/><rect x='219' y='185' width='112' height='88' fill='transparent' stroke='black'/><rect x='85' y='118' width='163' height='104' fill='transparent' stroke='black'/><circle cx='125' cy='134' r='124' stroke='black' stroke-width='1' fill='transparent'/><rect x='106' y='23' width='361' height='53' fill='transparent' stroke='black'/><rect x='21' y='57' width='280' height='89' fill='transparent' stroke='black'/><circle cx='55' cy='98' r='33' stroke='black' stroke-width='1' fill='transparent'/><circle cx='320' cy='96' r='60' stroke='black' stroke-width='1' fill='transparent'/><rect x='273' y='67' width='139' height='162' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task6981/test4.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">id919 Действий:3<br/>id171 Действий:2<br/>id568 Действий:0<br/>id787 Действий:1<br/>id897 Действий:0<br/>id379 Действий:3<br/>Некорректных записей: 8 <svg width="500" height="350"> <rect x='100' y='164' width='10' height='63' fill='transparent' stroke='black'/><rect x='159' y='100' width='100' height='100' fill='transparent' stroke='black'/><circle cx='100' cy='100' r='10' stroke='black' stroke-width='1' fill='transparent'/><rect x='100' y='101' width='10' height='10' fill='transparent' stroke='black'/><circle cx='100' cy='100' r='100' stroke='black' stroke-width='1' fill='transparent'/><rect x='87' y='100' width='100' height='75' fill='transparent' stroke='black'/> </svg></td> </tr> <tr> <td></td> <td><a href="files/task6981/test5.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task6981/test6.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">id110 Действий:2<br/>id552 Действий:1<br/>id270 Действий:2<br/>id915 Действий:1<br/>id899 Действий:3<br/>id758 Действий:1<br/>id587 Действий:2<br/>id576 Действий:1<br/>Некорректных записей: 6 <svg width="500" height="350"> <rect x='100' y='100' width='41' height='91' fill='transparent' stroke='black'/><circle cx='100' cy='125' r='100' stroke='black' stroke-width='1' fill='transparent'/><rect x='100' y='61' width='143' height='10' fill='transparent' stroke='black'/><circle cx='100' cy='118' r='100' stroke='black' stroke-width='1' fill='transparent'/><rect x='378' y='901' width='139' height='113' fill='transparent' stroke='black'/><rect x='100' y='100' width='100' height='84' fill='transparent' stroke='black'/><rect x='73' y='133' width='100' height='10' fill='transparent' stroke='black'/><circle cx='78' cy='78' r='78' stroke='black' stroke-width='1' fill='transparent'/> </svg></td> </tr> </table> </div><div class="task_block" id="task1753"> <div class="task_id">1753</div> <h3>Задача</h3> <div class="task_desc">Исходный файл содержит информацию о длине дорог между городами. Нужно вывести список маршрутов для междугороднего автобуса, которые можно проложить по этим дорогам. Маршрут начинается в любом городе, проходит через любой другой город и заканчивается в третьем городе. Третий и первый город не должны совпадать. Запись о маршруте оформлять в виде "Гор1 - Гор2 - Гор3 (X км)", где Гор1, Гор2, Гор3 - названия городов, X - суммарная длина маршрута. Маршруты отсортировать по убыванию протяженности. При равной протяженности - по алфавиту</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Содержимое файла</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task1753/test1.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Владивосток - Омск - Москва (9000 км} Москва - Омск - Владивосток (9000 км}</td> </tr> <tr> <td></td> <td><a href="files/task1753/test2.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Москва - Омск - Новосибирск (3240 км} Новосибирск - Омск - Москва (3240 км} Владивосток - Новосибирск - Омск (6440 км} Омск - Новосибирск - Владивосток (6440 км}</td> </tr> <tr> <td></td> <td><a href="files/task1753/test3.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Караганда - Омск - Новосибирск (1490 км} Новосибирск - Омск - Караганда (1490 км} Москва - Омск - Новосибирск (3240 км} Новосибирск - Омск - Москва (3240 км} Караганда - Омск - Москва (3450 км} Москва - Омск - Караганда (3450 км} Владивосток - Новосибирск - Омск (6440 км} Омск - Новосибирск - Владивосток (6440 км}</td> </tr> <tr> <td></td> <td><a href="files/task1753/test4.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Тюмень - Курган - Челябинск (470 км} Челябинск - Курган - Тюмень (470 км} Челябинск - Екатеринбург - Челябинск (480 км} Челябинск - Курган - Челябинск (480 км} Екатеринбург - Тюмень - Курган (530 км} Курган - Тюмень - Екатеринбург (530 км} Тюмень - Екатеринбург - Челябинск (540 км} Челябинск - Екатеринбург - Тюмень (540 км} Пермь - Екатеринбург - Челябинск (570 км} Челябинск - Екатеринбург - Пермь (570 км} Екатеринбург - Челябинск - Уфа (630 км} Уфа - Челябинск - Екатеринбург (630 км} Курган - Челябинск - Уфа (690 км} Пермь - Екатеринбург - Тюмень (690 км} Тюмень - Екатеринбург - Пермь (690 км} Уфа - Челябинск - Курган (690 км} Казань - Нижний Новгород - Москва (830 км} Курган - Тюмень - Омск (830 км} Москва - Нижний Новгород - Казань (830 км} Омск - Тюмень - Курган (830 км} Курган - Тюмень - Ханты-Мансийск (880 км} Ханты-Мансийск - Тюмень - Курган (880 км} Пенза - Самара - Уфа (890 км} Самара - Уфа - Челябинск (890 км} Саратов - Самара - Уфа (890 км} Уфа - Самара - Пенза (890 км} Уфа - Самара - Саратов (890 км} Челябинск - Уфа - Самара (890 км} Нижний Новгород - Казань - Уфа (930 км} Уфа - Казань - Нижний Новгород (930 км} Воронеж - Саратов - Самара (940 км} Москва - Воронеж - Москва (940 км} Москва - Нижний Новгород - Москва (940 км} Самара - Саратов - Воронеж (940 км} Казань - Уфа - Челябинск (950 км} Челябинск - Уфа - Казань (950 км} Екатеринбург - Тюмень - Омск (960 км} Омск - Тюмень - Екатеринбург (960 км} Казань - Уфа - Самара (1000 км} Самара - Уфа - Казань (1000 км} Екатеринбург - Тюмень - Ханты-Мансийск (1010 км} Ханты-Мансийск - Тюмень - Екатеринбург (1010 км} Москва - Воронеж - Саратов (1030 км} Саратов - Воронеж - Москва (1030 км} Москва - Пенза - Самара (1060 км} Самара - Пенза - Москва (1060 км} Москва - Нижний Новгород - Москва (1070 км} Москва - Пенза - Москва (1070 км} Москва - Воронеж - Москва (1150 км} Москва - Пенза - Москва (1150 км} Новосибирск - Омск - Тюмень (1270 км} Тюмень - Омск - Новосибирск (1270 км} Омск - Тюмень - Ханты-Мансийск (1310 км} Ханты-Мансийск - Тюмень - Омск (1310 км} Караганда - Омск - Тюмень (1480 км} Тюмень - Омск - Караганда (1480 км} Караганда - Омск - Новосибирск (1490 км} Новосибирск - Омск - Караганда (1490 км}</td> </tr> <tr> <td></td> <td><a href="files/task1753/test5.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task1753/test6.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Расстояние должно быть неотрицательно</td> </tr> <tr> <td></td> <td><a href="files/task1753/test7.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат</td> </tr> <tr> <td></td> <td><a href="files/task1753/test8.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Недостаточно данных</td> </tr> <tr> <td></td> <td><a href="files/task1753/test9.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Недостаточно данных</td> </tr> </table> </div>Версия 20240202. Подборка задач, выбор порядка подачи и подготовка тестовых данных - Крюков Александр, Омск 2013-2026. <a href='https://github.com/AKryukov92/programming-basics'>Основной репозиторий</a></body></html>