Camiseta Twitter !! Garanta já a sua!

[C#] Parte III – Estruturas de Repetição e Vetores

Categorias: C#, Colunas

20 comente

Olá galera!

Chegamos a mais uma aula-post de C# do Guanabara.INFO, nesse post iremos aprender a sintaxe das estruturas de repetição, ou laços de repetição e também uma pequena introdução à arrays(vetores).

Abram seus Visual C# Express, criem uma ConsoleApplication e mãos a obra.

A primeira estrutura de repetição que iremos estudar é o WHILE.

A sintaxe é moleza!

while(CONDIÇÃO)
{
    //Código
}

Vamos fazer algo mais construtivo!

using System;
namespace Loop{
    class Program{
        static void Main(string[] args){
            int numero = 1;
            while(numero < 15){
                Console.WriteLine("Luiz é um MULA!");
                numero++;
            }
        }
    }
}

Vamos à explicação da bagaça!

ENQUANTO numero FOR MENOR QUE 15
ESCREVALuiz é uma MULA!
numero <- numero +1

Simples não? Vamos agora ao laço FOR

Sintaxe:

for(INICIALIZAÇÃO;CONDIÇÃO;SALTO){
    //Código
}

Novamente, vamos a algo mais construtivo; Uma tabuada:

using System;
namespace Loop{
    class Program{
        static void Main(string[] args){
            int tabuada = 2;
            for(int numero = 1;numero <= 10;numero++){
                Console.WriteLine("{0} + {1} = {2}",tabuada,numero,tabuada*numero);
            }
        }
    }
}

OPA! Aí temos mais novidades! Mas antes, vamos “algoritmizar” a sintaxe do FOR.

PARA numero IGUAL A 1; ENQUANTO numero FOR MENOR OU IGUAL A 10; INCREMENTANDO 1 EM numero FAÇA …

Temos ali no Console.WriteLine, uma novidade. O seguinte código é apresentado:

Console.WriteLine(“{0} + {1} = {2}”,tabuada,numero,tabuada*numero);

Vamos destrinchá-lo:

String passada: “{0} + {1} = {2}”
Variaveis passadas após a string : tabuada,numero,tabuada*numero

É coisa simples! Olhem só!

{0} => Equivale ao primeiro parametro depois da string que será exibida, no nosso caso equivale a variavél tabuada.

{1} => Equivale ao segundo parametro depois da string que será exibida, no nosso caso equivale a variavél numero.

{2} => Equivale ao primeiro parametro depois da string que será exibida, no nosso caso equivale ao resultado da multiplicação entre as variavéis tabuada e numero.

Vetores ou Arrays

Quem já passou pelo Ensino Médio concerteza já ouviu falar de vetores e matrizes. Na programação os vetores são chamados de array.

Segundo a Wikipedia Vetores no contexto da geometria:

Vetor é um objeto geométrico que possui uma magnitude e uma direção. Um vetor é frequentemente representado por um segmento de reta unindo o ponto inicial A ao ponto final B e é denotado

Também a Wikipedia, dessa vez no contexto de programação de computadores:

Um array, também conhecido como vetor ou lista (para arrays uni-dimensionais) ou matriz (para arrays bi-dimensionais), é uma das mais simples estruturas de dados. Os arrays mantêm uma série de elementos de dados, geralmente do mesmo tamanho e tipo de dados. Elementos individuais são acessados por sua posição no array.

Os arrays são estruturas de dados simples, que de uma forma sucinta, podemos dizer que nos permite armazenar mais de uma informação em uma variável. Os elementos de um array são acessados através de um índice, podendo ser um índice númerico(int) ou texto(string).

Geralmente, uma variavel do tipo inteiro só pode receber um número, veja o exemplo:

int Numero = 1;
int Idade = 17;
int ABC = 130;

E se quisermos amazenar 10 números? FACIL! 10 variavéis né?

int Numero1 = 1;
int Numero2 = 2;
int Numero3 = 3;
int Numero4 = 4;
int Numero5 = 5;
int Numero6 = 6;
int Numero7 = 7;
int Numero8 = 8;
int Numero9 = 9;
int Numero10 = 10;

OBS.: ÊTA! Gambiarra!

Não seria mais fácil e legível assim?

int Numeros[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

Pronto! Temos o tal Array em C#:)

Vamos ao código que faz uso efetivo de um array uni-dimensional:

using System;
namespace CSharpArrays{
    public class Program{
        public static void Main(string[] args){
            int Numeros = {1, 2, 3, 4, 5};
            int i = 0;
            for(i = 0;i<=Numeros.Length;i++){
                Console.WriteLine("{0}", Numeros[i]);
            }
        }
    }
}

Dissecando o exemplo:
Vemos alí que declaramos um array de números inteiros chamado Numeros, e colocamos como elementos desse array, os números de 1 a 5.

Logo depois, iniciamos um laço FOR, dizendo que enquanto a variável i for menor que o número total de elementos no array Numeros (O valor total de elementos no vetor é retornado pela propriedade Length), incrementando +1 na variável i a cada loop.

Dentro do laço FOR temos uma saída para o console, indicando Numeros[i].

Entendendo o Numeros[i]

Cada elemento em um array corresponde a um índice, índice esse que pode ser tanto númerico quanto string, mas no nosso exemplo ele será apenas númerico. A cada volta no laço FOR, i terá um valor diferente, sempre maior que 0 e menor ou igual ao total de elementos no vetor, que no nosso exemplo é 5.

No C#, arrays têm índice ZERO, ou seja, o primeiro índice númerico de um array SEMPRE será ZERO, por isso no código de exemplo acima a variável i inicia o loop com o valor 0.

Mais um exemplo, para garantir o aprendizado:

namespace Arrays{
    class Program{
        static void Main(string[] args){
            string[] Nomes = {"Renan", "Gustavo", "Luiz Ricardo", "Rafael", "Rodrigo"};
            for(int i = 0; i <= Nomes.Length; i++){
                Console.WriteLine("{0}",Nomes[i]);
            }
        }
    }
}

Vamos simplificar, AINDA MAIS, esse último exemplo?

namespace Arrays{
    class Program{
        static void Main(string[] args){
            string[] Nomes = {"Renan", "Gustavo", "Luiz Ricardo","Rafael","Rodrigo"};
            foreach(string nome in Nomes){
                Console.WriteLine(nome);
            }
        }
    }
}

Apresento a vocês o laço de repetição chamado foreach , ele é muito usado para trabalhar com arrays, como vemos no exemplo acima.

Vamos “algoritmiza-lo“:

PARA CADA string nome EM Nomes FAÇA …

Assim o foreach percorre cada elemento do array e retornando seus respectivos valores, como string. Lembrando que, se não for um array de string o código acima irá resultar em um erro. O tipo da variável que irá receber os valores dos elementos deverá ser compatível com tipo do array.

Bem mais fácil assim, não? ;)

Na próxima semana Vetores Multi-dimensionais.

Até a próxima, e WELCOME TO THE .NET WORLD.

.:: Links Utéis ::.

Related Posts with Thumbnails
  • Obaaaaa! Mais Estrutulhasssss!! hehehe :lol:

    [Responder]

    agosto 5, 2008 @ 10:55 am
  • Muito bom meninos! Continuem mantendo essa freqüência e cada vez mais leitores estarão acompanhando as aulas^^!

    [Responder]

    agosto 5, 2008 @ 11:41 am
  • Kaleb Costa, 16 anos - Manaus AM

    Mais uma vez parabéns Renan e Luís! Estou muito interessado em estudar C#, nunca tive nenhuma experiência com ela ;D

    Estou acompanhando hein? até a próxima :D

    [Responder]

    agosto 5, 2008 @ 1:44 pm
  • Jaison Alves- 19 anos - Pimenta Bueno-RO

    Estudando essa bagaça
    auhhusauhas
    mãos na massa pq programação não é mais o futuro, é o presente.

    [Responder]

    agosto 5, 2008 @ 1:49 pm
  • Nussa, vcs estão criando monstros srsrsrsr, muito bom que vcs mantenham esses tutoriais, acho que além de ser gratuito o fato de sempre ter algo novo é muito importante, flw

    * pow pessoal, mais “refreshs” na página para poder comentar, deem por favor um sinal de vida sobre isto, ou intão se for erro meu por favor, criem um post falando sobre como solucionar isto, abraços

    [Responder]

    agosto 5, 2008 @ 4:35 pm
  • Mais uma ótima aula Renan!
    Parabens! :lol:

    [Responder]

    agosto 5, 2008 @ 6:20 pm
  • Matheus Flauzino, 19anos, Nepomuceno-MG

    oh! Ainda num tive tempo de estudar as outras não! mais muito bom essa aula vey! parabéns!

    [Responder]

    agosto 5, 2008 @ 7:27 pm
  • abalou as “estrutulhas”

    [Responder]

    agosto 5, 2008 @ 10:06 pm
  • # Renan
    Realmente, a qualidade dessa coluna está SHOW! Merece até um novo banner! ;)

    Parabéns, carinha! Sucesso garantido!

    [Responder]

    agosto 5, 2008 @ 11:57 pm
  • Marcelo Simonsen 30 anos

    muito boa suas explicações
    continue assim
    parabéns

    [Responder]

    agosto 15, 2008 @ 1:32 am
  • Capones

    muito boa as suas aulas…to ansioso para as novas..parabens ai, galera!

    [Responder]

    agosto 27, 2008 @ 1:21 pm
  • Ivan Júnior

    Muito boa as explicações eu comprei até um livrinho aqui pra ajudar kkkk
    mas tipo ensina ai a compilar os arquivos
    e a criar applicações windows
    tipo uma calculadora ja da pra fazer com o conteúdo exposto
    ensina ai a compilar applicações windows tambem
    flw
    mas ta muito massa parabéns

    [Responder]

    agosto 30, 2008 @ 2:41 pm
  • guilherme neves

    luiz e um mula
    uhuUuhuHuUHUH
    NAO E LUIZ e uma mula
    lingua enrolada ate aqui
    kkkkkkkkkkkkk
    muito bom o post
    lol ^^

    [Responder]

    setembro 19, 2008 @ 10:37 pm
  • Com é que é? Acabaram as aulas de C#?

    [Responder]

    outubro 8, 2008 @ 1:14 pm
  • Ed-Sama

    Parabens otimo Post !!
    Continua q está me ajudando Pacas !!
    Que tal fazer eles em Video Aula acho q seria mais Legal ainda !!
    Parabens e continue com Aula Post !!

    [Responder]

    janeiro 6, 2009 @ 3:41 pm
  • Fabiana

    Parabéns, ótimo tutorial!

    [Responder]

    abril 8, 2009 @ 8:19 pm
  • mOah

    Ótima explicação, vou ver se tem mais sobre matriz, parabéns

    [Responder]

    novembro 25, 2009 @ 5:21 pm
  • Bruna

    using System;
    namespace CSharpArrays{
    public class Program{
    public static void Main(string[] args){
    int Numeros[] = {1, 2, 3, 4, 5};
    int i = 0;
    for(i = 0;i<=Numeros.Length;i++){
    Console.WriteLine("{0}", Numeros[i]);
    }
    }
    }
    } nah seria assim o codigo correto?

    muito boa a explicação. abraços bruna

    [Responder]

    março 23, 2010 @ 11:18 pm
  • Gandalf

    Mais claro que isso, impossível.
    Tá de parabéns…
    Flw!!!

    [Responder]

    outubro 19, 2010 @ 12:23 pm
  • @tiago_ferretti - 25 - Rio de Janeiro

    Pq parou??? Parou pq???

    [Responder]

    agosto 18, 2011 @ 12:08 pm

Comentar