Buscar

visualg_algoritmos_aula15+exercícios

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

aula15/aula-pratica/01-preencheMatriz.alg
algoritmo "lerMatriz"
// =============================================================
// Algoritmo para preencher uma matriz 3x2 pelo teclado.
//
// AUTOR: Gustavo Guanabara
// Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com
// =============================================================
var
 mat: vetor[1..3, 1..2] de Inteiro
 l, c: Inteiro
inicio
 Para l <- 1 ate 3 faca
 Para c <- 1 ate 2 faca
 Escreva ("Digite o valor da posicao [", l, ",", c, "]: ")
 Leia(mat[l,c])
 FimPara
 FimPara
 
 Para l <- 1 ate 3 faca
 Para c <- 1 ate 2 faca
 Escreva (mat[l,c]:5)
 FimPara
 EscrevaL()
 FimPara
 
fimalgoritmo
aula15/aula-pratica/02-paresMatriz.alg
algoritmo "matrizPar"
// =============================================================
// Algoritmo para preencher uma matriz de terceira ordem e mostrar
// quais sao as posicoes que possuem valores pares.
//
// AUTOR: Gustavo Guanabara
// Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com
// =============================================================
var
 valores: vetor[1..3, 1..3] de Inteiro
 l, c, totPar: Inteiro
inicio
 Para l <- 1 ate 3 faca
 Para c <- 1 ate 3 faca
 Escreva ("Digite o valor da posicao [", l, ",", c, "]: ")
 Leia(valores[l, c])
 FimPara
 FimPara
 
 EscrevaL()
 EscrevaL("MATRIZ:")
 EscrevaL("-------------")
 TotPar <- 0
 Para l <- 1 ate 3 faca
 Para c <- 1 ate 3 faca
 Se(valores[l,c] % 2 = 0) entao
 Escreva("{", valores[l, c]:2, "}")
 TotPar <- TotPar + 1
 senao
 Escreva(valores[l, c]:4)
 fimSe
 FimPara
 Escreval()
 FimPara
 
 EscrevaL("Ao todo foram digitados ", TotPar, " valores PARES")
fimalgoritmo
aula15/aula-pratica/03-matrizIdentidade.alg
algoritmo "matrizIdentidade"
// =============================================================
// Algoritmo para gerar automaticamente uma matriz identidade
// de terceira ordem.
//
// AUTOR: Gustavo Guanabara
// Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com
// =============================================================
var
 mID: vetor[1..3, 1..3] de Inteiro
 i, j: Inteiro
inicio
 Para i <- 1 ate 3 faca
 Para j <- 1 ate 3 faca
 Se (i = j) entao
 mID[i,j] <- 1
 senao
 mID[i,j] <- 0
 FimSe
 FimPara
 FimPara
 
 Para i <- 1 ate 3 faca
 Para j <- 1 ate 3 faca
 Escreva (mID[i,j]:3)
 FimPara
 EscrevaL()
 FimPara
 
fimalgoritmo
aula15/aula-pratica/04-valoresMatriz.alg
algoritmo "valoresMatriz"
// =============================================================
// Algoritmo para ler uma matriz de quarta ordem e mostrar no final:
// - A soma dos valores da diagonal principal
// - O produto dos valores da segunda linha
// - O maior valor da terceira coluna
//
// AUTOR: Gustavo Guanabara
// Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com
// =============================================================
var
 m: vetor[1..4, 1..4] de Inteiro
 l, c, sDP, p2L, mai3C: Inteiro
