Académique Documents
Professionnel Documents
Culture Documents
Captulo 1
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Objectivos
Apresentar a arquitectura bsica de um computador - hardware e software Definir algoritmo e programa Mostrar a necessidade de linguagens de programao e compiladores
Apresentar a programao orientada por objectos Apresentar a linguagem de programao Java
A mquina virtual java. Java byte-code.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Hardware e Software
A arquitectura do computador consiste em hardware e software.
Hardware inclui os componentes electrnicos e mecnicos. Software inclui os programas - conjunto de instrues.
Hardware e Memria
A maioria dos computadores incluem os seguintes componentes
Processador
Tambm chamado CPU (central processing unit) ou o chip (e.g. processador Pentium) O processador s processa instrues muito simples. A capacidade dos computadores vem de executar com rapidez programas de grande complexidade.
Memria
Contm: programas, dados para o computador processar e resultados intermdios de clculos Existem dois tipos de memria: principal e auxiliar
Memria
Memria principal (main memory)
Memria usada para armazenar:
O programa corrente Os dados que o programa usa Os resultados intermdios de clculos
Memria RAM (Random Access Memory) Memria voltil Memria ROM(Read Only Memory) Memria no voltil,s
de leitura Usualmente medida em megabytes (e.g. 256 megabytes de RAM)
Um byte corresponde a 8 bits
Memria auxiliar
Tambm denominada memria secundria Inclui disk drives, diskettes, CDs, etc. A memria auxiliar permanente (no voltil) e de acesso lento em comparao com a memria proncipal Usualmente medida em gigabytes (e.g. 50 gigabyte disco rgido)
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Endereos
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Armazenamento de Dados
Dados de todos os tipos (nmeros, letras, strings, audio, video, programas) so codificados e so armazenados usando 1s e 0s.
Quando necessrio mais do que um byte, so usados bytes adjacentes.
O endereo do primeiro byte o endereo da unidade de bytes.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Ficheiros
Ficheiros so constitudos por um conjunto de bytes localizados em memria auxiliar.
Programa
Um programa uma sequncia de instrues que um computador executa.
Usamos programas diariamente (email, editores, jogos, ATMs, etc.).
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio 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.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Executar um programa
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Sistema Operativo
O sistema operativo um programa supervisor que dirige as operaes do computador. O sistema operativo recupera e inicia os nossos programa. Sistemas operativos bem conhecidos so: DOS, Microsoft Windows, Apples Mac OS, Linux, and UNIX.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Linguagens de programao
Linguagens de alto nvel so mais fceis de escrever e entender.
Java, Pascal, FORTRAN, C, C++, BASIC, Visual Basic, etc.
O compilador traduz o programa em linguagem de alto nvel para a linguagem que o computador sabe executar. Os programas em linguagens de alto nvel so denominados programas fonte (source). Os compiladores produzem programas em linguagem mquina ou assembler denominados programas objecto. A maioria das linguagens de alto nvel necessitam de diferentes compiladores para cada tipo de computador e para cada sistema operativo.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Compilador
Java Byte-Code
O compilador Java no traduz o programa Java para linguagem mquina para um computador em particular.
Como alternativa, um programa Java traduzido em byte-code.
Byte-code uma linguagem mquina para um hipottico computador (ou interpretador) denominado Mquina Virtual Java.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio 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 necessrio recompilar. Byte-code pode ser enviado atravs da Internet e ser usado em qualquer ponto do mundo. Isto torna o Java apropriado para aplicaes Internet.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Classe Loader
Um programa Java tipicamente consiste em vrias peas denominadas classes. Cada classe pode ter um autor separado e cada uma compilada (traduzido para bytecode) separadamente. A class loader automaticamente liga as classes umas com as outras.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Desenho de Programas:
Programao Orientada por Objectos Encapsulamento Polimorfismo Herana Algoritmos Componentes Reutilizveis Teste e Debugging
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Programar
Programar um processo criativo.
Programar pode ser aprendido descobrindo as tcnicas usadas por programadores experientes. Estas tcnicas so aplicadas em quase todas as linguagens de programao, incluindo o Java.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Terminologia POO
Objectos, apropriadamente, so denominados objectos. Aces so denominadas mtodos.
Encapsulamento
Dados e mtodos associados numa classe particular so encapsulados (colocados juntos numa cpsula), mas s parte do contedo colocada acessvel.
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 faam actividades diferentes
Herana
Uma classe de baixo nvel herda todas as caractersticas da classe que lhe superior na hierarquia de classes. Em cada nvel inferior, as classes ficam mais especializadas adicionando-lhes mais caractersticas. As classes superiores so mais inclusivas; classes inferiores so menos inclusivas.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Introduo ao Encapsulamento
Dados e mtodos associados numa classe particular so encapsulados (colocados juntos numa cpsula), mas s parte do contedo colocada acessvel.
Encapsulamento providencia uma forma de usar a classe, mas omite os detalhes de como a classe trabalha. Encapsular muitas vezes denominado ocultar a informao (information hiding).
Exemplo:
Um automvel consiste em muitas partes e peas e capaz de fazer muitas aces. Conhecer o pedal do acelerador, o pedal do travo, e a manipulao do volante importante para o motorista. Conhecer os injectores de fuel, o mecanismo automtico de controlo do sistema de travagem, no importante para o motorista.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Introduo 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 mtodo, usado numa instruo, produz resultados que dependem da classe de objectos que usa o mtodo. Analogia: divirta-se causa que pessoas diferentes faam actividades diferentes.
Introduo herana
As classes podem ser organizadas usando a herana.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Introduo herana
Uma classe de baixo nvel herda todas as caractersticas da classe que lhe superior na hierarquia. Em cada nvel, as classes ficam mais especializadas adicionando-lhes mais caractersticas. As classes superiores so mais inclusivas; classes inferiores so menos inclusivas. A herana usada para organizar as classes. Caractersticas herdadas no necessitam de ser repetidas. Pode-se adicionar novas caractersticas. Capitulo 7 desenvolve o tema herana.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Algoritmos
Desenhando mtodos, os programadores providenciam aces para objectos realizarem. Um algoritmo descreve a forma como possvel realizar as aces. Um algoritmo o conjunto de instrues que so necessrias para resolver um problema. Um algoritmo tem que ser expresso completamente e com exactido Os algoritmo usualmente so expressos em portugus ou em pseudo-code. Uma vez definido o algoritmo, express-lo em Java (ou noutra linguagem de programao) normalmente fcil.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Exemplo - algoritmo
Total de custo de uma lista de itens
Arranjar uma folha.
Reutilizar componentes
A maioria dos programas so criados combinando componentes que j existem. Reutilizar componentes economiza tempo. A reutilizao de componentes permite desenvolver melhores aplicaes, e mais seguras.
Novos componentes devem ser desenhados para serem reutilizados por outras aplicaes.
Especificar exactamente como os objectos da classe interagem com os outros objectos. Desenhar uma classe para que os objectos sejam gerais, de preferncia a serem para uma aplicao em particular .
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Erros
Um erro em programao denominado um bug. Eliminar os erros denominado debugging. Existem trs tipos de erro
Sintaxe (o programa no obedece s regras gramaticais da linguagem so detectados em tempo de compilao). Runtime (detectados em tempo de execuo, provocam o trmino da execuo do programa). Lgicos (o programa no produz o resultado desejado).
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Erros de sintaxe
Enganos nas regras gramaticais
As regras da gramtica para escrita de programas so muito rgidas.
Erros lgicos
No so detectados durante a compilao e no terminam a execuo, mas o programa no produz o resultado desejado. Exemplo: engano na converso graus Fahrenheit para graus Celsius multiplicando por 9/5 e subtraindo 23 em vez de 32
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Introduo ao Java
Histria da linguagem Java.
Applets. Primeiro Programa em Java. Compilar um programa ou classe em Java. Executar um programa em Java Objectos e mtodos
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Histria do Java
Em 1991, James Gosling da Sun Microsystems comeou a desenhar a linguagem para utenslios do lar (torradeiras, TVs, etc.).
porque os utenslios do lar eram controlados por chips (processadores) muito diferentes primeiro os programas dos vrias utenslios eram transladados para uma linguagem intermdia comum. depois a linguagem intermdia era transladada para a linguagem mquina de cada um dos processadores do utenslio em particular. o fabrico de utenslios 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.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Aplicaes e Applets
Dois tipos de programas Java : aplicaes e applets. Aplicaes:
programas regulares. executadas no prprio computador.
Applets:
pequenas aplicaes. enviadas para outro local da Internet e executadas l.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio 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.*
Os itens dentro de parnteses so denominados argumentos e providenciam informao necessria aos mtodos.
Uma varivel permite armazenar dados.
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 mtodo para escrever qualquer coisa que est entre parnteses no ecr.
String.
um literal do tipo
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Um programa Java consiste numa ou mais classes, que tm de ser compiladas para que o programa possa ser executado. As classes que acompanham o Java (e.g. System e Scanner) so j fornecidas em formato byte-code. Cada classe tem que estar em ficheiros separados.
Compilar e Executar
Quando um programa Java compilado, a verso de byte-code do programa tem o mesmo nome, mas a extenso modificada de .java para .class.
Um programa em Java pode envolver qualquer nmero de classes. A classe que executada tem que ter o mtodo:
public static void main( String[] args )
Programas necessrios: javac (compilador de java) e java (mquina virtual java) O comando javac Teste.java gera o ficheiro Teste.class, que contm o byte-code resultado da compilao da classe Teste (presente no ficheiro Teste.java)..
O comando java Teste pe em execuo o programa que tem como ponto de entrada (entry point) o mtodo main da classe Teste presente no ficheiro Teste.class
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education
Sumrio
Foi dada uma viso geral do computador hardware e software.
Introduziu-se a programao orientada por objectos. Foi dada uma viso geral da linguagem de programao Java.
Adaptao dos acetatos originais do livro: Java- An Introduction to Problem Solving & Programming, 4 Edio Autor: Walter Savitch, ISBN 013149020 2005 Pearson Education