Olá pessoal, tudo bem ?
Me chamo Bruno e estou aprendendo lógica de programação.
Estou tendo dificuldade de entender um exercício que tem como objetivo mostrar o triangulo superior de uma matriz. Irei colocar o código todo para entender o contexto da minha dúvida.
Minha dúvida esta no Procedimento TrianguloSuperior( ). Eu expliquei melhor abaixo qual a parte que eu não estou entendo.
var
m: vetor[1..4, 1..4] de Inteiro
l, c, op: Inteiro
Procedimento MostraMatriz() // Aqui eu entendi que este procedimento irá mostrar o código completo.
inicio
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Escreva(m[l,c]:4)
FimPara
EscrevaL()
FimPara
FimProcedimento
Procedimento DiagonalPrincipal() Aqui eu entendi que irá mostrar apenas a diagonal.
var t: inteiro
inicio
Para l <- 1 ate 4 faca
EscrevaL(m[l,l]:4)
Para t <- 1 ate l faca
Escreva(" ")
FimPara
FimPara
FimProcedimento
Procedimento TrianguloSuperior() // O problema no meu entendimento esta aqui.
var t: Inteiro
inicio
Para l <- 1 ate 3 faca // Acredito que aqui começa com l valendo 1 até 3 porque o triagulo superior em matriz 4x4 vai até a linha 3.
Escreva(" ")
Para c <- l+1 ate 4 faca // Aqui eu entendi que esta parte vai mostrar em qual linha o código esta e sua respectiva coluna.
Escreva(m[l,c]:4)
FimPara
EscrevaL()
Para t <- 1 ate l faca // O PROBLEMA ESTA AQUI - EU NÃO ENTENDI PARA QUE SERVE ESTE t <- 1 ATE l ???
Escreva(" ")
FimPara
FimPara
EscrevaL()
FimProcedimento
Procedimento TrianguloInferior()
inicio
Para l <- 2 ate 4 faca
EscrevaL()
Para c <- 1 ate l-1 faca
Escreva(m[l,c]:4)
FimPara
FimPara
EscrevaL()
FimProcedimento
// Daqui para baixo tudo OK.
inicio
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Escreva("Digite valor para a posicao [", l, ",", c, "]: ")
Leia(m[l,c])
FimPara
FimPara
LimpaTela
Repita
EscrevaL()
EscrevaL("MENU DE OPCOES")
EscrevaL("====================")
EscrevaL("[1] Mostrar a Matriz")
EscrevaL("[2] Diagonal Principal")
EscrevaL("[3] Triangulo Superior")
EscrevaL("[4] Triangulo Inferior")
EscrevaL("[5] Sair")
Repita
EscrevaL("===== OPCAO: ")
Leia(op)
Ate (op >=1) e (op <=5)
LimpaTela
Escolha op
Caso 1
MostraMatriz()
Caso 2
DiagonalPrincipal()
Caso 3
TrianguloSuperior()
Caso 4
TrianguloInferior()
Caso 5
EscrevaL("ENCERRANDO...")
FimEscolha
Ate (op = 5)