Você está na página 1de 8

Mdulo 1

Introduo Programao 1

Apndice D
Testes de programao

Verso 1.0 - Jan/2007

JEDITM

Autor Florence Tiu Balagtas Equipe Joyce Avestro Florence Balagtas Rommel Feria Reginald Hutcherson Rebecca Ong John Paul Petines Sang Shin Raghavan Srinivas Matthew Thompson

Necessidades para os Exerccios

Sistemas Operacionais Suportados NetBeans IDE 5.5 para os seguintes sistemas operacionais: Microsoft Windows XP Profissional SP2 ou superior Mac OS X 10.4.5 ou superior Red Hat Fedora Core 3 Solaris 10 Operating System (SPARC e x86/x64 Platform Edition) NetBeans Enterprise Pack, poder ser executado nas seguintes plataformas: Microsoft Windows 2000 Profissional SP4 Solaris 8 OS (SPARC e x86/x64 Platform Edition) e Solaris 9 OS (SPARC e x86/x64 Platform Edition) Vrias outras distribuies Linux Configurao Mnima de Hardware Nota: IDE NetBeans com resoluo de tela em 1024x768 pixel Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 500 MHz Intel Pentium III workstation ou equivalente 500 MHz Intel Pentium III workstation ou equivalente UltraSPARC II 450 MHz AMD Opteron 100 Srie 1.8 GHz PowerPC G4 Memria 512 MB 512 MB 512 MB 512 MB 512 MB HD Livre 850 MB 450 MB 450 MB 450 MB 450 MB

Configurao Recomendada de Hardware Sistema Operacional Microsoft Windows Linux Solaris OS (SPARC) Solaris OS (x86/x64 Platform Edition) Mac OS X Processador 1.4 GHz Intel Pentium III workstation ou equivalente 1.4 GHz Intel Pentium III workstation ou equivalente UltraSPARC IIIi 1 GHz AMD Opteron 100 Series 1.8 GHz PowerPC G5 Memria 1 GB 1 GB 1 GB 1 GB 1 GB HD Livre 1 GB 850 MB 850 MB 850 MB 850 MB

Requerimentos de Software NetBeans Enterprise Pack 5.5 executando sobre Java 2 Platform Standard Edition Development Kit 5.0 ou superior (JDK 5.0, verso 1.5.0_01 ou superior), contemplando a Java Runtime Environment, ferramentas de desenvolvimento para compilar, depurar, e executar aplicaes escritas em linguagem Java. Sun Java System Application Server Platform Edition 9. Para Solaris, Windows, e Linux, os arquivos da JDK podem ser obtidos para sua plataforma em http://java.sun.com/j2se/1.5.0/download.html Para Mac OS X, Java 2 Plataform Standard Edition (J2SE) 5.0 Release 4, pode ser obtida diretamente da Apple's Developer Connection, no endereo: http://developer.apple.com/java ( necessrio registrar o download da JDK). Para mais informaes: http://www.netbeans.org/community/releases/55/relnotes.html

Introduo Programao I

JEDITM

Colaboradores que auxiliaram no processo de traduo e reviso


