Fala galerinha!!! Estamos progredindo bem em nossas aulas!!

Hoje começaremos a aprender uma das mais importantes coisas ligadas aos algoritmos e resolução de problemas. Estou falando dos arranjos, mas vocês nunca devem ter ouvido falar dele com esse nome.

Arranjos

Os Arranjos são também conhecidos de duas outras formas: variáveis compostas homogêneas ou como arrays (nome mais comum).
Os Arranjos correspondem a conjuntos de elementos de um mesmo tipo (em algumas linguagens de programação é possível existir arrays de elementos de tipos variados, como números, caracteres, valores lógicos, etc), representados por um único nome. Eles podem variar quanto a sua dimensão, isto é, a quantidade de índices necessária para a individualização de cada elemento do conjunto. O arranjo unidimensional também é conhecido por vetor, enquanto o arranjo bidimensional é denominado de matriz. Exemplo:

Vetor
CODE
V = | 0 | 1  | 2 | 3 | 4 |

Matriz
CODE
M = | 00 | 01 | 02 | 03 |
     | 10 | 11 | 12 | 13 |
     | 20 | 21 | 22 | 23 |


Hoje abordaremos os vetores. Na próxima aula falaremos das matrizes.

VETOR

Como já foi dito, vetores são arrays unidimensionais. Por esse motivo, o acesso aos valores de um vetor é feito através de somente um índice. Para definirmos um vetor, utilizamos a seguinte sintaxe:
CODE
identificador  : array[indice_inicial..indice_final] de tipo;
onde
             identificador – nome de  identificador válido
             indice_inicial – limite inferior do  intervalo de variação do índice
             indice_final – limite superior do  intervalo de variação do índice
             tipo – tipo primitivo dos elementos  do array

Exemplo: Declarar um vetor de 10 elementos inteiros e outro de 5 elementos caracter.
CODE
nums_inteiros  : array[0..9] de inteiro;
frases :  array[0..4] de caracter;

Dessa maneira, se quisermos inserir valores nos elementos do vetor, faremos assim (reparem que o primeiro elemento tem índice = 0):
CODE
num_inteiros[0]  := 56;
num_inteiros[6] :=  24;
frases[2] := \"Teste  de Vetores\";

a visualização didática:
CODE
num_inteiros  = | 56 |    |    |    |    |    | 24 |    |    |    |
frases        = |    |    | Teste de Vetores |    |    |


Utilização Estruturas de Repetição e Vetores

Primeiro, veremos, através de exemplos, como exibir os elementos de um vetor usando uma estrutura de repetição. Como o número de índices de um vetor é, em princípio, fixo, a estrutura de repetição mais indicada é a condicional.

Vamos ao exemplo:
CODE
INICIO
     nosso_vetor : array[0..9] de  inteiro;
     x : inteiro;
     PARA x DE 0 ATÉ 10 PASSO 1 FAÇA
         MOSTRE nosso_vetor[x];
     IM PARA
FIM

Agora veremos como colocar os elementos dentro do vetor.
CODE
INICIO
     nosso_vetor : array[0..9] de  inteiro;
     x : inteiro;
     PARA x DE 0 ATÉ 10 PASSO 1 FAÇA
         nosso_vetor[x] := x;
     FIM PARA
  FIM


Vamos aos exercícios e veremos se restam dúvidas, beleza?

Exercícios
  1. Quais são os dois tipos de arranjos? Como cada um destes tipos são chamados?
  2. Crie um algoritmo que escreva num vetor de 20 elementos somente números pares, ou seja:
    vetor[0] = 0
    vetor[1] = 2
    vetor[2] = 4
    Utilize Estrutura de Repetição.
  3. Crie um algoritmo que receba a idade de um grupo de 50 pessoas e escreva cada uma dessas idades num índice de um vetor de 50 elementos. Após a entrada dos dados no vetor, crie uma outra estrutura de repetição que leia as idades em cada índice do vetor e calcule e mostre a média das idades.
Desafio
  1. Reescreva o algoritmo do exercício número 3 de forma que não sejam aceitas idades menores do que 0.

Você gostou? Comente no fórum!

