Buscar

DESENVOLVIMENTO DE SOFTWARE Aulas de 1 a 5

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 67 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 67 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 67 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

DESENVOLVIMENTO DE SOFTWARE
AULA 1
INTRODUÇÃO
Nesta aula, você irá:
1.Conhecer o mercado de software;
2.Aprender as características do .NET Framework 4.0;
3.Conhecer as linguagens de programação para .NET 
Framework 4.0;
4.Aprender a baixar e instalar o .NET Framework 4.0;
5.Conhecer as edições do Visual Studio 2010;
6.Aprender a baixar e instalar o Visual Basic 2010 
Express.
O Mercado De Software
Braun apresenta (2010) que:
• Os estados unidos da américa (EUA) lidera o mercado 
mundial de software e serviços, com faturamento de 
US$ 349,7 bilhões em 2009.
• O Japão está na segunda posição, com faturamento de 
US$ 71,7 bilhões.
• O Brasil manteve a 12ª posição no mercado mundial 
de software, com faturamento de US$ 15,36 bilhões 
em 2009, com crescimento de 2,4% em relação a 
2008, segundo o estudo realizado pelo IDC para a 
Associação Brasileira das Empresas de Software 
(ABES), superando a média global de 0,89% em 
relação a 2008.
Plataforma .NET Framework 4.0
A plataforma .NET Framework 4.0 (.NET 4.0) é uma 
plataforma de softwares que fornece integração com um 
conjunto variado de linguagens de programação, 
produtividade em desenvolvimento de aplicações, 
 DESENVOLVIMENTO DE SOFTWARE 1
implantação e execução de aplicações em um ambiente 
gerenciado (MSDN, 2010). O .NET 4.0 é também 
definido como tecnologia porque é composto de 
bibliotecas e ferramentas executáveis integradas com o 
sistema operacional como, por exemplo, o vbc.exe que é 
o compilador do Visual Basic (VB).
Arquitetura do .NET 4.0
O .NET 4.0 é uma camada de softwares que fica entre o 
sistema operacional e as aplicações. Esta camada é 
subdividida em duas camadas, conforme mostra a figura 
2.1. A camada inferior, chamada de Common Language 
Runtime (CLR), executa a maior parte das tarefas e a 
camada superior, chamada de Base Class Library (BCL), 
contém os tipos, as interfaces e as bibliotecas de classes 
como, por exemplo, Windows Forms, Windows 
Presentation Foundation (WPF), Windows Communication 
Foundation (WCF), ASP.NET, ADO.NET, Windows 
Workflow Foundation, LINQ, Parallel FX etc., utilizadas 
para a criação de uma aplicação (DEL SOLE, 2010).
Desta forma, um dos grandes benefícios proporcionados 
pelo .NET 4.0 é o aumento da produtividade no 
 DESENVOLVIMENTO DE SOFTWARE 2
desenvolvimento de software, uma vez que o .NET 4.0 
fornece muitas das classes geralmente necessárias para 
o desenvolvimento de uma aplicação, dispensando o 
esforço e o consumo de tempo para que estas sejam 
codificadas pelo programador da aplicação.
O .NET 4.0 é standalone, ou seja, todo o CLR e toda a 
BCL estão contidos na versão da plataforma e, desta 
forma, não necessita que as versões anteriores estejam 
instaladas. Esta é uma grande diferença em relação às 
versões anteriores do .NET, que eram plataformas 
incrementais que necessitavam das versões prévias 
instaladas como, por exemplo, o .NET 3.5 que contém o 
LINQ, o .NET 3.0 porque este contém o WPF e também 
o .NET 2.0 que contém o Windows Forms (DEL SOLE, 
2010).
O Common Language Runtime (CLR) provê uma camada 
comum a todas as linguagens .NET. O CLR permite que a 
aplicação seja executada em um ambiente gerenciado 
onde a aplicação se comunica com o .NET, ao invés de se 
comunicar diretamente com o sistema operacional. 
Desta forma, o CLR é responsável pelo controle da 
 DESENVOLVIMENTO DE SOFTWARE 3
execução das aplicações, pelo gerenciamento da 
memória, pelo gerenciamento dos recursos, pelo acesso 
aos recursos do sistema, pelos serviços de segurança 
etc. O código da aplicação escrito em alguma 
linguagem .NET para este ambiente gerenciado é 
conhecido como managed code (código gerenciado) (DEL 
SOLE, 2010).
Os compiladores das linguagens .NET, ao compilarem os 
códigos das aplicações, geram pacotes chamados 
de .NET assemblies (montagens). Um .NET assembly 
(montagem) é um arquivo que contém códigos em 
Microsoft Intermediate Language (MSIL) e metadados 
(metadata). A MSIL é uma linguagem assembly de alto 
nível, orientada a objetos, com conjunto de instruções 
independentes de CPU. A MSIL é dita uma linguagem 
comum, considerando que códigos implementados em 
diferentes linguagens .NET, quando compilados, são 
convert idos em MSIL. Os metadados contêm 
informações sobre o código como, por exemplo, os tipos 
implementados, as funções, os procedimentos, as 
assinaturas etc. (DEL SOLE, 2010).
Quando um .NET assembly é chamado, o compilador 
just-in-time (JIT) traduz o código em MSIL do .NET 
assembly para o código executável equivalente e nativo 
para o sistema operacional no qual o .NET assembly está 
instalado. O código executável nativo é chamado de 
jitted code. Uma outra opção, chamada prejitting, é pré-
compilar o código MSIL com a ferramenta ngen.exe. 
Todos os assemblies do BCL são pré-compilados 
(prejitted) (GRIMES, 2002).
A Base Class Library (BCL) fornece milhares de tipos, 
interfaces e classes para serem utilizados nas aplicações. 
 DESENVOLVIMENTO DE SOFTWARE 4
Os namespaces são pacotes ou contêineres que agrupam 
os tipos, as interfaces e as classes relacionadas a uma 
tecnologia como, por exemplo, o namespace 
System.Windows.Forms para Windows Forms e o 
namespace System.Web para aplicações para web.
A BCL é composta de diversos assemblies. Um dos mais 
importantes é o MsCorlib.dll (Microsoft Core Library). 
Alguns são para tecnologias especificas como, por 
exemplo, o System.ServiceModel.dll que integra a BCL 
ao Windows Communication Foundation (WCF).
INSTALAÇÃO DO .NET FRAMEWORK 4.0
Acesse a página web <http://msdn.microsoft.com/en-
us/library/5a4x27ek.aspx > para conhecer os requisitos 
de sistema para instalação do .NET 4.0 e faça o 
download do programa de instalação via web (Web 
installer) dotNetFx40_Full_setup.exe, execute o 
programa e siga as instruções para instalação.
 
O .NET Framework é instalado em uma pasta de 
caminho %windir%\Microsoft.NET\Framework\4.0 ou 
similar, dependendo do ambiente.
LINGUAGENS DE PROGRAMAÇÃO PARA .NET 
FRAMEWORK 4.0
A Microsoft oferece uma família de linguagens de 
programação para o .NET 4.0. As aplicações para .NET 
4.0 podem ser desenvolvidas em linguagem Visual Basic 
2010 (VB 10.0), Visual C# 4.0, Visual F# 2010 e Visual 
C++ 2010. Estas linguagens de programação permitem 
o desenvolvimento de aplicações usando ferramentas 
visuais disponíveis na interface gráfica para usuário 
(graphical user interface - GUI) do Visual Studio 2010. 
 DESENVOLVIMENTO DE SOFTWARE 5
