Buscar

Prova Logica de Programação

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

28/05/2023, 13:32 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2946593/7166829 1/8
Lógica de programação
Professor(a): Fabiano Gonçalves dos Santos (Mestrado acadêmico)
1)
2)
Prepare-se! Chegou a hora de você testar o conhecimento adquirido nesta disciplina. A
Avaliação Virtual (AV) é composta por questões objetivas e corresponde a 100% da média final.
Você tem até cinco tentativas para “Enviar” as questões, que são automaticamente corrigidas.
Você pode responder as questões consultando o material de estudos, mas lembre-se de cumprir
o prazo estabelecido. Boa prova!
Dado o vetor W a seguir, analise as afirmativas a seguir e assinale-as com V (verdadeiro)
ou F (falso):
W
2 6 8 3 10 9 1 21 33 14
Sendo X=2 e Y=4.
(   ) W[X+1] = 3
(   ) W[W[X+Y]] = 2.
(  ) W[W[3]] = 10.
(   ) W[X*2] = 9.
(   ) W[W[0] * W[6]] = 8.
Assinale a alternativa que contenha a
sequência correta de V e F:
Alternativas:
V – F – F – F – V.  CORRETO
V – V – V – V – V.
V – F – V – F – V
F – F – F – F – F.
V – F – V – F – F.
Código da questão: 73889
Dados os exemplos a seguir, associe-os corretamente com uma estrutura de dados que
poderia ser usada para implementar cada um.
I. Lista dos meses do ano A. Registro.
II. Jogo de caça-palavras B. Matriz bidimensional.
III. Cadastro de clientes C. Vetor unidimensional.
Resolução comentada:
A primeira afirmativa é verdadeira.
A segunda afirmativa é falsa, pois:
W[W[X+Y]] = W[W[2+4]] = W[W[6]] = W[1] = 6
A terceira afirmativa é falsa, pois:
W[W[3]] = W[3] = 3
A quarta afirmativa é falsa, pois:
W[X*2] = W[2*2] = W[4] = 10.
A quinta afirmativa é verdadeira.
28/05/2023, 13:32 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2946593/7166829 2/8
Audiodescrição. Inicio da descrição. O quadro é formado por duas colunas e três linhas. A
primeira coluna traz três opções: 1. Lista dos meses do ano; 2. Jogo de caça-palavras; e 3.
Cadastro de clientes. A segunda coluna traz também três opções: A. Registro; B. Matriz
bidimensional; e C. Vetor unidimensional. Fim da descrição.
Assinale a alternativa que traz a associação
correta entre as duas colunas:
Alternativas:
I-A; II-C; III-B
I-A; II-B; III-C
I-C; II-A; III-B.
I-C; II-B; III-A  CORRETO
I-B; II-C; III-A
Resolução comentada:
A lista de meses do ano pode ser facilmente criada em um vetor unidimensional de
strings contendo 12 elementos, em que cada um corresponde a um mês do ano.
Exemplo:
Array meses
0 1 2 3 4 5 6 Etc. 10 11
Jan Fev Mar Abr Maio Jun Jul Etc. Nov Dez
Início da descrição. O quadro é formado por duas colunas e duas linhas. A primeira
linha é formada por números e a segunda por meses. Os meses de agosto a outubro
apresentam um etc., dando a ideia de continuação da lista. Assim, temos: 0 = janeiro;
1 = fevereiro; 2 = março; 3 = abril; 4 = maio; 5 = junho; 6 = julho; 10 = novembro; e
11 = dezembro.
O jogo de caça-palavras é obviamente a implementação de uma matriz
bidimensional. O exemplo a seguir mostra um caça-palavras de 8 linhas por 10
colunas.
Exemplo: Caça-palavras de países
0 1 2 3 4 5 6 7 8 9
0 X D F G H J K L O P
1 Q A Z W S X E D C A
2 A U S T R Á L I A R
3 R F V T G B Y N H J
4 P O I U Y T R D E W
5 Y H M K O I O I T E
6 A S Á F R I C A M P
7 A S D F G H J K L O
Início da descrição. O quadro é formado por 11 colunas e 9 linhas. As letras estão
dispostas aleatoriamente e formam o nome de países em algumas junções. Fim da
descrição.
Um cadastro de clientes é uma estrutura mais complexa, que pode ser
implementada em um registro contendo código do cliente, nome, endereço etc.
Exemplo:
Cliente é composto de:
   nome – string com 255 posições.
   endereço – string com 255 posições.
