# Задачи ## За решаване ### Задача 1 Получавате цяло число. Трябва да върнете 0 ако е нечетно и 1 ако е четно. |Вход|Изход| |---|---| |5|0| |10|1| ### Задача 2 Получавате главна буква. Трябва да върнете съответната малка буква. |Вход|Изход| |---|---| |A|a| |Z|z| |U|u| ### Задача 3 Получавате 3 цели числа, трябва да върнете 1 ако образуват аритметична прогресия и 0 иначе. |Вход|Изход| |---|---| |1 2 3|1| |4 5 7|0| |4 6 7|0| |-3 5 13|1| ### Задача 5 Получавате десетично число: сума в левове. Трябва да върнете същата сума в евро, като 1 € = 1.95583 лв. Поради прецизност при такива числа, вашите изходи може с много малко да се различават. |Вход|Изход| |---|---| |1|0.511292| |1.95583|1| |15|7.66938| |199.99|102.253| |450|230.081| ### Задача 6 Получавате две булеви стойности. Трябва да върнете 1 ако свойството "би-импликация" е изпълнено за тях. Иначе върнете 0. Припомняме, че би-импликацията и импликацията се дефинират по следния начин: ![p <-> q = (p -> q) ^ (q -> p) ; p -> q = !p v q](https://syndamia.com/teaching/upp-2025/week03/img/biimplication.png) |Вход|Изход| |---|---| |0 1|0| |1 1|1| |1 0|0| |0 0|1| ### Задача 7 Получавате 4 цели числа от входа. За тях трябва да изкарате: - средно аритметично, - сума, - сума от вида 1/<първо число> + 1/<второ число> + ..., - умножение. |Вход|Изход| |---|---| |1 2 3 4|2.5 10 2.08333 24| |13 151 7 29|50.0 200 0.260886 398489| |-293 6 0 -1|-72.0 -288 inf 0| ### Задача 8 Получавате 5 реални числа: коефициентите на полином от трета степен a (a различно от 0), b, c, d и потенциален негов корен x. Трябва да върнете 1 ако x е корен на уравнението и 0 ако не е. Припомняме, че x е корен на кубично уравнение, когато: ![ax^3 + bx^2 + cx + d = 0](https://syndamia.com/teaching/upp-2025/week03/img/cubic.png) |Вход|Изход| |---|---| |2 3 -11 -6 2|1| |2 3 -11 -6 -0.5|1| |2 3 -11 -6 -3|1| |2 3 -11 -6 -2|0| |3 -3 -90 0 0|1| |5 -2 5 -2 0.4|1| ### Задача 10 Получавате 6 реални числа: коефициентите на два (ортонормирани) триизмерни вектора. Върнете тяхното точково умножение. Припомняме, че алгебричата дефиниция на точковото умножение е: ![a . b = a1b1 + a2b2 + ...](https://syndamia.com/teaching/upp-2025/week03/img/dotproduct.png) |Вход|Изход| |---|---| |1 3 -5 4 -2 -1|3| |1.5 2.45 3.8 1.01 5 7.005|40.384| |-1 -2 3 4 0 -8|-28| |3 2 1 6 5 2|30| ## За самоподготовка ### Задача 12 Първите релефни етикети (които човек може сам да попълни) са въведени през 1958 от DYMO. Механични устройства съдържат диск с букви (знаци), който се завърта докато не се избере желаната буква. Чрез стискане на дръжката, малък чук прищипва лентата върху диска (който има релефи на буквите), пластмасовата лента се изкривява и буква се отпечтва (подобно на пишеща машина). Нека нашия диск съдържа само малки букви. Във входа получавате две малки букви: коя буква е избрана в момента и коя буква е желана. Трябва да върнете с колко позиции на ляво (обратно на часовниковата стрелка) трябва да се завърти диска, така че желаната буква да се избере. |Вход|Изход| |---|---| |a a|0| |a b|1| |a z|25| |z a|1| |k j|25| |w d|7| ### Задача 13 През 629, индийския математик Бхаскара 1ви представя една забележителна апроксимация на синус функцията (в радиани): ![sin x ~= (16x(pi-x)) / (5pi^2 - 4x(pi-x)), 0 <= x <= pi](https://syndamia.com/teaching/upp-2025/week03/img/sineapprox.png) От входа ще получите два ъгъла в радиани, α и β, чиято сума е между 0 и π/2 (включително). Използвайки единствено апроксимацията на Бхаскара 1ви, пресметнете tg(α + β). Не може да използвате коренуване! За константата π, използвайте поне 5 цифри след десетичната запетая. Подсказка Използвайте факта, че може да представите косинус чрез отместване на синус. |Вход|Изход| |---|---| |0 0|0| |0.392698 0.392698|1| |0 1.047196|1.72973| |3.14159 -1.570795|inf| |-0.523598 1.047196|0.578125| |0.523598 0.392698|1.30265| ### Задача 16 Получавате 8 реални числа: всеки две последователни образуват координат в равнината. Първите два координата представят горния ляв и долния десен ъгъл на първи правоъгълник. Вторите два координата представят горния ляв и долния десен ъгъл на втори правоъгълник. Трябва да върнете 1 ако правоъгълниците се пресичат и 0 иначе. |Вход|Изход| |---|---| |0 6 4 0 6 6 8 2|0| |0 6 4 0 4 6 8 2|1| |0 6 4 0 3 3 8 2|1| |-3 4.5 2.1 0.5 0 6 4 0|1| |-4 8 5 -2 0 6 4 0|1|