Você está na página 1de 50

Laboratrio de

Programao I
Introduo Programao em
Visual Basic
Fabricio Breve

Objetivos
Ser capaz de escrever programas simples em Visual
Basic
Ser capaz de usar os comandos de entrada e sada
Familiarizar-se com os tipos de dados
Entender os conceitos bsicos de memria
Ser capaz de usar operadores aritmticos
Entender a precedncia dos operadores aritmticos
Ser capaz de escrever comandos de tomada de deciso
Ser capaz de usar os operadores de igualdade e os
relacionamentos
Ser capaz de usar os dilogos para exibir mensagens

Aplicativos de Console
Contm apenas sada de texto
um dos tipos de projeto mais simples
A sada exibida no Prompt do MS-DOS
(Windows 95/98/ME) ou Prompt de
Comando (Windows NT/2000/XP)

Programa Simples: Imprimindo


uma Linha de Texto
1
2
3
4
5
6
7
8
9
10

' Bemvindo.vb
' Um programa simples em Visual Basic.
Module modFirstWelcome
Sub Main()
Console.WriteLine(Bem-Vindo ao Visual Basic!")
End Sub ' Main
End Module ' modFirstWelcome

Comentrios
Linhas 1 e 2 so linhas de comentrios pois
comeam com um caractere de aspa simples ()
Comentrio de linha inteira: aspa no incio da linha
Comentrio de final de linha: aspa no final de uma
linha de cdigo

Linhas de comentrios servem para melhorar a


legibilidade do cdigo
Comentrios so ignorados pelo compilador
Dica: sempre inicie seu programa com um
comentrio descrevendo o mesmo

Definio de Mdulo
Linhas 4 e 10 definem nosso primeiro
mdulo
Mdulos so agrupamentos lgicos de
procedimentos que simplificam a
organizao do programa
Todo aplicativo console em VB tem no
mnimo um mdulo e um procedimento

Definio de Mdulo
Module uma palavra-chave do VB
O nome do nosso mdulo (modFirstWelcome)
um identificador
Identificadores:
Srie de caracteres consistindo de letras, dgitos e
caracteres de underline ( _ )
No podem comear com dgitos nem conter
espaos

Dica: comece todo identificador de mdulo com


mod para facilitar sua identificao
O VB no diferencia maisculas e minsculas

Linhas em branco
As linhas 3 e 5 so linhas em branco,
ignoradas pelo compilador
Servem apenas para melhorar a
legibilidade do cdigo

Main()
A linha 6 est presente em todo aplicativo
de console do VB
onde a execuo do programa comea
(ponto de entrada)
Os parnteses no final de Main indicam
que ele um procedimento

Recuo
Note que as linhas 6 a 8 esto recuadas
em relao as outras
Esta uma conveno usada para
melhorar a legibilidade do programa

Console.WriteLine
A linha 7 a que faz o trabalho real do
programa (imprimir a srie de caracteres
entre aspas string)
A linha inteira chamada comando
Quando o comando executado ele exibe
a mensagem Bem-Vindo ao Visual Basic

Console.WriteLine
Console.WriteLine so dois identificadores
separados por um ponto
Console o nome de uma classe e WriteLine
o nome de um mtodo da classe Console
O mtodo WriteLine imprime os caracteres
passados como argumento e coloca o cursos
na linha seguinte

O programa termina quando encontra a


linha 8 (End Sub)

Implementando o programa
Crie o aplicativo console:
File > New > Project
Console Application

Altere o nome do arquivo de


programa
Clique em
Module1.vb no
Solution Explorer
Troque o nome na
propriedade File
Name

Escreva o cdigo
Escreva o cdigo da linha 7

Lista de Membros

Descrio do membro
realado

Escreva o cdigo

Setas para cima e


para baixo

Janela Parameter Info

Compile e execute o Programa

Erro de Sintaxe
Aparece sublinhado em azul

Usando mltiplos comandos para


imprimir uma linha de texto

Adicionando Inteiros

Declarando variveis
As declaraes comeam com a palavrachave Dim
Os identificadores primeiroNumero,
segundoNumero, numero1, numero2 e
somaDosNumero so variveis (posies
de memria do computador usadas pelo
programa)
Toda varivel deve ser declarada antes de
ser usada

Variveis
As variveis primeiroNumero e
segundoNumero so do tipo String
(armazenam strings de caracteres)
As variveis numero1 e numero2 so do
tipo Integer, ou seja, armazenam valores
inteiros.
O nome de uma varivel pode ser
qualquer identificador vlido

Dicas
D nome significativos para suas variveis
Por conveno nomes de variveis so
iniciados com letra minscula, e cada
palavra depois da primeira comea com
letra maiscula (Ex.: primeiroNumero)

ReadLine() e adio
numero1 = Console.ReadLine()
mtodo que interrompe o programa e
aguarda uma entrada do usurio e atribui
essa entrada varivel numero1

somaDosNumeros = numero1 + numero2


Essa a linha que pega os valores das
variveis numero1 e numero2, os soma e
atribui o resultado a varivel
somaDosNumeros

Imprimindo a soma
Console.WriteLine("A soma {0}",
somaDosNumeros)
{0} ser substitudo pela varivel
somaDosNumeros
Outro exemplo:
Console.WriteLine(Os nmeros so {0}, {1} e {2},
numero1, numero2, numero3)
{0}, {1} e {2} sero substitudos pelos valores das
variveis numero1, numero2 e numero3
respectivamente

Conceitos de Memria
Variveis
Correspondem a localizaes reais na memria do computador
Toda varivel tem

Nome
Tipo
Tamanho
Valor

Um valor atribudo a uma posio de memria substitui o valor


que havia sido atribudo anteriormente
o valor anterior destrudo

Quando um valor lido da memria ele no destrudo

Aritmtica
Operadores Aritmticos
O Visual Basic usa varios smbolos especiais
no usados na lgebra
Asterisco (*), palavra-chave Mod

Operadores Binrios
Operam usando dois operandos
soma + valor

Operadores Unrios
Operadores que s usam um operando
+9, -19

Aritmtica
Diviso com resultado inteiro
Use a barra invertida, \
7 \ 4 resulta em 1

Diviso com resultado em ponto-flutuante


Use a barra normal, /
7 / 4 resulta em 1.75

Operador de Mdulo, Mod


Mostra o resto de uma diviso inteira
7 Mod 4 resulta em 3

Operadores Aritmticos
Operao
Adio

Operador
Aritmtico
+

Expresso
Algbrica
f+7

Expresso no
Visual Basic
f + 7

Subtrao

pc

p - c

Multiplicao

bm

b * m

Diviso (float)

X/y

x / y

Division
(Integer)
Mdulo

No tem

v \ u

r mod s

r Mod s

Exponenciao

qp

q^p

Unrio negativo -

Unrio Positivo +

+g

+g

Regras de Precedncia
1.Operadores em expresses contidas entre
parnteses
2.Exponenciao
3.Unrio positivo e negativo
4.Multiplicao e Diviso Ponto Flutuante
5.Diviso Inteira
6.Operao de mdulo
7.Operaes de adio e subtrao

Precedncia de Operadores
Operadores
( )

Operao
Parenteses

Exponenciao

+,

Operadores de
Sinal

*, /

Multiplicao e
Diviso

Diviso Inteira

Mod

Mdulo.

+,

Adio e
Subtrao

Ordem de evoluo (precedencia)


Avaliados primeiro. Se os parenteses estiverem
aninhados, a expresso no par mais interno ser
avaliada primeiro. Se houverem vrios pares de
parenteses no mesmo nvel (no aninhados),
eles sero avaliados da esquerda para a direita.
Avaliados em segundo lugar. Se houverem
vrios desses operadores, eles sero avaliados
da esquerda para a direita.
Avaliados em terceiro lugar. Se houverem
vrios destes operadores, eles sero avaliados
da esquerda para a direita.
Avaliados em quarto lugar. Se houverem vrios
destes operadores, eles sero avaliados da
esquerda para a direita.
Avaliados em quinto lugar. Se houverem vrios
destes operadores, eles sero avaliados da
esquerda para a direita.
Avaliados em sexto lugar. Se houverem vrios
destes operadores, eles sero avaliados da
esquerda para a direita.
ltimos a serem avaliados. Se houverem vrios
destes operadores, eles sero avaliados da
esquerda para a direita.

Exemplo de Precedncia de
Operadores
Passo 1. y = 2 * 5 * 5 + 3 * 5 + 7
2*5

10

(multiplicao mais esquerda)

Passo 2. y = 10 * 5 + 3 * 5 + 7
10 * 5

50

Passo 3. y = 50 + 3 * 5 + 7
3*5

(multiplicao mais esquerda)

15

(Multiplicao antes da adio)

Passo 4. y = 50 + 15 + 7
50 + 15

65

(Adio mais a esquerda)

Passo 5. y = 65 + 7
65 + 7
Passo 6. y = 72

72

(ltima Adio)

(ltima Operao Atribuir 72 ao y)

Estrutura de Deciso: If / Then


Estrutura If/Then
Permite que o programa tome uma deciso baseado
na verdade ou falsidade de alguma expresso
Condio
A expresso em uma estrutura If/Then

Se a condio verdadeira, os comandos que


estiverem no corpo da estrutura sero executados
Condies podem ser formadas usando
Operadores de igualdade
Operadores relacionais

Operadores de Igualdade e
Relacionais
Operador de
Igualdade ou
Relacional Algbrico
Padro
Operadores de igualdade
=

Operadores Relacionais
>
<

Operadores de
Igualdade ou
Relacionais do
Visual Basic

Exemplo de Significado de
Condio
Condio do Visual
do Visual
Basic
Basic

=
<>

x = y
x <> y

x igual a y
x diferente de y

>
<
>=
<=

x
x
x
x

X maior que y
x menor que y
x maior ou igual a y
x menor ou igual a y

> y
< y
>= y
<= y

1 ' Fig. 3.19: Comparacao.vb


2 ' Usando operadores de igualdade e relacionais.
3
4 Module modComparison
5
6
Sub Main()
7
8
' declare variveis inteiras para entrada do usurio
9
Dim number1, number2 As Integer
10
11
' leia o primeiro nmero digitado pelo usurio
12
Console.Write("Por favor digite o primeiro inteiro: ")
13
number1 = Console.ReadLine()
14
15
' leia o segundo nmero digitado pelo usurio
16
Console.Write("Por favor digite o segundo inteiro : ")
17
number2 = Console.ReadLine()
18
19
If (number1 = number2) Then
20
Console.WriteLine("{0} = {1}", number1, number2)
21
End If
22
23
If (number1 <> number2) Then
24
Console.WriteLine("{0} <> {1}", number1, number2)
25
End If
26
27
If (number1 < number2) Then
28
Console.WriteLine("{0} < {1}", number1, number2)
29
End If
30
31
If (number1 > number2) Then
32
Console.WriteLine("{0} > {1}", number1, number2)
33
End If

Variveis de mesmo
tipo podem ser
colocadas na mesma
declarao

A estrutura If/Then
compara se os valores
de number1 e number2
so iguais

34
35
If (number1 <= number2) Then
36
Console.WriteLine("{0} <= {1}", number1, number2)
37
End If
38
39
If (number1 >= number2) Then
40
Console.WriteLine("{0} >= {1}", number1, number2)
41
End If
42
43 End Sub ' Main
44
45 End Module ' modComparison
Por favor digite o primeiro inteiro: 1000
Por favor digite o segundo inteiro: 2000
1000 <> 2000
1000 < 2000
1000 <= 2000

Por
Por
515
515
515

favor digite o primeiro inteiro:: 515


favor digite o segundo inteiro: 49
<> 49
> 49
>= 49

Por
Por
333
333
333

favor digite o primeiro inteiro:: 333


favor digite o segundo inteiro: 333
= 333
<= 333
>= 333

Sada do
Programa

Precedncia e Associatividade de
Operadores
Operadores
()
^
* /

Associatividade
esquerda para a direita
esquerda para a direita
esquerda para a direita

\
Mod
+ = <> <
<= > >=

esquerda para a direita


esquerda para a direita
esquerda para a direita
esquerda para a direita

Tipo
parenteses
exponenciao
multiplicativo e diviso
ponto-flutuante
diviso inteira
mdulo
adio e subtrao
igualdade e relacional

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

' RaizQuadrada.vb
' Mostra a raiz quadrada de 2 em um dilogo.
Imports System.Windows.Forms ' Namespace contendo MessageBox
Module modRaizQuadrada
Sub Main()
' Calcula a raz quadrada de 2
Dim root As Double = Math.Sqrt(2)

mtodo Sqrt da classe Math chamado


para calcular a raz quadrada
Mdodo Show da classe MessageBox

' Mostra o resultado em um dilogo


MessageBox.Show(A raiz quadrada de 2 " & root, _
"A Raz Quadrada de 2")
End Sub ' Main
End Module ' modRaizQuadrada

Caractere de continuao na
prxima linha
Tipo Double armazena
nmeros de ponto flutuante

Sada do programa

Usando um dilogo para mostrar


uma mensagem
Barra de Ttulo
O dilogo
dimensionado
para acomodar o
texto

Boto OK permite
que o usurio feche
o dilogo

Fechar

Usando um dilogo para


mostrar uma mensagem
Assembly
Arquivo que contm muitas classes fornecidas pelo
Visual Basic
Estes arquivos tem a extenso .dll (dynamic link
library)
Exemplo
A classe MessageBox est localizada no assembly
System.Windows.Forms.dll

Documentao MSDN
Informao sobre os assembly que ns precisamos
podem ser encontradas na documentao no MSDN
Selecione Help > Index para mostrar o dilogo
Index

Acessando a documentao

String de Busca

Link para a
documentao

Acessando a documentao

Referncia / Imports
Referncia
necessrio adicionar uma referncia ao assembly
se voc quiser usar suas classes
Exemplo
Para usar a classe MessageBox necessrio adicionar
referncia para System.Windows.Forms

Imports
Esquecer de adicionar um comando Imports para
um assembly referenciado gera um erro de sintaxe

Adicionando Referncia
Project > Add Reference

Exerccios
1) Exibir a mensagem Ol usando um
MessageBox
2) O que exibido no dilogo quando cada um
dos seguintes comandos executado?
Assuma que o valor de x 2 e o valor de y 3
a) MessageBox.Show(x,x)
b) MessageBox.Show((x+x), (x + x))
c) MessageBox.Show(x+y)
d) MessageBox.Show( _
(x+y),(y+y))

