Você está na página 1de 166
Desenvolvimento em .Net C# e Visual Basic .Net Apostila voltada para estudantes da área de
Desenvolvimento em .Net C# e Visual Basic .Net Apostila voltada para estudantes da área de

Desenvolvimento em .Net

C# e Visual Basic .Net

Apostila voltada para estudantes da área de desenvolvimento, abordando a tecnologia .Net e seus vários recursos para desenvolvimento Desktop.

Microsoft Innovation Center

abordando a tecnologia .Net e seus vários recursos para desenvolvimento Desktop. Microsoft Innovation Center

Sumário

Microsoft Innovation Center Desenvolvimento em .Net

2

Introdução

4

.Net Framework

4

Microsoft Visual Studio

6

Principais linguagens da plataforma .Net

6

Conhecendo a área de trabalho do Microsoft Visual Studio

6

Criando novas soluções e aplicações

8

Visão geral das janelas de auxílio

9

Visão geral sobre os capítulos

12

Capítulo I – Variáveis, Operadores e Estruturas de Decisão

13

Variáveis

13

Laboratório 1 - Variáveis

15

Operadores

18

Laboratório 2 – Operadores

20

Estruturas de Decisão

23

Laboratório 3 – Estrutura de Decisão

26

Laboratórios extras

31

Capítulo II – Estruturas de repetição

32

Estrutura Repita

32

Laboratório 1 – Repita

34

Estrutura Para

37

Laboratório 2 – Para

38

Estrutura Enquanto

41

Laboratório 3 – Enquanto

42

Laboratórios extras

45

Capítulo III – Vetores

46

Características dos vetores

46

Vetores unidimensionais

47

Vetores multidimensionais

49

Aplicações específicas para vetores

51

Laboratório 1 – Vetores unidimensionais e barras de progresso

53

Laboratório 2 – Vetores multidimensionais

58

Microsoft Innovation Center Desenvolvimento em .Net

3

Capítulo IV – Tratamento de Exceções e Métodos

68

Tratamento de Exceções

68

Try

Catch

69

Finally

70

Exemplo: Gerando um erro em tempo de execução

71

Métodos

73

Laboratório 1 – Métodos

76

Foreach

78

Laboratório 2 – Foreach

79

Laboratórios Extras

81

Capítulo V – Formulários

82

 

Formulários

83

Formulários MDI

84

Instanciação de formulários

85

Menus

85

Laboratório 1 – Formulários e menus

88

Controles

99

Laboratório 2 – Formulários e controles

102

Laboratórios extras

107

Capítulo VI – Acesso ao banco de dados

108

Visão geral do ADO .Net

108

Visão geral dos .Net Framework Data Providers

108

Arquitetura do ADO .Net

109

Laboratório 1 – Primeira aplicação de acesso ao banco de dados

111

Laboratório 2 – Trabalhando com uma base de dados por meio de código

125

Laboratórios extras

139

Capítulo VII – Relatórios

140

Criação de relatórios

140

Microsoft Report Viewer

141

Crystal Reports

141

Laboratório 1 – Relatório simples com Microsoft Report Viewer

142

Laboratório 2 – Relatório com parâmetros e Crystal Reports

152

Laboratório 3 – Relatório com junção e Crystal Reports

161

Introdução

Tópicos abordados:

Microsoft Innovation Center Desenvolvimento em .Net

4

Visão geral sobre funcionamento do .Net Framework;

Conhecendo o Visual Studio e suas principais linguagens;

A

área de trabalho do Visual Studio;

Principais janelas de trabalho;

Visão geral sobre os próximos capítulos.

Essa apostila desenvolvida pelos membros e colaboradores do Centro de Inovação Microsoft tem como objetivo ajudar no desenvolvimento de novos profissionais da área de desenvolvimento. Focando as duas principais linguagens do .Net Framework,e fazendo o uso de uma explicação detalhada e de fácil entendimento, voltada principalmente para iniciantes no campo da informática.

Você irá encontrar laboratórios para o tema abordado em cada capítulo, como também atividades extras para que tenha chance de desenvolver sua lógica na programação. Mesmo sendo um conteúdo voltado principalmente para iniciantes, as técnicas abordadas em cada tópico são direcionadas para construção de aplicações que mesmo simples, visão o uso de ferramentas necessárias para desenvolver soluções competitivas no mercado.

.Net Framework

O .Net Framework é a plataforma de desenvolvimento fornecida pela Microsoft para

que desenvolvedores criem desde soluções acadêmicas até profissionais, com qualidade e rapidez em sua construção.

Esse modelo para programação auxilia na criação de aplicativos para clientes, servidores, dispositivos móveis ou incorporados ao Windows. Veja abaixo alguns fatores que o .Net Framework possui e que são de grande relevância para os desenvolvedores.

I. Conjunto rico de bibliotecas, para diversos fins, facilitando e agilizando a criação de soluções;

II. Facilidade na instalação e na distribuição de aplicações;

III. Alta escalabilidade para ambientes de missão crítica;

IV. Interoperabilidade entre plataformas e componentes desenvolvidos em outras linguagens .Net;

Microsoft Innovation Center Desenvo lvimento em .Net

relacionada

diretamente ao seu funciona mento. Veja a seguir seu funcionamento e co mo isso permite e

favorece o trabalho em equip e por diferentes programadores.

Uma

das

grandes

vantagens

que

temos

no

.Net

Framework

está

é executada sobre uma CLR (Common Lang uage Runtime

uma coleção de

bibliotecas. Esta CLR é capaz de executar, atualmente, mais de vinte diferen tes linguagens de

programação (inclusive ling uagens não Microsoft, como Cobol, Pascal interagindo entre si como se fossem uma única linguagem.

- Delphi, etc.),

Ambiente de Execução Ind ependente de Linguagem) interagindo com

A plataforma .Net

O modelo mostrado .Net Framework.

na Figura 1 representa de maneira simples o f uncionamento do

5

Figura 1 representa de maneira simples o f uncionamento do 5 Figura 1 – Modelo de

Figura

1 – Modelo de funcionamento do Framework .Net.

programação que

utilizamos para nossas solu ções. Podemos dizer que a plataforma com pila o código do

desenvolvedor em uma ou

responsável por juntar lingua gens diferentes em uma mesma solução.

mais linguagens para um código intermedi ário, o qual é o

Perceba que na part e superior do modelo temos as linguagens de

receber o código

intermediário, ela executa so bre ele uma nova compilação. Esse resultado s e torna a solução esperada para o usuário.

A próxima etapa é

onde encontramos a CLR trabalhando. Ao

Microsoft Visual Studio

Microsoft Innovation Center Desenvolvimento em .Net

6

O Microsoft Visual Studio é um ambiente de desenvolvimento integrado (IDE

Integrated Development Environment) para a construção de aplicações utilizando as

linguagens de programação Visual Basic .Net, Visual C#, Visual C++, Visual J#.

No ambiente do Visual Studio é possível criar suas aplicações através de um simples arrastar de componentes de forma visual, bem como desenvolver todo o procedimento através de linhas de código. Além de proporcionar experiências ao usuário com a mais alta qualidade e riqueza, aplicativos mais seguros, gerenciáveis e confiáveis.

Atualmente o Visual Studio encontra-se na versão 2008, disponibilizando no mercado três opções diferentes para cada tipo especifico de usuário. Elas são: Visual Studio Professional, Visual Studio Team System e Visual Studio Express Editions.

Principais linguagens da plataforma .Net

A linguagem C# trata-se de uma das principais linguagens que caracterizam a

plataforma de desenvolvimento .Net. A linguagem é orientada a objetos e possui fortes características da linguagem C++. O responsável pela coordenação do desenvolvimento da linguagem foi Anders Hejlsberg.

Outra grande linguagem é a Visual Basic .Net, que foi introduzida inicialmente através do ambiente de desenvolvimento Visual Studio 2002, e pode ser considerada uma evolução da linguagem Visual Basic 6 para tornar-se compatível com o Microsoft .Net Framework.

Durante o processo de reestruturação da linguagem várias mudanças foram incorporadas para suportar todas as funcionalidades do Microsoft .Net Framework e, desde então a linguagem passou a basear-se no paradigma da orientação a objetos.

As duas linguagens possuem suas próprias características de sintaxe, contudo, é possível perceber semelhanças em seus códigos, isso devido ao uso da mesma plataforma. Esse material visa ao leitor à possibilidade de estudar as duas ou mesmo uma a sua preferência. Todos os laboratórios e exemplos são comentados e exibidos nas duas linguagens, o que até permite ao leitor fazer comparações entre ambas.

Conhecendo a área de trabalho do Microsoft Visual Studio

Vamos conhecer agora a área de trabalho que a ferramenta de desenvolvimento oferece. Certifique-se de possuir instalada em seu computador uma das versões do Visual Studio. Todo o conteúdo abordado durante os capítulos não fará uso de nada além do que a versão Express Editions pode oferecer. Caso deseje, visite o link abaixo para fazer a aquisição desta versão que é distribuída gratuitamente.

http://www.microsoft.com/Express/

Microsoft Innovation Center Desenvolvimento em .Net

7

Primeiramente vamos visualizar nossa janela principal que é apresentada assim que o Visual Studio é aberto, como mostra a Figura 2.

1 3 2 2 4 2
1
3
2
2
4
2

Figura 2 – Apresentação inicial do Visual Studio.

Vamos agora analisar cada parte dessa apresentação inicial:

1. Aqui encontramos o menu superior. A partir dele podemos chegar a varias opções, como criar novos projetos e arquivos, configurar opções da ferramenta, modificar a exibição das janelas que auxiliam, entre muitas outras coisas.

2. Todas as partes marcadas com esse número representam as nossas janelas de auxilio. Logo mais veremos o que cada uma oferece para ajudar os desenvolvedores. Outro detalhe é que elas podem ter suas posições alteradas, o que deixa possível a opção de cada programar personalizar seu ambiente de trabalho.

3. Inicialmente, essa área notifica as novidades e lançamentos que a Microsoft lança ao processo de desenvolvimento e suas aplicações. Para quem possui uma conexão sempre acessível com a internet, essa janela pode fornecer muitas informações. Caso queria, pode ser desativada também para que não apareça mais quando o Visual Studio for inicializado.

4. Nessa área você pode encontrar os seus projetos mais recentes. Acessando-os de uma forma bem rápida.

Criando novas soluções e aplicações

Microsoft Innovation Center Desenvolvimento em .Net

8

O Visual Studio é editor padrão para desenvolvimento utilizando a plataforma criada pela Microsoft. Com ele podemos criar a solução ideal para cada problema. Vamos conhecer agora os principais tipos de projetos que podemos criar e também como realizar isso.

Depois de abrir seu Visual Studio, navegue para o menu superior. Entre as varias opções que temos escolha File. Nesse item temos as principais opções para controle de projetos, como criar novos, abrir, salvar, etc. Escolha a opção New, aqui temos as opções de criar um projeto novo, criar apenas um arquivo separado de algum projeto ou mesmo um web site. Acesse o item Project, como mostra a Figura 3.

