Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Упражнение 4 – Списъци

Напишете функция (length L), която намира дължина на списък.

Напишете функция (sum L), която намира сумата на всички числа от L.

Напишете функция (last L), която намира последния елемент на списък.

Напишете функция (append L M), която по списъци L = (a1 a2 ... an) и M = (b1 b1 ... bm) връща списък (а1 a2 ... an b1 b2 ... bm).

Напишете функция (push-back x L), която слага x накрая на L (връщайки нов списък).

Напишете функция (member? x L), която намира дали x е елемент на списъка L.

Напишете функция (from-to a b), която връща списък (a (+ a 1) (+ a 2) (+ a 3) ... b).

Напишете функция (reverse L), която връща списък от елементите на L в обратен ред.

Напишете функция (map f L), която по даден списък L = (a1 a2 a3 a4 ... an) връща списък (f(a1) f(a2) f(a3) f(a4) ... f(an))

Напишете функция (filter pred? L), която връща списък от елементите на L, за които pred? е истина.

Напишете функция (partition pred? L), която връща списък от два списъка. Първият подсписък съдържа всички елементи на L, за които pred? е истина, а вторият съдържа всички, за които pred? е лъжа.

Напишете функция (scp L), която намира сумата на третите степени на всички прости числа в L.

Напишете функция (take n L), която връща списък от първите n елемента на L.

Напишете функция (drop n L), която връща списък от всички елемента на L без първите n.

Напишете функция (list-ref L n), която връща елементът на позиция n в списъка L. Броенето започва от нула.

Напишете функция (list-tail L n), която връща списък от всички елементи на позиция по-голяма от n в списъка L.

Напишете функция (insert n x L), която вмъква x на позиция n в списъка L, без да премахва останалите елементи.

Напишете функция (remove x L), която премахва първото срещане на x в L (връщайки нов списък).

Напишете функция (explode-digits n), която по дадено цяло число n, връща списък от цифрите му.

Напишете функция (digit-occurence d n), която намира колко пъти цифрата d се среща в цялото число n. Използвайте explode-digits.

Напишете функция (remove-repeats L), която премахва последователните повторения на едно и също число от списъка L.

Пример:

(remove-repeats '(1 1 4 4 3 3 4 4 4)) -> '(1 4 3 4)
(remove-repeats '(1 2 3 4)) -> '(1 2 3 4)