Linguagem de Programação II – 2004/1 - FAESA

Propaganda
Faculdades Integradas Espírito-Santenses
Unidade de Computação e Sistemas
Curso Ciência da Computação
Disciplina: Algoritmo I - 1º período (turma B) - 2009/1
Prof. Henrique Monteiro Cristovão
Transição Scratch para Java
Scratch é uma linguagem de programação com uma sintaxe extremamente simples. Isto faz com que a energia
gasta para se resolver um problema seja canalizada para o planejamento e construção da solução do problema,
ou seja, ela é ótima para quem está aprendendo a programar pela primeira vez pois não é preciso muito tempo
para aprendizado da sua sintaxe.
Mas, o Scratch possui várias limitações quando se pensa em uma programação arrojada e profissional, por isso,
a disciplina de Algoritmo I será complementada com a linguagem Java por ser uma linguagem com muitas
características positivas, entre elas:
 Gratuita;
 Portável : possui independência de plataforma - "write once run anywhere";
 Segura: pode executar programas via rede com restrições de execução;
 Sintaxe similar a Linguagem C/C++.
 Facilidades de internacionalização - Suporta nativamente caracteres Unicode;
 Simplicidade na escrita de programas distribuídos;
 É distribuída com um vasto conjunto de bibliotecas (ou APIs).