w eb site . Acesse o item Project , como mostra a Figura 3. Figura 3

Figura 3 – Acessando o menu superior para criar um novo projeto.

Feito isso, uma nova janela irá aparecer para que sejam informados alguns dados para criação do projeto. Veja a Figura 4.

3 4 5 1 2
3
4
5
1
2

Figura 4 – Janela de criação de novos projetos.

Microsoft Innovation Center Desenvolvimento em .Net

9

1. No campo Name indicamos qual será o nome do nosso projeto. Por padrão o Visual Studio cria a solução com o mesmo nome também.

2. Location é local a solução e todos os seus componentes serão salvos. Você pode optar por salvar em um local especifico em vez da pasta que o Visual Studio reserva.

3. Nessa seleção de itens escolhemos qual versão do .Net Framework utilizaremos. É recomendado deixar sempre na versão mais recente (atualmente 3.5), já que cada atualização corrige e aprimora a plataforma de desenvolvimento.

4. Nessa parte, chamada Project type, fazemos a escolha do tipo de projeto que será criado, se vai ser um projeto para desktop, uma aplicação web, um sistema para dispositivo móvel, etc. Se seu Visual Studio for a versão Professional ou Team System, você verá que nessa área temos mais de uma linguagem diferente para escolher. Os principais tipos de projetos, como citados anteriormente, fazem parte de todas as linguagens da Microsoft, porém alguns projetos mais específicos, como desenvolvimentos para jogos em XNA, é suportado apenas para linguagem C#.

5. Depois que o tipo de projeto foi escolhido precisamos definir qual será seu template, ou seja, mesmo que o tipo de projeto seja aplicação para desktop (Windows Forms Application), ainda precisamos escolher quais elementos específicos vamos trabalhar dentro dessa área. Pode ser um projeto completo, um projeto que suporte apenas classes (Class Library), entre outros.

Visão geral das janelas de auxílio

Depois que criamos uma nova solução ou abrimos alguma pronta, as janelas de auxílio são preenchidas conforme o arquivo que estamos trabalhando. Vamos analisar cada uma das principais janelas.

Solution Explorer:

cada uma das principais janelas. Solution Explorer : Figura 5 – Janela Solution Explorer . A

Figura 5 – Janela Solution Explorer.

A Figura 5 representa a área que é fornecida para controle da nossa solução. Quando nos referimos a uma solução, estamos nos referindo à resolução da tarefa proposta, ou seja, conjunto de elementos que interligados formam a solução para o problema, por isso uma solução pode ter mais de um projeto e, dependendo da situação, é necessário trabalhar com vários projetos em uma mesma solução. Por exemplo, combinando um projeto Class Library com um projeto Windows Forms Application.

Microsoft Innovation Center Desenvolvimento em .Net

10

Quando criamos um novo projeto, que não seja em branco, ele é construído com vários arquivos padrão. Por exemplo, o arquivo Form1.cs, que é um formulário em branco, ou o arquivo Program.cs, que contém as principais informações sobre sua aplicação.

Alterando formulários:

informações sobre sua aplicação. Alterando formulários: Figura 6 – Área para alteração de formulários.
informações sobre sua aplicação. Alterando formulários: Figura 6 – Área para alteração de formulários.

Figura 6 – Área para alteração de formulários.

Formulários são as janelas que nossos programas e aplicações vão possuir, como mostra a Figura 6. Dentro delas podemos inserir varias coisas, como caixas de textos ou mesmo imagens (conhecidos como controles). Podemos editar os formulários por meio de código, cada formulário tem seu respectivo arquivo em código, o qual permite a implementação de regras de negócios, ou mesmo ações que devem ser executados caso algum botão seja pressionado.

Toolbox:

ser executados caso algum botão seja pressionado. Toolbox: Figura 7 – Controles na janela Toolbox .

Figura 7 – Controles na janela Toolbox.

Como citado anteriormente, os formulários são preenchidos por componentes para que seja possível a construção de uma interface gráfica com os usuários. Esses componentes são chamados em geral por controles. Quando estamos editando visualmente nosso formulário, podemos adicionar novos controles a ele de duas formas bem simples: com um clique duplo sobre o controle desejado, ou mesmo no simples arrastar e soltar.

Properties:

Properties : Microsoft Innovation Center Desenvolvimento em .Net 11 Figura 8 – Janela para alterar as

Microsoft Innovation Center Desenvolvimento em .Net

11

Figura 8 – Janela para alterar as propriedades de um controle.

Cada controle possui suas propriedades, todos, desde um botão até um formulário. Essas propriedades são as configurações que cada controle tem, por exemplo, tamanho, cor e tamanho da fonte, entre outros. Existem propriedades que são comuns aos controles e outras que são especificas para cada um. Temos duas maneiras para fazer essas alterações, via código, ou mesmo pelo modo visual, selecionando um controle e navegando até a janela Properties, assim como mostra a Figura 8.

Server Explorer:

Properties , assim como mostra a Figura 8. Server Explorer: Figura 9 – Janela Server Explorer.

Figura 9 – Janela Server Explorer.

Essa janela de auxílio é responsável pelo gerenciamento das conexões que temos com o Visual Studio e bases de dados. Assim como mostra a Figura 9, podemos configurar e acessar tanto servidores como bancos de dados diretamente. Além da opção de manutenção e gerenciamento, podemos criar novas bases de dados diretamente dessa janela.

Visão geral sobre os capítulos

Microsoft Innovation Center Desenvolvimento em .Net

12

Capítulo I - Variáveis, operadores e estruturas de decisão: Esse primeiro capítulo aborda a introdução ao desenvolvimento de aplicações, focando nos conceitos básicos e necessários para construção de qualquer aplicação.

Capítulo II - Estruturas de repetição: Aqui são desenvolvidas estruturas que auxiliaram no desenvolvimento de regras de negocio mais aprimoradas, as quais são essenciais para a lógica de seu programa.

Capítulo III - Vetores: Todo desenvolvedor sempre chega ao ponto de trabalhar com uma grande quantidade de dados, uma das maneiras mais utilizadas para criação e manutenção desse tipo de problema é com a utilização de vetores. Onde você aprenderá a trabalhar e aplicar os conceitos de vetores unidimensionais e multidimensionais.

Capítulo IV - Tratamento de exceções e métodos: Como nenhuma aplicação pode garantir que nunca ocorrerá um erro devemos aprender a utilizar os tratamentos dos mesmos, para que um erro não seja fatal e atrapalhe a execução do programa. É abordado também a utilização de métodos (funções), que ajudam a garantir no programa uma reutilização maior como também um aprimoramento na organização do projeto e facilidade para desenvolver aplicações com estruturas mais complexas.

Capítulo V - Formulários: A integração de programa com usuário é essencial para sucesso da solução. Para isso devemos saber como utilizar nossos formulários e seus controles das melhores maneiras possíveis.

Capítulo VI - Acesso ao banco de dados: Aplicações que envolvem armazenamento de dados, precisam acessar bases de dados, tanto para receber como inserir informações. Neste capítulo é abordado as maneiras que a plataforma .Net disponibiliza para que isso seja feito, tanto visualmente ou por código.

Capítulo VII - Relatórios: Uma das funções mais essenciais que as aplicações devem possuir atualmente é gerar relatórios. Seja qual for o tipo e tamanho de empresa, tomas de decisões, para que ocorram com sucesso devem possuir boas analises, utilizando relatórios é possível fornecer algumas dessas analisem. Veja como construir relatórios de maneira bem simples e eficiente para seus programas.

Microsoft Innovation Center Desenvolvimento em .Net

13

Capítulo I – Variáveis, Operadores e Estruturas de Decisão

Tópicos abordados:

Variáveis;

Laboratório 1;

Operadores;

Laboratório 2;

Estruturas de Decisão;

Laboratório 3;

Neste capítulo vamos estudar os conceitos sobre variáveis, aplicações de operadores e a utilização de Estruturas de Decisão para auxiliar o desenvolvimento de um aplicativo.

Variáveis

Uma variável é um local de armazenamento temporário para dados em seu programa. Você pode utilizar uma ou muitas variáveis no código, e elas podem conter palavras, números, datas, propriedades ou outros valores. Utilizando variáveis, você pode atribuir um nome curto e fácil de lembrar a cada parte dos dados com o qual deseja trabalhar. As variáveis podem armazenar informações inseridas pelo usuário em tempo de execução, o resultado de um cálculo específico ou uma parte dos dados que você quer exibir em um formulário. Em resumo, as variáveis são contêineres úteis que você pode utilizar para armazenar e monitorar quase todo tipo de informação.

As variáveis têm âmbitos diferentes, ou seja, lugares onde estão disponíveis. Normalmente elas são divididas entre variáveis locais e globais. As variáveis globais são as que estão declaradas no âmbito mais amplo possível. Essas variáveis são acessíveis de qualquer lugar do aplicativo. Já as variáveis locais, são usadas em lugares mais dimensionados, como por exemplo, um método. Quando se declara variáveis locais, somente podemos acessá-las dentro do lugar aonde tenha sido declarada, ou seja, se havíamos declarado em um método somente podemos acessá-la quando estivermos nesse método.

A declaração de variáveis no C# e no Visual Basic .Net diferem bastante uma da outra. Em C# escrevemos o tipo da variável e seu nome, já no Visual Basic .Net utilizamos a palavra-chave Dim, então o nome da variável e o seu tipo. Vejamos no exemplo a sintaxe nas duas linguagens, onde vamos declarar uma variável chamada i do tipo String:

Microsoft Innovation Center Desenvo lvimento em .Net

14

- Sintaxe C#:

String i;

- Sintaxe Visual Bas ic .Net:

Dim i As String

Tipos de variáveis:

byte sbyte int/Integer uint long ulong short ushort decimal double float/single char string
byte
sbyte
int/Integer
uint
long
ulong
short
ushort
decimal
double
float/single
char
string
•In teiro de 8 bits sem sinal •In teiro com sinal de 8 bits •In
•In
teiro de 8 bits sem sinal
•In
teiro com sinal de 8 bits
•In
teiro de 32 bits com sinal
•In
teiro de 32 bits sem sinal
•In
teiro com sinal de 64 bits
•In
teiro sem sinal de 64 bits
•In
teiro com sinal de 16 bits
•In
teiro sem sinal de 16 bits
•P
onto flutuante decimal. Este tipo tem uma precis ão de 28 casas decimais.
•P
onto flutuante binário. Este tipo tem uma precisã o de 15 casas decimais.
•P
onto flutuante binário. Este tipo tem uma precisã o de 7 casas decimais.
po de dados booleano. Pode ser apenas true ou false.
•U
m único caractere unicode de 16 bits.
•U
nicode com até 1 gigabyte de caracteres.

