A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 8: Array Professores: Sandro Rigo Túlio Bender.

Apresentações semelhantes


Apresentação em tema: "Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 8: Array Professores: Sandro Rigo Túlio Bender."— Transcrição da apresentação:

1 Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 8: Array Professores: Sandro Rigo Túlio Bender

2 Roteiro Array bidimensional Funções Parâmetros Exercícios

3 Array multidimensional Array bidimensional == matriz Duas dimensões: linha e coluna [ ] [ ] ; [ ] [ ] = { }; Exemplo: char P[3][4]; Coluna 0Coluna 1Coluna 2Coluna 3 Linha 0P[0][0]P[0][1]P[0][2]P[0][3] Linha 1P[1][0]P[1][1]P[1][2]P[1][3] Linha 2P[2][0]P[2][1]P[2][2]P[2][3]

4 Array multidimensional Array unidimensional == vetor Array tridimensional == ? Exemplo: char P[2][3][4]; Coluna 0Coluna 1Coluna 2Coluna 3 Linha 0 P[1][0][0]P[1] [0][1]P[1] [0][2]P[1] [0][3] Linha 1 P[1][0]P[1][1]P[1][2]P[1][3] Linha 2 P[2][0]P[2][1]P[2][2]P[2][3] Coluna 0Coluna 1Coluna 2Coluna 3 Linha 0P[0][0][0]P[0] [0][1]P[0] [0][2]P[0] [0][3] Linha 1P[0] [1][0]P[0] [1][1]P[0] [1][2]P[0] [1][3] Linha 2P[0] [2][0]P[0] [2][1]P[0] [2][2]P[0] [2][3] Nível 0 Nível 1 C++: suporte para no mínimo 12 níveis

5 Array multidimensional Array bidimensional: Inicialização Identificação dos níveis com chaves [ ] [ ] = { { },..., { } }; Exemplo: char P[3][4] ={ {1, 2, 3, 0}, {4, 5, 6, 0}, {7} }; Coluna 0Coluna 1Coluna 2Coluna 3 Linha 01230 Linha 14560 Linha 27000

6 Array multidimensional Array bidimensional: Inicialização Identificação dos níveis com chaves [ ] [ ] = { { },..., { } }; Exemplo: char P[3][4] ={ {1, 2, 3, 0}, {4, 5, 6, 0}, {7} }; Coluna 0Coluna 1Coluna 2Coluna 3 Linha 01230 Linha 14560 Linha 27000

7

8 Array multidimensional Array bidimensional: Inicialização Identificação dos níveis com chaves [ ] [ ] = { { },..., { } }; [ ] [ ] = {,..., }; Exemplos equivalentes: char P[3][4] ={ {1, 2, 3, 0}, {4, 5, 6, 0}, {7} }; char P2[3][4] ={ 1, 2, 3, 0, 4, 5, 6, 0, 7 };

9 Array multidimensional Array bidimensional: exemplo Problema: armazenar 4 notas, para 3 estudantes #define NRO_ESTUDANTES 3 #define NRO_NOTAS 4...... char dados[NRO_ESTUDANTES][NRO_NOTAS] ={ 0 }; int estudante, nota, valor;....... for (estudante=0; estudante < NRO_ESTUDANTES; estudante++){ cout<<endl<<"Estudante número "<<estudante<<endl; for (nota=0; nota < NRO_NOTAS; nota++){ cout <<"Digite nota ["<<nota<<"] :"; cin>>valor; dados[estudante][nota]=valor; }

10 Array multidimensional Array bidimensional: exemplo Problema: armazenar 4 notas, para 3 estudantes #define NRO_ESTUDANTES 3 #define NRO_NOTAS 4...... char dados[NRO_ESTUDANTES][NRO_NOTAS] ={ 0 }; int estudante, nota, valor;....... for (estudante=0; estudante < NRO_ESTUDANTES; estudante++){ cout<<endl<<"Estudante número "<<estudante<<endl; for (nota=0; nota < NRO_NOTAS; nota++){ cout <<"Digite nota ["<<nota<<"] :"; cin>>valor; dados[estudante][nota]=valor; }

11 Array multidimensional Array bidimensional: exemplo Problema: armazenar 4 notas, para 3 estudantes Continuação: calcular as médias de cada estudante cout<<endl<<"Médias:"<<endl; for (estudante=0; estudante < NRO_ESTUDANTES; estudante++){ cout<<endl<<"Estudante número "<<estudante<<endl; valor = 0; for (nota=0; nota < NRO_NOTAS; nota++){ valor = valor + dados[estudante][nota]; } valor = valor / NRO_NOTAS; cout<<"média = "<<valor; }

