Номер: 340186
Количество страниц: 5
Автор: marvel13
Контрольная Функциональное и логическое программирование, номер: 340186
390 руб.
Купить эту работу
Не подошла
данная работа? Вы можете заказать учебную работу
на любую интересующую вас тему
Заказать новую работу
данная работа? Вы можете заказать учебную работу
на любую интересующую вас тему
- Содержание:
"ЗАДАНИЯ
к расчетно-графической работе
по дисциплине «Функциональное и логическое программирование»
ЗАДАНИЕ
к расчетно-графической работе (часть 1) Логическое программирование
Вариант 1. Подсчитать число вершин дерева.
frombinarytreeimport *
values = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
tree = build(values)
print(f""Число вершин дерева: {tree.size}"",sep='\n')
Вариант 2. Подсчитать число листьевых вершин дерева.
frombinarytreeimport *
values = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
tree = build(values)
print(f""Число листьевых вершин дерева: {tree.leaf_count}"",sep='\n')
Вариант 3. Подсчитать число вершин дерева, значения которых лежат в определенном диапазоне.
frombinarytreeimport *
values = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
tree = build(values)
min = int(input(""Введите минимум диапазона: ""))
max = int(input(""Введите максимум диапазона: ""))
print(len([eforein tree.values if min<=e<=max]))
Вариант 4. Калькулятор на четыре арифметических действия (возможно, со скобками).
S = input()
S = S.replace('/', '//')
print(eval(S))
Вариант 5. Вывести дерево на экран в виде дерева.
frombinarytreeimport build
values = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
root = build(values)
print(root)
Вариант 6. Удалить все повторные вхождения элементов в список. Например: [1,2,2,3] [1,2,3].
x = [1,2,3,4,5,6,7,8,9,10,2,1,6,31,20]
x = list(set(x))
print(f""Список без повторений: {x}"")
Вариант 7. Подсчитать число элементов списка без какого-либо указываемого элемента.
A = [""A"", 1, True, 'test']
print(f""Число элементов списка: {len(A)}"")
Вариант 8. Подсчитать число определенных символов в строке.
check_string = ""i am checking this string to see how many times each character appears""
count = {}
for s in check_string:
if s in count:
count[s] += 1
else:
count[s] = 1
for key in count:
if count[key] > 1:
print(key, count[key])
Вариант 9. Имеется список, каждый элемент которого, в свою очередь является списком. Найти среднее арифметическое последних элементов элементов-списков.
A = [[1, 2, 3, 4], [5, 6, 7], [8, 9]]
sum=0
forxinA:
sum+=x[-1]
print(f""Среднее арифметическое последних элементов элементов-списков: {sum/len(A):.2}"")
Вариант 10. Имеется список, каждый элемент которого, в свою очередь является списком. Вывести самый короткий и самый длинный элементы-списки.
A = [ [1, 2], [4, 5, 6] ]
print(f""Самый короткий элемент-список: {min(A,key=len)}"")
print(f""Самый длинный элемент-список: {max(A,key=len)}"")
Вариант 11. Имеется список, каждый элемент которого, в свою очередь является списком. Отсортировать список верхнего уровня (по длине элементов-списков второго уровня).
A = [[1, 2, 3, 4], [5, 6, 7], [8, 9]]
print(sorted(A, key=len))
Вариант 12. Отсортировать слова в строке по алфавиту.
Вариант 13. Подсчитать число букв в каждом слове строки и сформировать список, в качестве элементов которого используются числа, полученные в результате подсчета.
words = input(""Введите текст: "").split()#строку разбиваем на слова
letter_counts = list(map(lambdax: len(x), words))#считаем кол-во букв в каждом слове
print(letter_counts)
Вариант 14. Сдвинуть циклически список вправо на определенное число элементов.
def shiftRight(arr, i):
returnarr[-i:] + arr[:-i]
print(shiftRight([1,1,3,4,5],2))
Вариант 15. Сдвинуть циклически список влево на определенное число элементов.
def shiftLeft(arr, i):
returnarr[i:] + arr[:i]
print(shiftLeft([1,1,3,4,5],2))
ЗАДАНИЕ
к расчетно-графической работе (часть 2) Функциональное программирование
Вариант 1. Определить функцию, возвращающую последний элемент списка.
def lastElement(mylist):
return mylist[-1]
Вариант 2. Определить функцию, удаляющую последний элемент списка.
def lastElement(mylist):
delmylist[-1]
returnmylist
Вариант3.Определить предикат, проверяющий, является ли аргумент одноуровневымсписком.
def isList(mylist):
for element inmylist:
iftype(element) islist:
returnFalse
returnTrue
Вариант 4. Определитьфункцию (bulbn), строящуюn-уровневый вложенный список, элементом которого на самом глубоком уровне является n.
def bulb(n):
ifn == 0:
returnlist([n])
else:
returnlist([bulb(n-1)])
print(bulb(4))
Вариант 5. Определить функцию first_atom, результатом которой будет первый атом списка. Например:
>(first_atom ’(((a b)) c d)) A
def first_atom(mylist):
l = mylist[0]
whiletype(l) == list:
l = l[0]
else:
returnl
print(first_atom([[['a',1],'b'],'c','d']))
Вариант 6. Определить функцию, удаляющую из списка первое вхождение данного элемента на верхнем уровне.
def removeValue(myList,value):
for x inmyList:
iftype(x) != listand x == value:
del x
returnTrue;
returnFalse;
A = [1,2,3,4,5,6]
print(removeValue(A,5))
Вариант 7. Определить функцию, которая обращает список (abc) и разбивает его на уровни (((c) b) a).
def CreateList(myList):
myList.reverse()
result = list()
i = 0
while i <= len(myList) - 1:
if len(result) == 0:
result = [myList[i]]
else:
result = [result, myList[i]]
i+=1
return result
test = ['a','b','c']
print(CreateList(test))
Вариант 8. Определить функцию, преобразующую список (abc) к виду (a (b (c))).
def CreateList(myList):
myList.reverse()
result = list()
i = 0
while i <= len(myList) - 1:
if len(result) == 0:
result = [myList[i]]
else:
result = [myList[i],result]
i+=1
return result
test = ['a','b','c']
print(CreateList(test))
Вариант 9. Определить функцию, преобразующую список (a (b (c))) к виду(abc).
def flat(mlist):
result = []
for i inmlist:
iftype(i) islist:
result.extend(flat(i))
else:
result.append(i)
return result
A = [1,[2,[3]]]
print(flat(A))
Вариант 10. Определить функцию, преобразующую список (abc) к виду (((a)
b) c).
def CreateList(myList):
result = list()
i = 0
while i <= len(myList) - 1:
if len(result) == 0:
result = [myList[i]]
else:
result = [result, myList[i]]
i+=1
return result
test = ['a','b','c']
print(CreateList(test))
Вариант 11. Определить функцию, преобразующую список (((a) b) c) к виду(abc).
def flat(mlist):
result = []
for i inmlist:
iftype(i) islist:
result.extend(flat(i))
else:
result.append(i)
return result
A = [[[1],2],3]
print(flat(A))
Вариант 12. Определить функцию, удаляющую из списка каждый второй элемент.
Вариант 13. Определить функцию, преобразующую список (abcd …) к виду ((ab) (cd) …).
def split_list(a_list):
result = list()
i=0
while(i<len(a_list)):
result.append(a_list[i:i+2])
i+=2
return result
A = [1,2,3,4,5,6]
print(split_list(A))
Вариант 14. Определить функцию, которая из списков (abc …) и (1 2 3 …) образует список (a 1 b 2 c 3 …).
def interleave():
mylist = []
a = [1,2,3,]
b = [""a"",""b"",""c""]
for x inrange(max(len(a), len(b))):
if x < len(a):
mylist.append(a[x])
if x < len(b):
mylist.append(b[x])
print(mylist)
Вариант 15. Определить функцию, удаляющую из списка каждый третий элемент.
def deleteThirdElement():
values = list(range(1, 11))
N=3
del values[N-1::N]
print(values)
"