Além destas linguagens, podem ser utilizadas também 
as linguagens dinâmicas IronRuby e IronPython.
A linguagem J# não faz parte da família de linguagens 
para .NET 4.0.
EDIÇÕES DO VISUAL STUDIO 2010
O Visual Studio 2010 é um poderoso ambiente de 
desenvolvimento integrado (integrated development 
environment - IDE), com recursos novos e aprimorados 
que simplificam e aumentam a produtividade de 
desenvolvimento, desde o design (projeto) até a 
implantação. 
A Microsoft fornece várias edições do Visual Studio 2010 
com diferentes recursos e preços para que o profissional 
de software tenha flexibilidade para escolher a edição 
mais adequada ao seu trabalho.
As edições atualmente disponíveis são (VISUAL STUDIO, 
2010):
A Microsoft fornece também a edição 
gratuita chamada Visual Studio 2010 
Express para estudantes e desenvolvedores 
iniciantes. O Visual Studio 2010 Express é 
composto do Visual Basic 2010 Express, do 
Visual C# 2010 Express, do Visual C++ 
2010 Express e do Visual Web Developer 
2010 Express. Clique aqui e saiba como 
Instalar o VB 2010 Express
 DESENVOLVIMENTODE SOFTWARE 6
• Nesta aula, você: 
• Conheceu o mercado de software;
• Aprendeu as características do .NET Framework 4.0;
•Conheceu as linguagens de programação para .NET Framework 
4.0;
• Aprendeu a baixar e instalar o .NET Framework 4.0;
• Conheceu as edições do Visual Studio 2010;
Aprendeu a baixar e instalar o Visual Basic 2010 Express.
Registro de Participação
1. Em 2009, o Brasil manteve a ____ posição no mercado 
mundial de software, segundo o estudo realizado pelo IDC 
para a Associação Brasileira das Empresas de Software 
(ABES).
1)1ª 
2) 2ª 
3) 3ª 
4) 12ª 
5) 100ª 
 2. O mercado brasileiro de software e serviços teve 
durante os anos de 2005 a 2008, crescimentos:
1) superiores a 50% por ano. 
2) superiores a 20% por ano. 
3) inferiores a 20% por ano. 
4) inferiores a 10% por ano. 
5) inferiores a 5% por ano. 
3. O .NET 4.0 é uma camada de softwares que fica entre o 
sistema operacional e as aplicações. Esta camada é 
subdividida em duas camadas. A camada responsável pelo 
controle da execução das aplicações, pelo gerenciamento 
da memória, pelo gerenciamento dos recursos, pelo acesso 
aos recursos do sistema, pelos serviços de segurança é:
 DESENVOLVIMENTO DE SOFTWARE 7
1) WPF 
2) WCF 
3) CLR 
4) BCL 
5) LINQ 
4. Os tipos, as interfaces e as bibliotecas de classes 
do .NET 4.0 estão contidos na camada:
1) WPF 
2) WCF 
3) CLR 
4) BCL 
5) LINQ 
 DESENVOLVIMENTO DE SOFTWARE 8
AULA 2
PROGRAMAÇÃO BÁSICA
Nesta aula, você irá: 
1.Conhecer o histórico da linguagem Visual Basic
2.Conhecer as palavras-chave da linguagem VB 2010
3.Aprender a fazer comentários em linguagem VB 2010
4.Aprender o que é uma variável
5.Aprender o que é uma constante
6.Aprender como se faz uma declaração de uma variável 
ou constante em linguagem VB 2010
7.Aprender como se faz uma atribuição de um valor à 
uma variável ou constante em linguagem VB 2010
8.Aprender sobre os tipos de dados da linguagem VB 
2010
9.Aprender sobre os operadores da linguagem VB 2010
1. Histórico da Linguagem Visual Basic
A linguagem BASIC (Beginner´s All Purpose Symbolic 
Instruction Code) foi criada em 1964 no Dartmouth 
College, em New Hampshire, EUA, pelos matemáticos John 
George Kemeny e Thomas Eugene Kurtzs para os 
estudantes desenvolverem programas para o Dartmouth 
Time-Sharing System. Desta forma, é uma linguagem de 
fácil aprendizado, que foi originalmente chamada de 
D a r t m o u t h B A S I C . O s a u t o r e s d a l i n g u a g e m 
disponibilizaram o compilador BASIC sem custos para 
promover a linguagem. Como resultado, os compiladores 
BASIC foram implementados em mainframes e nos 
microcomputadores da DEC, Data General Nova, HP. Uma 
versão simplificada do BASIC, chamada TinyBASIC, foi 
desenvolvida por Dr. Li-Chen Wang para máquinas com 
CPU 8080, que depois foi portada por Dennis Allison para a 
Altair. Em 1975, a MITS lançou o Altair BASIC, 
 DESENVOLVIMENTO DE SOFTWARE 9
desenvolvido por Wiliam Gates, Paul Allen, fundadores da 
Micro-Soft (atual Microsoft), e Monte Davidoff em firmware 
(gravado em memórias PROM) para o microcomputador 
MITS Altair 8800. O interpretador BASIC foi o primeiro 
produto comercializado pela Microsoft. Posteriormente, a 
Microsoft desenvolveu interpretadores BASIC, chamados 
M i c r o s o f t B A S I C o u M B A S I C , p a r a o u t r o s 
microcomputadores. Em 1982, a Microsoft lançou o 
Microsoft QuickBasic para ambientes MS-DOS. Em 1991 foi 
lançado o Microsoft Visual Basic Windows. Em 1992 foi 
lançado o Visual Basic 1.0 para DOS e o Visual Basic 2.0 
para Windows. O Visual Basic 3.0 foi lançado em 1993. O 
Visual Basic 4.0 foi lançado em 1996 com suporte a 
aplicações de 32 bits. O Visual Basic 5.0 foi lançado em 
1997 com suporte a criação de controles ActiveX. O Visual 
Basic 6.0 foi lançado em 1998. O Visual Basic .NET 2005 
foi lançado em 2005. O Visual Basic .NET 2008 foi lançado 
em 2007. O Visual Studio 2010 (VB 10.0) e o Visual Basic 
2010 Express foram lançados em 2010 (FREETUTES, 2010; 
SMILEY, 2010; VISUAL STUDIO, 2010).
Atualmente as equipes responsáveis pelas linguagens 
Visual Basic 2010 e Visual C# 4.0 estão subordinadas à 
mesma unidade organizacional da Microsoft para que as 
linguagens tenham recursos similares (KUNK, 2010)
PALAVRAS-CHAVE
A linguagem de programação VB 2010 possui palavras-
chave que são reservadas e não devem ser usadas como 
identificadores de variáveis, constantes, procedimentos, 
módulos, sub-rotinas, funções, objetos etc.
Você deve evitar também algumas palavras-chave não 
reservadas da linguagem VB 2010 para manter a 
legibilidade dos seus códigos.
 DESENVOLVIMENTO DE SOFTWARE 10