inicio
 sDP <- 0
 p2L <- 1
 Para l <- 1 ate 4 faca
 Para c <- 1 ate 4 faca
 Escreva("Digite o valor da Posicao [", l, ",", c, "]: ")
 Leia(m[l,c])
 Se (l = c) entao
 sDP <- sDP + m[l,c]
 FimSe
 FimPara
 FimPara
 Para l <- 1 ate 4 faca
 Para c <- 1 ate 4 faca
 Escreva(m[l,c]:4)
 FimPara
 EscrevaL()
 FimPara
 Para c <- 1 ate 4 faca
 p2L <- p2L * m[2,c]
 FimPara
 
 Para l <- 1 ate 4 faca
 Se (m[l,3] > mai3C) entao
 mai3C <- m[l,3]
 FimSe
 FimPara
 EscrevaL("A soma dos valores da Diagonal Principal e ", sDP)
 EscrevaL("O produto dos valores da Segunda Linha e ", p2L)
 EscrevaL("O maior valor da Terceira Coluna e ", mai3C)
fimalgoritmo
aula15/aula15-leia.txt
==================================
SEJA BEM-VINDO AO CURSOEMVIDEO.COM
Cursos GRATIS feitos com QUALIDADE
==================================
Essa aula faz parte de um pacote do Curso de Algoritmos, criado pelo Prof. Gustavo Guanabara. 
A chave para o bom aprendizado e sempre a PRATICA, entao pratique muito e nao deixe de acompanhar todas as aulas disponiveis no site abaixo:
------------------------------------------------
www.cursoemvideo.com/course/curso-de-algoritmos/
------------------------------------------------
Todas as aulas sao gratuitas, mas possuem o direito autoral reservado ao autor, Gustavo Guanabara.
Todos os testes praticos feitos durante a aula estao na pasta AULA-PRATICA.
Todos os exercicios propostos pelo professor estao na pasta EXERCICIOS-PROPOSTOS.
Abra o VISUALG e clique em Arquivo > Abrir ou pressione Ctrl+A. Em seguida, localize o arquivo desejado em sua respectiva pasta.
BONS ESTUDOS!
__MACOSX/aula15/._aula15-leia.txt
��������Mac OS X �����	���2���¬�������Þ��������������������������������������ATTR�������Þ���˜���F�������������������˜���F���com.apple.quarantine�q/0041;537a0167;Google\x20Chrome;5DE65D9A-A03D-4704-A3DF-C75482B5A8D0�
aula15/exercicios-prontos/01-dissecandoMatriz.alg
algoritmo "dissecandoMatrizes"
// =============================================================
// Algoritmo para preencher uma matriz de quarta ordem e mostrar:
// - Os elementos da diagonal principal
// - Os elementos do triangulo superior
// - Os elementos do triangulo inferior
// - A matriz completa
//
// AUTOR: Gustavo Guanabara
// Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com
// =============================================================
var
 m: vetor[1..4, 1..4] de Inteiro
 l, c, op: Inteiro
 
Procedimento MostraMatriz()
inicio
 Para l <- 1 ate 4 faca
 Para c <- 1 ate 4 faca
 Escreva(m[l,c]:4)
 FimPara
 EscrevaL()
 FimPara
FimProcedimento
Procedimento DiagonalPrincipal()
var t: inteiro
inicio
 Para l <- 1 ate 4 faca
 EscrevaL(m[l,l]:4)
 Para t <- 1 ate l faca
 Escreva(" ")
 FimPara
 FimPara
FimProcedimento
Procedimento TrianguloSuperior()
var t: Inteiro
inicio
 Para l <- 1 ate 3 faca
 Escreva(" ")
 Para c <- l+1 ate 4 faca
 Escreva(m[l,c]:4)
 FimPara
 EscrevaL()
 Para t <- 1 ate l faca
 Escreva(" ")
 FimPara
 FimPara
 EscrevaL()
FimProcedimento
Procedimento TrianguloInferior()
inicio
 Para l <- 2 ate 4 faca
 EscrevaL()
 Para c <- 1 ate l-1 faca
 Escreva(m[l,c]:4)
 FimPara
 FimPara
 EscrevaL()
