Algoritmos Genéticos. Adobe Flex e Android Desenvolvendo aplicativos para dispositivos móveis utilizando a tecnologia Adobe Flex

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

Download "Algoritmos Genéticos. Adobe Flex e Android Desenvolvendo aplicativos para dispositivos móveis utilizando a tecnologia Adobe Flex"

Transcrição

1 Palavra do Educador Prof. Paulo. Giaretta Ano I - 1ª Edição - Dezembro / 2010 Adobe lex e Android Desenvolvendo aplicativos para dispositivos móveis utilizando a tecnologia Adobe lex Algoritmos Genéticos Aplique conceitos de IA para fortalecer seus projetos. Unisep - Curso de Sistemas de Informação - EB

2 Realização: Curso de Sistemas de Informação Unsiep / EB Conselho Editorial Prof. Rodrigo A. Tomazi Coordenador do Curso de Sistemas de Informação EB Prof. Roberto C. da S. Padilha Professor do Curso de Sistemas de Informação EB Profª. Edivane Bellé Professora do Curso de Sistemas de Informação EB / AED Prof. Jandi Barbosa Professor do Curso de Sistemas de Informação EB Índice 03 - Editorial Prof. Rodrigo Ângelo Tomazi 04 - Institucional 05 - Palavra do Educador Prof. Paulo ioravante Giareta 06 - Desenvolvimento de Aplicativos para Android com Adobe lex Prof. Roberto C. da Silva Padilha 14 - Dicas e Desafios 15 - Algoritmos Genéticos Márcio Dalorsoleta Prof. Roberto C. da Silva Padilha

3 Editorial Infosep em Revista Consolidado a partir de suas semanas acadêmicas realizadas do Curso de Sistemas de Informação da Unisep, inicialmente na unidade de Dois izinhos, e também com a unidade de rancisco Beltrão a partir de 2010, o nome Infosep ganha um novo capítulo em sua história, a Infosep em Revista, uma revista eletrônica do curso de Sistemas de Informação da Unisep, com caráter técnico-científico, garantindo aos leitores excelentes artigos relacionados a assuntos atualizados do mundo da Tecnologia da Informação (TI), além da coluna Palavra do Educador, desafios e novidades do mercado de trabalho. O conteúdo da revista será produzido por acadêmicos e professores da Unisep, e divulgado através do site do curso de Sistemas de Informação (www.unisep.edu.br/si) para que todo e qualquer profissional, acadêmico ou interessado pela área de TI possam ter acesso ao download da revista. A Infosep em Revista estará incorporando a cada edição novas idéias impulsionadas por sugestões de acadêmicos e leitores da mesma. O objetivo é que a revista torne-se um veículo propagador de conhecimento tecnológico, e que a cada nova edição um número maior de leitores possa aproveitar o conteúdo da Infosep em Revista para aprimorar e enriquecer seus conhecimentos. Essa edição de dezembro/2010 finaliza o ano letivo da instituição, mas certamente inicia uma nova fase para professores, acadêmicos e profissionais de Sistemas de Informação. Aproveitem essa primeira edição, e estejam certos da evolução a cada nova edição lançada pelo Curso de Sistemas de Informação da Unisep em conjunto com vossas idéias e sugestões, pois para a tecnologia e para o conhecimento não há limites! Boa leitura a todos! Rodrigo Ângelo Tomazi Coordenador do Curso de Sistemas de Informação Unisep - EB

4 Institucional A Unisep A história da UNISEP é também parte da história do desenvolvimento da região Sudoeste do Paraná. A UNISEP consolidou-se como uma das melhores Instituições do país, preocupada com o aprendizado contínuo de seus acadêmicos e com o bem-estar social. A UNISEP iniciou suas atividades com o propósito e a certeza de que seria umas das grandes responsáveis pela transformação sociocultural e econômica da região em que está inserida. O Campus de Dois izinhos da UNISEP foi inaugurado em sete de junho de 2001 possuindo uma área de metros quadrados de extensão. Em agosto de 2001 realizou-se o primeiro vestibular. Quatro meses depois, a UNISEP já contava com os cursos Administração, Ciências Contábeis, Direito, Educação ísica e Sistemas de Informação, completando a primeira etapa do projeto da faculdade. Com a estrutura física em constante evolução e a soma de novos cursos: Tecnologia do estuário, armácia, isioterapia e Gestão Mercadológica. Implantou-se também o Colégio UNISEP, atuando com turmas do maternal ao ensino médio. Posteriormente Engenharia Ambiental e Medicina eterinária completaram os cinco primeiros anos da UNISEP. A UNISEP é uma Instituição que a cada dia está mais comprometida com a qualidade no ensino em todo Sudoeste do Paraná, seu crescimento e a abertura de um novo campus em rancisco Beltrão é prova disso. Em 2010 o campus de Dois izinhos conta com doze cursos de graduação, além de atender a Educação Infantil, Ensino undamental, Médio e Pós-Graduação. Destaque no Sudoeste do Paraná a UNISEP está no ranking das melhores Instituições de Ensino do País, segundo a Avaliação Institucional realizada em 2010 pelo Ministério da Educação, onde obtivemos nota quatro (escala 1 a 5). O Campus de rancisco Beltrão da UNISEP foi inaugurado no dia vinte de novembro de 2009 situado em uma área de metros quadrados de extensão. No ano de 2009 o Campus de rancisco Beltrão tem seu credenciamento pelo Ministério da Educação para iniciar suas atividades com cinco cursos que são: Ciências Contábeis, Administração, Engenharia de Produção, Sistemas de Informação e armácia onde obtivemos nota quatro (escala 1 a 5). Em novembro de 2009 realizou-se o primeiro vestibular! Destaque no Sudoeste do Paraná a UNISEP de Dois izinhos está no ranking das melhores Instituições de Ensino do País, segundo a Avaliação Institucional realizada em 2010 pelo Ministério da Educação, onde obtivemos nota quatro (escala 1 a 5). A UNISEP tem como missão ser uma instituição social e democrática, permeável a todas as correntes de pensamento, dentro dos princípios da liberdade com responsabilidade, justiça e solidariedade humana, visando o desenvolvimento da ciência, do saber e da tecnologia, contribuindo para a formação integral da comunidade local e regional. Composta de instalações especialmente projetadas, que favorecem um aprendizado de qualidade, o projeto da UNISEP compreende salas de aula, laboratórios, biblioteca, clínicas odontológicas e salas cirúrgicas com equipamentos de última geração. O corpo docente com qualificação e dedicação procura repassar ao aluno conhecimentos teóricos e experiências práticas que propiciam um aprendizado dentro dos mais altos padrões de qualidade. A Instituição aprofunda suas relações com a comunidade através de vários projetos de extensão. Estreita seus laços com o mercado de trabalho oferecendo profissionais do mais alto nível e participa significativamente com o crescimento da região Sudoeste do Paraná, propiciando uma gama de cursos que alavancam a economia regional com o que há de mais importante: capital intelectual. Unisep - Um salto para o futuro!

5 Palavra do Educador Educar ou Treinar para a Tecnologia? Ao ser convidado a construir as primeiras linhas deste espaço denominado de PALARA DO EDUCA- DOR, escrevendo sobre educação na perspectiva de sua relação com a tecnologia, que é o objeto deste informativo (social, técnica e educativamente necessário), veio-me a mente o conselho do mestre Machado de Assis, não sei se já alguma vez disse ao leitor que as idéias, para mim, são como nozes e que até hoje não descobri melhor processo para saber o que está dentro de umas e de outras, senão quebrá-las. Quebrar, romper, desmistificar, superar para conhecer as funções efetivas que organizam e norteiam a sociedade contemporânea, também chamada de Sociedade do Conhecimento, parece ser um desafio constante, uma superação diária, quer de âmbito pessoal ou institucional. Esta ruptura parece moldar, desde os pequenos conflitos pessoais na busca individual e constante por novos conhecimentos, por vezes confundido com informações (informação não é conhecimento), bem como os conflitos institucionais, por exemplo: de Instituições de Ensino, quando define a grade curricular de um curso de tecnologia, a proposta teórico-metodológica de trabalho de seus professores e o perfil formativo de seus profissionais; do Estado quando da definição de investimento e fomento a um modelo especifico de utilização e desenvolvimento tecnológico. São conflitos, que delineiam e moldam o ideário de relação dos indivíduos, instituições e dos organismos estatais na sua relação, quer como consumidor ou produtor de tecnologia, o que justifica a necessidade de quebrar as nozes elucidando nossos propósitos face ao modelo de formação para a tecnologia que nos convém. ivemos em um país que, em função de sua opção política de desenvolvimento, passou a ser conhecido como tecnologicamente dependente, por tanto, como centro consumidor e não produtor/desenvolvedor de tecnologia. Esta relação de dependência é facilmente sentida, inclusive, nas instituições que se dedicam a formar os profissionais que trabalham com tecnologia, desenvolvendo, em sua maioria, currículos e posturas pedagógicas focadas essencialmente no treinamento, enquanto capacitação para o uso da tecnologia. Razão pela qual, talvez, seja tão forte o mercado da reciclagem de conhecimentos em nosso país, afinal, quem não foi educado para a tecnologia, mas apenas treinado, tem dificuldade de se adequar criativamente ao criativo e mutante contexto tecnológico. Assim, utilizo deste espaço para um convite à reflexão sobre a educação tecnológica para a autonomia intelectual, superando o mero treinamento para a dependência. Nas palavras do educador Pedro Demo (1996), reconhecer que para além da mera seqüência de ações de formação (treino) está a educação, não apenas como ato de ensinar, instruir, treinar, domesticar, mas sobretudo, como ato de formar a autonomia do sujeito histórico competente, uma vez que o educando não é o objetivo de ensino, mas sim sujeito do processo. O que convém salientar, em conformidade a Paulo reire (1996), que saber ensinar não é transferir conhecimento, mas criar as possibilidades para a sua própria produção ou a sua construção. Postura que faz bem ao desenvolvimento intelectual para a autonomia do indivíduo cidadão; e é técnica e socialmente necessário a um país que se quer desenvolvido e independente. Prof. Paulo. Giareta Diretor Acadêmico Unisep Infosep em Revista - 1ª Edição Página 5

6 Artigo Técnico Desenvolvimento de Aplicativos para Android com Adobe lex Prof. Roberto Cesar da Silva Padilha O mercado de aplicações para dispositivos móveis está em franca expansão. Muitas são as tecnologias disponíveis, o que proporciona aos desenvolvedores a criação de aplicativos cada vez melhores e mais complexos. Acompanhando este crescimento, a Adobe adaptou sua tecnologia lex, bastante difundida no desenvolvimento de aplicações RIA, para o desenvolvimento de aplicativos para a plataforma Android da Google. Este artigo trata do preview release do Adobe lash Builder Burrito e Adobe lex SDK Hero, primeiros passos da Adobe no mercado de aplicações móveis. Além de uma visão geral do novo SDK e seus recursos, será desenvolvido um aplicativo de exemplo, demonstrando o uso dos componentes e a conectividade com uma aplicação servidora desenvolvida em Java. Introdução O desenvolvimento de aplicativos para plataformas móveis tem se tornado uma nova tendência na área de desenvolvimento de software. O uso de aparelhos celulares está cada vez mais difundido, e os anteriormente elitizados smartphones hoje são muito mais acessíveis ao grande público consumidor. Muito mais que apenas aparelhos telefônicos, celulares e smartphones trazem a possibilidade da utilização de aplicações cada vez mais complexas e completas para o dia-a-dia das pessoas. A possibilidade de utilização de recursos de internet, GPS, sensores de posicionamento e movimento abrem um leque de recursos a serem utilizados em aplicações cada vez mais inovadoras e criativas. A evolução dos sistemas operacionais de celulares e outros dispositivos móveis disponibilizam cada vez mais recursos e possibilidades para os desenvolvedores. A plataforma Java tem grande tradição no desenvolvimento de aplicativos para dispositivos móveis, através de sua plataforma J2ME. Por se tornar de uma plataforma independente, capaz de ser executada sobre qualquer sistema operacional, os recursos de componentes disponíveis para este tipo de aplicação é relativamente restrito, pois há uma grande necessidade de manutenção de compatibilidade. Na esteira desta evolução, a gigante de software Google, através da OHA (Open Handset Alliance um grupo de 79 empresas de tecnologia reunidas com o intuito de acelerar a inovação em dispositivos móveis) lançou recentemente a sua própria plataforma de desenvolvimento para dispositivos móveis, que engloba um sistema operacional um middleware e um conjunto básico de aplicativos. Chamada de Android, esta plataforma open source está voltada essencialmente para smartphones, e possibilita a extensa utilização dos recursos destes aparelhos na criação de aplicativos. Para um desenvolvimento nativo na plataforma Android, está disponível o Android SDK. Utilizando a linguagem Java, os aplicativos desenvolvidos nesta plataforma são executados por uma máquina virtual chamada Dalvik. Por tratar-se de um ambiente que, apesar de muito evoluído, ainda precisa de cuidados no gerenciamento de recursos, a máquina virtual Dalvik possui diversos mecanismos de gerenciamento e aproveitamento de recursos e memória do dispositivo, visando aliar performance e recursos na execução dos aplicativos. Além da possibilidade de criação de interfaces via código- -fonte, como na plataforma J2ME, a plataforma Android permite a criação de interfaces através de arquivos XML, que são lidos pela aplicação, para então haver a montagem da interface. A listagem 1 traz exemplos simples de criação de uma interface utilizando a API padrão do Android. Por mais que haja uma evolução na criação de interfaces, principalmente em relação aos componentes disponíveis na plataforma J2ME, a codificação destas interfaces ainda é bastante braçal, e o tratamento de eventos e de controles de ação deve ser toda codificada na classe Java que representa a aplicação. Adobe lex ocada no desenvolvimento de Rich Internet Application Infosep em Revista - 1ª Edição Página 6