COMENTÁRIOS
Os comentários de códigos são utilizados para descrever o 
código com objetivo de documentar e facilitar o 
entendimento do programa.
Os comentários de códigos em linguagem VB 2010 são 
prefixados com apóstrofe. O editor de código marca os 
comentários na cor verde. 
O compilador VB ignora todos os caracteres após a 
apóstrofe até o final da linha de código.
O exemplo a seguir mostra um comentário de código em 
VB.
'Este é um comentário de código em VB'
VARIÁVEL
Variável é um espaço alocado na memória para 
armazenamento de valores. Uma variável tem um nome 
identificador, um endereço inicial de alocação na memória, 
um tamanho do espaço de alocação na memória e um tipo.
CONSTANTE
Constante é um espaço alocado na memória para 
armazenamento de um valor, que após a atribuição não 
pode ser alterado. Uma constante, assim como uma 
variável, também tem um nome identificador, um endereço 
inicial de alocação na memória, um tamanho do espaço de 
alocação na memória e um tipo.
TIPOS
Um tipo define os tipos de valores a serem armazenados 
na memória, o espaço a ser alocado na memória para 
armazenar valores deste tipo e a faixa de valores. 
 DESENVOLVIMENTO DE SOFTWARE 11
Os tipos facilitam o trabalho do programador, que 
simplesmente declara uma variável ou constante de um 
determinado tipo, evitando que defina explicitamente as 
características de cada variável ou constante declarada no 
programa.
Todas as linguagens de programação .NET são baseadas no 
Common Type System (Sistema de Tipo Comum) do .NET 
Framework. O Common Type System fornece tipos 
unificados para todas as linguagens .NET (DEL SOLE, 
2010).
Segundo Balena (2010), os milhares de tipos suportados 
pelo .NET Framework podem ser agrupados em duas 
amplas categorias:
Tipos de valor (value types)
Tipos de referência (reference types)
Os tipos de valor definem variáveis ou constantes que 
armazenam os valores. Os valores destes tipos são 
armazenados em uma área de memória chamada Stack 
(pilha). 
Os tipos de valor da linguagem VB 2010 são: booleano, 
numéricos, Char, Date, Structure e Enum.
Os tipos de referência definem variáveis ou constantes, 
conhecidas como ponteiros, que armazenam os endereços 
iniciais de memória onde estão armazenados os valores, ou 
seja, armazenam endereços iniciais de memória que fazem 
referência aos valores (apontam para os valores). Desta 
forma, os ponteiros são variáveis que armazenam 
endereços de memória. 
De acordo com Balena (2010), os ponteiros são 
armazenados na Stack, enquanto que os valores 
referenciados pelos ponteiros são armazenados em uma 
área de memória chamada Heap gerenciado. Esta área é 
gerenciada pelo CLR, que determina quando deve realizar 
 DESENVOLVIMENTO DE SOFTWARE 12
o processo conhecido como coleta de lixo que libera as 
posições de memória ocupadas por valoresque deixaram 
de ser referenciadas pelos ponteiros após a destruição 
destes. 
Os tipos de referência da linguagem VB 2010 são: String, 
arrays e classes.
TIPO BOOLEANO
A tabela mostra as características do tipo booleano.
Permite definir variáveis ou constantes do tipo booleano 
(lógico) que podem assumir dois valores: True ou False, 
que representam dados que podem ter dois estados 
possíveis como, por exemplo, verdadeiro ou falso, ligado 
ou desligado, aberto ou fechado etc. O valor default, isto é, 
o valor padrão após a declaração da variável sem 
atribuição de um valor pelo programador de uma variável 
do tipo Boolean é False.
TIPOS DE NÚMEROS
A tabela mostra as características dos tipos de números 
inteiros definidos na linguagem VB 2010.
 DESENVOLVIMENTO DE SOFTWARE 13
Cada tipo de números inteiros permite declarar variáveis 
ou constantes que ocupam um determinado espaço de 
memória e armazenam números inteiros de uma 
determinada faixa de valores. O programador deve 
escolher o tipo que ocupe a menor quantidade de memória 
em bytes e seja capaz de armazenar a faixa de valores 
possíveis de um determinado dado a ser armazenado em 
uma variável ou constante. Esta abordagem permite 
otimizar o programa, tendo em vista que as variáveis 
ocupam somente os espaços de memória necessários e 
suficientes e consumem menos tempo e recursos, como 
pilha e registradores, para processamento. Por exemplo, 
vamos supor a necessidade de se declarar uma variável 
para armazenar a quantidade de filhos de uma pessoa. 
Neste caso, basta declarar uma variável do tipo Byte que 
 DESENVOLVIMENTO DE SOFTWARE 14
ocupa apenas um byte e permite armazenar valores de 0 a 
255. Uma variável do tipo Byte seria suficiente para 
armazenar a idade de uma pessoa em anos, a quantidade 
de dias em um mês, a quantidade de meses em um ano 
etc.
O tipo Single define números de ponto flutuante com 
precisão até a sexta casa decimal. 
O tipo Double define números de ponto flutuante com o 
dobro de dígitos significativos em relação ao tipo Single ou 
com precisão até a décima casa decimal, que evita os erros 
de arredondamento que podem acontecer com números do 
tipo Single. Desta forma, o tipo Double é indicado para 
números utilizados em aplicações científicas, financeiras ou 
de engenharia.
O tipo Decimal define números inteiros de 12 bytes ou 
números com 0 a 28 casas decimais.
O valor default das variáveis de tipos de números é zero.
TIPOS DE CARACTERES
A tabela mostra as características dos tipos de caracteres 
definidos na linguagem VB 2010.
Como os computadores processam números, os caracteres 
são codificados em números. Existem vários padrões de 
codificações de caracteres como, por exemplo, a 
 DESENVOLVIMENTO DE SOFTWARE 15
codificação ASCII que representa os caracteres com 1 byte, 
portanto limitado a 256 caracteres. Para suportar línguas 
com maior quantidade de caracteres, o Consórcio Unicode 
promove e mantém o padrão de codificação Unicode que 
independe de plataforma, programa e linguagem. O padrão 
Unicode é adotado pelas principais empresas de TI como 
Apple, HP, IBM, Microsoft. Oracle, SAP, Unisys etc. 
(UNICODE, 2010).
O tipo Char define variáveis ou constantes que armazenam 
o código de 2 bytes de um caracter na codificação Unicode. 
O valor default de uma variável do tipo Char é zero.
O tipo String define um ponteiro para uma cadeia de 
caracteres codificados em Unicode. A cadeia de caracteres 
pode ter até aproximadamente 231 caracteres. O valor 
default do ponteiro deste tipo é Nothing, isto é, sem 
endereço.
TIPOS DIVERSOS
A tabela mostra as características dos outros tipos 
definidos na linguagem VB 2010.
 DESENVOLVIMENTO DE SOFTWARE 16
O tipo Date define variáveis ou constantes que armazenam 
data, horário ou data e horário. O formato padrão é m/d/
aaaa delimitado pelo caracter # como, por exemplo, 
#3/4/1998# que representa a data 4 de março de 1998. O 
valor default de uma variável ou constante deste tipo é 
00:00:00 (meia noite) de 1 de janeiro de 0001.
O tipo Object define um ponteiro que armazena o endereço 
de referência a qualquer valor ou objeto. O valor default do 
ponteiro deste tipo é Nothing, isto é, sem endereço.
O tipo Structure permite que o programador defina 
estruturas com membros de diferentes tipos.
DECLARAÇÃO DE VARIÁVEL
 DESENVOLVIMENTO DE SOFTWARE 17
ATRIBUIÇÃO DE VALOR
A atribuição de um valor é feita através do sinal de igual, 
conforme a sintaxe a seguir:
 
Nome = valor
 
O exemplo a seguir atribui o valor 5 à variável Idade.
 
Idade = 5
 