bool/Boolean •Ti

Esses são os tipos ma is comuns de variáveis no Visual Basic .Net e no C#, algumas só se diferem na sintaxe, mas suas especificações são as mesmas.

Laboratório 1 - Variáveis

Neste

laboratório

iremos

aprender

a

declarar

Microsoft Innovation Center Desenvolvimento em .Net

variáveis

e

conhecer

o

comando

15

“Console.WriteLine()” para mostrar uma mensagem na tela.

- Exercício:

1. Primeiramente abra o Visual Studio 2008, então crie um novo projeto em File\New Project

2. Aparecerá uma tela, nela você poderá escolher a linguagem e a versão do .Net Framework. Crie um projeto Console Application chamado “Variaveis” como mostra a Figura 1.

chamado “ Variaveis” como mostra a Figura 1. Figura 1 – Criando um novo projeto. 3.

Figura 1 – Criando um novo projeto.

3. Agora deverá aparecer a tela principal do projeto, com o arquivo Program.cs aberto, como mostra a Figura 2 em C# ou Module1.vb como mostra a Figura 3 em Visual Basic .Net.

2 em C# ou Module1.vb como mostra a Figura 3 em Visual Basic .Net . Figura

Figura 2 – Tela principal do projeto em C#.

Microsoft Innovation Center Desenvolvimento em .Net

16

Microsoft Innovation Center Desenvolvimento em .Net 16 Figura 3 – Tela principal do projeto em Visual

Figura 3 – Tela principal do projeto em Visual Basic .Net.

4. Agora dentro do “static void Main(string[] args)”em C# ou no “Sub Main()” em Visual Basic .Net, que são os método principais do projeto, iremos declarar a variável do tipo String chamada “nome” e atribuir a ela a String José”, como na Figura 4 e 5.

using System; using System.Collections.Generic; using System.Linq; using System.Text;

namespace Variaveis

{

 

class Program

{

static void Main(string[] args)

{

 

string nome;

nome = "José";

 

}

}

}

Figura 4 – Declaração e atribuição a variável em C#.

Module Module1

Sub Main() Dim nome As String

nome = "José"

End Sub

End Module

Figura 5 – Declaração e atribuição a variável em Visual Basic .Net

Microsoft Innovation Center Desenvolvimento em .Net

17

5. Então agora, utilizando o comando “Console.WriteLine()”, que é um método que faz parte do Framework .Net, que é utilizado para mostrar valores em uma tela de prompt. Iremos mandar como parâmetro para o método “Console.WriteLine()” a nossa variável nome para que seu valor seja mostrado na tela, como ilustra a Figura 6 em C# e a 7 em Visual Basic .Net.

using System; using System.Collections.Generic; using System.Linq; using System.Text;

namespace Variaveis

{

 

class Program

{

static void Main(string[] args)

{

 

string nome;

nome = "José";

Console.WriteLine(nome);

 

}

}

}

Figura 6 – Parâmetro enviado ao método “Console.WriteLine()” em C#.

Module Module1

Sub Main() Dim nome As String

nome = "José"

Console.WriteLine(nome)

End Sub

End Module

Figura 7 – Parâmetro enviado ao método “Console WriteLine()” em Visual Basic .Net.

6. Salve seu projeto, execute-o apertando o atalho Ctrl + F5 e veja o resultado.

Operadores

Operadores aritméticos:

Microsoft Innovation Center Desenvo lvimento em .Net

18

São os operadores m atemáticos clássicos, que permitem somar, sub trair, multiplicar e

dividir números ou variáveis

que contenham números.

•Soma de dois números, ou concatenação + / & •Subtração de dois números - •Divisão
•Soma de dois números, ou concatenação
+ / &
•Subtração de dois números
-
•Divisão de dois números
/
•Multiplicação de dois números
*
•Nesse caso, atribuição de valor
=
%
•Resto da divisão inteira de um número por
outro
•Exponenciação
^

Operadores lógicos:

São aqueles que ma nipulam os valores lógicos True (verdadeiro) e sintaxe muda de linguagem p ara linguagem, mas suas funções continuam as

False (falso). Sua mesmas.

&& / A ndAlso

•E lógico: retorna verdadeiro se todos os valores da expressão forem verdadeiros falso em qualquer
•E lógico: retorna verdadeiro se todos os
valores da expressão forem verdadeiros
falso em qualquer outro caso
e
•Ou lógico: retorna falso somente se todo s
os valores da expressão forem falsos e
verdadeiro em qualquer outro caso
•Não lógico: "nega", ou melhor, inverte o
valor lógico da expressão

|| /

OrElse

! / Not

Operadores relacionais:

Microsoft Innovation Center Desenvo lvimento em .Net

19

Servem para compar ação de dados. Dependendo da linguagem a sint axe é diferente, mas as funções se mantêm.

<

<

=

•Menor que •Menor ou igual a •Maior que •Maior ou igual a •Nesse caso, igual
•Menor que
•Menor ou igual a
•Maior que
•Maior ou igual a
•Nesse caso, igual a
•Diferente de

>

>

=

== / = != / <>
== / = != / <>
== / = != / <>

== / =

!= / <>

== / = != / <>

Laboratório 2 – Operadores

Microsoft Innovation Center Desenvolvimento em .Net

20

Neste laboratório veremos como utilizar alguns operadores e vamos conhecer o comando “Console.ReadLine()”.

- Exercício:

1. Primeiramente abra o Visual Studio 2008, então crie um novo projeto em File\New Project

2. Aparecerá uma tela, nela você poderá escolher a linguagem e a versão do .Net Framework. Crie um projeto Console Application chamado “Operadores” como mostra a Figura 7.

chamado “ Operadores” como mostra a Figura 7. Figura 8 – Criando um novo projeto. 3.

Figura 8 – Criando um novo projeto.

3. Agora deverá aparecer a tela principal do projeto, com o arquivo Program.cs aberto em C# e o Module1.vb em Visual Basic .Net, como mostra a Figura 8 e 9.

em C# e o Module1.vb em Visual Basic .Net , como mostra a Figura 8 e

Figura 9 – Tela principal do projeto em C#.

Microsoft Innovation Center Desenvolvimento em .Net

21

Microsoft Innovation Center Desenvolvimento em .Net 21 Figura 10 – Tela principal do projeto em Visual

Figura 10 – Tela principal do projeto em Visual Basic .Net.

4. Agora no método Main, vamos declarar duas variáveis do tipo decimal, chamadas num1 e num2. E utilizando o comando “Console.WriteLine()” mostraremos a mensagem “Digite dois números: “ na tela, como na Figura 10 em C# e a 11 em Visual Basic .Net.

using System; using System.Collections.Generic; using System.Linq; using System.Text;

namespace Operadores