7 Desenvolvimento de Aplicativos para Android com Adobe lex Artigo Técnico (RIA), que busca a utilização de recursos avançados de interfaces disponíveis para desktop em ambiente WEB, a plataforma Adobe lex voltou-se recentemente para o desenvolvimento de aplicativos para dispositivos móveis. Em sua concepção, lex é multiplataforma, pois roda sobre o lash Player nos browsers, e na runtime Adobe AIR, em aplicações Desktop. altava, porém, a possibilidade de estender o desenvolvimento de aplicativos em uma plataforma compatível com dispositivos móveis. O primeiro passo para isto foi a disponibilização do lash Player para as versões de browsers em dispositivos móveis. Porém, não havia um conjunto de componentes ou uma plataforma que permitisse ao desenvolvedor lex usufruir dos recursos da plataforma mobile. Isto porque, aplicações RIA, executadas em desktop ou mobile, possui uma série de restrições quanto à utilização de recursos de sistema, devido a questões de segurança. Assim, apoiada sobre a versão 2.5 do Adobe AIR, foi lançado o Adobe lex SDK Hero, um framework de desenvolvimento de aplicativos lex para a plataforma mobile. Por basear-se em AIR, o SDK Hero permite que o desenvolvedor utilize as vantagens e recursos do sistema operacional do dispositivo móvel, assim como as aplicações J2ME tradicionais, porém com a vantagem de poder utilizar todos os recursos de componentes visuais da plataforma lex, além de dispor de todo o suporte de conectividade com aplicações em servidor, desenvolvidas em qualquer tipo de plataforma (Java,.NET, PHP, Ruby, etc). Nesta versão do SDK, os componentes padrões foram otimizados para trabalharem de forma correta em dispostiviso touchscreen, além de oferecer suporte a layouts dinâmicos e novos componentes que encapsulam necessidades comuns em aplicativos voltados para smartphones. A versão atual do Adobe lex SDK Hero ainda é um preview release, distribuído juntamente com o Adobe lash Builder Burrito, versão da IDE de desenvolvimento com suporte ao desenvolvimento de aplicações para dispositivos móveis. Em seu preview release, o Adobe lex SDK Hero oferece suporte apenas à plataforma Android. Porém, a idéia é que o suporte seja estendido a outros sitemas, e outros dispositivos. Instalação do Adobe lash Builder Burrito Para o desenvolvimento de aplicativos para Android utilizando a plataforma lex, é necessária a instalação da IDE de desenvolvimento Adobe lash Builder Burrito. Esta pode ser baixada diretamente do site da Adobe (http://labs.adobe.com/ technologies/flex/mobile/), de forma gratuita para avaliação por 60 dias. O processo de instalação é simples, e não requer configurações específicas. 01. <?xml version="1.0" encoding="utf-8"?> 02. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 03. android:orientation="vertical" 04. android:layout_width="fill_parent" 05. android:layout_height="fill_parent" 06. > 07. <Textiew 08. android:layout_width="fill_parent" 09. android:layout_height="wrap_content" 10. android:text="olá Android!" 11. /> 12. </LinearLayout> 01. package com.infosep.mobile; import android.app.activity; 04. import android.os.bundle; 05. import android.widget.linearlayout; 06. import android.widget.textiew; 07. import android.widget.linearlayout.layoutparams; public class HelloAndroid extends Activity { public void oncreate(bundle savedinstancestate) { 13. super.oncreate(savedinstancestate); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams( 16. LayoutParams.ILL_PARENT, 17. LayoutParams.WRAP_CONTENT); 18. LinearLayout.LayoutParams txtlp = new LinearLayout.LayoutParams( 19. LayoutParams.ILL_PARENT, 20. LayoutParams.WRAP_CONTENT); LinearLayout layout = new LinearLayout(this); 24. layout.setorientation(linearlayout.ertical); Textiew txt = new Textiew(this); 27. txt.settext("olá Android!"); layout.addiew(txt, txtlp); 30. this.addcontentiew(layout, lp); 31. } 32. } Listagem 1 - Exemplos de códigos de interface utilizando a API padrão para Android O ambiente de desenvolvimento traz a IDE Adobe lash Builder, o Adobe lex SDK Hero para a criação de aplicativos para a plataforma AIR Mobile, e um ambiente para execução, depuração e geração de instalador dos seus aplicativos, que podem então ser importados diretamente no smartphone. A IDE Adobe lash Builder Burrito foi desenvolvida com base na plataforma Eclipse, e é bastante simples e intuitiva. O desenvolvimento é feito na perspectiva lash. A figura 1 traz a visão inicial da IDE. Infosep em Revista - 1ª Edição Página 7

8 Desenvolvimento de Aplicativos para Android com Adobe lex Artigo Técnico O Novo SDK Hero ser observado e evitado sempre que possível, exceção feita à listagens, com scroll vertical. Outro agravante que deve ser observado é a orientação da tela do aparelho. Uma interface deve ser capaz de adaptar-se o máximo possível tanto a orientação retrato quanto paisagem. A IDE lash Builder Burrito permite que a aplicação seja visualizada em dempo de projeto tanto na orientação retrato quanto paisagem, além de diversos tamanhos de tela, de diferentes modelos de aparelhos, conforme mostra a figura 2. Área de toque: componentes desenvolvidos para aparelhos touchscreen devem possuir uma área de toque que facilite a interação com o usuário. Assim os componentes devem ser maiores que geralmente são em aplicações tradicionais. Isto também A biblioteca de componentes o novo SDK Hero compreende um conjunto de componentes para construção de interface visual através das linguagens MXML e ActionScript 3.0, além de componentes que permitem a conectividade com aplicações servidoras, da mesma forma que as aplicações construídas com as versões anteriores de lex, para WEB e desktop. Por tratar-se de um ambiente totalmente novo e com várias particularidades em relação ao ambiente WEB, os componentes visuais receberam novos skins para otimizar sua utilização em aparelhos touchscreen. Além disto, alguns novos componentes específicos foram criados para tratar requisitos comuns em interfaces visuais em dispositivos móveis. O desenvolvimento de aplicativos para dispositivos móveis levanta alguns requisitos específicos que precisam ser observados, qualquer que seja a tecnologia utilizada: Tamanho e Orientação da Tela: diferentemente das aplicações que serão executadas em monitores convencionais, o espaço que se dispõe para a construção da interface com o usuário em dispositivos móveis é extremamente restrito. Por mais que os mais recentes modelos de smartphones tenham melhorado bastante neste aspecto, os displays destes dispositivos ainda são extremamente reduzidos, o que significa que os projetos de interface devem aproveitar ao máximo o espaço disponível, sem tornarem- -se poluídas ou desorganizadas. O excesso de scroll tanto vertical quanto horizontal também deve igura 1 - isão Geral da IDE Adobe lash Builder Burrito ocorre devido à densidade de pixels das telas de dispositivos móveis. Os componentes mais comuns, como caixas de texto, checkbox, botões e links possuem um novo skin, na nova versão do SDK, com dimensões e resolução adequada a dispositivos móveis. Além disto, as funcionalidades de scroll em listas foi adaptada para serem acionadas através do toque do usuário na tela. Navegação: devido o tamanho reduzido das telas em dispositivos móveis, as aplicações precisam ser projetadas de forma a dividir a entrada de dados com o usuário em várias telas. A navegação entre estas telas deve ser intuitiva e simples, de forma que o usuário não se perca entre as telas, ou encontre-se sem um caminho de volta ao início da aplicação. igura 2 - Seleção de orientação e modelo de aparelho no Adobe lash Builder Burrito Infosep em Revista - 1ª Edição Página 8

9 Desenvolvimento de Aplicativos para Android com Adobe lex Artigo Técnico Limitações de uso de CPU e memória: apesar da grande evolução dos aparelhos, a capacidade de memória e poder de processamento ainda é muito inferior aos computadores tradicionais. Apesar de o SDK Hero ter sido concebido observando estes fatores, recomenda-se cuidado na utilização de componentes mais pesados, como gráficos e componentes rich text. Para demonstrar a utilização destes componentes, será desenvolvido um pequeno aplicativo de cadastro de contatos. O aplicativo consiste de duas telas: uma tela inicial de listagem de contatos, através do qual o usuário poderá acionar a tela de cadastro ou alteração dos dados do contato. A persistência será feita por uma aplicação Java rodando em servidor. A integração entre o aplicativo lex e o servidor será feita utilizando o framework BlazeDS. A parte servidora da aplicação não será abordada neste artigo. Desenvolvendo o aplicativo de exemplo Para criar um novo projeto no lex Builder Burrito, utiliza-se o menu ile > New igura 4 - Novo Projeto Móvel - Passo 2 igura 3 - Novo Projeto Móvel - Configuraçao do Projeto e SDK > lex Mobile Project. Na primeira tela de configuração (figura 3) deve-se informar o nome do projeto. A tela seguinte é de seleção da plataforma de execução do aplicativo. Até o momento a única plataforma disponível é a Google Android. Na terceira tela (figura 4) deve ser configurada, se existir, a conexão com a aplicação servidora. Neste exemplo será utilizada a plataforma J2EE, com BlazeDS. O projeto criado traz, por padrão, a seguinte estrutura: MobileApplication (contatos.mxml) : é o equivalente ao Application das aplicações lex para WEB. É o arquivo de início do projeto e da execução do aplicativo. Diferentemente de aplicações lex tradicionais, normalmente não são incluídos componentes ou lógica de interação neste arquivo. Aplicações construídas baseadas em MobileApplication dispõem de um objeto iewnavigator, que permite o controle e navegação entre as diversas iews da aplicação. Toda a aplicação é baseada em objetos iew, que são gerenciadas pelo iewnavigator. O atributo firstiew do MobileApplication define qual será a iew exibida no início da aplicação. iew (contatoshome.mxml): toda tela do aplicativo deverá estender o componente spark.components.iew e pode ser desenvolvida tanto utilizando MXML quanto ActionScript, da mesma forma que os componentes de aplicações lex para WEB ou desktop. O componente iew é o container que irá conter todos os elementos visuais das telas da aplicação. Todo componente iew possui em seu topo um ActionBar. O ActionBar contém o título da iew e pode conter outros componentes de ação. Toda iew possui sua própria ActionBar, assim como a MobileApplication. Porém, os elementos adicionados à ActionBar da MobileApplication, aparecerão também em todos os ActionBars de todas as Infosep em Revista - 1ª Edição Página 9

10 Desenvolvimento de Aplicativos para Android com Adobe lex Artigo Técnico demais iews da aplicação. Arquivo de Configuração da Aplicação (contatos-app. xml): arquivo que contém parâmetros para configuração, execução e instalação do aplicativo. Não será modificado neste artigo. O aplicativo de cadastro de contatos consiste de duas iews: uma para a listagem de todos os contatos, e outra para o cadastro e alteração das informações. A figura 5 traz a estrutura das duas iews da aplicação. A aplicação está configurada para acessar o servidor WEB para busca e persistência de dados. A aplicação servidora foi desenvolvida em Java, utilizando o framework BlazeDS para integração entre as camadas lex e Java. A comunicação é feita através do protocolo AM3, que permite que um objeto seja enviado entre as camadas da aplicação de forma transparente. Neste aplicativo será utilizado uma classe ActionScript ContatoO, que irá conter as propriedades do contato, e será enviado e recebido pela aplicação lex, na comunicação com o servidor. A listagem 2 traz o código da classe ContatoO. A primeira iew que é exibida pela aplicação é a iew de listagem de contatos. Para exibir a lista de dados, será utilizado um componente List. Este componente pode ser ligado a uma estrutura de dados como um Array, ArrayCollection ou XML, e permite a exibição de uma propriedade dos objetos destas estruturas. A ligação é feita através da propriedade dataprovider. Para preenchermos a lista com os dados já cadastrados no servidor, precisamos fazer uma invocação do serviço remoto. Neste exemplo utilizou-se a classe RemoteObject para comunicação. Os dados serão buscados no servidor em dois eventos: creationcomplete, para que ao iniciarmos o aplicativo este já traga carregada a listagem dos contatos cadastrados, e no evento activate, para que toda vez que o usuário navegue da tela de cadastro de volta para a tela de listagem, a lista seja atualizada. A listagem 3 traz o código para o tratamento destes eventos. Por padrão, o componente List exibe apenas uma propriedade do objeto da lista, através da propriedade labelield. lex permite a customização desta exibição através da aplicação de ItemRenderers, que são componentes que substituem os itens da listagem. Nestes componentes, podem ser utilizados outros componentes para exibição de informações e interação com o usuário. Para criação de um ItemRenderer, pode-se utilizar o menu ile > New > MXML Item Renderer. O SDK Hero traz em sua biblioteca padrão dois ItemRenderers que nos permitem customizar a exibição de itens no componente List: MobileItemRenderer e MobileIconItemRenderer. Neste exemplo utilizou-se o renderer MobileIconItemRenderer. Este renderer permite que sejam exibidas duas linhas de texto, além de um ícone opcional em cada linha. Utilizou-se as propriedades labelield e messageield, para exibir, respectivamente o nome e o de cada contato (listagem 4). Para fazer a ligação com a tela de cadastro, foram incluídas duas ações: ao clicar em um item da lista a iew de cadastro de contato será exibida com todos os campos preenchidos com os dados do contato selecionado. Um botão de ação adicionado à ActionBar executa uma ação semelhante, porém traz a tela de cadastro em branco, para o cadastro de um novo contato. A iew de cadastro contém os componentes para inclusão e alteração dos dados do contato. Para adicionar uma nova iew, basta clicar com o botão esquerdo sobre o pacote views no projeto contatos e selecionar a opção New > MXML Component. Por padrão, o componente base é a classe iew. Porém, igura 5 - Estrutura das iews da aplicação. 1 - Listagem de Contatos; 2 - Botão de ação para tela de inclusão de contato. 3 - iew de inclusão de contato. 4 - Botão de ação para retorno à iew de Listagem Infosep em Revista - 1ª Edição Página 10

11 Desenvolvimento de Aplicativos para Android com Adobe lex Artigo Técnico 01. package com.infosep.mobile.model 02. { 03. [Bindable] 04. [RemoteClass(alias="com.infosep.model.vo.ContatoO")] 05. public class ContatoO 06. { 07. public function ContatoO(){ 08. } private var _codigo : Number; 11. private var _nome : String; 12. private var _ String; 13. private var _telefone : String; 14. private var _celular : String; 15. private var _ativo : Boolean; // Métodos get e set omitidos 18. } 19. } 01. <s:list left="0" right="0" top="0" bottom="0" id="lista" 02. dataprovider="{this.listacontatos}" click="atualizar();"> 03. <s:itemrenderer> 04. <fx:component> 05. <s:mobileiconitemrenderer labelield="nome" 06. messageield=" "/> 07. </fx:component> 08. </s:itemrenderer> 09. </s:list> Listagem 2 - Código da classe ContatoO esta mesma opção pode ser utilizada na criação de outros componentes personalizados. Na iew de cadastro os compoentes são distribuídos de forma a criarem uma apresentação organizada dos componentes. Os componentes assumem posicionamentos vertical e horizontal, através das propriedades x e y. Da mesma forma que em aplicações lex WEB pode-se utilizar padrões de layout vertical e horizontal para facilitar o posicionamento dos componentes. Para fazer a ligação entre os dados informados pelo usuário nos componentes, utiliza-se o recurso de data binding. Utilizando a ligado à propriedade text dos componentes TextInput e à propriedade selected do componente Checkbox, faz-se uma ligação do conteúdo das propriedades dos componentes aos valores das propriedades do objeto ContatoO de maneira bidirecional. Assim, o que for informado pelo usuário nos campos de texto automaticamente reflete-se no objeto, e vice-versa. Por fim, os botões de salvar e excluir acionam o servidor, para persistência e exclusão do contato. O botão de exclusão será habilitado apenas quando o usuário estiver alterando um contato já cadastrado. A navegação entre as telas é controlada através de um objeto do tipo iewnavigator, que está ligado por padrão ao ActionBar de cada iew. Este componente permite que as telas sejam exibidas e removidas de maneira eficiente do ponto de vista de consumo de memória e processamento do dispositivo. Para incluir uma nova iew, utiliza-se o método pushiew, e para remover, utiliza-se o método popiew. Além de exibir uma nova iew, o método pushiew permite que um objeto seja passado entre as iews. Todo objeto iew possui uma propriedade data, que contém o objeto recebido da iew anterior no momento de sua chamada. A listagem 5 traz os métodos que acionam a iew de cadastro para alteração e inclusão de um contato, a partir da tela de listagem. Para permitir ao usuário voltar à tela inicial, o usuário poderá utilizar o botão voltar, na tela de cadastro, que remove a tela de cadastro, através do método popiew do iewnavigator. O botão oltar do aparelho celular do usuário também fará esta ação de maneira automática. Testando a Aplicação Para testar a aplicação, a IDE Adobe lash Builder Burrito oferece um emulador para teste no desktop. Para executar o aplicativo desenvolvido, utiliza-se a o menu Run > Run. A figura 6 mostra a tela de configuração da execução. Por padrão, o Adobe lash Builder Burrito traz uma série de aparelhos que podem ser simulados na execução. Basta selecionar um deles na lista e clicar em Run. A mesma configuração pode ser feita para depuração do projeto, apenas utilizando o menu Run > Debug. 01. private function oncreate() : void { 02. this.remote.endpoint = 03 "http://localhost:8080/contatosweb/messagebroker/amf"; 04. this.remote.showbusycursor = true; this.oplistar = this.remote.getoperation("listarcontatos") 07. as Operation; 08. this.oplistar.addeventlistener( 09. ResultEvent.RESULT, listarresult); carregarlista(); 12. } private function carregarlista() : void { 15. this.oplistar.send(); 16. } Listagem 3 - Código para execução do método de listagem de contatos Listagem 4 - Código do componente List, na iew de listagem de contatos. O projeto pode também ser exportado para instalação diretamente no aparelho. Para poder ser executado, é necessário que o aparelho possua o sistema operacional Android versão 2.2 ou superior, e o Adobe AIR SDK 2.5. Para exportar o aplicativo para instalação no aparelho, deve ser utilizada o menu Project > Export Release Build. Deve ser informado o local de destino da publicação, e então clicar em Next (figura 7). Para que possa ser instalado no aparelho celular, é necessário que o aplicativo tenha associado a si um certificado digital, para garantir a confiabilidade do mesmo. Pode-se importar um certificado existente, ou então criar um novo. Neste exemplo foi criada um novo certificado (figura 8). O arquivo.p12 gerado poderá ser reutilizado em futuras aplicações. Infosep em Revista - 1ª Edição Página 11

12 Desenvolvimento de Aplicativos para Android com Adobe lex Artigo Técnico Uma vez selecionado o certificado, basta clicar em inish, e um arquivo.apk será gerado no local de destino selecionado. Caso o aparelho já esteja plugado ao computador, o arquivo.apk poderá ser publicado diretamente no aparelho. Conclusão O desenvolvimento de aplicativos visando a mobilidade e a conectividade entre aplicações de diferentes ambientes e plataformas é cada vez mais uma forte tendência entre os desenvolvedores. O grande investimento de grandes empresas como Adobe, Google e Microsoft motivam cada vez mais o estudo e desenvolvimento de tecnologias neste sentido. A plataforma lex já de muito sucesso no desenvolvimento de aplicações WEB traz uma excelente opção para o desenvolvimento de aplicações também em dispositivos móveis. A versão utilizada neste aplicativo é apenas um preview release, porém é suficiente para mostrar o que pode-se esperar em um futuro próximo. Até sua versão final, novas plataformas 01. private function adicionarnovo() : void { 02. navigator.pushiew(cadastrocontatos); 03. } private function atualizar() : void { 06. if (this.lista.selecteditem!= null){ 07. navigator.pushiew(cadastrocontatos, 08. this.lista.selecteditem); 09. } 10. } Listagem 5 - Código de ação do botão para adicionar contatos e para alteração de contato, a partir da seleção de um item na listagem. poderão ser atendidas, o que abre ainda mais o leque de possibilidades de uso destas aplicações. igura 6 - Tela de configuração para execução do projeto Infosep em Revista - 1ª Edição Página 12

13 Desenvolvimento de Aplicativos para Android com Adobe lex Artigo Técnico igura 7 - Tela de exportação do release da aplicação. O Autor Prof. Roberto Cesar da Silva Padilha Especialista em Desenvolvimento WEB com Java e.net pela UTPR, e SCJP 1.5 desde 2006, possui 7 anos de experiência em projeto e desenvolvimento de sistemas, e há 2 trabalha com a tecnologia Adobe lex. Roberto é professor do Curso de Sistemas de Informação da Unisep campus de rancisco Beltrão. igura 8 - Tela de configuração do certificado digital. Infosep em Revista - 1ª Edição Página 13

14 Dicas & Desafios Operações Lógicas sobre Proposições 1 Negação Chama-se negação de uma proposição p a proposição representada por não p, cujo valor lógico é a verdade () quando p é falsa e a falsidade () quando p é verdadeira. Desta forma não p tem valor lógico oposto a p. Simbolicamente, a negação de p é indicada com a notação ~p, que se lê: não p.a tabela verdade da negação: p ~p 2 Conjunção (e ^) Chama-se conjunção de duas proposições p e q a proposição representada por p e q, cujo valor lógico é a verdade () quando as proposições p e q são ambas verdadeiras e a falsidade () nos demais casos. Simbolicamente, a conjunção de duas p q p^q proposições p e q é indicada com a notação p ^ q, que se lê: p e q. A tabela verdade da conjunção: 3 Disjunção (ou v) Chama-se disjunção de duas proposições p e q a proposição representada por p ou q, cujo valor lógico é a verdade () quando ao p q p v q menos uma das proposições p e q é verdadeira e a falsidade () quando ambas são falsas. Simbolicamente, a conjunção de duas proposições p e q é indi- cada com a notação p v q, que se lê: p ou q. A tabela verdade da disjunção: 4 Disjunção Exclusiva (e/ou v) Chama-se disjunção exclusiva de duas proposições p e q a proposição representada por simbolicamente por p v q, que se lê ou p ou q ou p ou que, mas não ambos, cujo valor lógico é a verdade () somente quando p é verdadeira ou q é verdadeira, mas não quando p e q são ambas verdadeiras e a falsidade () quando ambas são verdadeiras ou ambas são falsas. Simbolicamente, a conjunção de duas proposições p e q é indicada com a notação p v q. A tabela verdade da disjunção exclusiva: p q p v q suficiente para q ou p é condição necessária para q. A tabela verdade da condicional: 6 Bicondicional (se e somente se ) Chama-se bicondicional uma proposição representada por p se e somente se q, cujo valor lógico é a verdade () quando p e q são ambas verdadeiras ou ambas falsas e a falsidade () nos demais casos. Simbolicamente, a bicondicional de duas proposições p e q é indicada com a notação p q, que se lê: p é condição necessária e suficiente para q ou q é condição necessária e suficiente para p. A tabela verdade da bicondicional: p q p q Desafio 1 - As Três Senhoras Três senhoras dona Branca, dona Rosa e dona ioleta passeavam pelo parque quando dona Rosa disse: - Não é curioso que estejamos usando vestidos de cores branca, rosa e violeta, embora nenhuma de nós esteja usando um vestido de cor igual ao seu próprio nome? - Uma simples coincidência respondeu a senhora com o vestido ioleta. Com base nestas informações apresente a cor do vestido de cada senhora? Desafio 2 - Torres de Hanói Um algoritmo pode ser definido como uma seqüência de passos que visam a atingir um objetivo bem definido. Logo, elabore um algoritmo que mova três discos de uma Torre de Hanói, que consiste em três hastes (a b c), uma das quais serve de suporte para três discos de tamanhos diferentes (1 2 3), os menores sobre os maiores. Pode-se mover um disco de cada vez para qualquer haste, contanto que nunca seja colocado um disco maior sobre um menor. O objetivo é transferir os três discos para outra haste. 5 Condicional (se então ) Chama-se condicional uma proposição representada por se p então q, cujo valor lógico é a falsidade () no caso em que p e q é falsa e a verdade () nos demais casos. Simbolicamente, a conjunção condicional de duas proposições p e q é indicada com a notação p q, que se lê: p é Infosep em Revista - 1ª Edição p q p q As respostas dos desafios será divulgada na próxima edição! Página 14

15 Artigo Técnico Algoritmos Genéticos Márcio Dalorsoleta Prof. Roberto Cesar da Silva Padilha A eficiência na resolução de problemas complexos com aplicabilidade de métodos de pesquisa estocástica conhecidos como Algoritmos Genéticos vem apresentado soluções alternativas em diversas situações. Com este artigo pretende-se alcançar o conhecimento e desmistificar a complexidade da aplicação desta solução computacional, através da exemplificação de um algoritmo simples com utilização de seleção Roulette Wheel. Apresenta-se, ainda, uma introdução histórica e conceitual dos elementos fundamentais para o estudo de algoritmos genéticos. Histórico Acreditavam os naturalistas até meados do século 19, que cada espécie havia sido criada separadamente por um ser supremo ou através de geração espontânea. O trabalho do naturalista Carolus Linnaeus sobre a classificação biológica de organismos despertou o interesse pela similaridade entre certas espécies, levando a acreditar na existência de certa relação entre elas. Outros trabalhos influenciaram os naturalistas em direção à teoria da seleção natural, tais como os de Jean Baptiste Lamark, que sugeriu uma teoria evolucionária no uso e desuso de órgãos; e de Thomas Robert Malthus, que propôs que fatores ambientais tais como doenças e carência de alimentos, limitavam o crescimento de uma população. Depois de mais de 20 anos de observações e experimentos, Charles Darwin apresentou em 1858 sua teoria de evolução através de seleção natural, simultaneamente com outro naturalista inglês Alfred Russel Wallace. No ano seguinte, Darwin publica o seu On the Origin of Species by Means of Natural Selection com a sua teoria completa, sustentada por muitas evidências colhidas durante suas viagens a bordo do beagle (HMS Beagle era um navio da Armada Inglesa que deu a volta ao mundo com Charles Darwin abordo. A viagem do Beagle durou quatro anos e nove meses, dois terços dos quais Darwin esteve em terra firme. Ele estudou uma rica variedade de características geológicas, fósseis, organismos vivos e conheceu muitas pessoas, entre nativos e colonos.) A teoria da evolução e a computação nasceram praticamente na mesma época: Charles Babbage, um dos fundadores da computação moderna e amigo de Darwin desenvolveu sua máquina analítica em Por volta de 1900, o trabalho de Gregor Mendel, desenvolvido em 1865, sobre os princípios básicos de herança genética, foi redescoberto pelos cientistas e teve grande influência sobre os futuros trabalhos relacionados à evolução. A moderna teoria da evolução combina a genética e as idéias de Darwin e Wallace sobre a seleção natural, criando o princípio básico de Genética Populacional: a variabilidade entre indivíduos em uma população de organismos que se reproduzem sexualmente é produzida pela mutação e pela recombinação genética [1]. Este princípio foi desenvolvido durante os anos 30 e 40, por biólogos e matemáticos de importantes centros de pesquisa. Nos anos 50 e 60, muitos biólogos começaram a desenvolver simulações computacionais de sistemas genéticos. Entretanto, foi John Holland quem começou, seriamente, a desenvolver as primeiras pesquisas no tema. Holland foi gradualmente refinando suas idéias e em 1975 publicou o seu livro Adaptation in Natural and Artificial Systems, hoje considerado a Bíblia de Algoritmos Genéticos. Desde então, estes algoritmos vêm sendo aplicados com sucesso nos mais diversos problemas de otimização e aprendizado de máquina. A aplicação prática de algoritmos genéticos pode ser observada em avaliação de políticas de compra e venda de mercadorias, montagens de escalas de trabalho de hospitais, escolas e universidades, mineração e refinação de dados, entre outras. Características dos Algoritmos Genéticos Algoritmos Genéticos (AG) são algoritmos de otimização Infosep em Revista - 1ª Edição Página 15

16 Algoritmos Genéticos Artigo Técnico Indivíduo Si Aptidão f(si) Aptidão Relativa S ,23 0,14 S ,27 0,47 S ,05 0,07 S ,35 0,21 S ,69 0,11 Imagem 1 - Indivíduos de uma pouplação e sua correspondente roleta de seleção global, baseados nos mecanismos de seleção natural e da genética. Eles empregam uma estratégia de busca paralela e estruturada, mas aleatória, que é voltada em direção ao reforço da busca de pontos de alta aptidão, ou seja, pontos nos quais a função a ser minimizada (ou maximizada) tem valores relativamente baixos (ou altos) [2]. Apesar de aleatórios, eles não são caminhadas aleatórias não direcionadas, pois exploram informações históricas para encontrar novos pontos de busca onde são esperados melhores desempenhos. Isto é feito através de processos iterativos, onde cada iteração é chamada de geração. Durante cada iteração, os princípios de seleção e reprodução são aplicados a uma população de candidatos que pode variar, dependendo da complexidade do problema e dos recursos computacionais disponíveis. Através da seleção, se determina quais indivíduos conseguirão se reproduzir, gerando um número determinado de descendentes para a próxima geração, com uma probabilidade determinada pelo seu índice de aptidão. O ponto de partida para a utilização de Algoritmos Genéticos, como ferramenta para solução de problemas, é a representação destes problemas de maneira que os Algoritmos Genéticos possam trabalhar adequadamente sobre eles. A maioria das representações são genotípicas, utilizam vetores de tamanho finito em um alfabeto finito. 01. Procedimento AG 02. { 03. t = 0; 04. inicia_população (P, t) 05. avaliação (P, t); repita até (t = d) 08. { 09. t = t +1; 10. seleção_dos_pais (P,t); 11. recombinação (P, t); 12. mutação (P, t); 13. avaliação (P, t); 14. sobrevivem (P, t) 15. } 16. } onde: t - tempo atual; d - tempo determinado para finalizar o algoritmo; P - população Listagem 1 - Exemplo de algoritmo genético com pseudocódigo Tradicionalmente, os indivíduos são representados genotipicamente por vetores binários, onde cada elemento de um vetor denota a presença (1) ou ausência (0) de uma determinada característica: o seu genótipo. Os elementos podem ser combinados formando as características reais do indivíduo, ou o seu fenótipo. Teoricamente, esta representação é independente do problema, pois uma vez encontrada a representação em vetores binários, as operações padrão podem ser utilizadas, facilitando o seu emprego em diferentes classes de problemas. A utilização de representações em níveis de abstração mais altos tem sido investigada. Como estas representações são mais fenotípicas, facilitariam sua utilização em determinados ambientes, onde essa transformação fenótipo - genótipo é muito complexa. Neste caso, precisam ser criados os operadores específicos para utilizar estas representações. O princípio básico do funcionamento dos AGs é que um critério de seleção vai fazer com que, depois de muitas gerações, o conjunto inicial de indivíduos gere indivíduos mais aptos[3]. A maioria dos métodos de seleção são projetados para escolher preferencialmente indivíduos com maiores notas de aptidão, embora não exclusivamente, a fim de manter a diversidade da população. Um método de seleção muito utilizado é o Roulette Wheel, onde indivíduos de uma geração são escolhidos para fazer parte da próxima geração, através de um sorteio de roleta. Neste método, cada indivíduo da população é representado na roleta proporcionalmente ao seu índice de aptidão. Assim, aos indivíduos com alta aptidão é dada uma porção maior da roleta, enquanto aos de aptidão mais baixa é dada uma porção relativamente menor da roleta. inalmente, a roleta é girada um determinado número de vezes, dependendo do tamanho da população, e são escolhidos, como indivíduos que participarão da próxima geração, aqueles sorteados na roleta. Um conjunto de operações é necessário para que, dada uma população, se consiga gerar populações sucessivas que (espera-se) melhorem sua aptidão com o tempo. Estes operadores são: cruzamento (crossover) e mutação. Eles são utilizados para assegurar que a nova geração seja totalmente nova, mas possuí de alguma forma, características de seus pais, ou seja, a população se diversifica e mantém características de adaptação adquiridas pelas gerações anteriores. Para prevenir que os melhores indivíduos não desapareçam da população pela manipulação dos operadores genéticos, eles podem ser automaticamente colocados na próxima geração, através da reprodução elitista. Esse ciclo é repetido um determinado número de vezes. Infosep em Revista - 1ª Edição Página 16

17 Algoritmos Genéticos Artigo Técnico Na lisagem 1 é mostrado um exemplo de algoritmo genético. Durante esse processo, os melhores indivíduos, assim como alguns dados estatísticos, podem ser coletados e armazenados para avaliação. Apesar de computacionalmente muito simples, estes algoritmos são bastante poderosos, pois não são limitados por suposições sobre o espaço de busca, relativas à continuidade, por um ponto fixo sem ruídos de interpretação do meio externo. 01. class Crom implements Comparable { char[] alleles; // Alelos do cromossomo, cada um contendo 0 ou int fitness; // alor de fitness do cromossomo public Crom(char[] a) { 07. alleles = a; 08. fitness = 0; 09. } public int compareto(object o) { 12. Crom ocrom = (Crom)o; if(ocrom.fitness < this.fitness) 15. return -1; 16. else 17. return 1; 18. } 19. } Listagem 2 - Definição da classe cromossomo Implementando um Algoritmo Genético com Seleção Roulette Wheel Na listagem 2 a classe Crom é a que definimos a estrutura do cromossomo( È uma longa sequência de DNA, que contém vários genes, e outras sequências de nucleótidos (nucleotídeos) com funções específicas nas células dos seres vivos.). O membro alleles é um array de caracteres no qual cada locus contém um de dois valores, 1 ou 0, indicando que o bit está ligado ou desligado, formando assim a string de bits do cromossomo, ou seja, a solução candidata para o problema. A variável fitness é um número inteiro que indica o fitness do cromossomo. 01. Crom[] calcitness(crom[] clist) { 02. // O TreeSet é utilizado para ordenar a população de cromossomos 03. // de acordo com o valor fitness, do melhor para o pior fitness 04. java.util.treeset sortbyitness = new java.util.treeset(); 05. // Cada cromossomo da população tem seu fitness calculado. 06. // O fitness nesse exemplo é indicado pela quantidade de 07. // 1's (bits "ligados") contidos no cromossomo 08. for(crom c : clist){ 09. for (int l = 0; l < c.alleles.length; ++l) { 10. c.fitness += (c.alleles[l] == '1'? 1 : 0); 11. } sortbyitness.add(c); 14. } return sortbyitness.toarray(new Crom[]{}); 17. } Listagem 3 - Definição do método calcitness O método calcitness da listagem 3 é um dos mais importantes, pois é onde será definido o quanto um cromossomo está próximo da melhor solução possível para o problema em questão. Na implementação da listagem 4, um numero aleatório é sorteado, variando entre 0 e a soma do total de fitness da população. A partir desse número, começando pelo cromossomo de melhor fitness, o valor de fitness de cada indivíduo da população é subtraído do fitness total da população até que se chegue a um número menor ou igual ao número sorteado. O cromossomo que gerou a última subtração é então escolhido como um cromossomo pai. Esse processo é repetido para selecionar os próximos cromossomos pai até que todos os cromossomos filho (offspring) tenham sido gerados e populados na geração seguinte, como pode ser visto no método crossover. O processo de crossover[4] acontece a cada geração (epoch/iteração) do GA, realizando os cruzamentos mencionados acima para gerar os indivíduos da população da geração seguinte. Nessa implementação o método de crossover também realiza a mutação de alelos[5] durante a cópia dos genes do cromossomo pai para o cromossomo filho de acordo com a probabilidade de mutação MUT_RATE. Além disso, a taxa de crossover (XO_RATE) define se dois pais selecionados sofrerão cruzamento ou se seus genes serão copiados sem nenhuma alteração para os filhos. No algoritmo implementado em Java com diversas fontes de conhecimento agregadas em um exemplo de AG implementa- -se o método Roulette Wheel que visa somente a implementação e não a resolução de qualquer problema em especifico todavia, se utilizado a implementação do mesmo poderá facilmente ser adaptado a qualquer tipo de problema especifico. A usabilidade 01. final int POP_SIZE = 100; // Tamanho da população de cromossomos 02. final float MUT_RATE = 0.001f; // Taxa/probabilidade de mutação 03. final float XO_RATE = 0.7f; // Taxa/probabilidade de crossover 04. final int CROM_LEN = 20; // Tamanho (qtde. de bits) do cromossomo 05. final int NUM_GENS = 20; // Quantidade de gerações Listagem 6 - Definição de constantes do algoritmo e reaproveitamento do AG poderá simplesmente ser reaplicado fazendo-se alguns ajustes nas variáveis principais (rate de mutação, rate de crossover) e na função de fitness. Com as constantes do AG valorizadas (listagem 6) poderemos observar os resultados: MUT_RATE: esse número deve estar em entre 0.0 e 1.0 e indica a taxa de mutação dos alelos durante o processo de crossover; XO_RATE: a taxa de crossover indica a probabilidade de cruzamento entre dois cromossomos quando uma nova população está sendo formada; CROM_LEN: nesse exemplo, os genes dos cromossomos são formados por uma string de bits e essa variável indica o tamanho (quantidade de bits) de cada cromossomo; Infosep em Revista - 1ª Edição Página 17

18 Algoritmos Genéticos Artigo Técnico NUM_GENS: aqui indicamos quantas gerações serão produzidas ao executar o GA, ou seja, quantas novas populações serão geradas durante a execução. Após todas as gerações terem sido executadas, imprime o fitness e valor dos alelos dos indivíduos da última geração (listagem 7). [1]John H. Holland. Adaptation in Natural and Artificial Systems. [S.l.]: University of Michigan Press, ISBN [2]ernandes, Anita Maria da Rocha, Inteligência Artificial Noções Gerais, isual Books, > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > 15 Listagem 7 - Demonstração de resultados do algoritmo Conclusão Os AGs requerem do programador informações sobre como avaliar seus indivíduos, isto é, quão boa é a resposta que este representa, mas não exige informações sobre como deve proceder para encontrar pontos ótimos. Esta independência pode ser encarada como um atributo que confere maior inteligência ao processo. AGs clássicos apresenta um desempenho em muitos casos pouco satisfatório um vez comparados com outros algoritmos de busca. Para resolver tal problema, o uso da heurística no operadores genéticos tem sido a solução mais universal adotada. Tal uso não deve ser indiscriminado: ao implementar função dependente de domínio, aproximamos os AGs de seus concorrentes, mesmo no que diz respeito a desvantagens, e em casos mais externos vamos de encontro á sua própria filosofia de funcionamento. Um mau uso da heurística pode, ainda, suprimir a biodiversidade da população e causar problemas como o da convergência prematura. Existem bons argumentos para justificar a popularidade alcançada pelos algoritmos genéticos na comunidade cientifica: sua robustez, adaptabilidade, generalidade e alto grau de paralelismo, entre outras qualidade, fazem deles uma escolha natural quando se deseja implementar uma aplicação de busca e otimização. Por meio de analise realizada ao longo deste trabalho é possível concluir que o ponto mais forte da técnica de algoritmos genéticos reside em simular a natuzera em de seus aspectos mais importante: o principio de que toda robustez que apresenta são conseqüência direta do dinamismo existente em sua organização interna. [3]SALADOR,O. Introdução a Algoritmos Genéticos. geneticos.pdf,out [4] Satoru Ochi Luiz. artigos/satoru/satoru.html,out [5]Lacerda,Estéfane. metaheuristicas/ag_binario.pdf,out O Autor Márcio Dalorsoleta Acadêmico do 2º período do curso de Sistemas de Informação da Unisep - Campus de rancisco Beltrão. O Orientador Prof. Roberto Cesar da Silva Padilha Especialista em Desenvolvimento WEB com Java e.net pela UTPR, e SCJP 1.5 desde 2006, possui 7 anos de experiência em projeto e desenvolvimento de sistemas, e há 2 trabalha com a tecnologia Adobe lex. Roberto é professor do Curso de Sistemas de Informação da Unisep campus de rancisco Beltrão. Referências Infosep em Revista - 1ª Edição Página 18

19

20 Av. União da itória, 14 one/ax: (46) rancisco Beltrão - PR Av. Presidente Kennedy, 2601 one/ax: (46) Dois izinhos - PR

5 Mecanismo de seleção de componentes

5 Mecanismo de seleção de componentes Mecanismo de seleção de componentes 50 5 Mecanismo de seleção de componentes O Kaluana Original, apresentado em detalhes no capítulo 3 deste trabalho, é um middleware que facilita a construção de aplicações

Leia mais

Complemento IV Introdução aos Algoritmos Genéticos

Complemento IV Introdução aos Algoritmos Genéticos Complemento IV Introdução aos Algoritmos Genéticos Esse documento é parte integrante do material fornecido pela WEB para a 2ª edição do livro Data Mining: Conceitos, técnicas, algoritmos, orientações e

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos UNIVERSIDADE PRESBITERIANA MACKENZIE Laboratório de Computação Natural LCoN I ESCOLA DE COMPUTAÇÃO NATURAL Algoritmos Genéticos Rafael Xavier e Willyan Abilhoa Outubro/2012 www.computacaonatural.com.br

Leia mais

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa

Adobe Flex. Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa Adobe Flex Cainã Fuck dos Santos Thiago Vieira Puluceno Jonathan Kuntz Fornari Gustavo Nascimento Costa O que é Flex? Estrutura de Código aberto para a criação de aplicativos Web Utiliza o runtime do Adobe

Leia mais

Manual do Usuário Android Neocontrol

Manual do Usuário Android Neocontrol Manual do Usuário Android Neocontrol Sumário 1.Licença e Direitos Autorais...3 2.Sobre o produto...4 3. Instalando, Atualizando e executando o Android Neocontrol em seu aparelho...5 3.1. Instalando o aplicativo...5

Leia mais

Capítulo 2 Introdução à ferramenta Flash

Capítulo 2 Introdução à ferramenta Flash Capítulo 2 Introdução à ferramenta Flash Índice 1. O uso da ferramenta Flash no projeto RIVED.... 1 2. História do Flash... 4 1. O uso da ferramenta Flash no projeto RIVED. É importante, antes de iniciarmos

Leia mais

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS

EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS EMENTAS DO CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE SISTEMAS INTRODUÇÃO À COMPUTAÇÃO 60 h 1º Evolução histórica dos computadores. Aspectos de hardware: conceitos básicos de CPU, memórias,

Leia mais

Google Drive. Passos. Configurando o Google Drive

Google Drive. Passos. Configurando o Google Drive Google Drive um sistema de armazenagem de arquivos ligado à sua conta Google e acessível via Internet, desta forma você pode acessar seus arquivos a partir de qualquer dispositivo que tenha acesso à Internet.

Leia mais

INF 1771 Inteligência Artificial

INF 1771 Inteligência Artificial Edirlei Soares de Lima INF 1771 Inteligência Artificial Aula 04 Algoritmos Genéticos Introdução Algoritmos genéticos são bons para abordar espaços de buscas muito grandes e navegálos

Leia mais

Portal Contador Parceiro

Portal Contador Parceiro Portal Contador Parceiro Manual do Usuário Produzido por: Informática Educativa 1. Portal Contador Parceiro... 03 2. Acesso ao Portal... 04 3. Profissionais...11 4. Restrito...16 4.1 Perfil... 18 4.2 Artigos...

Leia mais

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS

DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS DESENVOLVIMENTO EM DISPOSITIVOS MÓVEIS UTILIZANDO BANCO DE DADOS Leandro Guilherme Gouvea 1, João Paulo Rodrigues 1, Wyllian Fressatti 1 1 Universidade Paranaense (Unipar) Paranavaí PR Brasil leandrog.gouvea@gmail.com,

Leia mais

Manual do usuário. isic 5 - Android

Manual do usuário. isic 5 - Android Manual do usuário isic 5 - Android isic 5 - Android Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. O novo aplicativo Intelbras isic 5 possui tecnologia capaz de visualizar

Leia mais

O GEM é um software 100% Web, ou seja, você poderá acessar de qualquer local através da Internet.

O GEM é um software 100% Web, ou seja, você poderá acessar de qualquer local através da Internet. Olá! Você está recebendo as informações iniciais para utilizar o GEM (Software para Gestão Educacional) para gerenciar suas unidades escolares. O GEM é um software 100% Web, ou seja, você poderá acessar

Leia mais

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android

Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Desenvolvimento com Android Studio Aula 01 Instalação e Configuração do Ambiente de Desenvolvimento, Estrutura de um projeto Android Instalação e Configuração do Ambiente de Desenvolvimento Instalação

Leia mais

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2

Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Curso Tecnológico de Redes de Computadores 5º período Disciplina: Tecnologia WEB Professor: José Maurício S. Pinheiro V. 2009-2 Aula 3 Virtualização de Sistemas 1. Conceito Virtualização pode ser definida

Leia mais

Proposta do projeto de extensão: Inclusão digital dos softwares livres na comunidade escolar da rede pública em Aracaju SE

Proposta do projeto de extensão: Inclusão digital dos softwares livres na comunidade escolar da rede pública em Aracaju SE Proposta do projeto de extensão: Inclusão digital dos softwares livres na comunidade escolar da rede pública em Aracaju SE Resumo O projeto tem como objetivo principal promover a inclusão digital dos softwares

Leia mais

Anexo III Funcionamento detalhado do Sistema Montador de Autoria

Anexo III Funcionamento detalhado do Sistema Montador de Autoria 1 Sumário Anexo III Funcionamento detalhado do Sistema Montador de Autoria Anexo III Funcionamento detalhado do Sistema Montador de Autoria... 1 1 Sumário... 1 2 Lista de Figuras... 5 3 A Janela principal...

Leia mais

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE.

Guia. PDA e SmartPhones. Windows Mobile, Pocket PC e CE. Guia PDA e SmartPhones Windows Mobile, Pocket PC e CE. Referência completa para o integrador do sistema Module. Aborda os recursos necessários para a itulização, instalação do software e importação das

Leia mais

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

Manual da Turma Virtual: MATERIAIS. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo: Manual da Turma Virtual: MATERIAIS Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo: MENU TURMA VIRTUAL MENU MATERIAIS CONTEÚDO/PÁGINA WEB Esta operação possibilita que

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP Aprenda a criar Websites dinâmicos e interativos com PHP e bancos de dados Juliano Niederauer 19 Capítulo 1 O que é o PHP? O PHP é uma das linguagens mais utilizadas na Web.

Leia mais

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características:

Para que o NSBASIC funcione corretamente em seu computador, você deve garantir que o mesmo tenha as seguintes características: Cerne Tecnologia www.cerne-tec.com.br Conhecendo o NSBASIC para Palm Vitor Amadeu Vitor@cerne-tec.com.br 1. Introdução Iremos neste artigo abordar a programação em BASIC para o Palm OS. Para isso, precisaremos

Leia mais

Trabalho GA - Editor de Cenário Parallax

Trabalho GA - Editor de Cenário Parallax Objetivo A tarefa consiste em criar um editor gráfico de cenários para jogos 2D com visão lateral. O editor deve permitir que o usuário trabalhe com camadas, para simular o efeito parallax. O usuário pode

Leia mais

CADERNO DE QUESTÕES WINDOWS 8

CADERNO DE QUESTÕES WINDOWS 8 CADERNO DE QUESTÕES WINDOWS 8 1) No sistema operacional Microsoft Windows 8, uma forma rápida de acessar o botão liga/desliga é através do atalho: a) Windows + A. b) ALT + C. c) Windows + I. d) CTRL +

