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 - Quais são os dois tipos de arranjos? Como cada um destes tipos são chamados?
- 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. - 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- Reescreva o algoritmo do exercício número 3 de forma que não sejam aceitas idades menores do que 0.
Comentários:
shumi disse:
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:
R: Temos o arranjo unidimensional que também é conhecido por vetor e temos o arranjo bidimensional que também é conhecido como matriz.
2)
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)
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)
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:
Valeu, mas os créditos são totalmente do tmferreira!!
tmferreira disse:
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 !).