| Name | Size | |
|---|---|---|
| .. | ||
| Exercise01.cpp | 114 B | log stats plain blame |
| Exercise02.cpp | 131 B | log stats plain blame |
| Exercise03.cpp | 407 B | log stats plain blame |
| Exercise05.cpp | 123 B | log stats plain blame |
| Exercise06.cpp | 336 B | log stats plain blame |
| Exercise07.cpp | 674 B | log stats plain blame |
| Exercise08.cpp | 180 B | log stats plain blame |
| Exercise10.cpp | 184 B | log stats plain blame |
| Exercise12.cpp | 156 B | log stats plain blame |
| Exercise13.cpp | 369 B | log stats plain blame |
| README.md | 6.5 KiB | log stats plain blame |
Задачи
https://syndamia.com/teaching/upp-2025/week03/
За решаване
Задача 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.
Припомняме, че би-импликацията и импликацията се дефинират по следния начин:

| Вход | Изход |
|---|---|
| 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 е корен на кубично уравнение, когато:

| Вход | Изход |
|---|---|
| 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 реални числа: коефициентите на два (ортонормирани) триизмерни вектора. Върнете тяхното точково умножение.
Припомняме, че алгебричата дефиниция на точковото умножение е:

| Вход | Изход |
|---|---|
| 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ви представя една забележителна апроксимация на синус функцията (в радиани):

От входа ще получите два ъгъла в радиани, α и β, чиято сума е между 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 |
