Escolar Documentos
Profissional Documentos
Cultura Documentos
Chap 01
Chap 01
em Java
Capítulo 1
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Objectivos
• Apresentar a arquitectura básica de um
computador - hardware e software
• Definir algoritmo e programa
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Hardware e Software
• A arquitectura do computador consiste em
hardware e software.
– Hardware inclui os componentes electrónicos e
mecânicos.
– Software inclui os programas - conjunto de
instruções.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Hardware e Memória
A maioria dos computadores incluem os seguintes
componentes
– Processador
• Também chamado CPU (central processing unit) ou o chip (e.g.
processador Pentium)
• O processador só processa instruções muito simples.
• A capacidade dos computadores vem de executar com rapidez
programas de grande complexidade.
– Memória
• Contém: programas, dados para o computador processar e
resultados intermédios de cálculos
• Existem dois tipos de memória: principal e auxiliar
– Dispositivos de entrada (input devices) - teclado, mouse, etc.
– Dispositivos de saída (output devices) - ecrã, impressora, etc.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Memória
• Memória principal (main memory)
– Memória usada para armazenar:
• O programa corrente
• Os dados que o programa usa
• Os resultados intermédios de cálculos
– Memória RAM (Random Access Memory) – Memória volátil
– Memória ROM(Read Only Memory) – Memória não volátil,só
de leitura
– Usualmente medida em megabytes (e.g. 256 megabytes de RAM)
• Um byte corresponde a 8 bits
• Memória auxiliar
– Também denominada memória secundária
– Inclui disk drives, diskettes, CDs, etc.
– A memória auxiliar é permanente (não volátil) e de acesso lento em
comparação com a memória proncipal
– Usualmente é medida em gigabytes (e.g. 50 gigabyte disco rígido)
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Bits, Bytes, e Endereços
• Um bit é um dígito com um de dois valores 0
ou 1.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Endereços
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Armazenamento de Dados
• Dados de todos os tipos (números, letras,
strings, audio, video, programas) são
codificados e são armazenados usando 1s e
0s.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Ficheiros
• Ficheiros são constituídos por um conjunto de
bytes localizados em memória auxiliar.
• Ficheiros são identificados por nomes.
• Ficheiros são organizados em grupos
denominados directorias.
• Programas em Java são armazenados em
ficheiros.
• Os programas em ficheiro são copiados da
memória auxiliar para memória principal para
serem executados.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Programa
• Um programa é uma sequência de instruções
que um computador executa.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Input e Output
• Normalmente, o computador recebe dois
tipos de input:
– O programa
– Os dados que o programa necessita.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Executar um programa
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Sistema Operativo
• O sistema operativo é um programa
supervisor que dirige as operações do
computador.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Linguagens de programação
• Linguagens de alto nível são mais fáceis de
escrever e entender.
– Java, Pascal, FORTRAN, C, C++, BASIC, Visual
Basic, etc.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Compilador
• O compilador traduz o programa em linguagem
de alto nível para a linguagem que o computador
sabe executar.
• Os programas em linguagens de alto nível são
denominados programas fonte (source).
• Os compiladores produzem programas em
linguagem máquina ou assembler
denominados programas objecto.
• A maioria das linguagens de alto nível
necessitam de diferentes compiladores para
cada tipo de computador e para cada sistema
operativo.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Java Byte-Code
• O compilador Java não traduz o programa
Java para linguagem máquina para um
computador em particular.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Portabilidade
• Depois de um programa Java ser compilado
em byte-code, o byte-code pode ser usado
em qualquer computador com interpretador
de byte-code sem ser necessário recompilar.
• Byte-code pode ser enviado através da
Internet e ser usado em qualquer ponto do
mundo.
• Isto torna o Java apropriado para aplicações
Internet.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Compilar e executar um programa
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Classe Loader
• Um programa Java tipicamente consiste em
várias peças denominadas classes.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Desenho de Programas:
• Programação Orientada por Objectos
• Encapsulamento
• Polimorfismo
• Herança
• Algoritmos
• Componentes Reutilizáveis
• Teste e Debugging
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Programar
• Programar é um processo criativo.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Programação Orientada por
Objectos
• O mundo consiste em objectos (pessoas,
árvores, carros, cidades, etc.).
• Objectos podem realizar acções que têm
consequências para eles e para outros
objectos do mundo.
• Programação Orientada por Objectos (POO)
trata a programação como uma colecção de
objectos que interactuam por meio de
acções.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Terminologia POO
• Objectos, apropriadamente, são denominados
objectos.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Princípios de desenho OOP
• OOP é fiel a três princípios de desenho
primários :
– Encapsulamento
• Dados e métodos associados numa classe particular são
encapsulados (“colocados juntos numa cápsula”), mas só
parte do conteúdo é colocada acessível.
– Polimorfismo
• Do Grego significa “muitas formas”. O mesmo programa
adapta-se a diferentes meios e age em diferentes contextos.
• Analogia: a mensagem “divirta-se” causa que pessoas
diferentes façam actividades diferentes
– Herança
• Uma classe de baixo nível herda todas as características da
classe que lhe é superior na hierarquia de classes.
• Em cada nível inferior, as classes ficam mais especializadas
adicionando-lhes mais características. As classes superiores
são mais inclusivas; classes inferiores são menos inclusivas.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Introdução ao Encapsulamento
• Dados e métodos associados numa classe particular são
encapsulados (“colocados juntos numa cápsula”), mas só
parte do conteúdo é colocada acessível.
– Encapsulamento providencia uma forma de usar a classe, mas
omite os detalhes de como a classe trabalha.
– Encapsular muitas vezes é denominado ocultar a informação
(information hiding).
• Exemplo:
– Um automóvel consiste em muitas partes e peças e é capaz de
fazer muitas acções.
– Conhecer o pedal do acelerador, o pedal do travão, e a
manipulação do volante é importante para o motorista.
– Conhecer os injectores de fuel, o mecanismo automático de controlo
do sistema de travagem, não é importante para o motorista.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Introdução ao polimorfismo
• Do Grego significa “muitas formas”
• O mesmo programa adapta-se a diferentes
meios e age conforme os diferentes
contextos.
– O mesmo nome de método, usado numa
instrução, produz resultados que dependem da
classe de objectos que usa o método.
– Analogia: “divirta-se” causa que pessoas
diferentes façam actividades diferentes.
• Capitulo 7 – desenvolve o tema polimorfismo
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Introdução à herança
As classes podem ser organizadas usando a
herança.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Introdução à herança
• Uma classe de baixo nível herda todas as
características da classe que lhe é superior na
hierarquia.
• Em cada nível, as classes ficam mais especializadas
adicionando-lhes mais características.
• As classes superiores são mais inclusivas; classes
inferiores são menos inclusivas.
• A herança é usada para organizar as classes.
• Características “herdadas” não necessitam de ser
repetidas.
• Pode-se adicionar novas características.
• Capitulo 7 – desenvolve o tema herança.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Algoritmos
• Desenhando métodos, os programadores
providenciam acções para objectos realizarem.
• Um algoritmo descreve a forma como é possível
realizar as acções.
• Um algoritmo é o conjunto de instruções que são
necessárias para resolver um problema.
• Um algoritmo tem que ser expresso completamente e
com exactidão
• Os algoritmo usualmente são expressos em
português ou em pseudo-code.
• Uma vez definido o algoritmo, expressá-lo em Java
(ou noutra linguagem de programação) normalmente
é fácil.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Exemplo - algoritmo
Total de custo de uma lista de itens
• Arranjar uma folha.
• Exemplo:
– usar um ponto onde o programa espera uma
virgula.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Erros em tempo de execução
(runtime)
• Não são detectados na compilação, mas são
detectados quando o programa está em
execução.
• Exemplo:
– engano na conversão graus Fahrenheit
para graus Celsius multiplicando por 9/5 e
subtraindo 23 em vez de 32
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Introdução ao Java
• História da linguagem Java.
• Applets.
• Objectos e métodos
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
História do Java
• Em 1991, James Gosling da Sun Microsystems
começou a desenhar a linguagem para utensílios do
lar (torradeiras, TVs, etc.).
– porque os utensílios do lar eram controlados por chips
(processadores) muito diferentes
– primeiro os programas dos várias utensílios eram
transladados para uma linguagem intermédia comum.
– depois a linguagem intermédia era transladada para a
linguagem máquina de cada um dos processadores do
utensílio em particular.
– o fabrico de utensílios era impressionante.
• Em 1994, Gosling compreendeu que esta linguagem
podia ser a ideal para os browser Web executarem os
programas sobre a Internet.
– A Sun produziu o browser conhecido hoje como HotJava.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Aplicações e Applets
• Dois tipos de programas Java : aplicações e
applets.
• Aplicações:
– programas regulares.
– executadas no próprio computador.
• Applets:
– pequenas aplicações.
– enviadas para outro local da Internet e
executadas lá.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Primeira Aplicação Java
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Terminologia
• A pessoa que escreve programas é chamado
programador.
• A pessoa que interage com o programa é chamado
utilizador.
• Um package é uma biblioteca de classes que já está
definida.
– import java.util.*
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Escrita no ecrã
System.out.println("O que deseja escrever");
• System é uma classe.
• System.out é um objecto que permite a escrita no
ecrã.
• println é um método para escrever qualquer
coisa que está entre parênteses no ecrã.
• Diz-se que o objecto invoca ou chama o
método.
nomeObject.nomeMetodo(argumentosNecessáriosMetodo);
• "O que deseja escrever" é um literal do tipo
String.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Compilar um programa ou
classe em Java
• Um programa Java consiste numa ou mais
classes, que têm de ser compiladas para que
o programa possa ser executado.
• As classes que acompanham o Java (e.g.
System e Scanner) são já fornecidas em
formato byte-code.
• Cada classe tem que estar em ficheiros
separados.
• O nome do ficheiro tem que ser o mesmo que
o nome da classe.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Compilar e Executar
• Quando um programa Java é compilado, a versão de byte-code do programa tem o
mesmo nome, mas a extensão é modificada de .java para .class.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education
Sumário
• Foi dada uma visão geral do computador
hardware e software.
Adaptação dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4ª Edição
Autor: Walter Savitch, ISBN 013149020 © 2005 Pearson Education