Atividade Eixo Temático Informática
Esta lista de atividades tem como objetivo avaliar o conhecimento de cada aluno.
A mesma está totalmente baseada no repositório de simulações de programação URI (
https://www.urionlinejudge.com.br) e tem como finalidade dispor um ambiente de testes de aplicações para olimpíada de programação em informática. Para nossa disciplina, a mesma está disposta em duas partes: a parte 1, que compreende a parte de programação, a qual possui 10 atividades; e a parte 2, que é composta de 05 atividades.
A entrega dos exercícios deverá ser pela postagem dos arquivos fonte em Java (*.java) e as atividades de SQL em (*.txt).
Cada exercício terá um repositório no Blackboard para ser inserido o arquivo do programa correspondente. Para ganhar um bônus de 1,0 ponto, você deverá enviar ao menos 8 arquivos pelo site do URI e ser validado pelo mesmo. Para isto você deverá responder ao formulário disponível no link <
https://goo.gl/forms/x6egMrPFTIqh9smx2>, e então receberá o convite para participar da lista de exercícios.
Observações para envio dos arquivos via URI: nos mesmos não podem ser utilizados componentes gráficos, somente entrada e saída pelo prompt. Utilize a classe de objeto Scanner.
Formas de se pegar os dados com a classe Scanner:
Scanner sc = new Scanner(
System.in);
float numF = sc.nextFloat();
int num1 = sc.nextInt();
byte byte1 = sc.nextByte();
long lg1 = sc.nextLong();
boolean b1 = sc.nextBoolean();
double num2 = sc.nextDouble();
String nome = sc.nextLine();
Na tabela abaixo são apresentados os principais métodos da classe Scanner.
Método
Descrição
close()
Fecha o escaneamento de leitura.
FindInLine()
Encontra a próxima ocorrência de um padrão ignorando máscaras ou strings ignorando delimitadores.
HasNext()
Retorna um valor booleano verdadeiro (true) se o objeto Scanner tem mais dados de entrada.
HasNextXyz()
Retorna um valor booleano como verdadeiro (true). Caso a próxima entrada a qual Xyz possa ser interceptada como Boolean, Byte, Short, Int, Long, Float ou Double.
Match()
Retorna o resultado da pesquisa do último objeto Scanner atual.
Next()
Procura e retorna a próxima informação do objeto Scanner que satisfaça uma condição.
NextBigDecimal (), nextBigInteger()
Varre a próxima entrada como BigDecimal ou BigInteger.
NextXyz()
Varre a próxima entrada na qual Xyz pode ser interceptado como boolean, byte, short, int, long, float ou double.
NextLine()
Mostra a linha atual do objeto Scanner e avança para a próxima linha.
Radix()
Retorna o índice atual do objeto Scanner.
Remove()
Essa operação não é suportada pela implementação de um Iterator.
Skip()
Salta para a próxima pesquisa de um padrão especificado ignorando delimitadores.
String()
Retorna uma string que é uma representação do objeto Scanner.
Tabela 1. Métodos da classe Scanner
Fonte:
https://www.devmedia.com.br/como-funciona-a-classe-scanner-do-java/28448
A seguir um exemplo de programa feito com a classe de objeto Scanner. Para submeter ao sistema URI é proibido usar JOptionPane ou outros recursos gráficos.
Import
java.util.Scanner;
public class Equação {
public static void main(String[] args) {
double a, b, c, delta, x1, x2;
Scanner s = new Scanner(
System.in);
System.out.println("Digite o valor de A : ");
a = s.nextInt();
System.out.println(" Digite o valor de B ");
b = s.nextInt();
System.out.println("Digite o valor de C");
c = s.nextInt();
delta
=Math.pow(a, 2)- (4*a*c);
if (delta < 0) {
System.out.println("Raízes Imaginárias. ");
}
If (delta == 0) {
System.out.println("Existe uma raiz real");
x1 = (-b) / (2 * a);
System.out.println("X1 = " + x1);
}
if (delta > 0) {
System.out.println("Existem duas raizes reais:");
x1 = (int) ((-b +
Math.sqrt(delta)) / (2 * a));
x2 = (int) ((-b -
Math.sqrt(delta)) / (2 * a));
System.out.println("X1 = " + x1);
System.out.println("X2 = " + x2);
}
}
}
Prazo de Entrega: Não estabelecido