Leia mais

Introdução a Computação Móvel

Introdução a Computação Móvel Introdução a Computação Móvel Computação Móvel Prof. Me. Adauto Mendes adauto.inatel@gmail.com Histórico Em 1947 alguns engenheiros resolveram mudar o rumo da história da telefonia. Pensando em uma maneira

Leia mais

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ. Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Ponta Grossa ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Ponta Grossa 2012 ANDRÉ LUIS CORDEIRO DE FARIA RELATÓRIO DE ESTÁGIO Trabalho elaborado pelo

Leia mais

Desenvolvendo Websites com PHP

Desenvolvendo Websites com PHP Desenvolvendo Websites com PHP 2ª Edição Juliano Niederauer Novatec Copyright 2009, 2011 da Novatec Editora Ltda. Todos os direitos reservados e protegidos pela Lei 9.610 de 19/02/1998. É proibida a reprodução

Leia mais

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas

Linguagem de Programação JAVA. Professora Michelle Nery Nomeclaturas Linguagem de Programação JAVA Professora Michelle Nery Nomeclaturas Conteúdo Programático Nomeclaturas JDK JRE JEE JSE JME JVM Toolkits Swing AWT/SWT JDBC EJB JNI JSP Conteúdo Programático Nomenclatures

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Criação de Formulários no Google Drive Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Criação de Formulários no Google Drive Introdução...

