Instituto Federal de Minas Gerais Campus Ponte Nova Introdução a programação Vetores Professor: Saulo Henrique Cabral Silva
Vetores 2
Como funciona Em qual variável está a oitava nota... Notas 5 2 1 9 7 3 8 2 9 2 0 1 2 3 4 5 6 7 8 9 3
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 0 1 2 3 4 5 6 7 4
Declaração de um vetor tipo nomevetor [quantidadeelementos] 0 0 0 0 0 0 80 0 0 0 0 1 2 3 4 5 6 7 8 9... Inteiro nomevetor [ ] = {0,1,2,3,4,5,6,7,8,9} Outra forma de declarar vetores 5
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
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
Manipulando valores de um vetor inteiro x[4] 0 0 0 0 x[1] = 540 0 540 0 0 x[3] = 987 0 540 0 987 8
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
Isso quer dizer que... inteiro X [10] Escreva (x[3]) 0 0 0 0 0 0 80 0 0 0 0 1 2 3 4 5 6 7 8 9 Escreva(x[10]) 10
EXERCÍCIOS 11
Exercício 1 Inserir 5 notas em um vetor, depois disso visualizar as notas inseridas. 12
Exercício 2 Colocar os números de 1 a 5 em Vetor. 13
Exercício 3 Leia 5 notas e as insira em um vetor. Depois disso, visualizar as notas inseridas. 14
Exercício 4 Modificar o programa anterior de forma tal que depois de ter inserido as 5 notas seja calculada a média. 15
Exercício 5 Construa um algoritmo que leia 300 números inteiros e imprima esses números na ordem inversa de entrada. 16
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
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
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. 12 4 6 4 5 8 2 6 12 3 12 2,5 24 1 19
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
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 0.2 21
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
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
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
MATRIZES 25
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
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
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
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] Nome_da_matriz[1][3]; Nome_da_matriz[1][2]; 29
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
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
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
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
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
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
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
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
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. Estoque mínimo 10 38
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