diff options
1 files changed, 18 insertions, 18 deletions
| -rw-r--r-- | src/teaching/upp-2025/week09/index.du | 36 |
diff --git a/src/teaching/upp-2025/week09/index.du b/src/teaching/upp-2025/week09/index.du index 55febbf..a737cae 100644 --- a/src/teaching/upp-2025/week09/index.du +++ b/src/teaching/upp-2025/week09/index.du @@ -1,14 +1,14 @@ -# Задачи - УПП, Седмица 9, 27.11.2025 +'def title Задачи - УПП, Седмица 9, 27.11.2025 +'def desc Условията на задачите за упражнение. -'define expected-reading 12 min -'define created 24 November 2025 -'define edited 26 November 2025 -[$pagenav] +# {title} + +{pagenav 12 min;24 November 2025;26 November 2025} .important Реализирайте единствено архитектурни решения! -GitHub Classroom: [url https://classroom.github.com/a/ZYFDdLi4] +GitHub Classroom: {url https://classroom.github.com/a/ZYFDdLi4} ## За решаване @@ -30,41 +30,41 @@ GitHub Classroom: [url https://classroom.github.com/a/ZYFDdLi4] Всеки хигрометър измерва процента влажност. В условието не са дадени подробности относно формата на тази стойност, затова ще използваме тип с плаваща запетая, който ще покрие всички реални стойности. -Ще изведем в глобална константа [`SIZE`] размера на едно измерение на матрицата, и самата матрица ще съдържа влажността в стойности от тип [`double`]. +Ще изведем в глобална константа {` SIZE} размера на едно измерение на матрицата, и самата матрица ще съдържа влажността в стойности от тип {` double}. -За намиране на средната влажност в града, ще изградим функцията [`average`], която изглежда по следния начин: +За намиране на средната влажност в града, ще изградим функцията {` average}, която изглежда по следния начин: -```c++ +```cpp double average(const double hygrometers[SIZE][SIZE]); Функцията приема матрицата със стойности на влажност от всеки хигрометър и връща средната стойност. Реализацията изисква линейно итериране през цялата матрица, като се пази сума на всички елементи. Върнатата стойност е сумата, разделена на броя хигрометри. -За намиране на най-влажен и най-сух квадрант ще реализираме функцията [`quadrantHumidity`], чиято декларация е: +За намиране на най-влажен и най-сух квадрант ще реализираме функцията {` quadrantHumidity}, чиято декларация е: -```c++ +```cpp double quadrantHumidity(const double hygrometers[SIZE][SIZE], unsigned startRow, unsigned startCol); Функцията приема матрицата с влажности и начални индекси по ред и колона на съответния квадрант. Знаем, че един квадрант ще бъде една четвърт от размера на матрицата (половината височина и ширина), затова не е нужно той да бъде подаден. -В имплементацията, ще итерираме през матрицата, като започнем от началните редове и колона, и обиколим точно [`SIZE / 2`] реда и колони. +В имплементацията, ще итерираме през матрицата, като започнем от началните редове и колона, и обиколим точно {` SIZE / 2} реда и колони. Ще пазим сума на всички елементи и накрая ще разделим на броя елементи, т.е. ще върнем средната стойност на влажност в квадранта. В заглавната функция ще дефинираме матрицата и ще попълним входните влажности. -След това ще изкараме стойността, върната от извикване на [`average`]. +След това ще изкараме стойността, върната от извикване на {` average}. За сух и влажен квадрант, ще създадем две променливи за най-голяма и най-малка стойност. -След това ще извикваме [`quadrantHumidity`], като ще запазим върната стойност като най-голяма и най-малка спрямо текущите стойности. +След това ще извикваме {` quadrantHumidity}, като ще запазим върната стойност като най-голяма и най-малка спрямо текущите стойности. -Началните ред и колона ще подаваме с вложен цикъл, който ще итерира колоните и редовете от най-първите (на индекси 0,0) и ще увеличава всеки индекс с размера на страната на квадрант ([`SIZE / 2`]). +Началните ред и колона ще подаваме с вложен цикъл, който ще итерира колоните и редовете от най-първите (на индекси 0,0) и ще увеличава всеки индекс с размера на страната на квадрант ({` SIZE / 2}). След цикъла и всички извиквания ще имаме стойностите в нашите променливи и ще ги изкараме. ### Задача 1 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week09/Exercise01.txt Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week09/Exercise01.txt} Сграда разполага с два асансьора и 5 етажа. Инженерите на асансьорите са забелязали, че асансьора се качва по-бързо отколкото слиза. @@ -74,7 +74,7 @@ double quadrantHumidity(const double hygrometers[SIZE][SIZE], unsigned startRow, ### Задача 2 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week09/Exercise02.txt Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week09/Exercise02.txt} Автобусна фирма в един град трябва да замени всички свои автобуси. В града има 6 автобусни линии и всяка линия има между 5 и 17 спирки. @@ -86,7 +86,7 @@ double quadrantHumidity(const double hygrometers[SIZE][SIZE], unsigned startRow, ### Задача 3 -.solution-link [url https://github.com/Syndamia/upp-2025-solutions/tree/main/Week09/Exercise03.txt Решение] +.solution-link {url Решение;https://github.com/Syndamia/upp-2025-solutions/tree/main/Week09/Exercise03.txt} Фабрика купува 5 нови машини, всяка от които изработва по 10000 градивни елемента на час. Всеки час от 8 часов работен ден, работниците във фабриката отбелязват в счетоводни таблици дали всеки един елемент е дефектен или не. |