Aula vetores e matrizes (arrays)

of 25 /25
Vetores e Matrizes (arrays)

Transcript of Aula vetores e matrizes (arrays)

Page 1: Aula vetores e matrizes (arrays)

Vetores e Matrizes (arrays)

Page 2: Aula vetores e matrizes (arrays)
Page 3: Aula 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

Page 4: Aula vetores e matrizes (arrays)

Sugestão de solução

Page 5: Aula vetores e matrizes (arrays)

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 !!!!!!

Page 6: Aula vetores e matrizes (arrays)

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

Page 7: Aula vetores e matrizes (arrays)
Page 8: Aula vetores e matrizes (arrays)

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

Page 9: Aula vetores e matrizes (arrays)

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.

Page 10: Aula vetores e matrizes (arrays)
Page 11: Aula vetores e matrizes (arrays)

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

Page 12: Aula vetores e matrizes (arrays)

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

Page 13: Aula vetores e matrizes (arrays)

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];

Page 14: Aula vetores e matrizes (arrays)

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

Page 15: Aula vetores e matrizes (arrays)
Page 16: Aula vetores e matrizes (arrays)

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

Page 17: Aula vetores e matrizes (arrays)

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

Page 18: Aula vetores e matrizes (arrays)

Horas !!! São 14 dias certo ?

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

}

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

Page 19: Aula vetores e matrizes (arrays)

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

Page 20: Aula vetores e matrizes (arrays)

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];

Page 21: Aula vetores e matrizes (arrays)

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

Page 22: Aula vetores e matrizes (arrays)

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

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

}

somadosdias = somadosdias + dia[cont];

Page 23: Aula vetores e matrizes (arrays)

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

Page 24: Aula vetores e matrizes (arrays)
Page 25: Aula vetores e matrizes (arrays)

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

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