Задача 1. Да се напише функция, която по даден списък от точки в декартовата равнина да намира координатите на горния ляв ъгъл на най-малкия (по площ) правоъгълник, който съдържа всички точки от списъка.

Пример: за точките с координати (-1,1), (2,2) и (0,-3), търсената точка е (-1,2)

Задача 2. Да се напише функция, която за даден символен низ, съдържащ само латински букви и интервали, да намира броя на думите, започващи с главна буква. “Дума” дефинираме като последователност от букви, отделени от останалите символи с интервал или краищата на низа.

Пример: за символния низ “Hi how are you Today”, търсеното число е 2

Задача 3. Едно положително цяло число ще наричаме съвършено, ако е равно на сумата от своите делители (без самото число). Например: 6 е съвършено, защото 6 = 1+2+3, а числото 9 не е съвършено (1+3 ≠ 9). Да се дефинира функция, която проверява дали дадено положително цяло число е съвършено.

(Бонус): Да се състави списък от всички съвършени числа.

Задача 4. Да се напише функция, която приема списък xs :: [a] и стойност x :: a и построява списък с поредните номера на елементите на xs, които съвпадат с x.

Пример: за списъка [1,2,1,3,1,4] и елемент 1, резултатът е [0,2,4].

Задача 5. Дадени са списък от двойки xs :: [(a,a)] и списък choice :: [Bool]. За всеки елемент от x :: (a,a) от xs, съответния му елемент (като поредност) ch :: Bool от choice определя дали се интересуваме от първия или втория елемент на x. Ако ch е истина, вземаме първия компонент на x, а в противен случай - втория. Да се напише функция, която при подадени списъци xs и choice построява списък [a] по горното правило.

Пример: За списъците xs = [(0,1),(0,1),(0,1)] и choice = [True, False, True], резултатът ще е [0,1,0].

Задача 6. Да се дефинира функция, която приема списък [a] и заменя всички непрекъснати последователности от еднакви елементи x с единичен елемент x.

Пример: за списъка [0,0,1,2,2,2,3,4], резултатът е [0,1,2,3,4]

Последно модифициране: петък, 4 април 2025, 10:17