O exemplo a seguir atribui o literal "Av. Presidente Vargas" 
à variável Endereço.
 
 DESENVOLVIMENTO DE SOFTWARE 18
Endereço = "Av. Presidente Vargas"
DECLARAÇÃO DE CONSTANTE E ATRIBUIÇÃO DE VALOR
A declaração de uma constante é feita através da palavra-
chave reservada 
Const e a atribuição de um valor é feita com sinal de igual, 
conforme a seguinte sintaxe:
A linguagem VB 2010 tem constantes predefinidas que 
podem ser conhecidas acessando
Uma constante deve ter o seu valor atribuído na sentença 
de declaração.
O exemplo a seguir declara uma constante de nome Versão 
do tipo Decimal com valor igual a 1.0 e outra constante de 
nome PI do tipo Double com valor igual a 3.1415.
CARACTERES DE TIPO DE LITERAL
Alguns valores literais podem ser compatíveis com 
diferentes tipos como, por exemplo, "A" pode ser do tipo 
Char ou String e o valor literal 1 pode ser do tipo Byte, 
SByte, Short, UShort, Integer, UInteger, Long ou ULong. 
 DESENVOLVIMENTO DE SOFTWARE 19
Os caracteres do tipo de literal (literal type characters) 
permitem que você especifique explicitamente os tipos de 
literais para o compilador, conforme mostra a tabela.
OPERADORES BÁSICOS
Os operadores básicos da linguagem VB 2010 podem ser 
agrupados nas seguintes categorias:
OPERADORES ARITMÉTICOS
A tabela mostra os operadores aritméticos da linguagem 
VB 2010.
 DESENVOLVIMENTO DE SOFTWARE 20
OPERADORES DE CONCATENAÇÃO
A tabela mostra os operadores de concatenação da 
linguagem VB 2010.
OPERADORES DE DESLOCAMENTO DE BITS
A tabela mostra os operadores de deslocamento da 
linguagem VB 2010.
OPERADORES DE ATRIBUIÇÃO
 DESENVOLVIMENTO DE SOFTWARE 21
A tabela mostra os operadores de atribuição da linguagem 
VB 2010.
OPERADORES DE COMPARAÇÃO
A tabela mostra os operadores de comparação da 
linguagem VB 2010.
 DESENVOLVIMENTO DE SOFTWARE 22
OPERADORES LÓGICOS
A tabela mostra os operadores lógicos da linguagem VB 
2010. 
 DESENVOLVIMENTO DE SOFTWARE 23
http://msdn.microsoft.com/pt-br/library/sh9ywfdk.aspx
http://msdn.microsoft.com/pt-br/library/dd409611.aspx
PALAVRAS-CHAVE RESERVADAS
As seguintes palavras-chave são reservado, que significa 
que você não pode usá-los como nomes dos elementos, 
como variáveis ou procedimentos de programação. Você 
pode ignorar essa restrição colocando o nome entre 
colchetes ([]). Para mais informações, consulte "Nomes 
 DESENVOLVIMENTO DE SOFTWARE 24
Escapados" em Nomes de elementos declarados (Visual 
Basic).
 NoteNote Note Note
We do not recommend that you use escaped 
names, because it can make your code hard to 
read, and it can lead to subtle errors that can be 
difficult to find.
We do not recommend that you use escaped 
names, because it can make your code hard to 
read, and it can lead to subtle errors that can be 
difficult to find.
We do not recommend that you use escaped 
names, because it can make your code hard to 
read, and it can lead to subtle errors that can be 
difficult to find.
We do not recommend that you use escaped 
names, because it can make your code hard to 
read, and it can lead to subtle errors that can be 
difficult to find.
AddHandle
r
AddressOf Alias AndAnd
AndAlso As Boolean ByRefByRef
Byte ByVal Call CaseCase
Catch CBool CByte CCharCChar
CDate CDbl CDec CharChar
CInt C l a s s 
Constraint
C l a s s 
Statement
CLngCLng
CObj Const Continue CSByteCSByte
CShort CSng CStr CTypeCType
CUInt CULng CUShort DateDate
Decimal Declare Default DelegateDelegate
Dim DirectCast Do DoubleDouble
Each Else ElseIf End StatementEnd Statement
E n d 
<keyword
>
EndIf Enum EraseErase
Error Event Exit FalseFalse
Finally F o r ( i n 
For…Next)
F o r E a c h …
Next
FriendFriend
Function Get GetType GetXMLNamespa
ce
GetXMLNamespa
ce
Global GoSub GoTo HandlesHandles
If If() Implements I m p l e m e n t s 
Statement
I m p l e m e n t s 
Statement
 DESENVOLVIMENTO DE SOFTWARE 25
I m p o r t s 
( . N E T 
Namespac
e a n d 
Type)
I m p o r t s 
( X M L 
Namespace
)
In I n ( G e n e r i c 
Modifier)
I n ( G e n e r i c 
Modifier)
Inherits Integer Interface IsIs
IsNot Let Lib LikeLike
Long Loop Me ModMod
Module M o d u l e 
Statement
MustInherit MustOverrideMustOverride
MyBase MyClass Namespace NarrowingNarrowing
N e w 
Constraint
N e w 
Operator
Next N e x t ( i n 
Resume)
N e x t ( i n 
Resume)
Not Nothing NotInheritable NotOverridableNotOverridable
Object Of On OperatorOperator
Option Optional Or OrElseOrElse
O u t 
( G e n e r i c 
Modifier)
Overloads Overridable OverridesOverrides
ParamArra
y
Partial Private PropertyProperty
Protected Public RaiseEvent ReadOnlyReadOnly
ReDim REM RemoveHandl
er
ResumeResume
Return SByte Select SetSet
Shadows Shared Short SingleSingle
Static Step Stop StringString
Structure 
Constraint
St ructure 
Statement
Sub SyncLockSyncLock
Then Throw To TrueTrue
Try TryCast TypeOf…Is UIntegerUInteger
ULong UShort Using VariantVariant
Wend When While WideningWidening
With WithEvents WriteOnly XorXor
#Const #Else #ElseIf #End#End
#If = & &=&=
 DESENVOLVIMENTO DE SOFTWARE 26
* *= / /=/=
\ \= ^ ^=^=
+ += - -=-=
> > 
Ope ra to r 
( V i s u a l 
Basic)
> > = 
O p e r a t o r 
( V i s u a l 
Basic)
<< <<=<<=
 Note
EndIf , GoSub, Variant, and Wend are retained as 
reserved keywords, although they are no longer used 
in Visual Basic. The meaning of the Letkeyword has 
changed. Let is now used in LINQ queries. For more 
information, see Let Clause (Visual Basic).
Unreserved Keywords
The following keywords are not reserved, which means you 
can use them as names for your programming elements. 
However, doing this is not recommended, because it can 
make your code hard to read and can lead to subtle errors 
that can be difficult to find.
Aggregate Ansi Assembly Async
Auto Await Binary Compare
Custom Distinct Equals Explicit
From G r o u p 
By
Group Join Into
IsFalse IsTrue Iterator Join
Key (Visual 
Basic)
Mid Off Order By
Preserve Skip Skip While Strict
Take T a k e 
While
Text Unicode
Until Where Yield #ExternalSource
#Region
Nesta aula, você: 
• Conheceu o histórico da linguagem Visual Basic;
• Conheceu as palavras-chave da linguagem VB 2010;
 DESENVOLVIMENTO DE SOFTWARE 27