28/05/2023, 13:32 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2946593/7166829 3/8
3)
4)
Código da questão: 73890
Um algoritmo é um importante método para expressar um raciocínio lógico, ordenado e
organizado e pode ser aplicado em inúmeras situações diferentes envolvendo a vida
profissional e até mesmo doméstica, em algumas situações. Ele possui um formato próprio,
com instruções claras a respeito de um determinado objetivo.
Com base no que foi estudado, assinale a alternativa que contém um
algoritmo típico.
Alternativas:
A especificação de uma API.
O regulamento de um campeonato.
As regras de um jogo.
O manual do proprietário de um veículo.
Uma receita de bolo.  CORRETO
Código da questão: 73867
As estruturas unidimensionais homogêneas também são chamadas de vetores. Em
relação ao seu tamanho e uma vez definidos, ______  alterar sua dimensão.
Uma matriz é uma estrutura de dados ________, a qual pode possuir _____ ou mais
dimensões indexadas para serem trabalhadas.
Se você quiser criar uma coleção de livros, pode usar um _____ com diferentes _____, como
id, autor, editora e número de páginas.
Assinale a alternativa que completa
adequadamente as lacunas:
Alternativas:
Não é possível; homogênea; duas; registro;
campos.  CORRETO
Não é possível;
homogênea; duas; vetor; campos.
É possível; homogênea;
duas; registro; índices.
Não é possível;
heterogênea; duas; registro; índices.
É possível; homogênea;
duas; registro; campos.
   idade – inteiro.
