Computação e Programação 2006/07 Aula Prática 3 Programação imperativa sobre vectores 1. Programação imperativa sobre vectores 1.1 Defina a função MembroQ que dado um número N e um vector V de números devolve verdadeiro se N pertence a V e falso caso contrário. 1.2 Defina a função Ocorrencias que dado um número N e um vector V conta quantas vezes N ocorre em V. 1.3 Defina a função PosMax que dado um vector V devolve a soma dos índices das posições onde o máximo de V ocorre. 1.4 Defina uma função que dado um vector V e um número N devolve um triplo [A,B,C] tal que A é o número de elementos de V maiores que N, B é o número de elementos de V iguais a N e C é o número de elementos menores que N. 1.5 Defina a função Junta que recebe dois vectores V e W e devolve um vector com os elementos de V seguidos dos elementos de W. 1.6 Defina uma função CarPrimos que recebe um vector V e devolve um vector com 1 nas posições onde V contém um número primo e 0 nas restantes. 1.7 Defina a função Compmsuccresc que recebe como argumento um vector de inteiros e devolve o comprimento da maior sucessão estritamente crecente que ocorre no vector. 1.8 Desenvolva uma função f em MATLAB que recebe como argumento um vector de números inteiros, percorre elemento a elemento o vector dado recorrendo a um ciclo while e calcula o par [x,y] tal que x é o produto das posições pares em que ocorrem elementos pares e y é o menor desses elementos (o produto de 0 elementos é 1 e caso não ocorram números pares no vector y deve ser 0). 1.9 Desenvolva uma função f em MATLAB que recebe como argumento um vector de números inteiros, percorre elemento a elemento o vector dado recorrendo a um ciclo while e calcula o par [x,y] tal que x é o número de elementos que são iguais às posições onde ocorrem e y é a primeira dessas posições (caso não exista nenhum número igual à posição onde ocorre y deve ser 0). 1.10 Desenvolva uma função f em MATLAB que recebe como argumento um vector de números inteiros, percorre elemento a elemento o vector dado recorrendo a um ciclo while e calcula o vector do mesmo comprimento em que cada posição tem o elemento do vector dado, desde que o módulo da diferença para o elemento seguinte (caso exista) seja par, e 0 nas outras posições. 1.11 Desenvolva uma função f em MATLAB que recebe como argumento um vector de números inteiros, percorre elemento a elemento o vector dado recorrendo a um ciclo while e calcula o vector do mesmo comprimento com 1 nas posições onde ocorrem quadrados perfeitos e 0 nas outras posições. 2. Estudo de uma função Sejam X=[x1,...,xn] e Y=[y1,...,yn] dois vectores, tais que f(xi)=yi para alguma função f. Assuma que o vector X está ordenado. 2.1 Defina a função Maximo que calcula o máximo da função f, para a representação discreta da função. 2.2 Defina a função Monotonia que devolve 1 se a função f é crescente, –1 se é decrescente e 0 caso contrário, para a representação discreta da função. 2.3 Defina a função Tvm que calcula a taxa de variação média de f em cada intervalo. Esta função deverá devolver um vector de comprimento n-1 em que na i-ésima posição do vector ocorre a tvm de f no intervalo [xi,xi+1].