1. Universidade Federal de Pelotas
Departamento de Computação
Disciplina: Algoritmos e Programação (Teórica)
Profª: Fernanda Jeannes
Aluno: Maicon de Menezes Oliveira
Algoritmo
Declare num, v(), tam, numerico
/*-----------------------------------------Função do Ex1--------------------------------------------------*/
função numerico positivo(n numerico)
se n <= 0 então // testa valores negativos é igual a 0
retorna 0
senão
retorna 1+positivo(n-1) //soma os valores de n até 1
fim_se
fim_função
/*-----------------------------------------Função do Ex2--------------------------------------------------*/
função numerico potencia(n numerico; expo numerico)
se n = 0 então // todo numero elevado a 0 é igual a 1
retorna 1
senão //multiplica pelo numero e como com a próxima iteração até o expoente ser igual a 0
return n * potencia(n, expo-1)
fim_se
fim_função
/*-----------------------------------------Função do Ex3--------------------------------------------------*/
função somavetor(a() numerico; contador numerico; cond numerico)
se cond = 'P' então //testa condição (cond) para numero par
//se o tamanho do vetor for 1 retorna caso a condição para par (resto por 2 = 0) seja
verdadeira
se (contador = 1 E resto(a(1), 2) = 0 então
retorne(a(1))
//efetua a soma caso a condição para par (resto por 2 = 0) seja verdadeira
senão se (resto (a(contador-1)), 2) = 0 então
retorne(somavetor(a, contador - 1)) + a(contador)
fim_se
senão se cond = 'I' então //testa condição (cond) para numero impar
//se o tamanho do vetor for 1 retorna caso a condição para impar (resto por 2 = 1) seja
verdadeira
se (contador = 1 E resto(a(1), 2) = 1 então
retorne(a(1))
//efetua a soma caso a condição para impar (resto por 2 = 1) seja verdadeira
senão se (resto (a(contador-1)), 2) = 1 então
retorne(somavetor(a, contador - 1)) + a(contador)
fim_se
fim_se
fim_função
Sexta-feira, 02 de dezembro de 2011 Página 1
2. Universidade Federal de Pelotas
Departamento de Computação
Disciplina: Algoritmos e Programação (Teórica)
Profª: Fernanda Jeannes
Aluno: Maicon de Menezes Oliveira
/*-------------------------------------------Função do Ex4----------------------------------------------------
*/
função pesquisavetor(n numerico; a() numerico; t numerico)
Declare i numerico
// pesquisa o numero e retorna a posição do elemento caso encontrado
para i de 1 até t então
se n = a(i) então
retorna i
senão
retorna -1//retorno para saber se o numero não foi encontrado
fim_se
fim_para
fim_função
/*----------------------------------------algoritmo principal------------------------------------------------*/
repita
escreva 'Digite um numero inteiro e positivo: '
leia(num)
escreva 'Digite um numero inteiro e positivo para a expoente: '
leia(exp)
se num < 0 então
escreva 'numero invalido por favor digite novamente'
se exp < 0 então
escreva 'expoente invalido por favor digite novamente'
até (num >=0 E exp >=0) //critica a entrada de dados para garantir números inteiros e
positivos
escreva 'A soma dos números positivos de 1 até ',num,'Positivos é: ', positivo(num)
escreva num,'na',exp,'ª potência é: ', potencia(num, exp)
Sexta-feira, 02 de dezembro de 2011 Página 2
3. Universidade Federal de Pelotas
Departamento de Computação
Disciplina: Algoritmos e Programação (Teórica)
Profª: Fernanda Jeannes
Aluno: Maicon de Menezes Oliveira
/*---------------------------------------Funções com vetor-----------------------------------------------*/
escreva 'Digite uma quantidade de elementos para um vetor: '
leia (tam)
escreva 'Preencher o vetor: n'
para i de até tam faça
escreva 'Digite um valor para o elemento',i,'do vetor: '
leia v(i)
fim para
escreva 'a soma dos elementos pares o vetor é : ', somavetor(v(), tam, 'P')
escreva 'a soma dos elementos impares o vetor é : ', somavetor(v(), tam, 'I')
escreva 'Digite um valor para ser pesquisado no vetor'
leia (valor)
pos := pesquisavetor(valor, v(), tam)
se pos = -1 então
escreva 'O valor pesquisado não foi encontrado no vetor'
senão
escreva 'O valor: ',valor,'encontra-se na',pos,'ª posição do vetor.'
fim_se
fim_algoritmo
Sexta-feira, 02 de dezembro de 2011 Página 3