Aula vetores e matrizes (arrays)

Post on 18-Feb-2017

843 views 2 download

Transcript of Aula vetores e matrizes (arrays)

Vetores e Matrizes (arrays)

A pedido de uma rede de televisão, uma empresa especializada em meteorologia precisa calcular a média da temperatura da cidade de São Paulo nas duas últimas semanas. Vocês foram contratados para fazer um programa que permita ao usuário digitar a temperatura media de cada dia, dos últimos 14 dias, em seguida, apresentar a media de todas as temperaturas digitadas.

ENTRADA CRIAR UMA VARIÁVEL (DO TIPO INTEIRO) PARA RECEBER A TEMPERATURA MÉDIA DE CADA DIA, SENDO 14 DIAS NO TODAL, OU SEJA 14 VARIÁVEIS.

PROCESSAMENTO CALCULAR A MEDIA SOMANDO TODAS AS VARIÁVEIS E DIVIDINDO PELA QUANTIDADE TOTAL DE DIAS:

MEDIADOSDIAS = SOMADOSDIAS / 14

SAÍDA APRESENTAR A MEDIA DA TEMPERATURA DOS 14 DIAS

EXEMPLO ENTRADA SAÍDA

28 29 24 28 26 21 25 30 32 34 33 36 30 29 28,9

Sugestão de solução

O que são Vetores e Matrizes (arrays) ?

Vetores e Matrizes são estruturas de dados muito simples que podem nos ajudar muito quando temos muitas variáveis do mesmo tipo em um algoritmo. Imagine o seguinte problema:

Uma empresa especializada em meteorologia precisa calcular a média da temperatura da cidade de São Paulo nas duas últimas semanas, a pedido de uma rede de televisão. Vocês foram contratados para fazer um programa que permita ao usuário digitar a temperatura media de cada dia, dos últimos 14 dias, em seguida, apresentar a media de todas as temperaturas digitadas

Quantas variáveis temos que criar para armazenar as temperaturas de cada dia? 14

E se o período fosse um mês ? 31

E se o período fosse um bimestre? 62

E se fosse um trimestre? 93

E se o período fosse um semestre? 186

Imagine a quantidade de linhas de código !!!!

Socorro !!!!!!

C A L M A !!! R E L A X A !!! C O N C E N T R A !!!

Como todas as variáveis são do mesmo tipo, podemos usar Vetores ou Matrizes para solucionar o problema !!!

Vetores e Matrizes (arrays)• Vetor (array uni-dimensional) é uma variável que armazena

várias variáveis do mesmo tipo. No problema apresentado anteriormente, nós podemos utilizar um vetor de 14 posições para armazenar as temperaturas dos 14 dias.

•Matriz (array multi-dimensional) é um vetor de vetores. Nele temos linhas e colunas, sendo que primeiro identificamos a linha e depois a coluna.

Com base no exemplo do exercício, podemos criar um vetor para armazenar os dias, veja:

28 29 24 28 26 21 25 30 32 34 33 36 30 29

0 1 2 3 4 5 6 7 8 9 10 11 12 13

Podemos fazer assim !!!

int dia[14] = {28,29,24,28,26,21,25,30,32,34,33,36,30,29};

28 29 24 28 26 21 25 30 32 34 33 36 30 29

0 1 2 3 4 5 6 7 8 9 10 11 12 13

POSIÇÃO DE CADA INFORMAÇÃODENTRO DE UM VETOR

28 29 24 28 26 21 25 30 32 34 33 36 30 29

0 1 2 3 4 5 6 7 8 9 10 11 12 13

POSIÇÃO DE CADA INFORMAÇÃODENTRO DE UM VETOR

int dia[14];

int dia[14] = {28,29,24,28,26,21,25,30,32,34,33,36,30,29};

28 29 24 28 26 21 25 30 32 34 33 36 30 29

0 1 2 3 4 5 6 7 8 9 10 11 12 13

POSIÇÃO DE CADA INFORMAÇÃODENTRO DE UM VETOR

printf (“%i”, dia[6]);25

Mas como capturar o valor de cada dia usando o “scanf” e armazenar no vetor ?

Usando “Laços de repetição” !!!

Horas !!! São 14 dias certo ?

for (cont = 0 ; cont < 14 ; cont ++) {

}

scanf (“%i”, &dia[cont];

for (cont = 0 ; cont < 14 ; cont ++) {

}

scanf (“%i”, &dia[cont];

CONT

0 1 2 3 4 5 6 7 8 9 10 11 12 13

E para somar os dias ???

somadosdias = dia[0] + dia[1] + dia[2] + dia[3] + dia [4] + dia[5] + dia[6] + dia[7] + dia[8] + dia[9] + dia[10] + dia[11] + dia[12] +

+ dia[13];

Usando “Laços de repetição” !!!

Horas !!! O vetor tem 14 posições certo ?

for (cont = 0 ; cont < 14 ; cont ++) {

}

somadosdias = somadosdias + dia[cont];

for (cont = 0 ; cont < 14 ; cont ++) {

}

somadosdias = somadomados dias + dia[cont];

28 29 24 28 26 21 25 30 32 34 33 36 30 29

0 1 2 3 4 5 6 7 8 9 10 11 12 13

cont somadosdias

Problema !!!!• Criar um programa que pergunte as notas de 10 alunos, armazenar

em um vetor e apresentar a media dessas notas!!!