Leia mais

Manual do usuário. isic 5 - Android

Manual do usuário. isic 5 - Android Manual do usuário isic 5 - Android isic 5 - Android Parabéns, você acaba de adquirir um produto com a qualidade e segurança Intelbras. O novo aplicativo Intelbras isic 5 possui tecnologia capaz de visualizar

Leia mais

ISSN 2238-9113 ÁREA TEMÁTICA: (marque uma das opções)

ISSN 2238-9113 ÁREA TEMÁTICA: (marque uma das opções) 13. CONEX Apresentação Oral Resumo Expandido 1 ISSN 2238-9113 ÁREA TEMÁTICA: (marque uma das opções) ( ) COMUNICAÇÃO ( ) CULTURA ( ) DIREITOS HUMANOS E JUSTIÇA ( ) EDUCAÇÃO ( ) MEIO AMBIENTE ( ) SAÚDE

Leia mais

Manual de instalação e configuração

Manual de instalação e configuração SERVIÇO PÚBLICO FEDERAL MINISTÉRIO DA EDUCAÇÃO SECRETARIA DE EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA INSTITUTO FEDERAL FARROUPILHA CAMPUS SÃO BORJA Manual de instalação e configuração Autores Claiton Marques

Leia mais

AULA 3 FERRAMENTAS E APLICATIVOS DE NAVEGAÇÃO, DE CORREIO ELETRÔNICO, DE GRUPOS DE DISCUSSÃO, DE BUSCA E PESQUISA (PARTE II)

