Buscar

ATIVIDADE 03 - ADS SI - ALGORÍTMOS E LÓGICA DE PROGRAMAÇÃO I - 2020

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

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.
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
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
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
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
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. Algoritmos e 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
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
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
I, apenas.
II, apenas.
III, apenas.
I e III, apenas.
II e III, apenas.

Continue navegando