Ir ao conteúdo
  • Cadastre-se

VisualG Pseudocódigo Unicesumar - Quero entender a soma da matriz nesse algoritmo


Posts recomendados

//Desenvolver um algoritmo que realize a soma dos
//elementos da seguinte matriz. Considere que a
//matriz já foi preenchida com valores, ou seja, já está
//armazenada na memória, da seguinte forma:

algoritmo SomadeMatriz
 var mat: Vetor[1..3, 1..3] de inteiro
  i, j, soma: inteiro
início
 soma<-0
 Para i de 1 a 3 passo 1 faça
  Para j de 1 a 3 passo 1 faça 
   Soma<-Soma+mat[i,j]    // em especial nessa parte eu quero saber como funciona
  Fim_para
 Fim_para
Fim  

Supondo que o vetor  bidimensional já está preenchido com os valores:

| 2 5 6 |

| 5 3 2 |

| 2 5 1 |

Obs: Pra mim a soma seria feita  do 2+3+1, estou confuso e se puderem me mandar algo pra eu estudar e me aprofundar, agradeço, quero ser desenvolvedor de games e percebi que matrizes são ligadas a isso.

 

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

@AnonymousLPH     o enunciado não diz o modo de fazer a soma , então creio que seja somar todos os elementos , não importando onde começa ou termina , e esse pseudocódigo está com erros ,  por exemplo , os compiladores não costumam aceitar palavras acentuadas nem nas variáveis e nem nas palavras reservadas que são os comandos  , tipo o faca, senao, entao etc . . . ! e também você não vai encontrar uma matriz já preenchida , a não ser com zeros , então no início vai precisar preenche-la e então para isso você pode usar laços de repetição e o comando randi , para gerar números aleatórios que serão inseridos na matriz e depois fazer a soma  .

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

@devair1010 É só um teste de mesa, não é compilar

adicionado 1 minuto depois

É tipo, vamos supor que está preenchido e vamos supor que ele vai fazer isso que está ai, ignore os erros, tanto q não se da um compilador no meu curso, eles querem tudo na mão e na compreensão, o Professor é Doutorado em Eng SF

adicionado 4 minutos depois

Eu só quero saber se o que ele vai fazer nesse trecho, porque está na apostila

 Para i de 1 a 3 passo 1 faça
  Para j de 1 a 3 passo 1 faça 
   Soma<-Soma+mat[i,j]    // em especial nessa parte eu quero saber como funciona
  Fim_para
 Fim_para

 

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

@AnonymousLPH    você quer saber o que o código vai fazer nessas cinco linhas ?   ,   pois ali são dois laços de repetição que são incrementados em uma unidade a cada passo , e eles vão  percorrer todas as linhas e todas as colunas da matriz , e a terceira linha , a central  , vai fazer a soma dos números que estão na matriz , e armazenar o resultado na variável   soma  , e se você quiser ver esse resultado , então coloque um comando , como o escreval  , que escreve na tela esse resultado   .

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

@devair1010 Se puder somente me dizer a interpretação disso, ou me mostrar um algoritmo que faço o que esse quer fazer em alguma linguagem , por favor

 

*opa você ja tinha respondido e eu mandei sem querer*

adicionado 5 minutos depois

@devair1010 Então ela vai pegar e somar todos os números da matriz? Eu achava que o contador i e j iria correr juntos e soma seria feita no espaço de memória que os dois apontavam ao mesmo tempo ou seja  mat[1,1] ou linha 1 e coluna 1, pegaria o numero que está nesse espaço e somaria com o do espaço linha 2 e coluna 2 e logo em seguida com a linha 3 e coluna 3.

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

    @AnonymousLPH    a interpretação eu já disse acima :

     baixe o compilador  VisualG 3 ,

http://visualg3.com.br/baixe-o-visualg-3-0-7/

1557602049_visualg3.0.6.5.thumb.jpg.e3391393eb56bd01c525e0fe9b708d05.jpg

e coloque esse código nele , pois ao abrir o visualG já aparece um editor de código , aí é só colar esse código daí nele , na linha abaixo da palavra ,   inicio  , e ele aceita esse pseudocódigo , e nele você faz os acertos .

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

  • Membro VIP

@AnonymousLPH, vou tentar complementar...

 

Sobre:

2 horas atrás, AnonymousLPH disse:

Então ela vai pegar e somar todos os números da matriz?


Resumidamente: sim!

 

Vai somando um a um.

 

 

 

2 horas atrás, AnonymousLPH disse:

Eu achava que o contador i e j iria correr juntos e soma seria feita no espaço de memória que os dois apontavam ao mesmo tempo ou seja  mat[1,1] ou linha 1 e coluna 1, pegaria o numero que está nesse espaço e somaria com o do espaço linha 2 e coluna 2 e logo em seguida com a linha 3 e coluna 3.

 

Resumidamente: Não!

 

O segundo para/faca está DENTRO do primeiro para/faca, ou seja: para cada valor de i, o j vai de 1 a 3. Uma coisa que ajuda entender é justamente a identação... perceba que o que está "dentro" fica mais a direita.

 

 

Exemplo de código em VisualG:

//Desenvolver um algoritmo que realize a soma dos
//elementos da seguinte matriz. Considere que a
//matriz já foi preenchida com valores, ou seja, já está
//armazenada na memória, da seguinte forma:
//| 2 5 6 |
//| 5 3 2 |
//| 2 5 1 |

algoritmo "Soma dos elementos da Matriz"
var
   mat :vetor[1..3, 1..3] de inteiro
   i, j, soma: inteiro
inicio
   //preenche a matriz com os valores informados
   mat[1,1] <- 2
   mat[1,2] <- 5
   mat[1,3] <- 6

   mat[2,1] <- 5
   mat[2,2] <- 3
   mat[2,3] <- 2

   mat[3,1] <- 2
   mat[3,2] <- 5
   mat[3,3] <- 1

   soma <- 0

   //desenha a matriz na tela
   para i de 1 ate 3 faca //para cada linha da matriz
      para j de 1 ate 3 faca //para cada coluna da matriz
         escreva (mat[i,j]) //vai atualizando o valor da soma
      fimPara
      escreval("")
   fimPara

   //calcula a soma dos elementos
   para i de 1 ate 3 faca //para cada linha da matriz
      para j de 1 ate 3 faca //para cada coluna da matriz
         soma <- soma + mat[i,j])
      fimPara
   fimPara

   escreval("")
   escreval("Soma dos elementos da Matriz: ", soma:1)
fimAlgoritmo

 

 

image.png

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

@Simon Viegas Realmente era isso que eu queria saber, estou cursando finalmente a faculdade, uma vez participei do fórum a lógica de programação em Pascal, porém eu fazia várias outras coisas junto e não peguei bem essa parte de matriz, registros e sub-rotinas, agora estou pro, eu fiquei sem entrar no fórum dps de compartilhar essa dúvida e fiquei fazendo o teste de mesa com esse código, aí até que cheguei nessa lógica sua, finalmente, muito obrigado por responder, agora tenho certeza que minha lógica finalizou corretamente. Você sabe algum curso gratuito completo de C ou algum livro bom?

 

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

  • Membro VIP
2 horas atrás, AnonymousLPH disse:

Você sabe algum curso gratuito completo de C ou algum livro bom?

 

Trata-se de outro tema. Sugiro dar uma olhada no fórum de C :

https://www.clubedohardware.com.br/forums/forum/177-ccc/

 

A depender, utilizar o recurso de Pesquisar que fica no canto superior direito. Caso não encontre algo útil, poderia abrir um chamado com sua dúvida/pedido de sugestão.

 

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...