28.02.2023 Views

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)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!