equivalência portugol java -...
TRANSCRIPT
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Linguagem Java
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Objetivos
Compreender como desenvolver algoritmos
básicos em JAVA
Aprender como escrever programas na
Linguagem JAVA baseando-se na “ Linguagem
Portugol” – aprender as sintaxes equivalentes
entre as linguagens
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Linguagem Java
Desenvolvida pela Sun Microsystem
ORACLE comprou a SUN
Portável a diferentes plataformas
Orientada a Objetos
Código interpretado
Permite que o programa execute mais de um thread (linha de execução).
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Linguagem Java
• Ambiente Java de Compilação:• Compilador JAVAC:
Media.Java Media.classCódigo de
Máquina
Código Fonte Bytecode
InterpretaçãoJavac
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Analogia
Portugol Studio X Java
Declarações de variáveis
Atribuição
Saída de Dados
Entrada de Dados
Estruturas de Seleção
Estruturas de Repetição
Estrutura de um Programa JAVA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Declaração de Variáveis
Tipos de dados inteiro, real, caracter
Variáveis real p1, p2, p3, media inteiro soma caracter sexo
• Tipos de dados– int, float, double, character
• Variáveis– float p1, p2, p3, media;– int soma;– char sexo;
Portugol Studio
JAVA
Instruções do JAVA
terminam com ;
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Atribuição Guarda um valor em uma variável
O tipo de dado DEVE ser compatível com o tipo da variável
Portanto, se uma variável é do tipo inteiro, somente podemos atribuir um valor do tipo inteiro a ela
inteiro soma caracter sexo soma = 0 sexo = “M”
int soma; char sexo; soma = 0; sexo = ‘M’;
Portugol Studio
JAVA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Saída de Dados
• Há várias maneiras de se fazer SAÍDA DE DADOS em JAVA
• Pode-se “mandar” mensagens para o usuário no monitor de vídeo através de BOTÕES, CAIXAS DE DIÁLOGO, “FORMS”, etc
NESTE CURSO, pelo menos inicialmente, vamos utilizar SAÍDA DE DADOS via CONSOLE (sem interface gráfica)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Saída de DadosExibindo uma mensagem FIXA
• escreva(“Digite o valor da compra “)
ou
• escreva (“\nDigite o valor da compra”)
• System.out.print(“Digite o valor da compra “);ou• System.out.println(“Digite o valor da compra “);
NOTAS:
• o “S” do “System” é MAIÚSCULO
• print versus println
• println PULA O CURSOR DE LINHA depois de imprimir
JAVA
Portugol Studio
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Saída de Dados
Exibir um conteúdo de variável
• escreva(“Media = “, media)
• escreva (“ Idade = “, id, “ Altura = “, altu)
• System.out.print(“Media = “ + media);
• System.out.println(“Idade = “ + id + “ Altura = “ + altu);
NOTAS:
• Usa se o “+” e não a VÍRGULA para imprimir texto “mesclado” com variável
JAVA
Portugol Studio
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
ENTRADA DE DADOS
• Há várias maneiras de se fazer ENTRADA DE DADOS em JAVA
• Pode-se “obter valores do teclado ou mouse”através de BOTÕES, CAIXAS DE DIÁLOGO, “FORMS”, etc
NESTE CURSO, pelo menos inicialmente, vamos utilizar ENTRADA DE DADOS via “BUFFER DE TECLADO” (sem interface gráfica)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
12
Comando de entrada
Como ler os dados do teclado e guardar na memória do computador?
É necessário criarmos um buffer para guardar os dados digitados no teclado e depois transferí-los para a memória (variável)
Scanner entrada = new Scanner(System.in);
É o buffer do
teclado
buffer
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Comando de Entrada• Após ter criado o buffer do teclado, basta transferir esse dado para
a variável desejada
• A leitura é dada associando o tipo de entrada ao tipo da variável que receberá o dado
Tipo de Dado Usar
String entrada.nextLine();
int entrada.nextInt();
double entrada.nextDouble();
float entrada.nextFloat();
char entrada.nextLine().charAt(0);
boolean entrada.nextBoolean();
“entrada” é o nome da variável de “buffer” previamente declarada
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Entrada de Dados Lendo uma variável via teclado
// declaração das variáveisinteiro idadereal salario
•escreva(“ Digite a idade : “)
•leia (idade)
•escreva(“ Digite o salario: “)
•leia (salario)
// declaração das variáveisint idade;double salario = 0;
Scanner entrada = new Scanner(System.in);
•System.out.println(“ Digite a Idade : “);•idade = entrada.nextInt();•System.out.println("Qual o salario?");•salario = entrada.nextDouble();
JAVA
Portugol Studio
Para utilizar a “classe” de entrada de
dados “Scanner” será necessário usar
a instrução a seguir, antes da
declaração das variáveis:
import java.util.Scanner;
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Estruturas de Seleção
if ( idade > 15 ) {System.out.println(“ pessoa já pode votar”);
}else {
System.out.println(“ não pode votar ainda“);}
se ( idade > 15 ) {escreva (“ pessoa já pode votar”)
} senão {escreva (“ não pode votar ainda“)
}JAVA
Em JAVA os BLOCOS são delimitados por { }
Portugol Studio
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Estrutura de repetição (enquanto / while)
...inteiro soma , cont
soma = 0
cont = 1
enquanto ( cont <= 10 ) {
soma = soma + cont
cont = cont + 1
}
escreva(“ A soma dos 10 primeiros números = “, soma)
...
int soma = 0, cont = 1;
while ( cont <= 10 ) {
soma = soma + cont;
cont = cont + 1;
}
System.out.print(“ A soma dos 10 primeiros números = “ + soma);
JAVA
Portugol Studio
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Estrutura de repetição (para/ for)...
inteiro soma , cont
soma = 0
para (cont = 1; cont <= 10; cont = cont +1 ) {
soma = soma + cont
}
escreva(“ A soma dos 10 primeiros números = “, soma)
...
int soma = 0, cont;
for ( cont =1; cont <= 10 ; cont = cont + 1 ) {
soma = soma + cont;
}
System.out.print(“ A soma dos 10 primeiros números = “ + soma);
JAVA
Portugol Studio
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Estrutura de um programa
JAVA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Estrutura de um programa Portugol Studio
programa
{
funcao inicio(cadeia parametros[])
{
//
“tipo” “nome_variável”Comando1
Comando2
...
Comando3
}
}
Inicia o programa
comentário Declaração de Constantes e Variáveis
Bloco de instruções
Fim do programa ou do bloco
Inicio do algoritmo ou bloco
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Class NomedaClasse {
public static void main ( String args[ ] )
{
//aqui tem um comentário
instrução 1;
instrução 2;
instrução 3;
…
instrução n;
}
}
Estrutura de um programa JAVA
Nome do programa
comentário
Inicio do programa
Fim bloco
Declaração de constantes e variáveis
Início do bloco
Fim do programa
Bloco de instruções
ATENÇÃO!!!!!!!!
JAVA É “CASE SENSITIVE”AS INSTRUÇÕES DEVEM TERMINAR SEMPRE COM ;
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Linguagem Java
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Objetivos
Compreender como desenvolver algoritmos
básicos em JAVA
Aprender como escrever programas na
Linguagem JAVA baseando-se na “ Linguagem
Portugol” – aprender as sintaxes equivalentes
entre as linguagens
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Analogia
Portugol Studio X Java
Principais Tipos de Dados
Tipos Básicos de Dados
Operadores Aritméticos
Operadores Lógicos
Operadores Relacionais
Operadores Unários
Regras de Precedência
Regras para nomeação em Java
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
TIPOS DE DADOS
Descrição Em PORTUGOL
Studio
Em Java
Caractere caracter char
Literal cadeia String (classe)
Inteiro inteiro int
Inteiro longo Não se aplica long
Real (ponto flutuante) real float
Real “longo” Não se aplica double
Booleano Não se aplica boolean
PRINCIPAIS TIPOS DE DADOS EXISTENTES
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Tipos básicos de dados
Inteiro (int): números inteiros sem parte fracionária, podendo ser negativo, nulo ou positivo
Real (float , double): números com parte fracionária, podendo ser negativo, nulo ou positivo
float – 7 casas de precisão após a vírgula
double – 15 casas de precisão após a vírgula
• Literal (char , String): conjunto de caracteres alfanuméricos números (0.. .9), letras (A.. .Z, a.. .z) e símbolos (#, ?, !, @......)
– Para um caracter usar aspas simples
– Para um conjunto de caracteres usar aspas dupla
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Tipos básicos de dados
Lógico (boolean): poderá assumir valores Verdadeiro ou falso
true – verdadeiro
false – falso
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Constante
Definição
Valor fixo que NÃO se modifica durante a execução de um programa
Exemplos
Número
Valor Lógico (Verdadeiro ou falso)
Sequência de Caracteres
Classificação
Numérica
Literal
Lógica
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Constante Numérica
Nos algoritmos utiliza a notação decimal
As constantes numéricas podem
Possuir ou não uma parte fracionária
Ter uma parte exponencial
Fator 10 elevado a um número inteiro
Exemplos
25
3.14
7.8 E10 ( idêntico a 7.8 * 1010)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Constante Numérica
Pode ser positiva ou negativa
Depende do sinal que precede a constante
Caso não exista sinal positiva
Expoente também pode possuir um sinal (indica o deslocamento da virgula)
Caso não exista sinal positiva
Exemplos
-3.4
26E-10 (idêntico a 26*10-10)
3,4 (Erro não representa um número em java)
Os números fracionários
sempre serão representados
através da notação de ponto
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Constante Lógica
Só pode ser
Verdadeiro TRUE 1
Falso FALSE 0
Utilizado em preposições Lógicas
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Constante Literal
Qualquer sequência de caracteres
Letras, dígitos, símbolos Especiais
Em java Todas as constantes literais que aparecem no
algoritmo devem estar entre aspas
Exemplos:
“José da Silva”
“Mensagem”
“12345”
“@#!ABC4”
“26/02/75”
“X1W!Z2”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
32
Constantes Literais
Não confunda!!!!
12345
“12345”
false
“false”
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
33
Operadores
São meios pelos quais
incrementamos,
decrementamos,
comparamos e
avaliamos dados dentro do computador
Temos três tipos de operadores:
Operadores Aritméticos
Operadores Relacionais
Operadores Lógicos
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Aritméticos
Descrição Em Portugol Studio Em Java
Multiplicação * *
Divisão real / /
Divisão inteira Não se aplica /
Módulo % %
Adição + +
Subtração - -
Incremento ++ ++
Decremento -- --
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Exemplo
Qual o resultado da avaliação da expressão
10 - 4 * 2 + 1
13, 18, 3 ?
Depende da prioridade da avaliação dos operadores
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Maior
Menor
+ -
/ *
( )
Exemplos
6 * 4 + 5 -3
3 + (2 -1) *5
Ordem de Prioridade
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Lógicos
Estabelecem uma relação de comparação entre valores ou expressões
Resultam sempre em um valor lógico
Verdadeiro (true) ou falso (false)
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Lógicos
Descrição Em Portugol Studio Em Java
E e &&
OU ou ||
NÃO não !
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Lógicos Os operadores lógicos mais utilizados são:
E &&
OU ||
NÃO !
Tais operadores retornam valores lógicos como (V)erdadeiro ou (F)also
„Eu vou almoçar se tiver macarronada ou frango!‟
„Eu vou almoçar se tiver macarronada e frango!‟
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Lógicos
Tabela-verdade para os operadores && e ||
A B A && B A || B
V V V V
V F F V
F V F V
F F F F
&& – somente resulta em VERDADEIRO quando todas
as sentenças avaliadas são verdadeiras
|| – somente resulta em FALSO quando todas as
sentenças avaliadas são falsas
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Lógicos O operador ! (não) faz a negação de uma sentença:
Ao aplicar o operador ! (não), a sentença passa a ser:
„Pedro mora na Vila Rica‟
„Pedro NÃO mora na Vila Rica‟
A ! A
V F
F V
Precedência dos operadores: !, && ou ||
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Relacionais
Descrição Em Portugol Studio Em Java
Maior > >
Maior ou igual >= >=
Menor < <
Menor ou igual <= <=
Igualdade = = = =
Desigualdade ! = ! =
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Unários
Operador de Incremento em Java:
Função: Incrementar o operando em 1 unidade
Trabalha de dois modos:
Pré-fixado ++num
A variável num é incrementada antes de seu valor ser usado
Pós-fixado num++
A variável num é incrementada depois de seu valor ser usado
num = 5;
x = ++num;
Pré
-fix
ad
o
num = 5;
x = num++;
Pó
s-f
ixad
o
x=6 num=6 x=5 num=6
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operadores Unários
Operador de Decremento em Java:
Função: Decrementar o operando em 1 unidade
Trabalha de dois modos:
Pré-fixado --num
A variável num é decrementada antes de seu valor ser usado
Pós-fixado num--
A variável num é decrementada depois de seu valor ser usado
num = 5;
x = --num;
Pré
-fix
ad
o num = 5;
x = num--;
Pó
s-f
ixad
o
x=4 num=4 x=5 num=4
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Operador Observação
( ) Parênteses para agrupar expressões
x++, y-- Incremento e decremento pós-fixado
--x, --y, ! Incremento e decremento pós-fixado, negação
*, /, %
Operadores aritméticos de multiplicação, divisão e módulo
• observação: “%” não respeita a propriedade associativa com
multiplicação/divisão
+, - Operadores aritméticos de adição e subtração
<, >, <=, >= Operadores relacionais
==, != Operadores de igualdade e diferença
&& Operador lógico e
|| Operador lógico ou
= Operador de atribuição
Precedência de Operadores JAVA
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
46
Regras para nomear variáveis em JAVA Pode conter um ou mais caracteres;
Deve começar sempre por uma letra;
Pode ser seguidos por letras e números;
casa21
Não pode ter espaços entre as letras;
casa 21 (errado!!) – usar_underline_para_separar
Não pode conter caracteres especiais;
( ?, ç, @, #, !, etc....)
Não pode ser uma palavra reservada;
float, int, for , ...
Ser sucinto e utilizar nomes coerentes
Bacharelado em Ciência e Tecnologia
Processamento da Informação
Equivalência Portugol – Java
Regras para nomear variáveis
Fique atento!!!
Os nomes de variáveis abaixo são iguais???
NomeCliente nomecliente
nomeCliente
Não, pois variáveis em Java são case-sensitive
nomes com letras maiúsculas são diferenciados de nomes com letras minúsculas!!