Algoritmos e Programação - 2013.1 - Aula 15

17
Algoritmos e Programação Prof.º Thyago Maia Prof. Thyago Maia 2013.1

description

Algoritmos e Programação - 2013.1 - Aula 15

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

Page 1: Algoritmos e Programação - 2013.1 - Aula 15

Algoritmos e Programação

Prof.º Thyago MaiaProf.  Thyago Maia2013.1

Page 2: Algoritmos e Programação - 2013.1 - Aula 15

Aula 15

Objetivos• Apresentar as Matrizes em Java;

2

Page 3: Algoritmos e Programação - 2013.1 - Aula 15

MatrizesMatrizes

Page 4: Algoritmos e Programação - 2013.1 - Aula 15

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.

Page 5: Algoritmos e Programação - 2013.1 - Aula 15

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).

Page 6: Algoritmos e Programação - 2013.1 - Aula 15

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);( )

Page 7: Algoritmos e Programação - 2013.1 - Aula 15

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

Page 8: Algoritmos e Programação - 2013.1 - Aula 15

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;

Page 9: Algoritmos e Programação - 2013.1 - Aula 15

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;

Page 10: Algoritmos e Programação - 2013.1 - Aula 15

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

}}

}}

Page 11: Algoritmos e Programação - 2013.1 - Aula 15

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.

Page 12: Algoritmos e Programação - 2013.1 - Aula 15

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

}} }

}

Page 13: Algoritmos e Programação - 2013.1 - Aula 15

ExercíciosExercícios

Page 14: Algoritmos e Programação - 2013.1 - Aula 15

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;

Page 15: Algoritmos e Programação - 2013.1 - Aula 15

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.

Page 16: Algoritmos e Programação - 2013.1 - Aula 15

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.

Page 17: Algoritmos e Programação - 2013.1 - Aula 15

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.