Ir ao conteúdo
  • Cadastre-se

VisualG Matriz programa Visualg 8x8


Ir à solução Resolvido por Simon Viegas,

Posts recomendados

<>

Olá galera, sou novo aqui, bom meu professor começou a matéria de matrizes, passou três exemplos bem simples mas na última aula ele cobrou dois exercícios que me bugaram muito, alguém pode me ajudar? 

1) Crie uma matriz quadrada de 8x8 que preencha (de maneira automática) a triangular superior com o número 1, preencha a Diagonal Principal com 0 e a triangular inferior com -1

 

2)

Abaixo da Diagonal Secundária

 

opera_GMCYckkiIs.png

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

  • Moderador

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

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

@Simon Viegas, consegui até aqui, mas o VisualG n exibe em forma de uma matriz então ta complicado pra eu entender se está correto.

Algoritmo "matriz001"
Var
   mat : vetor[0..7,0..7] de inteiro
   l,c: inteiro

Inicio
   para l de 0 ate 7 faca
      para c de 0 ate 7 faca
         se (l>c) entao
            mat[l,c] <- -1
            escreva(mat[l,c])
         senao
            se (l<c)entao
               mat[l,c] <- 1
               escreva(mat[l,c])
            senao
               se (l=c)entao
                  mat[l,c] <- 0
                  escreva(mat[l,c])
               fimse
            fimse
         fimse
      fimpara
   fimpara
Fimalgoritmo

 


adicionado 31 minutos depois
Segunda questão, podem me dizer se está correta?

Algoritmo "matriz002"
Var
   mat:vetor[0..11,0..11] de inteiro
   soma,cont,l,c: inteiro
   media: real
   op:caractere
Inicio
   soma <- 0
   media <- 0
   para l de 0 ate 11 faca
      para c de 11 ate 0 passo -1 faca
         leia(mat[c,l])
      fimpara
   fimpara
   Escreval("Deseja calcular a soma(S) ou a média(M)?")
   Leia(op)
   se (op = "S") entao
      para l de 0 ate 11 faca
         para c de 11 ate 0 passo -1 faca
            se (c < l) entao
               soma <- soma + mat[c,l]
            fimse
         fimpara
      fimpara
      Escreval(soma)
   fimse
   se (op = "M") entao
      para l de 0 ate 11 faca
         para c de 11 ate 0 passo -1 faca
            se (c < l) entao
               soma <- soma + mat[c,l]
               cont <- cont + 1
            fimse
         fimpara
      fimpara
      media <- soma/cont
      Escreval(media::1)
   fimse
Fimalgoritmo

 

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

  • Membro VIP
  • Solução
1 hora atrás, GwPz disse:

@Simon Viegas, consegui até aqui, mas o VisualG n exibe em forma de uma matriz então ta complicado pra eu entender se está correto.

 

De um modo geral, é preferível evitar a afirmação de uma negação. Pela lógica, é geralmente difícil de provar! 

 

Mas sim, é possível:

algoritmo "matriz001"
var
   mat :vetor[1..8, 1..8] de inteiro
   l, c :inteiro

inicio
   para l de 1 ate 8 faca
      para c de 1 ate 8 faca
         se (l>c) entao
            mat[l,c] <- -1
            escreva(mat[l,c]:3)
         senao
            se (l<c)entao
               mat[l,c] <- 1
               escreva(mat[l,c]:3)
            senao
               se (l=c)entao
                  mat[l,c] <- 0
                  escreva(mat[l,c]:3)
               fimse
            fimSe
         fimSe
      fimPara
      escreval()
   fimPara
fimAlgoritmo

Esse :x depois da variável é o número mínimo de espaços que o número deve ocupar, ou seja: todo número vai ocupar pelo menos 3 espaços. Se for por exemplo "0", vai ficar "  0". Se for "-1" vai ficar " =1".

 

Vou olhar o outro...

 

adicionado 54 minutos depois

Modo bruto:

algoritmo "matriz002"
var
   mat :vetor[0..11, 0..11] de inteiro
   soma, l, c :inteiro
   media :real
   op :caractere
inicio
   soma <- 0
   media <- 0

   para l de 0 ate 11 faca
      para c de 0 ate 11 faca
         //leia(mat[l,c])
         mat[l,c] := 1
      fimPara
   fimPara

   escreval("Deseja calcular a soma(S) ou a média(M)?")
   leia(op)

   para l de 0 ate 11 faca
      para c de 0 ate 11 faca
         se (c > 11-l) entao
            soma <- soma + mat[l,c]
         fimSe
      fimPara
   fimPara

   se (op = "S") entao
      escreval(soma)
   fimSe
   se (op = "M") entao
      media <- soma/66
      escreval(media:1:1)
   fimSe
fimAlgoritmo

 

Modo otimizado:

algoritmo "matriz002"
var
   mat :vetor[0..11, 0..11] de inteiro
   soma, l, c :inteiro
   media :real
   op :caractere
inicio
   soma <- 0
   media <- 0

   para l de 0 ate 11 faca
      para c de 0 ate 11 faca
         //leia(mat[l,c])
         mat[l,c] := 1
      fimPara
   fimPara

   escreval("Deseja calcular a soma(S) ou a média(M)?")
   leia(op)

   para l de 1 ate 11 faca
      para c de 11-l+1 ate 11 faca
         soma <- soma + mat[c,l]
      fimPara
   fimPara

   se (op = "S") entao
      escreval(soma)
   fimSe
   se (op = "M") entao
      media <- soma/66
      escreval(media:1:1)
   fimSe
fimAlgoritmo

 

 

  • Curtir 3
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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!