CAPA PARA OS CABOS DA CABEÇA

Tamanho: px
Começar a partir da página:

Download "CAPA PARA OS CABOS DA CABEÇA"

Transcrição

1 CAPA PARA OS CABOS DA CABEÇA COMPONENTES Entre as peças entregues com este fascículo encontra-se uma espécie de tubo preto para reunir e proteger os cabos que saem da cabeça e vão ao tronco de O SEU ROBOT. Com este fascículo começam-se a reunir as peças que vão formar o comando à distância de O SEU ROBOT. Concretamente, entrega-se a primeira metade da caixa. Contudo, além desta última, também são fornecidos outros dois elementos. O primeiro é um tubo de fios entrançados que vai servir de capa protectora dos cabos que saem da cabeça do robot, passam pelo pescoço e ligam a placa do detector de som à câmara CMOS das placas internas do tronco. A última peça é uma tira de velcro que permitirá fixar a capa à volta dos cabos. As instruções fornecidas seguidamente mostram como se deve colocar a tira protectora. BRAÇOS E MÃO, A tira de velcro pode utilizar-se para unir os fios que vão da cabeça ao tronco (imagem inferior) e, assim, protegê-los Primeira metade da caixa do comando à distância 2. Tira protectora 3. Tira de velcro para prender A CAPA 1Antes de se colocar a capa protectora dos fios retira-se o suporte passa-cabos em forma de U que está no orifício da abertura da cabeça (à direita). MONTAGEM 1339

2 84-paso a paso (1) 9/22/08 9:18 AM Page 12 PASSO A PASSO A CAPA (CONTINUAÇÃO) MONTAGEM Agora pega-se na capa e começa-se a envolver com ela os cabos da cabeça. Começa-se pela parte inferior atrás do pescoço e prossegue-se para a cabeça do robot (imagem da esquerda). 2 Agora há que manter os cabos dentro e continuar a colocar a capa. Também se envolve a parte dos cabos que está mais perto do orifício da abertura da cabeça (imagem inferior). 3 Mantém-se a capa fechada à volta dos fios na parte inferior, perto do tronco, e insere-se no orifício que está na abertura da cabeça, de maneira a ficar a envolver os cabos (imagem inferior). 4 Conclui-se a fixação da capa protectora fechando pela sua parte inferior com a tira de velcro, que também é entregue com este fascículo. Aperta-se bem, de maneira a manter bem presa a capa que envolve os cabos (imagem da direita)