AULA 3 FERRAMENTAS E APLICATIVOS DE NAVEGAÇÃO, DE CORREIO ELETRÔNICO, DE GRUPOS DE DISCUSSÃO, DE BUSCA E PESQUISA (PARTE II) AULA 3 FERRAMENTAS E APLICATIVOS DE NAVEGAÇÃO, DE CORREIO ELETRÔNICO, DE GRUPOS DE DISCUSSÃO, DE BUSCA E PESQUISA (PARTE II) A seguir vamos ao estudo das ferramentas e aplicativos para utilização do correio

Leia mais

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina

Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Programação para Internet Rica 1 Aula 2: RIA - Aplicações Ricas para Internet Fonte: Plano de Aula Oficial da Disciplina Objetivo: Identificar as principais características de uma Aplicação Internet Rica.

Leia mais

Manual de Configuração e Utilização TabFisc Versão Mobile 09/2013 Pag. 1 MANUAL DE UTILIZAÇÃO TABLET VERSÃO MOBILE

Manual de Configuração e Utilização TabFisc Versão Mobile 09/2013 Pag. 1 MANUAL DE UTILIZAÇÃO TABLET VERSÃO MOBILE Pag. 1 MANUAL DE UTILIZAÇÃO TABLET VERSÃO MOBILE Pag. 2 INTRODUÇÃO Esse documento contém as instruções básicas para a utilização do TabFisc Versão Mobile (que permite ao fiscal a realização do seu trabalho

Leia mais

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP)

Hardware (Nível 0) Organização. Interface de Máquina (IM) Interface Interna de Microprogramação (IIMP) Hardware (Nível 0) Organização O AS/400 isola os usuários das características do hardware através de uma arquitetura de camadas. Vários modelos da família AS/400 de computadores de médio porte estão disponíveis,

Leia mais

O Windows 7 é um sistema operacional desenvolvido pela Microsoft.

O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Introdução ao Microsoft Windows 7 O Windows 7 é um sistema operacional desenvolvido pela Microsoft. Visualmente o Windows 7 possui uma interface muito intuitiva, facilitando a experiência individual do

Leia mais

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 4º PERÍODO - 7º MÓDULO AVALIAÇÃO A4 DATA 22/10/2009 ENGENHARIA DE USABILIDADE

ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 4º PERÍODO - 7º MÓDULO AVALIAÇÃO A4 DATA 22/10/2009 ENGENHARIA DE USABILIDADE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS TURMA 2008 4º PERÍODO - 7º MÓDULO AVALIAÇÃO A4 DATA 22/10/2009 ENGENHARIA DE USABILIDADE 2009/2 GABARITO COMENTADO QUESTÃO 1: Quando nos referimos à qualidade da interação

Leia mais

Dicas para usar melhor o Word 2007

Dicas para usar melhor o Word 2007 Dicas para usar melhor o Word 2007 Quem está acostumado (ou não) a trabalhar com o Word, não costuma ter todo o tempo do mundo disponível para descobrir as funcionalidades de versões recentemente lançadas.

Leia mais

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ

Introdução ao Android. SECAP 2014 Prof. Rone Ilídio - UFSJ Introdução ao Android SECAP 2014 Prof. Rone Ilídio - UFSJ O que é o Android? Sistema operacional móvel, baseado numa versão modificada do Linux. Código aberto: qualquer pessoa pode baixar e modificar Máquina

Leia mais

Introdução às Redes Neurais Artificiais

Introdução às Redes Neurais Artificiais Introdução às Redes Neurais Artificiais Treinamento via Algoritmos Genéticos Prof. João Marcos Meirelles da Silva http://www.professores.uff.br/jmarcos Departamento de Engenharia de Telecomunicações Escola

Leia mais

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013

QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 QUESTINAMENTOS AO EDITAL DE CONCORRÊNCIA 01/2013 Prezados Senhores da comissão de licitação da UENF, seguem alguns questionamentos acerca do edital de concorrência 01/2013 para esclarecimentos: 1. ANEXO

Leia mais

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico

SGCD 2.0 Sistema Gerenciador de Conteúdo Dinâmico Sistema Gerenciador de Conteúdo Dinâmico Atualizado em 24/08/2011 No final de 2007, o Serviço Técnico de Informática da UNESP Marília, disponibilizou para a comunidade acadêmica e administrativa o Sistema

Leia mais

GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG

GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG GuiBi: Um aplicativo para plataforma Android com um guia comercial da cidade de Bambuí MG Bruno Alberto Soares Oliveira 1,3 ; Lucas Vieira Murilo 1,3 ; Maik Olher Chaves 2,3 1 Estudante de Engenharia de

Leia mais

Tipos de Sistemas Distribuídos (Cluster e Grid)

Tipos de Sistemas Distribuídos (Cluster e Grid) Tipos de Sistemas Distribuídos (Cluster e Grid) Sistemas Distribuídos Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência

Leia mais

Tutorial 5 Questionários

Tutorial 5 Questionários Tutorial 5 Questionários A atividade Questionário no Moodle pode ter várias aplicações, tais como: atividades de autoavaliação, lista de exercícios para verificação de aprendizagem, teste rápido ou ainda

Leia mais

Programação para Android. Aula 06: Activity, menus e action bar

Programação para Android. Aula 06: Activity, menus e action bar Programação para Android Aula 06: Activity, menus e action bar Activity A classe Activity é quem gerencia a interface com o usuário. Ela quem recebe as requisições, as trata e processa. Na programação

Leia mais

DIFERENCIAIS SERVIÇOS. 1. Desenvolvimento De Sites Personalizados

DIFERENCIAIS SERVIÇOS. 1. Desenvolvimento De Sites Personalizados DIFERENCIAIS Acredito que o desenvolvimento de soluções para Internet não é um trabalho qualquer, deve-se ter certa experiência e conhecimento na área para projetar sistemas que diferenciem você de seu

Leia mais

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes

Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes Pág 50 Programação Orientada a Objetos - 3º semestre AULA 08 Prof. André Moraes 10 CORREÇÃO DE QUESTÕES DE AVALIAÇÃO 1 PARTE I - AVALIAÇÃO TEÓRICA 11 RESPONDA AS QUESTÕES ABAIXO: A) Qual a diferença entre

Leia mais

Manual do AP_Conta. Manual do AP_Conta. Aplicativo para digitação e envio de contas médicas no padrão TISS

Manual do AP_Conta. Manual do AP_Conta. Aplicativo para digitação e envio de contas médicas no padrão TISS 2014 Manual do AP_Conta Aplicativo para digitação e envio de contas médicas no padrão TISS 0 Sumário 1. Sobre esse manual... 3 2. Habilitando e Configurando o AP_Conta... 4 3. Habilitação e Licenciamento...

Leia mais

MANUAL DO USUÁRIO. Software de imagem via celular (isic) para sistema operacional BlackBerry

MANUAL DO USUÁRIO. Software de imagem via celular (isic) para sistema operacional BlackBerry MANUAL DO USUÁRIO Software de imagem via celular (isic) para sistema operacional BlackBerry Software de imagem via celular para sistema operacional BlackBerry Parabéns, você acaba de adquirir um produto

Leia mais

Programação para Dispositivos Móveis

Programação para Dispositivos Móveis Programação para Dispositivos Móveis Fatec Ipiranga Análise e Desenvolvimento de Sistemas Aula 05 Programando formularios, activities e intents. Dalton Martins dmartins@gmail.com São Paulo, Março, 2012

Leia mais

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA

FERRAMENTAS DE COLABORAÇÃO CORPORATIVA FERRAMENTAS DE COLABORAÇÃO CORPORATIVA Manual de Utilização Google Grupos Sumário (Clique sobre a opção desejada para ir direto à página correspondente) Utilização do Google Grupos Introdução... 3 Página

Leia mais

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento

O que é o Virto ERP? Onde sua empresa quer chegar? Apresentação. Modelo de funcionamento HOME O QUE É TOUR MÓDULOS POR QUE SOMOS DIFERENTES METODOLOGIA CLIENTES DÚVIDAS PREÇOS FALE CONOSCO Suporte Sou Cliente Onde sua empresa quer chegar? Sistemas de gestão precisam ajudar sua empresa a atingir

Leia mais

Manual de instalação e configuração da Ferramenta Android SDK

Manual de instalação e configuração da Ferramenta Android SDK Trabalho de Programação para Dispositivos Móveis Turma: 1011 Camila Botelho camilacunhabotelho@gmail.com Manual de instalação e configuração da Ferramenta Android SDK Introdução O Android é uma ferramenta

Leia mais

ÍNDICE... 2 INTRODUÇÃO... 3. A série... 3

ÍNDICE... 2 INTRODUÇÃO... 3. A série... 3 WORD 2007 E 2010 ÍNDICE ÍNDICE... 2 INTRODUÇÃO... 3 A série... 3 01 CAPTURAS DE TELA WORD 2010... 3 02 IMAGENS 2007/2010... 5 03 NOTAS DE RODAPÉ... 13 04 NUMERAÇÃO DE PÁGINAS... 15 05 CONTAR PALAVRAS...

Leia mais

Revista Eletrônica da FANESE ISSN 2317-3769

Revista Eletrônica da FANESE ISSN 2317-3769 FRAMEWORK PARA TREINAMENTOS NA WEB BASEADO EM VÍDEO SOBRE DEMANDA Ícaro Carlos Andrade Costa 1 Igor Antônio Andrade Costa 2 Ricardo Ariel Correa Rabelo 3 Renata Azevedo Santos Carvalho 4 RESUMO A educação

Leia mais

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider

Ferramenta: Spider-CL. Manual do Usuário. Versão da Ferramenta: 1.1. www.ufpa.br/spider Ferramenta: Spider-CL Manual do Usuário Versão da Ferramenta: 1.1 www.ufpa.br/spider Histórico de Revisões Data Versão Descrição Autor 14/07/2009 1.0 15/07/2009 1.1 16/07/2009 1.2 20/05/2010 1.3 Preenchimento

Leia mais

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1

CENTRO UNIVERSITÁRIO ESTÁCIO RADIAL DE SÃO PAULO SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1 SÍNTESE DO PROJETO PEDAGÓGICO DE CURSO 1 CURSO: ANÁLISE E DESENVOLVIMENTO DE SISTEMAS MISSÃO DO CURSO A concepção do curso de Análise e Desenvolvimento de Sistemas está alinhada a essas novas demandas

Leia mais

O conjunto é composto por duas seções: o App Inventor Designer e o App Inventor Blocks Editor, cada uma com uma função específica.

O conjunto é composto por duas seções: o App Inventor Designer e o App Inventor Blocks Editor, cada uma com uma função específica. Google App Inventor: o criador de apps para Android para quem não sabe programar Por Alexandre Guiss Fonte: www.tecmundo.com.br/11458-google-app-inventor-o-criador-de-apps-para-android-para-quem-naosabe-programar.htm

Leia mais

Aplicativo para elaboração de questionários, coleta de respostas e análise de dados na área da saúde em dispositivos móveis

Aplicativo para elaboração de questionários, coleta de respostas e análise de dados na área da saúde em dispositivos móveis Aplicativo para elaboração de questionários, coleta de respostas e análise de dados na área da saúde em dispositivos móveis Visão Versão Histórico da Revisão Data Versão Descrição Autor 24/06/12

Leia mais

Editor de Questões E24H