Comentários:

shumi disse:

Fala galera blz?
Até semana que vem alinharemos todas as aulas das linguagens que estão faltando
o Fabyo entrou hoje para o Time, e nem preciso falar que é um baita reforço!
o cara é o cara!

Abraços

Thiago Rodrigues disse:

1) Quais são os dois tipos de arranjos? Como cada um destes tipos são chamados?
R: Temos o arranjo unidimensional que também é conhecido por vetor e temos o arranjo bidimensional que também é conhecido como matriz.

2)
CODE
INICIO
    numeros : array[0..19] de inteiro;
    num: inteiro;
    REPITA
        ESCREVA ("Digite um número");
        LEIA(num);
        SE num mod 2 = 0 ENTAO
            numeros[x] := num;
    ATÉ (numeros[19] <> 0)
    FIM REPITA
FIM


3)
CODE
INICIO
    vetor_idade : array(0..49) de inteiro;
    x, total_idade, media : inteiro;
    PARA x DE 0 ATÉ 50 PASSO 1 FAÇA
        ESCREVA ("Digite sua idade");
        LEIA(idade);
        vetor_idade[x] := idade;
    FIM PARA
    PARA x DE 0 ATÉ 50 PASSO 1 FAÇA
        total_idade := (total_idade + vetor_idade[x]);
        media := (total_idade / 50);
    FIM PARA
    ESCREVA ("A média de idade dos entrevistados é", media);
FIM


4)
CODE
INICIO
    vetor_idade : array(0..49) de inteiro;
    x, total_idade, media : inteiro;
    REPITA
        ESCREVA ("Digite sua idade");
        LEIA(idade);
            SE idade >= 0 ENTÃO
                vetor_idade[x] := idade;
            SENÃO
                ESCREVA ("Digite um número maior que 0");
    ATÉ (vetor_idade[50] > 0)
    PARA x DE 0 ATÉ 50 PASSO 1 FAÇA
        total_idade := (total_idade + vetor_idade[x]);
        media := (total_idade / 50);
    FIM PARA
    ESCREVA ("A média de idade dos entrevistados é", media);
FIM


Bom pessoal, como podem ver, tanto no exercicio 2 como no 4 coloquei que para parar de repetir o último número do vetor tem que ser diferente de 0, ou seja, para parar todos os valores do vetor devem já estar preenchidos. Não sei se está é a forma correta.

tmferreira e shumi, estão de parabéns, aula muito boa. Que venha a próxima!
Abraços

shumi disse:

QUOTE(Thiago Rodrigues @ 05/02/2007 - 12:49) [snapback]55156[/snapback]
tmferreira e shumi, estão de parabéns, aula muito boa. Que venha a próxima!

Valeu, mas os créditos são totalmente do tmferreira!!

tmferreira disse:

Obrigado pela força, Thiago!

Vamos às correções:

2. Não é para receber os números pelo usuário. Tem que ser automático.

3. Não é um erro, mas a média deveria ser calculada somente no final do PARA. Da forma que está, dá certo, mas o cálculo será executado 50 vezes. Se colocá-lo fora da estrutura, será executado somente 1 vez, aumentando a performance do seu algoritmo.

4 (desafio). O loop da entrada dos dados nunca acabará, pois não há incremento em x.

Ver o restante dos comentários no fórum (e aproveitar pra comentar também !).

Mais recentes em Outras Linguagens

Desafio
Por grilo - Sera que alguem pode me ajudar a fazer esse desafio...
Não consigo.
Por 2pac - Não consigo ver as aulas da 4 a 9 aula vai direto da...
Tudo sobre manipulação de strings e caracteres
Por fernando777 - Muito completo...
Criando bibliotecas no c
Por fernando777 - Criando bibliotecas no c - - a criação de bibliotecas...
Operador sizeof no c
Por fernando777 - Operador sizeof - - o operador sizeof mostra quanto...

Ver mais Artigos de Outras Linguagens.

Ver e retirar outras dúvidas no fórum Webly.

Alguns Direitos Reservados | RSS | O Fórum

Webly Portal e Fóruns - Internet + Humana | Design by ArthurHenrique.com