Vamos supor que várias pedras do jogo de xadrez estão no tabuleiro. Para facilitar a indicação das peças, vamos convencionar:
1 - peões | 3 - torres | 5 - reis | 0 - ausência de peças |
---|---|---|---|
2 - cavalos |
|
6 - rainhas |
O tabuleiro é o seguinte:
1 | 3 | 0 | 5 | 4 | 0 | 2 | 1 |
---|---|---|---|---|---|---|---|
1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
0 | 0 | 0 | 0 | 1 | 0 | 6 | 0 |
1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 4 | 0 | 0 | 1 | 0 |
0 | 0 | 3 | 1 | 0 | 0 | 1 | 1 |
1 | 0 | 6 | 6 | 0 | 0 | 1 | 0 |
1 | 0 | 5 | 0 | 1 | 1 | 0 | 6 |
Escreva outro programa que determine qual a quantidade de cada tipo de peça no tabuleiro.
Passo 1
Beleza, aqui a ideia é simples: a gente tem um tabuleiro 8×8 representado por uma matriz de números, onde
- 0 = casa vazia
- 1 = peão
- 2 = cavalo
- 3 = torre
- 4 = bispo
- 5 = rei
- 6 = rainha
O conteúdo é: percorrer uma matriz com laços de repetição e usar contadores para cada tipo de peça. Vamos precisar saber como usar dois loops (um para linhas, outro para colunas) e incrementar variáveis de contagem.
Passo 2
Primeiro, criamos seis variáveis–contadoras e inicializamos todas com zero:
c_1 = 0,\; c_2 = 0,\; c_3 = 0,\; c_4 = 0,\; c_5 = 0,\; c_6 = 0
Elas vão guardar quantos peões, cavalos, torres, bispos, reis e rainhas existem, respectivamente.
Passo 3
Agora a teoria do laço duplo: para cada linha
de 0 a 7 e cada coluna
de 0 a 7, pegamos o valor , a gente faz
x = tabuleiro[i][j]
. Se
c_x = c_x + 1
Ou seja, o contador do tipo de peça
recebe mais 1. Isso é gráfico em pseudocódigo:
for i in 0..7:
for j in 0..7:
x = tabuleiro[i][j]
if x != 0:
c_x += 1
Passo 4
Aplicando isso à matriz dada (fazendo a varredura linha a linha), chegamos aos seguintes totais:
- Somamos todos os 1’s e descobrimos que tem 20 peões.
- Tem exatamente 1 ocorrência de “2”, logo 1 cavalo.
- Tem 2 ocorrências de “3” → 2 torres.
- Tem 2 ocorrências de “4” → 2 bispos.
- Tem 2 ocorrências de “5” → 2 reis.
- Tem 4 ocorrências de “6” → 4 rainhas.
Resposta
Peões (1): 20
Cavalos (2): 1
Torres (3): 2
Bispos (4): 2
Reis (5): 2
Rainhas (6): 4
Cavalos (2): 1
Torres (3): 2
Bispos (4): 2
Reis (5): 2
Rainhas (6): 4