Exerccios
3) Qual o comando para a expresso
z = 8e5 n ?
4) Qual o valor de x para cada um dos
comandos abaixo?
a) X = 7 + 3 * 3 \ 2 - 1
b) X = 2 Mod 2 + 2 * 2 2 / 2
c) X = ( 3 * 9 * ( 3 + ( 9 * 3 / ( 3 ) ) ) )

Exerccios
5) Escreva um programa que solicite ao usurio
que digite dois nmeros e mostre a soma, a
diferena, o produto e o quociente entre os dois
nmeros. Use a janela de comando para
entrada e sada
6) Escreva um programa que receba como
entrada do usurio o raio de um crculo e
imprima o dimetro, a circunferncia e a rea do
crculo. Use as seguintes frmulas (r o raio):
dimetro = 2r, circunferncia = 2r, rea = r2.
Use 3,14159 para ou a constante Math.PI

Exerccios
7) Escreva um programa que leia dois
inteiros, determine e imprima se o primeiro
for um mltiplo do segundo. Por exemplo,
se o usurio inserir 15 e 3, o primeiro
nmero um mltiplo do segundo. Se o
usurio inserir 2 e 4, o primeiro no um
mltiplo do segundo. Use a janela de
comando para entrada e sada. (Dica: use
o operador de mdulo)

Exerccios
8) Escreva um programa que receba como
entrada do usurio um nmero consistindo
de cinco dgitos, separe o nmero nos
seus dgitos individuais e imprima os
dgitos separados uns dos outros por trs
espaos em branco cada. Por exemplo, se
o usurio digitar o nmero 42339, o
programa dever imprimir:
4 2 3 3 9

Referncias Bibliogrficas
MSDN: http://msdn.microsoft.com/vstudio/
DEITEL, Harvey M.; DEITEL, Paul J.;
NIETO, Tem R. Vual Basic.NET: Como
Programar. Prentice-Hall, 2004

Você também pode gostar