/
AlexStone
/
Java25sep
Обзор
Документация
Войти
/
AlexStone
/
Java25sep
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
java/tasks 21.html
710 строк
39 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>21 Перехват исключений</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> </ol></div><div class='nav'><ul><li><a href='#heading'>^</a></li><li><a href='#task7740' class='example'>1*</a><li><a href='#task1439'>2</a><li><a href='#task5101'>3</a><li><a href='#task8733'>4</a><li><a href='#task8139'>5</a><li><a href='#task5014'>6</a><li><a href='#task9417'>7</a><li><a href='#task6882' class='example'>8*</a><li><a href='#task1212'>9</a><li><a href='#task9472'>10</a><li><a href='#task5081'>11</a></ul></div><div id='task7740' class='task_block'> <div class='task_id'>7740</div> <h3>Задача</h3> <ol start='1'><li>В папке с исходным кодом создайте класс Runner7740</li><li>Создайте метод main в классе Runner7740 по аналогии с методами main из задач прошлых практических.</li><li>Решите описанную ниже задачу. Исходные данные пользователь вводит вручную.</li><li>Обработайте потенциальное исключение, которое возникает когда пользователь вводит не числа.</li></ol><div class='task_desc'> Вычислить результат по формуле x + 7, где x вводится с клавиатуры </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (X)</th><th>Результат</th></tr> <tr><td>1</td><td>11.13</td><td class='preformatted'>18,1300</td></tr> <tr><td>2</td><td>-7919</td><td class='preformatted'>-7912,0000</td></tr> <tr><td>3</td><td>0</td><td class='preformatted'>7,0000</td></tr> <tr><td>4</td><td>word</td><td class='preformatted'>Не удалось преобразовать строку в число 'word' </td></tr> <tr><td>5</td><td>$14</td><td class='preformatted'>Не удалось преобразовать строку в число '$14' </td></tr> </table> <div class='task_desc'> Попробуйте решить задачу как раньше и в качестве исходных данных ввести 'word'. </div> <div class='check_single preformatted'>double x = Double.Parse(value); double result = x + 7; System.out.printf("%.4f", result);</div> <div class='task_desc'> При вводе 'word', у вас возникнет примерно такая ошибка: </div> <div class='check_single preformatted'>Exception in thread "main" java.lang.<b>NumberFormatException</b>: For input string: "word" at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:2043) at sun.misc.FloatingDecimal.parseDouble(FloatingDecimal.java:110) at java.lang.Double.parseDouble(Double.java:538) at root.tasks.exceptions.TaskJava7740.logic(TaskJava7740.java:32) at root.tasks.OneInputValLayout.rethrowAsRuntime(OneInputValLayout.java:16) at root.tasks.OneInputValLayout.appendCheckValuesRow(OneInputValLayout.java:68) at root.tasks.exceptions.TaskJava7740.makeLayout(TaskJava7740.java:20) at root.tasks.LayoutMaker.getContent(LayoutMaker.java:29) at root.tasks.LayoutMaker.toString(LayoutMaker.java:232) at java.lang.String.valueOf(String.java:2994) at java.io.PrintStream.println(PrintStream.java:821) at root.tasks.exceptions.TaskJava7740.main(TaskJava7740.java:43) Process finished with exit code 1 </div> <div class='task_desc'> Чтобы программа корректно обрабатывала такие ошибки, нужно добавить конструкцию try catch как в примере ниже: </div> <div class='check_single preformatted'>try {//внутри блока try предполагаем, что пользователь ввел число double x = Double.parseDouble(value); double result = x + 7; System.out.printf("%.4f", result); } catch (NumberFormatException ex) { //Слово NumberFormatException было в первое строке ошибки в варианте программы без try catch //если преобразовать строку в число не получилось, компьютер перейдет в этот блок System.out.println("Не удалось преобразовать строку в число '" + value + "'"); } </div> </div> <div id='task1439' class='task_block'> <div class='task_id'>1439</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит данные - целые числа, разделенные пробелами. Найти среднее арифметическое среди введенных чисел. Фрагменты строк не участвуют в подсчете количества элементов. Сообщить пользователю индекс и значение некорректных элементов. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (data)</th><th>Результат</th></tr> <tr><td>1</td><td>9 8 7 6 5</td><td class='preformatted'>Количество обработанных чисел 5 их сумма 35.0 Среднее арифметическое 7,0000</td></tr> <tr><td>2</td><td>5 2 11 3 1 3 4 4 4 4</td><td class='preformatted'>Количество обработанных чисел 10 их сумма 41.0 Среднее арифметическое 4,1000</td></tr> <tr><td>3</td><td>9 q 8 w 7 e 6 r 5 t</td><td class='preformatted'>Элемент №1 со значением q не число Элемент №3 со значением w не число Элемент №5 со значением e не число Элемент №7 со значением r не число Элемент №9 со значением t не число Количество обработанных чисел 5 их сумма 35.0 Среднее арифметическое 7,0000</td></tr> <tr><td>4</td><td>q w e r</td><td class='preformatted'>Элемент №0 со значением q не число Элемент №1 со значением w не число Элемент №2 со значением e не число Элемент №3 со значением r не число Количество обработанных чисел 0 их сумма 0.0 В исходном массиве отсутствовали числа </td></tr> <tr><td>5</td><td></td><td class='preformatted'>Элемент №0 со значением не число Количество обработанных чисел 0 их сумма 0.0 В исходном массиве отсутствовали числа </td></tr> <tr><td>6</td><td>0 0 0 0</td><td class='preformatted'>Количество обработанных чисел 4 их сумма 0.0 Среднее арифметическое 0,0000</td></tr> </table> </div> <div id='task5101' class='task_block'> <div class='task_id'>5101</div> <h3>Задача</h3> <div class='task_desc'> Исходный файл содержит целые числа, написаные в столбик без дополнительного оформления. Первое число в файле – количество чисел (N). Посчитать количество чисел в файле (C), исключая первое число. Проверить, равны ли числа N и C. Перехватить сгенерированные исключения и вывести указанное сообщение об ошибке. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (file)</th><th>Результат</th></tr> <tr><td>1</td><td><a href="files/task5101/test1.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test1.txt</a></td><td class='preformatted'>Заявленное и фактическое количество чисел совпадает и равно 5 </td></tr> <tr><td>2</td><td><a href="files/task5101/test2.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test2.txt</a></td><td class='preformatted'>Заявленное и фактическое количество чисел совпадает и равно 0 </td></tr> <tr><td>3</td><td><a href="files/task5101/test3.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test3.txt</a></td><td class='preformatted'>Заявленное и фактическое количество чисел совпадает и равно 47 </td></tr> <tr><td>4</td><td><a href="files/task5101/test4.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test4.txt</a></td><td class='preformatted'>Заявленое количество 3, фактическое количество 5 </td></tr> <tr><td>5</td><td><a href="files/task5101/test5.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test5.txt</a></td><td class='preformatted'>Заявленое количество 10, фактическое количество 6 </td></tr> <tr><td>6</td><td><a href="files/task5101/test6.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test6.txt</a></td><td class='preformatted'>Файл пуст </td></tr> <tr><td>7</td><td><a href="files/task5101/test7.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test7.txt</a></td><td class='preformatted'>Файл не найден D:\tfa\src\files\task5101\test7.txt </td></tr> <tr><td>8</td><td><a href="files/task5101/test8.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test8.txt</a></td><td class='preformatted'>Не удалось преобразовать строку в число </td></tr> <tr><td>9</td><td><a href="files/task5101/test9.txt" target="_blank">открыть в новой вкладке<br>files/task5101/test9.txt</a></td><td class='preformatted'>Не удалось преобразовать строку в число </td></tr> </table> </div> <div id='task8733' class='task_block'> <div class='task_id'>8733</div> <h3>Задача</h3> <div class='task_desc'> Исходный файл содержит целые числа, написаные в столбик без дополнительного оформления. Первое число в файле – количество чисел (N). Оно не участвует в вычислениях. Найти среднее арифметическое только тех чисел, значение которых не превышает 20. Данные в файле написаны в столбик без дополнительного оформления. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (file)</th><th>Результат</th></tr> <tr><td>1</td><td><a href="files/task8733/test1.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test1.txt</a></td><td class='preformatted'>Общее количество чисел 0 Количество чисел 0 их сумма 0.0 Среднее арифметическое 0</td></tr> <tr><td>2</td><td><a href="files/task8733/test2.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test2.txt</a></td><td class='preformatted'>Заявленое количество 10, фактическое количество 11 </td></tr> <tr><td>3</td><td><a href="files/task8733/test3.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test3.txt</a></td><td class='preformatted'>Заявленое количество 564, фактическое количество 565 </td></tr> <tr><td>4</td><td><a href="files/task8733/test4.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test4.txt</a></td><td class='preformatted'>Заявленое количество 373, фактическое количество 375 </td></tr> <tr><td>5</td><td><a href="files/task8733/test5.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test5.txt</a></td><td class='preformatted'>Общее количество чисел 3 Количество чисел 1 их сумма 12.0 Среднее арифметическое 12,0000</td></tr> <tr><td>6</td><td><a href="files/task8733/test6.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test6.txt</a></td><td class='preformatted'>Заявленое количество 3601, фактическое количество 3596 </td></tr> <tr><td>7</td><td><a href="files/task8733/test7.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test7.txt</a></td><td class='preformatted'>Не удалось преобразовать строку в число </td></tr> <tr><td>8</td><td><a href="files/task8733/test8.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test8.txt</a></td><td class='preformatted'>Файл не найден D:\tfa\src\files\task8733\test8.txt </td></tr> <tr><td>9</td><td><a href="files/task8733/test9.txt" target="_blank">открыть в новой вкладке<br>files/task8733/test9.txt</a></td><td class='preformatted'>Файл пуст </td></tr> </table> </div> <div class="task_block" id="task8139"> <div class="task_id">8139</div> <h3>Задача</h3> <div class="task_desc">Исходный файл содержит целые числа в диапазоне от 1000 до 9999, написаные в столбик без дополнительного оформления. Количество чисел заранее не известно. Определить, сколько раз встречаются такие числа, в которых есть две одинаковых цифры подряд. Например: 1123, 1223, 1233.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Содержимое файла</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task8139/test1.txt" target="_blank">открыть в новой вкладке</a></td> <td>Некорректное число</td> </tr> <tr> <td></td> <td><a href="files/task8139/test2.txt" target="_blank">открыть в новой вкладке</a></td> <td>569</td> </tr> <tr> <td></td> <td><a href="files/task8139/test3.txt" target="_blank">открыть в новой вкладке</a></td> <td>253</td> </tr> <tr> <td></td> <td><a href="files/task8139/test4.txt" target="_blank">открыть в новой вкладке</a></td> <td>Не удается считать число</td> </tr> <tr> <td></td> <td><a href="files/task8139/test5.txt" target="_blank">открыть в новой вкладке</a></td> <td>Некорректное число</td> </tr> <tr> <td></td> <td><a href="files/task8139/test6.txt" target="_blank">открыть в новой вкладке</a></td> <td>0</td> </tr> <tr> <td></td> <td><a href="files/task8139/test7.txt" target="_blank">открыть в новой вкладке</a></td> <td>Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task8139/test8.txt" target="_blank">открыть в новой вкладке</a></td> <td>Некорректное число</td> </tr> </table> </div><div id='task5014' class='task_block'> <div class='task_id'>5014</div> <h3>Задача</h3> <div class='task_desc'> Файл с исходными данными содержит целые числа, написанные в столбик без дополнительного оформления. Нужно вывести числа из файла в строчку через запятую. Перед первым и после последнего числа запятой быть не должно. Перехватить сгенерированные исключения и вывести указанное сообщение об ошибке. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (file)</th><th>Результат</th></tr> <tr><td>1</td><td><a href="files/task5014/test1.txt" target="_blank">открыть в новой вкладке<br>files/task5014/test1.txt</a></td><td class='preformatted'>1, 2, 3, 4, 5</td></tr> <tr><td>2</td><td><a href="files/task5014/test2.txt" target="_blank">открыть в новой вкладке<br>files/task5014/test2.txt</a></td><td class='preformatted'>0</td></tr> <tr><td>3</td><td><a href="files/task5014/test3.txt" target="_blank">открыть в новой вкладке<br>files/task5014/test3.txt</a></td><td class='preformatted'>Файл пуст </td></tr> <tr><td>4</td><td><a href="files/task5014/test4.txt" target="_blank">открыть в новой вкладке<br>files/task5014/test4.txt</a></td><td class='preformatted'>-1, -2, -3</td></tr> <tr><td>5</td><td><a href="files/task5014/test5.txt" target="_blank">открыть в новой вкладке<br>files/task5014/test5.txt</a></td><td class='preformatted'>Файл не найден D:\tfa\src\files\task5014\test5.txt </td></tr> <tr><td>6</td><td><a href="files/task5014/test6.txt" target="_blank">открыть в новой вкладке<br>files/task5014/test6.txt</a></td><td class='preformatted'>Не удалось преобразовать строку в число </td></tr> </table> </div> <div id='task9417' class='task_block'> <div class='task_id'>9417</div> <h3>Задача</h3> <div class='task_desc'> Исходные данные находятся в нескольких файлах dataX.txt, где X - число от 0 до 10 включительно. Каждый файл содержит неизвестное количество целых чисел, записанных в столбик без дополнительного оформления. Посчитать сумму чисел в каждом файле, а также общую сумму. При возникновении ошибки, вывести сообщение, прекратить обработку текущего файла и перейти к обработке следующего. Если при обработке файла возникло исключение, то сумма его чисел не участвует в вычислении общей суммы. </div> <div class='check_single preformatted'>Обработка файла files/task9417/data0.txt Сумма в файле: 23066 Обработка файла files/task9417/data1.txt Сумма в файле: 8807 Обработка файла files/task9417/data2.txt Сумма в файле: 2573780 Обработка файла files/task9417/data3.txt Сумма в файле: 203549 Обработка файла files/task9417/data4.txt ОШИБКА: Файл не найден Обработка файла files/task9417/data5.txt Сумма в файле: 16426133 Обработка файла files/task9417/data6.txt ОШИБКА: Не удалось преобразовать число Обработка файла files/task9417/data7.txt Сумма в файле: 329058743 Обработка файла files/task9417/data8.txt ОШИБКА: Файл не найден Обработка файла files/task9417/data9.txt ОШИБКА: Не удалось преобразовать число Обработка файла files/task9417/data10.txt Сумма в файле: -27676 Общая сумма: 348266402 </div> <div class='task_desc'> Данные в файлах можно посмотреть по этим ссылкам: </div> <ol start='1'><li><a href="files/task9417/data0.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data0.txt</a></li><li><a href="files/task9417/data1.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data1.txt</a></li><li><a href="files/task9417/data2.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data2.txt</a></li><li><a href="files/task9417/data3.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data3.txt</a></li><li><a href="files/task9417/data4.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data4.txt</a></li><li><a href="files/task9417/data5.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data5.txt</a></li><li><a href="files/task9417/data6.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data6.txt</a></li><li><a href="files/task9417/data7.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data7.txt</a></li><li><a href="files/task9417/data8.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data8.txt</a></li><li><a href="files/task9417/data9.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data9.txt</a></li><li><a href="files/task9417/data10.txt" target="_blank">открыть в новой вкладке<br>files/task9417/data10.txt</a></li></ol></div> <div class="task_block" id="task6882"> <div class="task_id">6882</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/task6882/test1.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Минимальное число: 0 Всего чисел: 10</td> </tr> <tr> <td></td> <td><a href="files/task6882/test2.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Минимальное число: 0 Всего чисел: 1</td> </tr> <tr> <td></td> <td><a href="files/task6882/test3.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Минимальное число: 5 Всего чисел: 3359</td> </tr> <tr> <td></td> <td><a href="files/task6882/test4.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Минимальное число: 1023 Всего чисел: 9905</td> </tr> <tr> <td></td> <td><a href="files/task6882/test5.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Не удалось преобразовать строку в число в строке 116 62,52</td> </tr> <tr> <td></td> <td><a href="files/task6882/test6.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Не удалось преобразовать строку в число в строке 0 22,47</td> </tr> <tr> <td></td> <td><a href="files/task6882/test7.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл пуст</td> </tr> <tr> <td></td> <td><a href="files/task6882/test8.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task6882/test9.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Не удалось преобразовать строку в число в строке 0 Я пришел к тебе с приветом,</td> </tr> <tr> <td></td> <td><a href="files/task6882/test10.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Минимальное число: -15 Всего чисел: 16</td> </tr> </table> </div><div class="task_block" id="task1212"> <div class="task_id">1212</div> <h3>Задача</h3> <div class="task_desc">Найти самую большую площадь прямоугольника. Информация о прямоугольниках находится в CSV файле (<a href="https://ru.wikipedia.org/wiki/CSV" target="_blank">справка</a>) с разделителем ";". Общее количество прямоугольников заранее неизвестно. В каждой строчке находится информация об отдельном прямоугольнике: x и y его верхнего-левого угла, ширина и высота. Например "68;59;32;15" значит что x = 68, y = 59, ширина = 32, высота = 15. При возникновении исключения, нужно прервать обработку файла и вывести сообщение.</div> <table class="check_values"> <tr> <th>Номер по порядку</th> <th>Выражение</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task1212/test1.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Максимальная площадь: 875 Всего записей: 6</td> </tr> <tr> <td></td> <td><a href="files/task1212/test2.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Максимальная площадь: 129276 Всего записей: 104</td> </tr> <tr> <td></td> <td><a href="files/task1212/test3.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task1212/test4.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл пуст</td> </tr> <tr> <td></td> <td><a href="files/task1212/test5.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Максимальная площадь: 3691856 Всего записей: 37</td> </tr> <tr> <td></td> <td><a href="files/task1212/test6.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат данных в строке 0 2642;1610;6710</td> </tr> <tr> <td></td> <td><a href="files/task1212/test7.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task1212/test8.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Не удалось преобразовать строку в число в строке 6 7125;8872;g;4158;</td> </tr> <tr> <td></td> <td><a href="files/task1212/test9.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат данных в строке 0 6846,9127,9991,5478</td> </tr> </table> </div><div class="task_block" id="task9472"> <div class="task_id">9472</div> <h3>Задача</h3> <div class="task_desc">Найти самую большую площадь фигуры. Информация о фигурах находится в CSV файле (<a href="https://ru.wikipedia.org/wiki/CSV" target="_blank">справка в новой вкладке</a>) с разделителем ";". Общее количество фигур заранее неизвестно. В каждой строчке находится информация об отдельной фигуре: ее наименование и свойства. Обработайте потенциальные исключения. <ul> <li>Прямоугольник. Наименование rect, свойства: x и y его верхнего-левого угла, ширина и высота. Например "rect;68;59;32;15" - прямоугольник, x = 68, y = 59, ширина 32, высота 15</li> <li>Круг. Наименование circle, свойства: x и y центра, радиус. Например "circle;72;98;14" - круг, x = 72, y = 98, радиус = 14</li> </ul></div> <table class="check_values"> <tr> <th>Номер по порядку</th> <th>Выражение</th> <th>Результат</th> </tr> <tr> <td></td> <td><a href="files/task9472/test1.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Максимальная площадь: 1480,0000 Всего записей: 31</td> </tr> <tr> <td></td> <td><a href="files/task9472/test2.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Максимальная площадь: 907,9203 Всего записей: 31</td> </tr> <tr> <td></td> <td><a href="files/task9472/test3.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл не существует</td> </tr> <tr> <td></td> <td><a href="files/task9472/test4.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл пуст</td> </tr> <tr> <td></td> <td><a href="files/task9472/test5.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат данных в стркое 0 261;377;123;94</td> </tr> <tr> <td></td> <td><a href="files/task9472/test6.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат данных в строке 0 rect;71;55;14</td> </tr> <tr> <td></td> <td><a href="files/task9472/test7.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат данных в строке 0 circle;57;75</td> </tr> <tr> <td></td> <td><a href="files/task9472/test8.csv" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Некорректный формат данных в стркое 0 polygon;0;0;1;2;3;4</td> </tr> </table> </div><div class="task_block" id="task5081"> <div class="task_id">5081</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/task5081/test1.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">15 110 31496</td> </tr> <tr> <td></td> <td><a href="files/task5081/test2.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Не удалось преобразовать строку в число Строка пуста 8</td> </tr> <tr> <td></td> <td><a href="files/task5081/test3.txt" target="_blank">открыть в новой вкладке</a></td> <td class="preformatted">Файл отсутствует</td> </tr> <tr> <td></td> <td><a href="files/task5081/test4.txt" 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>