968 resultados para Visual Basic (Programming Language)
Resumo:
In the context of computer numerical control (CNC) and computer aided manufacturing (CAM), the capabilities of programming languages such as symbolic and intuitive programming, program portability and geometrical portfolio have special importance -- They allow to save time and to avoid errors during part programming and permit code re-usage -- Our updated literature review indicates that the current state of art presents voids in parametric programming, program portability and programming flexibility -- In response to this situation, this article presents a compiler implementation for EGCL (Extended G-code Language), a new, enriched CNC programming language which allows the use of descriptive variable names, geometrical functions and flow-control statements (if-then-else, while) -- Our compiler produces low-level generic, elementary ISO-compliant Gcode, thus allowing for flexibility in the choice of the executing CNC machine and in portability -- Our results show that readable variable names and flow control statements allow a simplified and intuitive part programming and permit re-usage of the programs -- Future work includes allowing the programmer to define own functions in terms of EGCL, in contrast to the current status of having them as library built-in functions
Resumo:
O presente trabalho pretende apresentar e descrever a metodologia processual e respectivas relexões que sustentam a criação de um artefato digital interativo construído de forma a que alguns dos elementos bidimensionais que o constituem sejam manipuladas de forma a que criem ao jogador a ilusão de tridimensionalidade. Em 1992 a Id Software com o jogo Wolfenstein 3D, introduziu uma referência visual à tridimensionalidade, utilizando para o efeito tecnologia 2D, a qual, através de um sistema de redimensionamento e posicionamento de imagens, consegui transmitir a noção de tridimensionalidade, utilizando na altura um tipo de jogo em primeira pessoa, ou seja, o jogador experiência uma campo visual que visa reproduzir a própria experiência do mundo táctil na relação que dispõe entre os espaços e objetos. Através do Processing, uma linguagem de programação que assenta no Java, estes objetivos conceptuais serão reproduzidos, que procuram, por um lado, transmitir esta aparente ilusão de tridimensionalidade e por outro não utilizar um tipo de artefacto digital que proporciona uma jogabilidade em primeira pessoa mas sim possibilitam ao jogador uma experiência visual que aborda todo o espaço em que é lhe permitido circular, no qual é lhe exposto as adversidades que precisa de superar para progredir. Para que isto seja possível o jogador assume o papel de um personagem e através da sua interação com o artefato, vai ediicando uma narrativa visual que visa o seu envolvimento com a temática representada. Como tema é utilizada uma representação da busca pelo Sarcófago do faraó da 18ª Dinastia Tutankamón (1332 - 1323 AC) pelo explorador britânico Howard Carter (1874 - 1939) cuja expedição no Vales do Reis em 1922 constitui ainda hoje a mais célebre descoberta arqueológica relacionada com Antigo Egipto. Ao longo desta Dissertação são abordados temas que visam resoluções tanto no campo técnico e tecnológico, através da programação e sua linguagem, como no campo visual e estético que visa uma conexão consciente com a temática a representar e a ser experienciada
Resumo:
Code patterns, including programming patterns and design patterns, are good references for programming language feature improvement and software re-engineering. However, to our knowledge, no existing research has attempted to detect code patterns based on code clone detection technology. In this study, we build upon the previous work and propose to detect and analyze code patterns from a collection of open source projects using NiPAT technology. Because design patterns are most closely associated with object-oriented languages, we choose Java and Python projects to conduct our study. The tool we use for detecting patterns is NiPAT, a pattern detecting tool originally developed for the TXL programming language based on the NiCad clone detector. We extend NiPAT for the Java and Python programming languages. Then, we try to identify all the patterns from the pattern report and classify them into several different categories. In the end of the study, we analyze all the patterns and compare the differences between Java and Python patterns.
Resumo:
Neste documento foi feita a apresentação do conceito de Programação Visual, estudados alguns exemplos de Linguagens de Programação Visual e investigado vantagens e desvantagens sobre o seu uso comparativamente à programação tradicional (por texto) e, adicionalmente, foram estudados três jogos para aprender a programar com fortes características visuais. A partir desta investigação, foi criada uma nova Linguagem de Programação Visual(LPV) sendo a base de um prototipo de um jogo para aprender a programar. Este jogo é representado pela deslocação e execução de tarefas feitas por um robô dentro de uma casa, sendo o objetivo do programador colocar objetos nesta casa que manipulam a deslocação do robô dentro desta de forma a resolver um problema; Abstract: A game to learn programming Aplication of concepts of visual programming to create a game to learn how to program In this document we will explain the concept of Visual Programming, study some examples of Visual Programming Languages, analyze some arguments in favor and against its use in comparison to traditional programming (by text) and, additionally, study three games to learn programming with strong visual features. Using this research, a new Visual Programming Language(VPL) was created, being the basis of a prototype of a game to learn programming. This game is represented by the movement and execution of tasks done by a robot inside a house, being the goal of the programmer to place objects in this house that manipulate the movement of the robot inside of it in order to solve a problem.
Resumo:
This dissertation investigates the relations between logic and TCS in the probabilistic setting. It is motivated by two main considerations. On the one hand, since their appearance in the 1960s-1970s, probabilistic models have become increasingly pervasive in several fast-growing areas of CS. On the other, the study and development of (deterministic) computational models has considerably benefitted from the mutual interchanges between logic and CS. Nevertheless, probabilistic computation was only marginally touched by such fruitful interactions. The goal of this thesis is precisely to (start) bring(ing) this gap, by developing logical systems corresponding to specific aspects of randomized computation and, therefore, by generalizing standard achievements to the probabilistic realm. To do so, our key ingredient is the introduction of new, measure-sensitive quantifiers associated with quantitative interpretations. The dissertation is tripartite. In the first part, we focus on the relation between logic and counting complexity classes. We show that, due to our classical counting propositional logic, it is possible to generalize to counting classes, the standard results by Cook and Meyer and Stockmeyer linking propositional logic and the polynomial hierarchy. Indeed, we show that the validity problem for counting-quantified formulae captures the corresponding level in Wagner's hierarchy. In the second part, we consider programming language theory. Type systems for randomized \lambda-calculi, also guaranteeing various forms of termination properties, were introduced in the last decades, but these are not "logically oriented" and no Curry-Howard correspondence is known for them. Following intuitions coming from counting logics, we define the first probabilistic version of the correspondence. Finally, we consider the relationship between arithmetic and computation. We present a quantitative extension of the language of arithmetic able to formalize basic results from probability theory. This language is also our starting point to define randomized bounded theories and, so, to generalize canonical results by Buss.
Resumo:
Support for interoperability and interchangeability of software components which are part of a fieldbus automation system relies on the definition of open architectures, most of them involving proprietary technologies. Concurrently, standard, open and non-proprietary technologies, such as XML, SOAP, Web Services and the like, have greatly evolved and been diffused in the computing area. This article presents a FOUNDATION fieldbus (TM) device description technology named Open-EDD, based on XML and other related technologies (XLST, DOM using Xerces implementation, OO, XMIL Schema), proposing an open and nonproprietary alternative to the EDD (Electronic Device Description). This initial proposal includes defining Open-EDDML as the programming language of the technology in the FOUNDATION fieldbus (TM) protocol, implementing a compiler and a parser, and finally, integrating and testing the new technology using field devices and a commercial fieldbus configurator. This study attests that this new technology is feasible and can be applied to other configurators or HMI applications used in fieldbus automation systems. (c) 2008 Elsevier B.V. All rights reserved.
Resumo:
The refinement calculus provides a framework for the stepwise development of imperative programs from specifications. In this paper we study a refinement calculus for deriving logic programs. Dealing with logic programs rather than imperative programs has the dual advantages that, due to the expressive power of logic programs, the final program is closer to the original specification, and each refinement step can achieve more. Together these reduce the overall number of derivation steps. We present a logic programming language extended with specification constructs (including general predicates, assertions, and types and invariants) to form a wide-spectrum language. General predicates allow non-executable properties to be included in specifications. Assertions, types and invariants make assumptions about the intended inputs of a procedure explicit, and can be used during refinement to optimize the constructed logic program. We provide a semantics for the extended logic programming language and derive a set of refinement laws. Finally we apply these to an example derivation.
Resumo:
Existing refinement calculi provide frameworks for the stepwise development of imperative programs from specifications. This paper presents a refinement calculus for deriving logic programs. The calculus contains a wide-spectrum logic programming language, including executable constructs such as sequential conjunction, disjunction, and existential quantification, as well as specification constructs such as general predicates, assumptions and universal quantification. A declarative semantics is defined for this wide-spectrum language based on executions. Executions are partial functions from states to states, where a state is represented as a set of bindings. The semantics is used to define the meaning of programs and specifications, including parameters and recursion. To complete the calculus, a notion of correctness-preserving refinement over programs in the wide-spectrum language is defined and refinement laws for developing programs are introduced. The refinement calculus is illustrated using example derivations and prototype tool support is discussed.
Resumo:
In this paper we describe a distributed object oriented logic programming language in which an object is a collection of threads deductively accessing and updating a shared logic program. The key features of the language, such as static and dynamic object methods and multiple inheritance, are illustrated through a series of small examples. We show how we can implement object servers, allowing remote spawning of objects, which we can use as staging posts for mobile agents. We give as an example an information gathering mobile agent that can be queried about the information it has so far gathered whilst it is gathering new information. Finally we define a class of co-operative reasoning agents that can do resource bounded inference for full first order predicate logic, handling multiple queries and information updates concurrently. We believe that the combination of the concurrent OO and the LP programming paradigms produces a powerful tool for quickly implementing rational multi-agent applications on the internet.
Resumo:
O estudo trata da dimensão territorial do conflito israelo-palestino a partir do jornalismo em quadrinhos produzidos por Joe Sacco. Para isso, procura, preliminarmente, desenvolver uma abordagem da representação espacial nos quadrinhos através de sua linguagem visual e textual, que evidencia uma percepção espacial e expressa um conjunto de significados a partir das ações que unem os personagens ao lugar. A partir desse quadro de interpretação, o presente estudo focaliza, através da análise das obras de Joe Sacco, o conflito árabe-israelense para entender os territórios palestinos ocupados como um volume político que retrata a perda de soberania política dos palestinos em sentido amplo. Esse enfoque se volta para uma reflexão a respeito do dia a dia dos palestinos através dos quadrinhos considerando o cotidiano da ocupação e sua dimensão espacial (ou seja, um conteúdo que remete ao território, uma vez que apresenta todo um conjunto de significados que evocam um sentido territorial). Assim, a pesquisa objetiva entender os territórios palestinos ocupados, procurando evidenciar em que medida os quadrinhos de Joe Sacco disponibilizam elementos para a pesquisa em Geografia, na medida em que expressam, sugere-se, uma geograficidade. Tal enfoque, que recorre ao escopo conceitual da Geografia – e notadamente ao conceito de território e seus múltiplos –, mediatizando-os através do recurso às obras de Joe Sacco, possibilita, sugere-se, um ângulo de abordagem peculiar sobre o território em locais de conflito, na medida em que, através dele, torna-se possível observar as formas de controle e precarização territorial dos palestinos em sua formação espaço-territorial.
Resumo:
Exploratory factor analysis is a widely used statistical technique in the social sciences. It attempts to identify underlying factors that explain the pattern of correlations within a set of observed variables. A statistical software package is needed to perform the calcula- tions. However, there are some limitations with popular statistical software packages, like SPSS. The R programming language is a free software package for statistical and graphical computing. It o ers many packages written by contributors from all over the world and programming resources that allow it to overcome the dialog limitations of SPSS. This paper o ers an SPSS dialog written in the R programming language with the help of some packages, so that researchers with little or no knowledge in programming, or those who are accustomed to making their calculations based on statistical dialogs, have more options when applying factor analysis to their data and hence can adopt a better approach when dealing with ordinal, Likert-type data.
Resumo:
O Estudo de Impacte Ambiental (EIA) é uma peça fundamental no processo de Avaliação Ambiental a que têm de ser submetidos alguns projetos de engenharia. Este é o resultado de atividades e avaliações metodológicas conducentes a identificar/avaliar possíveis impactes, apresentando medidas de minimização e o plano de monitorização. Se existirem múltiplas alternativas, o EIA deve indicar a “ambientalmente mais favorável”. O presente trabalho apresenta uma proposta metodológica para apoio dessas atividades/avaliações, tendo como estrutura integradora um SIG ligado a modelos externos específicos, constituindo -se assim como uma contribuição para o desenvolvimento de um SADE -MC, no domínio ambiental. Essa proposta engloba a conceção duma rotina interativa, em Visual Basic® para suportar os processos de Screening/Scoping, Avaliação da Significância e Seleção dos Indicadores Ambientais. As funcionalidades do SIG, associadas aos módulos externos, são usadas para prever/quantificar os impactes e os indicadores ambientais. Estes indicadores são então utilizados como critérios, no módulo de avaliação multicritério que utiliza, nesta aplicação, o método ELECTRE III. Isso permite apresentar uma preordenação final das alternativas, desde a “ambientalmente mais favorável” até à mais adversa. Como caso de estudo, essa proposta metodológica é aplicada a um EIA referente ao projeto de um troço de autoestrada no Centro de Portugal.
Resumo:
O presente trabalho teve como principal objectivo o desenvolvimento de um analisador de vibrações de dois canais baseado em computador, para a realização de diagnóstico no âmbito do controlo de condição de máquinas. Foi desenvolvida uma aplicação num computador comum, no software LabVIEW, que através de transdutores de aceleração do tipo MEMS conectados via USB, faz a recolha de dados de vibração e procede ao seu processamento e apresentação ao utilizador. As ferramentas utilizadas para o processamento de dados são ferramentas comuns encontradas em vários analisadores de vibrações disponíveis no mercado. Estas podem ser: gráficos de espectro de frequência, sinal no tempo, cascata ou valores de nível global de vibração, entre outras. Apesar do analisador desenvolvido não apresentar inovação nas ferramentas de análise adoptadas, este pretende ser distinguido pelo baixo custo, simplicidade e carácter didáctico. Este trabalho vem evidenciar as vantagens, desvantagens e potencialidades de um analisador desta natureza. São tiradas algumas conclusões quanto à sua capacidade de diagnóstico de avarias, capacidades como ferramenta didáctica, sensores utilizados e linguagem de programação escolhida. Como conclusões principais, o trabalho revela que os sensores escolhidos não são os indicados para efectuar o diagnóstico de avarias em ambiente industrial, contudo são ideais para tornar este analisador numa boa ferramenta didáctica e de treino.
Resumo:
O trabalho que se apresenta incide sobre o estudo aerodinâmico das pás de uma turbina eólica de pequeno porte, com vista à simplificação geométrica, de forma a que estas sejam baratas e de fácil concepção. A teoria da quantidade de movimento do elemento de pá (BEMT), que é o modelo de referência para o projecto e análise aerodinâmica das pás das turbinas eólicas, foi utilizada neste trabalho de forma a projectar e analisar aerodinamicamente as pás da turbina. Sendo assim, desenvolveu-se um programa computacional em MATLAB, denominado de “Turbina”, de forma a implementar a teoria BEM. Introduzindo os dados dos parâmetros de projecto no programa (potência requerida, o número de pás, velocidade do vento, a TSR e o tipo de perfil alar), obtêm-se os parâmetros geométricos das pás (distribuição da corda ao longo da envergadura, o raio da pá e a distribuição da torção da pá), os parâmetros aerodinâmicos e de desempenho. Uma pá ideal foi calculada e de seguida foi modificada de forma a obter-se uma pá simples e menos carregada aerodinamicamente. Introduzidas as modificações na geometria da pá ideal, obtiveram-se duas configurações distintas. Uma configuração linear, onde a distribuição da corda e do ângulo de torção se tornam lineares, e outra configuração bi-linear, onde a distribuição da corda continua linear mas o ângulo de torção se torna bi-linear, isto é, a pá é composta por dois troços onde cada troço apresenta uma distribuição linear do ângulo de torção geométrica. As conclusões demonstram que a configuração bi-linear é uma boa alternativa a configuração ideal, apresentando uma redução do desempenho do rotor de 2.8% para um aumento do raio da pá em 1.41%, para se obter a mesma potência da configuração ideal. A análise aos perfis alares, utilizados neste trabalho, foi efectuada a partir dos programas comerciais ICEM e FLUENT. De forma a automatizar a análise de CFD, três programas foram desenvolvidos utilizando a linguagem de programação “C”. Os programas são denominados de “Malha2D”, “Calcula_Coeficientes” e “Plot_Graficos”. Finalmente, um estudo paramétrico foi feito de forma a avaliar a influências das variáveis de projecto no desempenho geral da turbina.
Resumo:
OBJETIVO: Apresentar e avaliar aplicativo para subsidiar gestores e equipes de saúde com informações de serviços que prestam atenção primária à população. MÉTODOS: Descrever o aplicativo PACOTAPS (Aplicativo para atenção primária em saúde) desenvolvido em linguagem Visual Basic 5.0, cujos módulos dados secundários e demanda ambulatorial foram testados em unidade básica de saúde de Pelotas, RS. Por meio dos dados secundários obteve-se a estrutura por idade e sexo da população de referência, e pela demanda ambulatorial foram caracterizados todos os atendimentos realizados durante um mês em duas unidades básicas de saúde pelo processamento das fichas de atendimento ambulatorial. RESULTADOS: Identificaram-se a distribuição etária e o sexo de todos os usuários atendidos nas unidades básicas de saúde e os principais diagnósticos e encaminhamentos. Foi possível detectar diferenças entre as unidades, tanto devidas a estruturas e modelos assistenciais diversos, quanto indicativas de necessidades concretas de melhorias nos sistemas de registro dos atendimentos. CONCLUSÕES: O PACOTAPS é um aplicativo de fácil operação, podendo contribuir para a avaliação da gestão de unidades básicas de saúde, no âmbito do Sistema Único de Saúde. Ao dispor dessa ferramenta eletrônica que conjugue esses recursos, a tomada de decisões no âmbito do serviço de saúde e, até mesmo, da política de saúde do município poderá ser feita em bases mais adequadas e eficientes.