927 resultados para C (Linguagem de programação de computador)
Resumo:
Com este texto o professor apresenta o conceito e as regras de sobrecarga de operadores na linguagem de programação C++ e ilustra o que são operadores e como utiliza as suas funções.
Resumo:
Neste trabalho, apresentamos uma ferramenta cujo intuito é auxiliar não-programadores, jogadores de videogame, na criação de extensões na forma de Add-ons para World of Warcraft, o jogo online. Nele, o usuário pode criar extensões customizando completamente sua interface, de forma a reinventar a sua experiência de jogo e melhorar sua jogabilidade. A criação de extensões para aplicativos e jogos surgiu da crescente necessidade de fornecer aos usuários mecanismos eficientes de Programação por Usuário Final, permitindo que os mesmos preenchessem suas necessidades singulares através da criação, customização e especificação de extensões em software. Em World of Warcraft mais especificamente, os Add-ons exploram um tipo de extensão na qual os jogadores passam a programar sua própria interface de usuário ou a fazer uso de interfaces criadas por outros usuários. No entanto, realizar a programação dessas extensões - os Add-ons - não é uma tarefa fácil. Dentro deste contexto, desenvolvemos a ferramenta EUPAT for WoW (do inglês, End-User Programming Assistance Tool for World of Warcraft) que oferece assistência à criação de Add-ons. Além disso, investigamos como usuários jogadores com e sem conhecimento de programação são beneficiados. Os resultados desta pesquisa permitiram refletir sobre as estratégias de assistência de programação por usuário final no contexto de jogos
Resumo:
New programming language paradigms have commonly been tested and eventually incorporated into hardware description languages. Recently, aspect-oriented programming (AOP) has shown successful in improving the modularity of object-oriented and structured languages such Java, C++ and C. Thus, one can expect that, using AOP, one can improve the understanding of the hardware systems under design, as well as make its components more reusable and easier to maintain. We apply AOP in applications developed using the SystemC library. Several examples will be presented illustrating how to combine AOP and SystemC. During the presentation of these examples, the benefits of this new approach will also be discussed
Resumo:
Fundação de Amparo à Pesquisa do Estado de São Paulo (FAPESP)
Resumo:
Os métodos numéricos convencionais, baseados em malhas, têm sido amplamente aplicados na resolução de problemas da Dinâmica dos Fluidos Computacional. Entretanto, em problemas de escoamento de fluidos que envolvem superfícies livres, grandes explosões, grandes deformações, descontinuidades, ondas de choque etc., estes métodos podem apresentar algumas dificuldades práticas quando da resolução destes problemas. Como uma alternativa viável, existem os métodos de partículas livre de malhas. Neste trabalho é feita uma introdução ao método Lagrangeano de partículas, livre de malhas, Smoothed Particle Hydrodynamics (SPH) voltado para a simulação numérica de escoamentos de fluidos newtonianos compressíveis e quase-incompressíveis. Dois códigos numéricos foram desenvolvidos, uma versão serial e outra em paralelo, empregando a linguagem de programação C/C++ e a Compute Unified Device Architecture (CUDA), que possibilita o processamento em paralelo empregando os núcleos das Graphics Processing Units (GPUs) das placas de vídeo da NVIDIA Corporation. Os resultados numéricos foram validados e a eficiência computacional avaliada considerandose a resolução dos problemas unidimensionais Shock Tube e Blast Wave e bidimensional da Cavidade (Shear Driven Cavity Problem).
Resumo:
Neste trabalho, foi desenvolvido um simulador numérico baseado no método livre de malhas Smoothed Particle Hydrodynamics (SPH) para a resolução de escoamentos de fluidos newtonianos incompressíveis. Diferentemente da maioria das versões existentes deste método, o código numérico faz uso de uma técnica iterativa na determinação do campo de pressões. Este procedimento emprega a forma diferencial de uma equação de estado para um fluido compressível e a equação da continuidade a fim de que a correção da pressão seja determinada. Uma versão paralelizada do simulador numérico foi implementada usando a linguagem de programação C/C++ e a Compute Unified Device Architecture (CUDA) da NVIDIA Corporation. Foram simulados três problemas, o problema unidimensional do escoamento de Couette e os problemas bidimensionais do escoamento no interior de uma Cavidade (Shear Driven Cavity Problem) e da Quebra de Barragem (Dambreak).
Resumo:
O Sistema de Telefonemas Interurbanos - STI foi idealizado para agilizar o controle sobre os telefonemas interurbanos, automatizando tarefas rotineiras e permitindo que se obtenha, de uma forma rápida e eficiente, informações armazenadas em seu banco de dados através de consultas diretas e relatórios informativos.
Webmapping desenvolvido em tecnologia Flex para análises e monitoramento de obras de infraestrutura.
Resumo:
Buscando o aprimoramento das análises de imagens, maior segurança e contínua disponibilização de imagens de satélite para monitoramento orbital das obras do Programa de Aceleração do Crescimento (PAC) do governo federal, uma nova interface de webmapping foi desenvolvida pelas áreas de Gestão Territorial Estratégica (GTE) e de Tecnologia da Informação (GTI) da Embrapa Monitoramento por Satélite utilizando a linguagem Flex. Essa nova interface é complementar à desenvolvida e apresentada em Carvalho (2009). Flex é uma linguagem de programação baseada em Flash para a criação de aplicações web do tipo Internet Rica (da sigla em inglês RIA ? Rich Internet Application), que têm características e funcionalidades de softwares tradicionais do tipo aplicativo.
Resumo:
Relatório da prática de ensino supervisionada, Mestrado em Ensino de Informática, Universidade de Lisboa, 2014
Resumo:
Neste trabalho foi considerada a possibilidade de incorporar serviços remotos, normalmente associados a serviços web e cloud computing, numa solução local que centralizasse os vários serviços num único sistema e permitisse aos seus utilizadores consumir e configurar os mesmos, quer a partir da rede local, quer remotamente a partir da Internet. Desta forma seria possível conciliar o acesso a partir de qualquer local com internet, característico nas clouds, com a simplicidade de concentrar num só sistema vários serviços que são por norma oferecidos por entidades distintas e ainda permitir aos seus utilizadores o controlo e configuração sobre os mesmos. De forma a validar que este conceito é viável, prático e funcional, foram implementadas duas componentes. Um cliente que corre nos dispositivos dos utilizadores e que proporciona a interface para consumir os serviços disponíveis e um servidor que irá conter e prestar esses serviços aos clientes. Estes serviços incluem lista de contactos, mensagens instantâneas, salas de conversação, transferência de ficheiros, chamadas e conferências de voz e vídeo, pastas remotas, pastas sincronizadas, backups, pastas partilhadas, VoD (Video-on Demand) e AoD (Audio-on Demand). Para o desenvolvimento do cliente e do servidor foi utilizada a framework Qt que recorre à linguagem de programação C++ e ao conjunto de bibliotecas que possui, para o desenvolvimento de aplicações multiplataforma. Para as comunicações entre clientes e servidor, foi utilizado o protocolo XMPP (Extensible Messaging and Presence Protocol), pela forma da biblioteca qxmpp e do servidor XMPP ejabberd. Pelo facto de conter um conjunto de centenas de extensões atualmente ativas que auferem funcionalidades como salas de conversação, transferências de ficheiros e até estabelecer sessões multimédia, graças à sua flexibilidade permitiu ainda a criação de extensões personalizada necessárias para algumas funcionalidades que se pretendeu implementar. Foi ainda utilizado no servidor a framework ffmpeg para suportar algumas funcionalidades multimédia. Após a implementação do cliente para Windows e Linux, e de implementar o servidor em Linux foi realizado um conjunto de testes funcionais para perceber se as funcionalidades e seus mecanismos funcionam corretamente. No caso onde a análise da performance e do consumo de recursos era importante, foram realizados testes de performance e testes de carga.
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.