1000 resultados para PHP (Linguagem de programação de computador)
Resumo:
A estimativa do escoamento superficial em bacias hidrográficas é de suma importância para conservação dos recursos naturais; entretanto, esse é um processo complexo e dinâmico, principalmente no contexto de sua variabilidade espacial. Dessa forma, torna-se adequada a aplicação dos Sistemas de Informações Geográficas (SIG) usando pequenas células de informação, pois assim é possível considerar o comportamento espacial das variáveis associadas à origem do escoamento superficial. Este trabalho teve como objetivo implementar os modelos hidrológicos Curva Número (CN-SCS) e Curva-Número Modificado (CN-MMS), com base na linguagem de programação do SIG PCRaster e em uma base de dados reduzida, de forma distribuída e dinâmica, com o intuito de estimar as lâminas de escoamento superficial geradas numa bacia hidrográfica de Latossolos, localizada no município de Nazareno, região dos Campos das Vertentes, Minas Gerais. Para aplicação do modelo CN-SCS foi preciso desenvolver um mapa com valores de CN no formato do PCRaster, enquanto para o modelo CN-MMS foram necessários os seguintes mapas: umidade volumétrica de saturação do solo, umidade volumétrica inicial do solo e profundidade de solo. Para simulação e avaliação de ambos os modelos, foram aplicados 18 eventos de chuva natural que provocaram escoamento superficial, durante o ano hidrológico 2004-2005, e suas respectivas lâminas de escoamento observadas. A análise do desempenho dos modelos foi feita aplicando-se análise de sensibilidade baseada no erro médio e na Raiz do Erro Quadrático (REQ). Tendo-se como referência essas estatísticas de precisão, pôde-se constatar que o modelo CN-MMS apresentou melhor calibração quando comparado ao modelo CN-SCS, devido à consideração direta da umidade inicial do solo. Contudo, a estruturação dos modelos no SIG PCRaster possibilitou o desenvolvimento de uma ferramenta computacional eficaz e útil para simulação do escoamento superficial, visto que propicia estruturação de rotinas computacionais considerando os problemas associados à variabilidade espacial dos dados de entrada dos modelos.
Resumo:
Há dois principais tipos de penetrômetro, o estático e o dinâmico. No primeiro, uma haste com uma ponta cônica é introduzida contínua e lentamente (quase estático), registrando-se concomitantemente a força de reação que é igual à resistência do solo. No segundo, utiliza-se a mesma haste. Contudo, esta é introduzida por meio da promoção de uma massa de impacto em queda livre. Dessa forma, a teoria pode ser tratada pela dinâmica newtoniana para obtenção da resistência. O objetivo do programa é proporcionar uma ferramenta rápida, facilitadora da computação de dados de resistência do solo, para esse último penetrômetro, resultando tabelas e gráficos já no formato científico. Desenvolvido em linguagem de programação Visual Basic Aplication (VBA), escolheu-se o aplicativo Excel como interface com o usuário pela sua popularidade. É constituído por quatro planilhas, duasauxiliares, sendo duas delas essenciais, Plan1 e 2: Plan1 - dados de entrada (número de impactos e profundidade). Concomitante à digitação, a tabela de resistência é confeccionada com o respectivo gráfico, podendo tabelar 40 perfis. Plan2 - cumpre função especial de equalizar, ou seja, padronizar a profundidade em camadas constantes, permitindo unificar todos os perfis em uma única tabela. Para tal, escolhe-se uma espessura de camada (exemplo: 5 cm); em seguida, o programa coleta os dados de resistência (MPa) da Plan1 e interpola os valores para a profundidade de 5 em 5 cm. Após realizar esse procedimento para todas as tabelas da Plan1, o programa gera, na Plan2, uma única tabela com todos os perfis, a média geral e os respectivos gráficos. É possível selecionar os perfis; por exemplo, apenas os medidos na linha ou entrelinha de plantio e eliminar perfis a critério do usuário. Como objetivo complementar, descreve-se a evolução do projeto "Penetrômetro de impacto", iniciado em 1982, cuja técnica passou a ser adotada no meio científico, após a publicação da teoria nesta revista em 1991. Apresenta-se também levantamento no meio científico nos últimos três anos (2010-2012), propiciando uma visão das principais aplicações na atualidade.
Resumo:
OBJETIVO: Apresentar a implementação de "toolkits" para visualização de imagens médicas no padrão DICOM e fazer uma revisão dos fundamentos e características deste padrão. É apresentado o VDTApplication para visualização das imagens locais e remotas, e o VDTApplet, que possibilita a visualização das imagens utilizando um navegador. MATERIAIS E MÉTODOS: Os "toolkits" foram implementados utilizando a linguagem de programação Java. Para seu desenvolvimento foram consideradas as variações do padrão DICOM, tornando-o um sistema genérico, capaz de ler e abrir imagens geradas por diferentes modalidades de diversos fabricantes. As ferramentas foram avaliadas qualitativamente por médicos, considerando a interface do sistema, a qualidade das imagens e o ajuste da imagem. RESULTADOS: A avaliação foi feita com base em conceitos de 1 (muito ruim) a 5 (muito bom) para cada item, sendo os resultados: 5 para interface do sistema, 4 para qualidade das imagens e 3 para ajuste da imagem. Baseando-se nos conceitos obtidos pode-se classificar as ferramentas como boas. CONCLUSÃO: As ferramentas são práticas, amigáveis e deverão ser incorporadas ao projeto PACS ("picture archiving and communication system") do Hospital das Clínicas da Faculdade de Medicina de Ribeirão Preto - Universidade de São Paulo.
Resumo:
OBJETIVO: Neste artigo são descritas a implementação e avaliação de um sistema de gerenciamento de imagens médicas com suporte à recuperação baseada em conteúdo (PACS-CBIR), integrando módulos voltados para a aquisição, armazenamento e distribuição de imagens, e a recuperação de informação textual por palavras-chave e de imagens por similaridade. MATERIAIS E MÉTODOS: O sistema foi implementado com tecnologias para Internet, utilizando-se programas livres, plataforma Linux e linguagem de programação C++, PHP e Java. Há um módulo de gerenciamento de imagens compatível com o padrão DICOM e outros dois módulos de busca, um baseado em informações textuais e outro na similaridade de atributos de textura de imagens. RESULTADOS: Os resultados obtidos indicaram que as imagens são gerenciadas e armazenadas corretamente e que o tempo de retorno das imagens, sempre menor do que 15 segundos, foi considerado bom pelos usuários. As avaliações da recuperação por similaridade demonstraram que o extrator escolhido possibilitou a separação das imagens por região anatômica. CONCLUSÃO: Com os resultados obtidos pode-se concluir que é viável a implementação de um PACS-CBIR. O sistema apresentou-se compatível com as funcionalidades do DICOM e integrável ao sistema de informação local. A funcionalidade de recuperação de imagens similares pode ser melhorada com a inclusão de outros descritores.
Resumo:
Há, no âmbito do gerenciamento de recursos hídricos, uma carência por sistemas de aplicação global que referenciem, indiquem e identifiquem, de forma única e eficiente, a organização espacial das bacias hidrográficas e respectivas redes de drenagem. Neste trabalho, propôs-se uma modificação no sistema de endereçamento originalmente concebido por Otto Pfafstetter. A nova metodologia utiliza tão-somente as redes de drenagem no formato vetorial e considera, em vez da área das bacias, o comprimento dos seus cursos d'água para codificá-los. Essa estratégia elimina o elevado ônus associado à obtenção de dados de altimetria e à derivação dos respectivos modelos digitais de elevação, imprescindíveis à correta determinação das áreas de contribuição das bacias hidrográficas. Adicionalmente, elimina-se o esforço computacional das operações baseadas em localização espacial, uma vez que agora é possível realizá-las exclusivamente por atributos. Com base nessa metodologia, desenvolveu-se o aplicativo Otto-Sys, utilizando a linguagem de programação AML, nativa do sistema de informações geográficas Arc/INFO workstation. Para exemplificar os resultados da otto-codificação por comprimento dos cursos d'água, apresentou-se um estudo de caso utilizando a rede de drenagem do rio Caeté, afluente do rio Iaco, pertencente à bacia do rio Purus, no Estado do Amazonas. O detalhamento dessa hidrografia vetorial implicou cinco níveis de codificação. Tendo-se codificado toda a rede hidrográfica, qualquer sistema de informações geográficas, mesmo aqueles que não dispõem de recursos específicos para análises e navegação em redes, poderá oferecer serviços de navegação topológica, organização, estruturação, endereçamento e gerenciamento dessas bases de dados. Desse modo, o acesso em tempo real a tais procedimentos poderá ser perfeitamente estendido a qualquer dispositivo capaz de acessar os sistemas web.
Resumo:
O software PRAPRAG é uma ferramenta de escolha de máquinas e implementos agrícolas que apresentam o menor custo por área ou por quantidade produzida, bem como, faz o planejamento de aquisição das máquinas para a propriedade agrícola, do ponto de vista técnico e econômico. Foi utilizada a linguagem de programação Borland Delphi 3.0 e, a partir de prospectos das máquinas e implementos, criou-se um banco de dados onde o usuário pode cadastrar e modificar suas características de uso. O software mostrou-se uma ferramenta útil e uso amigável. O software proporciona maior rapidez, segurança e confiabilidade ao processo produtivo e econômico das propriedades, na seleção e aquisição de conjuntos mecanizados agrícolas, e na determinação de custos com a mão de obra utilizada.
Resumo:
O artigo apresenta uma ferramenta que auxilia na implementação de aplicações que empregam mais de uma linguagem de programação. Tais aplicações são ditas multilinguagens e quando as linguagens que as compõem representam diferentes paradigmas de programação, também são denominadas multiparadigmas. A técnica de programação multilinguagem permite que se utilize a linguagem de programação mais adequada à cada parte da aplicação. Em caso de equipes híbridas de programação podemos aproveitar o conhecimento de cada uma das equipes no uso das linguagens que irão compor a aplicação. A ferramenta descrita no artigo, implementada através de um conjunto de processos Win32, monitora e executa serviços de transferência de dados e controle entre os processos que compõem a aplicação. Através de uma interface gráfica o programador pode operá-la por meio de dois modos: desenvolvimento e execução. Dentre as áreas que poderiam se beneficiar com a a ferramenta, podemos citar a aplicação pedagógica relacionada ao ensino de paradigmas de programação, aplicações já existentes que necessitam estender-se com o emprego de outras linguagens de programação e aplicações cujos problemas envolvidos se constituem em diferentes paradigmas de programação.
Resumo:
Dispositivos adaptativos apresentam a característica de se modificarem dinamicamente em resposta a estímulos de entrada, sem interferência de agentes externos. Eventuais necessidades de modificação de comportamento são automaticamente detectadas por estes dispositivos para, em seguida, reagirem a elas de forma espontânea. Historicamente tais dispositivos emergiram das pesquisas na área de linguagens formais e autômatos. No entanto, o formalismo suscitou aplicações em diversas outras áreas. Programas com código auto-modificável, que perderam terreno em conseqüência do advento da Engenharia de Software nos anos 70, voltaram à vida recentemente em aplicações diversas. Uma das formas de programação de código auto-modificável é a utilização de linguagens de programação especificamente projetadas para isso. Linguagens adaptativas de programação são dispositivos adaptativos que empregam uma linguagem de programação convencional como mecanismo subjacente. Com o correr de sua execução, um programa escrito em uma linguagem adaptativa exibirá um comportamento auto-modificável em decorrência da ativação de suas ações adaptativas. O artigo apresenta aspectos do projeto e implementação de um ambiente para gerenciar a execução de uma linguagem adaptativa. Com o emprego de linguagem adaptiva, um novo estilo de programação é concebido, uma vez que o seu comportamento está diretamente associado ao conjunto de regras que o define, o qual se altera à medida que o código é executado.
Resumo:
Neste estudo são discutidos alguns aspectos relacionados à escolha da primeira linguagem de programação em currículos de ciência da computação, com interesse especial em Pascal e Java. A primeira linguagem é amplamente adotada para ensinar programação aos novatos, enquanto a segunda está ganhando popularidade como uma linguagem moderna e abrangente, que pode ser usada em muitas disicplinas ao longo de um curso degraduação em computação como ferramenta para ensinar desde recursos básicos de programação até tópicos mais avançados. Embora vários problemas quanto ao ensino de Java, com a primeira linguagem de programação, possam ser apontadas, consideramosque Java é uma boa escolha, visto que (a) oferece apoio a importantes questões conceituais e tecnológicos e, (b) é possível contornar algumas complexidades da linguagem e da plataforma Java para torná-las mais adequadas à alunos iniciantes. Além disso, considerando a grande popularidade de Pascal nos currículos de cursos de computação, uma eventual adoção de Java conduz à outro problema: a falta de professores aptos a lecionar programação orientada a objetos. Sugerimos que este problema de migração de Pascal para Java seja enfrentado através de smplificação do ambiente de desenvolvimento de programas, uso de um pacote com classes que facilitam a entrada e saída, e o desenvolvimento de um catálogo comparativo de programas implementados em ambas as linguagens. Neste estudo também é apresentado o JEduc, um IDE muito simples com o objetivo de dar suporte ao ensino da linguagem de programação orientada a objetos Java aos novatos. Oferece componentes desenvolvidos em Java que integram edição, compilação e execução de programas Java. Além das funcionalidades comuns a um IDE, JEduc foi desenvolvido para gir como uma ferramente pedagógica: simplifica a maioria das mensagens do compilador e erros da JRE, permite a inserção de esqueletos de comandos, e incorpora pacotes especiais para esconder alguns detalhes sintáticos e semânticos indesejáveis.
Resumo:
A simulação é uma das ferramentas mais utilizadas para a aplicação da análise sistêmica nos mais diversos estudos. Ao longo do tempo, vários modelos foram desenvolvidos para representar sistemas de recursos hídricos, utilizando a simulação. Dentre esses modelos, está o Propagar MOO, que simula a propagação de vazões em uma bacia hidrográfica, submetida à decisões operacionais de suprimento de demandas e de operação de reservatórios, introduzidas pelo usuário através de rotinas escritas na linguagem de programação Pascal Script. A utilização eficiente dessas rotinas permite ao usuário ampliar a capacidade e flexibilidade do modelo na representação de um sistema hídrico. Com o objetivo de contribuir na ampliação da flexibilidade do modelo Propagar MOO e de sua aplicabilidade à modelagem de sistemas de recursos hídricos em geral, bem como facilitar o estudo da linguagem de programação Pascal Script e motivar os profissionais da área no desenvolvimento de novas rotinas aplicadas ao modelo, foram implementadas, através do presente trabalho, rotinas genéricas contendo estratégias de planejamento do uso da água e de operação de reservatórios, bem como ferramentas para analisar seus resultados. Para ampliar essa contribuição, foi aprimorada a possibilidade de simulação da geração de energia hidrelétrica em pontos de uma rede hidrográfica, com a criação de novas ferramentas para esse fim, na estrutura interna do modelo. Por fim, para que o próprio usuário pudesse construir ferramentas para auxiliar na verificação dos resultados obtidos nas simulações, esse estudo apresenta a implementação de rotinas de uso geral para servir como exemplos de ferramentas de análise de dados.
Resumo:
Este trabalho descreve a aplicação da Programação Genética, uma técnica de Computação Evolucionária, ao problema da Síntese de Fala automática. A Programação Genética utiliza as técnicas da evolução humana para descobrir programas bem adaptados a um problema específico. Estes programas, compostos de instruções, variáveis, constantes e outros elementos que compõe uma linguagem de programação, são evoluídos ao longo de um conjunto de gerações. A Síntese de Fala, consiste na geração automática das formas de ondas sonoras a partir de um texto escrito. Uma das atividades mais importantes, é realizada através da conversão de palavras e letras para os sons da fala elementares (fonemas). Muitos sistemas de síntese são implementados através de regras fixas, escritas por programadores humanos. Um dos mais conhecidos sistemas de síntese é o FESTIVAL, desenvolvido pela Universidade de Edimburgh, usando a linguagem de programação funcional LISP e um número fixo de regras. Neste trabalho, nós exploramos a possibilidade da aplicação do paradigma da Programação Genética, para evoluir automaticamente regras que serão adotadas para implementação do idioma Português na ferramenta FESTIVAL, desenvolvido no projeto SPOLTECH (CNPq – NSF cooperação entre UFRGS e Universidade do Colorado). A modelagem do problema, consiste na definição das regras de pronúncia do Português Brasileiro, que a implementação do sistema FESTIVAL pronuncia erradamente, já que o mesmo foi implementado primariamente para o idioma Inglês. A partir destas regras, o sistema de Programação Genética, desenvolvido neste trabalho, evolui programas que constituem boas soluções para a conversão de letras para fonemas. A descrição dos resultados obtidos, cobre detalhes sobre a evolução das soluções, complexidade e regras implementadas, representadas pelas soluções mais bem adaptadas; mostrando que a Programação Genética, apesar de ser complexa, é bastante promissora.
Resumo:
Em vista da maior complexidade da programação paralela e distribuída em relação à programação de ambientes centralizados, novas ferramentas vêm sendo construídas com o objetivo de auxiliar o programador desses ambientes a desempenhar sua tarefa de formas mais eficazes e produtivas. Uma das ferramentas que há algum tempo tem sido usada na programação centralizada e aos poucos está sendo empregada também na programação concorrente é a programação visual. A programação visual se vale da presença de elementos visuais na especificação dos programas como peças chaves do processo de desenvolvimento de software. No caso específico da programação concorrente, a programação visual é especialmente útil pela capacidade que os gráficos têm de representar de forma mais adequada estruturas bidimensionais. Um programa concorrente, por relacionar no espaço diversos elementos com seus próprios fluxos de execução, faz surgir duas dimensões de análise que são mais difíceis de serem observadas através de programas textuais. Atualmente existem ferramentas de programação visual paralela e distribuída, mas a ênfase é dada na programação paralela, sem muita atenção a aplicações de sistemas abertos ou cliente-servidor. Além disso, tais ferramentas sofrem da falta de apoio à engenharia do software. Considerando essas deficiências, este trabalho apresenta uma ferramenta de programação visual para o desenvolvimento de aplicações compostas por objetos distribuídos que ofereça também a possibilidade de aplicar os principais conceitos da engenharia de software, como reutilização e orientação a objeto. Nesta ferramenta, o programador especifica de maneira visual a estrutura do seu programa, insere o código textual para a lógica da aplicação e o ambiente se encarrega do tratamento da distribuição e da comunicação de mais baixo nível. A aplicação é representada como um grafo dirigido, onde os nodos representam os objetos distribuídos e os arcos indicam os relacionamentos existentes entre esses objetos. A especificação dos programas é modular, baseando-se na reunião de componentes reutilizáveis, o que torna o sistema altamente configurável e extensível. Tanto a implementação da ferramenta quanto o código das aplicações geradas usam a linguagem de programação Java. A linguagem de programação visual projetada não especifica detalhes a respeito de como irá funcionar a comunicação e distribuição dos objetos. Portanto, foram implementados componentes para comunicação e outros recursos de programação distribuída, como locks e dados globais para serem usados nas aplicações. Para validar os principais objetivos da ferramenta, foram implementados alguns exemplos de aplicações distribuídas, como um pequeno sistema de bate-papo.
Resumo:
Este trabalho tem por objetivo apresentar e estudar a aplicação de uma ferramenta chamada PCP – Pseudo-Compilador Portugol, criada para auxiliar estudantes de programação a aprimorar o raciocínio lógico e a criar programas estruturados, sem que precisem se preocupar com comandos e instruções em Inglês ou tenham conhecimento de uma linguagem de programação específica. Por ser uma ferramenta que usa somente palavras do nosso idioma, os alunos podem direcionar todo o seu raciocínio no entendimento e resolução do problema em forma de algoritmo. O estudo experimental realizado neste trabalho pretende analisar e comparar o aprendizado entre grupos de alunos de disciplinas de programação utilizando e não utilizando esta ferramenta. Além de acompanhar o desempenho dos alunos, pretende também coletar informações durante as baterias de testes e obter as opiniões dos mesmos em relação ao PCP, no que se refere às facilidades, dificuldades, pontos positivos e falhas apresentadas. Este estudo é apresentado em duas etapas, com oito baterias de teste em cada uma. Na primeira etapa foram selecionados alunos do Curso de Ciência da Computação da UNIGRAN, em Dourados-MS; na segunda etapa foram selecionados alunos da Escola Anglo Decisivo. Estas duas etapas possibilitam a análise do aprendizado proporcionado pela ferramenta com alunos que já têm alguma noção de programação e com alunos que não tiveram nenhum contato com o desenvolvimento de programas.
Resumo:
Este trabalho apresenta um mapeamento centrado nas construções não usuais da linguagem Nautilus, para a linguagem convencional, no caso Java, mantendo propriedades com atomicidade que são requisitos da semântica formal da linguagem. Nautilus é originalmente uma linguagem de especificação baseada em objetos, textual que suporta objetos concorrentes e não deterministas. Desde então a linguagem foi modificada aom extensões como classes e uma notação diagramática, além de se investigar seu uso como linguagem de programação. Suas construções incomuns (reificação, agregação, etc.) são baseados em seu domínio semântico: Automâtos Não Sequenciais. Este domíno satisfaz composição diagonal, i.e refinamentos se compõem (verticalmente) refletindo uma descrição gradual de sistemas, envolvendo múltiplos níveis de abstração, e distribui-se através de combinadores (horizontalmente), o que significa que o refinamento de um sistema composto é a combinação de do refinamento de suas partes.O trabalho inclui um mapeamento inicial de um subconjunto da linguagem(objeto base, reificação, agregação e visão), uma versão ampliada para abranger mais construções( interação e classes), e uma versão refinada mais concorrente e sugestões de modificação na linguagem.
Resumo:
Esse trabalho de dissertação está incluído no contexto das pesquisas realizadas no Grupo de Processamento Paralelo e Distribuído da UFRGS. Ele aborda as áreas da computação de alto desempenho, interfaces simples de programação e de sistemas de interconexão de redes velozes. A máquina paralela formada por agregados (clusters) tem se destacado por apresentar os recursos computacionais necessários às aplicações intensivas que necessitam de alto desempenho. Referente a interfaces de programação, Java tem se mostrado uma boa opção para a escrita de aplicações paralelas por oferecer os sistemas de RMI e de soquetes que realizam comunicação entre dois computadores, além de todas as facilidades da orientação a objetos. Na área a respeito de interconexão de rede velozes está emergindo como uma tentativa de padronização a nova tecnologia Infiniband. Ela proporciona uma baixa latência de comunicação e uma alta vazão de dados, além de uma série de vantagens implementadas diretamente no hardware. É neste contexto que se desenvolve o presente trabalho de dissertação de mestrado. O seu tema principal é o sistema Aldeia que reimplementa a interface bastante conhecida de soquetes Java para realizar comunicação assíncrona em agregados formados por redes de sistema. Em especial, o seu foco é redes configuradas com equipamentos Infiniband. O Aldeia objetiva assim preencher a lacuna de desempenho do sistema padrão de soquetes Java, que além de usar TCP/IP possui um caráter síncrono. Além de Infiniband, o Aldeia também procura usufruir dos avanços já realizados na biblioteca DECK, desenvolvida no GPPD da UFRGS. Com a sua adoção, é possível realizar comunicação com uma interface Java sobre redes Myrinet, SCI, além de TCP/IP. Somada a essa vantagem, a utilização do DECK também proporciona a propriedade de geração de rastros para a depuração de programas paralelos escritos com o Aldeia. Uma das grandes vantagens do Aldeia está na sua capacidade de transmitir dados assincronamente. Usando essa técnica, cálculos da aplicação podem ser realizados concorrentemente com as operações pela rede. Por fim, os canais de dados do Aldeia substituem perfeitamente aqueles utilizados para a serialização de objetos. Nesse mesmo caminho, o Aldeia pode ser integrado à sistemas que utilizem a implementação de soquetes Java, agora para operar sobre redes de alta velocidade. Palavras-chave: Arquitetura Infiniband, agregado de computadores, linguagem de programação Java, alto desempenho, interface de programação.