Veja mais características em http://algoritmofaesa.wikidot.com/sobrejava
Neste endereço você também encontra duas boas apostilas para download.
Como a sintaxe do Java não é simples como a do Scratch, serão apresentados vários algoritmos escritos em
Scratch e a sua equivalência em Java.
Download dos seis exemplos escritos em Java e Scratch.
Exemplo 1:
Exibir “Olá”.
Versão Scratch:
Versão Java:
// Esta linha contém o nome da classe (programa)
public class Exemplo01 {
// Linha que define o ponto de partida da execução (método principal: main)
public static void main(String[] args) {
System.out.println("Olá");
}
}
Console:
Olá
Material para facilitar a transição Scrath para Java:
1/7
Exemplo 2:
Solicitar um número ao usuário e exibir o seu dobro e a sua metade.
Versão Scratch:
Versão Java:
// Importação necessária para usar a classe Scanner (entrada de dados via teclado)
import java.util.Scanner;
public class Exemplo02 {
public static void main(String[] args) {
System.out.println("Entre com um número - tecle ENTER:");
// Declaração da variável x para receber valores inteiros
// e comando para entrada de número inteiros via teclado
int x = new Scanner(System.in).nextInt();
int dobro = x*2;
// Como x é inteiro é necessário colocar ".0" no "2" para que a divisão
// retorne um número real, e não um número inteiro
double metade = x/2.0;
// O operador "+" é usado para concatenar elementos
// (desde que pelo menos um deles seja string)
System.out.println("O dobro deste número é: " + dobro);
System.out.println("A metade deste número é: " + metade);
}
}
Console:
Entre com um número - tecle ENTER:
25
O dobro deste número é: 50
A metade deste número é: 12.5
Material para facilitar a transição Scrath para Java:
2/7
Exemplo 3:
Solicitar a idade do usuário e em seguida exibir se ele é maior ou menor de idade.
Versão Scratch:
Versão Java:
import java.util.Scanner;
public class Exemplo03 {
public static void main(String[] args) {
System.out.println("Qual a sua idade? ");
int idade = new Scanner(System.in).nextInt();
// A identação do programa é muito importante para a sua legibilidade
// Observe o deslocamento à direita dos comandos internos da
// estrutura condicional. Faça automaticamente com CTRL-A e CTRL-I
if(idade > 17)
System.out.println("Você é maior de idade");
else
System.out.println("Você é menor de idade");
}
}
Console:
Qual a sua idade?
18
Você é maior de idade
Material para facilitar a transição Scrath para Java:
3/7
Exemplo 4:
Calcular a mádia de duas notas do usuário e em sguida falar se ele foi aprovado ou reprovado. A nota para
aprovação é maior ou igual a sete.
Versão Scratch:
Versão Java:
import java.util.Scanner;
public class Exemplo04 {
public static void main(String[] args) {
System.out.println("Entre com as duas notas: ");
double nota1 = new Scanner(System.in).nextDouble();
double nota2 = new Scanner(System.in).nextDouble();
double media = (nota1 + nota2)/2;
if(media >= 7)
System.out.print("Parabéns, você está aprovado com média igual a ");
else
System.out.print("Que pena! Você não foi aprovado. Sua média foi ");
// Observe que o próximo comando está fora da estrutura condicional
// por isso ele será executado em todos os casos
// Quanto existirem mais linhas dentro do "if" ou "else",
// elas devem ser colocadas entre chaves "{" e "}"
System.out.println(media);
}
}
Console:
Entre com as duas notas:
7,5
9,5
Parabéns, você está aprovado com média igual a 8.5
Material para facilitar a transição Scrath para Java:
4/7
Exemplo 5:
Implementar um jogo onde o usuário tenta advinhar três números sorteados.
Versão Scratch:
Material para facilitar a transição Scrath para Java:
5/7
Versão Java:
import java.util.Scanner;
public class Exemplo05 {
public static void main(String[] args) {
System.out.println("Entre com os três palpites (de 1 a 10): ");
int palpite1 = new Scanner(System.in).nextInt();
int palpite2 = new Scanner(System.in).nextInt();
int palpite3 = new Scanner(System.in).nextInt();
int acertos = 0;
// Math.random() retorna um número sorteado de zero a menor que 1
// (int) antes de um valor trunca as casas decimais tornando-o inteiro
int numero1 = ((int)(Math.random()*10)) + 1;
int numero2 = ((int)(Math.random()*10)) + 1;
int numero3 = ((int)(Math.random()*10)) + 1;
// "||" = "OU"
// "&&" = "E"
if(palpite1==numero1 || palpite1==numero2 || palpite1==numero3)
acertos++;
if(palpite2==numero1 || palpite2==numero2 || palpite2==numero3)
acertos++;
if(palpite3==numero1 || palpite3==numero2 || palpite3==numero3)
acertos++;
// "else if" é usado para colocar mais alternativas na estrutura condicional
if(acertos == 0)
System.out.print("Você errou os três números!!!");
else if(acertos == 1)
System.out.print("Humm, você acertou um número");
else if(acertos == 2)
System.out.println("Parabéns, você acertou dois números!");
else
System.out.println("Excepcional!!! Você acertou os três números!!!");
}
}
Console:
Entre com os três palpites (de 1 a 10):
3
5
7
Parabéns, você acertou dois números!
Material para facilitar a transição Scrath para Java:
6/7
Exemplo 6:
Calcular a média das notas de uma turma de alunos. A quantidade de alunos deve ser solicitada ao usuário.
Versão Scratch:
Versão Java:
import java.util.Scanner;
public class Exemplo06 {
public static void main(String[] args) {
int notaNumero;
double soma = 0.0, nota;
System.out.println("Quantas notas?");
int qtdeNotas = new Scanner(System.in).nextInt();
// Comando de repetição "for": executa o bloco (entre chaves)
// enquanto a expressão do meio for verdadeira
// A primeira expressão é executada uma vez no início.
// A terceira expressão é sempre executada logo após o bloco
for(notaNumero = 1; notaNumero <= qtdeNotas; notaNumero++) {
System.out.println("Entre com a nota número " + notaNumero + ": ");
nota = new Scanner(System.in).nextDouble();
soma += nota;
}
double media = soma/qtdeNotas;
System.out.println("A média das notas é " + media);
}
}
Console:
Quantas notas?
4
Entre com a nota número 1:
6,5
Entre com a nota número 2:
7
Entre com a nota número 3:
8,5
Entre com a nota número 4:
9
A média das notas é 7.75
Material para facilitar a transição Scrath para Java:
7/7
Download