• Aprendeu como se faz comentários em linguagem VB 
2010;
• Aprendeu o que é um comentário, uma variável e uma 
constante;
• Aprendeu os tipos da linguagem VB 2010;
• Aprendeu como se faz uma declaração de uma variável 
ou constante e a atribuição de um valor em linguagem 
VB 2010;
• Aprendeu quais são os operadores da linguagem VB 
2010.
REGISTRO DE PARTICIPAÇÃO
1.Qual é o tipo de linguagem VB 2010 devemos usar para 
declarar uma variável que armazena a quantidade de 
páginas de um livro, sabendo-se que um livro tratado pelo 
software a ser desenvolvido pode ter até 1500 páginas?
 1) SByte 
 2) Short 
 3) UShort 
 4) Integer 
 5) UInteger 
2. Qual é o tipo de literal da linguagem VB 2010 que 
devemos utilizar para especificar valores do tipo Double?
 1) D 
 2) F 
 3) L 
 4) R 
 5) S 
3. Qual é o operador da linguagem VB 2010 que devemos 
usar para obter a parte inteira do resultado da divisão?
 1) / 
 2) \ 
 3) Mod 
 DESENVOLVIMENTO DE SOFTWARE 28
 4) ^ 
 5) >> 
4. Qual será o valor da variável Resultado após a execução 
da linha de código em linguagem VB 2010?
 
 Dim Resultado As Integer = 14 Mod 3
 
 1) 1 
 2) 2 
 3) 3 
 4) 5 
 5) 11 
 DESENVOLVIMENTO DE SOFTWARE 29
AULA 3
PROGRAMAÇÃO MODULAR
Nesta aula, você irá:
1.Módulos;
2.Módulos predefinidos;
3.Métodos;
4.Encadeamento de métodos;
5.Escopo;
6.Escopo de uma variável;
7.Escopo de um método;
8.Sub-rotinas;
9.Funções;
10.Funções internas;
11.Funções de conversão de tipos;
12.Funções de manipulação de string;
13.Funções matemáticas.
 DESENVOLVIMENTO DE SOFTWARE 30
Módulos Prédefinidos
CRIANDO UM MÓDULO
 DESENVOLVIMENTO DE SOFTWARE 31
 DESENVOLVIMENTO DE SOFTWARE 32
MÉTODOS
Um método, também conhecido como procedimento, é um 
bloco de códigos identificado por um nome.
Um método é chamado pelo nome para que execute o 
bloco de código.
Um módulo tem um ou mais métodos.Vantagens:
• Eliminação de redundância de códigos que precisam 
ser executados mais de uma vez na aplicação.
• Possibilidade de reaproveitamento dos métodos entre 
diferentes aplicações.
• Possibilidade de modularização de código da 
aplicação, tornando-o mais legível.
Possibilidade de que partes do código de uma aplicação 
sejam desenvolvidas em paralelo por mais de um 
p r o g r a m a d o r.
 DESENVOLVIMENTO DE SOFTWARE 33
 DESENVOLVIMENTO DE SOFTWARE 34
 DESENVOLVIMENTO DE SOFTWARE 35
 DESENVOLVIMENTO DE SOFTWARE 36
 DESENVOLVIMENTO DE SOFTWARE 37
Um método pode chamar outro método permitindo assim 
que métodos mais especializados sejam criados para 
aumentar a coesão.
 DESENVOLVIMENTO DE SOFTWARE 38
ESCOPO
O escopo define a acessibilidade de umavariável ou 
método.
ESCOPO DE UMA VARIÁVEL
Em geral, as variáveis são declaradas com a palavra-
chave Dim e, desta forma, são acessíveis apenas dentro 
do método em que foram declaradas.
As variáveis podem ser declaradas fora do método, 
usando-se a palavra-chave Private ou Public para que 
sejam acessadas (compartilhadas) por mais de um 
método.
As variáveis Public são acessíveis por todos os métodos 
da aplicação. Elas são conhecidas como variáveis 
globais.
As variáveis Private são acessíveis apenas pelos 
métodos situados dentro do mesmo módulo ou da 
mesma classe onde foram declaradas.
 DESENVOLVIMENTO DE SOFTWARE 39
ESCOPO DE UM MÉTODO
Um método Public pode ser chamado de qualquer parte 
da aplicação. Este é o default se você não definir a 
acessibilidade.
Um método Private pode ser chamado apenas pelos 
métodos situados dentro do mesmo módulo ou da 
mesma classe onde foram definidos.
 DESENVOLVIMENTO DE SOFTWARE 40
FUNÇÕES INTERNAS
A linguagem VB 2010 tem várias funções internas 
predefinidas que podem ser usadas pela sua aplicação. 
As funções internas são classificadas em:
Funções deConversão de
Tipos
Funções de Manipulação
de String
Funções Matemáticas
FUNÇÕES DE CONVERSÃO DE TIPOS
 DESENVOLVIMENTO DE SOFTWARE 41
FUNÇÕES DE MANIPULAÇÃO DE STRING
 DESENVOLVIMENTO DE SOFTWARE 42
 DESENVOLVIMENTO DE SOFTWARE 43
 DESENVOLVIMENTO DE SOFTWARE 44
FUNÇÕES MATEMÁTICAS
Nesta aula, você: 
• Aprendeu o que são os módulos da linguagem Visual 
Basic 2010, o que é um método da linguagem Visual 
Basic 2010 e sobre encadeamento de métodos da 
linguagem Visual Basic 2010
• Conheceu os módulos predefinidos da linguagem 
Visual Basic 2010, as funções de manipulação de 
strings da linguagem Visual Basic 2010 e conheceu as 
funções matemáticas da linguagem Visual Basic 2010.
 DESENVOLVIMENTO DE SOFTWARE 45
REGISTRO DE PARTICIPAÇÃO
1. Qual é o módulo predefinido da linguagem VB 2010 que 
contém membros para obter informações sobre a versão 
do interpretador de script?
 1) Constants. 
 2) FileSystem. 
 3) Globals. 
 4) Information. 
 5) Strings. 
2. Quais são os delimitadores de um método da linguagem 
VB 2010 que retorna um valor?
 1) Module e End Module. 
 2) Sub e End Sub. 
 3) Function e End Function. 
 4) Main e End Main. 
 5) Begin e End. 
3. Qual é a função interna da linguagem VB 2010 que 
retorna o número de caracteres em uma string ou a 
quantidade de bytes necessários para armazenar uma 
expressão de um tipo?
 1) LCase. 
 2) Left. 
 3) Len. 
 4) LSet. 
 5) LTrim. 
4. Qual será o valor da variável Resultado após a execução 
da linha de código em linguagem VB 2010?
Dim Resultado As String = Mid("ABCDEF", 2, 3)
 1) "BC". 
 2) "BCD". 
 3) "CD". 
 4) "ABC". 
 5) "AB". 
 DESENVOLVIMENTO DE SOFTWARE 46
