Buscar

Curso de Algoritmos (GRÁTIS)

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

Teste o Premium para desbloquear

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

Outros materiais