FimProcedimento
inicio
 Para l <- 1 ate 4 faca
 Para c <- 1 ate 4 faca
 Escreva("Digite valor para a posicao [", l, ",", c, "]: ")
 Leia(m[l,c])
 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")
 Repita
 EscrevaL("===== OPCAO: ")
 Leia(op)
 Ate (op >=1) e (op <=5)
 LimpaTela
 Escolha op
 Caso 1
 MostraMatriz()
 Caso 2
 DiagonalPrincipal()
 Caso 3
 TrianguloSuperior()
 Caso 4
 TrianguloInferior()
 Caso 5
 EscrevaL("ENCERRANDO...")
 FimEscolha
 Ate (op = 5)
fimalgoritmo
aula15/exercicios-prontos/02-velha.alg
algoritmo "jogoVelha"
// =============================================================
// Algoritmo para criar um jogo da velha.
//
// AUTOR: Gustavo Guanabara
// Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com
// =============================================================
var
 v: vetor[1..3, 1..3] de Caractere
 L, C, Cont, Po: Inteiro
 Simb : Caractere
 R: Logico
 
Procedimento mostraVelha()
Inicio
 EscrevaL("+---+---+---+")
 Para L <- 1 ate 3 faca
 Para C <- 1 ate 3 faca
 Escreva("| ", v[L,C]:1)
 FimPara
 Escreva("|")
 EscrevaL()
 EscrevaL("+---+---+---+")
 FimPara
FimProcedimento
Procedimento mudaJogador()
inicio
 Se (Simb = "X") entao
 Simb <- "O"
 senao
 Simb <- "X"
 FimSe
FimProcedimento
Funcao Jogar(S: Caractere; P: Inteiro): Logico
Var mudou: logico
inicio
 mudou <- falso
 Para L <- 1 ate 3 faca
 Para C <- 1 ate 3 faca
 Se(v[L,C] = NumpCarac(P)) entao
 v[L,C] <- S
 mudou <- verdadeiro
 FimSe
 FimPara
 FimPara
 Retorne mudou
FimFuncao
Funcao TerminouVelha(): Logico
Var
 terminou: Logico
 ocorr: Inteiro
inicio
 terminou <- falso
 // Jogos em linha
 Para L <- 1 ate 3 faca
 Se (v[L,1] = v[L,2]) e (v[L,2] = v[L,3]) entao
 terminou <- verdadeiro
 FimSe
 FimPara
 // Jogos em coluna
 Para C <- 1 ate 3 faca
 Se (v[1,C] = v[2,C]) e (v[2,C] = v[3,C]) entao
 terminou <- verdadeiro
 FimSe
 FimPara
 // Jogos em diagonal
 Se (v[1,1] = v[2,2]) e (v[2,2] = v[3,3]) entao
 terminou <- verdadeiro
 FimSe
 Se (v[1,3] = v[2,2]) e (v[2,2] = v[3,1]) entao
 terminou <- verdadeiro
 FimSe
 
 // Jogos em VELHA
 ocorr <- 0
 Para L <- 1 ate 3 faca
 Para C <- 1 ate 3 faca
 Se (v[L,C] <> "X") e (v[L,C] <> "O") entao
 ocorr <- ocorr + 1
 FimSe
 FimPara
 FimPara
 Se (ocorr = 0) entao
 terminou <- verdadeiro
 FimSe
 
 // Retorna se o jogo acabou ou nao
 Retorne terminou
FimFuncao
inicio
 Cont <- 1
 Simb <- "X"
 Para L <- 1 ate 3 faca
 Para C <- 1 ate 3 faca
 v[L,C] <- NumpCarac(Cont)
 Cont <- Cont + 1
 FimPara
 FimPara
 MostraVelha()
 Repita
 Repita
 EscrevaL("Vai jogar [", simb:1, "] em qual posicao? ")
 Leia(Po)
 R <- Jogar(Simb, Po))
 Se (R = falso) entao
 EscrevaL("JOGADA INVALIDA!")
 FimSe
 Ate (R = verdadeiro)
 MudaJogador()
 LimpaTela
 MostraVelha()
 Ate (terminouVelha() = verdadeiro)
 EscrevaL("JOGO FINALIZADO!!!")
fimalgoritmo

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais