Buscar

2020-1_Gabarito_AD1_ComputacaoII

Prévia do material em texto

UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA 
CURSO DE ENGENHARIA DE PRODUÇÃO 
Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro 
Centro de Educação Superior a Distância do Estado do Rio de Janeiro 
 
Gabarito da Avaliação a Distância No.1 – AD 1 
Período: 2020-1 
Disciplina: Computação II 
Coordenador da Disciplina: Yoisell Rodríguez Núñez 
Data: 01/03/2020 
 
Questão 1) [1,0 ponto] 
Um algoritmo é uma sequência finita de instruções bem definidas e não ambíguas, cada uma das quais 
pode ser executada mecanicamente num período de tempo finito e com uma quantidade de esforço 
finita. 
Fonte: Wikipédia 
 
Um algoritmo nada mais é do que uma receita que mostra passo a passo os procedimentos necessários 
para a resolução de uma tarefa. Ele não responde a pergunta “o que fazer?”, mas sim “como fazer”. 
Em termos mais técnicos, um algoritmo é uma sequência lógica, finita e definida de instruções que 
devem ser seguidas para resolver um problema ou executar uma tarefa. 
 
Embora você não perceba, utilizamos algoritmos de forma intuitiva e automática diariamente quando 
executamos tarefas comuns. Como estas atividades são simples e dispensam ficar pensando nas 
instruções necessárias para fazê-las, o algoritmo presente nelas acaba passando despercebido. Por 
exemplo, quando precisa trocar uma lâmpada, você: 
 
 Início 
 Verifica se o interruptor está desligado; 
 Procura uma lâmpada nova; 
 Pega uma escada; 
 Leva a escada até o local; 
 Posiciona a escada; 
 Sobe os degraus; 
 Para na altura apropriada; 
 Retira a lâmpada queimada; 
 Coloca a lâmpada nova; 
 Desce da escada; 
 Aciona o interruptor; 
 Se a lâmpada não acender, então: 
 Retira a lâmpada queimada; 
 Coloca outra lâmpada nova 
 
UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA 
CURSO DE ENGENHARIA DE PRODUÇÃO 
Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro 
Centro de Educação Superior a Distância do Estado do Rio de Janeiro 
 
 Senão 
 Tarefa terminada; 
 Joga a lâmpada queimada no lixo; 
 Guarda a escada; 
 Fim 
De acordo com as informações acima, descreva a sequência de passos necessária para : 
- Fritar um ovo - Atravessar a rua 
- Trocar um pneu furado - Jogar o jogo da velha 
 
Questão 2) [1,0 ponto] 
Escreva um algoritmo em Java para ler o número total de eleitores de um município, o número de 
votos brancos, nulos e válidos. Calcular e escrever o percentual que cada um representa em relação ao 
total de eleitores. 
Resposta: 
import java.util.Scanner; 
public class EleicoesMunicipais {//Início da Classe 
 public static void main(String[] args) {//Início da Função main 
 Scanner ler = new Scanner(System.in); //Criando objeto Scanner 
 //Declarando as variáveis envolvidas 
 int eleitores, brancos, nulos, validos; 
 double percBrancos, percNulos, percValidos; 
 
 System.out.printf("Informe o número de eleitores:\n"); 
 eleitores = ler.nextInt(); 
 System.out.printf("Informe o número de votos válidos:\n"); 
 validos = ler.nextInt(); 
 System.out.printf("Informe o número de votos em branco:\n"); 
 brancos = ler.nextInt(); 
 
UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA 
CURSO DE ENGENHARIA DE PRODUÇÃO 
Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro 
Centro de Educação Superior a Distância do Estado do Rio de Janeiro 
 
 System.out.printf("Informe o número de votos nulos:\n"); 
 nulos = ler.nextInt(); 
 
 percValidos = ((double)validos / eleitores) * 100; 
 percBrancos = ((double)brancos / eleitores) * 100; 
 percNulos = ((double)nulos / eleitores) * 100; 
 
 System.out.printf("\n\n%6.2f%% de votos válidos.", percValidos); 
 System.out.printf("\n%6.2f%% de votos em branco.", percBrancos); 
 System.out.printf("\n%6.2f%% de votos nulos.\n", percNulos); 
 } 
} 
 
Questão 3) [2,0 pontos] 
Seja o seguinte algoritmo: 
 
 
 
 
 
 
 
 
 
 
UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA 
CURSO DE ENGENHARIA DE PRODUÇÃO 
Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro 
Centro de Educação Superior a Distância do Estado do Rio de Janeiro 
 
Faça um teste de mesa e complete o quadro a seguir para os seguintes valores: 
 
 
 
 
 
Resposta: 
x y z = x*y + 5 z ≤ 0 0 < z ≤ 100 z > 100 Resposta 
3 2 3*2 + 5 = 11 NÃO SIM NÃO 'B' 
150 3 150*3 + 5 = 
455 
NÃO NÃO SIM 'C' 
7 -1 7*(-1) + 5 = -2 SIM NÃO NÃO 'A' 
-2 5 (-2)*5 + 5 = -5 SIM NÃO NÃO 'A' 
50 3 50*3 + 5 = 155 NÃO NÃO SIM 'C' 
 
 
 
 
 
 
 
 
UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA 
CURSO DE ENGENHARIA DE PRODUÇÃO 
Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro 
Centro de Educação Superior a Distância do Estado do Rio de Janeiro 
 
