/
AlexStone
/
Java25sep
Обзор
Документация
Войти
/
AlexStone
/
Java25sep
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
java/tasks 6.html
1 423 строки
52 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>6 Взаимоисключающие случаи</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='#task3072' class='example'>1*</a><li><a href='#task3770'>2</a><li><a href='#task5980'>3</a><li><a href='#task8174'>4</a><li><a href='#task7178'>5</a><li><a href='#task4257'>6</a><li><a href='#task1763'>7</a><li><a href='#task1945'>8</a><li><a href='#task4859'>9</a></ul><ul><li><a href='#task8878' class='example'>10*</a><li><a href='#task6291'>11</a><li><a href='#task5662'>12</a><li><a href='#task5116'>13</a><li><a href='#task2291'>14</a><li><a href='#task1186' class='example'>15*</a><li><a href='#task8518'>16</a><li><a href='#task1292'>17</a><li><a href='#task6686'>18</a><li><a href='#task6924'>19</a><li><a href='#task4527'>20</a><li><a href='#task2153'>21</a><li><a href='#task7937'>22</a></ul></div><div id='task3072' class='task_block'> <div class='task_id'>3072</div> <h3>Задача</h3> <div class='task_desc'> Даны два числа P и Q. Определить какое из них максимальное, а какое - минимальное. Вычислить абсолютную разницу между ними. Результат оформить по шаблону: </div> <div class='check_single preformatted'>Максимальное $max, минимальное $min. Разница $diff.</div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>P</th><th>Q</th></tr> <tr> <td>1</td><td>173</td><td>179</td><td class='preformatted'>Максимальное 179, минимальное 173. Разница 6. </td></tr> <tr> <td>2</td><td>359</td><td>271</td><td class='preformatted'>Максимальное 359, минимальное 271. Разница 88. </td></tr> <tr> <td>3</td><td>439</td><td>-761</td><td class='preformatted'>Максимальное 439, минимальное -761. Разница 1200. </td></tr> <tr> <td>4</td><td>5</td><td>5</td><td class='preformatted'>Максимальное 5, минимальное 5. Разница 0. </td></tr> <tr> <td>5</td><td>0</td><td>-15</td><td class='preformatted'>Максимальное 0, минимальное -15. Разница 15. </td></tr> </table> </div> <div id='task3770' class='task_block'> <div class='task_id'>3770</div> <h3>Задача</h3> <div class='task_desc'> Даны действительные числа x, y, z. Вывести на экран значение наибольшего из них. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='3'>Исходные данные</th><th rowspan='2'>Результат</th></tr> <tr><th>X</th><th>Y</th><th>Z</th></tr> <tr><td>1</td><td>1</td><td>2</td><td>3</td><td class='preformatted'>Наибольшее число это Z со значением 3 </td></tr> <tr><td>2</td><td>100</td><td>215</td><td>478</td><td class='preformatted'>Наибольшее число это Z со значением 478 </td></tr> <tr><td>3</td><td>7</td><td>4</td><td>-2</td><td class='preformatted'>Наибольшее число это X со значением 7 </td></tr> <tr><td>4</td><td>-2</td><td>-1</td><td>0</td><td class='preformatted'>Наибольшее число это Z со значением 0 </td></tr> <tr><td>5</td><td>0</td><td>5</td><td>-7</td><td class='preformatted'>Наибольшее число это Y со значением 5 </td></tr> <tr><td>6</td><td>43</td><td>99</td><td>21</td><td class='preformatted'>Наибольшее число это Y со значением 99 </td></tr> </table> </div> <div id='task5980' class='task_block'> <div class='task_id'>5980</div> <h3>Задача</h3> <div class='task_desc'> Дано действительное число K. Если оно положительно, вычислить квадратный корень из него. Иначе - квадрат числа. Результат оформите по шаблону: </div> <div class='check_single preformatted'>Корень из $K равен $root. </div> <div class='check_single preformatted'>Квадрат из $K равен $square.</div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (K)</th><th>Результат</th></tr> <tr><td>1</td><td>9</td><td class='preformatted'>Корень из 9,0000 равен 3,0000 </td></tr> <tr><td>2</td><td>13.94</td><td class='preformatted'>Корень из 13,9400 равен 3,7336 </td></tr> <tr><td>3</td><td>0</td><td class='preformatted'>Квадрат числа 0,0000 равен 0,0000 </td></tr> <tr><td>4</td><td>-7.8</td><td class='preformatted'>Квадрат числа -7,8000 равен 60,8400 </td></tr> <tr><td>5</td><td>-0.25</td><td class='preformatted'>Квадрат числа -0,2500 равен 0,0625 </td></tr> </table> </div> <div id="task8174" class="task_block empty_on_print"> <div class="task_id">8174</div> <h3>Задача</h3> <div class="task_desc">Дано число A. Вывести его абсолютное значение.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Вводимые данные (A)</th> <th>Результат</th> </tr> <tr> <td></td> <td>-5</td> <td>5</td> </tr> <tr> <td></td> <td>-11</td> <td>11</td> </tr> <tr> <td></td> <td>7</td> <td>7</td> </tr> <tr> <td></td> <td>13</td> <td>13</td> </tr> <tr> <td></td> <td>0</td> <td>0</td> </tr> </table> </div><div id="task7178" class="task_block empty_on_print"> <div class="task_id">7178</div> <h3>Задача</h3> <div class="task_desc">Даны целые числа M и P. Если M делится без остатка на P, вывести на экран частное от деления. В противном случае вывести сообщение по шаблону "$m не делится нацело на $p".</div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="2">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>M</th> <th>P</th> </tr> <tr> <td></td> <td>36</td> <td>2</td> <td>18</td> </tr> <tr> <td></td> <td>15</td> <td>3</td> <td>5</td> </tr> <tr> <td></td> <td>100</td> <td>10</td> <td>10</td> </tr> <tr> <td></td> <td>41</td> <td>7</td> <td>41 не делится нацело на 7</td> </tr> <tr> <td></td> <td>2</td> <td>3</td> <td>2 не делится нацело на 3</td> </tr> <tr> <td></td> <td>15</td> <td>0</td> <td>Значение P должно быть не равно нулю</td> </tr> </table> </div><div id="task4257" class="task_block empty_on_print"> <div class="task_id">4257</div> <h3>Задача</h3> <div class="task_desc">Электрикам нужно протянуть телефонный кабель между двумя деревнями вдоль дороги. Длина дороги roadKm и измеряется в километрах. Длина кабеля в катушке составляет lengthFeet и измеряется в футах. 1 фут = 0.305<b>м</b>. Хватит ли кабеля для проведения телефонной линии?</div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="2">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>roadKm</th> <th>lengthFeet</th> </tr> <tr> <td></td> <td>0,7</td> <td>2297</td> <td class="preformatted">Расстояние 0,7000 км это 2295,0820 футов Длина кабеля 2297,0000 футов это 0,7006 км Кабеля хватит. Расстояние меньше длины кабеля.</td> </tr> <tr> <td></td> <td>0,3</td> <td>983</td> <td class="preformatted">Расстояние 0,3000 км это 983,6066 футов Длина кабеля 983,0000 футов это 0,2998 км Кабеля не хватит. Длина кабеля меньше расстояния.</td> </tr> <tr> <td></td> <td>0,05</td> <td>101</td> <td class="preformatted">Расстояние 0,0500 км это 163,9344 футов Длина кабеля 101,0000 футов это 0,0308 км Кабеля не хватит. Длина кабеля меньше расстояния.</td> </tr> <tr> <td></td> <td>-2</td> <td>15</td> <td class="preformatted">Расстояние между деревнями должно быть положительно</td> </tr> <tr> <td></td> <td>0</td> <td>1133</td> <td class="preformatted">Расстояние между деревнями должно быть положительно</td> </tr> <tr> <td></td> <td>300</td> <td>-113</td> <td class="preformatted">Длина кабеля должна быть положительна</td> </tr> <tr> <td></td> <td>0.19</td> <td>0</td> <td class="preformatted">Длина кабеля должна быть положительна</td> </tr> </table> </div><div id="task1763" class="task_block empty_on_print"> <div class="task_id">1763</div> <h3>Задача</h3> <div class="task_desc">Дан радиус круга radius и сторона квадрата edge. У какой фигуры площадь больше? Площадь квадрата вычисляется по формуле: <formula>squareArea = edge<sup>2</sup></formula>, где edge - длина стороны квадрата. Площадь круга вычисляется по формуле <formula>circleArea = 2πradius<sup>2</sup></formula>, где r - радиус круга. Если площадь круга больше площади квадрата, то оформить ответ по шаблону: <div class="check_single preformatted">Площадь круга $circleArea больше площади квадрата $squareArea</div> Если площадь квадрата больше, то оформить ответ по шаблону <div class="check_single preformatted">Площадь квадрата $squareArea больше площади круга $circleArea</div> </div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="2">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>radius</th> <th>edge</th> </tr> <tr> <td></td> <td>15</td> <td>31</td> <td>Площадь квадрата 961,0000 больше площади круга 706,8583</td> </tr> <tr> <td></td> <td>29</td> <td>41</td> <td>Площадь круга 2642,0794 больше площади квадрата 1681,0000</td> </tr> <tr> <td></td> <td>2.3262</td> <td>4.1229</td> <td>Площадь круга 16,9998 больше площади квадрата 16,9983</td> </tr> <tr> <td></td> <td>2.3262</td> <td>4.1230</td> <td>Площадь круга 16,9998 больше площади квадрата 16,9991</td> </tr> <tr> <td></td> <td>2.3262</td> <td>4.1231</td> <td>Площадь квадрата 17,0000 больше площади круга 16,9998</td> </tr> <tr> <td></td> <td>2.3262</td> <td>4.1232</td> <td>Площадь квадрата 17,0008 больше площади круга 16,9998</td> </tr> <tr> <td></td> <td>-17</td> <td>23</td> <td>Радиус должен быть положительным</td> </tr> <tr> <td></td> <td>37</td> <td>-5</td> <td>Сторона квадрата должна быть положительна</td> </tr> </table> </div><div id="task1945" class="task_block empty_on_print"> <div class="task_id">1945</div> <h3>Задача</h3> <div class="task_desc">Известны площади круга circleArea и квадрата squareArea. Вычислить длину стороны квадрата и диаметр круга. Вывести на экран соответствующее сообщение. В случае, когда площадь круга меньше меньше площади квадрата, а диаметр круга больше стороны квадрата, вывести дополнительное сообщение.</div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="2">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>circleArea</th> <th>squareArea</th> </tr> <tr> <td></td> <td>17</td> <td>19</td> <td class="preformatted">Площадь круга 17,0000, площадь квадрата 19,0000 Площадь меньше, а не влез! Круг не поместится в квадрате</td> </tr> <tr> <td></td> <td>13</td> <td>19</td> <td class="preformatted">Площадь круга 13,0000, площадь квадрата 19,0000 Круг уместится в квадрате</td> </tr> <tr> <td></td> <td>28,2733</td> <td>36</td> <td class="preformatted">Площадь круга 28,2733, площадь квадрата 36,0000 Круг уместится в квадрате</td> </tr> <tr> <td></td> <td>28,2735</td> <td>36</td> <td class="preformatted">Площадь круга 28,2735, площадь квадрата 36,0000 Круг уместится в квадрате</td> </tr> <tr> <td></td> <td>28,2752</td> <td>36</td> <td class="preformatted">Площадь круга 28,2752, площадь квадрата 36,0000 Площадь меньше, а не влез! Круг не поместится в квадрате</td> </tr> <tr> <td></td> <td>28,2754</td> <td>36</td> <td class="preformatted">Площадь круга 28,2754, площадь квадрата 36,0000 Площадь меньше, а не влез! Круг не поместится в квадрате</td> </tr> <tr> <td></td> <td>7854</td> <td>8100</td> <td class="preformatted">Площадь круга 7854,0000, площадь квадрата 8100,0000 Площадь меньше, а не влез! Круг не поместится в квадрате</td> </tr> <tr> <td></td> <td>5808</td> <td>8100</td> <td class="preformatted">Площадь круга 5808,0000, площадь квадрата 8100,0000 Круг уместится в квадрате</td> </tr> <tr> <td></td> <td>-20</td> <td>4</td> <td class="preformatted">Площадь круга должна быть положительной</td> </tr> <tr> <td></td> <td>300</td> <td>-200</td> <td class="preformatted">Площадь квадрата должна быть положительной</td> </tr> </table> </div><div id='task4859' class='task_block'> <div class='task_id'>4859</div> <h3>Задача</h3> <div class='task_desc'> Известна цена закупки и цена продажи товара в рублях. Цены указаны с учетом НДС по ставке 18%. Нужно вычислить сумму НДС к уплате в налоговую. </div> <ol start='1'><li>Вычислить НДС вход (buyTax) - НДС от цены закупки</li><li>Вычислить НДС выход (sellTax) - НДС от цены продажи</li><li>Найти разницу между sellTax и buyTax</li></ol><div class='task_desc'> Решить двумя способами: </div> <ol start='1'><li>Раннее округление: округлить НДС вход и НДС выход, а разницу искать у округленных значений.</li><li>Позднее округление: найти разницу между точными значениями НДС вход и НДС выход, а разницу - округлить.</li></ol><div class='task_desc'> Для округления воспользуйтесь функцией Math.round(number), где вместо number поставьте число или переменную, которую нужно округлить до целого. Выведите ход решения и наибольшую получившуюся сумму к уплате. Если получившаяся сумма получилась отрицательной, то указать что НДС подлежит возврату из бюджета. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>buyCostRoubles</th><th>sellCostRoubles</th></tr> <tr> <td>1</td><td>68</td><td>103</td><td class='preformatted'>Раннее округление НДС вход 10,372881, после округления 10 рублей 37 копеек НДС выход 15,711864, после округления 15 рублей 71 копеек Требуется уплатить 5 рублей 34 копеек Позднее округление НДС вход 10,372881 рублей НДС выход 15,711864 рублей Требуется уплатить 5,338983, после округления 5 рублей 34 копеек Суммы налогов к уплате равны Сумма НДС к уплате составляет 5 рублей 34 копеек </td></tr> <tr> <td>2</td><td>68</td><td>101</td><td class='preformatted'>Раннее округление НДС вход 10,372881, после округления 10 рублей 37 копеек НДС выход 15,406780, после округления 15 рублей 41 копеек Требуется уплатить 5 рублей 4 копеек Позднее округление НДС вход 10,372881 рублей НДС выход 15,406780 рублей Требуется уплатить 5,033898, после округления 5 рублей 3 копеек При раннем округлении налог больше Сумма НДС к уплате составляет 5 рублей 4 копеек </td></tr> <tr> <td>3</td><td>69</td><td>103</td><td class='preformatted'>Раннее округление НДС вход 10,525424, после округления 10 рублей 53 копеек НДС выход 15,711864, после округления 15 рублей 71 копеек Требуется уплатить 5 рублей 18 копеек Позднее округление НДС вход 10,525424 рублей НДС выход 15,711864 рублей Требуется уплатить 5,186441, после округления 5 рублей 19 копеек При позднем округлении налог больше Сумма НДС к уплате составляет 5 рублей 19 копеек </td></tr> <tr> <td>4</td><td>69</td><td>101</td><td class='preformatted'>Раннее округление НДС вход 10,525424, после округления 10 рублей 53 копеек НДС выход 15,406780, после округления 15 рублей 41 копеек Требуется уплатить 4 рублей 88 копеек Позднее округление НДС вход 10,525424 рублей НДС выход 15,406780 рублей Требуется уплатить 4,881356, после округления 4 рублей 88 копеек Суммы налогов к уплате равны Сумма НДС к уплате составляет 4 рублей 88 копеек </td></tr> <tr> <td>5</td><td>101</td><td>69</td><td class='preformatted'>Раннее округление НДС вход 15,406780, после округления 15 рублей 41 копеек НДС выход 10,525424, после округления 10 рублей 53 копеек Требуется уплатить -4 рублей -88 копеек Позднее округление НДС вход 15,406780 рублей НДС выход 10,525424 рублей Требуется уплатить -4,881356, после округления -4 рублей -88 копеек Суммы налогов к уплате равны Сумма возврата НДС из бюджета составляет 4 рублей 88 копеек За вами выехала выездная налоговая проверка </td></tr> </table> </div> <div id="task8878" class="task_block empty_on_print"> <div class="task_id">8878</div> <h3>Задача</h3> <div class="task_desc">Даны два числа A и B. Определить какое из них больше.</div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="2">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>A</th> <th>B</th> </tr> <tr> <td></td> <td>5</td> <td>6</td> <td>Второе</td> </tr> <tr> <td></td> <td>11</td> <td>7</td> <td>Первое</td> </tr> <tr> <td></td> <td>-2</td> <td>3</td> <td>Второе</td> </tr> <tr> <td></td> <td>-13</td> <td>-18</td> <td>Первое</td> </tr> <tr> <td></td> <td>7</td> <td>7</td> <td>Числа равны</td> </tr> </table> </div><div id="task6291" class="task_block empty_on_print"> <div class="task_id">6291</div> <h3>Задача</h3> <div class="task_desc">Определить, является ли треугольник со сторонами A, B, C равнобедренным.</div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="3">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>A</th> <th>B</th> <th>C</th> </tr> <tr> <td></td> <td>13</td> <td>17</td> <td>14</td> <td>Треугольник не является равнобедренным.</td> </tr> <tr> <td></td> <td>21</td> <td>21</td> <td>37</td> <td>Треугольник является равнобедренным.</td> </tr> <tr> <td></td> <td>29</td> <td>2</td> <td>29</td> <td>Треугольник является равнобедренным.</td> </tr> <tr> <td></td> <td>61</td> <td>47</td> <td>47</td> <td>Треугольник является равнобедренным.</td> </tr> <tr> <td></td> <td>211</td> <td>211</td> <td>211</td> <td>Треугольник является равнобедренным.</td> </tr> <tr> <td></td> <td>-151</td> <td>239</td> <td>239</td> <td>Значение A должно быть неотрицательным</td> </tr> <tr> <td></td> <td>193</td> <td>-193</td> <td>3</td> <td>Значение B должно быть неотрицательным</td> </tr> <tr> <td></td> <td>101</td> <td>83</td> <td>-101</td> <td>Значение C должно быть неотрицательным</td> </tr> </table> </div><div id='task5662' class='task_block'> <div class='task_id'>5662</div> <h3>Задача</h3> <div class='task_desc'> Даны вещественные числа a, b, c. Если a равно 0, вывести сообщение об ошибке "Уравнение не является квадратным". Найдите в прошлых работах формулу для вычисления дискриминанта, вычислите его и напишите одно из трех сообщений в зависимости от полученного значения. </div> <ol start='1'><li>Если дискриминант равен 0, то у уравнения один вещественный корень.</li><li>Если дискриминант меньше 0, то у уравнения нет вещественных корней.</li><li>Если дискриминант больше 0, то у уравнения два вещественных корня.</li></ol><table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='3'>Исходные данные</th><th rowspan='2'>Результат</th></tr> <tr><th>a</th><th>b</th><th>c</th></tr> <tr><td>1</td><td>1</td><td>2</td><td>3</td><td class='preformatted'>Вещественных корней уравнения 1x^2 + 2x + 3 = 0 нет </td></tr> <tr><td>2</td><td>11</td><td>13</td><td>19</td><td class='preformatted'>Вещественных корней уравнения 11x^2 + 13x + 19 = 0 нет </td></tr> <tr><td>3</td><td>3</td><td>17</td><td>5</td><td class='preformatted'>У уравнения 3x^2 + 17x + 5 = 0 два вещественных корня </td></tr> <tr><td>4</td><td>5</td><td>31</td><td>29</td><td class='preformatted'>У уравнения 5x^2 + 31x + 29 = 0 два вещественных корня </td></tr> <tr><td>5</td><td>3</td><td>6</td><td>3</td><td class='preformatted'>Уравнение 3x^2 + 6x + 3 = 0 имеет один корень </td></tr> <tr><td>6</td><td>1</td><td>2</td><td>1</td><td class='preformatted'>Уравнение 1x^2 + 2x + 1 = 0 имеет один корень </td></tr> <tr><td>7</td><td>0</td><td>7</td><td>13</td><td class='preformatted'>Данное уравнение не является квадратным </td></tr> </table> </div> <div id='task5116' class='task_block'> <div class='task_id'>5116</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит два числа: R, K. Нужно подставить эти числа в условия R < 100 и 100 < K. Вывести на экран одно из сообщений: 'Оба условия истинны'. 'Только условие на R истинно', 'Только условие на K истинно', 'Оба условия ложны'. </div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='2'>Исходные данные</th><th rowspan='2'>Результат</th></tr><tr> <th>R</th><th>K</th></tr> <tr> <td>1</td><td>50</td><td>150</td><td class='preformatted'>Оба условия истинны. 50 < 100 и 100 < 150 </td></tr> <tr> <td>2</td><td>70</td><td>80</td><td class='preformatted'>Только условие на R истинно. 70 < 100 </td></tr> <tr> <td>3</td><td>200</td><td>300</td><td class='preformatted'>Только условие на K истинно. 100 < 300 </td></tr> <tr> <td>4</td><td>400</td><td>20</td><td class='preformatted'>Оба условия ложны </td></tr> <tr> <td>5</td><td>-3</td><td>0</td><td class='preformatted'>Только условие на R истинно. -3 < 100 </td></tr> <tr> <td>6</td><td>0</td><td>-3</td><td class='preformatted'>Только условие на R истинно. 0 < 100 </td></tr> <tr> <td>7</td><td>100</td><td>100</td><td class='preformatted'>Оба условия ложны </td></tr> </table> </div> <div id="task2291" class="task_block empty_on_print"> <div class="task_id">2291</div> <h3>Задача</h3> <div class="task_desc">Космический корабль летит за кометой. Известны скорости космического корабля shipKmH в километрах в час и комета cometMS - в метрах в секунду. Удастся ли кораблю догнать комету? Если скорость корабля больше скорости кометы, оформить ответ по шаблону: <div class="check_single preformatted">Корабль догонит комету. Скорость кометы $cometMS м/с меньше скорости корабля $shipKmH км/ч</div> В ином случае, по шаблону: <div class="check_single preformatted">Комета улетит от корабля. Скорость корабля $shipKmH км/ч меньше скорости кометы $cometMS м/с</div> </div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="2">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>shipKmH</th> <th>cometMS</th> </tr> <tr> <td></td> <td>60.5</td> <td>16.8</td> <td class="preformatted">Корабль догонит комету. Скорость кометы 16.80 м/с меньше скорости корабля 60.50 км/ч</td> </tr> <tr> <td></td> <td>17950</td> <td>5000</td> <td class="preformatted">Комета улетит от корабля. Скорость корабля 17950.00 км/ч меньше скорости кометы 5000.00 м/с</td> </tr> <tr> <td></td> <td>0</td> <td>10</td> <td class="preformatted">Комета улетит от корабля. Скорость корабля 0,00 км/ч меньше скорости кометы 10,00 м/с</td> </tr> <tr> <td></td> <td>200</td> <td>0</td> <td class="preformatted">Корабль догонит комету. Скорость кометы 0,00 м/с меньше скорости корабля 200,00 км/ч</td> </tr> <tr> <td></td> <td>-0.6</td> <td>0.2</td> <td class="preformatted">Скорость корабля должна быть неотрицательна</td> </tr> <tr> <td></td> <td>0.1004</td> <td>-0.028</td> <td class="preformatted">Скорость кометы должна быть неотрицательна</td> </tr> </table> </div><div id="task1186" class="task_block empty_on_print"> <div class="task_id">1186</div> <h3>Задача</h3> <div class="task_desc">Даны три целых числа. Если число неотрицательно - вывести его квадрат. Иначе - само число. Между числами нужно вывести символ ";"</div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="3">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>X</th> <th>Y</th> <th>Z</th> </tr> <tr> <td></td> <td>6</td> <td>2</td> <td>5</td> <td>36;4;25</td> </tr> <tr> <td></td> <td>4</td> <td>5</td> <td>-18</td> <td>16;25;-18</td> </tr> <tr> <td></td> <td>20</td> <td>-9</td> <td>12</td> <td>200;-9;144</td> </tr> <tr> <td></td> <td>-2</td> <td>17</td> <td>6</td> <td>-2;289;36</td> </tr> <tr> <td></td> <td>-19</td> <td>-8</td> <td>6</td> <td>-19;-8;36</td> </tr> <tr> <td></td> <td>3</td> <td>-15</td> <td>-8</td> <td>3;-15;-8</td> </tr> <tr> <td></td> <td>-1</td> <td>-14</td> <td>-2</td> <td>-1;-14;-2</td> </tr> </table> </div><div id="task8518" class="task_block empty_on_print"> <div class="task_id">8518</div> <h3>Задача</h3> <div class="task_desc">Пользователь вводит символ (X), который может быть одной из букв: a,b,c,d,e,f,g,h. Нужно вывести все эти буквы в столбик и написать слово "Найдено" справа от введенной буквы X.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Вводимые данные (X)</th> <th>Результат</th> </tr> <tr> <td></td> <td>a</td> <td class="preformatted">a Найдено b c d e f g h</td> </tr> <tr> <td></td> <td>d</td> <td class="preformatted">a b c d Найдено e f g h</td> </tr> <tr> <td></td> <td>h</td> <td class="preformatted">a b c d e f g h Найдено</td> </tr> <tr> <td></td> <td>i</td> <td class="preformatted">a b c d e f g h</td> </tr> </table> </div><div id='task1292' class='task_block'> <div class='task_id'>1292</div> <h3>Задача</h3> <div class='task_desc'> Пользователь вводит символ (needle), который может быть одной из букв: a,b,c,d,e,f,g,h. Нужно выводить все эти буквы в строчку, пока не будет выведена буква X. </div> <table class='check_values_v2'> <tr><th>Номер теста</th><th>Исходные данные (needle)</th><th>Результат</th></tr> <tr><td>1</td><td>a</td><td class='preformatted'>a</td></tr> <tr><td>2</td><td>b</td><td class='preformatted'>ab</td></tr> <tr><td>3</td><td>d</td><td class='preformatted'>abcd</td></tr> <tr><td>4</td><td>h</td><td class='preformatted'>abcdefgh</td></tr> <tr><td>5</td><td>i</td><td class='preformatted'>abcdefgh</td></tr> </table> </div> <div id='task6686' class='task_block'> <div class='task_id'>6686</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='7'>1</td><td>1 </td><td> </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 Итоговый максимум 4 </td></tr> <tr class='test_row'><td rowspan='7'>2</td><td>2 </td><td> </td></tr> <tr><td>1 </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 Итоговый максимум 4 </td></tr> <tr class='test_row'><td rowspan='7'>3</td><td>2 </td><td> </td></tr> <tr><td>3 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Второе число больше первого. Максимум 3 </td></tr> <tr><td>1 </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 Итоговый максимум 4 </td></tr> <tr class='test_row'><td rowspan='7'>4</td><td>2 </td><td> </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>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Четвертое число меньше максимума. Максимум 4 Итоговый максимум 4 </td></tr> <tr class='test_row'><td rowspan='7'>5</td><td>3 </td><td> </td></tr> <tr><td>2 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Первое число больше второго. Максимум 3 </td></tr> <tr><td>1 </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 Итоговый максимум 4 </td></tr> <tr class='test_row'><td rowspan='7'>6</td><td>3 </td><td> </td></tr> <tr><td>4 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Второе число больше первого. Максимум 4 </td></tr> <tr><td>2 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Третье число меньше максимума. Максимум 4 </td></tr> <tr><td>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Четвертое число меньше максимума. Максимум 4 Итоговый максимум 4 </td></tr> <tr class='test_row'><td rowspan='7'>7</td><td>4 </td><td> </td></tr> <tr><td>1 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Первое число больше второго. Максимум 4 </td></tr> <tr><td>2 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Третье число меньше максимума. Максимум 4 </td></tr> <tr><td>3 </td><td> </td></tr> <tr><td></td><td class='preformatted'>Четвертое число меньше максимума. Максимум 4 Итоговый максимум 4 </td></tr> </table> </div> <div id='task6924' class='task_block'> <div class='task_id'>6924</div> <h3>Задача</h3> <div class='task_desc'> Даны векторы a и b с координатами {a<sub>x</sub>, a<sub>y</sub>} и {b<sub>x</sub>, b<sub>y</sub>}. Вычислите: </div> <ol start='1'><li>Модули векторов a и b по формуле (для вектора a) <formula>a<sub>mod</sub>=<sqrt><val>x<sub>a</sub><sup>2</sup> * y<sub>a</sub><sup>2</sup></val></sqrt></formula></li><li>Скалярное произведение векторов по формуле <formula>product<sub>a,b</sub> = x<sub>a</sub> * x<sub>b</sub> + y<sub>a</sub> * y<sub>b</sub></formula></li><li>Угол между векторами a и b по формуле <formula>angle<sub>a,b</sub>=arccos(<fraction><numerator>product<sub>a,b</sub></numerator><denominator>a<sub>mod</sub>b<sub>mod</sub></denominator></fraction>)</formula></li><li>Угол выразить в градусах, результат оформить по шаблону. Точность значений - 4 знака после запятой.</li></ol><div class='check_single preformatted'>Модуль вектора a = $amod Модуль вектора b = $bmod Скалярное произведение векторов равно $product Угол между векторами составляет $angle градусов</div> <table class='check_values_v2'> <tr><th rowspan='2'>Номер теста</th><th colspan='4'>Исходные данные</th><th rowspan='2'>Результат</th></tr> <tr><th>ax</th><th>ay</th><th>bx</th><th>by</th></tr> <tr><td>1</td><td>-50</td><td>-86.6025</td><td>60</td><td>0</td><td class='preformatted'>Модуль вектора a = 100,0000 Модуль вектора b = 60,0000 Скалярное произведение векторов равно -3000,0000 Угол между векторами составляет 120,0000 градусов</td></tr> <tr><td>2</td><td>10</td><td>0</td><td>0</td><td>10</td><td class='preformatted'>Модуль вектора a = 10,0000 Модуль вектора b = 10,0000 Скалярное произведение векторов равно 0,0000 Угол между векторами составляет 90,0000 градусов</td></tr> <tr><td>3</td><td>11</td><td>13</td><td>7</td><td>17</td><td class='preformatted'>Модуль вектора a = 17,0294 Модуль вектора b = 18,3848 Скалярное произведение векторов равно 298,0000 Угол между векторами составляет 17,8562 градусов</td></tr> <tr><td>4</td><td>-70.7106</td><td>50</td><td>60</td><td>0</td><td class='preformatted'>Модуль вектора a = 86,6025 Модуль вектора b = 60,0000 Скалярное произведение векторов равно -4242,6360 Угол между векторами составляет 144,7356 градусов</td></tr> <tr><td>5</td><td>-86.6025</td><td>50</td><td>60</td><td>0</td><td class='preformatted'>Модуль вектора a = 100,0000 Модуль вектора b = 60,0000 Скалярное произведение векторов равно -5196,1500 Угол между векторами составляет 150,0000 градусов</td></tr> <tr><td>6</td><td>3</td><td>4</td><td>4</td><td>3</td><td class='preformatted'>Модуль вектора a = 5,0000 Модуль вектора b = 5,0000 Скалярное произведение векторов равно 24,0000 Угол между векторами составляет 16,2602 градусов</td></tr> </table> </div> <div id="task4527" class="task_block empty_on_print"> <div class="task_id">4527</div> <h3>Задача</h3> <div class="task_desc">Выведите на экран число А с окончанием. Вывести сообщение об ошибке, если A меньше -10 либо если A больше 100.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Вводимые данные (A)</th> <th>Результат</th> </tr> <tr> <td></td> <td>1</td> <td>1'ый</td> </tr> <tr> <td></td> <td>2</td> <td>2'ой</td> </tr> <tr> <td></td> <td>3</td> <td>3'ий</td> </tr> <tr> <td></td> <td>8</td> <td>8'ой</td> </tr> <tr> <td></td> <td>-10</td> <td>-10'ый</td> </tr> <tr> <td></td> <td>26</td> <td>26'ой</td> </tr> <tr> <td></td> <td>40</td> <td>40'ой</td> </tr> <tr> <td></td> <td>100</td> <td>100'ый</td> </tr> <tr> <td></td> <td>-20</td> <td>Значение A должно быть в интервале [-10, 100]</td> </tr> <tr> <td></td> <td>300</td> <td>Значение A должно быть в интервале [-10, 100]</td> </tr> </table> </div><div id="link_c2_p5.3" class="task_block"> <div class="check_single">При решении сложных задач вам могут пригодиться советы, приведенные в книге "Совершенный код". Часть II. Глава 5.3 <a href="Stiv_Makkonnell_-_Sovershenny_kod_2-e_izdanie.pdf#page=128" target=_blank">(открыть в новой вкладке)</a></div> </div><div id="task2153" class="task_block empty_on_print"> <div class="task_id">2153</div> <h3>Задача</h3> <div class="task_desc">Работа светофора для пешеходов запрограммирована следующим образом: в начале каждого часа в течение трех минут горит зеленый сигнал, затем в течение двух минут - красный, в течение трех минут - опять зеленый и т.д. Дано вещественное число t, означающее время в минутах, прошедшее с начала очередного часа. Определить, сигнал какого цвета горит для пешеходов в этот момент.</div> <table class="check_values"> <tr> <th>Номер теста</th> <th>Вводимые данные (t)</th> <th>Результат</th> </tr> <tr> <td></td> <td>0</td> <td>Зеленый</td> </tr> <tr> <td></td> <td>1</td> <td>Зеленый</td> </tr> <tr> <td></td> <td>2</td> <td>Зеленый</td> </tr> <tr> <td></td> <td>3</td> <td>Красный</td> </tr> <tr> <td></td> <td>4</td> <td>Красный</td> </tr> <tr> <td></td> <td>5</td> <td>Зеленый</td> </tr> <tr> <td></td> <td>13</td> <td>Красный</td> </tr> <tr> <td></td> <td>59</td> <td>Красный</td> </tr> <tr> <td></td> <td>60</td> <td>Значение T должно быть в интервале [0, 59]</td> </tr> <tr> <td></td> <td>61</td> <td>Значение T должно быть в интервале [0, 59]</td> </tr> </table> </div><div id="task7937" class="task_block empty_on_print"> <div class="task_id">7937</div> <h3>Задача</h3> <div class="task_desc">Имеется стол прямоугольной формы с шириной W и длиной H. В каком случае на столе можно разместить большее количество картонных прямоугольников с размерами CxD (C и D - целые числа, C > D) При размещении их стороной С вдоль стороны W или стороной C вдоль стороны W. Прямоугольники не должны лежать один на другом и не должны свисать со стола.</div> <table class="check_values"> <tr> <th rowspan="2">Номер теста</th> <th colspan="4">Вводимые данные</th> <th rowspan="2">Результат</th> </tr> <tr> <th>W</th> <th>H</th> <th>C</th> <th>D</th> </tr> <tr> <td></td> <td>1721</td> <td>661</td> <td>11</td> <td>7</td> <td>14700 при C вдоль H</td> </tr> <tr> <td></td> <td>2473</td> <td>449</td> <td>23</td> <td>11</td> <td>4280 при C вдоль W</td> </tr> <tr> <td></td> <td>0</td> <td>1879</td> <td>1163</td> <td>109</td> <td>Значение W должно быть положительным</td> </tr> <tr> <td></td> <td>877</td> <td>0</td> <td>7</td> <td>19</td> <td>Значение H должно быть положительным</td> </tr> <tr> <td></td> <td>1181</td> <td>1033</td> <td>0</td> <td>127</td> <td>Значение C должно быть положительным</td> </tr> <tr> <td></td> <td>3491</td> <td>3533</td> <td>1297</td> <td>0</td> <td>Значение D должно быть положительным</td> </tr> </table> </div>Версия 20240202. Подборка задач, выбор порядка подачи и подготовка тестовых данных - Крюков Александр, Омск 2013-2026. <a href='https://github.com/AKryukov92/programming-basics'>Основной репозиторий</a></body></html>