AULA 4
PROGRAMAÇÃO ESTRUTURADANesta aula você irá 
aprender sobre:
1.Estrutura de controle de decisão simples;
2.Estrutura de controle de decisão estendida;
3.Estrutura de controle de decisão aninhada;
4.Estrutura de controle de decisão em seqüência na 
mesma linha;
5.Estrutura de controle de múltiplas decisões (escolha);
6.Estrutura de controle de repetição controlada por 
contador (para);
7.Estrutura de controle de repetição While (enquanto);
8.Estrutura de controle de repetição Do (faça).
PROGRAMAÇÃO ESTRUTURADA
A linguagem VB 2010 possui estruturas de controle de 
fluxo que permitem o desenvolvimento de programas 
estruturados, que são programas e que não fazem uso 
da instrução GoTo. E desta forma, são mais fáceis de 
codificar, compreender e manter (BALENA, 2006).
ESTRUTURAS DE CONTROLE DE FLUXO
As estruturas de controle de fluxo suportadas pela 
linguagem VB 2010 são (MSDN, 2010):
1. Estrutura de controle de decisão simples
2. Estrutura de controle de decisão estendida
3. Estrutura de controle de decisão aninhada
4. Estrutura de controle de decisão em seqüência na 
mesma linha.
5. Estrutura de controle de múltiplas decisões 
(escolha)
6. Estrutura de controle de repetição controlada por 
contador (para)
7. Estrutura de controle de repetição While 
(enquanto)
8. Estrutura de controle de repetição Do (faça)
ESTRUTURAS DE CONTROLE DE DECISÃO SIMPLES
 DESENVOLVIMENTO DE SOFTWARE 47
A estrutura de controle de decisão simples (se-então-
fim_se) permite executar um bloco de código em 
função da avaliação de uma expressão lógica, chamada 
também de condição, condição booleana, condição 
lógica ou expressão booleana.
A sintaxe da estrutura de controle de decisão simples 
em linguagem VB 2010 é:
If <condição> Then
 <bloco de código_Verdade>
End If
Onde o bloco de código somente será executado se a 
condição for verdadeira (True).
Exemplo
Dim n1 As Integer = 20
IF n1 > 10 Then
 Console.WriteLine(“Número maior que 10) 
End If
O exemplo ConsoleApplication4-1.sln, apresentado a 
seguir, exibe a pergunta "É sustentável (s/n)? ", obtém 
a entrada de dados que é atribuída na variável 
Sustentável. Se o valor da variável Sustentável for igual 
a "s", exibe "Parabéns!".
ESTRUTURAS DE CONTROLE DE DECISÃO ESTENDIDA
 DESENVOLVIMENTO DE SOFTWARE 48
A sintaxe da estrutura de controle de decisão estendida 
(se-então-senão-fim_se) em linguagem VB 2010 é:
If <condição> Then
 <bloco de código_Verdade>
 Else
 <bloco de código_Falso>
End If
Onde o bloco de código 1 será executado se a condição 
for verdadeira (True) e o programa continuará depois 
do End If, senão o bloco de código 2 será executado. 
Desta forma, um dos blocos será executado em função 
do valor (True ou False) da condição.
Exemplo : Receber um número e informar se é Par ou 
Ímpar.
Sub Main()
Dim n1 As Integer 
Console.WriteLine(“Numero”)
n1 = Console.ReadLine()
IF n1 mod 2 = 0 Then
 Console.WriteLine(“Número é Par”)
 Else 
 Console.WriteLine(“Número é Ímpar”)
End If
 Console.ReadKey()
End Sub
ESTRUTURAS DE CONTROLE DE DECISÃO ANINHADA
A linguagem VB 2010 suporta várias estruturas de 
decisão aninhadas na sintaxe condensada, que equivale 
à estrutura de controle de múltiplas decisões (escolha), 
conforme apresentada a seguir:
If <condição 1> Then
 DESENVOLVIMENTO DE SOFTWARE 49
 <bloco de código_1>
 Else
 If <condição 2> Then
 <bloco de código_2>
 Else
 <bloco de código_Falso>
 End If
End If
Exemplo : Receber a idade de uma pessoa e
 informar se é Criança, Adolescente, 
 Adulto ou Idoso.
Sub Main()
Dim idade As Byte 
Console.WriteLine(“Idade: ”)
Idade = Console.ReadLine()
IF idade < 12 Then
 Console.WriteLine(“Criança”)
 ElseIF idade < 18 Then
 Console.WriteLine(“Adolescente”)
 ElseIF idade <= 60 Then
 Console.WriteLine(“Adulto”)
 Else
 Console.WriteLine(“Idoso”)
End If
 Console.ReadKey()
End Sub
DECISÃO EM SEQUÊNCIA
A linguagem VB 2010 permite expressar uma instrução 
de controle de decisão em uma única linha, conforme a 
sintaxe a seguir:
If <condição 1> Then <instrução 1> Else <instrução_2>
Exemplo : Receber um número e informar se é positivo ou negativo 
(Considere 0 como positivo).
Sub Main()Dim n1 As Integer 
Console.WriteLine(“Número: ”)
 DESENVOLVIMENTO DE SOFTWARE 50
n1 = Console.ReadLine()
IF n1 < 0 Then Console.WriteLine(“Negativo”) Else 
Console.WriteLine(“Positivo”)
 Console.ReadKey()
End Sub
O ramo verdadeiro (True) ou falso (Else) pode ser 
composto de mais de uma instrução separadas por dois 
pontos, conforme a sintaxe a seguir:
	
  
If (condição 1) Then instrução 1 : instrução 2 Else instrução 
3 : instrução 4
ESTRUTURA DE CONTROLE DE MÚLTIPLAS DECISÕES 
(ESCOLHA)
Select Case (condição)
 Case valor ou intervalo de valores ou lista de valores 1
 Bloco de código 1
 Case valor ou intervalo de valores ou lista de valores 2
 Bloco de código 2
 ...
 Case Else
 Bloco de código N
End Select
Onde o intervalo de valores é definido usando-se a 
palavra To na forma valor inicial To valor final e a lista 
de valores é definida com os valores separados por 
vírgula na forma valor1, valor2,.., valor n.
O exemplo ConsoleApplication4-5.sln, apresentado a 
seguir, é o exemplo ConsoleApplication4-3.sln que usa 
estrutura de decisão aninhadas, modificado para fazer 
uso da instrução Select Case.
 DESENVOLVIMENTO DE SOFTWARE 51
DEFININDO INTERVALO DE VALORES
 Valor Inicial TO Valor Final
 Exemplo: Caso 0 TO 9
Definindo Lista de Valores
 Separa por Vírgula (,)
 Exemplo: Caso 0, 1 , 2
Repetição - For
For contador = valor inicial To valor final
 Bloco de código
 Next contador
EXEMPLO
Sub Main() 
Dim i As Byte
 For i = 1 To 10
 Console.WriteLine(i)
 Next i
 Console.ReadKey()
End Sub
A variável do contador(i) é incrementada em 1 por default 
cada vez que o laço é percorrido. 
 DESENVOLVIMENTO DE SOFTWARE 52
O incremento pode ser alterado usando-se a palavra Step 
(passo), conforme a sintaxe a seguir:
For contador = valor inicial To valor final Step incremento
 <Bloco de instrução>
Next contador
EXEMPLO
Sub Main() 
Dim i As Byte
 For i = 1 To 10 Step 2
 Console.WriteLine(i)
 Next i
 Console.ReadKey()
End Sub
ESTRUTURA DE CONTROLE DE REPETIÇÃO CONTROLADA POR 
CONDIÇÃO (ENQUANTO)
A estrutura de controle de repetição While (enquanto) 
executa o bloco de código enquanto a condição for 
verdadeira (True). 
•Esta estrutura necessita que uma instrução de 
inicialização da variável da condição seja definida antes 
do laço
•E uma instrução de alteração da variável da condição 
seja definida dentro do laço para que o laço (loop) não 
seja repetido infinitamente. 
A sintaxe da estrutura de controle de repetição While é:
 While (condição)
 Bloco de instrução
 End While
