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.
80 Lógica de programação
30. escreva ("Jogo mais marcado: ", nJogo);
31. escreva ("Quantidade de marcações: ", maisMar);
32. fim.
Outro problen1a seria descobrir qual das colunas do cartã.o possui mais marcações, se a
coluna 1, a coluna 2 ou a coluna cio meio (que representa en1pate).
Para resolver essa questão, precisa1nos determinar quantas marcações existem em cada
coluna e verificar <1ual dos três valores é o n1aior. Neste caso, estarnos invertendo o rr1odo
de percorrer a n1atriz, verificando todas as linhas de urna coluna e se 6ruindo depois para a
próxima coluna.
Percorrendo a n1at.1iz dessa for1na, precisamos:
• fixar a coluna;
• variar a linha.
O Algoritmo 4.7 rnostra urna solução possível para o problema apresentado.
Perceben1os aqui que quando J (coluna) vale 1, a variável I (linha) varia de 1 até 14 (ele-
1nentos mloteri a (1, 1), mloteri a (2, 1], mloteri a (3, 1), ... , mloteri a (14, 1) ). Depois disso
a variável J passa a valer 2, enquanto a variável I volta a valer 1 e continua variando nova-
1nente até 14 (perfazendo os ele1nentos mloteri a [1, 2], mloteri a [2 ,2] , mloteri a [3, 2], ... ,
mloteri a [14, 2]). Isso continua se repetindo até que J atinja 3 ( últi1na coluna).
ALGORITMO 4.7
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12 .
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Loteria esportiva, coluna mais marcada
. - . 1n1c10
li definição do tipo construído matriz
tipo Loteria= matriz [1 .. 14, 1 .. 3] de caracteres;
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
ncoluna, li número da coluna com mais marcações
marCol; li número de marcações em uma coluna
maisMar f- O;
para J de 1 até 3 faça
marCol f- O;
para Ide 1 até 14 faça
se mloteria[l,J] = ''x''
então marCol f- marCol + 1;
fimse;
fimpara;
se marCol > maisMar
(Continutt)