Buscar

ESTRUTURA DE DADOS APOL 3

Prévia do material em texto

ESTRUTURA DE DADOS – APOL 3 
Questão 1/5 - Estrutura de Dados 
Considerando o fragmento de código a seguir, que imprime a série de Fibonacci até uma determinada 
posição definida pelo usuário. 
 
Sobre este algoritmo, qual a afirmação (Alternativa) está correta? 
 
A Caso o usuário digitar um valor maior que 1 (um) a função recursiva ‘Fib’ ficará em loop eterno. 
 
B Se quisermos alterar a função ‘Fib’ para somente imprimir o elemento da série solicitada pelo usuário, 
teríamos que: 1º retirar printf(“ %d ”, n2); da função ‘Fib’; 2º colocar a linha printf(“ %d ”, n2); dentro 
da função main, mas depois da chamada da função Fib. 
 
C Para economizarmos tempo, podemos colocar a leitura do número digitado pelo usuário dentro da função 
‘Fib’. 
 
D A série de Fibonacci poderia ser impressa sem a necessidade de recursividade. Para tanto teríamos que 
utilizar estruturas de decisão. 
 
E Para corrigir a possibilidade de loop eterno pela função ‘Fib’, temos que criar uma condição de somente 
chamar a função se o usuário digitar um valor positivo maior que 0 (zero). 
Você acertou! 
 
Questão 2/5 - Estrutura de Dados 
Com base nos conceitos, objetivos e declarações de funções, ministrados na aula 3 
assinale a alternativa correta: 
 
A Na passagem de dados por valor usamos como argumento da função o endereço da memória 
correspondente. 
 
B O objetivo principal de utilizarmos funções em nossos programas, é de modularizar as rotinas de 
programação. 
Você acertou! 
 
C Funções podem retornar vários tipos de dados simultaneamente. 
 
D Na passagem de parâmetros por valor, enviamos o endereço da variável de origem. 
 
E Quando chamamos uma função e passamos um determinado dado de uma variável por valor, se este for 
alterado na função, altera o valor da variável de origem. 
 
Questão 3/5 - Estrutura de Dados 
Sobre recursividade, 
qual a alternativa CORRETA? 
 
A Uma função recursiva se caracteriza pela passagem de parâmetro por referência. 
 
B Uma função é considerada recursiva, quando ela é chamada várias vezes de dentro de uma estrutura de 
repetição. 
 
C Em relação a uma determinada variável, declarada dentro de uma função recursiva, se esta função 
recursiva for chamada 10 vezes, no momento da 10ª chamada, teremos 10 posições de memória distintas 
para esta variável que foi declarada dentro da função. Cada uma podendo ter um conteúdo diferente. 
Você acertou! 
 
D O que caracteriza a função ser recursiva, é o fato que, entre as suas linhas de execução, existe uma 
chamada a outra função, que depois volta. 
 
E Funções recursivas possuem um mecanismo automático de proteção que não deixa o programa travar, 
não precisamos nos preocupar com isso. 
 
Questão 4/5 - Estrutura de Dados 
Seguindo o conteúdo ministrado na AUla 3, Com base nas sentenças I, II e III, 
I – Quando realizamos a passagem de parâmetros por referência, estamos passando para a função o 
endereço da variável de origem. Deste modo se a variável que recebeu este endereço for alterada, 
vai ser alterado na verdade o conteúdo da variável de origem. 
II – Quando declaramos uma função, colocamos na frente do nome da função o tipo de dado que a 
função pode retornar utilizando o comando “return”. Se não tiver nada escrito na frente do nome da 
função, por padrão ele pode retornar caracteres alfa numéricos. 
III – O propósito de criarmos funções, é o de modularizar o programa de formar a ficar mais clara a 
compreensão do programa. Sendo que o ideal é que cada função execute uma única tarefa. 
Assinale a Alternativa CORRETA 
 
A As questões I e III estão corretas. 
Você acertou! 
 
B As questões I e II estão corretas. 
 
C As questões II e III estão corretas. 
 
D Somente a questão I está correta. 
 
E Somente a questão II está correta. 
 
Questão 5/5 - Estrutura de Dados 
Qual a forma correta de realizar a passagem de parâmetros por valor para uma determinada 
função? 
Assinale a Alternativa CORRETA 
 
A Nome_funcao(num1, aux); 
Você acertou! 
 
B Nome_funcao(num1 aux); 
 
C Nome_funcao(&num1, &aux); 
 
D Nome_funcao(*num1 *aux); 
 
E Nome_funcao(int num1, int &aux);

Continue navegando

Outros materiais