Ambientes Virtuais de Execução

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

Download "Ambientes Virtuais de Execução"

Transcrição

1 Ambientes Virtuais de Execução Semestre Inverno 2012/13 Trabalho Final 1 Objectivos Este trabalho tem como objectivo a consolidação de conhecimentos dos mecanismos e construções do sistema de tipos do.net estudados nas aulas teóricas, nomeadamente a utilização de delegates, eventos, genéricos e reflexão. 2 Introdução Com o presente trabalho pretende-se desenvolver uma aplicação Windows Forms com funcionalidades de edição, compilação e execução de programas escritos na linguagem C#. A aplicação deverá suportar os seguintes requisitos: Capacidade de edição de ficheiro contendo código C#. Compilação (modo manual ou modo automático) para EXE ou DLL do ficheiro corrente. Os erros de compilação deverão ser apresentados no editor. Capacidade de Code Completion (funcionalidade equivalente ao Intellisense do Visual Studio), isto é, quando for digitado o caráter. deverá ser apresentada uma lista dos membros do objeto implícito ou, no caso de se tratar de um tipo, a lista de membros estáticos desse tipo. Exemplos: Se for digitado System.Console., deverá ser apresentada a lista de membros estáticos do tipo System.Console. Se for digitado: struct X { int i; X xval; xval. deverá ser apresentada a lista de membros de instância do tipo X; Execução do assembly caso este tenha um entry point (assembly EXE). A figura 1 ilustra o aspeto gráfico da aplicação, e também o resultado da execução de um ficheiro produzido no editor. Na secção 3 serão fornecidos elementos sobre a implementação de cada funcionalidade. 1

2 3 Descrição 3.1 Editor Figura 1: Aspeto gráfico da aplicação e resultado de selecionar a opção Run.... O editor é composto por quatro componentes: Tool bar Contém componentes para manipular: referências do assembly (combo box Assembly References e botões + e - ), compilar ficheiro fonte e executar assembly resultante (botões Compile... e Run... ), e botões para gestão dos ficheiros (botões New..., Load... e Save... ). Área de edição É utilizado o componente System.Windows.Forms.RichTextBox. Visualização de erros É também utilizado o componente RichTextBox, mas sem capacidade de edição. Status bar Visualização da linha e coluna do cursor no editor e visualização de mensagens de estado (por exemplo: ficheiro foi carregado no editor, o texto presente no editor foi gravado em ficheiro, entre outras). 3.2 Compilação Para compilar o ficheiro fonte C# deverá utilizar o tipo CSharpEditor.CompilerServices.Compiler (disponibilizado no anexo a este documento), que permite invocar programaticamente o compilador de C#. 3.3 Code Completion Como foi referido anteriormente, sempre que for digitado o caráter. deverão ser apresentados os membros do objeto ou tipo implícitos na consulta. Para apresentar esta lista poderá usar o componente ListBox, disponível no namespace System.Windows.Forms. A lista de membros é obtida fazendo introspeção ao código. Para esse efeito, deverá compilar o código ignorando a expressão de consulta presente na linha 2

