Baixe o app para aproveitar ainda mais
Prévia do material em texto
QUESTÃO 1 · Observe um exemplo de algoritmo que automatiza a tomada de decisão: Linha Código 01 02 03 04 05 06 07 08 09 10 11 Algoritmo teste Var x: inteiro Início Escreva(“Digite um número inteiro:”) Leia(x) Se (x MOD 2 = 0) então Escreva(“Situação 1”) Senão Escreva(“Situação 2”) Fim_se Fim LEAL, G. C. L.; OLIVEIRA, P. M. de. Algoritmos e Lógica de Programação I. Maringá: UniCesumar, 2020. (Adaptado) Com base no pseudocódigo anterior, analise as afirmativas a seguir: I. O algoritmo está escrito de forma inconsistente com a sintaxe do pseudocódigo. II. Ao executar a linha de código 5, se o usuário inserir o valor “10” para x, teremos a mensagem “Situação 2” sendo impressa na tela. III. Esse algoritmo pode ser adaptado para identificar se o valor de x, informado pelo usuário, é ou não divisível por 2. É correto o que se afirma em: Parte superior do formulário Alternativas Alternativa 1: I, apenas. Alternativa 2: II, apenas. Alternativa 3: III, apenas. Alternativa 4: I e II, apenas. Alternativa 5: II e III, apenas. Parte inferior do formulário QUESTÃO 2 · O vetor pessoas: vetor[1..20, 1..64] de caractere, possibilita que armazenemos 20 pessoas com até 64 caracteres. Contudo, o correto seria transformar esta estrutura em registro. Analise as afirmativas, a seguir, e assinale a alternativa correta. Parte superior do formulário Alternativas Alternativa 1: tipo pes = registro nome: vetor[1..64] de caractere fim_registro var pessoas: vetor[1..20] de pes Alternativa 2: tipo pes = registro nome: vetor[1..20] de caractere fim_registro var pessoas: vetor[1..64] de pes Alternativa 3: tipo pes = registro nome: vetor[1..20, 1..64] de caractere fim_registro var pessoas: vetor[1..20] de pes Alternativa 4: registro pes = tipo nome: vetor[1..20, 1..64] de caractere fim_registro var pessoas: vetor[1..20] de pes Alternativa 5: tipo pes = vetor nome: vetor[1..20, 1..64] de caractere fim_registro var pessoas: vetor[1..20] de pes Parte inferior do formulário QUESTÃO 3 · 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: Parte superior do formulário Alternativas Alternativa 1: I, apenas. Alternativa 2: II, apenas. Alternativa 3: III, apenas. Alternativa 4: I e III, apenas. Alternativa 5: II e III, apenas. Parte inferior do formulário QUESTÃO 4 · Ao construir algoritmos utilizando estruturas de repetição, muitas vezes, precisaremos utilizar variáveis contadoras e acumuladoras. Aprendemos os conceitos relacionados a esses modelos de variáveis, como utilizá-las e qual a diferença entre elas. Sobre variáveis contadoras e acumuladoras, analise as afirmativas a seguir: I – As variáveis do tipo contadoras são utilizadas para incrementar ou decrementar um valor constante nos laços de repetições. II – As variáveis contadoras e acumuladoras não necessitam serem inicializadas. III – As variáveis acumuladoras são utilizadas para incrementar valores em um valor variável dentro de uma estrutura de repetição. IV – As variáveis contadoras e acumuladoras devem ser inicializadas. É correto o que ser afirma em: Parte superior do formulário Alternativas Alternativa 1: I, apenas. Alternativa 2: I e II, apenas. Alternativa 3: III e IV, apenas. Alternativa 4: I, III e IV, apenas. Alternativa 5: I, II, III e IV. Parte inferior do formulário QUESTÃO 5 · Analise o trecho do pseudocódigo a seguir: Algoritmo Validar Tipo reg_user = registro user: vetor[1..6] de caracteres senha: vetor[1..8] de caracteres fim_registro funcao validar(usuario, senha):inteiro var posicao: inteiro inicio para posicao de 1 ate 10 passo cad faca se(usuario = login[posicao].user) entao se (senha = login[posicao].senha) entao retorne 1 senao retorne 0 fim_se senao retorne -1 fim_se fim_para fim_funcao var login: vetor[1..100] de reg_user user: vetor[1..6] de caracteres senha: vetor[1..8] de caracteres cad, e_validado: inteiro inicio ... e_validado <- validar(user, senha) se(???) entao escreva ("Senha não confere") fim_se se(???) entao escreva ("Você está logado no sistema") fim_se se(???) entao escreva ("Usuário não existe") fim_se ... fim De acordo com o pseudocódigo, analise as alternativas a seguir, de forma que complete as lacunas na ordem que segue (assumir que todas as variáveis e funções foram declaradas e que o pseudocódigo está funcional): I - e_validado = 1, e_validado = -1, e_validado = 0 II - e_validado = -1, e_validado = 0, e_validado = 1 III - e_validado = 0, e_validado = 1, e_validado = -1 É correto o que se afirma em: Parte superior do formulário Alternativas Alternativa 1: I, apenas. Alternativa 2: III, apenas. Alternativa 3: I e II, apenas. Alternativa 4: II e III, apenas. Alternativa 5: I, II e III. Parte inferior do formulário QUESTÃO 6 · 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 iguais a 5 estão contidos no "numero" informado pelo usuário. Sendo assim, é correto o que se afirma em: Parte superior do formulário Alternativas Alternativa 1: I, apenas. Alternativa 2: II, apenas. Alternativa 3: III, apenas. Alternativa 4: I e II, apenas.Alternativa 5: II e III, apenas. Parte inferior do formulário QUESTÃO 7 · Estruturas de repetição também são conhecidas como laços ou loops. Tais estruturas são um dos mecanismos mais formidáveis de algoritmos, já que permitem automatizar tarefas que seriam extremamente repetitivas e propensas a erro, caso fossem executadas por humanos. Os laços permitem que um bloco de comandos seja repetido (iterado) por diversas vezes, com base em condições lógico-relacionais. Fonte: LEAL, G. C. L.; OLIVEIRA, P. M. de. Algoritmos e Lógica de Programação I. Maringá: UniCesumar, 2020. A respeito de estruturas de repetição, analise as afirmativas a seguir: I. O laço “Enquanto” é conhecido por realizar o teste condicional logo no início do bloco de comandos. II. O laço “Repita-Até_que” é famoso por garantir que o bloco de comandos definido por ele seja executado ao menos uma vez. III. O laço conhecido como “Para-de-ate-passo-faça” também é chamado de “laço por contagem”. É correto o que se afirma em: Parte superior do formulário Alternativas Alternativa 1: I, II e III. Alternativa 2: I, apenas. Alternativa 3: I e II, apenas. Alternativa 4: I e III, apenas. Alternativa 5: II e III, apenas. Parte inferior do formulário QUESTÃO 8 · As estruturas unidimensionais, conhecidas como vetores, consistem em um arranjo de elementos armazenados na memória principal, sequencialmente, todos com o mesmo nome (LOPES; GARCIA, 2002). O vetor segue o mesmo princípio de uma matriz linha da matemática. Em cada coluna da linha, temos uma variável com o mesmo nome, no entanto, em diferentes posições no arranjo. Fonte: LOPES, A.; GARCIA, G. Introdução à Programação. Rio de Janeiro: Elsevier, 2002. Assim, com base em seus conhecimentos sobre vetores, analise as afirmativas a seguir: I. Em pseudocódigo, é interessante que, ao declarar um novo vetor, deixemos claro qual é o tamanho máximo do respectivo vetor. II. Um vetor pode ser combinado com registros para armazenar mais de um tipo de dados em uma mesma posição do vetor, simultaneamente. III. Para armazenar toda uma palavra, do tipo texto, é preciso utilizar um vetor de caracteres. É correto o que se afirma em: Parte superior do formulário Alternativas Alternativa 1: I, apenas. Alternativa 2: II, apenas. Alternativa 3: I e II, apenas. Alternativa 4: I e III, apenas. Alternativa 5: I, II e III. Parte inferior do formulário QUESTÃO 9 · 1) Analise o algoritmo a seguir e assinale o resultado de sua execução: Algoritmo abc Var a, b, c: inteiro Início a <- 12 b <- 5 c <- a b <- c a <- b Escreva (a) Escreva (b) Escreva (c) Fim Logo, a resposta correta é: Parte superior do formulário Alternativas Alternativa 1: A = 12, B = 12, C = 12 Alternativa 2: A = 5, B = 12, C = 12 Alternativa 3: A = 12, B = 12, C = 5 Alternativa 4: A = 12, B = 5, C= 5 Alternativa 5: A = 5, B =5, C = 5 Parte inferior do formulário QUESTÃO 10 · 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. Parte superior do formulário Alternativas Alternativa 1: As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "x = 1", "fat(x)" e "n", respectivamente. Alternativa 2: As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "x = 1", "fat(x-1)" e "n", respectivamente. Alternativa 3: As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "x = 1", "fat(x)" e "resultado", respectivamente. Alternativa 4: As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "x = 0", "fat(x-1)" e "resultado", respectivamente. Alternativa 5: As lacunas das linhas 4, 7 e 13 devem ser preenchidas pelas instruções "fat(x) = 0", "fat(x)" e "resultado", respectivamente. Parte inferior do formulário
Compartilhar