Ir ao conteúdo

Posts recomendados

Postado

Exercício 6

Escrever um algoritmo que lê uma matriz M(6,6) e calcula as somas das partes hachuradas. Escrever
a matriz M e as somas calculadas.

 

(uma série de imagens para criar no algoritmo)

 

uma em especial que eu chamei de TrianguloOesteLeste (que é a que eu estou com dúvida).

imagem segue em anexo.

 

 

20171025_081731.thumb.jpg.e323d9ef893d6c556a8f6108bbfd1837.jpg

 

 

 

 

 

 

 

Não sei se essa é a forma mais eficiente. O que eu pensei foi em dividir em duas condicionais simétricas: a parte superior e a parte inferior. O que eu fiz foi apenas iniciar mas estou com dúvida em como deixar o espaço correto e como fazer ele escrever do lado leste.

 

o que eu fiz segue abaixo:

procedimento TrianguloLesteOeste()
var t: inteiro
inicio
      Para i <- 2 ate 5 faca
        Para j <- 1 ate 6 faca
          Se (j < 4) e (i > j) então
            Escreva(M[i,j]:20)
          FimSe
        FimPara
          EscrevaL()
      FimPara
fimprocedimento

 

 

  • Curtir 2
Postado

@Ayron Matos    pelo código que você postou parece que você está usando o visualg, então para ler essa matriz seria assim :

 

matriz : vetor[1..6,1..6] de inteiro

depois você coloca dois loop para fazer a entrada de dados assim :

para i de 1 ate 6 faca
  para j de 1 ate 6 faca
    leia(matriz[i,j])
  fimpara
fimpara

porém não sei calcular as partes achuradas pois não consegui entender o que significa essas partes achuradas .    e no visualg é difícil fazer desenhos .   aqui um código que faz a primeira parte do desenho :

Algoritmo "desenho2"
Var
i,j,c,c2,c3,c4 : inteiro
m : vetor[1..6,1..6] de inteiro
Inicio
c :=2
c2:=3
c3:=19
c4:=23
Para i <- 1 ate 17 faca
  Para j <- 1 ate 24 faca
    se (j<c) ou (j=c2)ou (j=c2+3)ou(j=c3)ou(j=c3+3)ou(j>c4)ou(i=1)ou(i=17)ou(j=24) ENTÃO
      Escreva("#")
    senao
      escreva(" ")
    fimse
  FimPara
  Se i<9 ENTÃO
    c:=c+1
    c4:=c4-1
  senao
    c:=c-1
    c4:=c4+1
  fimse
  c2:=c2+1
  c3:=c3-1
  escrevaL()
FimPara
escreval("Tecle Enter Para Sair")
leia(i)
Fimalgoritmo

 

  • Membro VIP
Postado

Olá @Ayron Matos.

 

Alguns pontos:

 

Em 25/10/2017 às 09:03, Ayron Matos disse:

uma em especial que eu chamei de TrianguloOesteLeste (que é a que eu estou com dúvida).

Se é a parte que está com dúvidas, as outras já estão prontas, certo?

 

 

Vamos lá:

Em 25/10/2017 às 09:03, Ayron Matos disse:

O que eu pensei foi em dividir em duas condicionais simétricas: a parte superior e a parte inferior. O que eu fiz foi apenas iniciar mas estou com dúvida em como deixar o espaço correto e como fazer ele escrever do lado leste.

 

Acho interessante a forma de dividir em metades... e vou além... tente dividir por quadrantes (4 partes)... como num plano cartesiano. Daí tente ler apenas o 2º quadrante (cima/esquerda). Esqueça o resto. Deixe isso funcionando. Após tente ler apenas o 1º ou 3º quadrante. Sugiro o 3º, ou seja, ao ler o 3º (e como já sabe ler o 1º) estará pronto para ler a metade esquerda. Depois, tenta ler apenas o 1º quadrante... esqueça os outros. Depois ler o 4º, que será análogo ao 3ª, assim como o 1º tem analogia ao 2º.

 

Depois de entender cada quadrante. Tenta organizar para ler tudo numa sequência correta.

 

 

No aguardo.

 

  • 8 meses depois...
Postado
algoritmo "triangulador"
// Função : divide uma matriz em setores
// Autor : Ayron Gabryew Dias da Costa Matos
// Data : 10/07/2018
// Seção de Declarações 
var
   m: vetor[1..6, 1..6] de inteiro
   c,d,i,j: inteiro
inicio
      Para i := 1 ate 6 faca
           Para j := 1 ate 6 faca
                Leia(m[i,j])
           FimPara
      FimPara
      LimpaTela
      Para i := 2 ate 3 faca
           Para j := 1 ate 6 faca
                c <- 7-i
                d <- i-1
                Se (j>c) ou (j<=d) então
                   Escreva(m[i,j]:5)
                senao
                   Escreva("     ")
                FimSe
           FimPara
           EscrevaL()
      FimPara
      Para i := 4 ate 5 faca
           Para j := 1 ate 6 faca
                c <- 7-i
                Se (j<c) ou (j>i) então
                   Escreva(m[i,j]:5)
                senao
                   Escreva("     ")
                FimSe
           FimPara
           EscrevaL()
      FimPara

 

  • Membro VIP
Postado

Vide enunciado:

Em 25/10/2017 às 09:03, Ayron Matos disse:

[1] Escrever um algoritmo que lê uma matriz M(6,6) e [2] calcula as somas das partes hachuradas. [3] Escrever a matriz M e as somas calculadas.

 

Dividi os requisitos em 3 partes... pelo que eu vi, das 3, você só fez a [1].

 

Então, executando o seu código, me pareceu que você "apenas" fez "imprimir a parte da matriz que que representa o tal TrianguloOesteLeste", mas isso nem sequer foi solicitado... além do [1], precisa fazer o [2] e [3].

 

 

No aguardo.

  • Membro VIP
Postado

Sobre:

2 minutos atrás, Ayron Matos disse:

haha nem lembrava mais, mas essa era parte mais difícil me ajuda em um tópico novo que postei por favor :)

 

@Ayron Matos, uma coisa é uma coisa, outra coisa é outra coisa. São 2 universos (escopos) distintos. Aqui nesse tópico, precisaria corrigir e implementar o código para satisfazer o enunciado deste tópico... ou seja, retire essa "impressão da parte da matriz", e implemente o [2] e [3] citado na minha postagem anterior.

 

No aguardo.

 

PS: o outro tópico estou olhando, lá é lá, aqui é aqui...

 

 

 

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

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!