Resolução comentada:
Um algoritmo é uma sequência de passos
organizada, ordenada e que leva a um determinado objetivo. Dessa forma, entre as
alternativas apresentadas, a que
possui uma sequência bem definida e claramente leva a um determinado objetivo é
a receita de bolo, que é composta por comandos e instruções diretos, declarativos
e ordenados.
Resolução comentada:
Os vetores, uma vez declarados e criados, são definidos com um tamanho e este não
pode ser modificado.
As maiores aplicações de matrizes são em estruturas bidimensionais, como tabela.
Porém, existem implementações em mais de uma dimensão, como é o caso dos
cubos de dados.
28/05/2023, 13:32 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2946593/7166829 4/8
5)
6)
Código da questão: 73888
O valor que é passado para uma procedure ou função é chamado de ___.
Uma função ____ é um tipo de função que chama ela mesma.
As procedures são usadas pelos programadores principalmente para ____ a repetição de um
código.
A passagem por ___ altera o valor das variáveis fora do corpo da função.
Assinale a alternativa
que completa adequadamente as lacunas:
Alternativas:
Inteiro; modular; reduzir; referência.
Parâmetro; recursiva; aumentar; referência.
Argumento; com retorno; reduzir; valor.
Parâmetro; recursiva; aumentar; valor.
Parâmetro; recursiva; reduzir; referência.  CORRETO
Código da questão: 73897
Basicamente existem duas formas de modularizar programas: por meio de procedures ou
por funções. Cada uma tem suas características próprias e é usada de acordo com a
necessidade do algoritmo.
Assinale a alternativa correta contendo a maior
diferença entre esses dois tipos.
Alternativas:
As procedures
normalmente são maiores e possuem mais instruções.
As funções usam
passagem de parâmetros; as procedures, não.
As funções retornam
valores; as procedures, não.  CORRETO
As funções são mais
difíceis de corrigir e depurar.
As funções são muito
mais usadas em programas do que as procedures.
Os registros são as estruturas capazes de
armazenar dados de vários tipos sob um mesmo nome.
Resolução comentada:
Os valores que são passados para funções ou procedures são chamados de
parâmetros.
A função que pode chamar ela mesma é chamada de função recursiva, e o processo
é chamado de recursão.
As procedures e as funções são usadas para reduzir o código e simplificá-lo.
A passagem por referência altera a variável que
é passada para a função fora da função, pois é passado o valor do endereço da
variável.
Resolução comentada:
A principal diferença entre uma procedure e uma função é que a função sempre deve
retornar algum valor, enquanto a procedure não retorna valores.
28/05/2023, 13:32 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2946593/71668295/8
7)
8)
Código da questão: 73896
Sobre as procedures e as funções usadas em algoritmos e linguagens de programação,
analise as afirmativas a seguir e assinale-as com V (verdadeiro) ou F (falso):
(   ) Toda função deve ter dentro do seu corpo uma palavra-chave ou um comando que
retorne um valor para o programa chamador.
(   ) A passagem por valor não altera o valor da variável que foi enviada por parâmetro para
uma procedure ou função.
(  ) Toda função ou procedure deve ter o código indentado para seu correto funcionamento.
(   ) Uma rotina que calcula a temperatura em graus Fahrenheit e retorna o valor para o
programa principal é chamada de função.
(   ) Uma função recursiva é executada infinitamente.
Assinale a alternativa
que contenha a sequência correta de V e F:
Alternativas:
V – V – F – V – F.  CORRETO
V – V – V – V – F.
V – F – F – V – V.
V – V – F – V – V.
F – V – F – V – F.
Código da questão: 73898
Os algoritmos em geral, e assim como as linguagens de programação, estão
fundamentadas em algumas estruturas básicas de controle: sequenciais, de decisão ou
condicionais e de repetição. Com base no que foi estudado, qualquer programa pode ser
criado por meio dessas estruturas. Com base nesse conhecimento, analise as assertivas a
seguir e identifique as corretas:
I. Um loop do tipo “enquanto” pode ter uma ou mais linhas de código, que podem ser
executadas repetidamente.
II. Uma condição geralmente é um comando relacional, que é avaliado como verdadeiro ou
falso. Um valor igual a zero é tratado como falso e qualquer valor diferente de zero
funciona como verdadeiro.
III. O código a seguir vai imprimir na tela: “O aluno está na média”.
inicio {
Em relação às demais características de funções
e procedures, todas são incorretas, pois o modo de funcionamento, a declaração
de variáveis e a passagem de parâmetros, exceto pela questão do retorno, são
semelhantes
Resolução comentada:
A primeira, a segunda e a quarta afirmativas são verdadeiras.
Veja a forma correta das afirmativas falsas:
Terceira – A indentação é importante, mas não é obrigatória e serve somente para
organizar o código.
Quinta – Uma função
recursiva normalmente tem um ponto de parada, chamado de ponto base, e é
executada enquanto houver memória disponível no dispositivo em que estiver
sendo executada.
28/05/2023, 13:32 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2946593/7166829 6/8
   inteiro x = 45
   se( x > 95) {
  escreva( "O aluno é brilhante")
   }
   se( x < 30) {
      escreva( "O aluno não foi bem\n")
   }
   se( x < 95 e x > 30 ) {
      escreva( "O aluno está na média\n")
   }
}
IV. Uma instrução se pode ser seguida por uma instrução senão opcional, que é executada
quando a expressão booleana é falsa.
V. O seguinte código será executado 10 vezes.
inteiro i=0
enquanto (i<=10) {
   C1
   i = i+1
}
São verdadeiras:
Alternativas:
I, II, III, IV e V.
I, II, III e IV,
apenas.  CORRETO
I e II, apenas.
I, II e III, apenas.
I, II e V, apenas.
Código da questão: 73884
Resolução comentada:
A afirmativa I é verdadeira, pois um loop, independentemente do tipo, pode ter uma
ou mais linhas de código, que podem ser executadas dentro do bloco cuja condição
é verdadeira.
A afirmativa II é verdadeira, pois, se a condição é verdadeira, o loop é executado.
Zero é considerado falso.
A afirmativa III é verdadeira, pois o valor de x é 45 e, de acordo com os blocos “se”
apresentados, entra na condição que imprime “O aluno está na média”. O algoritmo
inicia na declaração de uma variável inteira com identificador x e valor 45. Em
seguida, são feitos 3 testes obrigatoriamente. O primeiro teste falha, pois x = 45 é
menor que 95. O segundo teste falha, pois 45 é maior que 30. O terceiro teste é
positivo, pois 45 está entre 30 e 95 e a mensagem será impressa.
A afirmativa IV é verdadeira, pois o “se” pode ou não ser seguido de “senão” quando
a condição do “se” for falsa.
A afirmativa V é falsa, pois, como a variável
“i” começa em zero e a condição é i<=10, temos 11 repetições.
28/05/2023, 13:32 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2946593/7166829 7/8
9)
10)
Sobre as expressões aritméticas em algoritmos, analise as assertivas a seguir e assinale-
as com V (verdadeiro) ou F (falso):
(   ) 1 + 2 * 3 = 7.
(   ) (1 + 2) * (3 + 1) < = 12.
(  ) ((1 +2) * (3 + 1)) < = 12.
(   ) (1 + 1) * (1+1) * 1 + 1 = 5.
(   ) 2 * 1 + 2 * 1 + 2 * 1 < = 6.
Assinale a alternativa que contenha a
sequência correta de V e F:
Alternativas:
V – V – V – V – V  CORRETO
V – F – V – F – V.
V – F – F – V - F.
F – V – F – V – F.
V – V – F – V – F.
Código da questão: 73870
Observe e analise o algoritmo a seguir. O objetivo dele é ler duas variáveis e trocar os
seus valores. Em seguida, assinale a alternativa correta.
início
                    inteiro a, b, aux
                        escreva("Informe um valor para a variável A: ")
                        escreva("Informe um valor para a variável B: ")
                        escreva("Variáveis antes da troca: \n")
                        escreva("A = ", a, "; B = ", b, "\n")
                        aux = a
                        a = b
                        b = aux
                        escreva("\n")
                        escreva("Variáveis após a troca: \n")
                        escreva("A = ", a, "; B = ", b, "\n")