Alexandre Mori Alexis da Rocha Silva Aline Sabbatini da Silva Alves Allan Wojcik da Silva Andr Luiz Moreira Andro Mrcio Correa Louredo Antoniele de Assis Lima Antonio Jose R. Alves Ramos Aurlio Soares Neto Bruno da Silva Bonfim Bruno dos Santos Miranda Bruno Ferreira Rodrigues Carlos Alberto Vitorino de Almeida Carlos Alexandre de Sene Carlos Andr Noronha de Sousa Carlos Eduardo Veras Neves Cleber Ferreira de Sousa Cleyton Artur Soares Urani Cristiano Borges Ferreira Cristiano de Siqueira Pires Derlon Vandri Aliendres Fabiano Eduardo de Oliveira Fbio Bombonato Fernando Antonio Mota Trinta Flvio Alves Gomes Francisco das Chagas Francisco Marcio da Silva Gilson Moreno Costa Givailson de Souza Neves Gustavo Henrique Castellano Hebert Julio Gonalves de Paula Heraldo Conceio Domingues Hugo Leonardo Malheiros Ferreira Ivan Nascimento Fonseca Jacqueline Susann Barbosa Jader de Carvalho Belarmino Joo Aurlio Telles da Rocha Joo Paulo Cirino Silva de Novais Joo Vianney Barrozo Costa Jos Augusto Martins Nieviadonski Jos Leonardo Borges de Melo Jos Ricardo Carneiro Kleberth Bezerra G. dos Santos Lafaiete de S Guimares Leandro Silva de Morais Leonardo Leopoldo do Nascimento Leonardo Pereira dos Santos Leonardo Rangel de Melo Filardi Lucas Mauricio Castro e Martins Luciana Rocha de Oliveira Lus Carlos Andr Lus Octvio Jorge V. Lima Luiz Fernandes de Oliveira Junior Luiz Victor de Andrade Lima Manoel Cotts de Queiroz Marcello Sandi Pinheiro Marcelo Ortolan Pazzetto Marco Aurlio Martins Bessa Marcos Vinicius de Toledo Maria Carolina Ferreira da Silva Massimiliano Giroldi Mauricio Azevedo Gamarra Mauricio da Silva Marinho Mauro Cardoso Mortoni Mauro Regis de Sousa Lima Namor de S e Silva Nres Chaves Rebouas Nolyanne Peixoto Brasil Vieira Paulo Afonso Corra Paulo Jos Lemos Costa Paulo Oliveira Sampaio Reis Pedro Antonio Pereira Miranda Pedro Henrique Pereira de Andrade Renato Alves Flix Renato Barbosa da Silva Reyderson Magela dos Reis Ricardo Ferreira Rodrigues Ricardo Ulrich Bomfim Robson de Oliveira Cunha Rodrigo Pereira Machado Rodrigo Rosa Miranda Corra Rodrigo Vaez Ronie Dotzlaw Rosely Moreira de Jesus Seire Pareja Sergio Pomerancblum Silvio Sznifer Suzana da Costa Oliveira Tsio Vasconcelos da Silveira Thiago Magela Rodrigues Dias Tiago Gimenez Ribeiro Vanderlei Carvalho Rodrigues Pinto Vanessa dos Santos Almeida Vast Mendes da Silva Rocha Wagner Eliezer Roncoletta

Auxiliadores especiais
Reviso Geral do texto para os seguintes Pases:
Brasil Tiago Flach Guin Bissau Alfredo C, Bunene Sisse e Buon Olossato Quebi ONG Asas de Socorro

Coordenao do DFJUG
Daniel deOliveira JUGLeader responsvel pelos acordos de parcerias Luci Campos - Idealizadora do DFJUG responsvel pelo apoio social Fernando Anselmo - Coordenador responsvel pelo processo de traduo e reviso, disponibilizao dos materiais e insero de novos mdulos Regina Mariani - Coordenadora responsvel pela parte jurdica Rodrigo Nunes - Coordenador responsvel pela parte multimdia Srgio Gomes Veloso - Coordenador responsvel pelo ambiente JEDITM (Moodle)

Agradecimento Especial
John Paul Petines Criador da Iniciativa JEDITM Rommel Feria Criador da Iniciativa JEDITM

Introduo Programao I

JEDITM

1. Objetivos
Neste apndice, veremos apenas idias de projetos para que o estudante possa se aprofundar cada vez mais com Java. No existem solues nicas para cada projeto e cabe ao estudante implement-lo da maneira como melhor lhe agradar. Nota: VOC tem alguma idia interessante para um projeto? Envie-a para o email do Fernando Anselmo (fernando.anselmo@dfjug.org) e ajude a iniciativa JEDI a crescer. No assunto do email escreva: "Projeto para JEDI" e no corpo do email: Ttulo do Projeto: Descrio do Projeto: Nome completo do autor: Estes projetos devem ser idias originais e inditas. Colabore.

Introduo Programao I

JEDITM

2. Agenda Telefnica
Escrever um programa que cria uma agenda telefnica na qual seja possvel acrescentar, excluir, visualizar e pesquisar os registros. O usurio deve ter a possibilidade de visualizar todos registros por ordem alfabtica ou por ordem crescente de nmeros de telefone. Na pesquisa por registros, o usurio deve ter a opo de pesquisar por nome ou por nmero de telefone. Na pesquisa pelo nome, o usurio deve ter uma opo em que possa selecionar se a pesquisa ser efetuada com base no primeiro ou ltimo nome. MENU 1 2 3 PRINCIPAL Adicionar registro na agenda telefnica Excluir registro da agenda telefnica Visualizar todos os registros a ordem alfabtica b ordem numrica crescente de nmero de telefone 4 Pesquisa de registros a por nome b por nmero de telefone 5 Sair Esse um exemplo da aplicao rodando:
Adicionar registro na agenda telefnica Digite o Nome: Digite o nmero do Telefone: (* Se o registro j existir, avise o operador da existncia do registro) Visualizar todos os registros Mostra todos os registros em ordem alfabtica Mostra todos os registros em ordem crescente de nmero de telefone Pesquisa registros Pesquisa agenda telefnica por nome Pesquisa agenda telefnica pelo primeiro nome Pesquisa agenda telefnica pelo ltimo nome Pesquisa agenda telefnica por nmero do telefone Sair Fechar agenda telefnica 1 pelo primeiro nome 2 pelo ltimo nome

