Algoritmos e Programação - 2013.1 - Aula 15

Post on 09-Jun-2015

470 views 0 download

description

Algoritmos e Programação - 2013.1 - Aula 15

Transcript of Algoritmos e Programação - 2013.1 - Aula 15

Algoritmos e Programação

Prof.º Thyago MaiaProf.  Thyago Maia2013.1

Aula 15

Objetivos• Apresentar as Matrizes em Java;

2

MatrizesMatrizes

Matrizes

• O que é uma Matriz?q

– É um conjunto de variáveis–multidimensionais, de um mesmo tipo, que possuem o mesmo identificador (nome) e são alocadas sequencialmente na memória.

– Também conhecida como variável homogênea multidimensional.g

–Uma variável do tipo matriz precisa de umUma variável do tipo matriz precisa de um índice para cada uma de suas dimensões.

Matrizes• Exemplo de uma Matriz:

1 2 3 4 5

Colunas

12 1 90 56 3

7 10 23 2 60

15 36 89 34 6

NúmerosLinhas

1

2

315 36 89 34 6 3

Numeros [1] [1] Numeros [3] [4]

Legenda:

Numeros [1] [1] Numeros [3] [4]

g

• Números: é o nome da matriz bidimensional, onde o tamanho a 1ª dimensão (linha) é 3 e otamanho da 2ª dimensão (coluna) é 5 .

• Vermelho: são os elementos da matriz.

• Preto: são os índices, ou seja, a posição dos elementos na matriz (linha, coluna).

Matrizes

• Exemplo de declaração de uma matriz:

int matriz[][] = new int[5][5];

– Os dois conjuntos de colchetes após o identificador da variável indicam a declaração de uma matriz;

– É preciso definir o tamanho da matriz ([5][5]) e p ( )alocar memória para o armazenamento dos elementos (new int);( )

Matrizes

• Como atribuir valores a uma matriz?– Devemos fornecer um índice que indique a posição que um determinado valor será armazenado no vetor. Ex:

int tabela[][] = new int[2][2];

tabela[0][0] = 1;tabela[0][0] = 1;tabela[0][1] = 5;tabela[1][0] = 7;tabela[1][1] = 2;tabela[1][1] 2;

System.out.println(“Linha 0, Coluna 0: " + tabela[0][0]);System.out.println("Linha 1, Coluna 0: " + tabela[1][0]);y p ( , [ ][ ]);System.out.println("Linha 1, Coluna 1: " + tabela[1][1]);

Matrizes

• Como atribuir e escrever valores de uma maneira mais eficiente?– Deve‐se implementar um mecanismo que controle o valor dos índices;o valor dos índices;

– Percebe‐se que, para percorrer uma matriz, a estrutura de repetição for se apresenta como umestrutura de repetição for se apresenta como um bom recurso;A t t FOR it t l i i i l– A estrutura FOR permite contar um valor inicialaté um valor final, coincidentemente com os í di d t iíndices de uma matrizes;

Exemplop

• Faça um programa em Java que lê 20 números inteiros em um matriz 3x3. Em seguida, o gprograma deverá escrever cada número e sua posição na matriz;posição na matriz;

import java.util.Scanner;

public class tarefa {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);

int num[][] = new int[3][3];

for(int linha=0; linha<3; linha++){

for(int coluna=0; coluna<3; coluna++){

System.out.println("Digite um número: ");num[linha][coluna] = entrada.nextInt();

}}

for(int linha=0; linha<3; linha++){

for(int coluna=0; coluna<3; coluna++){

System.out.println(linha + “-” + coluna + “: ” + num[linha][coluna]);

}}

}}

Exemplop

• Faça um programa em Java que possua uma matriz 4x4 que receberá em cada posição uma q p çletra. Fazer com que o programa leia cada caractere e após as leituras escreva a palavracaractere e, após as leituras, escreva a palavra ou frase formada por cada letra da matriz.

import java.util.Scanner;public class tarefa {

public static void main(String[] args) {

Scanner entrada = new Scanner(System.in);yString texto[][] = new String[4][4];

for(int i=0;i<4;i++){

for(int j=0;j<4;j++){

System out println("Digite uma letra:");System.out.println( Digite uma letra: );texto[i][j] = entrada.next();

}}}for(int i=0;i<4;i++){

for(int j=0;j<4;j++){

System.out.print(texto[i][j]);}

}} }

}

ExercíciosExercícios

Exercício

• Faça um programa em Java que irá possuir 2 matrizes 3x3. As mesmas irão receber valores inteiros digitados pelo usuário. O programa deverá calcular e exibir a soma entre osdeverá calcular e exibir a soma entre os valores das duas matrizes;

Exercício

• Faça um programa que armazena valores inteiros em uma matriz (2,3). A seguir, calcula ( ) ge exibe a média dos valores pares contidos na matrizmatriz.

Exercício

• Faça um programa que lê valores inteiros em uma matriz (2,2). O programa deverá ( ) p gencontrar o menor valor contido na matriz e sua posiçãosua posição.

Exercício

• Faça um programa que leia uma matriz 5 x 10 que se refere a respostas de 10 questões de q p qmúltipla escolha, referentes a 5 alunos. O programa também irá ler um vetor de 10programa também irá ler um vetor de 10 posições contendo o gabarito de respostas que podem ser a b c ou d Seu programaque podem ser a, b, c ou d. Seu programa deverá comparar as respostas de cada candidato com o gabarito e emitir um vetor resultado, contendo a pontuação correspondente.