Estrutura de dados
Por: ivonebttncrt • 13/6/2015 • Trabalho acadêmico • 1.556 Palavras (7 Páginas) • 243 Visualizações
Revisão P2 – Estrutura de Dados.
1 – Cria-se uma variável “int” para armazenar o valor que teremos como parâmetro (n) e uma para armazenar o resultado (resultado). Depois criamos 2 condições para retornar 1 como resultado se o valor igual ou menor que 1, ou então se for maior ele recebe o valor e multiplica pelo “valor-1” e depois armazena. Quando o valor “n” chega em 1 ele encerra a função e imprime o resultado completo.
2 – Cria-se 3 variáveis do tipo “int” para armazenar o numero do dividendo, o divisor e quociente. Depois criamos 2 condições para testar se o dividendo é menor que o divisor, se a condição for verdadeira retorna 0 no resultado. Se for falsa diminuímos dividendo pelo divisor, depois pegamos e resultado da subtração e vai retornar pra função até dividendo ser menor que o divisor. O quociente é a soma da quantidade de vezes que o numero pode ser dividido.
3 – Cria-se 2 variáveis, uma pra informar que a operação é com uma potência de base 2 e a outra para armazenar o expoente. Iniciamos a função testando a condição do expoente, se ele for = a 0 então retornamos 1 e encerramos a função. Se for diferente de 0, então pegamos o expoente e vamos diminuindo por 1 até que seja igual a 0. Iremos imprimir a quantidade de vezes que conseguimos diminuir a base dela mesma.
4 – Cria-se 2 variaveis para receber qualquer valor para base e qualquer valor para expoente. Com a função “se” testamos se o expoente é igual a 0, se verdadeiro então retorna 1 e finaliza. Se falso, então recebe o valor da base * potencia e vamos diminuindo o expoente até ser igual a 0. Quando chegamos a 0 o contador vem multiplicando a quantidade de vezes que a base foi pode ser multiplicada e imprimimos o resultado.
5 – Inicializamos a função da soma de um numero declarado na variável (n) de valor ‘”int”. Criamos uma função if para teste, se n igual a 1 então o resultado é igual a 1, e encerramos a função. Se n for diferente de 1, então iremos somar n mais n – 1, até a subtração ser igual a 0. O contador irá efetuar a soma de todos os números armazenados, e imprimir o resultado.
6 – Cria uma variável para iniciar a função, depois a função de teste “if” verifica se ‘n’ é igual a 1 e a 2, se for verdade então retorna 1 como resultado e finaliza a função, se for mentira então retorna a operação Fibonacci(n-1) + Fibonacci(n-2) até chegar o ‘n’ chegar a 0.
7 – iniciamos a função criando uma estrutura de lista, depois inserimos um ponteiro para armazenar a informação do elemento desejado. Informado o elemento a função struct percorre a lista e acha o elemento anterior e o próximo daquele que foi informado no inicio.
8 – Função feita para inserir um novo elemento no inicio da lista. Cria uma variável ‘v’, que será o novo elemento. Na primeira linha ele aloca espaço físico de memoria para realizar a inserção. Depois ele indica o elemento que vai entrar na lista e armazena na variável v, indica o quem vai ser o próximo elemento, que no caso será o 1º, e o anterior, que será NULL pois ele passará a ser o novo primeiro elemento. Por último, cria-se uma função de condição onde se 1 for diferente de NULL então inserimos na posição anterior da primeira o novo elemento. Imprime o elemento inserido.
9 – Função feita para buscar um elemento numa lista. Criamos uma estrutura de lista e uma variável ‘v’ para indicarmos qual numero que queremos achar. Iniciamos a lista com o primeiro elemento, criamos um laço ‘for’ para p =1, p diferente de NULL, a variável p aponta para o próximo elemento e recebe o valor dele. Essa função vai se repetindo até p ser igual ao elemento indicado na variável ‘v’. Quando isso ocorre então encerra a função e imprime o nó da lista do elemento. Se a função não encontrar ‘v’ retorna NULL.
10 – A função foi feita para buscar um elemento e retira-lo da lista conhecendo somente o ponteiro para esse elemento. Primeiro ele busca os elementos, na função ‘if’ testamos se o elemento p (informado) é igual a NULL, ou seja o elemento não foi encontrado, se verdade retorna 1 e a lista sem alteração. Agora se ele achar o ponteiro do elemento, então a variável armazena o valor do próximo nó. Depois pegamos o ponteiro anterior e fazemos ele apontar pro próximo e o próximo a apontar pro anterior e criamos tbm uma condição para o caso do próximo numero ou o anterior ser nulo. Após fazer isso isso eliminamos o elemento desejado e retornamos a lista com as alterações, sem o numero retirado.
11 – Estrutura serve para imprimir uma fila circular em sentido reverso. Iniciamos declarando as funções e as variáveis. Depois criamos uma condição para verificar se a lista está vazia. Se a lista não estiver vazia então o ponteiro ‘p’ (que nesse caso é o ultimo elemento) recebe o valor do elemento anterior a ele e imprime. Ele faz isso enquanto p for diferente de ‘lista’ (que nesse caso é o ultimo elemento). A função termina quando p chega ao ultimo elemento.
12 – Estrutura é usada para agrupar ponteiros para o início e fim da fila. Essa estrutura é utilizada em todas as outras estruturas de inserção de elemento em lista duplamente encadeada.
13 – Estrutura de função para inserir novo elemento no inicio da fila. Primeiro declaramos as variáveis do nó de inicio e a do novo elemento que será inserido (float). Depois alocamos espaço de memoria para realizar a inserção. Então o ponteiro p recebe o valor de v (que será o novo elemento). P recebe como parâmetro o próximo elemento, que era o primeiro elemento da fila, e como anterior recebe NULL (pois ele será o primeiro então não tem anterior). Depois criamos uma condição de teste para verificar se a lista não está vazia. E retorna o valor de p. Agora iremos inserir o elemento na fila, iniciamos com a função de inserção e declarando as variáveis (fila2 e float). A variável ‘f’ (fila) recebe a função anterior, ou seja, o novo primeiro elemento e os ponteiros já alterados. Depois testamos se a fila estava vazia antes.....
...