Buscar

APOL 03 Estrutura de dados Nota 90

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 7 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

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 6, do total de 7 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

APOL 3 
 
 
 
Questão 1/10 
Com base nos conceitos, objetivos e declarações de funções, ministrados na aula 3 assinale a alternativa 
correta: 
 A Funções somente podem ser declaradas fora do bloco principal do programa main(). 
 B O objetivo principal de utilizarmos funções em nossos programas, é de modularizar as rotinas de programação. 
 
 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 2/10 
De acordo com características das funções em programação, ministrados na Aula 3 
Assinale a alternativa que melhor descreve as características da passagem de parâmetros por referência em funções. 
 A Quando queremos que uma determinada função retorne informações com a utilização do comando ‘return()’, 
obrigatoriamente temos que realizar a passagem de parâmetros por referência para esta função. 
 B Em passagem de parâmetros por valor, somente podemos enviar valores numéricos. 
 C Quando utilizamos passagem de parâmetros por referência, o local de memória da variável de origem é diferente do local 
de memória da variável de destino. 
 D Quando passamos para uma determinada função os valores de uma variável por referência, se dentro desta função a 
variável que recebeu este valor que foi passado for alterado, o valor da variável de origem também será alterado. 
 
 
 
 
 
 E 
A principal diferença entre passagem de parâmetros por referência e por valor, é o tipo de variável que pode ser passada. 
Questão 3/10 
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 
 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á para chamar a 
função, após o 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á 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. 
 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á 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. 
 
 
Questão 4/10 
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); 
 
 B Nome_funcao(num1 aux); 
 C Nome_funcao(&num1, &aux); 
 D Nome_funcao(*num1 *aux); 
 
 
 
 
 E Nome_funcao(int num1, int &aux); 
 
Questão 5/10 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. 
 
 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 6/10 Sobre o 
programa a seguir: main() 
{ int teste(int y) 
{ if(y < 20) 
 y = teste(y * y + 1); 
 return(y); 
 } 
int x; 
 x = teste(1); 
} 
ao final da execução, qual o valor de ‘X’? 
Assinale a Alternativa CORRETA 
 A 1 
 B 21 
 
 
 C 26 
 
 D 42 
 E 256 
 
Questão 7/10 
Antes de executar um determinado programa, o compilador faz uma análise linha a linha procurando inconsistências. 
Caso encontre o compilador para e acusa erro de programação. 
Em qual das afirmações a baixo o compilador não vai acusar erro com relação a funções? 
Assinale a Alternativa CORRETA 
 A Quando declaramos que a função vai receber 3 (três) valores como argumento e somente enviamos 2 (dois). 
 B Quando o compilador tiver encontrado uma chamada à execução de uma determinada função, sendo que esta função somente vai ser 
declarada no final do programa, fora do bloco principal main(), e não existe o cabeçalho da função no topo do programa antes da 
chamada. 
 C Quando fazemos a chamada a uma determinada função internamente a outra função, mas a função que estamos 
chamando está sendo declarada dentro do bloco principal main(). 
 D 
Quando realizamos a chamada à execução de uma função fora do bloco principal main() e fora de qualquer outra função. 
 E Quando o compilador tiver encontrado uma chamada à execução de uma determinada função, sendo que esta função 
somente vai ser declarada no final do programa, fora do bloco principal main(), e existe o cabeçalho da função no topo 
do programa antes da chamada. 
 
 
Questão 8/10 
Sobre o programa a seguir: 
int numero(int *y) 
{ int x; 
for(x=5; x>1; x--) 
 *y = *y + x; 
} 
int quadrado(int y) 
 
 
 
 
{ return(y * y); 
} 
main() 
{ int num=3; 
 num = quadrado(num); 
num = quadrado(num); 
numero(&num); 
} 
ao final da execução, qual o valor de ‘num’? 
Assinale a Alternativa CORRETA 
 A 95 
 
 B 73 
 C 70 
 D 26 
 E 23 
 
Questão 9/10 
O algoritmo a seguir, 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? 
 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). 
 
 
Questão 10/10 
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. 
 
 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.

Outros materiais