Pascal Java
Pascal Java
Fernando Lozano
Consultor Independente
www.lozano.eti.br
<[email protected]>
1. Introdução:
❑ Paradigmas de programação
❑ Instalação do Java
2. Estrutura dos programas
3. Variáveis e Tipos de Dados
4. Comandos e Estruturas de Controle
5. Tipos de Dados Estruturados
6. Subprogramas
7. Entrada e Saída
1. Introdução
Programação Estruturada
Programação Procedural
Paradigmas de Programação
no Desenvolvimento Web
Programação Baseada em Responsabilidades
Programação Estruturada
Programação Procedural
Desenvolvimento para a Web
#!/bin/sh
export JAVA_HOME=/usr/java/j2sdk1.4.1_01
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.
set JAVA_HOME=c:\j2sdk1.4.1_01
set PATH="%JAVA_HOME%\bin;%PATH%"
set CLASSPATH=.
$ java -version
java version "1.4.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b01)
...
$ javac
Usage: javac <options> <source files>
where possible options include:
...
C:\WINDOWS\COMMAND\doskey
mode con codepage prepare=((850) C:\WINDOWS\COMMAND\ega.cpi)
mode con codepage select=850
keyb br,,C:\WINDOWS\COMMAND\keybrd2.sys /id:275
Operação do Java2 SDK
❑ Digite o programa:
class Oi
{
public static void main (String[] args) {
System.out.println ("Oi do Java!");
}
}
❑ Compile e execute:
$ javac Oi.java
$ java Oi
Oi do Java!
$
Observações
❑ Pascal foi criada para ser ❑ Java foi criada para ser
uma ferramenta para o uma ferramenta poderosa
ensino de boas práticas de de modo a atender às
programação estruturada exigências das novas
aplicações, permitindo o
❑ A linguagem foi estendida
desenvolvimento
em produtos comerciais
multiplataforma de
para incorporar recursos de
aplicações distribuídas,
outras linguagens mais
utilizando técnicas de
“profissionais” como C e
Orientação a Objetos
C++
Ambientes Diferentes
class Capitais
{
static public void main (String[] args)
{
String ESTADO = "RJ";
String estado = "Rio de Janeiro";
System.out.println ("A sigla do estado " + estado +
" é " + ESTADO);
}
}
Novamente o Exemplo em
Pascal
Program Capitais;
var
sigla_estado: String;
nome_estado: String;
begin
sigla_estado := 'RJ';
nome_estado := 'Rio de Janeiro';
Writeln ('A sigla do estado ', sigla_estado,
' é ', nome_estado);
end.
Outras Diferenças Entre
Pascal e Java
❑ Pascal utiliza 'aspas ❑ Java utiliza "aspas duplas"
simples' (apóstrofos) para para delimitar strings
delimitar strings;
❑ Pascal utiliza dois pontos ❑ Java utiliza apenas um
seguido por igual (:=) para sinal de igual (=) para
atribuição de variáveis atribuição de variáveis
❑ Pascal permite múltiplos ❑ Java permite um único
argumentos no comando argumento no comando
Writeln separados por System.out.println, por
vírgulas isso temos que concatenar
strings (+)
3. Dados em Pascal e Java
Program Hoje;
{ apesar do nome, esta mesma unit pode ser utilizada em Windows e Linux }
uses Dos;
var
ano, mes, dia, diaSemana : integer;
begin
GetDate (ano, mes, dia, diaSemana);
Writeln (dia, '/ ', mes, '/ ',ano);
end.
Outra Forma de se Obter a
Data de Hoje em Pascal
Program Hoje2;
{ a unit systuils é padrão no Delphi e Free Pascal }
uses sysutils;
begin
Writeln ('A data corrente é :', DateToStr(Date));
end.
import java.util.Date;
class Amanha
{
static public void main (String[] args)
{
Date hoje = new Date ();
Date amanha = hoje;
amanha.setTime (amanha.getTime () +
1000 * 60 * 60 * 24);
// porque as duas linhas abaixo exibitão a mesma data?
System.out.println (hoje);
System.out.println (amanha);
}
}
O Mesmo Exemplo,
Estilo Java
import java.util.Date;
class Amanha2
{
static public void main (String[] args)
{
Date hoje = new Date ();
Date amanha = new Date (hoje.getTime () +
1000 * 60 * 60 * 24);
// porque as duas linhas abaixo exibitão datas diferentes?
System.out.println (hoje);
System.out.println (amanha);
}
}
Data de Amanhã em Pascal
❑ Program AmanhaPas;
{ cuidado pois o nome do programa e das
variáveis pode entrar em conflito }
uses sysutils;
var
hoje: TDateTime;
amanha: TDateTime;
begin
hoje := Date;
amanha := hoje + 1;
Writeln (DateToStr(hoje));
Writeln (DateToStr(amanha));
end.
Recapitulando
class Par
{
static public void main (String[] args)
{
int numero = 3;
if (numero % 2 == 0)
System.out.println ("O número " + numero + " é par");
else
System.out.println ("O número " + numero + " é ímpar");
}
}
Exemplo de If em Pascal
❑ Program Par;
var
numero : integer;
begin
numero := 2;
if numero mod 2 = 0 then
writeln ('O número ', numero, ' é par.')
else
writeln ('O número ', numero, ' é ímpar.');
end.
Exemplo de For
class Contador
{
static public void main (String[] args)
{
for (int i = 1; i <= 10; i++)
System.out.println ("contando: " + i);
}
}
Exemplo de For em Pascal
❑ Program Contador;
var
i : integer;
begin
for i := 1 to 10 do
writeln ('Contando: ', i)
end.
Estruturas de Controle
❑ If (a = 2) or (b = 3) Then ❑ if (a == 2 || b == 3)
... ...
❑ If not (a >= 2) Then ❑ if (! a >= 2)
... ...
❑ If s = 'teste' Then ❑ if (s.equals ("teste"))
... ...
❑ If s > 'abc' Then ❑ if (s.compareTo ("abc") > 0)
... ...
import java.util.Date;
class Amanha3
{
static public void main (String[] args)
{
Date hoje = new Date ();
Date amanha = new Date (hoje.getTime () +
1000 * 60 * 60 * 24);
if (hoje.equals (amanha))
System.out.println (hoje + " é igual a " + amanha);
if (hoje.compareTo (amanha) < 0)
System.out.println (hoje + " é menor que " + amanha);
}
}
Expressões Condicionais
a = 2; b = 3;
if (a == 2 || b == 3) ...
❑ class OutErr
{
static public void main (String[] args)
{
System.out.println ("mensagem normal do programa");
System.err.println ("mensagem de erro do programa");
}
}
❑ $ java OutErr
mensagem normal do programa
mensagem de erro do programa
$ java OutErr > saida.txt
mensagem de erro do programa
$ more saida.txt
mensagem normal do programa
Pascal e Linha de Comando
❑ Compare os programas:
Vetor.java e vetor.pas
MatrizIdentidade.java e matrizidentidade.java
❑ MatrizIdentidade.java e matrizidentidade.java
demonstram como podemos inicializar vetores e matrizes
diretamente no código, sem recorrer a laços for
❑ Modifique os exemplos de matriz identidade para utilizar a
linha de comando, assim como foi feito em Vetor2.java ou
vetor2.pas
Registros
❑ Round ❑ Math.round
❑ Abs ❑ Math.abs
❑ Sin, Cos, Tan, ... ❑ Math.sin, Math.cos, ...
❑ Rand ❑ Math.random ou a classe
java.util.Random
Funções Para Strings