/
AlexStone
/
Java25sep
Обзор
Документация
Войти
/
AlexStone
/
Java25sep
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
java/tasks 4.html
878 строк
40 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>4 Проверка исходных данных</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='#task9298' class='example'>1*</a><li><a href='#task4312'>2</a><li><a href='#task8833' class='example'>3*</a><li><a href='#task9020'>4</a><li><a href='#task1934'>5</a><li><a href='#task3943'>6</a><li><a href='#task2801' class='example'>7*</a><li><a href='#task5063'>8</a><li><a href='#task5870'>9</a></ul><ul><li><a href='#task2790'>10</a><li><a href='#task3490'>11</a><li><a href='#task9622'>12</a><li><a href='#task7799'>13</a><li><a href='#task3591'>14</a><li><a href='#task5895'>15</a><li><a href='#task2461'>16</a><li><a href='#task2624'>17</a><li><a href='#task5871'>18</a></ul></div><div id='task9298' class='task_block'> <div class='task_desc'> Основное внимание в этой практической работе уделено одной из техник защитного программирования - сообщениям об ошибке. Говорить пользователю о том, что он ввёл некорректные данные очень важно. Это может быть важнее, чем посчитать результат. </div> <div class='task_desc'> В программе нужно предусмотреть как минимум два варианта действий. Один - когда все данные корректны. Второй - когда исходные данные не подходят для выполнения расчетов. Для оформления нужно использовать конструкции ветвления. </div> <div class='task_id'>9298</div> <h3>Задача</h3> <div class='task_desc'> Дана длина ребра куба. Найти площадь его боковой поверхности по формуле <formula>area=6*edge<sup>2</sup></formula>. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (edge)</th><th>Результат</th></tr> <tr><td>1</td><td>1</td><td class='preformatted'>Площадь поверхности куба равна 6,0000</td></tr> <tr><td>2</td><td>5</td><td class='preformatted'>Площадь поверхности куба равна 150,0000</td></tr> <tr><td>3</td><td>0</td><td class='preformatted'>Значение edge должно быть положительным </td></tr> <tr><td>4</td><td>-2</td><td class='preformatted'>Значение edge должно быть положительным </td></tr> </table> <h4>Порядок решения задач с проверками исходных данных</h4> <div class='task_desc'> Реализуйте чтение исходных данных </div> <div class='check_single preformatted'>double edge; edge = Double.parseDouble(input.nextLine()); </div> <div class='task_desc'> Добавьте две конструкции ветвления: для корректных и некорректных данных. Всегда пишите фигурные скобочки у конструкций ветвления. Пишите открывающую и закрывающую скобку одновременно. Заполняйте внутреннее содержимое после того, как напишете открывающую и закрывающую часть блока. У людей часто возникают ошибки в логике программы из за того, что скобки расставлены неправильно. </div> <div class='check_single preformatted'>double edge; edge = Double.parseDouble(input.nextLine()); if () { //сообщение об ошибке } if () { //расчет и вывод результата }</div> <div class='task_desc'> Подумайте, какое условие будет истинно для всех корректных данных, которые полезны для расчета результата. </div> <div class='check_single preformatted'>double edge; edge = Double.parseDouble(input.nextLine()); if () { //сообщение об ошибке } if (edge > 0) { //расчет и вывод результата }</div> <div class='task_desc'> Подумайте какое условие будет истинно для всех некорректных данных. </div> <div class='check_single preformatted'>double edge; edge = Double.parseDouble(input.nextLine()); if (edge <= 0) { //сообщение об ошибке } if (edge > 0) { //расчет и вывод результата }</div> <div class='task_desc'> Добавьте вычисления, вывод результата и сообщений об ошибке </div> <div class='check_single preformatted'>double edge; edge = Double.parseDouble(input.nextLine()); if (edge <= 0) { //сообщение об ошибке System.out.println("Значение edge должно быть положительным"); } if (edge > 0) { //расчет и вывод результата double result; result = 6 * edge * edge; System.out.printf("Площадь поверхности куба равна %.4f", result); }</div> <div class='task_desc'> Для сравнения можно применять следующие операторы: </div> <ol start='1'><li><zoom><</zoom> Истинно, если значение слева <b>меньше</b> значения справа</li><li><zoom>></zoom> Истинно, если значение слева <b>больше</b> значения справа</li><li><zoom><=</zoom> Истинно, если значение слева <b>меньше или равно</b> значению справа</li><li><zoom>>=</zoom> Истинно, если значение слева <b>больше или равно</b> значению справа</li><li><zoom>==</zoom> Истинно, если значение слева <b>строго равно</b> значению справа. Для сравнения строк нужно применять выражение standard.equals(someString).</li><li><zoom>!=</zoom> Истинно, если значение слева <b>не равно</b> значению справа</li></ol></div> <div id='task4312' class='task_block'> <div class='task_desc'> Обычно в шапке таблицы с тестовыми данными у исходных данных будут указаны предпочтительные имена. Как правило это существительные английского языка, которые упоминались на русском языке при постановке задачи. Заведите словарик и записывайте в него все новые слова и их перевод. На английском языке проще найти помощь и ответы на сложные вопросы. Все технологии и инструменты программирования публикуют информацию о себе на английском языке. Расширяйте свой словарный запас! </div> <div class='task_id'>4312</div> <h3>Задача</h3> <div class='task_desc'> Вычислить площадь прямоугольного треугольника по формуле <formula>area=edge*height/2</formula>, где edge - основание, height - высота. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>edge</th><th>height</th></tr> <tr> <td>1</td><td>1</td><td>1</td><td class='preformatted'>Площадь прямоугольного треугольника с высотой 1 и основанием 1 равна 0,5000</td></tr> <tr> <td>2</td><td>2</td><td>3</td><td class='preformatted'>Площадь прямоугольного треугольника с высотой 3 и основанием 2 равна 3,0000</td></tr> <tr> <td>3</td><td>0</td><td>10</td><td class='preformatted'>Длина основания треугольника должна быть положительна </td></tr> <tr> <td>4</td><td>-2</td><td>1</td><td class='preformatted'>Длина основания треугольника должна быть положительна </td></tr> <tr> <td>5</td><td>3</td><td>-4</td><td class='preformatted'>Высота треугольника должна быть положительна </td></tr> <tr> <td>6</td><td>-5</td><td>-7</td><td class='preformatted'>Длина основания треугольника должна быть положительна Высота треугольника должна быть положительна </td></tr> </table> <div class='task_desc'> В этой задаче, корректные исходные данные нужно проверять двумя условиями. Длина основания должна быть положительна и одновременно высота должна быть положительна. Для оформления этой идеи в коде можно вкладывать одно условие внутри другого. </div> <div class='check_single preformatted'>if (edge > 0) {//условие для корректных данных if (height > 0) { //вычисления и печать результата на экран } }</div> </div> <div id='task8833' class='task_block'> <div class='task_id'>8833</div> <h3>Задача</h3> <div class='task_desc'> Вычислить результат по формуле <formula><sqrt><val>x</val></sqrt></formula>. Сообщите об ошибке если пользователь ввел отрицательное число. Воспользуйтесь стандартной функцией вычисления корня: </div> <div class='check_single preformatted'>result = Math.sqrt(x);</div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (X)</th><th>Результат</th></tr> <tr><td>1</td><td>7606</td><td class='preformatted'>Корень из 7606,0000 равен 87,2124</td></tr> <tr><td>2</td><td>9</td><td class='preformatted'>Корень из 9,0000 равен 3,0000</td></tr> <tr><td>3</td><td>0</td><td class='preformatted'>Корень из 0,0000 равен 0,0000</td></tr> <tr><td>4</td><td>-7603</td><td class='preformatted'>Значение X должно быть неотрицательным </td></tr> <tr><td>5</td><td>-1</td><td class='preformatted'>Значение X должно быть неотрицательным </td></tr> </table> </div> <div id='task9020' class='task_block'> <div class='task_desc'> Сообщение об ошибке должно быть написано так, чтобы пользователь мог понять какие значения или действия от него ожидались. В некоторых случаях к сообщению добавляют код ошибки. </div> <div class='task_id'>9020</div> <h3>Задача</h3> <div class='task_desc'> Вычислить результат по формуле <formula>3<sqrt><val>61-x</val></sqrt></formula> </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (X)</th><th>Результат</th></tr> <tr><td>1</td><td>0</td><td class='preformatted'>Результат вычисления 23,4307</td></tr> <tr><td>2</td><td>-9</td><td class='preformatted'>Результат вычисления 25,0998</td></tr> <tr><td>3</td><td>60</td><td class='preformatted'>Результат вычисления 3,0000</td></tr> <tr><td>4</td><td>61</td><td class='preformatted'>Результат вычисления 0,0000</td></tr> <tr><td>5</td><td>62</td><td class='preformatted'>Подкоренное выражение должно быть неотрицательным </td></tr> <tr><td>6</td><td>7573</td><td class='preformatted'>Подкоренное выражение должно быть неотрицательным </td></tr> <tr><td>7</td><td>75</td><td class='preformatted'>Подкоренное выражение должно быть неотрицательным </td></tr> </table> <div class='task_desc'> Условие может содержать арифметические операторы. Например в этой задаче вы можете написать условие так: </div> <div class='check_single preformatted'>if (61 - x < 0) {</div> <div class='task_desc'> Это не единственный и не лучший вариант написания условия. Нужно знать что так можно. </div> </div> <div id='task1934' class='task_block'> <div class='task_id'>1934</div> <h3>Задача</h3> <div class='task_desc'> Вычислить результат по формуле <formula>a<sqrt><val>-7b</val></sqrt></formula> </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>A</th><th>B</th></tr> <tr> <td>1</td><td>-3</td><td>-7</td><td class='preformatted'>Результат вычисления -21,0000</td></tr> <tr> <td>2</td><td>0</td><td>-50</td><td class='preformatted'>Результат вычисления 0,0000</td></tr> <tr> <td>3</td><td>13</td><td>0</td><td class='preformatted'>Результат вычисления -0,0000</td></tr> <tr> <td>4</td><td>6047</td><td>-6011</td><td class='preformatted'>Результат вычисления 1240401,6995</td></tr> <tr> <td>5</td><td>13</td><td>17</td><td class='preformatted'>Значение B должно быть не положительным </td></tr> <tr> <td>6</td><td>6221</td><td>6373</td><td class='preformatted'>Значение B должно быть не положительным </td></tr> </table> </div> <div id='task3943' class='task_block'> <div class='task_id'>3943</div> <h3>Задача</h3> <div class='task_desc'> Вычислить результат по формуле <formula>-5<sqrt><val>x+<sqrt><val>y</val></sqrt></val></sqrt></formula> </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>x</th><th>y</th></tr> <tr> <td>1</td><td>-5</td><td>81</td><td class='preformatted'>Результат вычислений -10,0000</td></tr> <tr> <td>2</td><td>13</td><td>36</td><td class='preformatted'>Результат вычислений -21,7945</td></tr> <tr> <td>3</td><td>-20</td><td>36</td><td class='preformatted'>Подкоренное выражение должно быть неотрицательным </td></tr> <tr> <td>4</td><td>20</td><td>-50</td><td class='preformatted'>Значение y должно быть неотрицательным </td></tr> <tr> <td>5</td><td>7507</td><td>7499</td><td class='preformatted'>Результат вычислений -435,7062</td></tr> <tr> <td>6</td><td>7489</td><td>-7487</td><td class='preformatted'>Значение y должно быть неотрицательным </td></tr> <tr> <td>7</td><td>-7481</td><td>7477</td><td class='preformatted'>Подкоренное выражение должно быть неотрицательным </td></tr> </table> </div> <div id='task2801' class='task_block'> <div class='task_id'>2801</div> <h3>Задача</h3> <div class='task_desc'> Дано два числа: делимое и делитель. Найти частное и остаток от деления. Все значения округлить до целого. Вывести ответ по шаблону: </div> <div class='check_single preformatted'>Делимое $dividend, делитель $divider, частное $quotient, остаток $remainder</div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>dividend</th><th>divider</th></tr> <tr> <td>1</td><td>1234</td><td>11</td><td class='preformatted'>Делимое 1234, делитель 11, частное 112, остаток 2 </td></tr> <tr> <td>2</td><td>5</td><td>13</td><td class='preformatted'>Делимое 5, делитель 13, частное 0, остаток 5 </td></tr> <tr> <td>3</td><td>17</td><td>17</td><td class='preformatted'>Делимое 17, делитель 17, частное 1, остаток 0 </td></tr> <tr> <td>4</td><td>0</td><td>23</td><td class='preformatted'>Делимое 0, делитель 23, частное 0, остаток 0 </td></tr> <tr> <td>5</td><td>4</td><td>0</td><td class='preformatted'>Делитель не может быть равен 0 </td></tr> </table> <div class='task_desc'> В этой задаче вам нужно работать только с целой частью чисел. Цифры после запятой нужно отбросить при делении. Поэтому можно воспользоваться типом "целое число". Пример объявления переменной для целого числа можно увидеть в примере ниже: </div> <div class='check_single preformatted'>int dividend, divider; //Объявление переменных типа int для целых чисел dividend = Integer.parseInt(firstValue);//читаем значение от пользователя divider = Integer.parseInt(secondValue); if (divider == 0) {//если значение переменной divider строго равно 0 System.out.println("Делитель не может быть равен 0"); } if (divider != 0) {//если значение переменной divider не равно 0 int quotient = dividend / divider; int remainder = dividend % divider;//Нахождение остатка от деления dividend на divider System.out.printf("Делимое %d, делитель %d", dividend, divider);//Выражение %d обозначает, что нужно написать целое число System.out.printf(", частное %d, остаток %d\n", quotient, remainder); } </div> </div> <div id='task5063' class='task_block'> <div class='task_id'>5063</div> <h3>Задача</h3> <div class='task_desc'> Дан угол в градусах (aInitial). Определить (aRemainder) наименьшее положительное значение угла, равного данному. (Остаток от деления на 360) </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (aInitial)</th><th>Результат</th></tr> <tr><td>1</td><td>365</td><td class='preformatted'>Угол 365 равен углу 5 </td></tr> <tr><td>2</td><td>45</td><td class='preformatted'>Угол 45 равен углу 45 </td></tr> <tr><td>3</td><td>1125</td><td class='preformatted'>Угол 1125 равен углу 45 </td></tr> <tr><td>4</td><td>1500</td><td class='preformatted'>Угол 1500 равен углу 60 </td></tr> <tr><td>5</td><td>2000</td><td class='preformatted'>Угол 2000 равен углу 200 </td></tr> <tr><td>6</td><td>0</td><td class='preformatted'>Угол 0 равен углу 0 </td></tr> <tr><td>7</td><td>360</td><td class='preformatted'>Угол 360 равен углу 0 </td></tr> </table> </div> <div id='task5870' class='task_block'> <div class='task_id'>5870</div> <h3>Задача</h3> <div class='task_desc'> Видеоролик длится timeInSeconds секунд. Определить сколько это в полных часах, минутах и секундах. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (timeInSeconds)</th><th>Результат</th></tr> <tr><td>1</td><td>4000</td><td class='preformatted'>1 часов 6 минут 40 секунд</td></tr> <tr><td>2</td><td>3603</td><td class='preformatted'>1 часов 0 минут 3 секунд</td></tr> <tr><td>3</td><td>3599</td><td class='preformatted'>0 часов 59 минут 59 секунд</td></tr> <tr><td>4</td><td>3660</td><td class='preformatted'>1 часов 1 минут 0 секунд</td></tr> <tr><td>5</td><td>59</td><td class='preformatted'>0 часов 0 минут 59 секунд</td></tr> <tr><td>6</td><td>61</td><td class='preformatted'>0 часов 1 минут 1 секунд</td></tr> <tr><td>7</td><td>0</td><td class='preformatted'>0 часов 0 минут 0 секунд</td></tr> <tr><td>8</td><td>-1</td><td class='preformatted'>Количество времени должно быть неотрицательным </td></tr> <tr><td>9</td><td>-20</td><td class='preformatted'>Количество времени должно быть неотрицательным </td></tr> </table> </div> <div id='task2790' class='task_block'> <div class='task_id'>2790</div> <h3>Задача</h3> <div class='task_desc'> Вычислить результат по формуле. Значение угла дано в градусах. </div> <div class='task_desc'> <formula> <sqrt><val> 1-sin<sup>2</sup>(xRad) </val></sqrt> </formula> </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (xDeg)</th><th>Результат</th></tr> <tr><td>1</td><td>6997</td><td class='preformatted'>0,9205</td></tr> <tr><td>2</td><td>31</td><td class='preformatted'>0,8572</td></tr> <tr><td>3</td><td>90</td><td class='preformatted'>0,0000</td></tr> <tr><td>4</td><td>0</td><td class='preformatted'>1,0000</td></tr> <tr><td>5</td><td>180</td><td class='preformatted'>1,0000</td></tr> </table> </div> <div id='task3490' class='task_block'> <div class='task_id'>3490</div> <h3>Задача</h3> <div class='task_desc'> Сколько проволоки можно намотать на катушку диаметром yarnDiameterCm см за wireCoils полных витков? Толщиной проволоки и шириной катушки можно пренебречь. Результат округлить вниз до целого количества сантиметров. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>yarnDiameterCm</th><th>wireCoils</th></tr> <tr> <td>1</td><td>3</td><td>2</td><td class='preformatted'>Длина окружности катушки равна 9,4248 На катушку можно намотать 18 см проволоки</td></tr> <tr> <td>2</td><td>10</td><td>300</td><td class='preformatted'>Длина окружности катушки равна 31,4159 На катушку можно намотать 9424 см проволоки</td></tr> <tr> <td>3</td><td>0</td><td>15</td><td class='preformatted'>Длина проволоки должна быть неотрицательна </td></tr> <tr> <td>4</td><td>13</td><td>0</td><td class='preformatted'>Количество витков должно быть неотрицательно </td></tr> <tr> <td>5</td><td>11</td><td>-500</td><td class='preformatted'>Количество витков должно быть неотрицательно </td></tr> </table> </div> <div id='task9622' class='task_block'> <div class='task_id'>9622</div> <h3>Задача</h3> <div class='task_desc'> Вычислите: </div> <ol start='1'><li>Кинетическую энергию тела по формуле: <formula> kineticEnergy = <fraction> <numerator>mass*velocity<sup>2</sup></numerator> <denominator>2</denominator> </fraction> </formula></li><li>Потенциальную энергию тела по формуле: <formula>potentialEnergy = mass*g*height</formula></li></ol><div class='task_desc'> Значение g - <a href="https://ru.wikipedia.org/wiki/%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%B0%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F">ускорение свободного падения</a>, приблизительно равное 9,8067. Оформите результат по шаблону: </div> <div class='check_single preformatted'>Кинетическая энергия составляет: $kineticEnergy Дж Потенциальная энергия составляет: $potentialEnergy Дж</div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='3'>Исходные данные</th><th rowspan='2'>Результат</th></tr> <tr><th>mass</th><th>velocity</th><th>height</th></tr> <tr><td>1</td><td>7351</td><td>7349</td><td>7333</td><td class='preformatted'>Кинетическая энергия составляет: 198505672575,5000 Дж Потенциальная энергия составляет: 528629016,1161 Дж</td></tr> <tr><td>2</td><td>19</td><td>23</td><td>29</td><td class='preformatted'>Кинетическая энергия составляет: 5025,5000 Дж Потенциальная энергия составляет: 5403,4917 Дж</td></tr> <tr><td>3</td><td>-1</td><td>2</td><td>3</td><td class='preformatted'>Значение M должно быть положительным </td></tr> <tr><td>4</td><td>2</td><td>-5</td><td>8</td><td class='preformatted'>Значение V должно быть положительным </td></tr> <tr><td>5</td><td>2</td><td>6</td><td>-9</td><td class='preformatted'>Значение H должно быть неотрицательным </td></tr> </table> </div> <div id='task7799' class='task_block'> <div class='task_id'>7799</div> <h3>Задача</h3> <div class='task_desc'> Вычислить силу трения по формуле. Значение угла дано в градусах. <formula>force=mass*g*cos(angleRadian)</formula>, где g - <a href="https://ru.wikipedia.org/wiki/%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D0%B5%D0%BD%D0%B8%D0%B5_%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE_%D0%BF%D0%B0%D0%B4%D0%B5%D0%BD%D0%B8%D1%8F">ускорение свободного падения</a>, приблизительно равное 9,8067 </div> <img src="images/task7799.png"/> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>mass</th><th>angleDegree</th></tr> <tr> <td>1</td><td>5</td><td>45</td><td class='preformatted'>Сила трения равна 34,6719 Дж</td></tr> <tr> <td>2</td><td>7297</td><td>30</td><td class='preformatted'>Сила трения равна 61972,3361 Дж</td></tr> <tr> <td>3</td><td>10</td><td>90</td><td class='preformatted'>Сила трения равна 0 Дж </td></tr> <tr> <td>4</td><td>7</td><td>91</td><td class='preformatted'>Сила трения равна 0 Дж </td></tr> <tr> <td>5</td><td>9</td><td>100</td><td class='preformatted'>Сила трения равна 0 Дж </td></tr> <tr> <td>6</td><td>0</td><td>30</td><td class='preformatted'>Масса должна быть положительной Сила трения равна 0,0000 Дж</td></tr> <tr> <td>7</td><td>-10</td><td>5</td><td class='preformatted'>Масса должна быть положительной Сила трения равна -97,6938 Дж</td></tr> </table> <div class='task_desc'> Исходя из смысла задачи и тестовых данных вам нужно понять, какие проверки исходных данных добавить. </div> </div> <div id='task3591' class='task_block'> <div class='task_id'>3591</div> <h3>Задача</h3> <div class='task_desc'> Считая, что Земля - идеальная сфера с радиусом radius=6350 км, определить расстояние до линии горизонта от точки с заданной высотой над Землей. Формулу для расчета придумайте исходя из условий задачи или найдите в Интернете. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (height)</th><th>Результат</th></tr> <tr><td>1</td><td>200</td><td class='preformatted'>Расстояние до горизонта равно 1606,2378</td></tr> <tr><td>2</td><td>6857</td><td class='preformatted'>Расстояние до горизонта равно 11580,2569</td></tr> <tr><td>3</td><td>0</td><td class='preformatted'>Расстояние до горизонта равно 0,0000</td></tr> <tr><td>4</td><td>-500</td><td class='preformatted'>Высота над уровнем Земли должна быть неотрицательна </td></tr> </table> </div> <div id="task5895" class="task_block empty_on_print"> <div class="task_id">5895</div> <h3>Задача</h3> <div class="task_desc">Вычислить результат по формуле. Значение угла дано в градусах. <formula> <sqrt><val> a<sup>2</sup>+b<sup>2</sup>-2*a*b*cos(cInRad) </val></sqrt> </formula> </div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="3">Вводимые данные</th> <th rowspan="2">Результат (result)</th> </tr> <tr> <th>a</th> <th>b</th> <th>cInDeg</th> </tr> <tr> <td></td> <td>7109</td> <td>7103</td> <td>7079</td> <td>12369,4955</td> </tr> <tr> <td></td> <td>3</td> <td>7</td> <td>13</td> <td>4,1324</td> </tr> </table> </div><div id="task2461" class="task_block empty_on_print"> <div class="task_id">2461</div> <h3>Задача</h3> <div class="task_desc">Вычислить результат по формуле: <fraction> <numerator>a*d+b*c</numerator> <denominator>a*d</denominator> </fraction> </div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="4">Вводимые данные</th> <th rowspan="2">Результат (R)</th> </tr> <tr> <th>a</th> <th>b</th> <th>c</th> <th>d</th> </tr> <tr> <td></td> <td>11</td> <td>3000</td> <td>5</td> <td>7</td> <td>195,8052</td> </tr> <tr> <td></td> <td>7069</td> <td>7043</td> <td>7039</td> <td>7057</td> <td>1,9938</td> </tr> <tr> <td></td> <td>0</td> <td>7043</td> <td>7039</td> <td>7027</td> <td>Значение a должно быть не равно нулю</td> </tr> <tr> <td></td> <td>7019</td> <td>7013</td> <td>7001</td> <td>0</td> <td>Значение d должно быть не равно нулю</td> </tr> </table> </div><div id="task2624" class="task_block empty_on_print"> <div class="task_id">2624</div> <h3>Задача</h3> <div class="task_desc">Вычислить результат по формуле: <fraction> <numerator>1</numerator> <denominator> <sqrt><val>a*x<sup>2</sup>+b*x+c</val></sqrt> </denominator> </fraction> </div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="4">Вводимые данные</th> <th rowspan="2">Результат (R)</th> </tr> <tr> <th>a</th> <th>b</th> <th>c</th> <th>x</th> </tr> <tr> <td></td> <td>11</td> <td>13</td> <td>17</td> <td>19</td> <td>0,0154</td> </tr> <tr> <td></td> <td>6991</td> <td>6983</td> <td>6977</td> <td>6961</td> <td>0,0000</td> </tr> <tr> <td></td> <td>3</td> <td>11</td> <td>-241</td> <td>1</td> <td>Подкоренное выражение должно быть неотрицательным</td> </tr> <tr> <td></td> <td>-6959</td> <td>6949</td> <td>6947</td> <td>6917</td> <td>Подкоренное выражение должно быть неотрицательным</td> </tr> <tr> <td></td> <td>0</td> <td>0</td> <td>0</td> <td>0</td> <td>Знаменатель не может быть равен нулю</td> </tr> <tr> <td></td> <td>1</td> <td>2</td> <td>-3</td> <td>1</td> <td>Знаменатель не может быть равен нулю</td> </tr> </table> </div><div id="task5871" class="task_block empty_on_print"> <div class="task_id">5871</div> <h3>Задача</h3> <div class="task_desc">Вычислить результат по формуле <fraction> <numerator> <sqrt><val>x+5</val></sqrt>+<sqrt><val>x-5</val></sqrt> </numerator> <denominator> 2<sqrt><val>x</val></sqrt> </denominator> </fraction> </div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Вводимые данные (X)</th> <th>Результат (R)</th> </tr> <tr> <td></td> <td>5</td> <td>0,707107</td> </tr> <tr> <td></td> <td>6</td> <td>0,881127</td> </tr> <tr> <td></td> <td>6911</td> <td>1,000000</td> </tr> <tr> <td></td> <td>2</td> <td>Подкоренное выражение должно быть неотрицательным</td> </tr> <tr> <td></td> <td>0</td> <td>Подкоренное выражение должно быть неотрицательным</td> </tr> <tr> <td></td> <td>-4</td> <td>Подкоренное выражение должно быть неотрицательным</td> </tr> <tr> <td></td> <td>-20</td> <td>Подкоренное выражение должно быть неотрицательным</td> </tr> </table> </div>Версия 20240202. Подборка задач, выбор порядка подачи и подготовка тестовых данных - Крюков Александр, Омск 2013-2026. <a href='https://github.com/AKryukov92/programming-basics'>Основной репозиторий</a></body></html>