Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor:...
Transcript of Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor:...
![Page 1: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/1.jpg)
Introdução a programação – Vetores
Professor: Saulo Henrique Cabral Silva
Instituto Federal de Minas Gerais Campus Ponte Nova
![Page 2: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/2.jpg)
Vetores…
2
![Page 3: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/3.jpg)
Como funciona
• Em qual variável está a oitava nota...
Notas
3
8 5 2 1 9 7 8 3 2 9 2
0 1 2 3 4 5 6 7 8 9
![Page 4: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/4.jpg)
Indíces…
• Uma vez que as variáveis que compõem o vetor têm o mesmo nome, o que distingue cada um delas é um índice, que referencia sua localização dentro da estrutura.
• Exemplo:
vet
4
0 1 2 3 4 5 6 7
![Page 5: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/5.jpg)
Declaração de um vetor
tipo nomeVetor [quantidadeElementos]
Inteiro nomeVetor [ ] = {0,1,2,3,4,5,6,7,8,9}
5
8 0 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9
...
Outra forma de declarar vetores
![Page 6: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/6.jpg)
Ainda sobre a declaração de vetores...
• Todo vetor é um espaço linear dividido e com o tamanho que declaramos.
• Se declaramos inteiro x[4] de inteiro, na memória é representado da seguinte forma:
6
![Page 7: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/7.jpg)
Ainda sobre a declaração de vetores...
• Para acessar um local específico basta indicar entre colchetes a posição desejada.
• Aquela posição recebe o nome de índice.
• O índice sempre inicia em 0.
• Um vetor de tamanho 10 vai de 0 a 9.
vet[4]
7
![Page 8: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/8.jpg)
Manipulando valores de um vetor
inteiro x[4]
x[1] = 540
x[3] = 987
8
0 0 0 0
0 540 0 0
0 0 540 987
![Page 9: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/9.jpg)
Ainda sobre a declaração de vetores...
• A primeira posição de um vetor tem índice 0.
• A última posição de um vetor tem índice equivalente a: (número de posições) - 1
• O sistema de execução não verifica se um dado acesso está dentro dos limites de um vetor...
9
![Page 10: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/10.jpg)
Isso quer dizer que...
10
8 0 0 0 0 0 0 0 0 0 0
0 1 2 3 4 5 6 7 8 9
inteiro X [10]
Escreva (x[3])
Escreva(x[10])
![Page 11: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/11.jpg)
EXERCÍCIOS
11
![Page 12: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/12.jpg)
Exercício 1
• Inserir 5 notas em um vetor, depois disso visualizar as notas inseridas.
12
![Page 13: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/13.jpg)
Exercício 2
• Colocar os números de 1 a 5 em Vetor.
13
![Page 14: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/14.jpg)
Exercício 3
• Leia 5 notas e as insira em um vetor. Depois disso, visualizar as notas inseridas.
14
![Page 15: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/15.jpg)
Exercício 4
• Modificar o programa anterior de forma tal que depois de ter inserido as 5 notas seja calculada a média.
15
![Page 16: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/16.jpg)
Exercício 5
• Construa um algoritmo que leia 300 números inteiros e imprima esses números na ordem inversa de entrada.
16
![Page 17: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/17.jpg)
Exercício 6
• Dada uma coleção de n elementos, pretende-se saber se um determinado elemento valor está presente nessa coleção. Para efeitos práticos, vamos supor que essa coleção é implementada como sendo um vetor de n elementos inteiros:
vetor[0]..vetor[n-1].
17
![Page 18: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/18.jpg)
Exercício 7
• Leia um vetor A, com no máximo 10 elementos. Crie um vetor B da seguinte forma: – coloque os números pares primeiro;
– coloque os números ímpares logo após os pares;
– exiba o vetor B
18
![Page 19: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/19.jpg)
Exercício 8
• Ler um vetor X de 10 elementos inteiros e positivos. Criar um vetor Y da seguinte forma: – Os elementos de Y com índice par receberão os respectivos
elementos de X divididos por 2;
– Os elementos com índice ímpar receberão os respectivos elementos de X multiplicados por 3;
– Escrever o vetor X e o vetor Y .
19
12 4 6 4 5 8 2
6 12 3 12 2,5 24 1
![Page 20: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/20.jpg)
Exercício 9
• Ler dois vetores: – R de 5 elementos;
– S de 10 elementos.
• Gerar um vetor X de 15 elementos cujas 5 primeiras posições contenham os elementos de R e as 10 últimas posições, os elementos de S.
• Escrever o vetor X.
20
+
![Page 21: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/21.jpg)
Exercício 10
• Ler um vetor com 7 posições do tipo real... Em seguida ordene estes valores no vetor... – Imagine que cada valor deste vetor é a altura de uma pessoa.
– Adote que:
• Mais baixo: 0.60
• Mais alto: 2.51
21
0.2
![Page 22: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/22.jpg)
Exercício 11
• Um dado é lançado n vezes e a cada lançamento é anotado o resultado. Faça um algoritmo que tendo como entrada o resultado de cada um dos n lançamentos, encontra a média dos lançamentos e conta quantos lançamentos estão acima da média dos lançamentos.
Exemplo: n = 5 Lançamento Resultado 1 6 2 3 3 1 4 5 5 5 Média dos Lançamentos = (6+3+1+5+5)/5 = 4 Número de Lançamentos que estão acima da média = 3 (lançamentos 1, 4 e 5)
22
![Page 23: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/23.jpg)
Exercício 12
• Ler um vetor X de 10 elementos. A seguir copiar todos os valores negativos do vetor X para um vetor R e os valores positivos para um vetor S.
• Escrever o vetor X, o vetor R e o vetor S.
23
![Page 24: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/24.jpg)
Exercício 13
• Crie uma agenda de contatos usando as estruturas de vetores: – Ela deve armazenar no mínimo 10 contatos;
– Deve ter a informação do nome, telefone, salário, e-mail, data de nascimento.
• A agenda deve permitir consultas por: – Nome e Sobrenome;
– Por data de nascimento
– Salário
– Faixa salarial
24
![Page 25: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/25.jpg)
MATRIZES
25
![Page 26: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/26.jpg)
Matrizes
• Uma matriz é um vetor (conjunto de variáveis do mesmo tipo) que possui duas ou mais dimensões
• Matrizes podem ser consideradas como “vetores de vetores”
• Por exemplo, uma matriz bi-dimensional pode
ser visto como uma tabela
de m linhas (filas) e
n colunas.
26
![Page 27: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/27.jpg)
Matrizes - declarando
• Uma matriz possui linhas x colunas variáveis de um mesmo tipo, seja ele: inteiro, real, caracter ou lógico.
• As linhas são numeradas de 0.
• As colunas são numeradas de 0.
• Declarando uma matriz m x n:
inteiro vetor [m] [n]
27
![Page 28: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/28.jpg)
Matrizes – acessando uma posição de uma determinada matriz
• A forma de acessar um elemento da matriz é:
nome_da_matriz [x] [y]
• Onde x e y é uma posição à qual desejamos acessar dessa matriz.
28
![Page 29: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/29.jpg)
Matrizes – acessando uma posição de uma determinada matriz
• O compilador não verifica se foram utilizados valores válidos para a linha e coluna.
– Então a verificação deve ser a mesma do tratamento dos vetores.
inteiro Nome_da_matriz[2][2]
29
Nome_da_matriz[1][3];
Nome_da_matriz[1][2];
![Page 30: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/30.jpg)
Matrizes – Exercício em sala
• Criar uma matriz de 3 x 4 (3 linhas e 4 colunas) elementos. Inserir valores e logo mostrar o conteúdo da matriz.
30
![Page 31: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/31.jpg)
Trabalho
• Gerar a posição de cada um dos submarinos de forma aleatória. (randi(x))
• Contabilizar a quantidade de alvos gerados. (você decide)
• Contabilizar a quantidade de alvos que você e o computador atingiram.
• Trabalhos com um plus terão notas EXTRAS.
31
![Page 32: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/32.jpg)
Matrizes – Exercício em sala
• Escreva um programa que lê duas matrizes 5 x 5, e mostre-as na tela e mostre o maior valor entre elementos correspondentes em uma terceira matriz.
32
![Page 33: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/33.jpg)
Matrizes – Exercício avaliativo
• Maria deseja gerenciar as vendas de passagem do mês vigente.
• É preciso ter o controle da ocupação das poltronas de cada ônibus. – Não deixe vender uma poltrona mais de uma vez heim..!!! – Se possível mostre as poltronas livres e ocupadas no ato
da compra.
• Poltronas na janela tem um acréscimo no preço igual a 0,50.
33
![Page 34: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/34.jpg)
Matrizes – Exercício em sala
• Criar uma matriz quadrada 7 x 7 e mostrar os elementos da diagonal principal e da diagonal secundária.
34
![Page 35: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/35.jpg)
Matrizes – Exercício em sala
• Crie um programa que leia os valores para uma matriz 3 x 3 e encontre qual é o maior valor desta matriz.
35
![Page 36: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/36.jpg)
Matrizes – Exercício em sala
• Leia uma matriz 10 × 10 (aleatória). Leia também um valor X. O programa deverá fazer uma busca desse valor na matriz e, ao final escrever a localização (linha e coluna) ou uma mensagem de “não encontrado”.
36
![Page 37: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/37.jpg)
Matrizes – Fechamento
Criar um programa que carregue uma matriz 12x4 com os valores das vendas de uma loja, em que cada linha represente um mês do ano, e cada coluna, uma semana do mês. Para fins de simplificação considere que cada mês possui somente 4 semanas. Calcule e imprima:
– Total vendido em cada mês do ano; – Total vendido em cada semana durante todo o ano; – Total vendido no ano.
37
![Page 38: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/38.jpg)
Matrizes – Floricultura
• Uma floricultura conhecedora de sua clientela gostaria de fazer um programa que pudesse controlar sempre um estoque mínimo de determinadas plantas, pois todos os dias, pela manhã, o dono faz novas aquisições. Criar um programa que deixe cadastrar 50 tipos de plantas e nunca deixar o estoque ficar abaixo do ideal. Para cada planta, o dono gostaria de cadastrar o nome, o estoque ideal e a quantidade em estoque. Dessa forma o algoritmo pode calcular a quantidade que o dono da loja precisa comprar no próximo dia. Essa quantidade a ser comprada deve ser impressa (quando maior que zero) como uma lista para o dono da floricultura.
38
Estoque mínimo 10
![Page 39: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/39.jpg)
Matrizes – Salão
A gerente do cabeleireiro Sempre Bela tem uma tabela em que registra os “pés” as “mãos” e o serviço de podologia das cinco manicures. Sabendo-se que cada uma ganha 50% do que faturou ao
mês, e que não consegue atender mais que 7 clientes por dia, criar um programa que possa calcular e imprimir quanto cada um vai receber, uma vez que não têm carteiras assinadas; os valores, respectivamente, são:
R$ 10,00; R$ 15,00; R$ 30,00
39
![Page 40: Introdução a programação Vetores 5.pdf · Introdução a programação – Vetores Professor: Saulo Henrique Cabral Silva Instituto Federal de Minas Gerais ... /5 = 4 Número](https://reader035.fdocuments.net/reader035/viewer/2022062604/5fbc9f1d0dd77439b4152273/html5/thumbnails/40.jpg)