Baixe o app para aproveitar ainda mais
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
Compartilhar