Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
pacote-algoritmos-aula07.zip aula07/aula07-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! aula07/aula-pratica/01-idade.alg algoritmo "CalculoIdade" // ============================================================= // Algoritmo para verificar se uma pessoa ja atingiu a maioridade // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var ano, nasc, idade: Inteiro inicio Escreva("Em que ano estamos? ") Leia(ano) Escreva("Em que ano voce nasceu? ") Leia(nasc) idade <- ano - nasc Escreva ("Em ", ano, " voce tera ", idade, " anos") Se (idade >= 21) entao EscrevaL (" e ja tera atingido a maioridade. ") FimSe fimalgoritmo aula07/aula-pratica/02-parimpar.alg algoritmo "ParOuImpar" // ============================================================= // Algoritmo para verificar se um valor e PAR ou IMPAR // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var N: Inteiro inicio Escreva("Digite um numero qualquer: ") Leia(N) Se (N % 2 = 0) entao EscrevaL("O numero ", N, " e PAR") senao EscrevaL("O numero ", N, " e IMPAR") FimSe fimalgoritmo aula07/aula-pratica/03-imc.alg algoritmo "CalculoIMC" // ============================================================= // Algoritmo para calcular o Indice de Massa Corporal de uma pessoa // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var M, A, IMC: Real inicio Escreva("Massa (Kg): ") Leia(M) Escreva("Altura (m): ") Leia(A) IMC <- M / (A ^ 2) EscrevaL("IMC: ", IMC:5:2) Se (IMC >= 18.5) e (IMC < 25) entao Escreva("Parabens! Voce esta no seu peso ideal") senao Escreva("Voce nao esta na faixa de peso ideal") FimSe fimalgoritmo aula07/exercicios-propostos/01-detran.alg algoritmo "AptoDirigir" // ============================================================= // Algoritmo para verificar se uma pessoa ja pode tirar carteira de motorista // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var ano, nasc, idade: Inteiro apto: Logico inicio EscrevaL("--------------------------") EscrevaL(" DEPARTAMENTO DE TRANSITO ") EscrevaL("--------------------------") Escreva("Ano Atual (yyyy): ") Leia(ano) Escreva("Ano de Nascimento (yyyy): ") Leia(nasc) idade <- ano - nasc Se (idade >= 18) entao apto <- verdadeiro senao apto <- falso FimSe EscrevaL EscrevaL ("-------- STATUS --------") EscrevaL (" IDADE: ", idade, " ANOS") Se (apto) entao EscrevaL (" APTO A TIRAR CARTEIRA ") senao EscrevaL (" INAPTO A TIRAR CARTEIRA ") FimSe EscrevaL ("------------------------") fimalgoritmo aula07/exercicios-propostos/02-aluno.alg algoritmo "SituacaoAluno" // ============================================================= // Algoritmo para verificar se um aluno esta APROVADO ou REPROVADO // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var nota1, nota2, media: Real inicio EscrevaL("-----------------------") EscrevaL(" ESCOLA JAVALI CANSADO ") EscrevaL("-----------------------") Escreva("Primeira Nota: ") Leia(nota1) Escreva("Segunda Nota: ") Leia(nota2) media <- (nota1 + nota2)/2 EscrevaL("-----------------------") EscrevaL(" MEDIA: ", media:3:1) Se (media >= 7) entao EscrevaL(" ALUNO APROVADO ") senao EscrevaL(" ALUNO REPROVADO ") FimSe EscrevaL("-----------------------") fimalgoritmo pacote-algoritmos-aula08.zip aula08/aula-pratica/01 - NotasAluno.alg algoritmo "Aluno" var N1, N2, M: Real inicio Escreva("Primeira Nota: ") Leia(N1) Escreva("Segunda Nota: ") Leia(N2) M <- (N1 + N2) / 2 EscrevaL("A media do aluno foi ", M:4:2) Se (M >= 7) entao EscrevaL("Aluno APROVADO") senao Se (M >= 5) e (M <7) entao EscrevaL ("Aluno em RECUPERACAO") senao EscrevaL ("Aluno REPROVADO") FimSe FimSe fimalgoritmo aula08/aula-pratica/02 - ImcCompleto.alg algoritmo "CalculoIMC" var M, A, IMC: Real inicio Escreva("Massa (Kg): ") Leia(M) Escreva("Altura (m): ") Leia(A) IMC <- M / (A ^ 2) EscrevaL("IMC: ", IMC:5:2) Se (IMC < 17) entao EscrevaL ("Muito abaixo do Peso") senao Se (IMC >= 17) e (IMC < 18.5) entao EscrevaL ("Abaixo so Peso") senao Se (IMC >= 18.5) e (IMC < 25) entao EscrevaL ("Peso ideal") senao Se (IMC >= 25) e (IMC < 30) entao EscrevaL ("Sobrepeso") senao Se (IMC >= 30) e (IMC < 35) entao EscrevaL ("Obesidade") senao Se (IMC >= 35) e (IMC < 40) entao EscrevaL ("Obesidade Severa") senao EscrevaL ("Obesidade Morbida") FimSe FimSe FimSe FimSe FimSe FimSe fimalgoritmo aula08/aula-pratica/03 - CriancaEsperanca.alg algoritmo "CriancaEsperanca" var D : Inteiro Valor: Real inicio EscrevaL ("---------------------------") EscrevaL (" CRIANCA ESPERANCA ") EscrevaL ("---------------------------") Escreval (" Muito obrigado por ajudar ") Escreval (" [1] para doar R$10 ") Escreval (" [2] para doar R$25 ") Escreval (" [3] para doar R$50 ") Escreval (" [4] para doar outros valores ") Escreval (" [5] para cancelar ") Leia (D) Escolha D Caso 1 Valor <- 10 Caso 2 Valor <- 25 Caso 3 Valor <- 50 Caso 4 Escreva ("Qual o valor da doacao? R$") Leia (Valor) Caso 5 Valor <- 0 FimEscolha Escreval ("------------------------") Escreval (" SUA DOACAO FOI DE R$", Valor) Escreval (" MUITO OBRIGADO!") Escreval ("------------------------") fimalgoritmo aula08/aula-pratica/04 - Dependentes Funcionario.alg algoritmo "DependentesFuncionario" var Nome: Caractere Sal, NSal : Real Dep : Inteiro inicio Escreva ("Qual o nome do Funcionario? ") Leia (Nome) Escreva ("Qual o salario do Funcionario? R$") Leia (Sal) Escreva ("Qual e a quantidade de dependentes? ") Leia (Dep) Escolha Dep Caso 0 NSal <- Sal + (Sal*5/100) Caso 1, 2, 3 NSal <- Sal + (Sal*10/100) Caso 4, 5, 6 NSal <- Sal + (Sal*15/100) OutroCaso NSal <- Sal + (Sal*18/100) FimEscolha EscrevaL ("O novo salario de ", Nome, " sera de R$", NSal:5:2) fimalgoritmo aula08/aula08-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/aula08/._aula08-leia.txt ��������Mac OS X ����� ���2���¬�������Þ��������������������������������������ATTR�������Þ������F����������������������F���com.apple.quarantine�q/0001;537a0167;Google\x20Chrome;5DE65D9A-A03D-4704-A3DF-C75482B5A8D0� aula08/exercicios-propostos/01-AproveitamentoAluno.alg algoritmo "SituacaoAluno" var nota1, nota2, media: Real inicio EscrevaL("-----------------------") EscrevaL(" ESCOLA JAVALI CANSADO ") EscrevaL("-----------------------") Escreva("Primeira Nota: ") Leia(nota1) Escreva("Segunda Nota: ") Leia(nota2) media <- (nota1 + nota2)/2 EscrevaL("-----------------------") EscrevaL(" MEDIA: ", media:3:1) Se (media >=9) e (media <= 10) entao EscrevaL(" APROVEITAMENTO: A ") senao Se (media >= 8) e (media < 9) entao EscrevaL (" APROVEITAMENTO: B ") senao Se (media >= 7) e (media < 8) entao EscrevaL (" APROVEITAMENTO: C ") senao Se (media >= 6) e (media < 7) entao EscrevaL (" APROVEITAMENTO: D ") senao Se (media >= 5) e (media < 6) entao EscrevaL (" APROVEITAMENTO: E ") senao EscrevaL(" APROVEITAMENTO: F ") FimSe FimSe FimSe FimSe FimSe EscrevaL("-----------------------") fimalgoritmo aula08/exercicios-propostos/02-TimesFutebol.alg algoritmo "PartidaFutebol" var gols1, gols2, dif: Real inicio EscrevaL("-----------------------") EscrevaL(" BANGU x MADUREIRA ") EscrevaL("-----------------------") Escreva("Quantos gols do BANGU? ") Leia(gols1) Escreva("Quantos gols do MADUREIRA? ") Leia(gols2) Se (gols1 > gols2) entao dif <- gols1 - gols2 senao dif <- gols2 - gols1 FimSe EscrevaL("-----------------------") EscrevaL(" DIFERENCA: ", dif) Escolha dif Caso 0 EscrevaL(" STATUS: EMPATE ") Caso 1, 2, 3 EscrevaL(" STATUS: PARTIDA NORMAL ") Caso 4,5, 6, 7 EscrevaL(" STATUS: GOLEADA ") OutroCaso EscrevaL(" STATUS: ALGO INCOMUM. ") EscrevaL(" Voce digitou os dados corretos? ") FimEscolha EscrevaL("-----------------------") fimalgoritmo pacote-algoritmos-aula09.zip aula09/.DS_Store __MACOSX/aula09/._.DS_Store aula09/aula-pratica/01-0a10.alg algoritmo "conteAte10" var contador : Inteiro inicio contador <- 0 Enquanto (contador <= 10) faca EscrevaL(contador) contador <- contador + 1 FimEnquanto Escreval("Terminei de contar") fimalgoritmo aula09/aula-pratica/02-10a0.alg algoritmo "conteAte10" var contador : Inteiro inicio contador <- 10 Enquanto (contador >= 0) faca EscrevaL(contador) contador <- contador - 2 FimEnquanto Escreval("Terminei de contar") fimalgoritmo aula09/aula-pratica/03-contador.alg algoritmo "conteAte10" var valor, salto, contador : Inteiro inicio contador <- 0 Escreva("Quer contar ate quanto? ") Leia(valor) Escreva("Qual sera o valor do salto? ") Leia(salto) Enquanto (contador <= valor) faca EscrevaL(contador) contador <- contador + salto FimEnquanto Escreval("Terminei de contar") fimalgoritmo aula09/aula-pratica/04-maior.alg algoritmo "somadorNumerico" var cont, N, S, maior: Inteiro inicio cont <- 1 S <- 0 Enquanto (cont <= 5) faca Escreva ("Digite o ", cont, "o. valor : ") Leia (N) Se (N > maior) entao maior <- N FimSe S <- S + N cont <- cont + 1 FimEnquanto Escreval("A soma de todos os valores foi ", S) EscrevaL("O maior valor digitado foi ", maior) fimalgoritmo aula09/aula-pratica/05-moedas.alg algoritmo "conversorMoedas" var C, Q: Inteiro R, D: Real inicio C <- 1 Escreva ("Quantas vezes voce quer convernter? ") Leia(Q) Enquanto (C <= Q) faca Escreva("Qual o valor em R$? ") Leia(R) D <- R/2.20 EscrevaL("O valor convertido e US$", D:5:2) C <- C + 1 FimEnquanto fimalgoritmo aula09/aula09-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/aula09/._aula09-leia.txt ��������Mac OS X ����� ���2���¬�������Þ��������������������������������������ATTR�������Þ������F����������������������F���com.apple.quarantine�q/0041;537a0167;Google\x20Chrome;5DE65D9A-A03D-4704-A3DF-C75482B5A8D0� aula09/exercicios-propostos/01 - contador.alg algoritmo "contagemInteligente" var I, F, CONT: Inteiro inicio Escreval("CONTAGEM INTELIGENTE") Escreval("--------------------") Escreva ("Inicio: ") Leia(I) Escreva ("Fim: ") Leia(F) Escreval("--------------------") Escreval(" C O N T A N D O ") Escreval("--------------------") Se (F > I) entao CONT <- I Enquanto (CONT <= F) faca Escreva (CONT, ".. ") CONT <- CONT + 1 FimEnquanto senao CONT <- I Enquanto (CONT >= F) faca Escreva (CONT, ".. ") CONT <- CONT - 1 FimEnquanto FimSe fimalgoritmo aula09/exercicios-propostos/02 - melhoraluno.alg algoritmo "detectaCDF" var tot, cont: Inteiro nome, melhorAluno: Caractere nota, maiorNota: Real inicio Escreval("------------------------") Escreval(" Escola Santa Paciencia ") Escreval("------------------------") Escreva("Quantos alunos a turma tem? ") Leia(tot) cont <- 1 Enquanto (cont <= tot) faca Escreval("---------------") Escreval("ALUNO ", cont) Escreva("Nome do aluno: ") Leia(nome) Escreva("Nota de ", nome, ": ") Leia(nota) Se (nota > maiornota) entao maiorNota <- nota melhorAluno <- nome FimSe cont <- cont + 1 FimEnquanto Escreval("-------------------") Escreval("O melhor aproveitamento foi de ", melhorAluno, " com a nota ", maiorNota:3:1) fimalgoritmo pacote-algoritmos-aula10.zip aula10/.DS_Store __MACOSX/aula10/._.DS_Store aula10/aula-pratica/.DS_Store __MACOSX/aula10/aula-pratica/._.DS_Store aula10/aula-pratica/01-tabuada.alg algoritmo "Tabuada" // ============================================================= // Algoritmo para mostrar a tabuada de um determinado numero. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var Cont, N, R: Inteiro inicio Cont <- 1 Escreva("Quer ver a tabuada de qual numero? ") Leia(N) Repita R <- N * Cont EscrevaL(N, " x ", Cont, " = ", R) Cont <- Cont + 1 Ate (Cont > 10) fimalgoritmo aula10/aula-pratica/02-conta-negativos.alg algoritmo "ContaNegativos" // ============================================================= // Algoritmo para contar quantos valores digitados foram negativos. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var N, C, TotN: Inteiro inicio C <- 1 TotN <- 0 Repita Escreva("Digite um numero: ") Leia (N) Se (N<0) entao TotN <- TotN + 1 FimSe C <- C + 1 Ate (C > 5) EscrevaL("Foram digitados ", TotN, " valores negativos.") fimalgoritmo aula10/aula-pratica/03-somador.alg algoritmo "Somador" // ============================================================= // Algoritmo para somar varios valores informados pelo usuario. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var N, S: Inteiro resp: Caractere inicio S <- 0 Repita Escreva ("Digite o valor ==> ") Leia(N) S <- S + N Escreva("Voce quer continuar? [S/N] ") Leia(resp) Ate (resp = "N") EscrevaL("A soma de todos os valores digitados e ", S) fimalgoritmo aula10/aula-pratica/04-fatorial.alg algoritmo "Fatorial" // ============================================================= // Algoritmo para calcular o Fatorial de um numero. // Ex: 5! = 5 x 4 x 3 x 2 x 1 = 120 // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var C, N, F: Inteiro R: Caractere inicio Repita Escreva("Digite um numero: ") Leia(N) C <- N F <- 1 Repita F <- F * C C <- C - 1 Ate (C < 1) EscrevaL ("O valor do fatorial de ", N, " e igual a ", F) Escreva ("Quer continuar? [S/N]") Leia(R) LimpaTela Ate (R = "N") fimalgoritmo aula10/aula-pratica/05-primo.alg algoritmo "NumeroPrimo" // ============================================================= // Algoritmo para verificar se um determinado numero e PRIMO ou nao. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var C, N, ContDiv: Inteiro inicio C <- 1 ContDiv <- 0 Escreva("Digite um numero: ") Leia(N) Repita Se (N % C = 0) entao ContDiv <- ContDiv + 1 FimSe C <- C + 1 Ate (C > N) Se (ContDiv > 2) entao EscrevaL ("O valor ", N, " nao e primo!") senao EscrevaL ("O valor ", N, " e primo!") FimSe fimalgoritmo aula10/aula10-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/aula10/._aula10-leia.txt ��������Mac OS X ����� ���2���¬�������Þ��������������������������������������ATTR�������Þ������F����������������������F���com.apple.quarantine�q/0001;537a0167;Google\x20Chrome;5DE65D9A-A03D-4704-A3DF-C75482B5A8D0� aula10/exercicios-prontos/.DS_Store __MACOSX/aula10/exercicios-prontos/._.DS_Store aula10/exercicios-prontos/01-contador-menu.alg algoritmo "SuperContador" // ============================================================= // Algoritmo para criar um contador atraves de menus. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var op, Cont: Inteiro inicio Repita EscrevaL("") EscrevaL("=================") EscrevaL("| M E N U |") EscrevaL("=================") EscrevaL("| [1] De 1 a 10 |") EscrevaL("| [2] De 10 a 1 |") EscrevaL("| [3] Sair |") EscrevaL("=================") Leia(op) Escolha op Caso 1 Cont <- 1 Repita Escreva (Cont, "..") Cont <- Cont + 1 Ate (Cont > 10) Caso 2 Cont <- 10 Repita Escreva (Cont, "..") Cont <- Cont - 1 Ate (Cont < 1) Caso 3 EscrevaL("SAINDO...") Caso 4 EscrevaL("INVALIDO!") FimEscolha Ate (op = 3) fimalgoritmo aula10/exercicios-prontos/02-seletor-pessoas.alg algoritmo "SeletorPessoas" // ============================================================= // Algoritmo para ler Sexo, Idade e Cor de Cabelo de diversas pessoas // e ao final, mostrar: // = Total de HOMENS com mais de 18 ANOS e cabelos CASTANHOS. // = Total de MULHERES entre 25 e 30 ANOS e cabelos LOIROS. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var sexo, resp: caractere idade, cabelo, TotH18, TotM25: inteiro inicio Repita LimpaTela EscrevaL("==========================") EscrevaL(" SELETOR DE PESSOAS ") EscrevaL("==========================") Escreva("Qual o Sexo? [M/F] ") Leia(sexo) Escreva("Qual a idade? ") Leia(idade) EscrevaL("Qual a cor do Cabelo?") EscrevaL("---------------------") EscrevaL("[1] Preto") EscrevaL("[2] Castanho") EscrevaL("[3] Loiro") EscrevaL("[4] Ruivo") Leia(cabelo) Se (sexo = "M") e (idade > 18) e (cabelo = 2) entao TotH18 <- TotH18 + 1 FimSe Se (sexo = "F") e ((idade >= 25) e (idade <= 30)) e (cabelo = 3) entao TotM25 <- TotM25 + 1 FimSe Escreva("Quer continuar? [S/N] ") Leia(resp) Ate (resp = "N") LimpaTela EscrevaL("------------------------------------") EscrevaL(" RESULTADO FINAL ") EscrevaL("------------------------------------") EscrevaL("Total de homens com mais de 18 e cabelos castanhos ", TotH18) EscrevaL("Total de mulheres entre 25 e 30 e cabelos loiros ", TotM25) fimalgoritmo pacote-algoritmos-aula11.zip aula11/.DS_Store aula11/aula-pratica/01 - contador.alg algoritmo "contador1a10" // ============================================================= // Algoritmo para contar de 0 a 10 usando a estrutura PARA. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var C: Inteiro inicio Para C <- 10 ate 1 passo -1 faca EscrevaL(C) FimPara fimalgoritmo aula11/aula-pratica/02 - valorespares.alg algoritmo "valoresPares" // ============================================================= // Algoritmo para mostrar uma contagem regressiva de valores pares // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var CONT, V: Inteiro inicio Escreva("Digite um valor: ") Leia(V) Se(V%2=1) entao V <- V - 1 FimSe Para CONT <- V ate 0 passo -2 faca EscrevaL(CONT) FimPara fimalgoritmo aula11/aula-pratica/03 - entre0e10.alg algoritmo "QuantosEntre0e10" // ============================================================= // Algoritmo para verificar quantos valores digitados estao no // intervalo entre 0 e 10, incluindo a soma dos valores impares // que estiverem dentro desse intervalo. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var C, V, Tot010, SImp: Inteiro inicio Tot010 <- 0 SImp <- 0 Para C <- 1 ate 6 faca Escreva("Digite um valor: ") Leia(V) Se (V >=0) e (V<=10) entao Tot010 <- Tot010 + 1 Se (V%2=1) entao SImp <- SImp + V FimSe FimSe FimPara EscrevaL("Ao todo foram ", Tot010, " valores entre 0 e 10") EscrevaL("Nesse intervalo, a soma de impares foi ",SImp) fimalgoritmo aula11/aula-pratica/04 - combinacoes.alg algoritmo "Combinacoes" // ============================================================= // Algoritmo para mostrar combinacoes possiveis entre os valores // 1, 2 e 3. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var C1, C2 : Inteiro inicio Para C1 := 1 ate 3 faca Para C2 := 1 ate 3 faca EscrevaL (C1, C2) FimPara FimPara fimalgoritmo aula11/aula11-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/aula11/._aula11-leia.txt ��������Mac OS X ����� ���2���¬�������Þ��������������������������������������ATTR�������Þ������F����������������������F���com.apple.quarantine�q/0001;537a0167;Google\x20Chrome;5DE65D9A-A03D-4704-A3DF-C75482B5A8D0� aula11/exercicios-prontos/01 - fibonacci.alg algoritmo "Fibonacci" // ============================================================= // Algoritmo para mostrar os 15 primeiros termos de uma serie de // Fibonacci (0,1,1,2,3,5,8,...) // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var C, T1, T2, T3 : Inteiro inicio T1 <- 0 Escreva (T1) T2 <- 1 Escreva (T2) Para C := 3 ate 15 faca T3 := T1 + T2 Escreva (T3) T1 := T2 T2 := T3 FimPara fimalgoritmo aula11/exercicios-prontos/02 - analisador.alg algoritmo "AnalisadorValores" // ============================================================= // Algoritmo para ler cinco numeros e mostrar no final: // - A soma e a media de todos os valores // - Quantos valores sao divisiveis por 5 e quantos sao nulos // - A soma de todos os valores pares digitados // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var V, C, S, DI5, NUL, SPAR: Inteiro M: Real inicio S <- 0 DI5 <- 0 NUL <- 0 SPAR <- 0 Para C <- 1 ate 5 faca Escreva("Digite o ",C,"o. Valor: ") Leia(V) S <- S + V Se (V%5=0) entao DI5 <- DI5 + 1 FimSe Se (V=0) entao NUL <- NUL + 1 FimSe Se (V%2=0) entao SPAR <- SPAR + V FimSe FimPara M <- S / (C-1) EscrevaL("A soma entre os valores e ", S) EscrevaL("A media entre os valores e ", M:5:1) EscrevaL("Valores divisiveis por cinco: ", DI5) EscrevaL("Valores nulos: ", NUL) EscrevaL("A soma dos valores pares e ", SPAR) fimalgoritmo pacote-algoritmos-aula12.zip aula12/.DS_Store __MACOSX/aula12/._.DS_Store aula12/aula-pratica/01 - DetectorPesado.alg algoritmo "DetectorPesado" // ============================================================= // Algoritmo para detectar qual e a pessoa mais pesada, utilizando // rotinas em algoritmos. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var I: Inteiro N, Pesado: Caractere P, Mai: Real inicio LimpaTela EscrevaL("------------------------------------") EscrevaL(" D E T E C T O R DE P E S A D O ") EscrevaL(" Maior Peso ate agora: ", Mai, "Kg") EscrevaL("------------------------------------") Teste() Para I <- 1 ate 5 faca Escreva("Digite o nome: ") Leia(N) Escreva("Digite o peso de ", N, ": ") Se (P>Mai) entao MAI <- P Pesado <- N FimSe LimpaTela EscrevaL("------------------------------------") EscrevaL(" D E T E C T O R DE P E S A D O ") EscrevaL(" Maior Peso ate agora: ", Mai, "Kg") EscrevaL("------------------------------------") FimPara LimpaTela EscrevaL("------------------------------------") EscrevaL(" D E T E C T O R DE P E S A D O ") EscrevaL(" Maior Peso ate agora: ", Mai, "Kg") EscrevaL("------------------------------------") EscrevaL("A pessoa mais pesada foi ", Pesado, ", com ", Mai, " quilos.") fimalgoritmo aula12/aula-pratica/02 - SomaProcedimento.alg algoritmo "FazSomaProcedimento" // ============================================================= // Algoritmo para somar dois valores usando procedimentos. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var X, Y: Inteiro Procedimento Soma(A, B: Inteiro) inicio EscrevaL("Recebi o valor ",A) Escreval("Recebi o valor ",B) Escreval("A soma entre os dois e ", A + B) FimProcedimento inicio X <- 5 Y <- 3 Soma(X, Y) fimalgoritmo aula12/aula-pratica/03 - ParImparProcedimento.alg algoritmo "ParOuImparProcedimento" // ============================================================= // Algoritmo para verificar se um valor e par ou impar usando // rotinas internas. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var N: Inteiro Procedimento ParOuImpar(V: Inteiro) inicio Se (V%2 = 0) entao EscrevaL("O numero ", V, " e PAR") senao EscrevaL("O numero ", V, " e IMPAR") FimSe FimProcedimento inicio Escreva("Digite um numero: ") Leia (N) ParOuImpar(N) fimalgoritmo aula12/aula-pratica/04 - SomaReferencia.alg algoritmo "SomaParametrosReferencia" // ============================================================= // Algoritmo para somar dois valores usando procedimentos com // passagem de parametros por referencia. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var X, Y: Inteiro Procedimento Soma (var A, B: Inteiro) inicio A <- A + 1 B <- B + 2 EscrevaL("Valor de A = ", A) EscrevaL("Valor de B = ", B) EscrevaL("Soma A + B = ", A+B) FimProcedimento inicio X <- 4 Y <- 8 Soma (X, Y) EscrevaL("Valor de X = ", X) EscrevaL("Valor de Y = ", Y) fimalgoritmo aula12/aula-pratica/05 - FibonacciProcedimento.alg algoritmo "FibonacciProcedimento" // ============================================================= // Algoritmo para exibir os 10 primeiros elementos de uma serie de // Fibonacci usando procedimentos com passagem de parametros por // referencia. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var I, T1, T2, T3: Inteiro Procedimento ProximoFibonacci(var N1, N2: Inteiro) Var N3: Inteiro Inicio N3 <- N1 + N2 EscrevaL(N3) N1 <- N2 N2 <- N3 FimProcedimento inicio T1 <- 0 EscrevaL(T1) T2 <- 1 EscrevaL(T2) Para I <- 3 ate 10 faca ProximoFibonacci(T1, T2) FimPara fimalgoritmo aula12/aula12-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/aula12/._aula12-leia.txt ��������Mac OS X ����� ���2���¬�������Þ��������������������������������������ATTR�������Þ������F����������������������F���com.apple.quarantine�q/0001;537a0167;Google\x20Chrome;5DE65D9A-A03D-4704-A3DF-C75482B5A8D0� pacote-algoritmos-aula13.zip aula13/.DS_Store __MACOSX/aula13/._.DS_Store aula13/aula-pratica/01-SomaFuncao.alg algoritmo "SomaFuncao" // ============================================================= // Algoritmo para somar dois valores usando funcao com passagem // de parametros por valor. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var V1, V2, S: Inteiro Funcao Soma(X, Y: Inteiro): Inteiro Inicio Retorne X + Y FimFuncao inicio Escreva("Digite o primeiro valor: ") Leia(V1) Escreva("Digite o segundo valor: ") Leia(V2) S <- Soma(V1, V2) EscrevaL("A soma entre ", V1, " e ", V2, " e igual a ", S) fimalgoritmo aula13/aula-pratica/02-ParImparFuncao.alg algoritmo "ParImpar" // ============================================================= // Algoritmo para criar uma funcao que verifica se um determinado // numero passado como parametro e PAR ou IMPAR. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var N: Inteiro R: Caractere Funcao ParOuImpar(V: Inteiro): Caractere inicio Se (V%2 = 0) entao Retorne "PAR" senao Retorne "IMPAR" FimSe FimFuncao inicio Escreva("Digite um numero: ") Leia(N) R <- ParOuImpar(N) Escreva ("O numero ", N, " e um valor ", R) fimalgoritmo aula13/aula-pratica/03-FatorialFuncao.alg algoritmo "FatorialFuncao" // ============================================================= // Algoritmo com funcao para calcular o fatorial de um numero. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var N, F: Inteiro Funcao Fatorial(V: Inteiro):Inteiro Var C, R: Inteiro Inicio R <- 1 Para C <- 1 ate V faca R <- R * C FimPara Retorne R FimFuncao inicio Escreva("Digite um numero: ") Leia(N) F <- Fatorial(N) EscrevaL("O valor de ", N, "! e igual a ", F) fimalgoritmo aula13/aula-pratica/04-FibonacciFuncao.alg algoritmo "FibonacciFuncao" // ============================================================= // Algoritmo para criar uma serie de Fibonacci utilizando uma // funcao com passagem de parametros por referencia. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var I, T1, T2, T3: Inteiro Funcao ProximoFibonacci(var N1, N2: Inteiro): Inteiro Var N3: Inteiro Inicio N3 <- N1 + N2 N1 <- N2 N2 <- N3 Retorne N3 FimFuncao inicio T1 <- 0 EscrevaL(T1) T2 <- 1 EscrevaL(T2) Para I <- 3 ate 5 faca T3 <- ProximoFibonacci(T1, T2) EscrevaL(T3) FimPara fimalgoritmo aula13/aula-pratica/05-AnalisadorStrings.alg algoritmo "AnalisadorStrings" // ============================================================= // Algoritmo para demonstrar as principais funcoes de manipulacao // de strings do visualg. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var N: Caractere C: Inteiro inicio Escreva("Digite seu nome: ") Leia(N) EscrevaL("Total de letras do seu nome: ", Compr(N)) EscrevaL("Seu nome em maiusculas e ", Maiusc(N)) EscrevaL("Seu nome em minusculas e ", Minusc(N)) EscrevaL("A primeira letra do seu nome e ", Copia(N, 1, 1)) EscrevaL("A ultima letra do seu nome e ", Copia(Maiusc(N), Compr(N), 1)) EscrevaL("Seu nome tem a letra A na posicao ", Pos("A", Maiusc(N))) EscrevaL("O codigo da letra A e ", Asc("A")) EscrevaL("A letra de codigo 65 e ", Carac(65)) Para C <- Compr(N) ate 1 passo -1 faca Escreva(Copia(Maiusc(N),C,1)) FimPara fimalgoritmo aula13/aula13-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/aula13/._aula13-leia.txt ��������Mac OS X ����� ���2���¬�������Þ��������������������������������������ATTR�������Þ������F����������������������F���com.apple.quarantine�q/0041;537a0167;Google\x20Chrome;5DE65D9A-A03D-4704-A3DF-C75482B5A8D0� pacote-algoritmos-aula14.zip aula14/aula-pratica/p01-TotalPares.alg algoritmo "TotalPares" // ============================================================= // Algoritmo para preencher um vetor e mostrar os que sao pares. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var n: vetor[1..7] de Inteiro i, TotPar: Inteiro inicio Para i <- 1 ate 7 faca Escreva("Digite o ", i, "o. valor: ") Leia(n[i]) FimPara LimpaTela Para i <- 1 ate 7 faca Se (n[i] % 2 = 0) entao TotPar <- TotPar + 1 EscrevaL("Valor ", n[i], " na posicao ", i, " e PAR!") FimSe FimPara fimalgoritmo aula14/aula-pratica/p02-ListagemAlunos.alg algoritmo "ListagemAlunos" // ============================================================= // Algoritmo para mostrar uma listagem de alunos. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var nome: vetor[1..5] de Caractere nota1: vetor[1..5] de Real nota2: vetor[1..5] de Real media: vetor[1..5] de Real SMed, MTurma: Real i: Inteiro inicio Para i <- 1 ate 5 faca EscrevaL("--------------------") EscrevaL("DADOS DO ALUNO ", i) EscrevaL("--------------------") Escreva("Nome: ") Leia(nome[i]) Escreva("Nota 1: ") Leia(nota1[i]) Escreva("Nota 2: ") Leia(nota2[i]) Escreva("Media: ") media[i] <- (nota1[i] + nota2[i])/2 EscrevaL(media[i]:4:1) SMed <- SMed + media[i] FimPara // ----- HORA DE CALCULAR A SAIDA ----- LimpaTela MTurma <- Smed / 5 EscrevaL ("A media da turma e ", MTurma:4:1) EscrevaL("-----------------------------------") EscrevaL("Alunos que ficaram acima da media") EscrevaL("-----------------------------------") Para i <- 1 ate 5 faca Se (media[i] > MTurma) entao EscrevaL(nome[i]:20, media[i]:4:1) FimSe FimPara fimalgoritmo aula14/aula-pratica/p03-SoComC.alg algoritmo "SoComC" // ============================================================= // Algoritmo para mostrar uma listagem com nomes que comecem com C // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var nome: Caractere soC: vetor[1..10] de Caractere c, tot: Inteiro inicio tot <- 0 Para c <- 1 ate 10 faca Escreva("Digite seu nome: ") Leia(nome) Se (copia(maiusc(nome), 1, 1) = "C") entao tot <- tot + 1 soC[tot] <- nome FimSe FimPara LimpaTela EscrevaL("LISTAGEM FINAL") Para c <- 1 ate tot faca EscrevaL(soC[c]) FimPara fimalgoritmo aula14/aula-pratica/p04-OrdenaVetor.alg algoritmo "OrdenaVetor" // ============================================================= // Algoritmo para ordenar um vetor. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var v: vetor[1..10] de Inteiro c: Inteiro Procedimento OrdenaVetor() var i, j, aux: Inteiro inicio Para i <- 1 ate 9 faca Para j <- i+1 ate 10 faca Se (v[i] > v[j]) entao aux <- v[i] v[i] <- v[j] v[j] <- aux FimSe FimPara FimPara FimProcedimento inicio Para c <- 1 ate 10 faca Escreva("Digite o ", c, "o. valor: ") Leia(v[c]) FimPara OrdenaVetor() EscrevaL("-------------------------------") EscrevaL("Vetor Ordenado: ") EscrevaL("-------------------------------") Para c <- 1 ate 10 faca Escreva (v[c], " ") FimPara fimalgoritmo aula14/exercicios-prontos/e01-TorneioFutebol.alg algoritmo "TorneioFutebol" // ============================================================= // Algoritmo para verificar o resultado de uma partida de futebol // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var time: vetor[1..3] de Caractere l, c: Inteiro inicio EscrevaL("------------------") EscrevaL("CAMPEONATO FUTEBOL") EscrevaL("------------------") Para c <- 1 ate 3 faca Escreva ("Nome do ", c, "o. time: ") Leia(time[c]) FimPara LimpaTela EscrevaL("-------------------") EscrevaL(" TABELA DE PARTIDAS") EscrevaL("-------------------") Para l <- 1 ate 3 faca Para c <- 1 ate 3 faca Se (l <> c) entao EscrevaL(time[l]:12, " [ ] x [ ] ", time[c]:12) FimSe FimPara FimPara fimalgoritmo aula14/exercicios-prontos/e02-CorrigeProvas.alg algoritmo "CorrigeProvas" // ============================================================= // Algoritmo para corrigir uma prova, a partir de um gabarito. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var gab: vetor[1..5] de Caractere prova: vetor[1..5] de Caractere nome: vetor[1..3] de Caractere nota: vetor[1..3] de Real a: Inteiro s, m: Real Procedimento CadastroGabarito() var c: Inteiro inicio EscrevaL("PASSO 1 - Cadastro de Gabarito ") EscrevaL("-------------------------------") Para c <- 1 ate 5 faca Escreva("Questao ", c, ": ") Leia(gab[c]) FimPara FimProcedimento Funcao CadastraProva(): Real var c: Inteiro notaFinal: Real inicio notaFinal <- 0 EscrevaL("RESPOSTAS DADAS") Para c <- 1 ate 5 faca Escreva("Questao ", c, ": ") Leia(prova[c]) Se (Maiusc(prova[c]) = Maiusc(gab[c])) entao notaFinal <- notaFinal + 2 FimSe FimPara Retorne notaFinal FimFuncao inicio CadastroGabarito() Para a <- 1 ate 3 faca LimpaTela EscrevaL("------------------------") EscrevaL("ALUNO ", a) EscrevaL("------------------------") Escreva("Nome: ") Leia(nome[a]) nota[a] <- CadastraProva() s <- s + nota[a] FimPara LimpaTela EscrevaL("NOTAS FINAIS ") EscrevaL("-----------------------------") Para a <- 1 ate 3 faca EscrevaL(nome[a]:10, nota[a]:4:1) FimPara m <- s / 3 EscrevaL("-----------------------------") EscrevaL("Media da Turma: ", M:4:1) fimalgoritmo aula14/exercicios-prontos/e03-LugaresCinema.alg algoritmo "LugaresCinema" // ============================================================= // Algoritmo para reservar lugares em uma sala de cinema. // // AUTOR: Gustavo Guanabara // Curso COMPLETO disponivel GRATIS no site www.cursoemvideo.com // ============================================================= var B: vetor[1..19] de Caractere l, cad: Inteiro r: Caractere Procedimento MostraFileira() var i: Inteiro inicio Para i <- 1 ate 10 faca Se (B[i] = "") entao Escreva ("[ B", i:2, " ]") senao Escreva ("[ --- ]") FimSe FimPara EscrevaL() EscrevaL("------------------------------------------------------------------------") FimProcedimento inicio Repita LimpaTela MostraFileira() Escreva("Reservar a cadeira: B") Leia(cad) Se (B[cad]="") entao B[cad] <- "X" EscrevaL("Cadeira B", cad, " RESERVADA!") Senao EscrevaL("ERRO: Lugar Ocupado!") FimSe Escreva("Quer reservar outro? [S/N] ") Leia(r) Ate (r = "N") fimalgoritmo pacote-algoritmos-aula15.zip 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
Compartilhar