Classificação
0 %
Popularidade
Opine
Descrição:
Aula de Matrizes para o Curso de Algoritmos. Matrizes são Variáveis Compostas Homogêneas Multidimensionais. Ao contrário…






Melhor professor de algoritmos … estou fazendo um curso de algoritmos na faculdade e o seu curso de algoritmos me ajuda muuuuito, obg 🙏🏻🙏🏻🙏🏻
CONTEÚDO DE OURO 🥇 ❤️
valeu, professor. esse curso está me ajudando a seguir meu futuro. não sei se vou conseguir, mas estou tentando, e esse curso me mostra o caminho.
Terminei e fiz a prova no site, acertei 8/10, acho que fui bem, muito obrigado Guanabara, você é fera!
Acabei hoje o curso e mesmo 8 anos depois ainda foi de imensa ajuda, um ótimo professor com uma excelente didática e um carisma mto grande. Obrigado Prof. Guanabara vc é 10👍
Bom dia , alguém ja finalizou este curso? Fiz os testes 50% os dois e deu 94% para finalizar o que falta pra concluir? Comprei o diploma tambem …
Algoritmo "dissecandoMatrizes"
Var
matrix: vetor [1..4, 1..4] de inteiro
linha, coluna, resp: inteiro
Inicio
para linha <- 1 ate 4 faca
para coluna <- 1 ate 4 faca
escreva ("Digite o valor da posição [", linha, ",",coluna,"]: ")
leia (matrix[linha,coluna])
fimpara
fimpara
repita
escrevaL(" MENU DE OPÇÕES: ")
escreval("=================")
escreval ("[1] – Mostrar Matriz")
escreval ("[2] – Diagonal Principal")
escreval ("[3] – Triângulo Superior")
escreval ("[4] – Triângulo Inferior")
escreval ("[5] – Sair")
escreval ("======= OPÇÃO:")
leia (resp)
se resp = 1 entao
//mostra matriz inteira
para linha <- 1 ate 4 faca
para coluna <- 1 ate 4 faca
escreva (matrix[linha,coluna])
fimpara
escreval ()
fimpara
fimse
se resp = 2 entao
//mostra a diagonal principal da matriz
para linha <- 1 ate 4 faca
para coluna <- 1 ate 4 faca
se linha=coluna entao
escreva (matrix[linha,coluna])
senao
escreva (" ")
fimse
fimpara
escreval ()
fimpara
fimse
se resp = 3 entao
//mostra o triângulo superior
para linha <- 1 ate 4 faca
para coluna <- 1 ate 4 faca
se linha < coluna entao
escreva (matrix[linha,coluna]:4)
senao
escreva (" ")
fimse
fimpara
escreval ()
fimpara
fimse
se resp = 4 entao
//mostra o triângulo inferior
para linha <-1 ate 4 faca
para coluna <- 1 ate 4 faca
se linha > coluna entao
escreva (matrix[linha,coluna]:4)
senao
escreva (" ")
fimse
fimpara
escreval ()
fimpara
fimse
ate resp=5
escreval ("Encerrando…")
Fimalgoritmo
Você é maravilhoso! Gratidão pelos ensinamentos
Alguém sabe fazer o fimenquanto no app smart code? Não consigo fazer.
Depois de dias de dor de cabeça consegui resolver o Jogo da Velha akaka todo dia era uma coisa diferente que dava errado. Mas deu certo. Ficou grande mas deu certo.
algoritmo "(AULA15)MATRIZ_EXERCÍCIO2_JOGO DA VELHA"
var
m: vetor [1..3, 1..3] de caractere
pn, posi: inteiro
pc, sn: caractere
vlh, pp, lx, f: logico
//PROCEDIMENTO PARA O TOPO
procedimento topo
inicio
limpatela
escreval("————-")
escreval("JOGO DA VELHA")
fimprocedimento
//PROCEDIMENTO PARA MUDAR DE TELA
procedimento fim
var
xl: logico
inicio
escreva("Para continuar, aperte <ENTER>")
leia(xl)
limpatela
fimprocedimento
//PREENCHE AS POSIÇÕES
procedimento rcb
var
xc, xoc, xr: inteiro
inicio
xr:=0
para xc:=1 ate 3 faca
para xoc:=1 ate 3 faca
m[xc,xoc]:=numpcarac(xr+1)
xr:=xr+1
fimpara
fimpara
fimprocedimento
//PESQUISA AS POSIÇÕES E ATRIBUI E/OU RETORNA VALOR
funcao pesquisa(a: caractere): logico
var
xc, xoc: inteiro
x: logico
inicio
x:=falso
se lx=verdadeiro entao
para xc:=1 ate 3 faca
para xoc:=1 ate 3 faca
se m[xc,xoc]=a entao
m[xc,xoc]:="X"
x:=verdadeiro
lx:=falso
fimse
fimpara
fimpara
senao
para xc:=1 ate 3 faca
para xoc:=1 ate 3 faca
se m[xc,xoc]=a entao
m[xc,xoc]:="O"
x:=verdadeiro
lx:=verdadeiro
fimse
fimpara
fimpara
fimse
retorne x
fimfuncao
//MOSTRA O JOGO ATUAL
procedimento jdv
var
xc, xoc: inteiro
inicio
para xc:=1 ate 3 faca
escreval("+—+—+—+")
para xoc:=1 ate 3 faca
escreva("| ", m[xc,xoc]:1, " ")
fimpara
escreval("|")
fimpara
escreval("+—+—+—+")
fimprocedimento
//FAZ A CHECAGEM DO JOGO
procedimento check
var
xc, xoc, xcx, xco, xp: inteiro
inicio
//VERIFICA AS LINHAS
para xc:=1 ate 3 faca
xcx:=0
xco:=0
para xoc:=1 ate 3 faca
escolha (m[xc,xoc])
caso "X"
xcx:=xcx+1
caso "O"
xco:=xco+1
fimescolha
fimpara
se (xcx=3) ou (xco=3) entao
topo
jdv
escreval("JOGO FINALIZADO!!!")
se (xcx=3) entao
escreval("O vencedor foi [X]")
senao
escreval("O vencedor foi [O]")
fimse
vlh:=verdadeiro
interrompa
fimse
fimpara
//VERIFICA AS COLUNAS
para xc:=1 ate 3 faca
xcx:=0
xco:=0
para xoc:=1 ate 3 faca
escolha m[xoc,xc]
caso "X"
xcx:=xcx+1
caso "O"
xco:=xco+1
fimescolha
fimpara
se (xcx=3) ou (xco=3) entao
topo
jdv
escreval("JOGO FINALIZADO!!!")
se (xcx=3) entao
escreval("O vencedor foi [X] !!")
senao
escreval("O vencedor foi [O] !!")
fimse
vlh:=verdadeiro
interrompa
fimse
fimpara
//VERIFICA A DIAGONAL PRINCIPAL
xcx:=0
xco:=0
para xc:=1 ate 3 faca
para xoc:=1 ate 3 faca
se xc=xoc entao
escolha m[xc,xoc]
caso "X"
xcx:=xcx+1
caso "O"
xco:=xco+1
fimescolha
fimse
fimpara
se (xcx=3) ou (xco=3) entao
topo
jdv
escreval("JOGO FINALIZADO!!!")
se (xcx=3) entao
escreval("O vencedor foi [X] !!")
senao
escreval("O vencedor foi [O] !!")
fimse
vlh:=verdadeiro
interrompa
fimse
fimpara
//VERIFICA A OUTRA DIAGONAL
xcx:=0
xco:=0
xp:=3
para xc:=1 ate 3 faca
para xoc:=1 ate 3 faca
se xoc=xp entao
escolha m[xc,xoc]
caso "X"
xcx:=xcx+1
caso "O"
xco:=xco+1
fimescolha
xp:=xp-1
fimse
fimpara
se (xcx=3) ou (xco=3) entao
topo
jdv
escreval("JOGO FINALIZADO!!!")
se (xcx=3) entao
escreval("O vencedor foi [X] !!")
senao
escreval("O vencedor foi [O] !!")
fimse
vlh:=verdadeiro
interrompa
fimse
fimpara
//VERIFICA SE DEU VELHA
se (posi=9) e (vlh=falso) entao
topo
jdv
escreval("VISH ;-; DEU VELHA!!!")
vlh:=verdadeiro
interrompa
fimse
fimprocedimento
//INICIO DO ALGORITMO
inicio
repita
rcb
posi:=0
f:=falso
lx:=verdadeiro
vlh:=falso
enquanto vlh=falso faca
pn:=0
enquanto pn=0 faca
topo
jdv
se lx=verdadeiro entao
escreval("Qual posição vai marcar [X]: ")
escreva("-> P")
leia(pn)
senao
escreval("Qual posição vai marcar [O]: ")
escreva("-> P")
leia(pn)
fimse
se (pn<1) ou (pn>9) entao
pn:=0
fimse
fimenquanto
pc:=numpcarac(pn)
pp:=pesquisa(pc)
se pp=falso entao
escreval("Opa ;-; esta casa já foi escolhida!")
fim
senao
posi:=posi+1
check
fimse
fimenquanto
se vlh=verdadeiro entao
repita
escreva("Quer continuar jogando? [S/N]: ")
leia(sn)
sn:=maiusc(sn)
escolha sn
caso "S"
escreval()
escreval("Certo. Iremos preparar outro jogo! ^-^)/")
fim
caso "N"
escreval()
escreval("Tudo bem. Tenha um bom dia! ^-^)/")
f:=verdadeiro
fimescolha
ate (sn="S") ou (sn="N")
fimse
ate f=verdadeiro
fimalgoritmo
Após horas dedicadas nos últimos exercícios finalizei esse excelente curso que 8 anos após sua criação me fez iniciar no mundo da programação, Agradeço imensamente pelo seu trabalho!
caiu na minha prova de ads !
Minha resolução pra caso ajude alguém xD
algoritmo "JogoDaVelhaXO"
var
lin,col,N,R,Turno,jr,i,FJ: Inteiro
m: vetor [1..3,1..3] de caractere
Aux: vetor [1..9] de inteiro
jogador, sair,xo: Caractere
Procedimento Jogo ()
Inicio
LimpaTela
Para lin <- 1 ate 3 faca
Escreval ("+—+—+—+")
Para col <-1 ate 3 faca
Escreva ("|",m[lin,col]:3)
FimPara
Escreval ("|")
FimPara
Escreval ("+—+—+—+")
Escreval ()
FimProcedimento
Procedimento FimJogo ()
Inicio
Jogo ()
Escreval ("Fim de jogo! O ", jogador,"(",xo,") venceu!")
FJ <- 1
FimProcedimento
inicio
Repita
N<-1
Turno<-0
FJ <-0
Para i <- 1 ate 9 faca
aux[i] <- 0
FimPara
Para lin <-1 ate 3 faca
Para col <- 1 ate 3 faca
m[lin,col] <- NumpCarac (N)
N<- N+1
FimPara
FimPara
Repita
JR<- 0
Jogo ()
Repita
Se (Turno%2=0) entao
xo <- "X"
jogador <- "Jogador 1"
Escreval (Jogador,", vai jogar [", xo,"] em qual posição?")
Senao
xo <- "O"
jogador <- "Jogador 2"
Escreval (Jogador,", vai jogar [", xo,"] em qual posição?")
FimSe
Leia (R)
//—– TESTE Jogada Regular ——-
Se (R >=1) e (R<=9) entao
Para i <- 1 ate 9 faca
Se R = i entao
Se aux[i] = 1 entao
Escreval ("Jogada inválida, tente novamente.")
Senao
aux[i] <- 1
JR <-1
FimSe
FimSe
FimPara
Senao
Escreval ("Jogada inválida, tente novamente.")
FimSe
Ate JR = 1
//—– Preenchimento da Jogada —–
Para lin <-1 ate 3 faca
Para col <- 1 ate 3 faca
Se (m[lin,col] = NumpCarac (R)) entao
m[lin,col] <- xo
FimSe
FimPara
FimPara
Turno <- Turno + 1
//—– Condições de Fim De jogo ——–
//– Por Linhas e colunas preenchidas —
Para lin <- 1 ate 3 faca
Para col <- 1 ate 3 faca
Se (m[lin,1] = m[lin,2]) e (m[lin,1]=m[lin,3]) entao
FimJogo ()
FimSe
Se (m[1,col] = m[2,col]) e (m[1,col]=m[3,col]) entao
FimJogo ()
FimSe
FimPara
FimPara
//– Por Diagonais —
Se FJ <> 1 entao
Se (m[2,2]=m[1,1]) e (m[2,2]=m[3,3]) entao
FimJogo ()
FimSe
Se (m[2,2]=m[1,3]) e (m[2,2]=m[3,1]) entao
FimJogo ()
FimSe
FimSe
//– Por Rodadas–
Se FJ<>1 entao
Se Turno = 9 entao
Jogo ()
Escreval ("Fim de jogo! Deu velha :(")
FJ <- 1
FimSe
FimSe
Ate FJ = 1
Escreva ("Quer jogar novamente? [S/N] ")
Leia (Sair)
Ate Maiusc (Sair) = "N"
fimalgoritmo
MatrizID Resumindo o code!!
melhor professor!!
algoritmo "MatrizID"
var
v : vetor[1..3, 1..3] de inteiro
l, c: inteiro
inicio
para l <- 1 ate 3 faca
para c <- 1 ate 3 faca
se (l = c) entao
escreva("1":4)
senao
escreva("0":4)
fimse
fimpara
escreval()
fimpara
fimalgoritmo
Obrigado pela qualidade nas suas aulas, me ajudou muito até aqui. Estou feliz por ter sido seu aluno e ter aprendido tanto. é só o começo da minha caminhada na programação, mas fico feliz por saber que aqui sempre que eu precisar vou ter um professor que ensina com muita qualidade
Obrigado Prof. Gustavo
Eis como fiz e que deu certo para penúltimo exercício proposto, dai quando fui ver o que o prof. Guanabara era diferente.
para l <- 1 ate 5 faca
para c <- 1 ate 5 faca
se(c>l)entao //para diagonal superior
// ' se(c<l)entao ' -> para diagonal inferior
escreva(m[l,c]:2)
senao
escreva(" ")
fimSe
fimPara
escreval()
fimPara
Estou muito Feliz de ter conseguido chegar até aqui @Dharlison tens toda razão!
O CURSO INICIOU COM 1.5 MI DE VISUALIZAÇÕES E TERMINOU COM MENOS DE 200 K.
"A vitória esta reservada para aqueles que estão dispostos a pagar o preço" -Sun Tzu
cara q final em essa ultima aula pra mim é a mais difícil ate agr mas ta muito boa suas explicações muito são bem fáceis de entender muito foda o curso vlw guanabara
Guanabara nesses 6 meses de faculdade eu aprendi mais assistindo seu canal do que
e estudando no meu curso. vc faz tudo parecer tão simples que na faculdade não parece fácil
Finalizando o curso hoje, com 100% de aproveitamento no teste. Único exercício que não fiz ainda, foi o do jogo da velha, mas amanhã começo e, assim que finalizar, venho aqui atualizar. O plano é me tornar programador até ano que vem. Um dia espero poder agradecê-lo pessoalmente, Guanabara, meu professor.
algoritmo "DissecandoMatrizes"
var
m: vetor[1..4, 1..4] de Inteiro
l, c, o: Inteiro
Procedimento Opcoes(X: Inteiro)
inicio
LimpaTela
Se (X = 1) entao
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Escreva(m[l, c]:4)
FimPara
EscrevaL()
FimPara
EscrevaL()
senao
Se (X = 2) entao
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Se (l = c) entao
Escreva(m[l, c]:4)
senao
Escreva(" ":4)
FimSe
FimPara
EscrevaL()
FimPara
EscrevaL()
senao
Se (X = 3) entao
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Se (l < c) entao
Escreva(m[l, c]:4)
senao
Escreva(" ":4)
FimSe
FimPara
EscrevaL()
FimPara
EscrevaL()
senao
Se (X = 4) entao
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Se (l > c) entao
Escreva(m[l, c]:4)
senao
Escreva(" ":4)
FimSe
FimPara
EscrevaL()
FimPara
EscrevaL()
senao
EscrevaL("ENCERRANDO…")
FimSe
FimSe
FimSe
FimSe
FimProcedimento
inicio
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Escreva("Digite um valor para a posição [", l, ",", c, " ]: ")
Leia(m[l, c])
FimPara
FimPara
LimpaTela
Repita
EscrevaL("MENU DE OPÇÕES")
EscrevaL("====================")
EscrevaL("[1] Mostrar a Matriz")
EscrevaL("[2] Diagonal Principal")
EscrevaL("[3] Diagonal Superior")
EscrevaL("[4] Diagonal Inferior")
EscrevaL("[5] Sair")
EscrevaL("===== OPÇÃO:")
Leia(o)
Opcoes(o)
Ate(o = 5)
fimalgoritmo
Viu como é facil ? viu como é simples ?
eu depois de repetir o video 5 vezes ¬¬ "
29/09/2022 to na ultima aula e toda vez que o gustavo fala " viu como é facil, viu como é simples" eu xingo ele
kkkkkkkkkkk
passando pra falar que conclui ontem (23/set/2022), inciando html5 hj
Obrigado, Professor!
Fenomenal! Adorei o jogo da velha. Obrigada, Guanabara!
Nos exercicios propostos da aula 14 e 15 minha cabeça fritou
Var
m: vetor [1..4, 1..4] de Inteiro
l,c,n,pu,sal: Inteiro
Inicio
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Escreval("Digite valor para a posicao [ ",l,",", c,"]: ")
Leia(m[l,c])
FimPara
FimPara
LimpaTela
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")
Escreval("======= OPCAO:")
Leia(n)
LimpaTela
Repita
Escolha(n)
Caso 1
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Escreva(m[l,c]:4)
FimPara
Escreval()
FimPara
Caso 2
pu <- 4
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Se (l = c) entao
Escreva(m[l,c]:pu)
pu <- pu + 4
FimSe
FimPara
Escreval()
FimPara
Caso 3
pu <- 2
sal <- 8
Para l <- 1 ate 3 faca
Se (l = 3) e (c = 4) entao
sal <- sal + 12
FimSe
Para c <- pu ate 4 faca
Escreva(m[l,c]:sal)
sal <- 4
FimPara
Se (l = 1) e (c = 4) entao
sal <- sal + 8
FimSe
Escreval()
pu <- pu + 1
FimPara
Caso 4
pu <- 1
Para l <- 2 ate 4 faca
Para c <- 1 ate pu faca
Se ( l = 2) e (c = 1) entao
Escreval("")
Escreva(m[l,c]:4)
Senao
Escreva(m[l,c]:4)
FimSe
FimPara
pu <- pu + 1
Escreval()
FimPara
FimEscolha
Escreval()
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")
Escreval("======= OPCAO:")
Leia(n)
LimpaTela
Ate (n = 5)
Fimalgoritmo
Dissecar matriz, ok, feito, agora como faço esse jogo da velha pelo amor de Deus?
Exercício 01 :
algoritmo "#15DissecandoMatrizes"
var
m: vetor[1..4, 1..4] de Inteiro
l, c, opcao, posiDP: Inteiro
inicio
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Escreva("Digite o valor para a posição [",l,",",c,"]: ")
Leia(m[l,c])
FimPara
FimPara
LimpaTela
Repita
Escreval()
Escreval("MENU DE OPÇÕES")
Escreval("====================")
Escreval("[1] Mostrar a Matriz")
Escreval("[2] Diagonal Principal")
Escreval("[3] Triangulo Superior")
Escreval("[4] Triangulo Inferior")
Escreval("[5] Sair")
Escreval("===== OPÇÃO:")
Leia(opcao)
LimpaTela
posiDP <- 0
Escolha opcao
Caso 1
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Escreva(m[l,c]:4)
FimPara
Escreval()
FimPara
Escreval()
Caso 2
Para l <- 1 ate 4 faca
Para c <- 1 ate 4 faca
Se (l = c) Entao
posiDP <- posiDP + 4
Escreva(m[l,c]:posiDP)
FimSe
FimPara
Escreval()
FimPara
Escreval()
Caso 3
Escreva(m[1,2]:8)
Para c <- 3 ate 4 faca
Escreva(m[1,c]:4)
FimPara
Escreval()
Escreva(m[2,3]:12)
Escreval(m[2,4]:4)
Escreval(m[3,4]:16)
Escreval()
Caso 4
Escreval(m[2,2]:4)
Para c <- 1 ate 2 faca
Escreva(m[3,c]:4)
FimPara
Escreval()
Para c <- 1 ate 3 faca
Escreva(m[4,c]:4)
FimPara
Escreval()
FimEscolha
Ate (opcao = 5)
Escreval("ENCERRANDO…")
fimalgoritmo
Muito obrigado, Guanabara! Descobri a programação a pouco tempo. Estou estudando Python com você e em breve estarei migrando de área profissional (de músico para programador). Deus te abençoe
Nem acredito que chegeii no final e entendendo !!!
algoritmo "DissecandoMatrizes"
var
m: vetor[1..4, 1..4] de Inteiro
i, j, op: Inteiro
inicio
Para i <- 1 ate 4 faca
Para j <- 1 ate 4 faca
Escreva("Digite um valor para a posicao [", i, ",", j, "]: ")
Leia(m[i,j])
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")
EscrevaL("===== OPCAO: ")
Leia(op)
LimpaTela
Para i <- 1 ate 4 faca
Para j <- 1 ate 4 faca
Se op = 1 entao
Escreva(m[i,j]:4)
FimSe
Se op = 2 entao
Se i = j entao
Escreva(m[i,j]:4)
senao
Escreva(" ")
FimSe
FimSe
Se op = 3 entao
Se i < j entao
Escreva(m[i,j]:4)
senao
Escreva(" ")
FimSe
FimSe
Se op = 4 entao
Se i > j entao
Escreva(m[i,j]:4)
senao
Escreva(" ")
FimSe
FimSe
FimPara
EscrevaL()
FimPara
Ate (op = 5)
Escreva("ENCERRANDO…")
fimalgoritmo
28:51 RECEBAAAAAAAAAAA
Parabéns pelo conteúdo do curso Gustavo!
O meu código-fonte do 1º exercício deu +d 1300 linhas, mas eu coloquei algumas coisas que não precisava como, por exemplo, produto de matrizes e determinante de ordem 4 kkkkkkkk. Queria colocar o código aqui, mas o yt num deixa ;-; Confesso que levei um tempão para fazer tudo, agora será o jogo da velha…
Poxa mestre, so ensinou essa paradinha do aleatorio na ultima aula, pegadinha em!! HAHAHA, facilita muito!!!
como fiz dissecando matrizes:
Var
// Seção de Declarações das variáveis
mat: vetor[1..4, 1..4] de inteiro
l, c, d, fimprograma: inteiro
resp: caractere
procedimento mosm
inicio
para l <- 1 ate 4 faca
para c <- 1 ate 4 faca
escreva (mat[l, c]:3)
fimpara
escreval ()
fimpara
fimprocedimento
procedimento dp
inicio
para l <- 1 ate 4 faca
para c <- 1 ate 4 faca
se (l = c) entao
escreva (mat[l,c]:3)
senao
escreva (" ":3)
fimse
fimpara
escreval ()
fimpara
fimprocedimento
procedimento ti
inicio
para l <- 1 ate 4 faca
para c <- 1 ate 4 faca
se (l > c) entao
escreva (mat[l,c]:3)
senao
escreva (" ":3)
fimse
fimpara
escreval ()
fimpara
fimprocedimento
procedimento ts
inicio
para l <- 1 ate 4 faca
para c <- 1 ate 4 faca
se (l < c) entao
escreva (mat[l,c]:3)
senao
escreva (" ":3)
fimse
fimpara
escreval ()
fimpara
fimprocedimento
Inicio
// Seção de Comandos, procedimento, funções, operadores, etc…
para l <- 1 ate 4 faca
para c <- 1 ate 4 faca
escreva ("Valor da posição [", l, ",", c, "]: ")
leia (mat[l,c])
fimpara
fimpara
limpatela
repita
limpatela
escreval("—————————–")
escreval(" DISSECANDO MATRIZES")
escreval("—————————–")
escreval("Para mostrar a matriz digite":45, "[1]")
escreval("Para mostrar a diagonal principal digite":45, "[2]")
escreval("Para mostrar o triangulo inferior digite":45, "[3]")
escreval("Para mostrar o triangulo superior digite":45, "[4]")
escreval("Para sair digite":45, "[5]")
escreva("Digito: ")
leia (d)
limpatela
escolha (d)
caso 1
mosm
caso 2
dp
caso 3
ti
caso 4
ts
caso 5
fimprograma <- 1
escreval("—————————–")
escreval("saindo…")
escreval("—————————–")
fimescolha
escreval()
escreva ("continuar? s/n: ")
leia (resp)
se (resp = "n") entao
fimprograma <- 1
fimse
ate (fimprograma = 1)
Fimalgoritmo
Você é 10!! Obrigada
Chegou até aqui brother, parabéns você e um fucking ADM 🗿🍷
algoritmo "DISSECANDO-MATRIZES"
var
mat: vetor[1..4, 1..4] de inteiro
lin, col, opt: inteiro
procedimento menu()
inicio
escrevaL(" MENU DE OPÇÕES ")
escrevaL("===========================")
escrevaL("[1] Mostrar matriz completa")
escrevaL("[2] Diagonal Principal")
escrevaL("[3] Triângulo Superior")
escrevaL("[4] Triângulo Inferior")
escrevaL("[5] Sair")
escrevaL("===========================")
escreva("OPÇÃO: ")
leia(opt)
escrevaL()
fimProcedimento
procedimento opcao()
inicio
escolha opt
caso 1 //MATRIZ COMPLETA
para lin <- 1 ate 4 faca
para col <- 1 ate 4 faca
escreva(mat[lin, col]:3)
fimPara
escreval()
fimPara
escreval()
caso 2 //DIAGONAL PRINCIPAL
para lin <- 1 ate 4 faca
para col <- 1 ate 4 faca
se (lin = col) entao
escreva(mat[lin, col]:3)
senao
escreva("":3)
fimSe
fimPara
escreval()
fimPara
escreval()
caso 3 //TRIANGULO SUPERIOR
para lin <- 1 ate 4 faca
para col <- 1 ate 4 faca
se (lin < col) entao
escreva(mat[lin, col]:3)
senao
escreva("":3)
fimSe
fimPara
escreval()
fimPara
escreval()
caso 4 //TRIANGULO INFERIOR
para lin <- 1 ate 4 faca
para col <- 1 ate 4 faca
se (lin > col) entao
escreva(mat[lin, col]:3)
senao
escreva("":3)
fimSe
fimPara
escreval()
fimPara
escreval()
caso 5 //ENCERRAR PROGRAMA
escrevaL("FIM DO PROGRAMA")
fimEscolha
fimProcedimento
inicio
para lin <- 1 ate 4 faca
para col <- 1 ate 4 faca
escreva("Digite o valor da posição [",lin,",",col,"]: ")
leia(mat[lin, col])
fimPara
fimPara
escrevaL()
limpaTela
repita
menu()
limpaTela
opcao()
ate (opt = 5)
escreval()
fimalgoritmo
25:30
Oq Foi isso?? KKKKKKKKKKKKKKKK
Finalizando hoje! Que conteúdo! Parabéns a todos os envolvidos! E obrigado Prof. Gustavo! Você é sensacional!
Agradeço de coração ao Gustavo e à equipe envolvida na produção do curso! Dá pra ver a dedicação envolvida em cada detalhe. O caminho até aqui foi árduo, mas, sem as suas aulas, aprender algoritmo definitivamente seria muito mais difícil. Brigadão!
Curso de qualidade excelente. Muito feliz com o progresso que eu tive. Apesar de ter finalizado as 15 aulas, ainda não conclui minhas revisões das mesmas então não conclui tudo, ainda. Mas estou próximo.
Estou muito feliz com a evolução que tive nessa matéria.
Mano tem uns 3 meses sei lá que comecei, eu to anotando toda explicação, e digitando junto, mas é muito confuso, preciso repetir uma cac3t4 pra poder entender como se deve!
Hoje 30/07/2022 eu termino esse curso conseguindo fazer o último exercício sem olhar a resposta. Demorou 3 dias diferentes, com horas de pensamento e reflexão, para conseguir construir a lógica dos algoritmos por trás desse exercício, mas no final consegui fazer sozinho :D. Caso alguém tenha interesse em ver a forma que eu fiz só pedir nesse meu comentário!
Gustavo Guanabara deveria ser canonizado pois o cara é um ANJO. Obrigada e até a próxima! #partiujava ou #partiupyhton (ainda estou decidindo)
Resposta do Primeiro Exercício: Dissecar Matriz…
Algoritmo "dissecar_matriz"
// Lógica de Programação e Algorítimos
// Gustavo Guanabara
// Descrição : Usuário define valores e então escolhe quais valores mostrar da matriz
// Autor(a) : Eduardo Chaves
// Data atual : 7/27/2022
Var
x, y, opcao: inteiro
sair: logico
matriz: vetor[1..4, 1..4] de inteiro
diagonal: vetor[1..4, 1..4] de inteiro
superior: vetor[1..4, 1..4] de inteiro
inferior: vetor[1..4, 1..4] de inteiro
superior_e_inferior: vetor[1..4, 1..4] de inteiro
procedimento menu_de_opcoes
inicio
escreval(" MENU DE OPÇÕES")
escreval("==================")
escreval(" [1] Mostrar a Matriz")
escreval(" [2] Diagonal Principal")
escreval(" [3] Triângulo Superior")
escreval(" [4] Triângulo Inferior")
escreval(" [5] Triângulo Superior e Inferior")
escreval(" [6] Sair")
escreval("==================")
escreva("- OPÇÃO: ")
leia(opcao)
limpatela
fimprocedimento
Inicio
para x de 1 ate 4 faca
para y de 1 ate 4 faca
escreva("Digite o valor para a posição [", x, ",", y, "] na matriz: ")
leia(matriz[x,y])
se (x = y) entao
diagonal[x,y] <- matriz[x,y]
senao
superior_e_inferior[x,y] <- matriz[x,y]
fimse
se (x <> y) e (y <> 1) e (x <> 4) entao
superior[x,y] <- matriz[x,y]
superior[3,2] <- 0
fimse
se (x <> y) e (y <> 4) e (x <> 1) entao
inferior[x,y] <- matriz[x,y]
inferior[2,3] <- 0
fimse
fimpara
fimpara
limpatela
menu_de_opcoes
repita
escolha opcao
caso 1
para x de 1 ate 4 faca
para y de 1 ate 4 faca
escreva(matriz[x,y]:5)
fimpara
escreval
fimpara
escreval
menu_de_opcoes
caso 2
para x de 1 ate 4 faca
para y de 1 ate 4 faca
se (diagonal[x,y] = 0 ) entao
escreva("":5)
senao
escreva(diagonal[x,y]:5)
fimse
fimpara
escreval
fimpara
escreval
menu_de_opcoes
caso 3
para x de 1 ate 4 faca
para y de 1 ate 4 faca
se (superior[x,y] = 0 ) entao
escreva("":5)
senao
escreva(superior[x,y]:5)
fimse
fimpara
escreval
fimpara
escreval
menu_de_opcoes
caso 4
para x de 1 ate 4 faca
para y de 1 ate 4 faca
se (inferior[x,y] = 0 ) entao
escreva("":5)
senao
escreva(inferior[x,y]:5)
fimse
fimpara
escreval
fimpara
escreval
menu_de_opcoes
caso 5
para x de 1 ate 4 faca
para y de 1 ate 4 faca
se (superior_e_inferior[x,y] = 0 ) entao
escreva("":5)
senao
escreva(superior_e_inferior[x,y]:5)
fimse
fimpara
escreval
fimpara
escreval
menu_de_opcoes
caso 6
escreval("Até a próxima! ;)")
sair <- verdadeiro
fimescolha
ate (sair = verdadeiro)
Fimalgoritmo