Exemplo
 x = 1
 y = 5
 DESENVOLVIMENTO DE SOFTWARE 53
 While (x < y) 
 x = x + 2
 y = y + 1 
End While
Sub Main()
 Dim N1 As Integer
 Dim x As Integer = 0
 Console.Write("Digite um número: ")
 N1 = Console.ReadLine
 While (n1 <> 0) 
 x = x + 1
 Console.Write("Digite um número: ")
 N1 = Console.ReadLine 
End While
 Console.Write(“Quantidade de números Digitados: “ & x)
 Console.ReaKey()
End Sub
ESTRUTURA DE CONTROLE DE REPETIÇÃO DO (FAÇA)
A linguagem VB 2010 suporta duas opções de sintaxe 
para definir a estrutura de controle de repetição Do 
(faça). Ambas as sintaxes necessitam: 
✦que uma instrução de inicialização da variável da 
condição seja definida antes do laço 
✦e uma instrução de alteração da variável da condição 
seja definida dentro do laço para que o laço (loop) não 
seja repetido infinitamente.
Opção 1
instrução de inicialização da variável da condição
Do While ou Until (condição)
 <bloco instrução com instrução de alteração da 
variável da condição>
Loop
Opção 2
instrução de inicialização da variável da condição
Do 
 DESENVOLVIMENTO DE SOFTWARE 54
 <bloco instrução com instrução de alteração da variável 
da condição>
Loop While ou Until (condição)
A sintaxe da opção 1 define um laço (loop) que poderá 
não ser executado ou repetido várias vezes (0 a n vezes). 
Enquanto a sintaxe da opção 2 define um laço (loop) que 
será repetido uma (pelo menos) a várias vezes (1 a n 
vezes).
Quando o While é utilizado, o laço será repetido 
enquanto a condição for verdadeira (True).
Quando o Until é utilizado, o laço será repetido 
até que a condição seja falsa (False).
EXEMPLO
Sub Main()
 Dim contador As Byte = 1 ‘ instrução de inicialização
 Do While (contador <= 10) 
 Console.WriteLine(contador)
 ‘ instrução de alteração da variável da condição
 Contador = Contador + 1
Loop
Console.ReadKey()
End Sub
Sub Main()
 Dim contador As Byte = 1 ‘ instrução de 
inicialização
 Do 
 Console.WriteLine(contador)
 ‘ instrução de alteração da variável da condição
 Contador = Contador + 1
Loop While (contador <= 10) 
Console.ReadKey()
End Sub
Nesta aula, você: 
• Aprendeu sobre a estrutura de controle de decisão 
simples em linguagem VB 2010.
 DESENVOLVIMENTO DE SOFTWARE 55
• Aprendeu sobre a estrutura de controle de decisão 
estendida em linguagem VB 2010.
• Aprendeu sobre a estrutura de controle de decisão 
aninhada em linguagem VB 2010.
• Aprendeu sobre a estrutura de controle de decisão em 
seqüência na mesma linha em linguagem VB 2010.
• Aprendeu sobre a estrutura de controle de múltiplas 
decisões (escolha) em linguagem VB 2010.
• Aprendeu sobre a estrutura de controle de repetição 
controlada por contador (para) em linguagem VB 
2010.
• Aprendeu sobre a estrutura de controle de repetição 
While (enquanto) em linguagem VB 2010.
• Aprendeu sobre a estrutura de controle de repetição 
Do (faça) em linguagem VB 2010.
REGISTRO DE PARTICIPAÇÃO
1. Qual é a instrução para definir uma estrutura de decisão 
de múltiplas decisões (escolha) em linguagem VB 2010?
 1) If 
 2) Select Case 
 3) For 
 4) While 
 5) Do 
2. Qual é a instrução para definir uma estrutura de 
repetição de zero a várias (0 a n) vezes em linguagem VB 
2010?
 1) If 
 2) Select Case 
 3) For 
 4) While 
 5) Do 
 DESENVOLVIMENTO DE SOFTWARE 56
3.O programa a seguir exibirá os números.
 Module Module1
 Sub Main()
 Dim Contador As Byte = 1 ' instrução de incialização
 Do Until Not (Contador <= 10)
 Console.WriteLine(Contador)
 ' instrução de alteração da variável da condição
 Contador = Contador + 2
 Loop
 Console.ReadKey()
 End Sub
 End Module
 1) 1, 3 
 2) 1, 3, 5 
 3) 1, 3, 5, 7 
 4) 1, 3, 5, 7, 9 
 DESENVOLVIMENTO DE SOFTWARE 57
AULA 5
TRATAMENTO DE EXCEÇÕES
Nesta aula você irá aprender sobre:
1.Exceções.
2.Tratamento de Exceções Estruturadas.
3.Tipos de Exceção.
4.Bloco Try... End Try.
5.A seção Catch.
6.Blocos Try... End Try Aninhados.
7.A seção Finally.
8.Lançamento de Exceções.
Exceção
Exceção é um erro no fluxo normal de execução do 
código de um programa de uma aplicação. O.NET 
framework oferece uma forma unificada de identificar e 
tratar exceções entre todas as linguagens de 
programação .NET (BALENA, 2006).
Há dois tipos de exceções: exceções de hardware e 
exceções de software. As exceções de hardware são 
causadas por erros do programa no que se refere a 
hardware como, por exemplo, violação de acesso a 
endereçosde memória. Enquanto as exceções de 
software são causadas por erros do programa no que se 
refere a software como, por exemplo, atribuir um valor 
incompatível a uma variável ou divisão por zero 
(MACKENZIE e SHARKEY, 2003).
Tratamento de Exceções Estruturadas
•O tratamento de exceções estruturadas (Structured 
Exception Handling - SEH) é uma estratégia para 
codificar o programa de uma aplicação para tratar 
tanto as exceções de hardware quanto as exceções de 
software.
•Dessa forma, o código para tratamento de exceções se 
torna unificado e mais consistente por tratar tanto as 
exceções de hardware quanto as exceções de 
software.
 DESENVOLVIMENTO DE SOFTWARE 58
•seções do código que estiverem propensas a gerarem 
exceções como, por exemplo, cálculos, acesso a banco 
de dados, operações com arquivos etc. (MACKENZIE e 
SHARKEY, 2003).
Tipos de Exceções
O s t i p o s d e e x c e ç õ e s d e r i v a m d a c l a s s e 
System.Exception que é definida no .NET framework.
• Os principais tipos de exceções são:
– ArgumentException
– ArgumentNullException
– ArgumentOutOfRangeException
– IndexOutOfRangeException
– NotImplementedException
– OutOfMemoryException
– OverflowException
– FileNotFoundException
Os tipos de exceções derivam da classe System.Exception 
que é definida no .NET framework.
Bloco Try ... End Try
As palavras-chave Try... End Try delimitam o bloco de 
códigos protegidos para tratar as exceções que 
ocorrerem, onde Try delimita o início do bloco e End Try 
delimita o final do bloco.
Sintaxe:
Try
 ...
 Catch ex As Exception
 ...
End Try
 DESENVOLVIMENTO DE SOFTWARE 59
Cath: 
•Marca a seção do bloco que captura e trata as exceções 
que podem eventualmente ocorrer.
•Em geral, usa-se uma seção Catch para capturar cada 
tipo de exceção e uma seção Catch, chamada genérica, 
no final para capturar todos os demais tipos de exceções 
que não foram capturados pelas seções Catch anteriores.
Sintaxe:
Try
 ...