Introduo Programao I

JEDITM

3. Caa-Minas
Este jogo uma verso simplificada do popular jogo de computador Caa-minas (minesweeper). Inicialmente, questionado se o usurio quer jogar numa grade de 5x5 ou numa grade de 10x10. Voc tem 2 arrays bidimensionais que contm informaes sobre a grade selecionada. Um registro desse array pode conter 0 ou 1. O valor 1 significa que existe uma bomba nessa localizao e o valor 0 se no existir. Por exemplo, dado o seguinte array: int bombList5by5[][]={{0, {0, {0, {0, {0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0}, 0}, 0}, 1}, 0}};

Dada a lista de bombas, temos 6 bombas nessa lista. As bombas esto localizadas nas clulas (linha,coluna), (0,2), (2,1), (3,3), (3,4), (4,1) e (4,2). Se o usurio escolhe uma clula que contenha uma bomba, o jogo acaba e todas as bombas so mostradas. Se o usurio escolhe uma clula que no contenha uma bomba, um nmero mostrado naquela posio indicando a quantidade de clulas vizinhas que contm bombas. O jogo dever terminar quando todas as clulas que no contenham bombas tiverem sido marcadas (jogador vence) ou quando o usurio seleciona uma bomba (jogador perde). Segue um exemplo de tela do jogo quando selecionada uma grade 5x5 que tenha o mesmo contedo do array bombList5by5 acima.
Benvindo ao Caa-Minas! Escolha o tamanho da grade(Digite 1 para 5x5, [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] Digite linha e coluna da clula que voc quer [ ] [ ] [ ] [ ] [ ] [ ] [2] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] Digite linha e coluna da clula que voc quer [ ] [ ] [ ] [ ] [ ] [ ] [2] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [4] [ ] [ ] [ ] [ ] [ ] [ ] [ ] Digite linha e coluna da clula que voc quer [ ] [ ] [X] [ ] [ ] [ ] [2] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [ ] [4] [ ] [ ] [ ] [ ] [ ] [ ] [ ] Ooppps! Voc pisou numa bomba. Sinto muito, o Digite 2 para 10x10): 1

abrir[linha coluna]: 1

abrir[linha coluna]: 3

abrir[linha coluna]: 0

jogo acabou e voc perdeu!

Introduo Programao I

JEDITM

4. Converso Numrica
Criar uma calculadora cientfica que converta os nmeros digitados para as quatro representaes numricas: decimal, binrio, octal e hexadecimal. O projeto deve gerar o seguinte menu na tela. MENU PRINCIPAL: Por favor, selecione o tipo de converso: 1 Binrio para Decimal 2 Decimal para Octal 3 Octal para Hexadecimal 4 Hexadecimal para Binrio 5 Sair A seguinte tela deve ser mostrada quando uma das opes do menu for escolhida.
Seleo 1: Digite um nmero binrio: 11000 11000 base 2 = 24 base 10 (volta para o menu principal) Seleo 2: Digite um nmero Decimal: 24 24 base 10 = 30 base 8 (volta para o menu principal) Seleo 3: Digite um nmero Octal: 30 30 base 8 = 18 base 16 (volta para o menu principal) Seleo 4: Digite um nmero Hexadecimal: 18 18 base 16 = 11000 base 2 Seleo 1: Digite Nmero Digite 1 base (volta um nmero Binrio: 110A binrio invlido! um nmero binrio: 1 2 = 1 base 10 para o menu principal)

Usurio selecionou 5 Tchau!

possvel ser mais criativo com a interface do usurio, contanto que o programa gere devidamente as converses numricas.

Introduo Programao I

JEDITM

Parceiros que tornaram JEDITM possvel

Instituto CTS Patrocinador do DFJUG. Sun Microsystems Fornecimento de servidor de dados para o armazenamento dos vdeo-aulas. Java Research and Development Center da Universidade das Filipinas Criador da Iniciativa JEDITM. DFJUG Detentor dos direitos do JEDITM nos pases de lngua portuguesa. Banco do Brasil Disponibilizao de seus telecentros para abrigar e difundir a Iniciativa JEDITM. Politec Suporte e apoio financeiro e logstico a todo o processo. Borland Apoio internacional para que possamos alcanar os outros pases de lngua portuguesa. Instituto Gaudium/CNBB Fornecimento da sua infra-estrutura de hardware de seus servidores para que os milhares de alunos possam acessar o material do curso simultaneamente.

Introduo Programao I