·

Sistemas de Informação ·

Linguagens de Programação

Send your question to AI and receive an answer instantly

Ask Question

Preview text

Laboratório de Programação Prof Dr Antonio Marcos SELMINI antonioselminiespmbr Array Bidimensional matriz Introdução Um array bidimensional é formado por linhas e colunas ou seja temos uma tabela de elementos dispostos em linhas e colunas Podemos também afirmar que um array bidimensional é basicamente um array de arrays unidimensionais Um array bidimensional é também chamado de matriz Um array bidimensional é usado para representar uma tabela de elemento Exemplo de array bidimensional 2 10 5 0 1 256 33 85 9 66 65 63 69 63 58 70 linhas colunas Array bidimensional Dentre as principais aplicações de matrizes podemos destacar Programação de jogos computacionais jogo da velha batalha naval jogos simulando bingos dentre muitos outros Representação computacional de imagens para processamento Equacionamento e resolução de problemas de análise numérica aplicados à engenharia dentre outros As matrizes são utilizadas na computação para armazenar tabelas de elementos Array bidimensional Para declararmos um array bidimensional devemos especificar o número de linhas e o número de colunas presentes Sintaxe completa para declaração de uma matriz tipo nomearray nomearray new tipototaldelinhastotaldecolunas tipo pode ser qualquer tipo válido em Java O primeiro índice representa o número total de linhas do array e o segundo índice o número total de colunas Array bidimensional Exemplo de declaração int x new int55 double y new double34 Como os vetores as matrizes podem ser declaradas e inicializadas int b 1 2 3 4 Array bidimensional É possível também criar um array multidimensional em que cada linha tem um número diferente de colunas Exemplo int b b new int2 cria apenas duas linhas b0 new int5 cria 5 colunas para a linha 0 b1 new int3 cria 3 colunas para a linha 1 Manipulando array bidimensional 0 1 2 3 0 2 10 5 0 1 1 256 33 85 2 9 66 65 63 3 69 63 58 70 x00 2 x10 1 x20 9 x30 69 x01 10 x11 256 x21 66 x31 63 x02 5 x12 33 x22 65 x32 58 x03 0 x13 85 x23 63 x33 70 linhas colunas int x new int44 Propriedades do array bidimensional Da matemática temos algumas definições básicas quando trabalhos com matrizes Uma matriz é dita quadrada quando o número de linhas m é igual ao número de colunas n ou seja m n Por exemplo uma matriz que apresenta 5 linhas e 5 colunas é uma matriz quadrada pois o número de linhas é igual ao número de colunas Neste caso dizemos que a matriz tem ordem 5 Quando uma matriz é dita quadrada outras definições aparecem Propriedades do array bidimensional Diagonal Secundária Diagonal Principal 0 1 2 3 4 0 A C W E T 1 P I J K B 2 V R C I P 3 Z W 4 Veja na figura abaixo que representa uma matriz quadrada de ordem 5 04 13 22 Propriedades do array bidimensional Como saber o número de linhas e de colunas de matriz usando apenas o nome da variável Considere a seguinte declaração int x new int415 xlength indica o número e linhas da matriz se for quadrada o número de linhas é igual ao número de colunas xilength indica o número de colunas na linha i Exemplo 1 O programa abaixo declara e preenche um array bidimensional com valores aleatórios entre 0 e 20 import javautilRandom public class Exemplo1 public static void mainString args Random gerador new Random int x new int22 int linha coluna forlinha 0 linha xlength linha forcoluna 0 coluna xlinhalength coluna xlinhacoluna geradornextInt21 Exemplo 2 Neste exemplo o array que foi preenchido no exemplo 1 é impresso no vídeo import javautilRandom public class Exemplo2 public static void mainString args Random gerador new Random int x new int22 int linha coluna forlinha 0 linha xlength linha forcoluna 0 coluna xlinhalength coluna Systemoutprintxlinhacoluna Systemoutprintln Exemplo 3 No primeiro exemplo o array é preenchido com valores aleatórios Podemos também preencher o array com valores informados via teclado Veja o exemplo abaixo import javautilScanner public class Exemplo3 public static void mainString args Scanner entrada new ScannerSystemin int x new int22 int linha coluna forlinha 0 linha xlength linha forcoluna 0 coluna xlinhalength coluna SystemoutprintlnDigite um valor xlinhacoluna entradanextInt Exercícios 1 Escreva um programa em Java que preencha uma matriz quadrada de ordem 4 com valores inteiros aleatórios Em seguida a Mostre a soma dos elementos da diagonal principal b Mostre a soma dos elementos da diagonal secundária 2 Escreva um programa em Java que preencha uma matriz D10x10 com valores aleatórios entre 0 e 1000 Imprima o maior valor armazenado bem como a sua localização linha e coluna Observação caso o maior valor se repetida dentro da matriz todas as localizações deverão ser impressas Exercícios 3 O professor da disciplina algoritmos aplicou durante o semestre duas provas e um trabalho para uma determinada turma do curso semestral Você deverá desenvolver um programa em Java que permita captar e armazenar todas as notas de todos os alunos e em seguida para cada aluno deverá ser impresso seu nome sua média e a sua situação aprovado ou reprovado Para a aprovação a média do aluno deverá ser maior ou igual a 7 Para o cálculo da média deverá ser considerado os seguintes pesos para as notas prova 1 equivale a 30 da média a prova 2 equivale a 50 da média e o trabalho apenas 20 da média Exercícios 4 Uma empresa de vendas conta com 5 vendedores em seu quadro de funcionários Esses vendedores são responsáveis por divulgar e vender os produtos da empresa para comerciantes da região Foi solicitado a você que implementasse um programa em Java para emitir alguns relatórios impressão no vídeo sobre as vendas realizadas no primeiro semestre de 2022 Inicialmente o seu programa deverá armazenar o nome de cada um dos vendedores e também o valor total das vendas de cada vendedor em cada mês do primeiro semestre O seu programa deverá imprimir no vídeo as seguintes informações a Total de vendas de cada vendedor no primeiro semestre de 2022 b Total de vendas por mês c Nome do vendedor que teve o maior total de vendas d Nome do vendedor com o menor total de vendas Exercícios 5 Escreva um programa em Java que preencha um matriz quadrada de ordem 5 com valores aleatórios Em seguida troque os elementos da diagonal principal com os elementos da diagonal secundária Como exemplo considere a matriz quadrada de ordem 3 Diagonal Principal Diagonal Secundária Exercícios 6 Dadas as matrizes A3x2 e B2x3 gere C A B Imprima no vídeo as matrizes A B e C Bibliografia PUGA S RISSETTI G Lógica de programação e estruturas de dados 2ª ed São Paulo Editora Pearson 2009 XAVIER Gley F C Lógica de Programação 12ª ed Editora Senac São Paulo 2011 SOUZA M A F SOARES M V GOMES M M CONCILIO R Algoritmos e Lógica de Programação 1ª e 2ª ed São Paulo Cengage Learning 2011