Editor de Questões E24H Editor de Questões E24H Conteúdo: Apresentação O que é o Editor de Questões Objetivos Potencialidades Vantagens adicionais Visualização no site (Quem acessa o Editor de Questões) (não Para quem o Editor

Leia mais

Informática Aplicada

Informática Aplicada Informática Aplicada SO Windows Aula 3 Prof. Walteno Martins Parreira Jr www.waltenomartins.com.br waltenomartins@yahoo.com 2014 APRESENTAÇÃO Todo computador precisa de um sistema operacional. O Windows

Leia mais

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR $,'(GR5HSRUW0DQDJHU

8VDQGR5HSRUW0DQDJHUFRP&ODULRQH3RVWJUH64/ -XOLR&HVDU3HGURVR $,'(GR5HSRUW0DQDJHU $,'(GR5HSRUW0DQDJHU Neste capítulo vamos abordar o ambiente de desenvolvimento do Report Manager e como usar os seus recursos. $FHVVDQGRRSURJUDPD Depois de instalado o Report Manager estará no Grupo de

Leia mais

Versão 2.2.0 PIMACO AUTOADESIVOS LTDA. Assistente Pimaco + 2.2.0. Ajuda ao Usuário

Versão 2.2.0 PIMACO AUTOADESIVOS LTDA. Assistente Pimaco + 2.2.0. Ajuda ao Usuário Versão 2.2.0 PIMACO AUTOADESIVOS LTDA. Assistente Pimaco + 2.2.0 Ajuda ao Usuário A S S I S T E N T E P I M A C O + 2.2.0 Ajuda ao usuário Índice 1. BÁSICO 1 1. INICIANDO O APLICATIVO 2 2. O AMBIENTE DE

Leia mais

OneDrive: saiba como usar a nuvem da Microsoft

OneDrive: saiba como usar a nuvem da Microsoft OneDrive: saiba como usar a nuvem da Microsoft O OneDrive é um serviço de armazenamento na nuvem da Microsoft que oferece a opção de guardar até 7 GB de arquivos grátis na rede. Ou seja, o usuário pode

Leia mais

FUNCEXDATA 2.0. Manual do Usuário. Maio/2012. Ajudando o Brasil a expandir fronteiras

FUNCEXDATA 2.0. Manual do Usuário. Maio/2012. Ajudando o Brasil a expandir fronteiras Ajudando o Brasil a expandir fronteiras FUNCEXDATA 2.0 Manual do Usuário Maio/2012 Funcex Av. Rio Branco, 120, Gr. 707, Centro 20040-001 Rio de Janeiro RJ Instituída em 12 de março de 1976 CNPJ 42.580.266/0001-09.

Leia mais

Pós Graduação Engenharia de Software

Pós Graduação Engenharia de Software Pós Graduação Engenharia de Software Ana Candida Natali COPPE/UFRJ Programa de Engenharia de Sistemas e Computação FAPEC / FAT Estrutura do Módulo Parte 1 QUALIDADE DE SOFTWARE PROCESSO Introdução: desenvolvimento

Leia mais

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados

Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Projeto e Análise de Algoritmos Projeto de Algoritmos Heurísticas e Algoritmos Aproximados Prof. Humberto Brandão humberto@bcc.unifal-mg.edu.br Universidade Federal de Alfenas Departamento de Ciências

Leia mais

Programação para Android. Aula 08: Persistência de dados SQL

Programação para Android. Aula 08: Persistência de dados SQL Programação para Android Aula 08: Persistência de dados SQL Persistência de dados Na maioria das aplicações precisamos ter algum tipo de persistência de dados. Para guardar informações de forma persistente

Leia mais

Manual do Usuário Layout Novo CMS WordPress Versão atual: 3.5.1

Manual do Usuário Layout Novo CMS WordPress Versão atual: 3.5.1 UNIVERSIDADE FEDERAL DE JUIZ DE FORA UFJF Secretaria de Sistemas de Informação SSI Centro de Gestão do Conhecimento Organizacional CGCO Equipe de Desenvolvimento de Sites Manual do Usuário Layout Novo

Leia mais

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE II. Primeiro Trabalho

UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE II. Primeiro Trabalho UNIVERSIDADE FEDERAL FLUMINENSE INSTITUTO DE CIÊNCIA DA COMPUTAÇÃO ENGENHARIA DE SOFTWARE II Primeiro Trabalho Descrição do trabalho: Escrever um Documento de Visão. Projeto: Automatização do sistema que

Leia mais

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44

Etc & Tal. Volume 2 - Número 1 - Abril 2009 SBC HORIZONTES 44 Armazenando Dados em Aplicações Java Parte 2 de 3: Apresentando as opções Hua Lin Chang Costa, hualin@cos.ufrj.br, COPPE/UFRJ. Leonardo Gresta Paulino Murta, leomurta@ic.uff.br, IC/UFF. Vanessa Braganholo,

Leia mais

Guia de Uso. O Pro-Treino tem uma divisão clara de funções, apresentada a seguir: E três tipos de usuários que executam as funções descritas acima:

Guia de Uso. O Pro-Treino tem uma divisão clara de funções, apresentada a seguir: E três tipos de usuários que executam as funções descritas acima: Sumário 1. Introdução... 2 2. Conceitos básicos... 2 2.1. Fluxo do sistema... 3 2.2. Acesso ao sistema... 4 2.2.1. Login... 4 2.2.2. Logoff... 4 2.2.3. Esqueci minha senha... 5 2.3. Conhecendo o Sistema...

Leia mais

Centro de Agricultura Alternativa CAA Manual do Usuário do Portal Ypadê Balaio Digital Tecnologia em Gestão Ltda ME. Manual do Usuário Portal Ypadê

Centro de Agricultura Alternativa CAA Manual do Usuário do Portal Ypadê Balaio Digital Tecnologia em Gestão Ltda ME. Manual do Usuário Portal Ypadê Centro de Agricultura Alternativa CAA Manual do Usuário Portal Ypadê Montes Claros, 16 de Julho de 2011 Revisão 3 Sumário 1. Apresentação do portal e escopo deste documento... 2 2. Acessando o Portal Ypadê...

Leia mais

GUIA DE ORIENTAÇÕES PRÁTICAS

GUIA DE ORIENTAÇÕES PRÁTICAS GUIA DE ORIENTAÇÕES PRÁTICAS Professores e Coordenadores Pedagógicos 1. INTRODUÇÃO 2. PROPOSTA PEDAGÓGICA 3. COMO UTILIZAR 4. COMO ACESSAR A PLATAFORMA 5. ACOMPANHAMENTO DOS ALUNOS 6. CONTROLE DE CRÉDITOS

Leia mais

Introdução. Nesta guia você aprenderá:

Introdução. Nesta guia você aprenderá: 1 Introdução A criação de uma lista é a primeira coisa que devemos saber no emailmanager. Portanto, esta guia tem por objetivo disponibilizar as principais informações sobre o gerenciamento de contatos.

Leia mais

Requisitos de business intelligence para TI: O que todo gerente de TI deve saber sobre as necessidades reais de usuários comerciais para BI

Requisitos de business intelligence para TI: O que todo gerente de TI deve saber sobre as necessidades reais de usuários comerciais para BI Requisitos de business intelligence para TI: O que todo gerente de TI deve saber sobre as necessidades reais de usuários comerciais para BI Janeiro de 2011 p2 Usuários comerciais e organizações precisam

Leia mais

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software.

Manual Easy Chat Data de atualização: 20/12/2010 16:09 Versão atualizada do manual disponível na área de download do software. 1 - Sumário 1 - Sumário... 2 2 O Easy Chat... 3 3 Conceitos... 3 3.1 Perfil... 3 3.2 Categoria... 4 3.3 Ícone Específico... 4 3.4 Janela Específica... 4 3.5 Ícone Geral... 4 3.6 Janela Geral... 4 4 Instalação...

Leia mais

Android e Bancos de Dados

Android e Bancos de Dados (Usando o SQLite) Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do

Leia mais

MANUAL DO GERENCIADOR ESCOLAR WEB

MANUAL DO GERENCIADOR ESCOLAR WEB CNS LEARNING MANUAL DO GERENCIADOR ESCOLAR WEB Versão Online 13 Índice ÍNDICE... 1 VISÃO GERAL... 2 CONCEITO E APRESENTAÇÃO VISUAL... 2 PRINCIPAIS MÓDULOS... 3 ESTRUTURAÇÃO... 3 CURSOS... 4 TURMAS... 4

Leia mais

Aplicativo da Manifestação do Destinatário. Manual

Aplicativo da Manifestação do Destinatário. Manual Aplicativo da Manifestação do Destinatário Manual Novembro de 2012 1 Sumário 1 Aplicativo de Manifestação do Destinatário...4 2 Iniciando o aplicativo...4 3 Menus...5 3.1 Manifestação Destinatário...5

Leia mais

Desenvolvimento Android. http://www.larback.com.br

Desenvolvimento Android. http://www.larback.com.br Desenvolvimento Android http://www.larback.com.br Introdução ao Android O Android é a resposta da Google ao mercado crescente de dispositivos móveis. É uma nova plataforma de desenvolvimento baseado no

Leia mais

FACULDADE REDENTOR NUCLEO DE APOIO EMPRESARIAL CURSO DE ADMINISTRAÇÃO

FACULDADE REDENTOR NUCLEO DE APOIO EMPRESARIAL CURSO DE ADMINISTRAÇÃO FACULDADE REDENTOR NUCLEO DE APOIO EMPRESARIAL CURSO DE ADMINISTRAÇÃO Justificativa: As transformações ocorridas nos últimos anos têm obrigado as organizações a se modificarem constantemente e de forma

Leia mais

Coleção - Análises de email marketing em clientes de email

Coleção - Análises de email marketing em clientes de email Coleção - Análises de email marketing em clientes de email Introdução Nesta sexta e penúltima edição da Coletânea de Análises de Email Marketing em Clientes de Email, apresentamos os estudos dos clientes

Leia mais

Sistema Eletrônico de Editoração de RevistasSEER

Sistema Eletrônico de Editoração de RevistasSEER Sistema Eletrônico de Editoração de RevistasSEER O SEER foi traduzido e customizado pelo Instituto Brasileiro de Informação em Ciência e Tecnologia (IBICT) baseado no software desenvolvido pelo Public

Leia mais

Informática básica: Sistema operacional Microsoft Windows XP

Informática básica: Sistema operacional Microsoft Windows XP Informática básica: Sistema operacional Microsoft Windows XP...1 Informática básica: Sistema operacional Microsoft Windows XP...1 Iniciando o Windows XP...2 Desligar o computador...3 Área de trabalho...3

Leia mais

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA

ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA 136 ALGORITMOS GENÉTICOS: UMA VISÃO EXPLANATÓRIA FILITTO, Danilo 1 Resumo: Os algoritmos Genéticos inspiram-se no processo de evolução natural e são utilizados para resolver problemas de busca e otimização

Leia mais

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva

Mapas e Localização. Programação de Dispositivos Móveis. Mauro Lopes Carvalho Silva Programação de Dispositivos Móveis Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Objetivos

Leia mais

Estamos muito felizes por compartilhar com você este novo serviço educacional do Centro Universitário de Patos de Minas.

Estamos muito felizes por compartilhar com você este novo serviço educacional do Centro Universitário de Patos de Minas. PALAVRA DO COORDENADOR Estimado, aluno(a): Seja muito bem-vindo aos Cursos Livres do UNIPAM. Estamos muito felizes por compartilhar com você este novo serviço educacional do Centro Universitário de Patos

Leia mais

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms.

ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS. Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. ANÁLISE E IMPLEMENTAÇÃO DE ALGORITMOS DE COMPRESSÃO DE DADOS Maria Carolina de Souza Santos 1 Orientador: Prof.º Ms. Mauricio Duarte 2 Centro Universitário Euripides de Marilia UNIVEM FATEC Faculdade de

Leia mais

Unidade 1: O Painel de Controle do Excel *

Unidade 1: O Painel de Controle do Excel * Unidade 1: O Painel de Controle do Excel * material do 2010* 1.0 Introdução O Excel nos ajuda a compreender melhor os dados graças à sua organização em células (organizadas em linhas e colunas) e ao uso

Leia mais

APOSTILA LINUX EDUCACIONAL

APOSTILA LINUX EDUCACIONAL MUNICÍPIO DE NOVO HAMBURGO DIRETORIA DE INCLUSÃO DIGITAL DIRETORIA DE GOVERNO ELETRÔNICO APOSTILA LINUX EDUCACIONAL (Conteúdo fornecido pelo Ministério da Educação e pela Pró-Reitoria de Extensão da UNEB)

Leia mais

APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS

APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS APOSTILA BÁSICA INFORMÁTICA: 1. PROCESSADOR DE TEXTOS 1.1 Conhecendo o aplicativo Word 2007 2.EDITOR DE PLANILHAS 3.INTERNET 3.1. Internet: recursos e pesquisas 3.2. Conhecendo a Web 3.3. O que é um navegador?

Leia mais

Manual do Usuário Publicador

Manual do Usuário Publicador Manual do Usuário Publicador Portal STN SERPRO Superintendência de Desenvolvimento SUPDE Setor de Desenvolvimento de Sítios e Portais DEDS2 Versão 1.1 Fevereiro 2014 Sumário Sobre o Manual... 3 Objetivo...

Leia mais

Introdução ao Android SDK. Prof. Me. Hélio Esperidião

Introdução ao Android SDK. Prof. Me. Hélio Esperidião Introdução ao Android SDK Prof. Me. Hélio Esperidião Android SDK O Android SDK permite que os desenvolvedores elaborem as aplicações a partir de um dispositivo virtual para os aparelhos de celular e tablet,

Leia mais

Curso de Capacitação ao Sistema CDV. - GID Desmanches -

Curso de Capacitação ao Sistema CDV. - GID Desmanches - Curso de Capacitação ao Sistema CDV - GID Desmanches - Coordenadoria de Gestão de Desmanches Divisão de Desmanches Conteúdo Módulo 1 Como utilizar o Moodle... 4 Módulo 2 - Acessando o GID CDV... 4 Aula

Leia mais

QUESTÕES SOBRE WINDOWS 7

QUESTÕES SOBRE WINDOWS 7 Informática Windows 7 QUESTÕES SOBRE WINDOWS 7 1) Considerando a figura exibida acima, ao repousar o ponteiro do mouse sobre o ícone doword, aparecerão três miniaturas, representando arquivos desse programa

Leia mais

Processo de garantia da qualidade baseado no modelo MPS.BR. Acadêmico: Anildo Loos Orientador: Everaldo Artur Grahl

Processo de garantia da qualidade baseado no modelo MPS.BR. Acadêmico: Anildo Loos Orientador: Everaldo Artur Grahl Processo de garantia da qualidade baseado no modelo MPS.BR Acadêmico: Anildo Loos Orientador: Everaldo Artur Grahl Roteiro introdução objetivos do trabalho fundamentação teórica desenvolvimento da ferramenta

Leia mais

Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião

Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião Introdução a programação de dispositivos móveis. Prof. Me. Hélio Esperidião Windows Mobile O Windows Mobile é um sistema operacional compacto, desenvolvido para rodar em dispositivos móveis como Pocket

Leia mais