3 UN UM DETECTOR DE SONS EN EM JAVA Nestas páginas mostra-se um novo exemplo de código Java para O SEU ROBOT. Desta vez trata-se de um display gráfico que permite visualizar a direcção de procedência de sons secos que o robot capta graças ao detector de som. Em fascículos anteriores foram apresentados diferentes exemplos de código Java de programas de interacção com O SEU ROBOT. Até agora foram mostrados vários controladores com o seu interface gráfico, que permitem gerir o funcionamento de alguns sistemas do robot que actuam sobre os objectos mostrados em vídeo a partir do PC. Com o exemplo descrito nestas páginas cria-se um interface gráfico que, neste caso, não corresponde a um controlador mas sim a um monitor. Esta aplicação poderá monitorizar a direcção de procedência dos sons secos percebidos pelo robot. Este consegue captar esses «ruídos» mesmo quando o comportamento «Seguir som» (que faz com que o robot se vire na direcção de procedência desse som) não está activo. O display que se verá no ecrã do PC mostrará o resultado dos processamentos realizados constantemente pela placa detector de som quando o robot «ouve» sons como palmas ou estalar de dedos. Tal como acontecia nos exemplos anteriores, também neste caso o programa está formado por duas classes, DisplayPanel e SoundDirection, que se armazenam respectivamente nos arquivos DisplayPanel.java e SoundDirection.java. Em cima, um screenshot do promt das ordens que mostra o início da execução do programa SoundDirection, com indicação da porta de série virtual de ligação entre o PC e O SEU ROBOT, neste caso COM3. Mais em cima, à direita, o painel que se vê no monitor. Os círculos (em repouso e cor verde) indicam as seis possíveis direcções que o robot identifica como procedência dos sons secos percebidos. Para a compilação e a execução há que ter em conta as considerações que já foram tecidas em ocasiões anteriores. A CLASSE DISPLAY PANEL A primeira classe, DisplayPanel, gere as mudanças que se produzem no display gráfico. Na prática, esta classe descreve as acções que é preciso levar a cabo quando se detecta uma determinada direcção de procedência do som. Comparado com o das classes de controlo que desenvolvemos em fascículos anteriores, o código da classe DisplayPanel é bastante simples. Como de costume, começa com as declarações package e import. Estas últimas dizem respeito a algumas classes de suporte Java para elementos gráficos. Aquilo que DisplayPanel faz é «estender» uma classe Java previamente elaborada, JPanel, que modela os painéis gráficos standard. Isto significa que um objecto DisplayPanel conta com todos os métodos e atributos da classe standard JPanel mais aqueles que são definidos definidos dentro do código da mesma classe DisplayPanel. O único atributo «específico» desta última é um número inteiro, chamado sensor, que assume um valor total entre 0 e 6, consoante a direcção de procedência do som (a atribuição realiza-se com um método da classe PROGRAMAÇÃO 1341

4 Em cima, as diferentes configurações possíveis do painel, baseando-se na direcção dos sons percebidos em relação à cabeça do robot. No sentido dos ponteiros do relógio, a começar em cima, à esquerda: o som percebido posteriormente, o som percebido lateralmente à esquerda, o som percebido de frente à esquerda, o som percebido de frente, o som percebido de frente à direita, o som percebido lateralmente à direita. SoundDirection). Baseando-se no valor de sensor, modifica os círculos do display mostrado em vídeo, dando a um deles uma cor vermelha, que indicará a direcção detectada. Em concreto, o método paintcomponent é formado basicamente por um bloco switch, que discrimina o valor assumido por sensor e chama às acções mais correctas, mostrando círculos da cor oportuna. O segundo, e último, método introduzido no código da classe DisplayPanel (draw) proporciona o suporte necessário para o correcto funcionamento do programa, «copiando» o valor de sensor e deixando o método repaint pré-definido na classe JPanel. A CLASSE SOUNDDIRECTION Se DisplayPanel gere as modificações na cor dos círculos dentro do painel gráfico, SoundDirection ocupa-se do controlo geral do programa e da leitura dos correspondentes registos de O SEU ROBOT dos sons percebidos. Depois da declaração de pacote, o código SoundDirection mostra as importações necessárias. Trata-se das classes de suporte para O SEU ROBOT relacionadas com a comunicação no PC e com a leitura de registos da placa detector de som, além de com outras classes específicas de suporte Java, que incluem algumas das que servem para a gestão do interface gráfico e dos eventos que se geram no seu interior. Tal como no caso de DisplayPanel, SoundDirection também estende uma classe standard, JFrame, que modela um frame genérico. No «jargão» Java, quando se fala de um frame faz-se referência a uma janela que se mostra em vídeo (que neste exemplo se trata da janela na qual se mostra o display de monitorização da direcção dos sons). Os atributos específicos da classe SoundDirection compreendem os «habituais» portname, protocol e internal, correspondentes à comunicação entre robot e PC. A estes três juntam-se displaypanel (objecto da classe homónima), t (de tipo Thread) e um atributo verdadeiro/falso, de nome active. Estes dois últimos atributos têm uma grande importância no funcionamento do programa porque permitem ao display monitorizar de maneira constante o estado dos registos de direcção do som. O primeiro dos métodos mostrados no código da classe SoundDirection é o método principal. Como de costume, este verifica a presença de um parâmetro que indique a porta de ligação que se vai utilizar e, a seguir, lança a execução do construtor SoundDirection, que se ocupa de gerir o encerramento da janela do programa (com o consequente desligar do robot e a finalização do próprio programa). Depois disso cria uma instância de DisplayPanel, mostrando finalmente o display em vídeo com todos os círculos de cor verde (displaypanel.draw, com um parâmetro equivalente a 0). Uma vez lançada a ligação, o método construtor SoundDirection cria o atributo t de tipo Thread, associando-o a um novo objecto pertencente à nova classe RefreshDisplay. Esta última define-se no interior de SoundDirection e implementa o interface Java standard de nome Runnable. Esta classe permite gerir um determinado tipo de objectos Java, dos quais fazem parte os fios, ou seja, «processos» que continuam a executar-se paralelamente aos outros programas. Uma vez lançado um fio, este executa-se até que se lhe indica que deve parar. Regressando à miniclasse RefreshDisplay, esta descreve o método run, característico de cada classe que implementa Runnable e que especifica as operações que se têm que executar no «processo paralelo». No nosso caso, quando está activo (ciclo while com variável de controlo active), o fio tem que ler os registos do detector de sons, memorizar em sensor a direcção medida, chamar o método draw de DisplayPanel e esperar dez milissegundos 1342

