Logica_de_Programacao_3_Edicao_Livro
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Capítulo 4 Estruturas de dados 1 79
Diga1nos que, dado u111 cartão preenchido, desejan1os saber qual o jogo que possui n1ais
marcações, ou seja, qual dos 14jogos possui un1 u·iplo ou, se este 11ão exisúr, u1n duplo.
Como cacla jogo está disposto e1n três partições, temos de avaliar se cada uma delas
possui ou não uma marcação ('x') e, em seguida, avaliar o próxirnojogo do mesrno rnodo.
Resumindo, para cada linha percorrernos todas as colunas.
Para percorrer a n1atriz dessa for1na, devemos:
• fixar a linha;
• variar a coluna.
O Algoritmo 4.6 rnost1-a urna solução possível para o problerna apresentado.
Percebemos aqui que, quando I (linha) vale 1, a variável J (coh1na) va1ia de 1 até 3 (ele-
1nentos mloteri a (1, 1], mloteri a (1,2] e mloteri a (1, 3]). Depois disso a variável I passa a
valer 2, enquanto a variável J volta a valer 1 e continua variando novamente até 3 (perfazendo
os elen1en.tos mloteri a (2, 1] , mloteri a (2 ,2] e mloteri a (2 , 3]). Isso continua se repetindo
até que I atiI~ja 14 (última linha).
ALGORITMO 4.6
Loteria esportiva, jogo mais marcado
1. inicio
2. li definição do tipo construído matriz
3. tipo Loteria= matriz (1 .. 14, 1 .. 3] de caracteres;
4.
5.
6.
7.
8.
9.
10 .
11 .
12.
13 .
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
li declaração da variável composta do tipo matriz definido
Loteria: mloteria; li nome da matriz
li declaração das variáveis simples
inteiro: I, li índice para linha
J, li índice para coluna
maisMar, li maior número de marcadores encontrado
nJogo, li número do Jogo com mais marcações
marlin; li número de marcações em uma linha
maisMar f- O;
para Ide 1 até 14 faça
marlin f- O;
para J de 1 até 3 faça
se mloteria[I,J] = ''x''
então marlin ~ marlin + l;
fimse;
fimpara;
se marlin > maisMar
fimse;
fimpara;
então
. - .
1n1c10
fim;
maisMar f- marlin;
nJogo f- I;
(Continutt)