Logo Passei Direto
Buscar

Prova Logica de Programação

Ferramentas de estudo

Questões resolvidas

O algoritmo está incorreto, porque não possui comandos para ler as variáveis do usuário.

O algoritmo está incorreto, porque não foram colocadas instruções de leitura do teclado.
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.

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

details

Libere esse material sem enrolação!

Craque NetoCraque Neto

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

O algoritmo está incorreto, porque não possui comandos para ler as variáveis do usuário.

O algoritmo está incorreto, porque não foram colocadas instruções de leitura do teclado.
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.

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

Mais conteúdos dessa disciplina