5 UM DETECTOR DE SONS EM JAVA antes de repetir tudo (Thread.sleep com parâmetro equivalente a 10). Desta maneira, enquanto o programa «principal» controla o display mostrado por vídeo (caso o utilizado feche a janela correspondente, interrompe tudo), o fio continua a controlar os registos do detector, verificando se um som é detectado e a direcção de procedência. Finalmente, o código da classe fecha-se com os habituais métodos ligar e desligar. EXEMPLOS DE PROGRAMAÇÃO Exemplo de código Java para a implementação de uma classe de gestão para um painel gráfico que monitorize a direcção dos sons secos percebidos por O SEU ROBOT graças à placa detector de sons. Concretamente, a classe mostrada, que amplia JPanel, ocupa-se de mostrar em vídeo alguns círculos de cor segundo o valor do atributo numérico do sensor. CLASSE DISPLAYPANEL package communication.examples; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class DisplayPanel extends JPanel { private int sensor = 0; public void paintcomponent(graphics g) { super.paintcomponent(g); switch(sensor) { case 0: { case 1: { case 2: { case 3: { case 4: { case 5: { case 6: { // switch // paintcomponent public void draw(int sensor) { // draw this.sensor = sensor; repaint(); // class DisplayPanel 1343

6 EXEMPLOS DE PROGRAMAÇÃO Exemplo de código Java para a implementação de uma classe de controlo dos registos correspondentes à direcção de procedência dos sons secos percebidos por O SEU ROBOT. A classe, que amplia JFrame, contém o método principal do programa (main). Dentro da classe também fica definida uma miniclasse (RefreshDisplay) que implementa Runnable. Esta miniclasse define a execução do atributo t de tipo Thread. Este ocupa-se de interrogar os registos correspondentes à direcção de procedência dos sons e de invocar o método draw da classe DisplayPanel. CLASSE SOUNDDIRECTION package communication.examples; import communication.handler.protocolhandler; import communication.handler.internal.internalhandler; import communication.transport.connectionprovider; import communication.handler.internal.internalmodule; import communication.handler.internal.headdata; import communication.handler.internal.headregister; import java.io.ioexception; import javax.swing.*; import java.awt.*; import java.awt.event.*; public class SoundDirection extends JFrame { private static String portname; private ProtocolHandler protocol; private InternalHandler internal; DisplayPanel displaypanel; Thread t; boolean active = false; public static void main(string[] args) { if (args.length < 1) { System.err.println(«Especifica a porta que tem que se utilizar para a ligação (ex: COM5)»); return; portname = args[0]; SoundDirection gui = new SoundDirection(); public SoundDirection () { super(«sounddirection»); addwindowlistener( new WindowAdapter() { public void windowclosing(windowevent e) { active = false; desligar(); System.exit(0); ); setbounds(0,0,350,250); displaypanel = new DisplayPanel(); displaypanel.draw(0); getcontentpane().add(displaypanel); if (!ligar()) System.exit(0); t = new Thread(new RefreshDisplay()); active = true; t.start(); setvisible(true); // class constructor private class RefreshDisplay implements Runnable { int[] buf = new int[1]; int sensor = 0; public void run() { while(active) { try { internal.readregister(internalmodule.head, HeadRegister.SOUND_AND_TOUCH, buf); sensor = buf[0] >> 1; displaypanel.draw(sensor); Thread.sleep(10); catch (Exception e) { e.printstacktrace(); // class RefreshDisplay(); private boolean ligar() { ConnectionProvider provider = new SerialJavaxCommProvider(portName,9600); protocol = new ProtocolHandler(provider, 9600); internal = new InternalHandler(); protocol.addcapabilityhandler(internal); System.out.println(«Ligando...»); try { if (!protocol.connect()) { System.err.println(«impossível ligar!»); return false; if (!protocol.setup(5000)) { System.err.println(«Falhou o estabelecimento da ligação!»); protocol.disconnect(true); return false; catch (Exception e) { e.printstacktrace(); return false; System.out.println(«Cliente ligado»); return true; // ligar private void desconectar() { System.out.println(«Desligando...»); try { protocol.disconnect(false); catch (Exception e) { e.printstacktrace(); return; System.out.println(«Cliente desligado»); // desligar // class SoundDirection 1344

A TAMPA DO COMANDO À DISTÂNCIA

A TAMPA DO COMANDO À DISTÂNCIA PASSO A PASSO A TAMPA DO COMANDO À DISTÂNCIA COMPONENTES 1. 2. Com este fascículo também são entregues algumas das peças necessárias para completar o comando à distância universal. Neste caso são dois

Leia mais

A BANDEJA PORTA-OBJECTOS

A BANDEJA PORTA-OBJECTOS A BANDEJA PORTA-OBJECTOS BRAÇOS E MÃO, 4 COMPONENTES A primeira ferramenta da mão do robot é a bandeja porta-objectos, que se pode colocar nas articulações superiores de O SEU ROBOT. Afase actual de montagem

Leia mais

A PLACA DO COMANDO À DISTÂNCIA

A PLACA DO COMANDO À DISTÂNCIA A PLACA DO COMANDO À DISTÂNCIA COMPONENTES 1. A peça entregue com este último fascículo da colecção é uma placa electrónica muito importante porque permite controlar o comando à distância universal de

Leia mais

Java : Comunicação Cliente-Servidor.

Java : Comunicação Cliente-Servidor. Java : Comunicação Cliente-Servidor. Objetivo: Capacitar o aluno a desenvolver uma aplicação servidora para múltiplos clientes. Apresentar as classes Socket e ServerSocket, classes de fluxo de dados, a

Leia mais

Programação Gráfica em Java.

Programação Gráfica em Java. Programação Gráfica em Java. Objetivo: Ao final da aula o aluno deverá ser capaz de desenvolver a aplicação gráfica ilustrada ao lado. A interface gráfica será simples, composta por elementos de menus.

Leia mais

Programação Concorrente em java - Exercícios Práticos Abril 2004

Programação Concorrente em java - Exercícios Práticos Abril 2004 Programação Concorrente em java - Exercícios Práticos Abril 2004 1. Introdução As threads correspondem a linhas de controlo independentes no âmbito de um mesmo processo. No caso da linguagem JAVA, é precisamente

Leia mais

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br

Java. Marcio de Carvalho Victorino www.dominandoti.eng.br Java Marcio de Carvalho Victorino www.dominandoti.eng.br 3. Considere as instruções Java abaixo: int cont1 = 3; int cont2 = 2; int cont3 = 1; cont1 += cont3++; cont1 -= --cont2; cont3 = cont2++; Após a

Leia mais

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans.

Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. 1 - Criando uma classe em Java Para desenvolver a atividade a atividade desta aula utilizaremos o ambiente de desenvolvimento integrado NetBeans. Antes de criarmos a(s) classe(s) é necessário criar o projeto

Leia mais

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar

Analisar os sistemas operacionais apresentados na figura e responder as questões abaixo: Identificar Projeto Integrador Sistemas Operacionais Prof.ª Lucilia Ribeiro GTI 3 Noturno Grupo: Anderson Alves da Mota. André Luiz Silva. Misael bezerra dos santos. Sandro de almeida silva. Analisar os sistemas operacionais

Leia mais

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações

Multithreading. Programação Orientada por Objectos com Java. Ademar Aguiar. MRSC - Programação em Comunicações Programação Orientada por Objectos com Java www.fe.up.pt/~aaguiar [email protected] 1 Multithreading 154 Objectivos Ser capaz de: Explicar os conceitos básicos de multithreading Criar threads múltiplos

Leia mais

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this. Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.x = x; this.y = y; public String tostring(){ return "(" + x + "," +

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel As 52 Palavras Reservadas O que são palavras reservadas São palavras que já existem na linguagem Java, e tem sua função já definida. NÃO podem

Leia mais

Universidade da Beira Interior. Sistemas Distribuídos

Universidade da Beira Interior. Sistemas Distribuídos Folha 6-1 Sincronização de Threads A sincronização de Threads em Java é baseada no conceito do Monitor (de Hoare). Cada objecto Java tem associado um monitor (ou lock ) que pode ser activado se a palavra

Leia mais

Técnicas de Programação II

Técnicas de Programação II Técnicas de Programação II Aula 06 Orientação a Objetos e Classes Edirlei Soares de Lima Orientação a Objetos O ser humano se relaciona com o mundo através do conceito de objetos.

Leia mais

Java 2 Standard Edition Como criar classes e objetos

Java 2 Standard Edition Como criar classes e objetos Java 2 Standard Edition Como criar classes e objetos Helder da Rocha www.argonavis.com.br 1 Assuntos abordados Este módulo explora detalhes da construção de classes e objetos Construtores Implicações da

Leia mais

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

Curso Adonai QUESTÕES Disciplina Linguagem JAVA 1) Qual será o valor da string c, caso o programa rode com a seguinte linha de comando? > java Teste um dois tres public class Teste { public static void main(string[] args) { String a = args[0]; String

Leia mais

THREADS EM JAVA. George Gomes Cabral

THREADS EM JAVA. George Gomes Cabral THREADS EM JAVA George Gomes Cabral THREADS Fluxo seqüencial de controle dentro de um processo. Suporte a múltiplas linhas de execução permite que múltiplos processamentos ocorram em "paralelo" (em computadores

Leia mais

Aula 30 - Sockets em Java

Aula 30 - Sockets em Java Aula 30 - Sockets em Java Sockets Sockets são estruturas que permitem que funções de software se interconectem. O conceito é o mesmo de um soquete (elétrico, telefônico, etc...), que serve para interconectar

Leia mais

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation

JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation JAVA APLICAÇÕES GRÁFICAS Propriedade Utilizada: FontSizeAnimation FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Paulo Renato S. Veiga Identificação da Turma: 205 Noite Data: 16/05/10 1 Nome da Propriedade

Leia mais

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática

Sistemas Paralelos e Distribuídos - 2003/2004 Curso: Matemática /Informática Sistemas Distribuídos - 2003/2004 Curso: Ensino da Informática Java RMI - Remote Method Invocation Folha 5-1 No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

Is Event Dispatcher Threade (Animation)

Is Event Dispatcher Threade (Animation) JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Is Event Dispatcher Threade (Animation) FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: João Vitor Ávila dos Santos Identificação da Turma: 3º Semestre/

Leia mais

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp

Java Básico. Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Java Básico Classes Abstratas, Exceções e Interfaces Prof. Fernando Vanini Ic-Unicamp Classes Abstratas construção de uma classe abstrata construção de classes derivadas Classes e Herança Uma classe define

Leia mais

Programação Orientada a Objetos em Java. Threads Threads Threads. Threads

Programação Orientada a Objetos em Java. Threads Threads Threads. Threads Universidade Federal do Amazonas Departamento de Ciência da Computação IEC481 Projeto de Programas Programação Orientada a Objetos em Java Threads Threads Threads Threads Professor: César Melo Slides baseados

Leia mais

Tratamento de Eventos

Tratamento de Eventos Tratamento de Eventos Prof. Marcelo Cohen 1. Visão Geral Para implementar a funcionalidade de uma interface gráfica, pode-se fazer uso de uma repetição sem fim: Faz algum processamento Verifica se o mouse

Leia mais

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.

8 Classes Internas. Desenvolvimento OO com Java. Vítor E. Silva Souza (vitorsouza@inf.ufes.br) http://www.inf.ufes. Desenvolvimento OO com Java 8 Classes Internas Vítor E. Silva Souza ([email protected]) http://www.inf.ufes.br/ ~ vitorsouza Departamento de Informática Centro Tecnológico Universidade Federal do

Leia mais

Introdução a Java. Hélder Nunes

Introdução a Java. Hélder Nunes Introdução a Java Hélder Nunes 2 Exercício de Fixação Os 4 elementos básicos da OO são os objetos, as classes, os atributos e os métodos. A orientação a objetos consiste em considerar os sistemas computacionais

Leia mais

Threads e Concorrência em Java (Material de Apoio)

Threads e Concorrência em Java (Material de Apoio) Introdução Threads e Concorrência em Java (Material de Apoio) Professor Lau Cheuk Lung http//www.inf.ufsc.br/~lau.lung INE-CTC-UFSC A maioria dos programas são escritos de modo seqüencial com um ponto

Leia mais

CURSO DE PROGRAMAÇÃO EM JAVA

CURSO DE PROGRAMAÇÃO EM JAVA CURSO DE PROGRAMAÇÃO EM JAVA Introdução para Iniciantes Prof. M.Sc. Daniel Calife Índice 1 - A programação e a Linguagem Java. 1.1 1.2 1.3 1.4 Linguagens de Programação Java JDK IDE 2 - Criando o primeiro

Leia mais

Threads e Sockets em Java. Threads em Java. Programas e Processos

Threads e Sockets em Java. Threads em Java. Programas e Processos Threads em Java Programas e Processos Um programa é um conceito estático, isto é, um programa é um arquivo em disco que contém um código executável por uma CPU. Quando este programa é executado dizemos

Leia mais

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares

Especialização em desenvolvimento para web com interfaces ricas. Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Especialização em desenvolvimento para web com interfaces ricas Tratamento de exceções em Java Prof. Fabrízzio A. A. M. N. Soares Objetivos Conceito de exceções Tratar exceções pelo uso de try, catch e

Leia mais

Prototype, um Design Patterns de Criação

Prototype, um Design Patterns de Criação Prototype, um Design Patterns de Criação José Anízio Pantoja Maia Este artigo tem como finalidade compreender o funcionamento do padrão de projeto prototype, serão abordados os participantes que compõe

Leia mais

Num sistema de objectos distribuídos, dois conceitos são fundamentais.

Num sistema de objectos distribuídos, dois conceitos são fundamentais. Folha 10-1 Java RMI - Remote Method Invocation No modelo de programação orientada a objectos, vimos que um programa consiste numa colecção de objectos que comunicam entre si através da invocação dos seus

Leia mais

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos.

public Agenda() { compromissos = null; } public int getnumerodecompromissos() { if (compromissos==null) return 0; else return compromissos. import java.util.scanner; class Data... class Compromisso... public class Agenda private Compromisso[] compromissos; private Compromisso[] realoquecompromissos (Compromisso[] vetor, int tamanhodesejado)

Leia mais

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes

Programação Orientada a Objetos e Java - Introdução. Carlos Lopes Programação Orientada a Objetos e Java - Introdução Carlos Lopes POO e Java Objetivo: proporcionar uma visão dos conceitos de POO e do seu uso na estruturação dos programas em Java. Classes e objetos em

Leia mais

Natureza do Software e dos Sistemas

Natureza do Software e dos Sistemas Natureza do Software e dos Sistemas Jorge H C Fernandes Diferença Fundamental entre Engenharia de Software e outras Engenharias! Os materiais são diferentes As teorias fundamentais são diferentes Dificuldades

Leia mais

Guia de Fatores de Qualidade de OO e Java

Guia de Fatores de Qualidade de OO e Java Qualiti Software Processes Guia de Fatores de Qualidade de OO e Java Versã o 1.0 Este documento só pode ser utilizado para fins educacionais, no Centro de Informática da Universidade Federal de Pernambuco.

Leia mais

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. [email protected]

PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br PROGRAMAÇÃO ORIENTADA A OBJETOS -TRATAMENTO DE EXCEÇÕES Prof. Angelo Augusto Frozza, M.Sc. [email protected] ROTEIRO 5. Tratamento de Exceções Introdução e conceitos Capturando exceção usando

Leia mais

3 Classes e instanciação de objectos (em Java)

3 Classes e instanciação de objectos (em Java) 3 Classes e instanciação de objectos (em Java) Suponhamos que queremos criar uma classe que especifique a estrutura e o comportamento de objectos do tipo Contador. As instâncias da classe Contador devem

Leia mais

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs

Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs Interfaces Gráficas e Eventos - 1 Objectivos:. Construir programas com interfaces gráficas Graphical User Interface (GUI) application programs - Utilizar as classes JFrame, JButton, JLabel, ImageIcon,

Leia mais

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery Linguagem de Programação JAVA Técnico em Informática Professora Michelle Nery Agenda Regras paravariáveis Identificadores Válidos Convenção de Nomenclatura Palavras-chaves em Java Tipos de Variáveis em

Leia mais

Exercícios de Revisão Java Básico

Exercícios de Revisão Java Básico Exercícios de Revisão Java Básico (i) Programação básica (estruturada) 1) Faça um programa para calcular o valor das seguintes expressões: S 1 = 1 1 3 2 5 3 7 99... 4 50 S 2 = 21 50 22 49 23 48...250 1

Leia mais

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame

Exemplo 1. Um programa que cria uma instância de uma classe que herda da classe Frame 6. Como aplicações gráficas funcionam em Java? Todas as aplicações gráficas em Java usam instâncias de classes existentes, que por serem parte da linguagem podem ser executadas em todas as versões de Java

Leia mais

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua.

Para criar uma animação precisamos de uma imagem e que ela contenha alguns frames. O número de frames é uma escolha sua. 7 Animação Animações é um dos quesitos muito importantes em jogos, você não acha? Para isso o JPlay tem uma classe específica para lidar com animações. Essa classe se chama Animation. Bem sugestivo o nome

Leia mais

Unidade IV: Ponteiros, Referências e Arrays

Unidade IV: Ponteiros, Referências e Arrays Programação com OO Acesso em Java a BD Curso: Técnico em Informática Campus: Ipanguaçu José Maria Monteiro Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento Clayton Maciel de Informática

Leia mais

POO Programação Orientada a Objetos. Classes em Java

POO Programação Orientada a Objetos. Classes em Java + POO Programação Orientada a Objetos Classes em Java + Classes 2 Para que a JVM crie objetos: Ela precisa saber qual classe o objeto pertence Na classe estão definidos os atributos e métodos Programamos

Leia mais

Orientação a Objetos

Orientação a Objetos 1. Domínio e Aplicação Orientação a Objetos Um domínio é composto pelas entidades, informações e processos relacionados a um determinado contexto. Uma aplicação pode ser desenvolvida para automatizar ou

Leia mais

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread.

Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5 THREADS Como foi exposto anteriormente, os processos podem ter mais de um fluxo de execução. Cada fluxo de execução é chamado de thread. 5.1 VISÃO GERAL Uma definição mais abrangente para threads é considerá-lo

Leia mais

Noções sobre Objetos e Classes

Noções sobre Objetos e Classes Noções sobre Objetos e Classes Prof. Marcelo Cohen 1. Elementos de programação Revisão de programação variáveis, tipos de dados expressões e operadores cadeias de caracteres escopo de variáveis Revisão

Leia mais

Java Threads. Introdução

Java Threads. Introdução Java Threads [email protected] 1 Introdução O único mecanismo de concorrência suportado explicitamente pela linguagem Java é multi-threading. threading. Os mecanismos de gerenciamento e sicronização

Leia mais

15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido

15-09-2009. Membros de classe e de instância. PARTE III: Java e OO - detalhes. Exemplo 1: método. Exercício. Exemplo 1 corrigido PARTE III: Java e OO - detalhes Membros de classe e instâncias Pacotes Visibilidade Classes aninhadas Membros de classe e de instância De classe Static Método não necessita de objeto para ser chamado.

Leia mais

Programação Orientada a Objetos em Java

Programação Orientada a Objetos em Java Programação Orientada a Objetos em Java Rone Ilídio da Silva Universidade Federal de São João del-rei Campus Alto Paraopeba 1:14 1 Objetivo Apresentar os principais conceitos de Programção Orientada a

Leia mais

insfcanceof new public switch transient while byte continue extends for int null

insfcanceof new public switch transient while byte continue extends for int null Palavras -chave de JAV A abstract catch do final implements long private static throw void boolean char double finally import native protected super throws volatile break class float insfcanceof new public

Leia mais

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo.

O programa abaixo exemplifica o uso da classe Image para carregar e mostrar uma imagem localizada em um arquivo. 7. Carregando e mostrando imagens locais Esta aula complementa os estudos de programação de interfaces gráficas em Java mostrando como podemos carregar imagens de arquivos locais ou da Internet para uso

Leia mais

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática Folha 1-1 Introdução à Linguagem de Programação JAVA 1 Usando o editor do ambiente de desenvolvimento JBUILDER pretende-se construir e executar o programa abaixo. class Primeiro { public static void main(string[]

Leia mais

(Aula 17) Threads em Java

(Aula 17) Threads em Java (Aula 17) Threads em Java Difícil As Threads thread threads de emjava classificar sãogerenciadaspelajvm. podemser com user criadasdas thread ou kernel Profa. Patrícia A seguintesmaneiras: Fazendo extend

Leia mais

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação

A Introdução à Programação Orientada a Objetos. Programação e Sistemas de Informação A Introdução à Programação Orientada a Objetos Programação e Sistemas de Informação Objectos (1) Objectos são coisas que temos no mundo real e abstraímos no mundo virtual para que possamos manipulá-los

Leia mais

Keeper of Knowledge. Capítulo 2 Classes em Java

Keeper of Knowledge. Capítulo 2 Classes em Java Capítulo 2 Classes em Java INTRODUÇÃO Uma classe é um conjunto de software que representa uma realidade qualquer, que pode ser representada por números e símbolos. Uma classe possui dados de um ou mais

Leia mais

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Resize Shape Basic Shape FACULDADE DE TECNOLOGIA SENAC PELOTAS

JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Resize Shape Basic Shape FACULDADE DE TECNOLOGIA SENAC PELOTAS JAVA APLICAÇÕES GRÁFICAS Propriedades Utilizadas: Resize Shape Basic Shape FACULDADE DE TECNOLOGIA SENAC PELOTAS Nome do aluno: Marri Souza da Luz Identificação da Turma: 3º ADS - Noite Data: 13/05/2010

Leia mais

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos)

Prova de Java. 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) Prova de Java 1) Copie o programa abaixo no eclipse e complete-o, utilizando os conceitos aprendidos durante o curso. (4 pontos) O programa consiste em uma aplicação que simula o comportamento de dois

Leia mais

2 Orientação a objetos na prática

2 Orientação a objetos na prática 2 Orientação a objetos na prática Aula 04 Sumário Capítulo 1 Introdução e conceitos básicos 1.4 Orientação a Objetos 1.4.1 Classe 1.4.2 Objetos 1.4.3 Métodos e atributos 1.4.4 Encapsulamento 1.4.5 Métodos

Leia mais

Sistemas Distribuídos

Sistemas Distribuídos Sistemas Distribuídos Marcelo Lobosco DCC/UFJF Comunicação em Sistemas Distribuídos Aula 06 Agenda Modelo Cliente-Servidor (cont.) Invocação Remota de Método (Remote Method Invocation RMI) Visão Geral

Leia mais

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente

A ) O cliente terá que implementar uma interface remota. . Definir a interface remota com os métodos que poderão ser acedidos remotamente Java RMI - Remote Method Invocation Callbacks Folha 9-1 Vimos, na folha prática anterior, um exemplo muito simples de uma aplicação cliente/ servidor em que o cliente acede à referência remota de um objecto

Leia mais

Interfaces Gráficas: Interações Complexas

Interfaces Gráficas: Interações Complexas Interfaces Gráficas: 21 Interações Complexas 21.5 O contexto gráfico Os componentes de uma interface gráfica são desenhados na tela do computador a partir de primitivas que permitem a construção de linhas,

Leia mais

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução Chamadas Remotas de Chamada Remota de Procedimento (RPC) ou Chamada de Função ou Chamada de Subrotina Método de transferência de controle de parte de um processo para outra parte Procedimentos => permite

Leia mais

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this.

Aula 2. Objetivos. Encapsulamento na linguagem Java; Utilizando a referência this. Aula 2 Objetivos Encapsulamento na linguagem Java; Utilizando a referência this. Encapsulamento, data hiding é um conceito bastante importante em orientação a objetos. É utilizado para restringir o acesso

Leia mais

SAMUO APP: MANUAL DO ADMINISTRADOR

SAMUO APP: MANUAL DO ADMINISTRADOR as novas tecnologias ao serviço do desenvolvimento de projectos w w w. i m a d i p. c o m CABO VERDE: REALIZAÇÃO DE UMA ACÇÃO- PILOTO PARA A MELHORIA DA GESTÃO NUM GABINETE TÉCNICO SELECCIONADO OFITEC

Leia mais

Leitor MaxProx-Lista-PC

Leitor MaxProx-Lista-PC Leitor MaxProx-Lista-PC O leitor de cartões de proximidade MaxProx-Lista-PC é destinado aos Integradores de Controle de Acesso. Ele foi especialmente projetado para controle de acesso, para ser usado Stand

Leia mais

Programação Concorrente em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM

Programação Concorrente em Java. Profa Andréa Schwertner Charão DLSC/CT/UFSM Programação Concorrente em Java Profa Andréa Schwertner Charão DLSC/CT/UFSM O que é programação concorrente? Um programa, múltiplos fluxos de execução Quando usar programação concorrente? Desempenho Ex.:

Leia mais

A Linguagem Java. Alberto Costa Neto DComp - UFS

A Linguagem Java. Alberto Costa Neto DComp - UFS A Linguagem Java Alberto Costa Neto DComp - UFS 1 Roteiro Comentários Variáveis Tipos Primitivos de Dados Casting Comandos de Entrada e Saída Operadores Constantes 2 Comentários /** Classe para impressão

Leia mais

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc. Sintaxe Geral Tipos de Dados Comentários Comentários: De linha: // comentário 1 // comentário 2 De bloco: /* linha 1 linha 2 linha n */ De documentação: /** linha1 * linha2 */ Programa Exemplo: ExemploComentario.java

Leia mais

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA

ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA P. Fazendeiro & P. Prata POO FP1/1 ESQUEMA AULA PRÁTICA 1 Familiarização com o Ambiente de Desenvolvimento Eclipse Introdução à Linguagem de Programação JAVA 0 Inicie o ambiente de desenvolvimento integrado

Leia mais

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões Professor: Max Pereira http://paginas.unisul.br/max.pereira Ciência da Computação Primeiro Programa em Java public class OlaPessoal

Leia mais

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS João Gabriel Ganem Barbosa Sumário Motivação História Linha do Tempo Divisão Conceitos Paradigmas Geração Tipos de Dados Operadores Estruturada vs

Leia mais

Módulo 07 Características Avançadas de Classes

Módulo 07 Características Avançadas de Classes Módulo 07 Características Avançadas de Classes Última Atualização: 15/06/2010 1 Objetivos Descrever variáveis, métodos e iniciadores static Descrever a semântica do modificador final em classes, métodos

Leia mais

SISTEMAS DISTRIBUÍDOS

SISTEMAS DISTRIBUÍDOS SISTEMAS DISTRIBUÍDOS CUP Disk Memoey CUP Memoey Disk Network CUP Memoey Disk Remote Method Invocation (RMI) Introdução Solução JAVA para Objetos Distribuídos Um objeto existe em uma máquina É possível

Leia mais

Programação de Computadores - I. Profª Beatriz Profº Israel

Programação de Computadores - I. Profª Beatriz Profº Israel Programação de Computadores - I Profª Beatriz Profº Israel Ambiente de Desenvolvimento Orientação a Objetos É uma técnica de desenvolvimento de softwares que consiste em representar os elementos do mundo

Leia mais

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código }

Comandos de repetição For (inicialização; condição de execução; incremento/decremento) { //Código } Este documento tem o objetivo de demonstrar os comandos e sintaxes básicas da linguagem Java. 1. Alguns passos para criar programas em Java As primeiras coisas que devem ser abordadas para começar a desenvolver

Leia mais

Como construir um compilador utilizando ferramentas Java

Como construir um compilador utilizando ferramentas Java Como construir um compilador utilizando ferramentas Java p. 1/3 Como construir um compilador utilizando ferramentas Java Aula 5 Análise Léxica com JavaCC Prof. Márcio Delamaro [email protected] Como

Leia mais

Linguagem de Programação III

Linguagem de Programação III Linguagem de Programação III Aula-3 Criando Classes em Java Prof. Esbel Tomás Valero Orellana Da Aula Anterior Classes em Java, sintaxe básica Tipos básicos de dados em Java, como escolher o tipo apropriado

Leia mais

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01

Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Unidade Acadêmica: Faculdade de Computação FACOM Disciplina: Programação Orientada a Objetos I Professor: Fabiano Azevedo Dorça Prática 01 Objetivos: Modelar um sistema orientado a objetos simples a partir

Leia mais

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve - 981648-9 Laboratório de Computação VI JAVA IDL Fabricio Aparecido Breve - 981648-9 O que é Java IDL? Java IDL é uma tecnologia para objetos distribuídos, ou seja, objetos em diferentes plataformas interagindo através

Leia mais

Um pouco do Java. Prof. Eduardo

Um pouco do Java. Prof. Eduardo Um pouco do Java Prof. Eduardo Introdução A tecnologia JAVA é composta pela linguagem de programação JAVA e pela plataforma de desenvolvimento JAVA. Os programas são escritos em arquivos-texto com a extensão.java.

Leia mais

GeoMafra Portal Geográfico

GeoMafra Portal Geográfico GeoMafra Portal Geográfico Nova versão do site GeoMafra Toda a informação municipal... à distância de um clique! O projecto GeoMafra constitui uma ferramenta de trabalho que visa melhorar e homogeneizar

Leia mais

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos

Display de 7. PdP. Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006. Pesquisa e Desenvolvimento de Produtos TUTORIAL Display de 7 Segmentos Autor: Tiago Lone Nível: Básico Criação: 16/12/2005 Última versão: 18/12/2006 PdP Pesquisa e Desenvolvimento de Produtos http://www.maxwellbohr.com.br [email protected]

Leia mais

Implementando uma Classe e Criando Objetos a partir dela

Implementando uma Classe e Criando Objetos a partir dela Análise e Desenvolvimento de Sistemas ADS Programação Orientada a Obejeto POO 3º Semestre AULA 04 - INTRODUÇÃO À PROGRAMAÇÃO ORIENTADA A OBJETO (POO) Parte: 2 Prof. Cristóvão Cunha Implementando uma Classe

Leia mais

1.6. Tratamento de Exceções

1.6. Tratamento de Exceções Paradigmas de Linguagens I 1 1.6. Tratamento de Exceções Uma exceção denota um comportamento anormal, indesejado, que ocorre raramente e requer alguma ação imediata em uma parte do programa [GHE 97, DER

Leia mais

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição

Lista de Contas: Assinatura. Lista de Contas. Listas de Contas: Descrição. Listas de Contas: Descrição. Listas de Contas: Descrição Lista de Contas Lista de Contas: Assinatura null Quais são os métodos necessários? class ListaDeContas { void inserir (Conta c) { void retirar (Conta c) { Conta procurar (String num) { Listas de Contas:

Leia mais

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v2010.10

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v2010.10 Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v2010.10 Linha de Equipamentos MEC Desenvolvidos por: Maxwell Bohr Instrumentação Eletrônica Ltda. Rua Porto Alegre, 212 Londrina

Leia mais

Conceitos importantes

Conceitos importantes Conceitos importantes Informática Informação + Automática Tratamento ou processamento da informação, utilizando meios automáticos. Computador (Provem da palavra latina: computare, que significa contar)

Leia mais

Implementação de Classe e Auto-Relacionamento em Java

Implementação de Classe e Auto-Relacionamento em Java UTFPR DAELN - Disciplina de Fundamentos de Programação II ( IF62C ). 1 Implementação de Classe e Auto-Relacionamento em Java 1)Introdução Um modelo de Diagrama de Classes representa a estrutura definida

Leia mais

Padrões de Projeto. Singleton

Padrões de Projeto. Singleton Padrões de Projeto Padrões de Criação Singleton Singleton Assegura que uma classe tenha apenas uma instância e provê um ponto de acesso global a ela 2 Livro Texto: Design Pattern - Elements 1 Motivação

Leia mais

Internet Update de PaintManager TM. Manual de instalação e utilização do programa de actualização

Internet Update de PaintManager TM. Manual de instalação e utilização do programa de actualização Internet Update de PaintManager TM Manual de instalação e utilização do programa de actualização ÍNDICE O que é o programa Internet Update? 3 Como se instala e executa o programa? 3 Aceder ao programa

Leia mais

Orientação a Objetos com Java

Orientação a Objetos com Java Orientação a Objetos com Java Julio Cesar Nardi [email protected] 2011/2 Apresentação 3: Orientação Objetos: Conceitos Básicos Objetivos: Compreender os Conceitos Básicos da Orientação a Objetos;

Leia mais

Sistemas Operacionais

Sistemas Operacionais Sistemas Operacionais Gerência de processos Controle e descrição de processos Edson Moreno [email protected] http://www.inf.pucrs.br/~emoreno Sumário Representação e controle de processos pelo SO Estrutura

Leia mais

Configurar o Furbot no Eclipse

Configurar o Furbot no Eclipse Configurar o Furbot no Eclipse Primeiramente, precisamos abrir o Eclipse. Logo no início, deverá aparecer uma tela assim: Nela, você irá selecionar o local do seu workspace. Workspace é o local onde ficarão

Leia mais

MÓDULO 4 SWING Parte 3

MÓDULO 4 SWING Parte 3 Aplicações de Linguagem de Programação Orientada a Objetos 2ºsem/2011 (Professores: Tiago e Daniele) // Exemplo11 Ação do Mouse import javax.swing.*; import java.awt.*; import java.awt.event.actionevent;

Leia mais