3 Figura 2: Utilização da funcionalidade Code completion. corrente (pois está incompleta) e produzir o assembly a partir do restante código; de seguida, deverá obter, via instrospeção ao assembly compilado no passo anterior, os membros do objeto ou tipo. A figura 2 ilustra a utilização da funcionalidade Code completion para obter a lista de membros da variável p, do tipo Test.Program. Assuma que as variáveis locais são declaradas da seguinte forma: cada declaração de variável aparece numa linha distinta e a variável não é iniciada na declaração. Por isso, uma declaração de variável local tem a forma simplificada: <Type identifier> <Variable identifier> ;. Assuma também que a expressão de consulta consiste numa única linha contendo o código <Variable identifier>. ou <Type identifier>.. Além de permitir fazer Code Completion de membros de variáveis locais declaradas da forma enunciada no parágrafo anterior, deve ser dado o suporte de Code Completion sobre nomes que podem ser obtidos por introspeção (parâmetros do método, membros de instância e estáticos e nomes de tipos). Na secção seguinte são apresentados exemplos relativos a este ponto Obtenção do tipo das variáveis existente no código fonte Para obter a lista de membros a partir da consulta <Variable identifier>. ou <Type identifier>., terá que determinar o tipo do identificador. No exemplo apresentado anteriormente, struct X { int i; X xval; xval. o tipo da variável local xval é X. Na consulta System.Console. o tipo é System.Console. No caso de instropeção a uma variável local, o tipo é determinado fazendo uma análise sintática (parsing) ao código 3

4 fonte do método onde a variável foi declarada. Por simplicidade assume-se que as consultas sobre variáveis locais são sempre realizadas no scope onde as variáveis são declaradas. Continuando com o exemplo anterior, outras consultas possíveis incluem: struct X { int i; args. // Apresenta lista de membros do parâmetro args // Ou: Prog.CoordX. // Apresenta lista de membros do campo CoordX // Ou: public void Process() { val. // Apresenta lista de membros do campo this.val Introspeção do assembly compilado A operação de Code Completion (usando o caráter. sobre uma variável ou tipo) resulta na compilação do ficheiro e posterior análise aos membros do tipo via introspeção do assembly. No entanto, na altura em que é realizado load ao assembly, a aplicação faz lock (Read lock) sobre o assembly, não permitindo atualizações posteriores a este ficheiro decorrentes de novas compilações que venham a ser realizadas. Para solucionar este problema, o código de inspeção do assembly deve ser executado num outro Application Domain, contruído com a opção Shadow copying ativada. Esta opção permite especificar que todos os assemblies presentes na diretoria base do Application Domain sejam copiados para outra diretoria. O troço de código seguinte ilustra a configuração desta opção: var setup = new AppDomainSetup { ApplicationName = "", ApplicationBase = < probing path >, ShadowCopyFiles = " true ", ShadowCopyDirectories = < probing path > [ CachePath = "D :\\ AnyPath \\ " ] ; A string <probing path> especifica a diretoria de onde se quer fazer shadow copying, por exemplo, a diretoria bin\degug da aplicação. O atributo CachePath é opcional na utilização; se não for especificada (opção recomendada), é usada uma cache própria que é gerida automaticamente pelo CLR. Este objecto setup é passado na construção do Application Domain. 3.4 Execução da aplicação Para executar a aplicação compilada, poderá usar o troço de código: var proc = new Process () ; proc. StartInfo. FileName = " something. exe "; proc. Start () ; proc. WaitForExit () ; var exitcode = proc. ExitCode ; proc. Close () ; Se pretender usar a consola, pode usar o seguinte código no evento Load da aplicação windows forms: 4

5 namespace CSharpEditor { public partial class CSharpEditorForm : Form { [ DllImport (" Kernel32. dll ")] static extern Boolean AllocConsole () ; private void C Shar pedi torf orm_ Loa d ( object sender, EventArgs e) { if (! AllocConsole () ) MessageBox. Show (" Failed to alloc console ");... 4 Código disponibilizado Como anexo a este documento, é disponibilizada uma solução do Visual Studio (VS2010), contendo o projeto: CSharpEditor Projecto onde deverão ser desenvolvidos os tipos que constituem a implementação. É disponibilizado o seguinte código base: interface gráfica da aplicação Windows Forms; deteção do caráter. e apresentação de uma List box na vizinhança do. ; atualização do status bar; implementação do tipo CSharpEditor.CompilerServices.Compiler e exemplos de utilização. 5 Testes Unitários No desenvolvimento do projecto sugere-se a utilização do framework de testes unitários NUnit (http: // O NUnit não está integrado no VS2010. Para integrar a execução dos testes sugerese a seguinte opção: Instalar e referenciar no projecto o assembly nunit.framework.dll. Instalar o plugin ReSharper (em Neste caso apenas está disponível uma versão de avaliação com licença para 30 dias. Quem estiver interessado em obter a licença anual atribuída ao ISEL, deverá contatar o docente. 6 Avaliação Na avaliação do trabalho são levados em conta os seguintes aspetos: organização e qualidade da solução; qualidade do relatório; teste dos componentes. 7 Prazo de Entrega O prazo de entrega do trabalho (relatório e código fonte) é o dia 16 de Fevereiro de ISEL, 14 de Dezembro de 2012.

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java.

ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. P. Fazendeiro & P. Prata POO FP0/1 ESQUEMA AULA PRÁTICA 0 Familiarização com o Ambiente de Desenvolvimento NetBeans Construção do primeiro programa em java. 0 Iniciar o ambiente de desenvolvimento integrado

Leia mais

Orientação a Objetos - Programação em C++

Orientação a Objetos - Programação em C++ OO- Engenharia Eletrônica Orientação a Objetos - Programação em C++ Slides 17: Programação Visual ou Orientada a Objetos Gráficos (Formulários, Botões, Caixas de Texto etc) Exemplificado em Microsoft Visual

Leia mais

Tutorial C# - Nova temporada

Tutorial C# - Nova temporada Tutorial C# - Nova temporada Date : 23 de Fevereiro de 2009 Olá a todos, este é o meu primeiro post de muitos (espero eu) em que vos vou falar de programação em C#. Porquê C#? Porque é sem duvida a mais

Leia mais

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura

Paradigmas de Programação. Java First-Tier: Aplicações. Orientação a Objetos em Java (I) Nomenclatura. Paradigma OO. Nomenclatura Java First-Tier: Aplicações Orientação a Objetos em Java (I) Paradigmas de Programação Programação Funcional Programação Procedural Programação Orientada por Objetos Grupo de Linguagens de Programação

Leia mais

Namespaces, Classes e Métodos.

Namespaces, Classes e Métodos. . Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação Ciência e Tecnologia do Maranhão Linguagem

Leia mais

Classes, Métodos e Propriedades

Classes, Métodos e Propriedades Ambiente de Programação Visual Classes, Métodos e Propriedades Prof. Mauro Lopes 1-31 22 Objetivos Nesta aula iremos dar continuidade aos elementos de programação da Linguagem C#. Iremos apresentar de

Leia mais

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias

IDES E PROGRAMAÇÃO. Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias 1 IDES E PROGRAMAÇÃO Prof. Dr. Cláudio Fabiano Motta Toledo PAE: Maurício A Dias {claudio,macdias}@icmc.usp.br 2 Agenda Conceitos Instalação e Configuração Compilação e Execução de Código IDEs Exemplo

Leia mais

ESQUEMA AULA PRÁTICA 1

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

Leia mais

ESQUEMA AULA PRÁTICA 1

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

Leia mais

Microsoft Visual Studio Community 2013

Microsoft Visual Studio Community 2013 Microsoft Visual Studio Community 2013 Linguagem de Programação III Mauro Lopes Carvalho Silva Professor EBTT DAI Departamento Acadêmico de Informática Campus Monte Castelo Instituto Federal de Educação

Leia mais

Engenharia de Software

Engenharia de Software UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 4 de Abril de 2017 Duração: 60 minutos Nome: Número: Este teste tem um conjunto de 8

Leia mais

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo

Usando o Eclipse - Fundamentos. Professor Vicente Paulo de Camargo Usando o Eclipse - Fundamentos Professor Vicente Paulo de Camargo O Eclipse é um ambiente de desenvolvimento integrado (IDE) É a ferramenta mais utilizada pelas empresas, visto que pode ser configurada

Leia mais

DISTRIBUINDO SUA APLICAÇÃO

DISTRIBUINDO SUA APLICAÇÃO DISTRIBUINDO SUA APLICAÇÃO Depois de pronta sua aplicação precisa ser distribuida para todos que querem ou precisam usá-la. Para usar a sua aplicação, o único requisito para o computador do cliente é que

Leia mais

Introdução ao C# com o Microsoft Visual Studio Community 2015

Introdução ao C# com o Microsoft Visual Studio Community 2015 José Roberto Madureira Junior Adaní Cusin Sacilotti Adriana Rodrigues Reginaldo Sacilotti Introdução ao C# com o Microsoft Visual Studio Community 2015 Primeira Edição São Paulo 2016 Sumário 1 INTRODUÇÃO

Leia mais

Professor Leo Larback Esta apresentação pode ser baixada livremente no site

Professor Leo Larback Esta apresentação pode ser baixada livremente no site C# Professor Leo Larback Esta apresentação pode ser baixada livremente no site www.larback.com.br C# - Definições C# é uma linguagem orientada a objeto que permite aos desenvolvedores construírem uma variedade

Leia mais

Programação 2017/2018 2º Semestre

Programação 2017/2018 2º Semestre Mestrado em Engenharia Electrotécnica e de Computadores Programação 2017/2018 2º Semestre Aula de Problemas 1 Os alunos deverão executar os passos aqui descritos no seu computador pessoal ou no laboratório.

Leia mais

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Revisões de PG (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Compilar e executar programas em Java Ficheiro fonte (Prog.java) Ficheiro

Leia mais

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em:

RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: RESULUÇÃO DOS EXERCÍCIOS E INSTRUÇÕES DE DECISÃO (if{} e else{}) Profº André Aparecido da Silva Disponível em: http://www.oxnar.com.br/aulas/java ATIVIDADE ELABORAR O PROGRAMA DE CÁLCULOS DE ÁREAS USANDO

Leia mais

Introdução ao IDE Netbeans (Programação Java)

Introdução ao IDE Netbeans (Programação Java) Universidade Federal do ABC Disciplina: Processamento da Informação (BC-05045) Assunto: Introdução ao IDE Netbeans Introdução ao IDE Netbeans (Programação Java) Conteúdo 1. Introdução... 1 1.1. Programas

Leia mais

Polimorfismo. O que é polimorfismo?

Polimorfismo. O que é polimorfismo? O que é polimorfismo? Polimorfismo Significa que variáveis podem referenciar mais do que um tipo. Não é um conceito novo e várias linguagens de programação aplicam. Funções são polimórficas quando seus

Leia mais

PADI 2015/16. Aula 1 Introdução à Plataforma.NET

PADI 2015/16. Aula 1 Introdução à Plataforma.NET PADI 2015/16 Aula 1 Introdução à Plataforma.NET 1 Sumário 1. Framework.NET Arquitectura 2. Linguagem C# 2.0 Sintaxe C# vs. Java vs. C++ 3. IDE: MS Visual Studio 2005 ou superior Ferramentas Console/Win

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Instituto Superior de Engenharia de Lisboa

Instituto Superior de Engenharia de Lisboa Instituto Superior de Engenharia de Lisboa Introdução à Programação (PG) Docente: Pedro Viçoso Fazenda (pfazenda@cedet.isel.ipl.pt) Professor Responsável: Pedro Alexandre Pereira (palex@cc.isel.ipl.pt)

Leia mais

Arquitecturas Alternativas. Java Virtual Machine

Arquitecturas Alternativas. Java Virtual Machine Arquitecturas Alternativas Java Virtual Machine Compilação da linguagem Java A linguagem Java é uma linguagem interpretada que é executada por uma máquina virtual software denominada JVM (Java Virtual

Leia mais

Aula 01. Prof. Diemesleno Souza Carvalho

Aula 01. Prof. Diemesleno Souza Carvalho Programação Orientada a Objetos II Aula 01 Prof. Diemesleno Souza Carvalho diemesleno@iftm.edu.br http://www.diemesleno.com.br Na aula passada vimos... Na aula passada vimos... - Apresentação da disciplina;

Leia mais

No Windows há basicamente dois tipos de programas de usuário:

No Windows há basicamente dois tipos de programas de usuário: Introdução O que vem a ser um programa em C? Você talvez já tenha ouvido falar que um compilador é um programa ou ferramenta que transforma um programa fonte escrito em uma linguagem de programação de

Leia mais

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO

CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CONCEITOS BÁSICOS DE ORIENTAÇÃO A OBJETOS PROF. ME. HÉLIO ESPERIDIÃO CLASSES E OBJETOS PARA PROGRAMAÇÃO ORIENTADA A OBJETOS Classes são estruturas das linguagens de POO criadas para conter os dados que

Leia mais

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO AO JAVA. Professor Carlos Muniz

LÓGICA DE PROGRAMAÇÃO INTRODUÇÃO AO JAVA. Professor Carlos Muniz Instalação do Compilador/Interpretador ( JDK ) As versões do JDK estão disponíveis livremente na Internet no site: http://java.sun.com O JDK, apresenta variáveis de ambiente, utilizadas para indicar ao

Leia mais

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades.

REST. Representational State Transfer. É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. REST Representational State Transfer É um estilo arquitetural usado por muitas aplicações Web para estender as suas funcionalidades. Não é um padrão. Exemplo ASP.NET Web API namespace WebAPIApp.Models

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Prof a. Rachel Reis Estruturas de Seleção if... else Operador condicional (? : ) switch Aula de Hoje Estruturas de Repetição: while/do... while/for

Leia mais

JAVA. Professor: Bruno Toledo

JAVA. Professor: Bruno Toledo JAVA Professor: Bruno Toledo Funcionamento de uma LP Em uma Linguagem de Programação (LP) como C e Pascal, temos o seguinte quadro quando vamos compilar um programa. Código fonte em c Teste.c Gera código

Leia mais

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa

Revisões de PG. Programação Orientada por Objetos (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Revisões de PG (POO) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Compilar e executar programas em Java Ficheiro fonte (Prog.java) Ficheiro

Leia mais

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C#

Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# Universidade do Vale do Paraíba Colégio Técnico Antônio Teixeira Fernandes Disciplina POO -2017 Material III-Bimestre Introdução e conceitos fundamentais da Linguagem C# http://www1.univap.br/~wagner Prof.

Leia mais

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016.

Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016. Programação Orientada a Objetos (utilizando C#) Professor Emiliano S. Monteiro Versão 12 Out/2016 4.1.6. Propriedades Como em qualquer linguagem Java ou C++, para acessar campos privados de uma classe,

Leia mais

WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE

WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE WINDOWS FORMS APPLICATION - Aplicação (Programa) que não usa a CONSOLE 1. Introdução. Uma Aplicação Windows Forms consiste em programas GRÁFICOS fundamentados no conceito de JANELAS que, no Visual Studio,

Leia mais

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

USP - ICMC - SSC SSC o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria USP - ICMC - SSC SSC 0501-1o. Semestre 2010 Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria Prof. Fernando Santos Osório Email: fosorio [at] { icmc. usp. br, gmail. com } Página Pessoal:

Leia mais

PRDS C#.Net Alexandre L. Silva

PRDS C#.Net Alexandre L. Silva PRDS 2011.1 C#.Net Alexandre L. Silva alexandre.silva@les.inf.puc-rio.br Programa 1. Introdução ao.net 2. Introdução ao ASP.Net 3. Introdução ao C#.Net 4. Primeiro programa 5. Métodos e Variáveis 6. Estruturas

Leia mais

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica

Pró-Reitoria Acadêmica Diretoria Acadêmica Assessoria Pedagógica da Diretoria Acadêmica FACULDADE: CENTRO UNIVERSITÁRIO DE BRASÍLIA UniCEUB CURSO: CIÊNCIA DA COMPUTAÇÃO DISCIPLINA: CONSTRUÇÃO DE COMPILADORES CARGA HORÁRIA: 75 H. A. ANO/SEMESTRE: 2017/02 PROFESSOR: EDUARDO FERREIRA DOS SANTOS

Leia mais

Genéricos. Profa. Thienne Johnson EACH/USP

Genéricos. Profa. Thienne Johnson EACH/USP Genéricos Profa. Thienne Johnson EACH/USP Java, como programar, 6ª edição Deitel & Deitel Capítulo 18 Material complementar http://wps.prenhall.com/br_deitel_comoprogra_6/ Todas as classes em Java herdam,

Leia mais

Grupo I [5,5v] Considere o seguinte código que ilustra uma componente programática de um sistema de RPC, neste caso do SUN-RPC.

Grupo I [5,5v] Considere o seguinte código que ilustra uma componente programática de um sistema de RPC, neste caso do SUN-RPC. Número: Nome: Página 1 de 7 LEIC/LERC 2012/13, 1º Teste de Sistemas Distribuídos, 16 de Abril de 2013 Responda no enunciado, apenas no espaço fornecido. Identifique todas as folhas. Duração: 1h30m Grupo

Leia mais

Familiarização com o ambiente de desenvolvimento da Keil Software. (uvision 51 e dscope 51)

Familiarização com o ambiente de desenvolvimento da Keil Software. (uvision 51 e dscope 51) Familiarização com o ambiente de desenvolvimento da Keil Software (uvision 51 e dscope 51) jpsousa@fe.up.pt Setembro 2005 Conteúdo 1 Objectivos 2 2 Introdução 2 3 O ambiente de desenvolvimento da Keil

Leia mais

Visual Basic.NET Image Lists, Tree e List Views, Toolbars, Status e Progress Bars e Tab Controls Lista de Exercícios

Visual Basic.NET Image Lists, Tree e List Views, Toolbars, Status e Progress Bars e Tab Controls Lista de Exercícios Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Pato Branco Visual Basic.NET Image Lists, Tree e List Views, Toolbars, Status e Progress Bars e Tab Controls Lista de Exercícios

Leia mais

02. [Sebesta, 2000] Quais são as vantagens e as desvantagens dos tipos de dados decimais?

02. [Sebesta, 2000] Quais são as vantagens e as desvantagens dos tipos de dados decimais? 01. [Sebesta, 2000] O que é um descritor? 02. [Sebesta, 2000] Quais são as vantagens e as desvantagens dos tipos de dados decimais? 03. [Sebesta, 2000] Quais são as questões de projeto relativas aos tipos

Leia mais

Laboratório 01 NetBeans

Laboratório 01 NetBeans Universidade Federal de Uberlândia Faculdade de Computação GGI030 Programação Orientada a Objetos 2o. Semestre de 2017 Prof. Renato Pimentel Atividade individual. Laboratório 01 NetBeans 1 Introdução Os

Leia mais

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans.

Obs.: para realizar estas atividades tenha certeza de que já tenha instalado no sistema operacional o Java JDK e o NetBeans. 1 - Criando meu primeiro programa em Java Para criar um programa Java podemos utilizar um editor de textos (Bloco de Notas/Windows, Notepad ++ ou GEdit/Linux) e o console do sistema operacional, ou um

Leia mais

Integração por Web Services

Integração por Web Services Integração por Web Services Versão 1.1 Maio 2010 Índice Índice... 2 Introdução... 3 Arquitectura PRIMAVERA... 4 User Interface... 4 Motor... 4 Interface para o Administrador... 5 Motores PRIMAVERA em Web

Leia mais

LÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz

LÓGICA DE PROGRAMAÇÃO (JAVA) CLASSES E OBJETOS. Professor Carlos Muniz LÓGICA DE PROGRAMAÇÃO (JAVA) Classes Uma classe é um tipo definido pelo usuário que contém o molde, a especificação para os objetos, algo mais ou menos como o tipo inteiro contém o molde para as variáveis

Leia mais

A interface do Microsoft Visual Studio 2005

A interface do Microsoft Visual Studio 2005 Tarefa Orientada 1 A interface do Microsoft Visual Studio 2005 Objectivos: Introdução à framework.net Iniciar o Visual Studio 2005. Criar um novo projecto de Windows Forms em Visual Basic Introdução à

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação ET43I Aula 5 Prof. Daniel Cavalcanti Jeronymo Orientada a Objetos e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens

Leia mais

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli

Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; IFSC/POO + JAVA - prof. Herval Daminelli Esta categoria mais geral, à qual cada objeto pertence, denominamos de classe; Tudo no mundo real pode ser representado por meio do conceito de "objeto": uma planta, uma mesa, uma pessoa, um sentimento,

Leia mais

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java

Bacharelado em Ciência e Tecnologia Processamento da Informação. Equivalência Portugol Java. Linguagem Java Linguagem Java Objetivos????? ADAPTAR O TEXTO ABAIXO????? Aprender a sintaxe da Estrutura de Repetição ENQUANTO-FAÇA na linguagem PORTUGOL Aprender a resolver problemas que requeiram o uso de ESTRUTURAS

Leia mais

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento

Orientação a objetos. Programação. Orientada a Objetos. Orientação a objetos. Orientação a objetos. Abstração e encapsulamento Orientação a objetos Programação Orientada a Objetos Alexandre César Muniz de Oliveira Linguagens orientadas a procedimentos e linguagens orientadas a objetos Unidade de programação: funções e classes

Leia mais

9 Classes Abstractas e Interfaces

9 Classes Abstractas e Interfaces 9 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Fabiano Moreira.

Fabiano Moreira. Fabiano Moreira professor@fabianomoreira.com.br Um pouco de história Java 1.02 (250 classes, lenta) Java 1.1 (500 classes, um pouco mais rápida) Java 2, versões 1.2-1.4 (2300 classes, muito mais rápida)

Leia mais

Fundamentos de Programação 2

Fundamentos de Programação 2 Fundamentos de Programação 2 ET43G Aula 9 Prof. Daniel Cavalcanti Jeronymo e instâncias. Construtores, destrutores e operador de atribuição de cópia. Objetos, atributos, operações: mensagens e métodos,

Leia mais

Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile)

Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile) Publicar uma aplicação ASP.NET Core com base de dados SqlServer no Azure usando Visual Studio e um perfil para publicação (publish profile) 1. Instalar no Visual Studio 2017 o workload Azure Development

Leia mais

O AMBIENTE DE DESENVOLVIMENTO

O AMBIENTE DE DESENVOLVIMENTO Módulo 9 O AMBIENTE DE DESENVOLVIMENTO P S I 1 1 - C P T G P S I SUMÁRIO Instalação do Java JDK - Kit de Desenvolvimento Java Download do JDK Instalação do JDK Configuração da Variável de ambiente (Path)

Leia mais

Carlos Eduardo Batista. Centro de Informática - UFPB

Carlos Eduardo Batista. Centro de Informática - UFPB Linguagem de Programação I Carlos Eduardo Batista Centro de Informática - UFPB bidu@ci.ufpb.br Motivação para o uso de C++ para o aprendizado de POO Quando usar C e quando usar C++ C++ versus Java Ambientes

Leia mais

Lição 7 Array em Java

Lição 7 Array em Java Lição 7 Array em Java Introdução à Programação I 1 Objetivos Ao final desta lição, o estudante será capaz de: Declarar e criar arrays Acessar elementos de um array Determinar o número de elementos em um

Leia mais

Aplicação MVC com Class Library

Aplicação MVC com Class Library Aplicação MVC com Class Library Vamos considerar uma Class Library com o modelo de dados e com acesso à base de dados através do Entity Framework. Uma Class Library nunca funciona sozinha. Vamos usá-la

Leia mais

Licenciatura em Informática

Licenciatura em Informática Licenciatura em Informática Unidade Curricular Programação V Programming V Objetivos -Compreender os aspetos mais avançados de uma linguagem orientada a objetos abordando conceitos como: Encapsulamento,

Leia mais

Manual de Instalação PRIMAVERA WINDOWS SERVICES V1.0 SR2

Manual de Instalação PRIMAVERA WINDOWS SERVICES V1.0 SR2 Manual de Instalação PRIMAVERA WINDOWS SERVICES V1.0 SR2 Versão 1.2 outubro 2012 Índice Índice... 2 Introdução... 3 Instalação... 4 Requisitos... 4 Processo de Instalação... 4 Instalação do PRIMAVERA Windows

Leia mais

Implementação da programação modular II

Implementação da programação modular II Implementação da programação modular II - 1 Implementação da programação modular II Aula 11 Agenda Declaração e definição de dados Os conceitos relacionados com a ligação de programas Os elementos essenciais

Leia mais

Array em Java. Figura 1 - Exemplo de um array de inteiros

Array em Java. Figura 1 - Exemplo de um array de inteiros Array em Java 1. Objetivos Nesta lição, abordaremos Array em Java. Primeiro, definiremos o que é array e, então, discutiremos como declará-los e usá-los. Ao final desta lição, o estudante será capaz de:

Leia mais

Engenharia de Software

Engenharia de Software UNIVERSIDADE DE LISBOA INSTITUTO SUPERIOR TÉCNICO Engenharia de Software LEIC/LETI, 3 o Ano, 2 o Semestre 1 o Teste, 10 de Abril de 2018 Duração: 90 minutos Nome: Número: Este teste tem um conjunto de

Leia mais

Programação em Sistemas Computacionais

Programação em Sistemas Computacionais Programação em Sistemas Computacionais Linguagem C Introdução, tipos Centro de Cálculo Instituto Superior de Engenharia de Lisboa Jorge Martins (jmartins@isel.pt) baseado no slides de Pedro Pereira Enquadramento

Leia mais

Criação de uma aplicação Web ASP.NET MVC 4

Criação de uma aplicação Web ASP.NET MVC 4 Criação de uma aplicação Web ASP.NET MVC 4 usando Code First, com Roles (VS2012) Baseado no artigo de Scott Allen Roles in ASP.NET MVC4 : http://odetocode.com/blogs/scott/archive/2012/08/31/seeding membership

Leia mais

Linguagem de Programação Visual

Linguagem de Programação Visual Linguagem de Programação Visual Unidade 4 - Introdução à API Swing - JOptionPane Curso Técnico em Informática SUMÁRIO INTRODUÇÃO... 3 API SWING... 3 A CLASSE JOPTIONPANE... 3 PRINCIPAIS MÉTODOS DA CLASSE

Leia mais

Esta é a única declaração da aplicação

Esta é a única declaração da aplicação Esta é a única declaração da aplicação A classe de usuário Olamundo O método público main, com seu argumento, obrigatório em qualquer aplicação. É dentro deste método que você inicia sua aplicação, não

Leia mais

Sintaxe da linguagem Java

Sintaxe da linguagem Java Sintaxe da linguagem Java (PG) Centro de Cálculo Instituto Superior de Engenharia de Lisboa Pedro Alexandre Pereira (palex@cc.isel.ipl.pt) Classe pública com método main Uma classe pública com nome A tem

Leia mais

Tarefa Orientada 3 Aplic. Manutenção de Produtos Text Box

Tarefa Orientada 3 Aplic. Manutenção de Produtos Text Box Tarefa Orientada 3 Aplic. Manutenção de Produtos Text Box Objectivos: Utilização de uma fonte de dados. Criação de controlos Text Box ligados a uma fonte de dados. Criação de classes. Se uma tabela contém

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 5 Conversão de Tipos Polimorfismo O Modificador final O Modificador

Leia mais

Objectivos: Criar um programa de instalação do projecto desenvolvido

Objectivos: Criar um programa de instalação do projecto desenvolvido Tarefa Orientada 7 Criação de um programa de instalação Objectivos: Criar um programa de instalação do projecto desenvolvido Nesta tarefa iremos criar um programa de instalação (setup program) para a aplicação

Leia mais

Trabalho Prático Nº1 Introdução ao C#.NET

Trabalho Prático Nº1 Introdução ao C#.NET Trabalho Prático Nº1 Introdução ao C#.NET 1. OBJECTIVOS - Entender o contexto da plataforma.net - Desenvolver programas simples em C#.NET - Saber efectuar entradas de dados em modo Consola e Windows Forms

Leia mais

Introdução. Por que desenvolver ALGORITMO?

Introdução. Por que desenvolver ALGORITMO? Introdução Programa Computacional busca da necessidade de solução de um problema particular: a geração automática de documentos, o controle de um equipamento eletrodoméstico, a transmissão de informações

Leia mais

Programação por Objectos. Java

Programação por Objectos. Java Programação por Objectos Java Parte 5: Associações LEEC@IST Java 1/32 Associação revisão Uma associação representa uma referência entre objectos. Numa associação são definidos: Identificador termo descritivo

Leia mais

Programação Orientada a Objectos - P. Prata, P. Fazendeiro

Programação Orientada a Objectos - P. Prata, P. Fazendeiro 7 Classes Abstractas e Interfaces Classe Abstracta Classe em que pelo menos um dos métodos de instância não é implementado. Exemplo: public abstract class Forma{ public abstract double area(); public abstract

Leia mais

Familiarização com a ferramenta JavaCC

Familiarização com a ferramenta JavaCC Ficha nº 2 Familiarização com a ferramenta JavaCC Estrutura do ficheiro JavaCC O JavaCC utiliza um ficheiro com a extensão.jj, onde são descritos, pelo utilizador, o léxico e a sintaxe da linguagem e gera

Leia mais

Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox

Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox Tarefa Orientada 4 Aplic. Manutenção de Produtos - ComboBox Objectivos: Utilização de uma fonte de dados. Criação de controlos Combobox ligados a uma fonte de dados. Utilização de parâmetros em consultas

Leia mais

Problema do Caminho Hamiltoniano

Problema do Caminho Hamiltoniano Universidade de São Paulo Escola de Artes, Ciências e Humanidades Bacharelado em Sistemas de Informação Introdução à Ciência da Computação II Professores Luciano Digiampietri e Fábio Nakano Data de entrega:

Leia mais

Programação 2010/2011 MEEC

Programação 2010/2011 MEEC Programação 2010/2011 MEEC Code::Blocks Criação de projectos O Code::Blocks é um IDE (ambiente de desenvolvimemnto integrado) que permite a escrita do codigo, compilação, correcção de erros e depuração

Leia mais

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan

Introdução a classes e objetos. Prof. Marcelo Roberto Zorzan Introdução a classes e objetos Prof. Marcelo Roberto Zorzan Aula de Hoje Abstração de Dados Classes e Objetos Definição de Métodos Métodos com parâmetro Abstração de Dados Processo mental através do qual

Leia mais

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno

Programação Orientada a Objetos. Aula 1.9 this e static. Prof. Bruno Moreno Programação Orientada a Objetos Aula 1.9 this e static Prof. Bruno Moreno bruno.moreno@ifrn.edu.br Relembre: Clase RoboSimples Os métodos move() e move(int passos) podem ser reescrito sem redundância de

Leia mais

Programação em C#.Net 4.0 com Mobile Apps

Programação em C#.Net 4.0 com Mobile Apps Programação em C#.Net 4.0 com Mobile Apps Programação Formato: Mentored - Online Preço: 415 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível das

Leia mais

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos)

A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos) Desenvolvimento de Sistemas Web A composição de uma Java Server Pages (Diretivas, Elementos de Script e Objetos Implícitos) Prof. Mauro Lopes 1-31 24 Objetivos Dando continuidade aos estudos sobre JSP,

Leia mais

CAP. VI ANÁLISE SEMÂNTICA

CAP. VI ANÁLISE SEMÂNTICA CAP. VI ANÁLISE SEMÂNTICA VI.1 Introdução Semântica SIGNIFICADO, SENTIDO LÓGICO, COERÊNCIA,... Diferença entre SINTAXE e SEMÂNTICA Sintaxe : descreve as estruturas de uma linguagem; Semântica : descreve

Leia mais

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos)

Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a. cada classe e cada membro da classe (dados e métodos) Mecanismos de controlo de acesso Especificam quem tem acesso a cada entidade, isto é, quem tem acesso a cada classe e cada membro da classe (dados e métodos) Modificadores de acesso: public protected private

Leia mais

Algoritmia e Programação APROG. Tecnologia JAVA. IDE Netbeans. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Algoritmia e Programação APROG. Tecnologia JAVA. IDE Netbeans. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 APROG Algoritmia e Programação Tecnologia JAVA IDE Netbeans Nelson Freire (ISEP DEI-APROG 2012/13) 1/31 Tecnologia Java Sumário Tecnologia Java Desenvolvimento de Programas Ambientes de Desenvolvimento

Leia mais

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica

Polimorfismo e Ligação Dinâmica. Alcides Pamplona Polimorfismo e Ligação Dinâmica Alcides Pamplona Linguagem de Programação CESBD 2010 Alcides Pamplona alcides.pamplona@gmail.com Tópicos Ligação Dinamica Polimorfismo Verificação Dinâmica de Tipos 2 Introdução A vinculação ou ligação

Leia mais

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos

Encapsulamento e Métodos (Construtores e Estáticos) João Paulo Q. dos Santos Encapsulamento e Métodos (Construtores e Estáticos) Sobrecarga de Métodos João Paulo Q. dos Santos joao.queiroz@ifrn.edu.br Roteiro Conceitos sobre Encapsulamento; Variável this; Métodos Construtores;

Leia mais

Programação em VB.Net 4.0 com Mobile Apps

Programação em VB.Net 4.0 com Mobile Apps Programação em VB.Net 4.0 com Mobile Apps Programação Formato: Mentored - Presencial Preço: 415 ( Os valores apresentados não incluem IVA. Oferta de IVA a particulares e estudantes. ) Horário: Flexível

Leia mais

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Aula 08 Estruturas de Condição. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes Aula 08 Estruturas de Condição Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes http://www.profbrunogomes.com.br/ Agenda da Aula Entrada de Dados; Estruturas de Controle: Estrutura de Sequência;

Leia mais

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS

INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS INF1636 PROGRAMAÇÃO ORIENTADA A OBJETOS Departamento de Informática PUC-Rio Ivan Mathias Filho ivan@inf.puc-rio.br Programa Capítulo 3 Ponteiros e Variáveis de Objeto Construtores e Blocos de Inicialização

Leia mais

Apresentação da plataforma.net. Ambientes Virtuais de Execução. Semestre de Verão, 12/13

Apresentação da plataforma.net. Ambientes Virtuais de Execução. Semestre de Verão, 12/13 Apresentação da plataforma.net Ambientes Virtuais de Execução Semestre de Verão, 12/13 Desenvolvimento baseado em componentes Desenvolvimento modular funcionalidades genéricas implementadas em componentes

Leia mais

Relacionamentos entre objetos

Relacionamentos entre objetos Programação Orientada a Objetos Relacionamentos entre objetos Associação, composição e agregação Construtores t e sobrecarga Variáveis de classe e de instância Reinaldo Gomes reinaldo@cefet-al.br Objetos

Leia mais

4 Conceito de Herança

4 Conceito de Herança 4 Conceito de Herança Hierarquia de classes e mecanismo de ligação Herança Uma classe pode herdar operações de uma superclasse e as suas operações podem ser herdadas por subclasses. O mecanismo de herança

Leia mais