Escolar Documentos
Profissional Documentos
Cultura Documentos
diretamente
www.linhadecodigo.com.br
ou
www.mercadolivre.com.br,
atravs
atravs
mediante
do
site
do
site
contato
www.juliobattisti.com.br
de
leiles
Mercado
Livre:
atravs
do
email:
Ao adquirir este ebook voc tem o direito de l-lo na tela do seu computador e de
imprimir quantas cpias desejar. vetada a distribuio deste arquivo, mediante
cpia ou qualquer outro meio de reproduo, para outras pessoas. Se voc recebeu
este ebook atravs do e-mail ou via ftp de algum site da Internet, ou atravs de
um CD de Revista, saiba que voc est com uma cpia pirata, ilegal, no
autorizada, a qual constitui crime de Violao de Direito Autoral, de acordo com a
Lei 5988. Se for este o caso entre em contato com o autor, atravs do e-mail
webmaster@juliobattisti.com.br, para regularizar esta cpia. Ao regularizar a sua
cpia voc ir remunerar, mediante uma pequena quantia, o trabalho do autor e
incentivar que novos trabalhos sejam disponibilizados. Se voc tiver sugestes
sobre novos cursos que gostaria de ver disponibilizados, entre em contato pelo email: webmaster@juliobattisti.com.br.
Cursos de informtica.
Simulados
gratuitos,
em
portugus,
para
os
exames
da
Microsoft.
SE
VOC
ATRAVS
OUTRO
OBTEVE
DO
UMA
E-MULE,
PROGRAMA
CPIA
KAZAA,
DE
DESTE
E-BOOK
MORPHEUS
OU
COMPARTILHAMENTO,
VOC
PODE
USAR
ESTE
E-BOOK
SE
VOC
Para que voc possa acompanhar as lies deste curso necessrio que voc j
tenha preenchido os seguintes pr-requisitos:
Palavras do autor:
de
algoritmos
computacionais.
Alm
disso
apresentamos
duas
O VB.NET e C# junto com o Visual Studio .NET 2005 compe uma ferramenta
extremamente robusta e fcil de utilizar, com perfeito suporte a todas as novas
ondas que rondam o mundo da informtica e tecnologia.
ndice do Curso
CAPITULO 1............................................................................................... 11
INTRODUO CONCEITOS INICIAIS ........................................................... 11
CAPITULO 2............................................................................................... 15
ALGORITMO .............................................................................................. 15
CAPITULO 3............................................................................................... 28
VARIVEIS, TIPOS DE DADOS E CONSTANTES ............................................... 28
3.1 Tipos de dados ............................................................................ 29
3.2 Declarando Variveis.................................................................... 31
3.3 Constantes ................................................................................. 33
3.4 Case-sensitive............................................................................. 34
3.5 Exerccios para fixao ................................................................. 35
CAPITULO 4............................................................................................... 37
OPERADORES ............................................................................................ 37
4.1 Operadores de atribuio .............................................................. 37
4.2 - Operadores aritmticos ................................................................. 38
4.3 Operadores relacionais ................................................................. 39
4.4 Operadores Lgicos...................................................................... 41
4.5 Funes matemticas ................................................................... 43
4.6 Precedncia dos operadores .......................................................... 44
4.7 Tabela-verdade ........................................................................... 46
4.8 Exerccios para fixao ................................................................. 48
CAPITULO 5............................................................................................... 49
COMANDO DE ENTRADA E SADA ................................................................. 49
5.1 Entrada de dados......................................................................... 49
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 8
CAPITULO 1
INTRODUO CONCEITOS INICIAIS
Esse exemplo comprova que sempre que pensamos ou fazemos algo a lgica nos
acompanha. Podemos perceber a importncia da lgica na nossa vida, no s na
teoria, mas tambm na pratica, j que sempre que queremos pensar, falar,
escrever e agir corretamente precisamos colocar ordem no pensamento, isto
utilizar a lgica.
perderem o foco no objetivo da mesma. Procure sempre deixar bem claro seu
objetivo e definir a seqncia lgica antes de comear a programar, isso vai lhe
poupar um bom tempo e vai aprimorar sua lgica. No comeo ou para problemas
difceis pegue uma folha e anote a seqncia lgica, se necessrio faa os
diagramas conforme aprender neste curso.
Como voc sabe, nosso raciocnio algo abstrato e intangvel, temos a capacidade
de expressa-lo atravs das palavras e escrita que baseado em um determinado
idioma. Este idioma nada mais do que um conjunto de regras e padres
(gramtica). O que quero que voc compreenda aqui que no importando o
idioma sempre seguimos uma ordem de raciocnio, e o idioma apenas a
forma que utilizamos para expressar esse raciocnio.
Por exemplo, para fazer pipoca no microondas voc precisa seguir os seguintes
passos:
Abrir o microondas;
Fechar o microondas;
Tambm fiquei com vontade de comer pipoca, mas voltando ao nosso assunto, com
o exemplo da pipoca percebemos que embora pouco usuais, os algoritmos so
muito comuns em nossos programas e que podemos organizar de forma
lgica e seqencial toda tarefa que formos realizar desde que tenhamos
um objetivo bem definido.
Muitas
vezes
realizamos
este
tipo
de
atividade
inconscientemente,
sem
Existem muitas formas de se resolver um problema, afinal cada pessoa pensa e age
de maneira diferente. Ento podemos ter mais de uma soluo correta para um
problema, a soluo correta a que atinge o objetivo. O bom senso e a prtica
indicaro qual a soluo mais apropriada, que com menor esforo e maior
objetividade produz o resultado esperado.
Para voc compreender melhor e fechar o contedo deste capitulo vamos fazer um
algoritmo um pouco mais complexo, segue o problema:
Trs jesutas e trs canibais precisam atravessar um rio usando um barco com
capacidade para duas pessoas. Por segurana, no se deve deixar que em
Vamos soluo:
Voltar um canibal.
Voltar um canibal.
Esse o nosso algoritmo ele representa uma linha de raciocnio que pode ser
descrita de varias maneiras, tanto grficas como textuais. At agora usamos a
forma textual, no prprio portugus colonial, no entanto durante o curso voc vai
aprender uma tcnica melhor para expressar os seus algoritmos, chamada de
PSEUDOCDIGO.
CAPITULO 2
ALGORITMO
Seja objetivo.
ENTRADA
PROCESSAMEN
TO
SAIDA
Vamos a mais um exemplo, neste vamos fazer um algoritmo que calcule a mdia
aritmtica entre quatro nmeros. Para isso primeiramente vamos fazer trs
perguntas:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 15
Os dados de entrada sero os quatro nmeros que iremos utilizar para calcular a
mdia. Chamaremos de N1, N2, N3, N4.
Receber N1.
Receber N2.
Receber N3.
Receber N4.
Inicio
Receber N1
Receber N2
Receber N3
Receber N4
Dividir o resultado
da soma por 4
Exibir o
resultado
Fim
SIMBOLO
NOME
FUNO
um algoritmo.
Representa um
PROCESSAMENTO
processamento
Indica entrada de dados
ENTRADA MANUAL DE
DADOS
manual, atravs de um
teclado por exemplo.
Representa a exibio dos
dados e informaes,
EXIBIR
atravs de um monitor
por exemplo.
Representa um teste
DECISO
PREPARAO
preparao para o
processamento.
Utilizado para interligar
CONECTOR
partes de um fluxograma
ou para desviar o fluxo
corrente para um
determinado trecho do
fluxograma.
Utilizado para interligar
CONECTOR DE PGINAS
partes do fluxograma em
pginas distintas.
Como viu no diagrama que criamos somente o smbolo no significa muita coisa,
precisamos sempre escrever algo nele que represente a sua funo no nosso
algoritmo.
Eu uso o Microsoft Visio para fazer meus diagramas. O template que uso o
Basic Flowchart (Metric), que fica na categoria Flowchart.
Vou mostrar rapidamente como criar esse tipo de diagrama no Microsoft Visio, mas
fique a vontade para criar os seus onde desejar, incluindo o Microsoft Word ou at
mesmo uma folha de papel em branco. Muitas vezes eu crio meus diagramas
rapidamente em uma folha em branco mesmo apenas para me certificar ou
organizar o cdigo que vou criar.
O Microsoft Visio no vem com o Office em sua verso padro, ele adquirido
separado. No entanto, depois de instalado voc pode encontr-lo junto com os
demais programas do Office. Para este exemplo vou usar o Microsoft Office 2003
assim como o Microsoft Visio da mesma verso.
Entre no Microsoft Visio, para isso clique em Iniciar > Programas > Microsoft
Office > Microsoft Visio.
Perceba na figura acima a janela a esquerda chamada Shapes, nela voc encontra
os smbolos que aprendeu logo acima. O nome deles na Shapes Terminator,
Process, Manual Input e Display respectivamente como a tabela.
Vamos montar o diagrama do exemplo que fizemos logo acima. Arraste para o
palco:
2 Terminal (terminator).
4 Entrada Manual de dados (manul input)
2 Processamento (process)
1 Exibir (Display)
Aps digitar apenas clique fora do smbolo para o zoom voltar como estava.
Para voc ligar um smbolo ao outro use a ferramenta connector tol que se
encontra na barra de ferramentas. Como na imagem abaixo.
Aps selecionar a ferramenta voc pode ligar um smbolo ao outro, clicando sobre o
primeiro e mantendo o boto pressionado arrastar at o outro. Veja a prxima
imagem.
Agora que voc j sabe como utilizar o Microsoft Visio para criar seus diagramas de
bloco vamos a mais um exemplo para fixar o contedo at aqui. Vamos a um
exemplo mais parecido com o que temos que fazer no mundo da programao
embora ainda um problema bem pequeno comparado ao que enfrentamos no diaa-dia, mas, vamos l.
A comisso de 5%.
Nosso algoritmo:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 24
Exibir resultado.
Inicio
Receber cdigo
do vendedor
Receber cdigo
da venda
Recuperar valor
da venda
Calcular 5% sobre
a venda
Exibir
resultado
Fim
Algoritmo Exemplo1
Var
codVendedor, codVenda: inteiro
valorVenda, comissao: real
Inicio
Mostrar (Qual o cdigo do Vendedor)
Ler (codVendedor)
Mostrar (Qual o cdigo da Venda)
Ler (codVenda)
valorVenda
comissao
RetornaValorVenda(codVendedor, codVenda)
(5 * valorVenda) / 100
Mostrar (comissao)
Fim.
Nos prximos captulos voc vai aprender mais sobre a criao de PSEUDOCDIGO,
e passaremos a utiliz-lo no nosso curso para representar de forma textual nossos
algoritmos. O PSEUDOCDIGO ajuda a evitar erros de interpretao e comunicao
que podem acontecer quando apenas descrevemos de forma textual, alm impe
regras que nos ajudam a implementar melhor o algoritmo em nosso programa.
CAPITULO 3
VARIVEIS, TIPOS DE DADOS E CONSTANTES
Pense em uma caixa que voc usa para guardar suas coisas, qualquer caixa, pode
ser uma de papelo. Concorda comigo que a quantidade de coisas que voc pode
guardar ou armazenar nesta caixa proporcional ao tamanho da caixa correto?
Voc no pode guardar na caixa algo maior do que ela. Concorda?
Ento sempre que voc cria uma varivel voc na verdade esta dizendo ao
computador que esta reservando ou alocando um espao na memria para
armazenar algo. Para que o computador saiba quanto ele precisa reservar de
espao voc precisa informar o tipo de dado quando esta criando a sua varivel.
Voc tambm precisa dar um nome nico a sua varivel para poder referenciar ela
em seu programa, ou seja, para que possa atribuir e usar os valores dela.
Antes de aprender a sintaxe de como declarar suas variveis vamos aprender sobre
os tipos de dados.
Dados so os valores que iremos usar nos nossos programas para resolver nossos
problemas. Se voc precisa fazer uma simples adio, como 45 + 20, os valores 45
e 20 so dados que voc precisa ter para realizar a operao.
Uma varivel do tipo Real vai usar um espao maior na memria do que uma
varivel do tipo Inteiro, porque o numero que ela pode armazenar pode precisar
de mais espao do que o que disponibilizado para uma varivel do tipo inteiro.
Isso quer dizer que ao usar tipos de dados errados voc pode ou desperdiar
espao na memria ou ter problemas na hora que for armazenar o dado por no
caber no espao alocado. Isso gera um erro no programa.
Outra
informao
importante.
Cada
linguagem
de
programao
tem
suas
particularidade em relao aos tipos de dados primitivos, por isso vou mostrar no
curso o que cada varivel pode armazenar para cada tipo de dado em sua
respectiva linguagem. De forma geral todas elas dividem os tipos em categorias,
como as que voc acabou de aprender.
Para declarar uma varivel voc precisa saber qual tipo de dado ela vai armazenar
e qual ser o identificador dela. Alm disso, no pode usar como nome de suas
variveis uma palavra reservada.
Identificador o nome da sua varivel. atravs dele que voc usa a sua
varivel.
Lembre-se destas trs regras quando estiver definindo o nome da sua varivel:
Quando o nome tiver mais que uma palavra, a primeira letra de cada
palavra aps a primeira deve ser maiscula (conhecido como notao
camelCase);
InicializandoDados
precoMedioDoTerreno
Perceba nos exemplos acima que podemos declarar mais de uma varivel do
mesmo tipo junto, basta separa-las por vrgula. Em Pseudocdigo voc tambm
precisa criar suas variveis no comeo do algoritmo aps a palavra-chave
Var.
3.3 Constantes
Voc tambm precisar dizer qual tipo de dado precisar ao declarar sua constante.
3.4 Case-sensitive
Para finalizar esse capitulo quero apenas que voc compreenda mais este conceito:
Professora
PROFESSORA
ProFeSSora
professora
Para nos as quatro palavras so iguais. Para uma linguagem que no casesensitive tambm. Mas para as linguagens que so case-sensitive as quatro
palavras so interpretadas diferentes, isso porque essas linguagens diferenciam
letras maisculas de minsculas para seus identificadores.
Isso quer dizer que para uma linguagem case-sensitive se voc declarasse quatro
variveis conforme as palavras acima, elas seriam quatro variveis diferentes. Um
exemplo de linguagem case-sensitive o C#, uma varivel chamada nome
diferente de outra chamada NOME em C#.
J em VB.NET se voc declara uma varivel chamada nome voc nem pode
declarar outra chamada NOME. Isso gera um erro, porque ele entende que voc
esta declarando duas varveis com o mesmo nome, isso porque o VB.NET no
case-sensitive.
) + 56
) + 0,05
) +4567
) .V.
( )F
)F
) 1
) -1
) + 35
) + 234
) +6677
)V
( ) 'F'
) -12
) 0,0
) a
) - 0,001
) abc
) -0,0
) -1,9E123
) .V.
) '0'
) 0
) abc
) Etc...
) AB/C
) ...a
) Joo
) xyz
) [x]
) Congresso_Internacional
) 123a
) A_B-C
) 080
) U2
)1a3
) p{0}
) (x)
) A123
) #55
) A.
) AH!
CAPITULO 4
OPERADORES
De atribuio;
Aritmticos;
Relacionais;
Lgicos.
Exemplo:
nome
Fulano de tal
resultato
45 + 30
codigoCliente
134
Representao em
Operador
Exemplo
PSEUDOCDIGO
a
Incremento
a+1
Exemplo: a + 1
valor de a.
a
Decremento
a1
Multiplicao
Multiplica-se o valor de a
por b.
a/b
Diviso
Exponenciao
^ ou **
Aqui representamos 2
elevado a 3 ou 23.
Mdulo
Mod
a mod b
Subtrao
Soma de a com b.
ab
Subtrao de a com b.
Exemplo:
Se preo for menor que 100 ento o resultado da expresso acima VERDADEIRO.
Caso contrario o resultado FALSO.
Representao em
Operador
Maior
Exemplo
PSEUDOCDIGO
>
a>b
verdadeiro
seno
falso.
a >= b
Se o valor de a for maior
ou igual que o valor de b
Maior ou igual
>=
verdadeiro
seno falso.
a<b
Se o valor de a for menor
que o valor de b ento o
Menor
<
verdadeiro
seno
falso.
a <= b
Se o valor de a for menor
ou igual que o valor de b
Menor ou igual
<=
verdadeiro
seno falso.
a=b
Se o valor de a for igual
Igual a
ao valor de b ento o
resultado dessa expresso
verdadeiro
seno
falso.
a=b
Se
valor
de
for
diferente do valor de b
Diferente de
<>
verdadeiro
seno falso.
Antes de falar sobre operadores lgicos vamos entender o que uma expresso
lgica. Elas sempre retornam tambm um valor booleano, ou seja, verdadeiro ou
falso, para compreender melhor vamos ver um exemplo:
Representao em
Operador
Exemplo
PSEUDOCDIGO
a = 5 .e. b > 9
Caso o valor de a seja
igual a cinco e o valor de
E
.e.
maior
resultado
que
nove
verdadeiro,
seno falso.
a = 5 .ou. b > 9
Se o resultado de a for
igual a cinco ou o valor de
b
Ou
.ou.
for
ento
maior
o
que
nove
resultado
verdadeiro.
resultado
retornarem
falso.
.no a = 5
Se o resultado de a for
igual
No
.no.
resultado
5
ser
ento
falso,
o
o
operador no inverte o
resultado da expresso.
Alm
das
operaes
aritmticas
citadas
anteriormente,
podemos
usar nas
sen(x)
Funo
Observao
sen(x)
Seno de x.
cos(x)
Coseno de x.
tg(x)
Tangente de x.
arctg(x)
arccos(x)
arcsen(x)
abs(x)
int(x)
frac(x)
A parte fracionaria de x.
Transforma
ard(x)
sinal(x)
por
arredondamento
um
nmero
fracionrio em inteiro.
Retorna
10 + 15 * 2 / 4 ^ 2
10 + 15 * 2 / 4 ^ 2
10 + 15 * 2 / 16
10 + 30 / 16
10 + 1.875
11.875
Assim como em matemtica voc pode e deve usar os parnteses para orientar a
execuo, como no seguinte exemplo:
((8 - 5) * 3) ^ 2
((8 - 5) * 3) ^ 2
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 44
(3 * 3) ^ 2
9 ^ 2
81
Operador
Observao
Parnteses e colchetes so usados para agrupar
(), []
expresses
determinando
procedncia,
como
Potenciao.
*, /
+, -
Operadores relacionais.
.no.
.e.
Operador lgico e.
.ou.
4.7 Tabela-verdade
A .e. B
A .ou. B
.no. (A)
Vamos a um exemplo para que voc compreenda melhor. Vamos fazer a tabela
verdade da expresso: a = 2 .e. b = 5.
Operador
Expresso
a=2
b=5
a = 2 .e. b = 5
a = 2 .ou. b = 5
.no. b = 5
Resultados
possveis
em
algoritmo
Lembrando que uma expresso pode ter mais de um operador lgico aumentando
as possibilidades, como a seguinte expresso:
CAPITULO 5
COMANDO DE ENTRADA E SADA
ler (varivel)
Algoritmo Exemplo2
Var
x: inteiro
Inicio
ler (x)
Fim.
Inicio
Fim
Mostrar (varivel)
Algoritmo Exemplo3
Var
x: inteiro
Inicio
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 50
Mostrar (x)
Fim.
Segue o fluxograma:
Inicio
Fim
Algoritmo Exemplo4
Var
nome: caracter
Inicio
nome
Pedro
Segue o fluxograma:
Inicio
nome
O nome : ,
nome
Fim
CAPITULO 6
ESTRUTURAS DE CONTROLE
Estruturas de repetio;
Imagine que voc chegou sua casa e vai abrir a porta da frente para entrar. Se a
porta estiver aberta voc entra correto?
Mas como voc sabe se a porta da sua casa no estiver aberta para voc entrar,
voc vai tomar alguma outra atitude para entrar. Voc pode bater na porta por
exemplo para ver se algum abre ela para voc. Nossa estrutura condicional ficaria
assim ento:
Se a porta estiver aberta ento voc entra, seno voc bate na porta.
Neste caso nossa estrutura de deciso no resolveu o problema ainda. Voc ainda
no capaz de entrar. O que fazemos geralmente nesse caso utilizar estruturas
condicionais aninhadas, ou seja, uma dentro da outra. Exemplo:
Se a porta estiver aberta ento voc entrar, seno voc bate na porta, se ningum
abrir ento voc liga para ver se algum atende ao telefone, seno voc vai
embora.
Sintaxe em Pseudocdigo:
Se (condio) ento
Conjunto de instrues
Fim-se
Exemplos:
Algoritmo Exemplo5
Var
idade: integer
Inicio
Ler(idade)
Se (idade >= 18) ento
Mostrar(Maior de idade)
Fim-se
Fim.
Segue o fluxograma:
Inicio
Idade
Idade >= 18
.V.
Maior de
Idade
.F.
Fim
Algoritmo Exemplo6
Var
sexo: caracter
Inicio
Leia(sexo)
Se (sexo = F) .ou. (sexo = f) ento
Mostrar(Sexo feminino)
Fim-se
Fim.
Segue o fluxograma:
Inicio
Sexo
Sexo = F
.ou.
Sexo = f
.V.
Sexo
feminino
.F.
Fim
Como voc j aprendeu, a estrutura de deciso composta prev uma condio com
dois conjuntos de instrues para serem realizados de acordo com a avaliao da
expresso condicional.
Sintaxe no Pseudocdigo:
Se (condio) ento
Conjunto de instrues que ser realizado se o resultado da
expresso condicional for verdadeiro
Seno
Conjunto de instrues que ser realizado se o resultado da
expresso condicional for falso.
Fim-se
Exemplos:
Algoritmo Exemplo7
Var
login: caracter
Inicio
Ler(login)
Se (login = moroni) ento
mostrar(usurio vlido)
seno
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 58
mostrar(usurio invalido)
Fim-se
Fim.
No exemplo acima se o contedo da varivel login for igual a moroni ento vai ser
exibido usurio valido, seno, ou seja, para qualquer outro valor diferente de
moroni ser exibido usurio invalido.
Segue o fluxograma:
Inicio
Login
.F.
Login =
moroni
usurio
invalido
.V.
usuario vlido
Fim
Algoritmo Exemplo8
Var
saldo: real
Inicio
Ler (saldo)
Se (saldo >= 0) ento
mostrar(Saldo positivo)
seno
mostrar(Saldo negativo)
fim-se
Fim.
No exemplo acima se o contedo da varivel saldo for maior ou igual a 0 ento
vai ser exibido Saldo positivo, seno ser exibido Saldo negativo.
Segue o fluxograma:
Inicio
saldo
.F.
Saldo >= 0
Saldo
negativo
.V.
Saldo
positivo
Fim
Sintaxe em pseudocdigo:
Se (condio_1) ento
Se (condio_2) ento
Conjunto de intrues A
Seno
Conjunto de instrues B
Fim-se
Seno
Conjunto de instrues C
Fim-se
Exemplo:
Algoritmo Exemplo9
Var
ms: integer
Inicio
Ler(ms)
Se (ms = 2 .ou. ms = 4 .ou. ms = 6 .ou. ms = 9 .ou. ms = 11)ento
Se (ms = 2) ento
Mostrar(Este ms tem 28 dias)
Seno
Mostrar(Este ms tem 30 dias)
Fim-se
Seno
Mostrar(Este ms tem 31 dias)
Fim-se
Fim.
Como voc j deve ter percebido a estrutura acima verifica quantos dias tem o ms
atribudo a varivel ms. O primeiro Se verifica se o ms igual a 2 ou 4 ou 6 ou 9
ou 11, que so os meses que tem menos de 31 dias. Se o valor de ms no for
nenhum desses valores a execuo vai para seno e mostra que o ms tem 31
dias. Se o valor de ms for igual a um dos valores ento o segundo Se avaliado.
Ele verifica se o ms 2, ou seja, fevereiro. Se sim, o ms tem 28 dias, seno tem
30 dias. No nosso exemplo eu atribui 2 a varivel ms ento seria mostrado que o
ms possui 28 dias.
Segue o fluxograma:
Inicio
ms
Este ms tem
31 dias
.F.
ms = 2
.ou.
ms = 4
.ou.
ms = 6
.ou.
ms = 9
.ou.
ms = 11
.ou.
.V.
Ms = 2
.V.
Este ms tem
28 dias
.F.
Este ms tem
30 dias
Fim
Sintaxe em pseudocdigo:
Escolha varivel
Caso tal_coisa_1
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 63
Faa instruo a
Caso tal_coisa_2
Faa instruo b
Caso tal_coisa_3
Faa instruo c
Caso tal_coisa_4
Faa instruo d
Caso contrario
Faa instruo e
Fim-escolha
Exemplo:
Algoritmo Exemplo10
Var
idade: integer
Inicio
Ler(idade)
Escolha idade
Caso idade < 18
Mostrar(Menor de idade)
Caso idade >= 18 .e. idade <= 55
Mostrar(Adulto)
Caso idade = 0
Mostrar(Beb)
Caso contrario
Mostrar(Idoso)
Fim-escolha
Fim.
Segue o fluxograma:
Inicio
idade
Idade < 18
.V.
Menor de
idade
.V.
Adulto
.V.
Beb
.F.
Idade >= 18
.e.
Idade <= 55
.F.
Idade = 0
.F.
Idoso
Fim
Exemplo:
Algoritmo Exemplo11
Var
x: integer
Inicio
x
x + 1
fim-enquanto
Fim.
A expresso x
Inicio
X<5
.F.
.V.
Loop
Fim
X
x+1
Sintaxe em pseudocdigo:
Sintaxe em pseudocdigo:
Repita
Bloco de instrues
At condio
Exemplos:
Algoritmo Exemplo12
Var
x: integer
Inicio
x
Repita
mostrar (x)
x
x + 1
At x = 5
Fim.
Segue o fluxograma:
Inicio
Loop
X+1
.F.
X=5
.V.
Fim
Conhecida como Para, essa estrutura utiliza variveis de controle que definem
exatamente o numero de vezes que a seqncia de instrues ser executada.
Usamos esta estrutura quando sabemos exatamente quantas vezes vamos executar
o bloco de cdigo.
Exemplo:
Algoritmo Exemplo13
Var
contador: integer
Inicio
Para contador = 1 at 10 passo 1 faa
Mostrar (9 X , contator, = , 9 * contador)
Fim-para
Fim.
Segue fluxograma:
Inicio
Loop
Contador
1, 10, 1
Fim
9 X ,
contador, = ,
9 * contador
Sintaxe em pseudocdigo:
1) Faa um algoritmo que leia 50 numeros fornecidos pelo usuario, calcule e exiba
a mdia.
CAPITULO 7
ESTRUTURAS DE DADOS VETORES E
MATRIZES
Imagine que voc tem que armazenar as faltas cometidas por cada jogador de um
time em uma partida de futebol. Voc precisaria armazenar o nome e o nmero de
faltas que cada jogador cometeu. Como faria para armazenar isso em variveis?
Provavelmente voc teria que declarar duas variveis para cada jogador, uma para
armazenar o nome e outra o nmero de faltas, chagando facilmente a 22 variveis,
isso, se no houver nenhuma substituio. Neste captulo vamos aprender como
gerenciar esse tipo de informao.
Para que voc possa compreender melhor o que so e como usar os arrays vamos
fazer um exemplo:
Jogadores[1]
Dida
Se fizermos assim:
Jogadores[6]
Dida
O valor Dida do exemplo acima inserido na linha 6 do nosso vetor. Voc percebe
assim que para inserir um valor no nosso vetor como atribuir valor a uma
varivel, com a nica diferena que precisa especificar o local ou linha onde o valor
ser armazenado. O numero que especifica isso conhecido como ndice, ento 6
um ndice no nosso vetor no exemplo acima.
Para recuperar um valor de um vetor voc faz da mesma forma que com as
variveis tambm, s que especifica o ndice desejado.
Mostrar(Goleiro: , jogadores[1])
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 76
Exemplos:
Algoritmo Exemplo14
Var
Jogadores: vetor [1..11] de caracter
Inicio
Jogadores[1]
Dida
Mostrar(Goleiro: , jogadores[1])
Fim.
Segue o fluxograma:
Inicio
Jogadores[1]
Dida
Goleiro: ,
jogadores[1]
Fim
Algoritmo Exemplo15
Var
num: vetor [1..6] de inteiro
soma, i: inteiro
Inicio
Soma
num[1]
num[2]
num[3]
num[4]
num[5]
num[6]
22
Para i
1 at 6 Faa
Soma
soma + num[i]
Fim-Para
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 78
Fim.
Segue o fluxograma:
Inicio
Soma
num[1]
1, 6, 1
Fim
Soma Soma +
num [i]
num[1]
num[1]
num[1]
num[1]
num[1]
22
7.2 Matrizes
Como voc viu no item anterior, utilizamos um vetor para armazenar o nome dos
jogadores.
Um vetor como uma linha com varias colunas, para armazenar o total de faltas
utilizando apenas vetores precisaramos criar um novo vetor para armazenar as
faltas ou utilizar matrizes.
Matrizes so mais parecidas com tabelas. Voc pode ter varias linhas.
Novamente para que voc entenda melhor vamos continuar com nosso exemplo
dos jogadores.
Jogadores[6,1]
Juninho
Jogadores[6,2]
22
Perceba que coloquei 22 entre aspas porque minha matriz do tipo caracter, ento
o 22 que estou armazenando nela um texto e no um numero.
Neste ponto voc j deve ter adivinhado como recuperar valores de suas matrizes,
mas vamos ao exemplo:
Exemplos:
Algoritmo Exemplo16
Var
Jogadores: vetor [1..11, 1..2] de caracter
Inicio
Jogadores[6,1]
Juninho
Jogadores[6,2]
22
Segue o fluxograma:
Inicio
Jogadores[6,1] =
Juninho
Jogadores[6,1] =
22
Total de faltas
do juninho: ,
jogadores[6,2]
Fim
O prximo exemplo mostra como fazer operaes com matrizes. A partir de uma
matriz de 6 colunas e duas linhas, calculamos e exibimos a media geometria dos
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 82
valores de cada uma das colunas. A media geomtrica calculada pela seguinte
expresso: SQRT (x1 * x2), que representa a raiz quadrada do resultado da
multiplicao dos elementos da linha pelos da coluna.
Algoritmo Exemplo17
Var
V: vetor [1..6, 1..2] de inteiro
i, j: inteiro
prod: real
Inicio
Para i
1 at 6 Faa
Prod
Para i
at 6 Faa
Ler (V [i,j])
Prod
prod * V[i,j]
Fim-para
Mostrar (Linha , i, = , SQRT (prod))
Fim-para
Fim.
CAPITULO 8
PROCEDIMENTOS E FUNES
Quando voc comear a escrever programas grandes e complexos, ver que seu
programa ser composto de vrios algoritmos e que alguns algoritmos existentes
em seu programa diferentes precisaro acessar as mesmas variveis e rotinas.
Por padro, variveis so locais aos seus respectivos algoritmos. Entenda nesta
introduo que uma varivel local no pode ser acessada em todo lugar do
programa - at agora criamos apenas variveis locais.
Imagine que voc precise fazer certo clculo em vrios locais do seu programa. E
agora a frmula do clculo foi modificada, voc ter que localizar no seu programa
cada local que tem a frmula para alter-la. Se voc tiver um procedimento ou
funo que faz o clculo, basta alterar o mesmo.
8.1 Procedimentos
Sintaxe em Pseudocdigo:
Exemplo:
Algoritmo Exemplo18
Procedimento CalcularAreaQuadrado (lado:real)
Var
Resultado: real
Inicio
Resultado := lado * lado
Mostrar(Resultado)
Fim Procedimento
Var
l: real
Inicio
Ler(l)
CalcularAreaQuadrado (l)
Fim.
O procedimento acima foi feito para mostrar a rea de um quadrado. Para executar
o procedimento voc precisa passar o valor do lado do quadrado. Toda vez que
voc for precisar mostrar a rea do quadrado na tela vai poder usar esse
procedimento.
CalcularAreaQuadrado (20)
Voc tambm pode passar uma varivel como parmetro, desde que o valor nela
seja do mesmo tipo de dado do parmetro, veja o exemplo a seguir, suponha que a
varivel ladoDoQuad do tipo real.
CalcularAreaQuadrado (ladoDoQuad)
Inicio
CalcularAreaQuad
rado(lado)
Resultado lado
* lado
CalcularArea
Quadrado(l)
resultado
Retornar
Fim
Algoritmo Exemplo19
Procedimento CalcularAreaRetangulo (lado:real, altura:real)
Var
Resultado: real
Inicio
Resultado := lado * altura
Mostrar(Resultado)
Fim Procedimento
Var
Lado, altura: real
Inicio
Leia(Lado, altura)
CalcularAreaRetangulo (Lado, altura)
Fim.
Para declarar mais de um parmetro voc os separa com vrgula como o exemplo
acima.
Segue o fluxograma:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 88
Inicio
CalcularAreaReta
ngulo(lado,altura)
lado
Resultado lado
* altura
altura
resultado
CalcularArea
Quadrado(lad
o,altura)
Retornar
Fim
Se os tipos de dados dos parmetros forem iguais voc pode fazer assim:
Algoritmo Exemplo20
Procedimento CalcularAreaRetangula (lado, altura:real)
Var
Resultado: real
Inicio
Resultado := lado * altura
Mostrar(Resultado)
Fim Procedimento
Var
L1, a1: real
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 89
Inicio
Leia(L1, a1)
CalcularAreaRetangula (L1, a1)
Fim.
Algoritmo Exemplo21
Procedimento MostrarProprietario ()
Var
proprietario: Caracter
Inicio
proprietario
Herbert Moroni
Mostrar(proprietario)
Fim Procedimento
Var
Inicio
MostrarProprietario()
Fim.
8.2 Funes
Tudo que se aplica aos procedimentos usado para as funes, elas so criadas e
chamadas da mesma maneira. A diferena entre eles que as funes podem ser
utilizadas em expresses, como se fossem variveis, pois as funes retornam
valores que so associados ao seu nome. Por isso necessrio que ao criar uma
funo voc especifique o tipo de dado que ela vai retornar.
Sintaxe em Pseudocdigo:
Exemplo:
Algoritmo Exemplo22
Funo CalcularAreaQuadrado (lado:real): real
Var
resultado: real
Inicio
resultado := lado * lado
Retornar(resultado)
Var
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 91
n1:real
result:real
Inicio
Ler(n1)
Result
CalcularAreaQuadrado(n1)
Fim.
Perceba que a funo acima no usa um comando de sada para exibir o resultado,
ela retorna o contedo da varivel resultado atravs do comando Retornar. Por
isso voc no pode simplesmente chamar suas funes para us-las. Segue um
exemplo do uso da funo do exemplo acima:
Result
No
exemplo
CalcularAreaQuadrado(n1)
acima
varivel
Result
recebe
resultado
da
funo
Segue o fluxograma:
Inicio
CalcularAreaQuad
rado(lado)
lado
Resultado lado
* lado
Result
CalcularAreaQuad
rado(num1)
resultado
Retornar
(resultado)
Fim
Algoritmo Exemplo23
Funo Multiplicar (a, b:real):real
Var
resultado: real
Inicio
resultado
a * b
Retornar(resultado)
Var
numero1, numero2: real
Inicio
Ler (numero1, numero2)
Mostrar (Multiplicar(numero1,numero2))
Fim.
No
exemplo
acima
varivel
resultado
foi
declarada
dentro
da
funo
Multiplicar. Essa varivel s pode ser usada dentro desta funo, voc no pode
atribuir ou consultar nenhum valor nela diretamente, somente atravs da funo.
Chamamos a varivel resultado dentro da funo Multiplicar de varivel local.
J as variveis numero1 e numero2 so globais, porque podem ser acessadas tanto
pelo corpo do algoritmo quanto por qualquer procedimento ou funo declarada
dentro do algoritmo.
CAPITULO 9
LGICA DE PROGRAMAO COM C#
O C#, junto com o Visual Studio .NET 2005 compe uma ferramenta extremamente
robusta e fcil de utilizar, com perfeito suporte a todas as novas ondas que rondam
o mundo da informtica e tecnologia.
A imagem anterior mostra o Visual Studio .NET assim que o iniciamos, exibida a
pagina Start Page onde podemos abrir rapidamente os ultimos projetos criados
atravs da caixa Recent Projects.
A caixa de dialogo New Project aparece. Ela permite que criemos um novo
projeto usando vrios templates, como um Windows Application, Class Library,
Console Application e vrios outros.
Perceba que voc pode ainda alterar o caminho onde sua aplicao ser
salva e o nome da sua Soluo.
6 Clique em OK.
A barra de menus (menu bar) possibilita o acesso aos comandos que voc usa
no ambiente de programao. Voc pode usar o teclado ou o mouse para acessar o
menu ou atalhos exatamente como usa em outros programas baseados em
Windows.
A janela Solution Explorer mostra os nomes dos arquivos associados com o seu
projeto. Voc pode dar um clique duplo sobre o nome do arquivo para exibi-lo no
painel de cdigo (Code pane). Vamos examinar os arquivos que o Visual Studio
criou como parte do seu projeto:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 98
arquivo.
Visual
Studio
adicionou
algum
cdigo
nele
Aos poucos ns vamos explorando mais o Visual Studio, vamos ao nosso primeiro
exemplo.
Nosso primeiro exemplo bem simples, e um clssico para quem esta aprendendo
qualquer linguagem, ele escreve Hello World no console.
Quando o IntelliSense aparece voc tambm pode pressionar W para ir direto para
o primeiro membro do mtodo Console que comear com w.
10 Abra parnteses (
teclado.
12 Digite entre os parnteses a string Hello World, string deve ficar entre
aspas. Vai ficar assim:
Para exibir a janela Output na barra de menus clique em View, Output ou pressione
Ctrl+W+O.
Antes de prosseguir eu quero fazer mais um exemplo com voc, agora vamos
compilar nosso programa atravs do prompt de comando utilizando um utilitrio
chamado csc.
using System;
namespace txtHello
{
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 110
class Class1
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
4 Feche o notepad.
Para
compilarmos
manualmente
nosso
programa
so
necessrias
algumas
Ele vai listar os arquivos da pasta, no caso vai mostrar o arquivo teste.cs.
namespace txtHello
{
class Class1
{
static void Main(string[] args)
{
Console.WriteLine("Hello World");
}
}
}
teste.cs(7,4): error CS0246: The type or namespace name 'Console' could not be
found (are you missing a using directive or an assembly reference?)
17
Mude
linha
com
Console.WriteLine("Hello
World");
para
System.Console.WriteLine("Hello World");
Como parte do Microsoft .NET Framework o C# pode fazer uso de uma srie de
classes de utilidades que executam uma gama de operaes teis. Essas classes
so organizadas no que chamamos de namespaces, eles contem um conjunto de
classes relacionadas e tambm podem conter outros namespaces.
At agora por motivo didtico usamos somente o prompt de comando para criar os
nossos exemplos. Como sabemos esse tipo de aplicao no muito til nos dias
de hoje. O Visual Studio .NET conta com diversos recursos importantes para o
desenvolvimento de aplicaes Windows.
Para colocar um controle no formulrio voc pode tambm dar um clique duplo
sobre ele na barra de ferramentas ou clicar uma vez sobre ele na barra de
ferramentas e depois clicar no formulrio. O clique duplo posiciona o controle no
canto superior esquerdo. A segunda opo coloca o controle no local onde voc
clicar.
Para voltar ao modo design, tambm na janela Solution Explorer clique em View
Design.
Form1.cs tem todo o cdigo gerado automaticamente pelo Visual Studio .NET.
Note os seguintes elementos no cdigo.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
O Visual Studio .NET usa o mesmo nome do projeto para criar o namespace
principal.
namespace WinHello
{
namespace WinHello
{
public class Form1 ...
{
...
}
}
mtodos
nos
prximos
tutoriais.
Este
mtodo
esta
no
arquivo
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 1;
this.button1.Text = "button1";
this.button1.UseVisualStyleBackColor = true;
//
// textBox1
//
this.textBox1.Location = new System.Drawing.Point(16, 50);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(100, 20);
this.textBox1.TabIndex = 2;
//
// Form1
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F,
13F);
this.AutoScaleMode =
System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(292, 273);
this.Controls.Add(this.textBox1);
this.Controls.Add(this.button1);
this.Controls.Add(this.label1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
this.PerformLayout();
}...
Para voltar ao modo design, tambm na janela Solution Explorer clique em View
Design.
Isso serve para os outros controles tambm, clique sobre os outros controles e note
os marcadores.
Note que ele vai diretamente para o painel de cdigo e criado automaticamente o
seguinte cdigo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 128
Tudo que for digitado dentro deste cdigo ser executado assim que o Button1 for
clicado quando o programa estiver executando.
Tenha ateno com esse cdigo, ele deve ser digitado exatamente como se segue,
lembre-se que o C# case-sensitive. necessrio tambm o ponto-e-virgula no
final da linha.
16 Execute o programa.
Para executar o programa voc pode clicar e F5, ou no menu Debug clicar em
Start Debugging.
Categoria
Tipo
Inteiro
byte
0 a 255 (8 bits)
Inteiro
sbyte
Inteiro
int
Inteiro
uint
Inteiro
long
9,223,372,036,854,775,808 a
9,223,372,036,854,775,807 (64 bits)
Inteiro
ulong
0 a 18,446,744,073,709,551,615 (64
bits)
Inteiro
short
Inteiro
ushort
Real
decimal
Real
double
Real
float
Lgico
bool
Literal
char
Literal
string
Em C# os tipos uint, ulong e ushort, ocupam o mesmo espao que os tipos int,
long e short. S que s podem armazenar nmeros positivos.
Antes de qualquer coisa segue a lista das palavras reservadas em C#, lembre-se de
que elas no podem ser usadas na criao de identificadores, ou seja, no podem
ser usadas como nome de variveis.
abstract
as
base
Bool
break
byte
case
Catch
char
checked
class
Const
continue
decimal
default
Delegate
do
double
else
Enum
event
explicit
extern
false
finally
fixed
float
for
foreach
goto
if
implicit
in
int
interface
internal
is
lock
long
namespace
new
null
object
operator
out
override
params
private
protected
public
readonly
ref
return
sbyte
sealed
short
sizeof
stackalloc
static
string
struct
switch
this
throw
int contador;
Estamos declarando nesse exemplo duas variveis do tipo integer, uma chamada
contador e a outra numeroCarro.
9.3 Constantes em C#
Para declarar uma constante em C# voc usa o comando Const na declarao da
varivel que ser a constante. Exemplo:
Depois de declarar sua varivel voc precisa atribuir um valor a ela. No C# voc
no pode usar uma varivel antes de colocar um valor nela, isso gera um erro de
compilao.
int numeroFuncionario;
numeroFuncionario = 23;
Isso faz mesma coisa que o exemplo anterior, s que tudo em uma linha.
Mais um exemplo:
char letraInicial = M;
Operador
Representao em C#
Exemplo
a ++
Incremento
++
Decremento
--
Multiplicao
Multiplica-se o valor de a
por b.
a/b
Diviso
Mdulo
Adio
Subtrao
Soma de a e b.
ab
Subtrao de a com b.
Representao em C#
Exemplo
a>b
Se o valor de a for maior
que o valor de b ento o
Maior
>
verdadeiro
seno
falso.
a >= b
Se o valor de a for maior
ou igual que o valor de b
Maior ou igual
>=
verdadeiro
seno falso.
a<b
Se o valor de a for menor
que o valor de b ento o
Menor
<
verdadeiro
seno
falso.
a <= b
Se o valor de a for menor
ou igual que o valor de b
Menor ou igual
<=
verdadeiro
seno falso.
Igual a
==
a == b
verdadeiro
seno
falso.
a != b
Se
valor
de
for
diferente do valor de b
Diferente de
!=
verdadeiro
seno falso.
Representao em C#
Exemplo
a == 5 && b > 9
Caso o valor de a seja
igual a cinco e o valor de
&&
maior
resultado
que
nove
verdadeiro,
seno falso.
a == 5 || b > 9
Se o resultado de a for
igual a cinco ou o valor de
Ou
||
for
ento
maior
o
verdadeiro.
que
nove
resultado
O
resultado
retornarem
falso.
! a == 5
Se o resultado de a for
igual
No
resultado
5
ser
ento
falso,
o
o
operador no inverte o
resultado da expresso.
3 Label
3 TextBox
1 Button
1 GroupBox
5 RadioButton
Controle
Propriedade
Valor
Label1
Text
Valor1
Label2
Text
Valor2
Label3
Text
Resultado
Button
Text
Calcular
GroupBox
Text
Operador
RadioButton1
Text
+ Adio
RadioButton2
Text
- Subtrao
RadioButton3
Text
* Multiplicao
RadioButton4
Text
/ Diviso
RadioButton5
Text
% Resto Diviso
5 Execute a aplicao.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 140
Clique na TextBox1, pressione a tecla Tab do teclado, verifique que conforme voc
clica na tecla ele passa de um controle a outro.
Clique sobre os operadores, veja que voc s pode selecionar um, essa uma
caracterstica do controle RadioButton que no tinha sido usado at aqui. A
GroupBox agrupa todos os RadioButtons dentro dela de forma que apenas um
deles pode ser selecionado.
7 - Vamos agora digitar o cdigo que efetuar os clculos, esse cdigo vai ser
executado quando o boto Calcular for clicado. De um clique duplo sobre o
Button1 para digitarmos o seguinte cdigo. (Ateno na hora de digitar, lembre-se
que o C# case-sensitive ou seja, diferencia maisculas de minsculas).
primeiroValor = int.Parse(textBox1.Text);
segundoValor = int.Parse(textBox2.Text);
if (radioButton1.Checked)
{
resultado = primeiroValor + segundoValor;
textBox3.Text = resultado.ToString();
}
else if (radioButton2.Checked)
{
resultado = primeiroValor - segundoValor;
textBox3.Text = resultado.ToString();
}
else if (radioButton3.Checked)
{
resultado = primeiroValor * segundoValor;
textBox3.Text = resultado.ToString();
}
else if(radioButton4.Checked)
{
resultado = primeiroValor / segundoValor;
textBox3.Text = resultado.ToString();
}
else if(radioButton5.Checked)
{
resultado = primeiroValor % segundoValor;
textBox3.Text = resultado.ToString();
primeiroValor = int.Parse(textBox1.Text);
segundoValor = int.Parse(textBox2.Text);
Como o valor que esta na caixa de texto do tipo string convertemos para int
usando int.Parse. Voc pode usar o mtodo Parse sempre que precisar converter
um tipo de dados em outro. Para usa-lo digite o tipo do dado ponto Parte como o
exemplo acima ou o seguinte exemplo:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 143
long.Parse(textBox2.Text);
if (radioButton1.Checked)
ou
else if (radioButton2.Checked)
Se o valor da propriedade Checked do RadioButton for True quer dizer que ele esta
selecionado,
ento
executamos
calculo
correspondente
ao
RadioButton
textBox3.Text = resultado.ToString();
8 Execute o programa.
Subtrao:
Multiplicao:
Diviso, perceba que ele retorna um resultado em inteiro, o numero inteiro mais
prximo do resultado:
Resto da Diviso, perceba que ele retorna o resto da diviso, 9 dividido por dois
resulta em 4 com resto 1.
10 Pare a aplicao.
Segue um exemplo:
string nome;
Console.WriteLine("Digite seu nome");
nome = Console.ReadLine();
Console.WriteLine("Seu nome : " + nome);
A primeira estrutura de deciso que iremos estudar o IF, veja a sintaxe a seguir:
if ( expressocondicional )
{
bloco-de-codigo1
}
else
{
bloco-de-codigo2
}
Existe uma varivel chamada Salario que est definida e contm o valor 1200.
Como toda condio retorna apenas verdadeiro ou falso, verificado se o
valor maior que 1000, e caso seja verdadeiro ser somado 10% ao Salario. Se
Salario for menor que 1000 nada ser executado.
Salario += 50;
else if ((Salario >= 500) && (Salario < 2000))
Salario += 100;
else
Salario += 250;
possvel avaliar diversos else ifs com uma determinada expresso. Como no
exemplo abaixo:
Exemplo:
Nesta linha testamos se o Salario maior ou igual a 500 e o Salario menor que
600.
A sintaxe a seguinte:
switch (testexpression)
{
case constant-expression:
statements
break:
default:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 151
statements
}
Veja o exemplo:
int diaDaSemana = 3;
switch (diaDaSemana)
{
case 1:
MessageBox.Show("Domingo");
break;
case 2:
MessageBox.Show("Segunda-Feira");
break;
case 3:
MessageBox.Show("Tera-Feira");
break;
case 4:
MessageBox.Show("Quarta-Feira");
break;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 152
case 5:
MessageBox.Show("Quinta-Feira");
break;
case 6:
MessageBox.Show("Sexta-Feira");
break;
case 7:
MessageBox.Show("Sabado");
break;
}
int diaDaSemana = 3;
switch (diaDaSemana)
{
case 1:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 153
MessageBox.Show("Domingo");
break;
case 2:
MessageBox.Show("Segunda-Feira");
break;
case 3:
MessageBox.Show("Tera-Feira");
break;
case 4:
MessageBox.Show("Quarta-Feira");
break;
case 5:
MessageBox.Show("Quinta-Feira");
break;
case 6:
MessageBox.Show("Sexta-Feira");
break;
case 7:
MessageBox.Show("Sabado");
break;
default:
MessageBox.Show("Dia Invlido");
break;
Voc s pode usar o switch com tipos de dados primitivos, como: (int,
long, float, double, decimal, string, char, bool). Para usar outros tipos
de dados use o if;
Voc precisa repetir a sintaxe do case para cada valor individual que voc
quer avaliar, mesmo que ele execute o mesmo bloco de cdigo, veja o
ultimo exemplo.
Voc deve usar o break aps cada bloco de cdigo seno ele vai continuar
executando os outros cases.
2 - Label
2 TextBox
1 Button
Controle
Propriedade
Valor
Label1
Text
Nome
Label2
Text
Senha
Textbox1
Text
Textbox2
Text
Button1
Text
Validar
}
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 157
Voc pode substituir o valor do nome para o seu nome e sua senha.
6 Execute o programa.
8 Clique em validar.
9 Clique em Ok.
MessageBox.Show("Usuario Invalido");
Close();
Em resumo:
while ( booleanExpression )
statement
1 Button
1 ListBox
int contador = 0;
while (contador < 20)
{
contador++;
listBox1.Items.Add(contador);
}
int contador = 0;
while (contador < 20)
{
contador++;
listBox1.Items.Add(contador);
}
A segunda linha comea o While com a condio. Essa linhar quer dizer enquanto
contador for menor que 20, ou seja ele vai executar o loop ou o cdigo que esta
entre os colchetes at que o conteudo da varivel contador seja igual ou maior
que 20.
contador = contador + 1
contador = 1
Se voc for usar mais de uma linha de cdigo dentro do while precisa
coloc-lo entre colchetes, seno no.
do
statement
while (booleanExpression);
int contador = 0;
while (contador < 20)
{
contador++;
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 165
listBox1.Items.Add(contador);
}
int contador = 0;
while (contador < 20)
{
contador++;
if (contador == 10)
{
break;
}
listBox1.Items.Add(contador);
}
4 - Execute a aplicao:
5 - Clique em Loop.
Perceba que ele nem chega a escrever o nmero 10 por que a linha de cdigo que
responsvel por isso esta depois do If que finalizou o loop.
{
break;
}
}
while (contador < 20);
Se a expresso estivesse encima nada apareceria, mas agora aparece o 21, isso
porque ele executou uma vez o loop antes de avaliar a expresso, algumas vezes
esse tipo de loop pode ser necessrio. Fique atento.
O For usado quando sabemos o nmero de vezes que iremos executar o Loop. O
For precisa de um contador que normalmente uma varivel que controla o
nmero de vezes que o loop ser executado..
statement
1 - Crie uma nova aplicao do tipo Windows Application com nome For.
5 - Execute a aplicao.
Quando inicializamos o for, primeiro iniciamos uam varivel do tipo integer e damos
o valor 1 para ela, demos o nome de i para essa variavel. Depois colocamos uma
expresso booleana que ser responsvel por avaliar o numero de vezes que o for
ser executado, nossa expresso diz que o for deve ser executado enquanto o
contedo de da varial i for menor ou igual a 4. Para finalizar a inicializao do For
dizemos que a cada passada o contedo da varivel i deve ser acrescentado em 1.
Perceba que o i+= 5 fez com que o nmero adicionado a variavel a cada passada
do loop 5 ao invs de 1.
3 Button
1 ListBox
2 Labels
2 TextBoxes
10 - Na janela Solution Explorer clique no boto View Code para ir para o Painel
de cdigo.
Nesta linha declaramos um Array de tamanho fixo. O array que criamos como
uma tabela com 11 linhas, o suficiente para armazenar o nome do time inteiro, 11
jogadores.
jogadores[0] = textBox1.Text;
listBox1.Items.Add(jogadores[0]);
textBox1.Text = jogadores[0];
S que para inserir um item no ListBox precisamos usar seu mtodo Add.
15 Execute a aplicao.
Agora que voc j compreende como inserir e ler dados do array vamos avanar
no exemplo.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 178
18 Pare a execuo.
int contador = 0;
Isto cria uma varivel que estar disponvel para todos os procedimentos dentro da
classe, ou seja, seu escopo a classe. Tambm j atribumos o valor 0 nela. Essa
varivel ser usada para controlar o ndice ou local do array onde vamos inserir
cada jogador.
Aqui usamos o loop tor para passar por cada item do Array e adiciona-lo no
ListBox1.
A cada passada pelo For o i assume o valor de uma linha do array at chegar ao
final.
23 - Execute a aplicao.
Faa isso sucessivamente at que o boto seja desabilitado, ou seja, que o array
seja totalmente preenchido.
Como voc pode ver, trabalhamos facilmente com os nomes dos 11 jogadores em
nosso array, podemos modificar os dados do nosso array facilmente, bastando para
isso indicar qual linha deve ser alterada e o novo dado, como no exemplo:
jogadores[10] = Robinho;
Um array pode conter mais de um coluna. Vamos entender como isso funciona
implementando o cdigo que vai armazenar o nmero de faltas de cada jogador.
Como um Array s pode conter um tipo de dado e nosso Array j do tipo String,
no nosso exemplo vamos adicionar o nmero de faltas como string mesmo, mas, a
maneira correta seria criar um outro Array do tipo integer para armazenar as faltas.
Vamos optar pela primeira opo para voc aprender a trabalhar com duas colunas.
jogadores[contador] = textBox1.Text;
jogadores[contador,0] = textBox1.Text;
Isso apenas indica que vamos adicionar o nome na linha que o loop indicar, na
coluna 1, de ndice 0.
int contadorFaltas = 0;
else
{
button2.Enabled = false;
}
Note tambm que agora atribuimos os valores segunda coluna, como mostra o
cdigo:
jogadores[contadorFaltas, 1] = textBox2.Text;
Agora precisamos mudar o cdigo do button3, que exibe os dados, para listar as
faltas tambm.
Faa isso sucessivamente at que o boto seja desabilitado, ou seja, que o array
seja totalmente preenchido.
34 Digite uma quantidade de faltas para cada jogador como fez com o nome dos
jogadores at o boto ser desabilitado.
opcional
{
// corpo do mtodo
}
tipoDeRetorno o tipo de dado que vai ser retornado pelo mtodo aps sua
execuo. Pode ser o nome de qualquer tipo como int ou string. Se o seu
mtodo no for retornar valor algum, voc precisa usar a palavra reservada
void aqui, especificando que o mtodo no retorna nada.
nomeDoMetodo o nome que vai ser usado para chamar o mtodo. Este
nome deve seguir as mesmas recomendaes usadas nos nomes das variveis.
Procure usar notao camelCasing para nomear os mtodos e tambm procure
utilizar um verbo na primeira palavra do nome, para ajudar a identificar o que o
mtodo faz.
Se voc quer que seu mtodo retorne uma informao (em outras palavras que
retorne um tipo e no um void), voc precisa escrever um cdigo de retorno dentro
do mtodo.
Para isso voc usa a palavra reservada return, seguida da expresso que calcula o
valor a ser retornado. Ateno, porque o resultado da expresso deve ser do
mesmo tipo que o especificado como tipoDeRetorno do mtodo, seno o programa
no vai compilar.
Por exemplo:
int adicionarValores (int numeroPequeno, int numeroGrande)
{
//...
return numeroPequeno + numeroGrande;
}
O retorno do mtodo deve estar no final do mtodo porque ele causa a finalizao
do mtodo. Qualquer cdigo depois da linha que faz o retorno no vai ser
executado.
Se voc no quer que seu mtodo retorne informao alguma (do tipo void), voc
pode uma variao da palavra reservada return para causar o encerramento
imediato do mtodo, para isso digite return seguido de ponto-e-vrgula.
Por exemplo:
void mostrarResultado (int pergunta)
{
...
if (...)
return;
...
}
Chamando mtodos:
Mtodos existem para serem chamados. Voc chama um mtodo pelo seu nome
para ele executar uma tarefa. Se esse mtodo precisa de informaes para realizar
sua tarefa (parmetros), voc precisa enviar essas informaes pra ele. Se o
mtodo retornar uma informao, voc precisa ter uma forma de receber essa
informao, como uma varivel, por exemplo.
nomeDoMetodo (listaDeArgumentos
opcional)
Este mtodo tem dois parmetros entre os parnteses, para cham-lo, faa assim:
adicionarValores(39,3)
Esta a maneira correta de chamar o mtodo, se voc tentar das seguintes formas
no vai conseguir:
adicionarValores
// Falta parnteses
adicionarValores()
// Falta argumentos
adicionarValores(39)
// Falta um argumento
adicionarValores(39, 3)
// Tipos errados
O mtodo adicionarValores retorna um numero inteiro. Este valor inteiro pode ser
usado em qualquer lugar que uma variavel int puder ser usada.
Por exemplo:
resultado = adicionarValores(39,3);
mostrarResultado(adicionarValores(39,3));
Voc viu que pode criar uma varivel dentro de um mtodo. A varivel criada na
cdigo que a define, e outros cdigo no mesmo mtodo que vm depois podem
usar a varivel. Em outras palavras, uma varivel pode ser usada s em certos
lugares depois de que ter sido criada. Uma vez que o mtodo terminou, a varivel
desaparece completamente.
Por exemplo:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 193
class Exemplo
{
void mtodo()
{
int variavel;
...
}
void outroMetodo()
{
variavel = 42;
}
}
Por exemplo:
class Exemplo
{
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 194
int campo;
void mtodo()
{
campo = 42;
...
}
void outroMetodo()
{
campo = 44;
}
}
Exemplo:
2 No painel de cdigo crie digite o seguinte cdigo que cria o mtodo lerDouble
dentro da classe Program.
Esse mtodo escreve no console o texto que enviado para ele como parmetro.
Depois armazena na varivel linha o numero digitado pelo usurio e o retorna.
Digite o seguinte cdigo, voc pode digit-lo em qualquer local desde que esteja
dentro da Classe no nosso caso a Program.
Console.Write(inicio);
string linha = Console.ReadLine();
return int.Parse(linha);
}
Esse mtodo faz a mesma coisa que o mtodo lerDouble, s que retorna uma
integer (inteiro).
using System;
using System.Collections.Generic;
using System.Text;
namespace Metodo
{
class Program
{
public double lerDouble(string inicie)
{
Console.Write(inicie);
string linha = Console.ReadLine();
return double.Parse(linha);
Console.Write(inicio);
string linha = Console.ReadLine();
return int.Parse(linha);
}
Esse mtodo retorna a multiplicao dos dois parmetros que so enviados para
ele.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 199
using System;
using System.Collections.Generic;
using System.Text;
namespace Metodo
{
class Program
{
public double lerDouble(string inicie)
{
Console.Write(inicie);
string linha = Console.ReadLine();
return double.Parse(linha);
Chamando Mtodos
9 Crie um novo mtodo que no retorna nada, ou seja, do tipo void. De o nome
dele de Executar
Na primeira linha de cdigo criamos uma varivel do tipo double e atribumos a ela
o mtodo lerDouble.
Na segunda linha criamos uma varivel do tipo int e atribumos a ela o mtodo
lerInteiro.
(new Class1()).executar();
Isso vai executar o mtodo executar assim que o programa for iniciado
A taxa : 5197,5
Vou digitar o cdigo fonte todo utilizado para voc poder verificar caso haja algum
problema e vamos depurar nosso programa para entender melhor como ele
funciona.
using System;
using System.Collections.Generic;
using System.Text;
namespace Metodo
{
class Program
{
public double lerDouble(string inicie)
{
Console.Write(inicie);
string linha = Console.ReadLine();
return double.Parse(linha);
return int.Parse(linha);
}
CAPITULO 10
LGICA DE PROGRAMAO COM VB.NET
O VB.NET, junto com o Visual Studio .NET 2005 compe uma ferramenta
extremamente robusta e fcil de utilizar, com perfeito suporte a todas as novas
ondas que rondam o mundo da informtica e tecnologia.
A imagem anterior mostra o Visual Studio .NET assim que o iniciamos, exibida a
pagina Start Page onde podemos abrir rapidamente os ultimos projetos criados
atravs da caixa Recent Projects.
A caixa de dialogo New Project aparece. Ela permite que criemos um novo
projeto usando vrios templates, como um Windows Application, Class Library,
Console Application e vrios outros.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 207
Perceba que voc pode ainda alterar o caminho onde sua aplicao ser
salva e o nome da sua Soluo.
6 Clique em OK.
A barra de menus (menu bar) possibilita o acesso aos comandos que voc usa
no ambiente de programao. Voc pode usar o teclado ou o mouse para acessar o
menu ou atalhos exatamente como usa em outros programas baseados em
Windows.
A janela Solution Explorer mostra os nomes dos arquivos associados com o seu
projeto. Voc pode dar um clique duplo sobre o nome do arquivo para exibi-lo no
painel de cdigo (Code pane). Vamos examinar os arquivos que o Visual Studio
criou como parte do seu projeto:
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 209
Aos poucos ns vamos explorando mais o Visual Studio, vamos ao nosso primeiro
exemplo.
Nosso primeiro exemplo bem simples, e um clssico para quem esta aprendendo
qualquer linguagem, ele escreve Hello World no console.
Quando o IntelliSense aparece voc tambm pode pressionar W para ir direto para
o primeiro membro do mtodo Console que comear com w.
10 Abra parnteses (
teclado.
12 Digite entre os parnteses a string Hello World, string deve ficar entre
aspas. Vai ficar assim:
Para exibir a janela Output na barra de menus clique em View, Output ou pressione
Ctrl+W+O.
At agora por motivo didtico usamos somente o prompt de comando para criar os
nossos exemplos. Como sabemos esse tipo de aplicao no muito til nos dias
de hoje. O Visual Studio .NET conta com diversos recursos importantes para o
desenvolvimento de aplicaes Windows.
Para colocar um controle no formulrio voc pode tambm dar um clique duplo
sobre ele na barra de ferramentas ou clicar uma vez sobre ele na barra de
ferramentas e depois clicar no formulrio. O clique duplo posiciona o controle no
canto superior esquerdo. A segunda opo coloca o controle no local onde voc
clicar.
Para voltar ao modo design, tambm na janela Solution Explorer clique em View
Design.
Form1.vb tem todo o cdigo gerado automaticamente pelo Visual Studio .NET.
Note os seguintes elementos no cdigo uma classe chamada Form1.
Para voltar ao modo design, tambm na janela Solution Explorer clique em View
Design.
Isso serve para os outros controles tambm, clique sobre os outros controles e note
os marcadores.
Note que ele vai diretamente para o painel de cdigo e criado automaticamente o
seguinte cdigo.
Tudo que for digitado dentro deste cdigo ser executado assim que o Button1 for
clicado quando o programa estiver executando.
16 Execute o programa.
Para executar o programa voc pode clicar e F5, ou no menu Debug clicar em
Start Debugging.
Categoria
Tipo
Inteiro
Byte
0 a 255 (8 bits)
Inteiro
SByte
Inteiro
Integer
Inteiro
UInteger
Inteiro
Long
9,223,372,036,854,775,808 a
9,223,372,036,854,775,807 (64 bits)
Inteiro
ULong
0 a 18,446,744,073,709,551,615 (64
bits)
Inteiro
Short
Inteiro
UShort
Real
Decimal
Real
Double
Real
Single
Lgico
Boolean
Literal
Char
Literal
String
Estamos declarando nesse exemplo duas variveis do tipo integer, uma chamada
contador e a outra numeroCarro.
numeroFuncionario = 23
Isso faz mesma coisa que o exemplo anterior, s que tudo em uma linha.
Valores do tipo String ou Caracter devem ser inseridos entre aspas duplas,
exemplo:
Exemplo
VB.NET
a ++
Incremento
++
Decremento
--
a --
Multiplica-se o valor de a
por b.
a/b
Diviso
Exponenciao
Aqui representamos 2
elevado a 3 ou 23.
a mod b
Mdulo
Mod
Adio
Subtrao
Soma de a com b.
ab
Subtrao de a com b.
Representao em
Operador
Exemplo
VB.NET
a>b
>
verdadeiro
seno
falso.
a >= b
Se o valor de a for maior
ou igual que o valor de b
Maior ou igual
>=
verdadeiro
seno falso.
a<b
Se o valor de a for menor
que o valor de b ento o
Menor
<
verdadeiro
seno
falso.
a <= b
Se o valor de a for menor
ou igual que o valor de b
Menor ou igual
<=
verdadeiro
seno falso.
a=b
Se o valor de a for igual
ao valor de b ento o
Igual a
verdadeiro
seno
falso.
Diferente de
<>
a <> b
Se
valor
de
for
diferente do valor de b
ento o resultado dessa
expresso
verdadeiro
seno falso.
Exemplo
VB.NET
a = 5 And. b > 9
Caso o valor de a seja
igual a cinco e o valor de
E
And
b
maior
resultado
que
nove
verdadeiro,
seno falso.
a = 5 Or b > 9
Se o resultado de a for
igual a cinco ou o valor de
b
Ou
Or
for
ento
maior
o
verdadeiro.
que
nove
resultado
O
resultado
retornarem
falso.
Not a = 5
No
Not
Se o resultado de a for
igual
resultado
5
ser
ento
falso,
o
o
operador no inverte o
resultado da expresso.
nome digitado novamente usando o comando WriteLine. O operador & foi utilizado
para concatenar o texto Seu nome com o contedo da varivel nome.
A primeira estrutura de deciso que iremos estudar o IF, veja a sintaxe a seguir:
If condio Then
cdigo
ElseIf condio Then
cdigo
Else
cdigo
End If
IF condio THEN ento faa algo; caso contrrio Else ou ainda voc pode testar
outra condio ElseIF at que o programa encontre o resultado correto.
Existe uma varivel chamada Salario que est definida e contm o valor 1200.
Como toda condio retorna apenas verdadeiro ou falso, verificado se o
valor maior que 1000, e caso seja verdadeiro ser somado 10% ao Salario.
Exemplo:
Nesta linha testamos se o salario maior ou igual a 500 e o salario menor que
600.
A segunda estrutura de deciso que iremos estudar conhecida como Select Case.
A sintaxe a seguinte:
voc pode usar o Case Else. O Case Else opcional. Voc pode ter quantos Cases
for necessrio.
Veja o exemplo:
While condio
cdigo
End While
1 Button
1 TexBox
Text = vazio
Multiline = True
ScrollBars = Vertical
7 - Execute a aplicao.
A terceira linha comea o While com a condio. Essa linhar quer dizer enquanto
contador for menor que 20, ou seja ele vai executar o loop ou o cdigo que esta
entre While e End While at que o contedo da varivel contador seja igual ou
maior que 20.
Contador = Contador + 1
Contador = 1
Repare que aps o numero 20 no programa tem uma linha em branco. Isso
porque sempre inserida uma linha no TextBox quando chamada a varivel
Quebra.
Loop
ou
Do
cdigo
Exit Do
Loop { While | Until } condio
Depois do Do, voc pode usar o While ou o Until, a diferena que o While faz
com que o loop seja executado at que a condio seja (falsa), e o Until at que a
condio seja True (Verdadeira).
4 - Execute a aplicao:
5 - Clique em Loop.
Perceba que ele nem chega a escrever o numero 10 por que a linha de cdigo que
responsvel por isso esta depois do If que finalizou o loop.
7 - Execute a aplicao.
8 - Clique em Loop.
9 - Voc pode negar a expresso para ela executar, faa isso, mude a linha do Do
Until... para a seguinte:
End If
TextBox1.Text += Contador & Quebra
Loop Until Contador < 20
12 - Execute a aplicao.
Se durante o processamento voc quiser abandonar o looping, ter que usar o Exit
For que semelhante ao Exit Do. A sintaxe do For...Next a seguinte:
1 - Crie uma nova aplicao do tipo Windows Application com nome ForNext.
Dim i As Integer
For i = 1 To 4
MessageBox.Show(i)
Next
5 - Execute a aplicao.
Dim i As Integer
For i = 1 To 4
MessageBox.Show(i)
Next
A linha 3 responsvel por abrir uma caixa de dilogo na tela com o valor da
varivel i.
Dim i As Integer
For i = 1 To 25 Step 5
MessageBox.Show(i)
Next
Perceba que o Step 5 fez com que o nmero adicionado a varivel a cada passada
do loop 5 ao invs de 1.
3 Button
1 ListBox
6 - Na janela Solution Explorer clique no boto View Code para ir para o Painel
de cdigo.
Nesta linha declaramos um Array de tamanho fixo. Perceba que a declarao bem
semelhante a de uma varivel, com exeo do (10). O array que criamos como
uma tabela com 11 linhas, isso porque o array comea sempre no 0 e acaba no
nmero que especificamos, no caso 10, o suficiente para armazenar o nome do
time inteiro, 11 jogadores.
Jogadores(0) = Marcos
ListBox1.Items.Add(Jogadores(0))
TextBox1.Text = Jogadores(0)
S que para inserir um item no ListBox precisamos usar seu mtodo Add.
Agora que voc j compreende como inserir e ler dados do array vamos avanar
no exemplo.
For i = 0 To UBound(Jogadores)
Jogador = Jogador & (i + 1)
Jogadores(i) = InputBox(Mensagem, Jogador)
Next
Com este cdigo vamos solicitar ao usurio que digite o nome dos 11 jogadores.
Para isso fazemos um loop que vai de 0 at o total de itens no array.
Como sabemos que o Array possui 11 linhas poderia ter usado o seguinte cdigo,
que seria mais simples:
For i = 0 To 11
No entando a tcnica que utilizamos mais flexivel por prever que o array pode
aumentar.
Agora temos que mudar o cdigo que exibe os dados tambm, para que possa
exibir todos os dados cadastrados.
Dim i As Integer
For i = 0 To UBound(Jogadores)
ListBox1.Items.Add(Jogadores(i))
Next
Aqui usamos o loop For tambm para passar por cada item do Array e adicion-lo
no ListBox1.
Lembrando que a cada passada pelo For o i assume de uma
linha do array at
chegar ao final.
15 - Execute a aplicao.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 267
Como voc pode ver, trabalhamos facilmente com os nomes dos 11 jogadores em
nosso array, podemos modificar os dados do nosso array facilmente, bastando para
isso indicar qual linha deve ser alterada e o novo dado, como no exemplo:
Jogadores(10) = Robinho
Um array pode conter mais de um coluna. Vamos entender como isso funciona
implementando o cdigo que vai armazenar o nmero de faltas de cada jogador.
Como um Array s pode conter um tipo de dado e nosso Array j do tipo String,
no nosso exemplo vamos adicionar o nmero de faltas como string mesmo, mas, a
maneira correta seria criar um outro Array do tipo integer para armazenar as faltas.
Isso cria um Array com 11 linhas e 2 colunas. Um Array pode ter vrias colunas.
Isso apenas indica que vamos adicionar o nome na linha que o loop indicar, na
coluna 1, lembrando que os Arrays sempre iniciam com indice 0.
For i = 0 To UBound(Jogadores)
Mensagem = Digite as faltas do & Jogadores(i, 0)
Jogadores(i, 1) = InputBox(Mensagem, Faltas)
Next
Note que agora atribuimos os valores segunda coluna, como mostra o cdigo:
Dim i As Integer
For i = 0 To UBound(Jogadores)
ListBox1.Items.Add(Jogadores(i, 0) & - Total de faltas: &
Jogadores(i, 1))
Next
Como voc sabe bem, tanto em um jogo de futebol, como em muitas outras
situaes, ns no sabemos com certeza o nmero de linhas que iremos precisar no
nosso Array. Em um jogo de futebol podem haver at 3 substituies, o que
aumentaria em 3 o nmero de linhas no nosso Array. No entanto, no certeza
que o treinador far as 3 substituies que lhe cabem por direito.
Para esse tipo de situaes, o Visual Basic oferece um Array especial, conhecido
como Array Dinmico. Um Array Dinmico pode ser redimencionado durante a
execuo do programa.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 274
ARRAY DINMICO
2 - Antes de inserir dados no seu Array Dinmico voc precisa saber qual ser o
tamanho dele, voc deve implementar cdigo para isso, como por exemplo, uma
caixa de dilogo que pergunta ao usurio quantos jogadores participaram da
partida.
Exemplo:
ReDim Jogadores(13)
Voc no pode usar o Redim para mudar o tipo de dados do seu array, isso no
possvel.
Usamos a virgula porque nosso Array possui duas colunas. Perceba que no
especificamos o nmero de linhas, nem o nmero de colunas. Com isso atendemos
a regra 1 sobre os Arrays Dinmicos.
ReDim Jogadores(NumeroJogadores - 1, 1)
For i = 0 To UBound(Jogadores)
Jogador = Jogador & (i + 1)
Jogadores(i, 0) = InputBox(Mensagem, Jogador)
Next
Tudo que fizemos foi criar uma varivel do tipo integer que armazena o nmero de
jogadores que participaram da partida. Adicionamos a essa varivel o nmero
digitado na caixa de dilogo atravs da seguinte linha de cdigo:
ReDim Jogadores(NumeroJogadores - 1, 1)
Agora, antes de exibir a caixa que pergunta o nome dos jogadores, aparece a
seguinte caixa perguntando a quantidade. Digite a quantidade e clique em OK.
Uma observao importante, que quando voc executa o Redim o que estiver
armazenado no seu array perdido. Dependendo das necessidades do seu
programa isso pode lhe trazer muitas dores de cabea. Para solucionar esse
problema, voc pode usar o Redim Preserve, que mantm os dados do array
mesmo depois do seu redimensionamento.
Para finalizar o assunto Arrays, vamos apenas enteder o que LBound e UBound.
Lembre-se que durante nossos exemplos usamos o UBound, junto com o Loop For,
como se segue:
For i = 0 To UBound(Jogadores)
UBound(NomedoArray)
LBound(NomedoArray)
Sub NomedoProcedimento(argumentos)
Cdigo
End Sub
NomedoProcedimento o nome que voc quer dar a Sub que esta criando.
Procure dar sempre um nome que ajude a identificar a utilidade da sua Sub.
A Function (funo) muito parecida com a Sub, as regras aplicadas para as Subs
se aplicam aqui, principalmente as que se referem ao escopo e aos argumentos. A
diferena que a Function vai sempre retornar um valor.
NomedaFuno o nome que voc quer dar a funo que esta criando. Como
com as Subs, procure dar sempre um nome que ajude a identificar a utilidade da
sua funo. No esquea do Type que o tipo de dados que sua funo vai
retornar.
Return a instruo que permite retornar o valor. Aps o Return ser executado a
funo finalizada.
Autor: Herbert Moroni Cavallari da Costa Gois
Site:
www.juliobattisti.com.br
Confira tambm o curso: Programando com VB.NET e Programando com C# e o Visual Studio .NET 2005
Pgina 281
1 Button
1 TexBox
Nossa sub simplesmente soma 10 ao valor que foi passado a ela como parmetro e
mostra uma caixa de dilogo com o valor. Deve ficar assim no painel de cdigo:
A primeira linha declara uma varivel chamada numero do tipo Integer e atribui 5 a
ela A segunda faz a chamada ao procedimento Teste que criamos. A terceira linha
simplesmente pega o contedo da varivel numero e exibe no Label1. Deve ficar
assim no painel de cdigo:
6 - Execute a aplicao.
7 - Clique no Button1.
8 - Clique em OK.
Depois que ele executa a Sub ele pega o valor da varivel e exibe na Label1,
perceba que o valor permanece sendo 5, ou seja ele efetuou a soma na Sub mais
no alterou o valor da varivel nmero.