Ir ao conteúdo
  • Cadastre-se

Portugol Como organizar essa matriz?


Posts recomendados

É para criar um código em portugol de forma que ele fique igual a essa tabela da imagem mais abaixo. As linhas representam as matérias e as colunas os bimestres,

fiz esse código aqui, porém, ele fica desajeitado, as notas não ficam em baixo dos bimestres.

 

Algoritmo "notasQuatroBimestres"
Var
   notasBimestre : vetor [1..4,1..4] de real
   linha, coluna : inteiro
   materias : vetor [1..4] de caractere
   bimestre :vetor [1..4] de caractere

Inicio
   bimestre[1] <- "1º bimestre"
   bimestre[2] <- "2º bimestre"
   bimestre[3] <- "3º bimestre"
   bimestre[4] <- "4º bimestre"

   materias [1] <- "matemática"
   materias[2] <- "português"
   materias [3] <- "geografia"
   materias [4] <- "história"

   para linha <- 1 ate 4 faca
      para coluna <- 1 ate 4 faca
         escreval("Informe a ", coluna, "º nota do", coluna, "º bimestre de ", materias[linha])
         leia(notasBimestre[linha,coluna])
      fimPara
   fimPara
   para linha <- 1 ate 4 faca
      escreva("          ",bimestre[linha]:15)
   fimpara
   para linha<- 1 ate 4 faca
      escreval()
      escreva (materias[linha])
      para coluna <- 1 ate 4 faca
         escreva("  ",notasBimestre[linha,coluna]:12)
      fimPara
      escreval()
   fimPara

Fimalgoritmo

 

169-3.png

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

Assim as notas ficaram alinhadas a direita.

 

Escreva(" ":12)
Para linha <- 1 Ate 4 Faca
    Escreva(bimestre[linha]:12)
FimPara
   
Para linha <- 1 Ate 4 Faca
    Escreval()
    Escreva(materias[linha]:11)
    Para coluna <- 1 Ate 4 Faca
        Escreva(notasBimestre[linha, coluna]:12:2)
    FimPara
FimPara

 

 

  • Curtir 1
  • Obrigado 2
Link para o comentário
Compartilhar em outros sites

@Midori , testei aqui e funcionou, obrigada. Agora gostaria de saber como faço para colocar as linhas e deixar os bimestres e as matérias junto com as notas dentro do retângulo. Nessa parte aqui : Escreva(bimestre[linha]:12), ele conta a quantidade de caracteres e deixa somente um espaço à esquerda ?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membro VIP

Adendo inicial: sugiro não copiar os códigos de um modo geral, mas sim apenas tomar como referência e ir digitando manualmente...

 

Para facilitar os testes, retire as leituras dos dados:

   //para linha <- 1 ate 4 faca
   //   para coluna <- 1 ate 4 faca
   //      escreval("Informe a ", coluna:1, "º nota do ", coluna:1, "º bimestre de ", materias[linha])
   //      leia(notasBimestres[linha,coluna])
   //   fimPara
   //fimPara

 

 

Ah! Não precisaria de um vetor para o número do bimestre:

 

De:

Em 27/11/2023 às 16:27, Eli Almeida disse:
   para linha <- 1 ate 4 faca
      escreva("          ",bimestre[linha]:15)
   fimpara

 

Para algo como:

   para linha <- 1 ate 4 faca
      escreva ("          ", linha:1, "º bimestre")
   fimPara

 

Ficando com algo assim:

algoritmo "notasQuatroBimestres"
var
   notasBimestres : vetor [1..4,1..4] de real
   linha, coluna : inteiro
   materias : vetor [1..4] de caractere

inicio
   materias[1] <- "matemática"
   materias[2] <- "português"
   materias[3] <- "geografia"
   materias[4] <- "história"

   //para linha <- 1 ate 4 faca
   //   para coluna <- 1 ate 4 faca
   //      escreval("Informe a ", coluna:1, "º nota do ", coluna:1, "º bimestre de ", materias[linha])
   //      leia(notasBimestre[linha,coluna])
   //   fimPara
   //fimPara

   para linha <- 1 ate 4 faca
      escreva("          ", linha:1, "º bimestre")
   fimpara
   
   para linha <- 1 ate 4 faca
      escreval()
      escreva (materias[linha])
      
      para coluna <- 1 ate 4 faca
         escreva ("  ", notasBimestre[linha,coluna]:12)
      fimPara
      
      escreval()
   fimPara
fimAlgoritmo

 

image.png

 

 

 

Inserindo a base do código do @Midori:

algoritmo "notasQuatroBimestres"
var
   notasBimestres : vetor [1..4,1..4] de real
   linha, coluna : inteiro
   materias : vetor [1..4] de caractere

inicio
   materias[1] <- "matemática"
   materias[2] <- "português"
   materias[3] <- "geografia"
   materias[4] <- "história"

   //para linha <- 1 ate 4 faca
   //   para coluna <- 1 ate 4 faca
   //      escreval("Informe a ", coluna:1, "º nota do ", coluna:1, "º bimestre de ", materias[linha])
   //      leia(notasBimestres[linha,coluna])
   //   fimPara
   //fimPara

   escreva (" ":12)

   para linha <- 1 ate 4 faca
      escreva (linha:1, "º bimestre":12)
   fimpara

   para linha <- 1 ate 4 faca
      escreval()
      escreva (materias[linha]:11)

      para coluna <- 1 Ate 4 Faca
         escreva (notasBimestres[linha, coluna]:12:2)
      fimPara
   fimPara
fimAlgoritmo

 

image.png

 

 

 

2 horas atrás, Eli Almeida disse:

Agora gostaria de saber como faço para colocar as linhas e deixar os bimestres e as matérias junto com as notas dentro do retângulo.

 

Vá tentando na marra... vai fazendo testes até que saia algo que agrade. Isso é bom para ir se acostumando com os comportamentos da tela.

 

Exemplo, insere uns:

 escrevaL("------------------------------------------")

 

Para as colunas, inserir uns "|". Vai futucando... A ideia do exercício é justamente treinar "vestir a roupa de sapo e dar seus pulos".

 

 

 

 

2 horas atrás, Eli Almeida disse:

Nessa parte aqui : Escreva(bimestre[linha]:12), ele conta a quantidade de caracteres e deixa somente um espaço à esquerda ?

 

Basicamente o número à direita dos ":" define o mínimo de espaço que o conteúdo à esquerda dos ":" vai ocupar na tela, ou seja, se um texto tiver, por exemplo, 5 caracteres, o VisualG vai inserir mais 7 espaços para que ocupe 12. Se for caractere, insere á direita (alinhado à esquerda). Se for número, insere à esquerda (alinhado à direita). A dica é a mesma: faça testes! Exemplo:

 

image.png

 

Para também auxiliar no entendimento, dá uma pesquisada sobre "formatação visualg" no Google... e vai pescando ideias...

 

PS: e quando for número real, como no exemplo:

2 minutos atrás, Simon Viegas disse:
escreva (notasBimestres[linha, coluna]:12:2)


idem: vai fazendo testes até compreender.

  • Curtir 2
  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!