Buscar

Apol 3 Nota 100 Estrutura de Dados

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 4 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Questão 1/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 
Nota: 20.0 
 
A As questões I e III estão corretas. 
Você acertou! 
Slides da Aula 3 
 
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 2/5 - Estrutura de Dados 
Com base nos conceitos, objetivos e declarações de funções, 
ministrados na aula 3 
assinale a alternativa correta: 
Nota: 20.0 
 
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! 
Aula 03 / Slides 5 a 11 
 
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 f
altera o valor da variável de origem. 
 
Questão 3/5 - Estrutura de Dados 
Sobre recursividade, 
qual a alternativa CORRETA? 
Nota: 20.0 
 
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 q
função. Cada uma podendo ter um conteúdo diferente. 
Você acertou! 
Aula 03 / Slides 12 e 13 
 
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, 
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 
Considerando o fragmento de código a seguir, que imprime a série de 
Fibonacci até uma determinada posição definida pelo usuário. 
 
int Fib(int n1, int n2, int impr, int limite) 
{ printf(“ %d ”, n2); 
if (impr == limite) 
 { return(0); 
 } 
 else 
 { Fib(n2, (n1+n2), ++impr, limite); 
 } 
} 
main() 
{ int num; 
 printf(“Até qual posição da série de Fibonacci deseja que seja impresso? 
"); 
 scanf("%d",&num); 
 Fib(0, 1, 1, num); 
} 
Sobre este algoritmo, qual a afirmação (Alternativa) está correta? 
Nota: 20.0 
 
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! 
Aula 03 / Slide 21 
 
Questão 5/5 - Estrutura de Dados 
Qual a diferença entre a declaração de uma função e a chamada desta 
função para ser executada? 
Assinale a Alternativa CORRETA 
Nota: 20.0 
 
A Quando declaramos uma função, após escrever o nome da função colocamos o abre e fecha parênteses ‘( )’ e não colocamos 
ponto e vírgula. E na sequencia definimos o bloco da função com abre e fecha chaves ‘{ }’. Já p
nome da função que vai ser chamada colocamos o abre e fecha colchetes ‘[ ]’ seguido de ponto e vírgula
 
B Quando declaramos uma função, após escrever o nome da função colocamos o abre e fecha parênteses ‘( )’ seguido de ponto e 
vírgula. E na sequencia definimos o bloco da função com abre e fecha chaves ‘{ }’. Já para chamar a função, após o nome da 
função que vai ser chamada colocamos o abre e fecha parênteses ‘( )’ seguido de ponto e vírgula.
 
C Quando declaramos uma função, após escrever o nome da função colocamos o abre e fecha parênteses ‘( )’ e não colocamos 
ponto e vírgula. E na sequencia definimos o bloco da função com abre e fecha colchetes ‘[ ]’. Já 
nome da função que vai ser chamada colocamos o abre e fecha parênteses ‘( )’ seguido de ponto e vírgula.
 
D Quando declaramos uma função, após escrever o nome da função colocamos o abre e fecha parênteses ‘( )’ e não colocamos 
ponto e vírgula. E na sequencia definimos o bloco da função com abre e fecha chaves ‘{ }’. Já para chamar a função, após o 
nome da função que vai ser chamada colocamos o abre e fecha parênteses ‘( )’ seguido de ponto e vírgula e do bloco da função 
com abre e fecha chaves ‘{ }’. 
 
E Quando declaramos uma função, após escrever o nome da função colocamos o abre e fecha parênteses ‘( )’ e não colocamos 
ponto e vírgula. E na sequencia definimos o bloco da função com abre e fecha chaves ‘{ }’. Já par
nome da função que vai ser chamada colocamos o abre e fecha parênteses ‘( )’ seguido de ponto e vírgula.
Você acertou! 
Aula 03 / Slides 5, 6, 7

Outros materiais