Baixe o app para aproveitar ainda mais
Prévia do material em texto
Disciplina: Algoritmo e Programação (LIN12) Avaliação: Avaliação Final (Objetiva) - Individual FLEX ( Cod.:649329) ( peso.:3,00) Prova: 25213561 Nota da Prova: 10,00 Legenda: Resposta Certa Sua Resposta Errada Parte superior do formulário 1. Considere um algoritmo que solicite e armazene o preço de venda de uma mercadoria e o valor pago pelo cliente, nesse sentido, a saída deverá calcular e exibir o troco a ser entregue ao cliente. Assinale a alternativa CORRETA que apresenta o algoritmo em pseudocódigo do cenário proposto: a) ------------------------------------------------- Algoritmo troco; var Preco_Venda, Valor_Pago, Troco : Real; início Escreva('Preço da mercadoria: '); Leia(Preco_Venda); Escreva('Valor pago: '); Leia(Valor_Pago); Troco := Valor_Pago - Preco_Venda; Escreva('Troco: ', Troco); Fim. ------------------------------------------------- b) ------------------------------------------------- Algoritmo troco; var Preco_Venda, Valor_Pago, Troco : caractere; início Escreva('Preço da mercadoria: '); Leia(Preco_Venda); Escreva('Valor pago: '); Leia(Valor_Pago); Escreva('Troco: ', Valor_Pago - Preco_Venda;); Fim. ------------------------------------------------- c) ------------------------------------------------- Algoritmo troco; var Preco_Venda, Valor_Pago Troco : inteiro; início Escreva('Preço da mercadoria: '); Leia(Preco_Venda); Escreva('Valor pago: '); Leia(Preco_Venda); Troco := Valor_Pago - Preco_Venda; Escreva('Troco: ', Valor_Pago ); Fim. ------------------------------------------------- d) ------------------------------------------------- Algoritmo troco; início Escreva('Preço da mercadoria: '); Leia(Preco_Venda); Escreva('Valor pago: '); Leia(Valor_Pago); Escreva('Troco: ', Valor_Pago - Preco_Venda); Fim. ------------------------------------------------- 2. O departamento de recursos humanos precisa aumentar o salário de todos os funcionários de acordo com a seguinte regra: * O programa deve informar o salário do funcionário; * Deve solicitar um valor máximo, chamado de teto salarial. * Se o salário do funcionário for menor ou igual ao salário teto, deve-se solicitar um percentual de aumento, senão o aumento será fixado em 5%. * Ao final, apresentar uma mensagem com o salário já reajustado. Program RH; var salario, reajuste, sal_novo:real; val_max, novo_aum: real; Begin writeln (' informe o salario'); readln(salario); write( 'qual o teto maximo?'); readln(val_max); if (salario <= val_max) then begin writeln(' informe o pct aumento '); readln(novo_aum); sal_novo:= salario+(salario * (novo_aum/100)); end else begin sal_novo:= salario+(salario * 0.05); end; writeln(' novo salario ',sal_novo); End. Analise o código e classifique V para as sentenças verdadeiras e F para as falsas: ( ) O programa poderia ter criado uma constante para receber o valor de aumento 5%. ( ) O programa só funciona para um funcionário de cada vez. ( ) O programa está correto e atende ao solicitado. ( ) O programa tem variáveis que não são utilizadas, por isso o programa dá erro e não executa. Assinale a alternativa que apresenta a sequência CORRETA: a) F - V - V - V. b) V - F - V - F. c) V - V - F - V. d) V - V - V - F. 3. Os operadores lógicos são utilizados frequentemente em conjunto com operações relacionais e o resultado obtido, da mesma forma que acontece com os operadores relacionais, também será verdadeiro ou falso. O algoritmo anexo apresenta a estrutura de seleção simples e na mensagem teremos o resultados da operação lógica. Com base no código desenvolvido em Pascal, responda qual é o resultado das operações no algoritmo e analise as sentenças a seguir: program ver_logica; var numero : integer; begin write( 'informe um número =>'); read(numero); If numero > 10 then begin writeln ('mario' = 'maria'); writeln(2 + 4 = 6); writeln(10 - 4 > 7) ; end else begin writeln((2*3)>(3*2)); writeln(not('a' > 'A')); end ; end. I- Se for informado o valor 5, o resultado será: False -False . II- O programa não funciona, pois não há nenhum cálculo. III- Se for informado o valor 10, o resultado será: False - Verdadeiro IV- Os cálculos realizados nas mensagens estão incorretos. Assinale a alternativa CORRETA: a) Somente a sentença IV está correta. b) As sentenças I e III estão corretas. c) As sentenças I, II e III estão corretas. d) Somente a sentença I está correta. 4. Em algoritmo, devemos ler os códigos, conseguir interpretar a lógica por trás deles e entender o que o programa faz. O algoritmo a seguir está compilando e funciona perfeitamente, mas não temos um título. Com base no código, assinale a alternativa CORRETA que apresenta o titulo mais apropriado para o programa: program semnome; const qtd = 5; var numeros : array [1..qtd] of real; i, j : integer; temp : real; Begin for i := 1 to qtd do begin write('Numero: '); readln(numeros[i]); end; for i := 1 to qtd - 1 do begin for j := 1 to qtd - 1 do begin if (numeros[j] > numeros[j+1]) then begin temp := numeros[j]; numeros[j] := numeros[j+1]; numeros[j+1] := temp; end; end; end; writeln; for i := 1 to qtd do begin writeln(numeros[i]); end; End. a) Fazer um programa para ler n valores inteiros quaisquer limitados a 5 unidades. Em seguida, o programa deve escrever na tela os valores em ordem numérica crescente. b) Fazer um programa que receba no mínimo 5 números e apresente os valores na tela conforme foram digitados. c) Fazer um programa que receba 5 números digitados em ordem crescente e apresente na tela ordenados aleatoriamente. d) Fazer um programa que apresente uma lista de número até 5 e apresentar uma lista conforme foram digitados. 5. Utilizamos o comando "CASO" para que seja possível escolher uma opção dentre várias existentes, sem a necessidade de se usar diversos "Se..Então". Com base nessa estrutura, analise o cenário apresentado no enunciado do algoritmo: "Foi requerido o desenvolvimento de um algoritmo que solicitasse as 4 notas de um aluno e calculasse a média". Após o cálculo, verificar a situação do aluno, seguindo as regras: - Se a nota inferior a 4 está reprovado. - Acima de 8 aprovado. - No intervalo de 4 a 8 em exame. - Senão a nota está incorreta. Algoritmo "nota_semestre" var Nota1, Nota2, Nota3, Nota4, Media: Real Inicio Escreva ("Digite a Primeira nota: ") Leia (Nota1) Escreva ("Digite a Segunda nota: ") Leia (Nota2) Escreva ("Digite a Terceira nota: ") Leia (Nota3) Escreva ("Digite a Quarta nota: ") Leia (Nota4) media:=(Nota1+Nota2+Nota3+Nota4)/4 escolha media ... Sobre o trecho de código que complementa o algoritmo, assinale a alternativa CORRETA: a) caso 0 e 3 escreval("Reprovado.") caso 4 e 7 escreval("Em exame final.") senao escreval("Nota inválida.") fimescolha Fimalgoritmo b) caso 0 e 3 escreval("Reprovado.") caso 4 e 7 escreval("Em exame final.") caso 8 e 10 escreval("Aprovado") senao escreval("Nota inválida.") fimescolha Fimalgoritmo c) caso nota entre 1 e 3 escreval("Reprovado.") caso >4 e < 7 escreval("Em exame final.") caso > 8 escreval("Aprovado") outrocaso escreval("Nota inválida.") fimescolha Fimalgoritmo d) caso 0,1,2,3 escreval("Reprovado.") caso 4 ate 7 escreval("Em exame final.") caso 8 ate 10 escreval("Aprovado") outrocaso escreval("Nota inválida.") fimescolha Fimalgoritmo 6. Um algoritmo é uma sequência finita de passos que objetivam a solução de um problema. Ele é composto por três etapas: a entrada, o processamento e a saída. Com base no pseudocódigo apresentado e nas instruções que correspondem a cada etapa, classifique V para as sentenças verdadeiras e F para as falsas: Algoritmo soma_valores; varvalor1, valor2, soma : real; inicio escreva(' informe o primeiro valor '); leia(valor1); soma <- valor1+15; escreva(' o valor final sera ', soma); end. ( ) As operações de entradas neste caso são realizadas nas solicitações de dados, como valor1. ( ) As operações de saída nos algoritmos são exclusivamente realizadas pela operação escreva. ( ) O processamento no algoritmo apresentado ocorre através do comando: soma <-valor1 +15. ( ) Após a execução do algoritmo apresentado, o valor da variável Valor2 será sempre 15. Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - F. b) F - V - V - V. c) V - F - V - F. d) V - V - V - F. 7. As estruturas de repetição também podem ser chamadas de laços ou loops. Elas são indispensáveis para o processo de desenvolvimento pela agilidade que elas proporcionam ao código em situações em que é necessário repetir um determinado trecho de um processo um certo número de vezes. Podem existir dois tipos de laços de repetição: aquele em se conhece previamente o número de repetições que serão executadas e o laço em que não se conhece previamente o número de repetições que serão executadas. Com relação à estrutura de controle conhecida como repita-até, classifique V para a afirmativa verdadeira e F para a falsa: ( ) O bloco de instruções dentro do loop é executado pelo menos uma vez. ( ) A execução da estrutura termina quando o teste da condição retorna o valor lógico falso. ( ) A execução da estrutura permanece em loop enquanto o teste da condição retorna o valor lógico verdadeiro. Selecione a opção que apresenta a sequência CORRETA: FONTE: http://coral.ufsm.br/ppgter/images/Dissertacoes/Felipe_Schmitt_Panegalli_Disserta%C3%A7%C3%A3o_de_Mestrado.pdf. Acesso em: 17 jan. 2019. a) F - V - F. b) V - V - F. c) V - F - F. d) F - V - V. 8. A decomposição de um problema é fator determinante para a redução da complexidade. Com base nisso, surgem os subalgoritmos, que são trechos de programas que podem ser utilizados dentro de um programa maior, sempre que necessário ou conveniente. Permite, desta forma, focalizar a atenção em um problema pequeno de cada vez, o que ao final produzirá uma melhor compreensão do todo. Diante do exposto, analise as sentenças a seguir: I- Os subalgoritmos podem ser do tipo função ou procedimento, sendo que o segundo sempre retornará um valor para o algoritmo que o chamou. II- Um subalgoritmo pode receber parâmetros, que são valores advindos de outro algoritmo. III- Um algoritmo somente poderá realizar a chamada de um tipo de subalgoritmo. IV- Os parâmetros utilizados no algoritmo principal, no ato da chamada da função, devem manter uma correspondência (número, ordem e tipo) com os parâmetros definidos na função. Assinale a alternativa CORRETA: a) As sentenças II e IV estão corretas. b) As sentenças I, II e III estão corretas. c) As sentenças I e III estão corretas. d) Somente a sentença III está correta. 9. Vetores e matrizes são estruturas de dados homogêneas que permitem o armazenamento de vários valores ao mesmo tempo. No entanto, todo valor armazenado em um mesmo vetor ou matriz deve possuir o mesmo tipo de dado associado, ou seja, um vetor/matriz de valores inteiros só pode armazenar valores inteiros. Com base nesse conceito, escreva um algoritmo que leia 5 valores e armazene todos eles. Em seguida, o algoritmo deverá exibir quantos valores positivos estão armazenados no vetor. Analise o código e classifique V para as sentenças verdadeiras e F para as falsas: ( ) O algoritmo apresenta erros na declaração das variáveis. ( ) O algoritmo somente executará até inserir um valor negativo. ( ) A mensagem com a quantidade de valores negativos, está dentro do loop. ( ) A variável "negativos" armazenará os valores negativos. Algoritmo "atividade" var valores : vetor [1..5] de real i, negativos : inteiro inicio negativos <- 0 Para i <- 1 ate 5 faca escreva("Informe um valor: ") Leia(valores[i]) fimpara Para i <- 1 ate 5 faca Se (valores[i] < 0) entao negativos <- negativos + 1 fimse fimpara Escreva(negativos, " valores eram negativos.") Fimalgoritmo Assinale a alternativa que apresenta a sequência CORRETA: a) V - F - F - V. b) F - V - V - V. c) V - V - F - F. d) F - F - F - V. 10. Considere que durante o desenvolvimento da disciplina de algoritmos, o professor solicitou aos alunos o desenvolvimento de um algoritmo para obter informações sobre seus familiares. As informações solicitadas a cada familiar foram: estado civil, grau de instrução, número de filhos e idade. Com relação aos tipos de dados requeridos que precisam ser armazenados e a sequência ideal desses dados, assinale a alternativa CORRETA: a) Inteiro, real, inteiro, caractere. b) Lógico, inteiro, real, real. c) Caractere, caractere, inteiro, inteiro. d) Real, caractere, inteiro, Lógico. 11. (ENADE, 2008) Analise o código apresentado: a) Apresenta erros de estrutura condicional e expressão relacional inválida. b) O apresenta erros de atribuição de tipo inválido, divisão por zero e expressão relacional inválida. c) Apresenta erros de atribuição de tipo inválido, divisão por zero e estrutura condicional. d) Apresenta somente erro de divisão por zero. 12. (ENADE, 2008) Com relação ao algoritmo apresentado, que manipula um vetor de inteiros, julgue os itens a seguir: I Quando as variáveis I e J valerem, respectivamente, 0 e 1 , a linha 13 apresentará a sequência de valores 0,2,4,3,1. II Quando as variáveis I e J valerem, respectivamente, 1 e 0, a linha 13 apresentará a sequência de valores 0,2,3,1 ,4. III Quando as variáveis I e J valerem, respectivamente, 1 e 2, a linha 13 apresentará a sequência de valores 0,3, 4,1,2. Assinale a opção correta: a) Apenas os itens I e II estão corretos. b) Apenas os itens II e III estão corretos. c) Apenas o item III está correto. d) Apenas os itens I e III estão corretos. Parte inferior do formulário
Compartilhar