fim
Alternativas:
O algoritmo está incorreto, porque não tem
estruturas sequenciais.
Resolução comentada:
Lembre-se de que, assim como as expressões aritméticas comuns, nos algoritmos, as
expressões aritméticas também respeitam a precedência dos parênteses e das
operações aritméticas. Dessa forma, todas as afirmativas estão corretas.
(1 +2) * (3 +1), temos 3 * 4 < = 12. Lembre-se de que o operador
relacional avalia se o resultado é menor OU igual a 12; logo, está correto.
28/05/2023, 13:32 Cosmos · Cosmos
https://kroton.platosedu.io/lms/m/aluno/disciplina/index/2946593/7166829 8/8
O algoritmo está incorreto, porque a linha “a =
b” está com a sintaxe errada.
O algoritmo está incorreto, porque não possui
comandos para ler as variáveis do usuário.  CORRETO
O algoritmo está correto e vai apresentar as
saídas programadas corretamente pelo comando escreva().
O algoritmo está incorreto, pois não apresenta
instruções de decisão.
Código da questão: 73877
Resolução comentada:
O algoritmo está incorreto, porque não foram colocadas instruções de leitura do
teclado. O correto deve ser:
início
        inteiro a, b, aux
            escreva("Informe um valor para a variável A: ")
            leia(a)
            escreva("Informe um valor para a variável B: ")
            leia(b)
            escreva("Variáveis antes da troca: \n")
            escreva("A = ", a, "; B = ", b, "\n")
            aux = a
            a = b
            b = aux
            escreva("\n")
            escreva("Variáveis após a troca: \n")
            escreva("A = ", a, "; B = ", b, "\n")
fim.
Arquivos e Links

Continue navegando