12 Array multidimensional Array bidimensional: exemplo Problema: armazenar 4 notas, para 3 estudantes Continuação: calcular as médias de cada estudante cout<<endl<<"Médias:"<<endl; for (estudante=0; estudante < NRO_ESTUDANTES; estudante++){ cout<<endl<<"Estudante número "<<estudante<<endl; valor = 0; for (nota=0; nota < NRO_NOTAS; nota++){ valor = valor + dados[estudante][nota]; } valor = valor / NRO_NOTAS; cout<<"média = "<<valor; }

13 Array multidimensional Array bidimensional: exemplo Novo Problema: armazenar 44 notas, para 300 estudantes e calcular as médias #define NRO_ESTUDANTES 300 #define NRO_NOTAS 44...... char dados[NRO_ESTUDANTES][NRO_NOTAS] ={ 0 }; int estudante, nota, valor;....... for (estudante=0; estudante < NRO_ESTUDANTES; estudante++){ cout<<endl<<"Estudante número "<<estudante<<endl; for (nota=0; nota < NRO_NOTAS; nota++){ cout <<"Digite nota ["<<nota<<"] :"; cin>>valor; dados[estudante][nota]=valor; } cout<<endl<<"Médias:"<<endl; for (estudante=0; estudante < NRO_ESTUDANTES; estudante++){ cout<<endl<<"Estudante número "<<estudante<<endl; valor = 0; for (nota=0; nota < NRO_NOTAS; nota++){ valor = valor + dados[estudante][nota]; } valor = valor / NRO_NOTAS; cout<<"média = "<<valor; }

14 Exercícios Definir array para armazenar: idade de alunos (5 turmas de 30 alunos cada) dados para batalha naval 15 palavras de 40 caracteres temperatura por hora, para 7 dias

15 Exercícios idade de alunos (5 turmas de 30 alunos cada) int idade[5][30]; dados para batalha naval char tabuleiro[30][30]; 15 palavras de 40 caracteres char palavras[15][40]; temperatura por hora, para 7 dias int temperatura[7][24];

16 Exercícios Implementação do jogo da velha, utilizando uma matriz para dados do desenho e outra matriz para dados de controle Etapas: (grupos de DUAS pessoas) 1 – elaboração do algoritmo e estrutura de dados (17/3) 2 – implementação do programa (17/3 e 19/3) 3 – Documentação e entrega (19/3)

17 Código ASCII (American Standard Code for Information Interchange) http://www.asciitable.com resultado na tela: char palavra[100] = { 32, 32, 32, 32, 32, 32, 13, 10, 32, 32, 201, 205, 187, 32, 13, 10, 32, 32, 186, 32, 32, 32, 13, 10, 205, 205, 202, 205, 205, 32, 13, 10};......... cout <<letra;

18 Jogo da Velha: Estrutura de dados a)Matriz para armazenar jogadas char jogadas [3] [3] = { 0, 0, 0, Legenda: 0 - Vazio 0, 0, 0 1 - Jogador 1 0, 0, 0}; 2 - Jogador 2 b) Matriz para armazenar Layout de tela char tela[5] [7] = { 32, 186, 32, 186, 32, 13, 10, 205, 216, 205, 216, 205, 13, 10, 32, 186, 32, 186, 32, 13, 10, 205, 216, 205, 216, 205, 13, 10, 32, 186, 32, 186, 32, 13, 10};

19 Jogo da Velha: Estrutura de dados a)Matriz para armazenar jogadas char jogadas [3] [3] = { 0, 0, 0, Legenda: 0 - Vazio 0, 0, 0 1 - Jogador 1 0, 0, 0}; 2 - Jogador 2 b) Matriz para armazenar Layout de tela char tela[5] [7] = { 32, 186, 32, 186, 32, 13, 10, 205, 216, 205, 216, 205, 13, 10, 32, 186, 32, 186, 32, 13, 10, 205, 216, 205, 216, 205, 13, 10, 32, 186, 32, 186, 32, 13, 10};


Carregar ppt "Desenvolvimento de Jogos e Entretenimento Digital Oficina temática: Algoritmos e Programação Aula 8: Array Professores: Sandro Rigo Túlio Bender."

Apresentações semelhantes


Anúncios Google