Questão 4) [2,0 pontos] 
Faça um programa em Java que receba a idade de uma pessoa e classifique-a seguindo os critérios 
abaixo: 
Idade Classificação 
0 a 2 anos Recém-nascido 
3 a 11 anos Criança 
12 a 19 anos Adolescente 
20 a 55 anos Adulto 
Acima de 55 anos Idoso 
 
Se a idade informada for menor que zero informar que a idade, neste caso, e inválida. 
 
Resposta: 
import java.util.Scanner; 
public class IdadeClassificacao { 
 public static void main(String[] args) { 
 Scanner ler = new Scanner(System.in); 
 int idade; 
 System.out.printf("Informe a idade da pessoa:\n"); 
 idade = ler.nextInt(); 
 System.out.printf("\n%d = ", idade); 
 if (idade < 0) 
 
UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA 
CURSO DE ENGENHARIA DE PRODUÇÃO 
Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro 
Centro de Educação Superior a Distância do Estado do Rio de Janeiro 
 
 System.out.printf("Erro: idade inválida !!!.\n"); 
 else if ((idade >= 0) && (idade <= 2)) 
 System.out.printf("Recém-nascido.\n"); 
 else if ((idade >= 3) && (idade <= 11)) 
 System.out.printf("Criança.\n"); 
 else if ((idade >= 12) && (idade <= 19)) 
 System.out.printf("Adolescente.\n"); 
 else if ((idade >= 20) && (idade <= 55)) 
 System.out.printf("Adulto.\n"); 
 else 
 System.out.printf("Idoso.\n"); 
 } 
 
} 
 
 
 
 
 
 
 
 
 
 
 
UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA 
CURSO DE ENGENHARIA DE PRODUÇÃO 
Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro 
Centro de Educação Superior a Distância do Estado do Rio de Janeiro 
 
Questão 5) [2,0 pontos] 
Desenvolva um algoritmo em Java que leia 3 valores inteiros e efetue o cálculo das raízes reais da 
equação de 2º grau utilizando a fórmula de Bhaskara. Se não for possível calcular as raízes, mostre 
uma mensagem correspondente. 
Obs.: não é possível divisão por 0 (zero) e a raíz quadrada de número negativo é um número 
complexo. 
Resposta: 
import java.util.Scanner; 
public class FormulaBhaskara { 
 public static void main(String[] args) { 
 int a, b, c; 
 float delta, x1, x2; 
 System.out.printf("Digite os valores:\n"); 
 Scanner v1 = new Scanner(System.in); 
 System.out.print("Digite o valor de A:\n"); 
 a = v1.nextInt(); 
 if (a = 0){ 
 System.out.println("Valor nãoaceito, tente novamente\n"); 
 System.exit(0); 
 } 
 System.out.print("Digite o valor de B:\n"); 
 b = v1.nextInt(); 
 System.out.print("Digite o valor de C:\n"); 
 c = v1.nextInt(); 
 // cálculo do delta (discriminante) de Bhaskara 
 delta = b * b - 4 * a * c; // Uma outra alternativa seria utilizar 
 
UNIVERSIDADE FEDERAL FLUMINENSE 
ESCOLA DE ENGENHARIA INDUSTRIAL METALÚRGICA DE VOLTA REDONDA 
CURSO DE ENGENHARIA DE PRODUÇÃO 
Fundação Centro de Ciências e Educação Superior a Distância do Estado do Rio de Janeiro 
Centro de Educação Superior a Distância do Estado do Rio de Janeiro 
 
 // Math.pow(b,2) ao invés de b*b 
 if (delta > 0) { 
 x1 = (float) ((-b + Math.sqrt(delta)) / (2 * a));//cálculo 1a raiz 
 x2 = (float) ((-b - Math.sqrt(delta)) / (2 * a));//cálculo 2a raiz 
 System.out.println("\n Valor da raiz X' = " + x1 
 + "\n Valor da raiz X'' = " + x2); 
 } else { 
 System.out.println("As duas raízes são complexas conjugadas"); 
 } 
 } 
} 
 
Observações: 
 É importante destacar que, as respostas acima são “possíveis respostas”. Não existe apenas 
uma resposta para os exercícios solicitados, já que cada aluno poderá implementar os 
algoritmos de uma forma diferente. O mais importante é que os algoritmos sejam 
implementados corretamente na linguagem adotada do curso – Java. 
 Os alunos deverão enviar um documento com as respostas em formato .doc ou .pdf (via 
plataforma). 
 No documento deverá aparecer em detalhes (com comentários) os códigos bem como a 
simulação de alguns exemplos (printScreen (captura) da tela com algumas execuções do 
programa). Não esquecer de enviar também o .java dos exercícios implementados. 
Observação: A nota dos alunos que não enviarem o .java, será diminuída em 40% (este critério vale para 
todas as ADs). 
 Alunos: Data limite para entrega --> 01/março, conforme Cronograma. 
 Mediadores a distância: Data limite para lançamento das notas --> 21/março

Continue navegando