{

class Program

{

static void Main(string[] args)

{

decimal num1; decimal num2; Console.WriteLine("Digite dois numeros: ");

Figura 11 – Declaração das variáveis em C#.

Module Module1

Sub Main()

Dim num1 As Decimal Dim num2 As Decimal Console.WriteLine("Digite dois números: ")

Figura 12 – Declaração das variáveis em Visual Basic .Net.

Microsoft Innovation Center Desenvolvimento em .Net

22

5. Vamos utilizar o comando “Console.ReadLine()” para capturar os dois números que pedimos para o usuário digitar. Em C#, este comando, por padrão, só captura valores String, para armazenar o valor digitado nas nossas variáveis teremos que converter o que foi digitado para o tipo decimal, usando o comando “Convert.ToDecimal()”. A sintaxe deverá ficar semelhante à Figura 12 e 13.

num1 = Convert.ToDecimal(Console.ReadLine()); num2 = Convert.ToDecimal(Console.ReadLine());

Figura 13 – Captura e conversão dos números digitados em C#.

num1 = Console.ReadLine() num2 = Console.ReadLine()

Figura 14 – Captura dos números digitados em Visual Basic .Net.

6. Agora utilizando o comando “Console.WriteLine()” iremos mostrar na tela todas as operações aritméticas possíveis com os números que foram digitados. Além de utilizar os operadores aritméticos, também veremos o uso do “+” em C# e “&” em Visual Basic .Net, para realizar concatenações. O código deverá ficar semelhante à Figura 14 e 15.

Console.WriteLine("Soma: "+ num1 +" + "+ num2 +" = "+ (num1 + num2));
Console.WriteLine("Soma: "+ num1 +" + "+ num2 +" = "+
(num1 + num2));
Console.WriteLine("Subtração: " + num1 + " - " + num2 +
" =
"
+
(num1 - num2));
Console.WriteLine("Divisão: " + num1 + " / " + num2 + "
=
"
+
num2 +
"
=
"
(num1 / num2));
Console.WriteLine("Multiplicação: " + num1 + " * " +
+
(num1 * num2));

Figura 15 – Apresentação dos resultados em C#.

Console.WriteLine("Soma: " & num1 & " + " & num2 & " = " & (num1 +

num2))

Console.WriteLine("Subtração: " & num1 & " - " & num2 & " =

" & (num1 - num2)) Console.WriteLine("Divisão: " & num1 & " / " & num2 & " = " & (num1 / num2)) Console.WriteLine("Multiplicação: " & num1 & " * " & num2 & " = " & (num1 * num2))

Figura 16 – Apresentação dos resultados em Visual Basic .Net.

Entre as aspas, colocamos palavras e caracteres que desejamos mostrar como texto e para fazer as variáveis que digitamos aparecem em meio ao texto utilizamos o “+” e o nome da variável. E por fim colocamos a operação que será executada entre as duas variáveis, desse modo o resultado já será mostrado, sem a necessidade de que esse resultado seja armazenado em uma variável.

Estruturas de Decisão

Microsoft Innovation Center Desenvolvimento em .Net

23

As Estruturas de Decisão utilizam expressões condicionais para controlar quais instruções devem ser executadas e em qual ordem. Existem duas estruturas que cuidam para realizar essa função, a estrutura “Se” ou a “Escolha”.

Primeiramente vamos entender o que é uma expressão condicional. Esta é uma expressão que sempre retorna um valor booleano, ou seja, verdadeiro ou falso, utilizando os operadores relacionais.

Estrutura “Se”:

No caso da estrutura “Se” temos a seguinte sintaxe nas linguagens .Net:

-

Sintaxe em C#:

If ( expressão condicional )

{

 

bloco de código 1

}

else if ( expressão condicional )

{

 

bloco de código 2

}

 

else

{

 

bloco de código 3

}

-

Sintaxe em Visual Basic .Net:

If expressão condicional bloco de código 1

ElseIf expressão condicional bloco de código 2

 

Else

bloco de código 3

End If

Microsoft Innovation Center Desenvolvimento em .Net

24

Assim, se a primeira expressão condicional for verdadeira, o bloco de código 1 será executado e os demais não serão utilizados. Caso a primeira expressão seja falsa, a segunda expressão será testada, se for verdadeira o bloco de código 2 será executado. Então se a primeira e a segunda expressão forem falsas, automaticamente,

o bloco de código 3 será executado, porque ele não possui a palavra-chave if, apenas else. Ele é como um plano de emergência, caso todos falhem, ele entra em ação.

Lembrado que a estrutura “Se” não precisa obrigatoriamente conter um else no fim e,

o else if pode ser utilizado quantas vezes forem necessárias.

Estrutura “Escolha”:

Você também pode controlar a execução de instruções em programas utilizando a estrutura de decisão “Escolha”. Ela é semelhante à estrutura “Se”, mas, é mais eficiente quando o desvio depende de uma variável-chave ou, caso de teste. Você também pode utilizá- la para deixar o código mais legível.

- Sintaxe em C#:

switch ( variável-chave )

{

 

case valor1:

bloco de código 1

break;

case valor2:

bloco de código 2

break;

default:

bloco de código 3

break;

}

A estrutura “Escolha” vê o conteúdo da variável-chave, então dependendo do seu valor executa um bloco de código. Caso nenhum dos valores seja o mesmo, o default é acionado e o bloco de código 3 é executado.

Microsoft Innovation Center Desenvolvimento em .Net

25

- Sintaxe em Visual Basic .Net:

Select Case variável Case valor1 bloco de código 1 Case valor2 bloco de código 2 Case Else bloco de código 3

End Select

Assim como a estrutura “Escolha” em C#, ela vê o conteúdo da variável-chave, então dependendo do seu valor executa um bloco de código. Caso nenhum dos valores seja o mesmo, o Case Else é acionado e o bloco de código 3 é executado.

Laboratório 3 – Estrutura de Decisão

Microsoft Innovation Center Desenvolvimento em .Net

26

Neste laboratório será realizado a criação de um menu básico e a utilização das estruturas “Se” e “Escolha” para gerenciar logins de usuários diferentes.

- Exercício:

1. Primeiramente abra o Visual Studio 2008, então crie um novo projeto em File\New Project

2. Aparecerá uma tela, nela você poderá escolher a linguagem e a versão do .Net Framework. Crie um projeto Console Application chamado “EstruturasDecisao” como mostra a Figura 15.

chamado “ EstruturasDecisao ” como mostra a Figura 15. Figura 17 – Criando um novo projeto.

Figura 17 – Criando um novo projeto.

3. Agora deverá aparecer a tela principal do projeto, com o arquivo Program.cs em C# ou Module1.vb em Visual Basic .Net aberto, como mostra a Figura 16 e 17.

ou Module1.vb em Visual Basic .Net aberto, como mostra a Figura 16 e 17. Figura 18

Figura 18 – Tela principal do projeto em C#.

Microsoft Innovation Center Desenvolvimento em .Net

27

Microsoft Innovation Center Desenvolvimento em .Net 27 Figura 19 – Tela principal do projeto em Visual

Figura 19 – Tela principal do projeto em Visual Basic .Net.

4. Primeiramente vamos declarar as variáveis que serão utilizadas. Usaremos uma variável do tipo Int em C# e Integer em Visual Basic . Net, que será nossa variável- chave. Ela irá se chamar “resp”. E vamos declarar duas Strings chamadas “login” e “senha”, que armazenarão respectivamente o login e a senha que o usuário digitar. Vamos declarar também quatro variáveis String, chamadas “admin” e “senhaAdmin”, “usuário” e “senhaUsuario”, que serão inicializadas contento o login e senha corretos do Administrador e do Usuário.

static void Main(string[] args)

{

int resp;

string login;

string senha;

string admin = "Professor"; string senhaAdmin = "admin";

string usuario = "Aluno"; string senhaUsuario = "123";

Figura 20 – Variáveis que serão utilizadas em C#.

Module Module1

Sub Main() Dim resp As Integer

Dim login As String Dim senha As String

Dim admin As String = "Professor" Dim senhaAdmin As String = "admin"

Dim usuario As String = "Aluno" Dim senhaUsuario As String = "123"

Figura 21 – Variaveis que serão utilizadas em Visual Basic .Net.

Microsoft Innovation Center Desenvolvimento em .Net

28

5. Vamos criar um menu simples onde o usuário poderá escolher logar como Administrador ou Usuário, ou se desejar, sair do aplicativo.Então vamos capturar o que o usuário digitar e armazenar na variável-chave.Lembrando que o comanado “Console.ReadLine()” em C#, só captura valores String, temos que converter o valor capturado pra Int para que seja armazenado na nossa variável, como mostra

à Figura 20.

Console.WriteLine("- - - - - - - - - -");

|");

Console.WriteLine("|2- Logon Usuario |");

Console.WriteLine("|1- Logon Admin

|");

Console.WriteLine("- - - - - - - - - -");

Console.WriteLine("|3- Sair

resp = Convert.ToInt32(Console.ReadLine());

Figura 22 – Estrutura do menu em C#.

Console.WriteLine("- - - - - - - - - -")

Console.WriteLine("|1- Logon Admin

Console.WriteLine("|2- Logon Usuario |")

|")

Console.WriteLine("- - - - - - - - - -")

Console.WriteLine("|3- Sair

|")

resp = Console.ReadLine()

Figura 23 – Estrutura do menu em Visual Basic .Net.

6. Como cada uma das opções dadas ao usuário deve realizar tarefas diferentes, iremos utilizar a estrutura de Decisão “Escolha” para implementar cada opção. Como a variável “resp” guarda o valor da opção que o usuário escolheu, ela será nossa variável-chave no “Escolha”. Então caso o usuário escolha a opção 1, será pedido que ele digite o login do Administrador e a senha. Utilizando uma estrutura

“Se”, vamos verificar se o login e a senha digitados são iguais as variáveis “admin

e “senhaAdmin”. Caso sejam iguais, mostraremos a mensagem de confirmação do login, caso não sejam iguais mostramos uma mensagem de login ou senha inválida.

switch (resp)

{

case 1:

Console.WriteLine("Digita o login de Administrador:"); login = Console.ReadLine(); Console.WriteLine("Digite a senha:"); senha = Console.ReadLine();

if ((login == admin) && (senha == senhaAdmin))

{

 

Console.WriteLine("Login Efetuado com Sucesso!");

}

else

{

 

Console.WriteLine("Login ou Senha Incorretos");

}

break;

Figura 24 – Estrutura do caso 1 em C#.

Microsoft Innovation Center Desenvolvimento em .Net

29

Select Case resp Case 1 Console.WriteLine("Digite o login de Administrador:") login = Console.ReadLine() Console.WriteLine("Digite a Senha:") senha = Console.ReadLine()

If login = admin AndAlso senha = senhaAdmin Then

Console.WriteLine("Login Efetuado com Sucesso!")

Else Console.WriteLine("Login ou Senha Incorretos!") End If

Figura 25 – Estrutura do caso 1 em Visual Basic .Net.

7. Caso o usuário escolha a opção 2, crie uma estrutura semelhante a que criamos anteriormente, apenas substituía a variável “admin” por “usuário” e “senhaAdmin” por “senhaUsuario”. O código deverá ficar semelhante à Figura 24 em C# e 25 em Visual Basic .Net.

case 2:

 

Console.WriteLine("Digite o login de Usuário:"); login = Console.ReadLine(); Console.WriteLine("Digite a senha:"); senha = Console.ReadLine();

if ((login == usuario) && (senha == senhaUsuario))

{

Console.WriteLine("Login Efetuado com Sucesso!");

}

else

{

Console.WriteLine("Login ou Senha Incorretos");

Console.Clear();

}

break;

 

Figura 26 – Estrutura do caso 2 em C#.

Case 2

 

Console.WriteLine("Digite o login de Usuario:") login = Console.ReadLine() Console.WriteLine("Digite a Senha:") senha = Console.ReadLine()

If login = usuario AndAlso senha = senhaUsuario Then

Console.WriteLine("Login Efetuado com Sucesso!")

Else

Console.WriteLine("Login ou Senha Incorretos!") End If

Figura 27 – Estrutura do caso 2 em Visual Basic .Net.

Microsoft Innovation Center Desenvolvimento em .Net

30

8. No caso da opção 3, como é apenas para finalizar o programa, mostraremos uma mensagem dizendo que o programa será finalizado. E também criaremos a opção Default, para caso o usuário não digite nenhuma das três opções mostradas na tela, apareça à mensagem de opção invalida.

case 3:

Console.WriteLine("Fechando o Aplicativo!");

break;

default:

Console.WriteLine("Opção Invalida!");

break;

Figura 28 – Caso 3 e o fechamento das estruturas em C#.

Case 3

Console.WriteLine("Fechando o Aplicativo!")

Case Else

Console.WriteLine("Opção Invalida!") End Select

Figura 29 = Caso 3 e o fechamento das estruturas em Visual Basic .Net.

9. Agora salve o seu projeto, execute-o e veja o resultado.

Laboratórios extras

Microsoft Innovation Center Desenvolvimento em .Net

31

1)

Trabalhando com operadores.

Crie uma aplicação do tipo Console Applicattion que receba do usuário o seu peso e a sua altura, e realize o calculo do IMC (Índice de Massa Corporal) do usuário. Lembrando que a formula para calcular o IMC é “IMC = Peso/Altura²“.

2)

Utilizando Estruturas de Decisão.

Crie uma aplicação semelhante à anterior, mas agora introduza a tabela abaixo ao aplicativo:

 

IMC

CLASSIFICAÇÃO

< 19,99

Magreza

20

– 24,99

Normal

25

– 29,99

Excesso de Peso

30 – 35

Obesidade

> 35

Grande Obesidade

Após o cálculo do IMC, utilize uma estrutura de decisão para que, dependendo do valor calculado, verifique em que classificação o usuário se encontra, e mostre a classificação na tela.

Capítulo II – Estruturas de repetição

Tópicos abordados:

Microsoft Innovation Center Desenvolvimento em .Net

32

Importância da utilização de estruturas de repetição;

Estrutura Repita;

Laboratório 1 - Repita

Estrutura Para;

Laboratório 2 - Para;

Estrutura Enquanto;

Laboratório 3 – Enquanto;

As estruturas de repetição ou iteração são de crucial importância para a programação. Elas possibilitam executar um mesmo trecho de código várias vezes seguidas, enquanto um dado critério não é satisfeito.

Qualquer estrutura de repetição funciona com uma variável que chamamos de sentinela (conhecida também como “contador”). Essa variável irá ditar quando o programa deverá sair da repetição e geralmente tem três características:

I. Qual valor essa variável irá iniciar.

II. Como esta variável terá seu valor alterado para que chegue ao valor final.

III. Qual valor essa variável deve atingir para que a repetição pare.

A variável de controle ou sentinela sempre deverá ter essas características ou poderá ocorrer um erro que chamamos de loop infinito. Isso ocorre por causa do erro de lógica, no qual a variável sentinela nunca chega ao seu resultado final.

Estrutura Repita

Esta estrutura executa um grupo de instruções até que certa condição seja verdadeira. Este tipo de loop é valioso porque você pode não saber de antemão quantas vezes deverá ser repetido. Por exemplo, talvez você queira que o usuário repita um processo de cadastramento de funcionários até que ele responda “Não” para a pergunta “Deseja cadastrar outro funcionário?”. Nesse caso, você pode utilizar a estrutura de repetição Repita que se repetirá indefinidamente até que a string de texto “Não” seja inserida.

- Sintaxe C# Do {

bloco de instruções a ser executado

} While(condição);

Microsoft Innovation Center Desenvolvimento em .Net

33

Em C# utilizamos a palavra-chave Do então entre chaves ( { } ), inserimos o trecho de código à ser repetido. Após a chave ( } ) que fecha o bloco de código, inserimos a palavra-chave While com a condição que desejamos satisfazer para interromper a repetição entre parênteses.

A estrutura Repita em Visual Basic .Net é representada nas linguagens de programação

dessa maneira pelas palavras Do

While:

- Sintaxe Visual Basic .Net Do

bloco de instruções a ser executado Loop While condição

No caso do Visual Basic .Net utilizamos a palavra chave Do, então em seguida é inserido o trecho de código a ser executado repetidamente. Após o trecho de código, inserimos as palavras-chave Loop While e a condição que queremos satisfazer para que a repetição seja interrompida.

Laboratório 1 – Repita

Microsoft Innovation Center Desenvolvimento em .Net

34

Neste Laboratório iremos utilizar a estrutura Repita para calcular a média de vários alunos. Como o numero de alunos não será definido, utilizaremos a estrutura repita para calcular as médias quantas vezes forem necessárias.

Exercício:

1. Para criar um novo projeto, no menu do Visual Studio selecione File\New Project

2. Aparecerá a tela abaixo, onde você poderá escolher a linguagem e versão do .NET Framework. Crie um projeto Console Application chamado LoopRepita como mostra a Figura 1.

Application chamado LoopRepita como mostra a Figura 1. Figura 1 – Criando um novo projeto. 3.

Figura 1 – Criando um novo projeto.

3. Agora vamos declarar as variáveis que serão utilizadas para realizar os cálculos e apresentar os resultados. Declare quatro variáveis do tipo Double com os nomes:

nota1, nota2, nota3 e media. E por fim declare uma variável do tipo String chamada resp, está será nossa variável sentinela (ou variável de controle). O código deverá ficar semelhante à Figura 2 em C# ou 3 em Visual Basic .Net.

static void Main(string[] args)

{

double nota1;

double nota2;

double nota3;

double media;

string resp;

Figura 2 – Declaração das variáveis em C#.

Microsoft Innovation Center Desenvolvimento em .Net

35

Sub Main() Dim nota1 As Double Dim nota2 As Double Dim nota3 As Double Dim media As Double

Dim resp As String

Figura 3 – Declaração das variáveis em Visual Basic .Net.

4. Criaremos agora o bloco de código que será repetido caso o usuário necessite. Com o comando “Console.WriteLine()” mostraremos na tela o pedido para o usuário digitar a nota (Lembrando que números decimais devem ser digitados utilizando vírgula ex: 5,5). E com o comando “Console.ReadLine()” atribuiremos à variável o valor que o usuário digitou. Como em C# o comando “Console.ReadLine()” só captura string, teremos que utilizar o comando de conversão “Convert.ToDouble()” para converter o que o usuário digitar na tela para o tipo Double. Por fim atribuiremos à variável media o valor da soma das três notas divido por três e mostraremos uma mensagem na tela com o valor da media. O código deverá ficar semelhante à Figura 4 em C# ou 5 em Visual Basic .Net.

Console.WriteLine("Digite a primeira nota"); nota1 = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Digite a segunda nota"); nota2 = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Digite a terceira nota"); nota3 = Convert.ToDouble(Console.ReadLine());

media = (nota1 + nota2 + nota3) / 3; Console.WriteLine("Sua média é: " + media);

Figura 4 – Visualização e captura de texto em C#.

Console.WriteLine("Digite a primeira nota") nota1 = Console.ReadLine()

Console.WriteLine("Digite a segunda nota") nota2 = Console.ReadLine()

Console.WriteLine("Digite a terceira nota") nota3 = Console.ReadLine()

media = (nota1 + nota2 + nota3) / 3 Console.WriteLine("Sua média é: " & media)

Figura 5 – Visualização e captura de texto em Visual Basic .Net.

Microsoft Innovation Center Desenvolvimento em .Net

36

desejar. Iremos mostrar na tela a pergunta “Deseja realizar outro calculo de média?”, e com a resposta dada pelo usuário alimentaremos a variável resp, então colocaremos como condição para interromper a repetição que a variável resp seja igual à string Sim”. O código deverá estar semelhante à Figura 6 em C# ou 7 em Visual Basic .Net.

do

{

Console.WriteLine("Digite a primeira nota"); nota1 = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Digite a segunda nota"); nota2 = Convert.ToDouble(Console.ReadLine());

Console.WriteLine("Digite a terceira nota"); nota3 = Convert.ToDouble(Console.ReadLine());

media = (nota1 + nota2 + nota3) / 3; Console.WriteLine("Sua média é: " + media);

Console.WriteLine("Deseja realizar outro calculo de media?"); resp = Console.ReadLine(); }while(resp == "sim");

Figura 6 – Estrutura de repetição em C#.

Do

Console.WriteLine("Digite a primeira nota") nota1 = Console.ReadLine()

Console.WriteLine("Digite a segunda nota") nota2 = Console.ReadLine()

Console.WriteLine("Digite a terceira nota") nota3 = Console.ReadLine()

media = (nota1 + nota2 + nota3) / 3 Console.WriteLine("Sua média é: " & media)

Console.WriteLine("Deseja realizar outro calculo de média?") resp = Console.ReadLine()

Loop While resp = "sim"

Figura 7 – Estrutura de repetição em Visual Basic .Net

6. Agora salve o seu projeto e execute-o apertando Ctrl + F5 para realizar os testes.

Estrutura Para

Microsoft Innovation Center Desenvolvimento em .Net

37

Esta estrutura executa um grupo específico de instruções em uma quantidade pré- determinada de vezes. A estrutura Para testa uma condição para executar um bloco de código

e, até que essa condição seja verdadeira, este trecho de código será executado. Para usar esta

estrutura é necessário declarar sua inicialização, a condição e o incremento. Representada na linguagem de programação pela palavra-chave “For”, desta maneira:

- Sintaxe C#:

For(variável = valor inical;condição;incremento)

{

bloco de instruções a ser executado

}

No caso do C#, utilizamos a palavra-chave For e atribuímos à variável de controle o valor que desejamos que ela iniciasse na repetição. Então separando por ponto e vírgula ( ; ) colocamos a condição para interromper a repetição e novamente separando com ponto e vírgula inserimos o incremento(ex: “variável++”, será sempre incrementado +1 no valor da variável). Agora entre as chaves ( { } ) inserimos o trecho de código que será repetido.

-

Sintaxe Visual Basic .Net:

 

Ex:. 1

For variável = valor inicial To valor final bloco de instruções a ser executado

Next variável

Ex:.2

For variável = valor inicial To valor final Step incremento bloco de instruções a ser executado

Next variável

No Visual Basic .Net utilizamos a palavra-chave For e atribuímos à variável de controle

o

valor que desejamos que ela iniciasse na repetição. Então utilizamos a palavra-chave To e

após ela colocamos o valor que desejamos que a variável de controle ao chegar, encerre a repetição. Inserimos o bloco de código a ser repetido e por fim, utiliza-se a palavra Next e após ela, a variável que será incrementada. No caso do exemplo dois é colocada a palavra-chave

Step, sendo esta responsável por definir o valor que será incrementado. Quando esta palavra- chave não é utilizada o valor padrão do incremento é igual a um (1).

Laboratório 2 – Para

Microsoft Innovation Center Desenvolvimento em .Net

38

Neste Laboratório iremos adicionar elementos a um ComboBox utilizando a estrutura de repetição Para.

Exercício:

1. Vamos criar um novo projeto, no menu do Visual Studio selecione File\New Project 2.
1.
Vamos criar um novo projeto, no menu do Visual Studio selecione File\New Project
2.
Aparecerá a tela abaixo, onde você poderá escolher a linguagem e versão do .NET
Framework. Crie um projeto Windows Forms Application chamado LoopFor como
mostra a Figura 8.
Figura 8 – Criando um novo projeto.
3.
Agora utilizando a Toolbox,daremos um clique no controlador Button e vamos arrastá-
lo ate o topo do Form que está presente na tela. Faremos o mesmo com a ComboBox e
com uma Label. O Form deverá ficar semelhante à Figura 9.
o mesmo com a ComboBox e com uma Label. O Form deverá ficar semelhante à Figura

Figura 9 – Organização do Form.

Microsoft Innovation Center Desenvolvimento em .Net

39

4. Agora dando apenas um clique sobre o controle button1, podemos acessar suas propriedades. Então mudaremos a propriedade Text do Button para “Carregar”, como mostra a Figura 10.

do Button para “ Carregar ”, como mostra a Figura 10. Figura 10 – Propriedades do

Figura 10 – Propriedades do controlador Button.

5. Clique duas vezes sobre o botão Carregar, e então será aberta a tela com o código do arquivo Form1.cs no método button1_Click, onde iremos inserir os eventos que ocorrerão após um clique sobre o botão. Dentro deste método, primeiramente vamos declarar uma variável do tipo Int em C# ou Integer em Visual Basic .Net, chamada “i”. O código deve estar semelhante à Figura 11 em C# ou 12 em Visual Basic .Net.

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;

namespace LoopFor

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

int i;

Figura 11 – Chamada do evento button1_Click em C#.

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim i As Integer

Figura 12 – Chamada do evento button1_click em Visual Basic .Net.

Microsoft Innovation Center Desenvolvimento em .Net

40

6. Agora criaremos a estrutura For usando como variável de controle a variável que acabamos de declarar. Então colocaremos dentro do For o comando “comboxBox1.Items.Add(“Linha ” + i)” em C#, em Visual Basic .Net apenas substituímos o “+” por “&”, para adicionar a ComboBox um número de linhas i, conforme especificado na estrutura do nosso For (este caso iremos inserir 10 linhas). O próximo passo é mudar a propriedade “Text” da Label para “Itens Inseridos” quando o For inserir as linhas ao ComboBox. O código deve ficar semelhante à Figura 13 em C# e 14 em Visual Basic .Net.

private void button1_Click(object sender, EventArgs e)

{

int i;

for (i = 1; i <= 10; i++)

{

comboBox1.Items.Add("Linha " + i); label1.Text = "Itens Inseridos";

}

}

Figura 13 – Estrutura do For em C#.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim i As Integer

For i = 1 To 10

ComboBox1.Items.Add("Linha " & i) Label1.Text = "Itens Inseridos"

Next

End Sub

Figura 14 – Estrutura do For em Visual Basic .Net.

7. Agora salve o seu projeto e execute-o apertando Ctrl + F5. Note que a ComboBox está vazia, então realize o teste.

Estrutura Enquanto

Microsoft Innovation Center Desenvolvimento em .Net

41

A estrutura Enquanto geralmente é utilizada quando o número de repetições é desconhecido. Nesta estrutura é efetuado um teste antes de se entrar no bloco de repetição e a continuidade da execução deste código é verificada pelo mesmo teste. A diferença básica da estrutura Enquanto para as demais estruturas é a existência do teste antes de entrar no bloco de repetição. Enquanto as outras estruturas realizam o teste no final do bloco, garantindo assim que o trecho de código seja executado ao menos uma vez. Na estrutura Enquanto o teste ocorre no começo, e caso seja False o trecho de código existente dentro do Enquanto não é executado nenhuma vez e o programa salta para a primeira linha após o termino da estrutura.

A estrutura Enquanto é representada nas linguagens de programação desta maneira:

- Sintaxe C#:

while(condição)

{

bloco de instruções a ser executado

}

No C# utilizamos a palavra-chave While e entre parênteses “ ( ) ” a condição que deve ser saciada para que o trecho de código entre as chaves ( { } ), que significam a abertura e fechamento da estrutura, seja executado.

- Sintaxe Visual Basic .Net:

Do While Condição bloco de instruções a ser executado

Loop

No Visual Basic .Net utilizamos as palavras-chave Do e While,em seguida a condição que deverá ser True para que o bloco de instruções seja executado. E fechando a estrutura utiliza-se a palavra Loop.

Laboratório 3 – Enquanto

Microsoft Innovation Center Desenvolvimento em .Net

42

Neste laboratório iremos simular um controle de login utilizando a estrutura Enquanto.

Exercício:

1. Vamos criar um novo projeto, no menu do Visual Studio selecione File\New Project

2. Aparecerá a tela abaixo, onde você poderá escolher a linguagem e versão do .NET Framework. Crie um projeto Console Application chamado LoopWhile como mostra a Figura 15.

Application chamado LoopWhile como mostra a Figura 15. Figura 15 – Criando novo projeto. 3. Primeiramente,

Figura 15 – Criando novo projeto.

3. Primeiramente, iremos declarar as variáveis do tipo String que utilizaremos para armazenar o login e a senha, que serão digitados pelo usuário.

4. Em seguida, utilizaremos os comandos “Console.WriteLine()” para mostrar na tela uma mensagem para o usuário digitar o login e a senha, e “Console.ReadLine()” para capturar o que o usuário digitar. O código deverá ficar semelhante à Figura 16 em C# e 17 em Visual Basic .Net.

using System; using System.Collections.Generic; using System.Linq; using System.Text;

namespace LoopWhile

{

class Program

{

static void Main(string[] args)

{

string login;

string senha;

Console.WriteLine("Digita seu Login: "); login = Console.ReadLine();

Console.WriteLine("Digita sua senha: "); senha = Console.ReadLine();

Figura 16 – Mensagem e captura de texto em C#.

Microsoft Innovation Center Desenvolvimento em .Net

43

Sub Main()

Dim login As String Dim senha As String

Console.WriteLine("Digite o seu Login: ") login = Console.ReadLine()

Console.WriteLine("Digite a sua senha: ") senha = Console.ReadLine()

Figura 17 – Mensagem e captura de texto em Visual Basic .Net.

5. Agora criaremos a estrutura Enquanto para gerenciar o que o usuário digitar. Caso ele digite o login e senha corretos, mostraremos na tela a mensagem: “Login Realizado com Sucesso!” e, caso contrario, mostraremos a mensagem: “Login ou Senha inválidos” e também será pedido que o usuário digite novamente as informações. Lembrando que o login e senha corretos serão definidos pelo programador na estrutura do seu Enquanto.

6. Nosso Enquanto ficará com as seguintes condições:

while ((login != "aluno") || (senha != "123"))

{

}

Figura 18 – Condições em C#.

Do While ((login <> "aluno") OrElse (senha <> "123"))

Loop

Figura 19 – Condições em Visual Basic .Net.

O operador “ ! = “ em C# e “<>” em Visual Basic .Net, significac diferente e o operador

lógico “ || “ significa ou, quer dizer, enquanto login for diferente de “aluno” ou senha for diferente de “123”, o trecho de código dentro do enquanto vai se repetir. Isso garante que enquanto o usuário não digitar o login e senha corretos (ou seja, “aluno

e “123”), não conseguirá prosseguir no aplicativo.

7. Agora dentro do Enquanto utilizando os comandos “Console.WriteLine()” e “Console.ReadLine()”, iremos mostrar a mensagem “Login ou Senha inválidos” e pedir para o usuário digitar novamente. Após a chave ( } ) de fechamento do Enquanto,

utilizando o “Console.WriteLine()” mostraremos a mensagem “Login Realizado com Sucesso” caso o usuário digite o login e senha corretos e a repetição seja interrompida.

O trecho de código deve ficar semelhante à Figura 20 em C# e 21 em Visual Basic .Net.

Microsoft Innovation Center Desenvolvimento em .Net

44

static void Main(string[] args)

{

string login;

string senha;

Console.WriteLine("Digita seu Login: "); login = Console.ReadLine();

Console.WriteLine("Digita sua senha: "); senha = Console.ReadLine();

while ((login != "aluno") || (senha != "123"))

{

 

Console.WriteLine("Login ou Senha invalidos ");

Console.WriteLine("Digita seu Login: "); login = Console.ReadLine();

Console.WriteLine("Digita sua senha: "); senha = Console.ReadLine();

}

Console.WriteLine("Login Realizado com Sucesso!");

}

Figura 20 – Estrutura do Enquanto em C#.

Sub Main()

Dim login As String Dim senha As String

Console.WriteLine("Digite o seu Login: ") login = Console.ReadLine()

Console.WriteLine("Digite a sua senha: ") senha = Console.ReadLine()

Do While ((login <> "aluno") OrElse (senha <> "123"))

Console.WriteLine("Login ou Senha inválidos")

Console.WriteLine("Digite o seu Login: ") login = Console.ReadLine()

Console.WriteLine("Digite a sua senha: ") senha = Console.ReadLine()

Loop

Console.WriteLine("Login Realizado com Sucesso!")

End Sub

Figura 21 – Estrutura do Enquanto em Visual Basic .Net.

8. Agora salve o seu projeto, execute-o apertando as teclas Ctrl + F5 e faça os testes.

Laboratórios extras

Microsoft Innovation Center Desenvolvimento em .Net

45

1)

Soma de números utilizando estruturas de repetição.

Crie um Console Application, que capture um número digitado pelo usuário, então some todos os números inteiros entre 1 e o número que foi digitado e mostre o resultado desta soma na tela.

2)

Divisão encadeada.

Crie um Console Application, que capture um número digitado pelo usuário e divida-o por dois (sucessivamente) até que o resultado seja menor que 1. E mostre o resultado da ultima divisão efetuada.

3)

Verificando intervalo de dados.

Crie um Console Application, que capture uma quantidade desconhecida de números digitados pelo usuário e conte quantos deles estão nos seguintes intervalos: [0,25], [26,50], [51,75], [76,100]. A entrada de dados deve terminar quando for lido um número negativo.

4)

Somando intervalo de dados .

Crie um Console Application. Capture um valor N inteiro positivo digitado pelo usuário,

então realize a seguinte soma: “S = 1 + 1/2 + 1/3 + 1/4 + mostrar cada termo gerado e o valor final de S.

+ 1/N” . O aplicativo deve

Capítulo III – Vetores

Tópicos abordados:

Microsoft Innovation Center Desenvolvimento em .Net

46

Conhecendo e utilizando vetores;

Vetores unidimensionais;

Vetores multidimensionais;

Aplicações específicas para vetores;

Laboratórios - Desenvolvendo soluções com vetores.

Todo desenvolvedor chega a um momento onde suas aplicações começam a crescer e juntamente a necessidade de armazenar uma grande quantidade de dados. Existem varias soluções para suprir esse problema, porém, cabe a nós desenvolvedores, saber qual maneira utilizar em cada situação.

Como visto anteriormente, podemos armazenar valores dentro de variáveis, e esse

valor deve corresponder ao tipo de variável declarada. Mas agora se imagine na situação de armazenar cinco valores inteiros, criar cinco variáveis para cuidar disso não é uma tarefa difícil

e nem trabalhosa, mas e quando nosso programa deve atingir um escala maior, em vez de

cinco, precisamos guardar cinqüenta, claro que podemos criar cinqüenta variáveis para armazenar nossos valores, contudo isso vai deixar nosso programa com o código sujo, vai ser

mais trabalhoso, e dependendo a forma de preencher essas variais, vai ser mais complexo também.

Para solucionar isso temos duas maneiras, armazenar em um banco de dados, contudo

isso é algo mais complexo ainda e se nosso objetivo for variáveis temporárias, ou seja, que não necessariamente precisão ficar armazenadas em uma base de dados, por isso devemos utilizar

a nossa segunda opção, o que chamamos de vetores (ou conhecido também como array).

Vetores possibilitam armazenar grandes conjuntos de dados, de um determinado tipo de valor, o que para nós desenvolvedores, economiza tempo e trabalho. No decorrer desse capítulo você vai entender melhor como utilizar os vetores, e aprender seu contexto dentro de

aplicações.

Características dos vetores

Uma definição bem simples de vetores é dizer que são um tipo de variável, que possui

a capacidade de armazenar um determinado tipo de valor em uma determinada quantidade

de vezes. Indiferente da linguagem de programação que vamos utilizar, vetores possuem as

mesmas características, porém, sintaxes diferentes.

Microsoft Innovation Center Desenvolvimento em .Net

47

Abaixo temos as principais características que compõem um vetor:

I. Podem armazenar um número definido de valores. Esse número deve ser informado pelo desenvolvedor na declaração de cada vetor;

II. Na sua declaração devemos informar qual o tipo de valor que será armazenado;

III. Vetores podem armazenar qualquer tipo de dado, até mesmo vetores, ou seja, um vetor que armazena vetor;

IV. Vetores podem ser tanto globais como locais;

V. Podem funcionar como forma temporária de armazenar grande quantidade de dados.

Não

podemos

esquecer

que

os

valores

armazenados

dentro

dos

vetores

são

temporários assim como qualquer outro tipo de variável.

Vetores unidimensionais

Esse é o tipo de vetor que podemos chamar como “simples”, possui apenas uma dimensão, o que pode ser representado quando imaginamos uma “fila” de dados, ou seja, vetores com apenas uma dimensão armazenam seu dados em forma de fila, e como uma fila, cada valor tem sua posição.

Observe o exemplo abaixo, ele representa a forma como devemos imaginar um vetor, no caso é um vetor unidimensional, que pode guardar sete elementos, os quais estabelecidos como do tipo inteiro.

Exemplo – Vetor de valores inteiros:

22

17

14

5

6

8

9

0

1

2

3

4

5

6

Os valores embaixo do vetor representam seu índice.

Tanto na linguagem C# como em Visual Basic .Net, o índice de cada vetor começa no valor zero, sendo assim, seu segundo valor tem o índice de número um e assim sucessivamente. Algo que não podemos confundir é que um vetor de sete elementos tem seu índice de zero a seis e não de zero a sete (nesse caso estaria errado, pois o vetor teria então oito posições).

Cada índice é respectivo para cada elemento, podemos imaginar que cada elemento é uma variável que foi declarada, mas no caso, de uma forma bem mais simples e rápida. Utilizando o índice podemos acessar cada elemento, e assim fazer o que for necessário, atribuir um valor, aplicar algum cálculo, ou mesmo esvaziá-lo. Para executar estas ações existe um conjunto de métodos que serão abordados mais adiante.

Vamos

linguagem.

agora

analisar

como

fica

a

sintaxe

Microsoft Innovation Center Desenvolvimento em .Net

responsável

pelos

vetores

em

cada

48

Por padrão vetores devem sempre conter quatro especificações na sua sintaxe:

I. Nome do vetor – assim como outro tipo de variável, precisamos de um nome para trabalhar com o vetor dentro da nossa aplicação;

II. Tipo de dados – o tipo de dados que os elementos do vetor armazenaram, lembre-se que se o vetor guarda valores inteiros, não podemos armazenar valores do tipo real sem antes fazer uma conversão, pois poderá acontecer um erro no programa;

III. Número de elementos – a quantidade máxima que o vetor dará suporte;

IV. Número de dimensões - a maioria é unidimensional ou bidimensional, mas é possível fazer vetores mais complexos com mais dimensões.

- Sintaxe de declaração em Visual Basic .Net:

Dim NomeDoVetor ( Index ) As TipoDado

Dim meuVetor (7) As Integer

Acima podemos conferir a sintaxe de declaração de um vetor na linguagem Visual Basic .Net. Vamos entender cada passo de sua declaração. Após o uso da palavra-chave Dim, colocamos no espaço NomeDoVetor o nome que usaremos para reconhecer nosso vetor dentro da aplicação (no caso ficou como meuVetor), logo em seguida entre parênteses colocamos o seu tamanho onde está escrito Index (estabelecido como sete no exemplo), por final, logo após a palavra-chave As colocamos em TipoDado qual o tipo de dados que nosso vetor armazenará (utilizamos o tipo Integer). Dessa maneira podemos declarar vetores em nossas aplicações, deixando prontos para serem utilizados.

- Sintaxe de declaração em C#:

TipoDado[] NomeDoVetor= new TipoDado[ Index ];

int[] meuVetor = new int[7];

A sintaxe de declaração em C# é um pouco diferente, mas não é nada complicado. Primeiramente informamos qual será o tipo de dado armazenado (utilizamos o tipo int), o tipo de dados vem acompanhado “[]” isso permite dizer que a variável que estamos criando será um vetor, logo após damos o nome para o nosso vetor, para que seja reconhecido em nossa aplicação (no caso meuVetor), essa primeira parte nos permite criar o vetor, porém, apenas a segunda parte permite concretizar sua implementação, digitando as palavras-chave “= new” e completando novamente com o tipo de dado e seu tamanho entre os colchetes no lugar da

Microsoft Innovation Center Desenvolvimento em .Net

49

palavra-chave Index (como mostrado no exemplo, o valor sete). Feito isso temos nosso vetor declarado e pronto para ser utilizado em nossa aplicação C#.

Note que em ambos os exemplos, os vetores eram declarados para armazenar sete elementos. Porém, não se esqueça que ali especificamos seu tamanho, mas seus índices ainda serão de zero a seis.

- Sintaxe de acesso C#:

meuVetor[2] = 22; meuVetor[5] = 17 + 14; Console.WriteLine ( meuVetor[0] ); //imprime na janela console o valor do primeiro elemento meuVetor[7] = 3 * 3 //essa operação gera um erro

- Sintaxe de acesso em Visual Basic .Net:

meuVetor(2) = 22 meuVetor(5) = 17 + 14 Console.WriteLine( meuVetor(0) ) ‘imprime na janela console o valor do primeiro elemento meuVetor(7) = 3 * 3 ‘essa operação gera um erro

Vamos analisar os exemplos de acesso ao vetor. Nas duas linguagens a sintaxe é bem parecida, a diferença que no local de parênteses em Visual Basic .Net para informar o índice utilizamos colchetes em C# e ponto e virgula para finalizar a linha de código.

Com vetores, realizar uma atribuição ou mesmo alterar um elemento, é simples, apenas definimos qual é o elemento que desejamos modificar. O mesmo vale para a impressão de valores na tela, apenas indicamos qual valor apresentar. Dessa mesma maneira, podemos utilizar valores de diferentes elementos e realizar cálculos com eles e também interagir com vetores diferentes.

Olhando o último exemplo de cada linguagem, temos um comentário que indica que acontecerá um erro. Isso não é devido ao tipo de operação que está sendo feita (no caso uma multiplicação), mas sim imaginando que o vetor utilizado é o declarado nos exemplos anteriores, então possui sete elementos, sendo assim não podemos acessar o índice sete, pois este representa o oitavo elemento, o qual nosso vetor chamado meuVetor não possui.

Vetores multidimensionais

Vetores como visto anteriormente, podem ter mais de uma dimensão, o que proporciona relações e construção de estruturas mais complexas para as nossas aplicações. Podem ser definidos também como sendo uma matriz ou comparado como uma tabela. Mesmo tendo a possibilidade de criar vetores com inúmeras dimensões, a forma mais utilizada acaba sendo a utilização de vetores bidimensionais.

Microsoft Innovation Center Desenvolvimento em .Net

50

Geralmente utilizamos vetores multidimensionais quando queremos armazenar dados e queremos por relações entre eles, claro que essa relação é feita imaginariamente por nós, contudo é utilizando essas formas de variáveis que conseguimos tempo e qualidade em nossos serviços. Utilizando como exemplo a necessidade de armazenar em um vetor a temperatura máxima e mínima de cada dia da semana. Para isso precisaríamos de dois vetores com sete elementos, mas pensando em varias dimensões poderíamos criar um vetor bidimensional, imaginando ele como uma tabela, onde possuiria duas linhas e sete colunas. Uma coluna para cada dia da semana, e uma linha para cada tipo de temperatura. Olhando o exemplo abaixo podemos entender melhor essa situação:

Exemplo – Vetor bidimensional

12

22

14

15

17

25

28

22

28

20

25

26

30

31

0

1

2

3

4

5

6

Veja como ficaria fácil acessar as temperaturas de um determinado dia. Por exemplo:

digamos que devemos analisar a temperatura armazenada na Segunda-Feira, sendo assim vamos pegar os valores que estão na segunda coluna. Pensando como uma matriz, esses dois valores seriam (0, 1) e (1, 1), e é praticamente com essa forma de pensamente que realizamos nossas ações dentro das aplicações com vetores multidimensionais.

Vamos conhecer a sintaxe de declaração dos vetores multidimensionais:

- Sintaxe em C#:

TipoDado[][]

NomeDoVetor = new TipoDado[Index1][Index2]

int[ , ] tempDia = new int[2 , 7];

;

- Sintaxe em Visual Basic .Net:

Dim NomeDoVetor ( Index1, Index2,

) As TipoDado

Dim tempDia (2, 7) As Decimal

Repare que a sintaxe de declaração apenas incrementou o que tínhamos com vetores unidimensionais. Independente da linguagem, o que adicionamos são as quantidades de Index, sendo que cada Index adicionado equivale a uma dimensão a mais no nosso vetor.

Lembrando, que assim como unidimensionais, a sua declaração corresponde ao número total de elementos, mas quando vamos acessá-los devemos usar o índice de zero ao seu tamanho menos um.

Os próximos exemplos mostram como realizar acesso a esses dados, leve em conta que suas declarações são as do exemplo anterior.

Microsoft Innovation Center Desenvolvimento em .Net

51

- Sintaxe de acesso em C#:

int diftemp; tempDia[0 , 2] = 27;

diftemp = tempDia[0, 3] - tempDia[1,3];

tempDia[3 , 6] = 21;

- Sintaxe de acesso em Visual Basic .Net:

Dim diftemp As Integer

tempDia(0, 2) = 27

diftemp = tempDia(0, 3) - tempDia(1, 3)

tempDia(3, 6) = 21

Analisando os exemplos, podemos ver que a utilização desse vetor não muda muito do tipo unidimensional, a diferença é que para cada nova dimensão necessitamos especificar seu índice também, o que fica muito parecido quando realizamos cálculos de matrizes.

Aplicações específicas para vetores

Existem algumas particularidades quando trabalhamos com vetores. Conhecê-las pode ajudar muito o desenvolvimento de nossas aplicações. Essas particularidades quando não são iguais são muito parecidas entre as linguagens Visual Basic .Net e C#, graças ao fato de ambas terem como base a utilização da plataforma .Net.

Duas dessas particularidades são propriedades, chamadas Rank e Length. A primeira é utilizada quando precisamos do número de dimensões que o nosso vetor possui, e a segunda se trata do número de elementos. A segunda propriedade, Length é muito utilizada quando trabalhamos com estruturas de repetição que devem percorrer todo o vetor, assim em vez de escrever o número da quantidade de elementos que o vetor possui, escrevemos apenas o nome do vetor, colocamos um ponto e depois a palavra-chave Length.

Mas por que utilizar essa propriedade? Vamos imaginar um exemplo: temos um vetor com vinte e duas posições, esse vetor é percorrido no programa, inúmeras vezes em estruturas de repetição, que analisam cada elemento por vez. Agora imagine que você está pondo o número vinte e dois nos laços de repetição em vez da propriedade Length, se ocorrer uma mudança no tamanho do vetor, você terá que alterar todos os laços de repetição também, para que não aconteça nenhum erro. Mas se você estiver trabalhando com a propriedade Length, nenhum esforço para arrumar os laços de repetição será necessário, já que essa propriedade sempre retorna o valor total de elementos do vetor. Veja abaixo um exemplo de utilização do Length:

Microsoft Innovation Center Desenvolvimento em .Net

52

-

Sintaxe em C#:

int[] vetor = new int[22];

.

.

For (int i = 0; i < vetor.Length; i++)

{

 

// instruções do laço for

}

-

Sintaxe em Visual Basic .Net:

Dim i As Integer

Dim vetor(22) As Integer

.

.

For i to vetor.Length ‘ instruções do laço for

 

Next i

Um detalhe que não podemos esquecer é que o Length retorna o número de elementos do vetor, mas quando for utilizar isso em um laço, o índice do vetor vai de zero até número de elementos menos um.

Outra aplicação que podemos realizar com vetores, é o preenchimento na própria declaração. Assim como os outros tipos de variáveis que podem receber um valor na própria declaração, vetores também podem receber valores durante suas declarações.

Observe o próximo exemplo para entender melhor como realizar isso:

- Sintaxe em C#:

int[] Lista = {15, 17, 22, 8};

- Sintaxe em Visual Basic .Net:

Dim Lista() As Integer = {15, 17, 22, 8}

Esse tipo de aplicação funcionará para qualquer quantidade de dimensões. Perceba que não precisamos identificar qual será o tamanho do vetor, pois, ele considera esse tamanho pelo número de elementos adicionados na declaração. Sendo assim o vetor Lista, declarado no exemplo teria um tamanho de quatro elementos. Dependendo a situação em que nos encontramos, estabelecer os valores inicialmente pode ser de grande ajuda para o

Microsoft Innovation Center Desenvolvimento em .Net

53

nosso desenvolvimento. Vetores possuem muitas outras aplicações próprias, mas conforme suas aplicações forem crescendo, haverá a necessidade de conhecê-las. Por enquanto você já aprendeu as principais.

Laboratório 1 – Vetores unidimensionais e barras de progresso

Neste laboratório, vamos desenvolver uma aplicação que faça uso de um vetor unidimensional, para carregar valores em uma TextBox utilizando também barra de progresso para demonstrar o processo do nosso programa.

- Desenvolvendo a solução:

1. Primeiramente inicie o Visual Studio 2008. Você pode encontrá-lo acessando o menu Iniciar, depois procure em seus programas a pasta Microsoft Visual Studio, então execute-o;

2. Espere o processo de inicialização do programa terminar. Navegue para o menu superior. Em File, escolha a opção New, depois Project, como mostra a Figura 1.

a opção New , depois Project , como mostra a Figura 1. Figura 1 – Caminho

Figura 1 – Caminho para criação de novos projetos.

3. Na nova janela que apareceu, devemos configurar as características do nosso projeto. Dê o nome de vetorProgresso para solução, em Location coloque o local em que deseja salvar o projeto, marque a opção do Framework na mais recente (atualmente 3.5) e, em templates escolha a opção Windows Forms Application, lembrando que o projeto poderá utilizar tanto a linguagem C# como Visual Basic .Net. Confira com a Figura 2 antes de finalizar a criação do novo projeto.

com a Figura 2 antes de finalizar a criação do novo projeto. Figura 2 – Janela

Figura 2 – Janela para criação de novos projetos.

Microsoft Innovation Center Desenvolvimento em .Net

54

4. Feito isso vamos navegar para o design do nosso formulário Form1. Adicione a ele os seguintes controles: uma ListBox, uma TextBox, dois Button, uma Label e uma ProgressBar.

5. Ao selecionar um desses controles depois de inseridos no formulário, é possível acessar as suas propriedades pela janela Properties ou utilizando o atalho F4. Acesse as propriedades de cada controle e modifique de acordo com a tabela abaixo:

Controle

Propriedade (Text)

Propriedade (Name)

Label1

Digite um número para ser calculado:

 

Button1

Calcular

btnCalcular

Button2

Exibir

btnExibir

Button3

Limpar

btnLimpar

TextBox1

 

txtNum

listBox1

 

lstLista

Form1

Vetores

 

6. Agora vamos alterar uma opção mais particular. Selecione o controle lstLista e procure sua propriedade ScrollAlwaysVisible, e mude seu valor para True.

7. Vamos organizar nosso formulário, altere o tamanho dos controles e faça os ajustes necessários para que fique parecido com a Figura 3.

ajustes necessários para que fique parecido com a Figura 3. Figura 3 – Formulário Form1 alterado.

Figura 3 – Formulário Form1 alterado.

8. Feito isso de um duplo clique no botão Calcular, o que fará com que o Visual Studio crie automaticamente o evento click para esse botão. Todo código implementado dentro desse botão será sempre iniciado quando o usuário clicar sobre ele.

Microsoft Innovation Center Desenvolvimento em .Net

55

9. Nosso laboratório tem como objetivo utilizar um vetor, carregá-lo com cálculos do número digitado pelo usuário, e depois exibir dentro da ListBox. Sendo assim vamos precisar utilizar um vetor declarado de maneira global, para que sempre tenhamos acesso. Faça sua declaração como mostra a Figura 4 e 5.

int[] lista = new int[500];

Figura 4 – Implementação do vetor de inteiros chamado lista em C#.

Dim lista(500) As Integer

Figura 5 – Implementação do vetor de inteiros chamado lista em Visual Basci .Net.

10. Agora vamos voltar para o código do nosso botão Calcular. Esse evento será

responsável por receber o número digitado pelo usuário na TextBox e realizar alguns cálculos. Para isso vamos utilizar um laço de repetição e dentro dele fazer a atribuição para cada elemento do vetor. Vamos também programar a nossa barra de progresso para que cada vez que o evento do botão seja iniciado, ela retorne para configurações padrões. Como também o seu incremento dentro do laço. O código em C# para o evento click deverá ficar parecido com a Figura 6, e em Visual Basic .Net como a Figura

7.

lista[0] = Convert.ToInt32(txtNum.Text) * 2; progressBar1.Minimum = 0; progressBar1.Maximum = 500; progressBar1.Value = 0;

for (int i = 1; i < lista.Length; i++)

{

 

lista[i] = lista[i - 1] * Convert.ToInt32(txtNum.Text);

progressBar1.Value++;

}

Figura 6 – Implementando o código do botão Calcular em C#.

lista(0) = Convert.ToInt32(txtNum.Text) * 2 ProgressBar1.Minimum = 0 ProgressBar1.Maximum = 500 ProgressBar1.Value = 0

For i As Integer = 1 To lista.Length lista(i) = lista(i - 1) * Convert.ToInt32(txtNum.Text) ProgressBar1.Value += 1

Next i

Figura 7 – Implementando o código do botão Calcular em Visual Basic .Net.

Microsoft Innovation Center Desenvolvimento em .Net

56

primeiro elemento. Note também os comandos da ProgressBar, o comando Minimum estabelece o valor mínimo para a barra de progresso, o Maximum o valor máximo, e

Value é o valor atual, sendo assim, a propriedade Value deverá ser incrementado para mostrar seu progresso, por isso ele é modificado dentro do laço de repetição. Não vamos esquecer que a caixa de texto retorna sempre uma variável do tipo string, logo temos que usar o comando de conversão para atribuir os valores dentro do vetor que

é inteiro. O último detalhe está dento do laço de repetição, repare que na atribuição

do vetor no índice i, estamos realizando uma multiplicação, é possível fazer cálculos

nos comandos de atribuição, o que permiti realizar instruções específicas na atribuição, como também economizar código.

12. Vamos voltar para o design do nosso formulário Form1. Vamos adicionar o código para

o botão Exibir, o qual é muito parecido com o anterior. Mas antes temos que criar o

evento click desse botão, sendo assim, dê um duplo clique sobre ele, o que fará a adição automática desse evento para o nosso programa.

13. Dentro do evento, vamos precisar colocar novamente os comandos da barra de progresso, assim como foi feito no evento do botão Calcular. Vamos precisar utilizar um laço de repetição novamente, mas agora para carregar nossa ListBox com as informações a serem mostradas. Tudo isso deverá ficar parecido com a Figura 8 na linguagem C# ou como a Figura 9 em Visual Basic .Net.

progressBar1.Minimum = 0; progressBar1.Maximum = 500; progressBar1.Value = 0;

for (int i = 0; i < lista.Length; i++)

{

 

lstLista.Items.Add(lista[i]);

progressBar1.Value++;

}

Figura 8 – Implementando o código do botão Exibir em C#.

ProgressBar1.Minimum = 0 ProgressBar1.Maximum = 500 ProgressBar1.Value = 0

For i As Integer = 1 To lista.Length lstLista.Items.Add(lista(i)) ProgressBar1.Value += 1

Next i

Figura 9 – Implementando o código do botão Exibir em Visual Basic .Net.

14. Falta apenas o evento para o botão Limpar agora. Navegue novamente para o Form1,

e crie o evento desse botão. Adicione o código responsável por esvaziar a nossa ListBox, assim como mostra a Figura 10 e 11.

Microsoft Innovation Center Desenvolvimento em .Net

57

Figura 10 – Código para esvaziar o controle lstLista em C#.

lstLista.Items.Clear()

Figura 11 – Código para esvaziar o controle lstLista em Visual Basic .Net.

15. Com isso nosso programa está pronto para executar. Salve tudo, e execute para realizar os testes. O resultado esperado se parece muito com a Figura 12.

os testes. O resultado esperado se parece muito com a Figura 12. Figura 12 – Resultado

Figura 12 – Resultado esperado com o laboratório.

Laboratório 2 – Vetores multidimensionais

Microsoft Innovation Center Desenvolvimento em .Net

58

Neste laboratório, você fará uso de um vetor multidimensional chamado Temperatura para registrar diariamente as altas e baixas temperaturas durante os sete dias de uma semana. O programa demonstra como utilizar um vetor para armazenar e processar um grupo de valores relacionados em um formulário. A variável do vetor Temperatura é declarada na parte superior do formulário e então as temperaturas são atribuídas ao vetor. Para que a média das temperaturas seja calculada e exibida.

- Desenvolvendo a aplicação:

1. Primeiramente inicie o Visual Studio 2008. Você pode encontrá-lo acessando o menu Iniciar, depois procure em seus programas a pasta Microsoft Visual Studio, então execute-o;

2. Espere o processo de inicialização do programa termina. Navegue para o menu superior. Em File, escolha a opção New, depois Project, como mostra a Figura 13.

a opção New , depois Project , como mostra a Figura 13. Figura 13 – Caminho

Figura 13 – Caminho para criação de novos projetos.

3. Na nova janela que apareceu, devemos configurar as características do nosso projeto. Dê o nome de vetorTemperatura para solução, em Location coloque o local em que deseja salvar o projeto, marque a opção do Framework na mais recente (atualmente 3.5) e, em templates escolha a opção Windows Forms Application, lembrando que você pode desenvolver essa aplicação tanto em C# como em Visual Basic .Net. Confira com a Figura 14 antes de finalizar a criação do novo projeto.

Microsoft Innovation Center Desenvolvimento em .Net

59

Microsoft Innovation Center Desenvolvimento em .Net 59 Figura 14 – Criando um novo projeto. 4. Vamos

Figura 14 – Criando um novo projeto.

4. Vamos fazer as modificações no nosso formulário Form1. Navegue até seu modo design, e adicione os seguintes controles pela Toolbox: quatro Labels, três Buttons