Catch ex1 As Exception1
 ' Código para tratamento da Exception1
 ...
Catch exN As ExceptionN
 ' Código para tratamento da ExceptionN
 ...
' Captura Genérica
Catch ex As Exception
 ' Código para tratamento das demais exceções
 ...
End Try
Exemplo: Sem Captura e Tratamento de Exceção
Sub Main()
 Dim i As Decimal = 10
 Dim j As Decimal = 0
 Dim Resultado As Decimal
 Resultado = i / j
 Console.ReadKey()
End Sub
 DESENVOLVIMENTO DE SOFTWARE 60
Exemplo: Com Captura e Tratamento de Exceção
Sub Main()
 Dim i As Decimal = 10
 Dim j As Decimal = 0
 Dim Resultado As Decimal
 
 Try
 Resultado = i / j
 Catch ex As Exception
 ' Captura Genérica
 Console.WriteLine("Houve um erro de exceção de 
divisão por zero.")
 End Try
 Console.ReadKey()
End Sub
 DESENVOLVIMENTO DE SOFTWARE 61
 Permite realizar a 
captura e o tratamento 
da exceção genérica, 
ou seja, de qualquer 
tipo de exceção.
Exemplo: Com Captura e Tratamento de Exceção
Sub Main()
 Dim i As Decimal = 10
 Dim j As Decimal = 0
 Dim Resultado As Decimal
 Try
 Resultado = i + 10
 Resultado = i / j
 Catch exDivideByZero As 
DivideByZeroException
 ‘ Captura DivideByZeroException
 Console.WriteLine("Houve um erro 
de exceção de divisão por zero.")
 Catch ex As Exception
 ' Captura Genérica
 Console.WriteLine("Houve um erro 
de exceção genérica.")
 End Try
 Console.ReadKey()
 End Sub
 Permite realizar a captura e o tratamento da Divisão por 
Zero e capturar e tratar uma exceção genérica, ou seja, 
de qualquer tipo de exceção.
Bloco Try ... End Try - Aninhado
 Define um bloco Try...End Try externo que contém um 
outro bloco Try...End Try interno.
Imports System.IO
Module Module1
 Sub Main()
 Dim FileName As String = "TestFile.data" 
 ' Bloco externo
 Try
 Dim fs As New FileStream(FileName, 
FileMode.Open, FileAccess.Read)
 ' Bloco interno
 Try
 DESENVOLVIMENTO DE SOFTWARE 62
 Dim reader As New BinaryReader(fs)
 reader.ReadInt32()
 Catch ex As Exception
 Console.WriteLine("Exceção na leitura 
do arquivo.")
 End Try
 Catch ex As Exception
 Console.WriteLine("Exceção na abertura do 
arquivo.")
 End Try
 Console.ReadKey()
 End Sub
 End Module
 Se ocorrer uma exceção na abertura do arquivo, o 
programa exibe a mensagem "Exceção na abertura do 
arquivo." e se após a abertura do arquivo sem exceção, 
ocorrer uma exceção na leitura do arquivo, o programa 
exibe a mensagem "Exceção na leitura do arquivo.“
A seção Finally
A seção Finally define o código que deverá ser sempre 
executado, sem ou com a ocorrência de uma exceção, 
antes de terminar o bloco Try...End Try. Em geral, 
contém o código para liberar recursos alocados no bloco 
Try...End Try ou o código comum a ser executado antes 
de terminar o bloco Try...End Try.
 
O exemplo ConsoleApplication5-5.sln, apresentado a 
seguir, é o exemplo ConsoleApplication5-3.sln 
modificado para conter a seção Finally que sempre 
emite um sinal sonoro, Beep(), antes de terminar o 
bloco Try...End Try.
 DESENVOLVIMENTO DE SOFTWARE 63
Sub Main()
 Dim i As Decimal = 10
 Dim j As Decimal = 0
 Dim Resultado As Decimal
 Try
 i = i + 10
 Resultado = i / j
 Catch exDivideByZero As DivideByZeroException
 ' Captura DivideByZeroException
 Console.WriteLine("Houve um erro de exceção 
de divisão por zero.")
 Catch ex As Exception
 ' Captura Genérica
 Console.WriteLine("Houve um erro de exceção 
genérica.")
 Finally
 Beep()
 End Try
 Console.ReadKey()
 End Sub
Lançamento de Exceções
Em algumas situações você pode desejar lançar uma 
exceção para esta seja tratada por uma rotina de 
tratamento de exceção ou para gerar uma exceção.
 
A sintaxe da declaração do lançamento da exceção é:
 
Throw [ expressão ]
 
O exemplo ConsoleApplication5-2.sln, apresentado a 
seguir, é o exemplo ConsoleApplication5-1.sln 
modificado para lançar uma exceção genérica com a 
mensagem "Divisor j igual a zero" se o valor da variável 
j for igual a zero. Como a variável j é declarada e 
inicializada com valor igual a zero, o programa lança a 
exceção, que é capturada pela seção Catch, a qual 
exibe a mensagem "Ocorreu uma exceção: Divisor j 
igual a zero.", conforme mostra a imagem.
 DESENVOLVIMENTO DE SOFTWARE 64
Exemplo: Lançamento de Exceção
Sub Main() 
 Dim i As Decimal = 10
 Dim j As Decimal = 0
 Dim Resultado As Decimal
 Try
 i = i + 10
 If (j = 0) Then
 Throw New System.Exception("Divisor j 
igual a zero.")
 End If
 Resultado = i / j
 Catch ex As Exception
 ' Captura Genérica
 Console.WriteLine("Houve um erro de exceção 
de divisão por zero.")
 Finally
 Beep()
 End Try
 Console.ReadKey()
End Sub
 Lançar uma exceçãogenérica com a mensagem 
"Divisor j igual a zero" se o valor da variável j for igual a 
zero.
 DESENVOLVIMENTO DE SOFTWARE 65
Nesta aula, você: 
•Aprendeu sobre as Exceções.
•Aprendeu sobre o Tratamento de Exceções Estruturadas.
•Aprendeu sobre os principais Tipos de Exceções da 
linguagem VB 2010.
•Aprendeu como programar o Bloco Try... End Try em 
linguagem VB 2010.
•Aprendeu como programar a Seção Catch em linguagem 
VB 2010.
•Aprendeu como programar os Blocos Try... End Try 
Aninhados em linguagem VB 2010.
•Aprendeu como programar a Seção Finally em linguagem 
VB 2010.
•Aprendeu como programar o lançamento de Exceções em 
linguagem VB 2010.
REGISTRO DE PARTICIPAÇÃO
1. Qual é a palavra-chave usada para definir uma seção de 
captura e tratamento de exceção em linguagem VB 2010?
1) If 
2) Catch 
3) Try 
4) Finally 
5) Do 
 
2. Qual é a palavra-chave usada para definir uma seção de 
código que é sempre executada antes de terminar o bloco 
Try...End Try em linguagem VB 2010?
1) If 
2) Select Case 
3) Catch 
4) Throw 
5) Finally 
 
 DESENVOLVIMENTO DE SOFTWARE 66
3. Qual é a palavra-chave usada para lançar uma exceção 
em linguagem VB 2010?
1) Try 
2) Select Case 
3) Catch 
4) Throw 
5) Finally 
 
 DESENVOLVIMENTO DE SOFTWARE 67

Outros materiais