Baixe o app para aproveitar ainda mais
Prévia do material em texto
ATIVIDADE 03 - ADS/SI - ALGORÍTMOS E LÓGICA DE PROGRAMAÇÃO I - 2020 Período:11/05/2020 08:00 a 29/05/2020 23:59 (Horário de Brasília) Status:ABERTO Nota máxima:0,50 Gabarito:Gabarito será liberado no dia 30/05/2020 00:00 (Horário de Brasília) Nota obtida: 1ª QUESTÃO Um objeto é dito recursivo se ele for definido em termos de si próprio. Destaca-se que o conceito de recursão não é encontrado somente na programação mas também na matemática e no dia a dia como, por exemplo, quando vemos uma imagem que contém a si própria. LEAL, Gislaine Camila Lapasini, OLIVEIRA, Pietro Martins de. Algoritmos e Lógica de Programação I. Maringá: Unicesumar, 2020. Assim, considere o seguinte trecho de pseudocódigo do algoritmo fatRec , abaixo, cujo propósito é calcular e exibir, na tela, o fatorial de 5. 01 - Algoritmo fatRec 02 - Funcao fat(x: inteiro): inteiro 03 - Início 04 - Se (________) então 05 - retorne 1 06 - Senão 07 - retorne x * __________ 08 - Fim_se 09 - Fim_funcao 10 - Var n, resultado: inteiro 11 - Início 12 - n <- 5 13 - ______________ <- fat(n) 14 - escreva(resultad0) 15 - Fim Com base em suas habilidades no desenvolvimento e compreensão de algoritmos, assinale a alternativa que melhor se adequa à realidade e ao propósito do algoritmo fatRec apresentado acima. ALTERNATIVAS As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "x = 1", "fat(x)" e "n", respectivamente. As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "x = 1", "fat(x-1)" e "n", respectivamente. As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "x = 1", "fat(x)" e "resultado", respectivamente. As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "x = 0", "fat(x-1)" e "resultado", respectivamente. As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "fat(x) = 0", "fat(x)" e "resultado", respectivamente. Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 1 of 9 27/05/2020 20:44 Atenção! Questão anulada. ALTERNATIVAS II, apenas. I e II, apenas. I e III, apenas. II e III, apenas. I, II e III. 3ª QUESTÃO Na matemática a Sequência de Números de Fibonacci é uma sequência de números inteiros na qual cada elemento é igual à soma dos dois elementos imediatamente antecessores a ele. A Sequência de Fibonacci pode ser encontrada em uma ampla variedade de aplicações como, por exemplo, em trabalhos de design, biologia, mercado financeiro, computação, etc. Considere a função fibo() , abaixo, cujo objetivo seria retornar o “n-ésimo” elemento da Série de Fibonacci. 01 - Função fibo(n: inteiro): inteiro 02 - Var i, fib, ant1, ant2: inteiro 03 - Início 04 - ant1 <- 0 05 - ant2 <- 1 06 - Para i de 1 até n passo 1 faça 07 - fib <- ant1 + ant2 08 - ant2 <- ant1 09 - ant1 <- fib 10 - Fim_para 11 - retorne fib 12 - Fim_funcao Considere as seguintes afirmações: I – Para que o algoritmo retorne o valor correto, de acordo com a Série de Fibonacci, é preciso inverter as linhas 8 e 9. II – Para que o algoritmo funcione, a variável ant1 deve ser inicializada com o valor 2. III – Caso o parâmetro " n " valha 5 (cinco), o bloco de comandos compreendido entre as linhas 7 e 9 será executado por 4 (quatro) vezes. Realizando o teste de mesa na função acima, pode-se dizer que é correto o que se afirma em: ALTERNATIVAS Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 2 of 9 27/05/2020 20:44 I, apenas. III, apenas I e II, apenas. I e III, apenas. II e III, apenas. 4ª QUESTÃO Através das estruturas de decisão, o programa pode escolher, em tempo de execução, por tomar um dentre vários caminhos possíveis, de acordo com uma condição pré-estabelecida. Combinada a uma estrutura de repetição, a estrutura condicional pode auxiliar o algoritmo a tomar uma sequência de decisões. Sabendo disso, analise o algoritmo abaixo. 01 - Algoritmo contador 02 - Var numero, cont: inteiro 03 - Início 04 - cont <- 0 05 - leia(numero) 06 - Enquanto (numero > 0) 07 - Se (numero MOD 5 = 0) então 08 - cont <- cont + 1 09 - Fim_se 10 - numero <- numero / 10 11 - Fim_enquanto 12 - escreva(cont) 13 - Fim Tomando por base o passo a passo apresentado no algoritmo acima leia as afirmações. I – Esse algoritmo serve apenas para dizer se o " numero " informado pelo usuário é múltiplo de 5, ou não. II – A instrução descrita na linha 10 só será executada caso a condição da linha 7 seja verdadeira. III – O algoritmo irá imprimir, na linha 12, quantos algarismos igual a 5 estão contidos no "numero" informado pelo usuário. Sendo assim, é correto o que se afirma em: ALTERNATIVAS I, apenas. II, apenas. III, apenas. I e II, apenas. II e III, apenas. 5ª QUESTÃO Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 3 of 9 27/05/2020 20:44 O algoritmo abaixo foi criado com o intuito de inicializar uma matriz de 2 (duas) linhas por 3 (três) colunas. 01 - Algoritmo manipulaMatriz 02 - Var mat: Vetor 1..2, 1..3 de inteiro 03 - i, j: inteiro 04 - Início 05 - i <- 1 06 - j <- 1 07 - Enquanto (i <= 3) faça 08 - Enquanto(j <= 2) faça 09 - mat i, j <- i*j 10 - j <- j + 1 11 - Fim_enquanto 12 - Fim_enquanto 13 - Fim Assim, considere o algoritmo acima para avaliar as afirmações abaixo. I – Em um dado ponto da execução do algoritmo, o elemento da primeira linha, segunda coluna, terá seu conteúdo valendo 2 (dois). II – Há um erro semântico na linha 7, pois a matriz possui duas linhas apenas. III – Da maneira como foi escrito, o algoritmo nunca irá entrar em loop infinito. Sendo assim, é correto o que se afirma em: ALTERNATIVAS I, apenas. II, apenas. III, apenas. ) I e II, apenas. I, II e III. 6ª QUESTÃO Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 4 of 9 27/05/2020 20:44 Inúmeras aplicações têm, em certo ponto de seu código, que decidir entre tomar um caminho ou outro. Por exemplo, algumas ações podem ser tomadas caso um número qualquer seja igual a zero, ou caso o número seja menor do que zero, e assim por diante. Com base em seus conhecimentos a respeito de estruturas condicionais, realize o teste de mesa no algoritmo abaixo. 01 - Algoritmo testaNumero 02 - Var numero: inteiro 03 - Início 04 - leia(numero) 05 - Se((-1)*numero < 0) então 06 - escreva("Caso 1.") 07 - Senão 08 - Se ((-1)*numero > 0) então 09 - escreva("Caso 2.") 10 - Senão 11 - escreva("Caso 3.") 12 - Fim_se 13 - Fim_se 14 - Fim Com base no algoritmo acima, leia as afirmações abaixo. I – A linha 6 do algoritmo só será executada caso o usuário insira um valor positivo. II – A condição da linha 8 só será testada caso o usuário insira um valor não-positivo. III – A linha 10 será executada quando o número for diferente de zero. Sendo assim, é correto o que se afirma em: ALTERNATIVAS I, apenas. II, apenas. III, apenas. I e II, apenas. I, II e III. 7ª QUESTÃO Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 5 of 9 27/05/2020 20:44 Replicar código fonte de maneira desregulada, além de deselegante, pode tornar o código ineficiente e dificultar em muito a manutenção de um algoritmo. Por isso, é comum a utilização de estruturas de repetição. LEAL, Gislaine Camila Lapasini, OLIVEIRA, Pietro Martins de. Algoritmose Lógica de Programação I. Maringá: Unicesumar, 2020 (adaptado). Conhecendo as sintaxes de declaração dos comandos " para " e " enquanto ", avalie as afirmações a seguir. I – Na estrutura " para " a condição de parada está embutida no comando. II – Na estrutura " enquanto " a condição de parada fica implícita, de forma que o desenvolvedor fica restrito a expressões lógico-relacionais simples. III – Tanto na estrutura " enquanto " quanto na estrutura " para " é usual que se utilize uma variável de controle para estabelecer uma condição de parada. Sendo assim, é correto o que se afirma em: ALTERNATIVAS I, apenas. III, apenas. I e II, apenas. I e III, apenas. II e III, apenas. 8ª QUESTÃO Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 6 of 9 27/05/2020 20:44 Uma função é uma sub-rotina que tem como objetivo desviar a execução do programa principal para realizar uma tarefa específica. ASCENCIO, A. F. G.; CAMPOS, E. A. V. Fundamentos da programação de computadores. 5. ed. São Paulo: Prentice Hall, 2010. Considere o algoritmo que abaixo. No pseudocódigo é possível identificar a declaração e utilização da função convertePeso() . 01 - Algoritmo conversao 02 - Função convertePeso(q: real): real 03 - Var g: real 04 - Início 05 - g <- q * 1000 06 - retorne g 07 - Fim_funcao 08 - Var pes, gra: real 09 - Início 10 - escreva("Digite o peso em quilos:") 11 - leia(pes) 12 - convertePeso(pes) 13 - escreva("O peso, em gramas, é:", gra) 14 - Fim Levando em consideração seus conhecimentos sobre funções, bem como o pseudocódigo acima, avalie as afirmações a seguir. I – A função convertePeso() irá retornar o peso convertido em gramas: um número do tipo inteiro. II –A variável g pertence ao escopo da função convertePeso() e não pode ser referenciada fora desse contexto. III – Para que o comando " escreva() " da linha 13 apresente um resultado correto, é preciso fazer com que a variável gra receba o resultado da execução da função convertePeso() , na linha 12. É correto o que se afirma em: ALTERNATIVAS II, apenas. I e II, apenas. I e III, apenas. II e III, apenas. I, II e III. Atenção! Questão anulada. ALTERNATIVAS Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 7 of 9 27/05/2020 20:44 I, apenas. II, apenas. III, apenas. I e III, apenas. I, II e III. 10ª QUESTÃO Em muitas situações nos deparamos com problemas complexos e abrangentes. Para resolver esse tipo de problema temos que dividí-lo em subproblemas mais simples e específicos, dividindo assim a sua complexidade e facilitando a resolução, através de procedimentos específicos. FORBELLONE, A. L. V.; EBERSPACHER, H. F. Lógica de Programação. 3. ed. São Paulo: Makron Books, 2005. Considere o algoritmo em pseudocódigo abaixo. 01 - Algoritmo quadrado 02 - Procedimento elevaAoQuadrado(x: inteiro) 03 - Início 04 - x <- x * x 05 - Fim_procedimento 06 - Var x: inteiro 07 - Início 08 - escreva("Insira o valor:") 09 - leia(x) 10 - elevaAoQuadrado(x) 11 - escreva(x) 12 - Fim Sendo assim, tomando por base seus conhecimentos a respeito de procedimentos, leia as afirmações que se seguem. I – A linha 2 contém a declaração da passagem por valor, do parâmetro x . Assim a instrução da linha 11 imprimirá o resultado do cálculo do número informado pelo usuário elevado ao quadrado, na linha 9. II – Independentemente da passagem de parâmetro da linha 2 ser definida como valor ou referência, o algoritmo será capaz de imprimir o quadrado do número inserido pelo usuário pois a variável x , declarada na linha 6 irá sobrepor a declaração da linha 2. III – O procedimento foi declarado com sintaxe correta, dispensando o uso da palavra reservada " retorne ", palavra essa que é reservada à sintaxe de declaração de funções. Sendo assim, é correto o que se afirma em: ALTERNATIVAS Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 8 of 9 27/05/2020 20:44 I, apenas. II, apenas. III, apenas. I e III, apenas. II e III, apenas. Unicesumar - Ensino a Distância https://studeo.unicesumar.edu.br/ 9 of 9 27/05/2020 20:44
Compartilhar