/Functional-programming

Task for Functional programming

Primary LanguageRacket

Tasks for Functional programming

  • Option #17: Tasks 1 to 9
  • Option #8: Task 14

Task #1

На языке Scheme опишите выражение, вычисляющее значение задания с номером вашего варианта. В выражении могут использоваться целочисленные константы, операции сложения, вычитания, умножения и деления.

Task#1


Task #2

Найти последовательность вызова функций cdr и car, приводящую к получению атома X из списка, данного в задании с номером вашего варианта.

(((A B C D E) (F (X (G))) H))


Task #3

Составить комбинацию вызовов функции cons, формирующее список из задания c номером вашего варианта из атомов A, B, C, D, E, F, G, H, X и ().

(((A B C D E) (F (X (G))) H))


Task #4

Используя функции car и cdr необходимо извлечь из заданных списков элементы с указанными номерами. В качестве результата выдайте список составленный из извлеченных элементов.

Списки: (V B N J H), ((Y U I) (H J K) (8) 78), (df FG HJ K L (O 0 9))

Номера: 3, 4, 6


Task #5

С помощью функций car, cdr, list и append составьте список, состоящий из элементов заданных списков, за исключением тех элементов, номера которых указаны.

Списки: (V B N J H), ((Y U I) (H J K) (8) 78), (df FG HJ K L (O 0 9))

Номера: 3, 4, 6


Task #6

Напишите выражение, выдающее #t если в первом заданном списке элемент с указанным номером является числом, во втором списке элемент с соответствующим номером является атомом, а в третьем списке элемент с указанным номером является списком.

Списки: (V B N J H), ((Y U I) (H J K) (8) 78), (df FG HJ K L (O 0 9))

Номера: 3, 4, 6


Task #7

  • Опишите функцию для задания с номером вашего варианта.
  • Приведите набор тестовых вызовов описанной функции, демонстрирующих все варианты ее работы.

Написать функцию одного аргумента — списка, возвращающую первый элемент списка, если это атом dog, и последний элемент списка иначе.


Task #8

Для выражения, соответствующего номеру вашего варианта, опишите функцию с именем y.

Task #8


Task #9

  • Опишите функцию, выполняющую обработку, описанную в задании с номером вашего варианта.
  • Приведите набор тестовых вызовов описанной функции, демонстрирующих все варианты ее работы.

Описать функцию, которая, выдавала бы элемент списка по заданному номеру, отсчитывая элементы от конца списка.