O objetivo desta parte da aula é experimentar a definição de funções que envolvem vetores de tipos numéricos. Após a realização da prática, deverá ter sido adquirida uma noção básica dos seguintes conceitos:
Os vetores aparecem representados por <e1, e2, ...>
Defina funções envolvendo vetores de inteiros que permitam:
Exemplo:
naturals(5) → <1, 2, 3, 4, 5>
Exemplo:
sum(<1, 3, 5, 8>) → 9
Utilizando sempre que possível as funções já desenvolvidas. defina funções envolvendo vetores de inteiros que permitam:
Exemplo:
mean(<13, 14, 16, 15>) → 14.5
Exemplo:
exists(5, <1, 5, 2>) → True
exists(5, <1, 6, 2>) → False
Exemplo:
count(3, <1, 3, 4, 5, 3>) → 2
min()
).¶Exemplo:
min_of(<5, 1, 6, 9, 3>) → 1
inclua um parâmetro booleano para permitir indicar se o elemento do meio é para incluir (caso o comprimento do vetor seja ímpar). Se o comprimento do vetor for par, este parâmetro não terá efeito. Exemplo:
firstHalf(<1, 2, 3, 4, 5>, True)→ <1, 2, 3>
firstHalf(<1, 2, 3, 4>, True) → <1, 2>
firstHalf(<1, 2, 3, 4>, False) → <1, 2>
firstHalf(<1, 2, 3, 4, 5>, False) → <1, 2>
Exemplo:
secondHalf(<1, 2, 3, 4, 5>, True) → <3, 4, 5>
secondHalf(<1, 2, 3, 4, 5>, False) → <4, 5>
Exemplo:
merge(<1, 2>, <9, 10>) → <1, 2, 9, 10>
Ou seja, o novo vetor será composto pelos elementos do vetor dado pela ordem inversa. Exemplo:
invert(<1, 2, 3>) → <3, 2, 1>
O objetivo desta parte da aula é experimentar a definição de funções e procedimentos que envolvam matrizes de inteiros. Após a realização da prática, deverá ter sido adquirida uma noção básica dos seguintes conceitos:
Desenvolva funções e procedimentos sobre matrizes, permitindo:
def identity(n):
def multiply_by_scalar(m, s):
def sum_matrix(m1, m2):